(57)【要約】【課題】リーン角センサが故障してしまった場合であっても、安定性の低下を抑制すること。【解決手段】本発明にかかる移動体は、搭乗者からの操舵に応じて旋回して移動する移動体である。移動体は、搭乗者から操舵される操舵部と、操舵部のリーン角を検出するリーン角センサと、リーン角センサが検出したリーン角に応じて移動体の旋回制御を行う制御部を備える。制御部は、リーン角センサが検出したリーン角が所定の正常範囲内でないと判定した場合、リーン角が正常範囲内でないと判定する前にリーン角センサが検出したリーン角に基づいて、移動体を制御する。【選択図】図３
2014157527.tif 000002
【特許請求の範囲】
【請求項１】
搭乗者からの操舵に応じて旋回して移動する移動体であって、
前記搭乗者から操舵される操舵部と、
前記操舵部のリーン角を検出するリーン角センサと、
前記リーン角センサが検出したリーン角に応じて前記移動体の旋回制御を行う制御部と、を備え、
前記制御部は、前記リーン角センサが検出したリーン角が所定の正常範囲内でないと判定した場合、前記リーン角が正常範囲内でないと判定する前に前記リーン角センサが検出したリーン角に基づいて、前記移動体を制御する、
移動体。
【請求項２】
前記リーン角センサは、第１のリーン角センサであり、
前記移動体は、さらに、前記操舵部のリーン角を検出する第２のリーン角センサを備え、
前記制御部は、
前記第１のリーン角センサ及び前記第２のリーン角センサが検出したリーン角に応じて前記移動体の旋回制御を行い、
前記第１のリーン角センサ及び前記第２のリーン角センサの両方が検出したリーン角が所定の正常範囲内でないと判定した場合、前記リーン角が正常範囲内でないと判定する前に前記第１のリーン角センサ及び前記第２のリーン角センサが検出したリーン角に基づいて、前記移動体を制御する、
請求項１に記載の移動体。
【請求項３】
前記制御部は、前記第１のリーン角センサ及び前記第２のリーン角センサのいずれか一方が検出したリーン角が所定の正常範囲内でないと判定した場合、他方が検出したリーン角に基づいて、前記移動体を制御する、
請求項２に記載の移動体。
【請求項４】
前記第１のリーン角センサは、前記検出したリーン角に対して第１の傾きで比例した電圧値となるように、前記検出したリーン角を示す電圧値を出力し、
前記第２のリーン角センサは、前記操舵部の中立点におけるリーン角では前記第１のリーン角センサと同一となり、かつ、前記第１の傾きとは異符号の第２の傾きで前記検出したリーン角に対して比例した電圧値となるように、前記検出したリーン角を示す電圧値を出力し、
前記制御部は、前記第１のリーン角センサ及び前記第２のリーン角センサの両方が検出したリーン角が所定の正常範囲内である場合であっても、前記第１のリーン角センサが出力した電圧値と前記第２のリーン角センサが出力した電圧値とを加算した加算値が、前記加算値の期待値と所定の範囲内で一致しないと判定した場合には、前記加算値が前記期待値と所定の範囲内で一致しないと判定する前に前記第１のリーン角センサ及び前記第２のリーン角センサが検出したリーン角に基づいて、前記移動体を制御する、
請求項２又は３に記載の移動体。
【請求項５】
前記第１のリーン角センサは、前記検出したリーン角を示す電圧値を出力し、
前記第２のリーン角センサは、前記第１のリーン角センサとの間で同一のリーン角に対しては同一の電圧値となるように、前記検出したリーン角を示す電圧値を出力し、
前記制御部は、前記第１のリーン角センサ及び前記第２のリーン角センサの両方が検出したリーン角が所定の正常範囲内である場合であっても、前記第１のリーン角センサが出力した電圧値と前記第２のリーン角センサが出力した電圧値とが所定の範囲内で一致しないと判定した場合には、前記電圧値が前記所定の範囲内で一致しないと判定する前に前記第１のリーン角センサ及び前記第２のリーン角センサが検出したリーン角に基づいて、前記移動体を制御する、
請求項２又は３に記載の移動体。
【請求項６】
前記制御部は、前記リーン角から前記操舵部を中立点に戻すだけの旋回度合を導出できるとして予め定められた算出アルゴリズムに基づいて、前記リーン角が正常範囲内でないと判定する前に前記リーン角センサが検出したリーン角から導出した旋回度合で前記移動体を制御する、
請求項１乃至５のいずれか１項に記載の移動体。
【請求項７】
前記制御部は、前記リーン角から前記操舵部を当該リーン角で維持するだけの旋回度合を導出できるとして予め定められた算出アルゴリズムに基づいて、前記リーン角が正常範囲内でないと判定する前に前記リーン角センサが検出したリーン角から導出した旋回度合で前記移動体を制御する、
請求項１乃至５のいずれか１項に記載の移動体。
【請求項８】
前記移動体は、さらに、前記操舵部のリーン角を検出する第３のリーン角センサを備え、
前記制御部は、
前記第１のリーン角センサが検出したリーン角に応じて前記移動体の旋回制御を行う第１の制御部と、
前記第２のリーン角センサ又は前記第３のリーン角センサが検出したリーン角に応じて前記移動体の旋回制御を行う第２の制御部と、を有し、
前記第２のリーン角センサ及び前記第３のリーン角センサのうち、前記第２のリーン角センサが検出したリーン角が所定の正常範囲内でないと判定した場合、前記第２のリーン角センサが検出したリーン角に代えて、前記第３のリーン角センサが検出したリーン角を利用する、
請求項２乃至５のいずれか１項に記載の移動体。
【請求項９】
搭乗者からの操舵に応じて旋回して移動する移動体の制御方法であって、
前記搭乗者から操舵される操舵部のリーン角を検出するステップと、
前記検出したリーン角に応じて前記移動体の旋回制御を行うステップと、
前記検出したリーン角が所定の正常範囲内でないと判定した場合、前記リーン角が正常範囲内でないと判定する前に前記検出したリーン角に基づいて、前記移動体を制御するステップと、
を備えた制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体及びその制御方法に関し、特に搭乗者からの操舵に応じて旋回して移動する移動体を制御する技術に関する。
【背景技術】
【０００２】
特許文献１に開示されるように、人間を運ぶための車両が検討されてきている。特許文献１には、乗り手によって操作されるステアリングデバイスを有する個人輸送車が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４１６２９９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本願出願人は、搭乗者から操舵に応じて旋回して移動する移動体を検討するに当たり、以下に説明する課題を見出した。以下、その課題について説明する。なお、以下に説明する内容は、本願出願人が新たに検討した内容であって、従来技術を説明するものではない。
【０００５】
移動体の搭乗者が所望の方向に移動体を移動させる仕組みとして、搭乗者が移動体に備わるハンドルを左右方向に傾けた場合に、ハンドルを傾けた方向に旋回させる制御が考えられる。この制御を実現する方法として、ハンドルの左右方向のリーン角（操舵角、傾斜角）を検出するリーン角センサを移動体に備えるようにして、リーン角センサで検出した左右方向のリーン角に応じて、移動体を旋回させるように制御する方法が考えられる。
【０００６】
しかしながら、リーン角センサが故障してしまい、リーン角センサで正しいハンドルのリーン角を検出することができなくなってしまった場合、本来のリーン角とは異なるリーン角が検出されてしまうため、ハンドルのリーン角に応じた適切な方向に移動体を進めることができなくなってしまう。例えば、実際のハンドルのリーン角よりも、オフセットがかかったリーン角が検出されてしまうような故障がリーン角センサに発生してしまった場合、搭乗者がハンドルを中立点に維持していても移動体が旋回してしまったり、搭乗者がハンドルを傾けていても移動体が直進してしまうようになる。
【０００７】
このように、リーン角センサが故障してしまった場合には、搭乗者の意思に反して移動体が旋回又は直進動作をしてしまい、移動体の安定性を低下させてしまうという課題がある。
【０００８】
本発明は、上述した知見に基づいてなされたものであって、リーン角センサが故障してしまった場合であっても、安定性の低下を抑制することができる移動体及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の態様にかかる移動体は、搭乗者からの操舵に応じて旋回して移動する移動体であって、前記搭乗者から操舵される操舵部と、前記操舵部のリーン角を検出するリーン角センサと、前記リーン角センサが検出したリーン角に応じて前記移動体の旋回制御を行う制御部と、を備え、前記制御部は、前記リーン角センサが検出したリーン角が所定の正常範囲内でないと判定した場合、前記リーン角が正常範囲内でないと判定する前に前記リーン角センサが検出したリーン角に基づいて、前記移動体を制御するものである。
【００１０】
本発明の第２の態様にかかる制御方法は、搭乗者からの操舵に応じて旋回して移動する移動体の制御方法であって、前記搭乗者から操舵される操舵部のリーン角を検出するステップと、前記検出したリーン角に応じて前記移動体の旋回制御を行うステップと、前記検出したリーン角が所定の正常範囲内でないと判定した場合、前記リーン角が正常範囲内でないと判定する前に前記検出したリーン角に基づいて、前記移動体を制御するステップと、を備えたものである。
【発明の効果】
【００１１】
上述した本発明の各態様によれば、リーン角センサが故障してしまった場合であっても、安定性の低下を抑制することができる移動体及びその制御方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１に係る倒立二輪車の概要構成を示す図である。
【図２】実施の形態１に係る制御装置の構成を示すブロック図である。
【図３】実施の形態１に係るマイコンとリーン角センサとの接続関係を示す図である。
【図４】実施の形態１に係るリーン角センサの検出有効範囲を示す図である。
【図５】実施の形態１に係るリーン角センサの検出リーン角と出力電圧値との関係を示す図である。
【図６】実施の形態１に係る故障診断パターンを示す図である。
【図７】実施の形態１に係るリーン機構故障検出時の制御におけるリーン角度の変化を示す図である。
【図８】実施の形態１に係る制御装置による故障診断処理を示すフローチャートである。
【図９】実施の形態２に係る制御装置の構成を示すブロック図である。
【図１０】実施の形態２に係るマイコンとリーン角センサとの接続関係を示す図である。
【図１１】実施の形態２に係る制御装置による故障診断処理を示すフローチャートである
【発明を実施するための形態】
【００１３】
以下に図面を参照しながら、本発明の好適な実施の形態について説明する。以下の実施の形態に示す具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、それに限定されるものではない。また、以下の記載及び図面では、説明の明確化のため、当業者にとって自明な事項等については、適宜、省略及び簡略化がなされている。
【００１４】
＜発明の実施の形態１＞
図１を参照して、本実施の形態１にかかる倒立二輪車１の概要構成について説明する。図１は、本実施の形態１にかかる倒立二輪車１の概要構成を示す図である。
【００１５】
倒立二輪車１は、ハンドル４を把持してステップカバー３に搭乗した搭乗者が、倒立二輪車１の前後方向に荷重を作用させた際における、前後方向への倒立二輪車１の姿勢角（ピッチ角）をセンサを利用して検出し、この検出結果に基づいて、倒立二輪車１の倒立状態を維持するように左右の車輪２を駆動するモータを制御する。すなわち、倒立二輪車１は、ステップカバー３に搭乗した搭乗者が前方に荷重を作用させて倒立二輪車１を前方に傾斜させると、倒立二輪車１の倒立状態を維持するように前方に加速し、搭乗者が後方に荷重を作用させて倒立二輪車１を後方に傾斜させると、倒立二輪車１の倒立状態を維持するように後方に加速するように、左右の車輪２を駆動するモータを制御する。倒立二輪車１は、制御の安定性を確保するために、モータを制御する制御系が２重化されている。
【００１６】
また、倒立二輪車１は、搭乗者が倒立二輪車１のハンドル４を左右方向に操舵した際における、左右方向への倒立二輪車１のハンドル４のリーン角（操舵角、傾斜角）をセンサで検出し、この検出結果に基づいて、倒立二輪車１が旋回動作を行うように左右の車輪２を駆動するモータを制御する。すなわち、倒立二輪車１は、ステップカバー３に搭乗した搭乗者がハンドル４を左方に操舵すると、倒立二輪車１を左周りに旋回させ、搭乗者が右方に操舵すると、倒立二輪車１を右周りに旋回させるように、左右の車輪２を駆動するモータを制御する。
【００１７】
なお、これらのモータの制御は、倒立二輪車１に搭載された制御装置１０によって行われる。
【００１８】
続いて、図２を参照して、本実施の形態１にかかる制御装置１０の構成について説明する。図２は、本実施の形態１にかかる制御装置１０の構成を示すブロック図である。
【００１９】
制御装置１０は、マイクロコントローラ１１、１２（以下、「マイコン」とも呼ぶ）、インバータ１３〜１６、モータ１７、１８、回転角センサ１９〜２２、ジャイロセンサ２３、２４、及びリーン角センサ２５、２６を有する。
【００２０】
制御装置１０は、倒立二輪車１の制御の安定性を確保するために、その制御系を、０系の制御系と１系の制御系とに二重化させた二重系システムとなっている。０系の制御系は、マイコン１１、インバータ１３、１４、回転角センサ１９、２０、ジャイロセンサ２３、及びリーン角センサ２５を含む。１系の制御系は、マイコン１２、インバータ１５、１６、回転角センサ２１、２２、ジャイロセンサ２４、及びリーン角センサ２６を含む。
【００２１】
マイコン１１、１２のそれぞれは、ジャイロセンサセンサ２３、２４のそれぞれから出力される角速度信号に基づいて、上述したように、倒立二輪車１の倒立状態を維持するようにモータ１７、１８を制御するＥＣＵ（Electronic Control Unit）である。マイコン１１、１２のそれぞれは、ＣＰＵ（Central Processing Unit）及び記憶部を有し、記憶部に格納されたプログラムを実行することによって、本実施の形態におけるマイコン１１、１２のそれぞれとしての処理を実行する。すなわち、マイコン１１、１２のそれぞれの記憶部に格納されるプログラムは、本実施の形態におけるマイコン１１、１２のそれぞれにおける処理を、ＣＰＵに実行させるためのコードを含む。なお、記憶部は、例えば、このプログラムや、ＣＰＵにおける処理に利用される各種情報を格納することができる任意の記憶装置を含んで構成される。記憶装置は、例えば、メモリ等である。
【００２２】
マイコン１１は、モータ１７を制御する指令値をインバータ１３に出力する。また、マイコン１１は、モータ１８を制御する指令値をインバータ１４に出力する。マイコン１２は、モータ１７を制御する指令値をインバータ１５に出力する。また、マイコン１２は、モータ１８を制御する指令値をインバータ１６に出力する。具体的には、マイコン１１、１２のそれぞれは、ジャイロセンサ２３、２４のそれぞれから出力される角速度信号が示す倒立二輪車１のピッチ軸周りの角速度（ピッチ角速度）を積分することで倒立二輪車１の前後方向の姿勢角（ピッチ角）を算出し、算出した姿勢角に基づいて倒立二輪車１の倒立状態を維持するようにモータ１７、１８を制御する指令値を生成する。
【００２３】
ここで、制御装置１０は、ジャイロセンサ２３、２４に代えて、倒立二輪車１の前後方向の姿勢角（ピッチ角）を検出し、検出した姿勢角を示す姿勢角信号をマイコン１１、１２のそれぞれ出力する姿勢角センサを有するようにしてもよい。姿勢角センサは、例えば、加速度センサ及びジャイロセンサによって、倒立二輪車１の姿勢角を検出するように構成される。そして、マイコン１１、１２のそれぞれは、姿勢角センサから出力された姿勢角信号が示す姿勢角に基づいて、倒立状態を維持するようにモータ１７、１８を制御する指令値を生成するようにしてもよい。
【００２４】
また、マイコン１１、１２のそれぞれは、回転角センサ１９、２１のそれぞれから出力される、モータ１７の回転角を示す回転角信号に基づいて、モータ１７をフィードバック制御するように、インバータ１３、１５のそれぞれに対する指令値を生成する。また、マイコン１１、１２のそれぞれは、回転角センサ２０、２２のそれぞれから出力される、モータ１８の回転角を示す回転角信号に基づいて、モータ１８をフィードバック制御するように、インバータ１４、１６のそれぞれに対する指令値を生成する。
【００２５】
さらに、マイコン１１、１２のそれぞれは、リーン角センサ２５、２６のそれぞれから出力されるリーン角信号が示すリーン角に基づいて、倒立移動体１がリーン角に応じた旋回動作をするように、モータ１７、１８を制御する指令値を生成する。例えば、マイコン１１、１２のそれぞれは、リーン角信号が示すリーン角が、ハンドル４が右方に傾けた（操舵した）角度を示している場合には倒立二輪車１が右旋回をするように指令値を生成し、ハンドル４が左方に傾けた（操舵した）角度を示している場合には倒立二輪車１が左旋回をするように指令値を生成する。また、マイコン１１、１２のそれぞれは、リーン角が大きくなるほど、旋回度合（例えば旋回角度）が大きくなるように指令値を生成する。
【００２６】
インバータ１３は、マイコン１１から出力された指令値に基づいて、ＰＷＭ（Pulse Width Modulation）制御を行うことで、モータ１７を駆動する駆動電流を生成してモータ１７に供給する。インバータ１４は、マイコン１１から出力された指令値に基づいて、ＰＷＭ制御を行うことで、モータ１８を駆動する駆動電流を生成してモータ１８に供給する。インバータ１５は、マイコン１２から出力された指令値に基づいて、ＰＷＭ制御を行うことで、モータ１７を駆動する駆動電流を生成してモータ１７に供給する。インバータ１６は、マイコン１２から出力された指令値に基づいて、ＰＷＭ制御を行うことで、モータ１８を駆動する駆動電流を生成してモータ１８に供給する。
【００２７】
モータ１７、１８のそれぞれは、二重巻線のモータである。モータ１７は、インバータ１３から供給される駆動電流と、インバータ１５から供給される駆動電流とに基づいて駆動される。モータ１７を駆動することによって、倒立二輪車１の左側の車輪２が回転する。モータ１８は、インバータ１４から供給される駆動電流と、インバータ１６から供給される駆動電流とに基づいて駆動される。モータ１８を駆動することによって、倒立二輪車１の右側の車輪２が回転する。
【００２８】
回転角センサ１９は、モータ１７の回転角を検出し、検出した回転角を示す回転角信号を生成してマイコン１１に出力する。回転角センサ２０は、モータ１８の回転角を検出し、検出した回転角を示す回転角信号を生成してマイコン１１に出力する。回転角センサ２１は、モータ１７の回転角を検出し、検出した回転角を示す回転角信号を生成してマイコン１２に出力する。回転角センサ２２は、モータ１８の回転角を検出し、検出した回転角を示す回転角信号を生成してマイコン１２に出力する。なお、回転角センサ２７〜３０として、例えばエンコーダ又はレゾルバ等のモータ１７、１８の回転角を検出可能なセンサのうち、任意のセンサを利用するようにしてよい。
【００２９】
ジャイロセンサ２３、２４のそれぞれは、搭乗者がステップカバー３に対して、倒立二輪車１の前後方向に荷重を作用させた際における、倒立二輪車１の前後方向に対する角速度（ピッチ軸周りの角速度、ピッチ角速度）を検出し、検出した角速度を示す角速度信号をマイコン１１、１２のそれぞれに出力する。
【００３０】
リーン角センサ２５、２６のそれぞれは、ハンドル４のリーン角（傾斜角、操舵角）を検出し、検出したリーン角を示すリーン角信号を生成してマイコン１１、１２のそれぞれに出力する。なお、リーン角センサ２５、２６として、例えばポテンショメータ等のハンドル４のリーン角を検出可能なセンサのうち、任意のセンサを利用するようにしてよい。
【００３１】
続いて、図３〜図６を参照して、本実施の形態１にかかる故障診断方法について説明する。図３は、本実施の形態１にかかるマイコン１１、１２とリーン角センサ２５、２６との接続関係を示す図である。図４は、実施の形態１にかかるリーン角センサ２５の検出有効範囲を示す図である。図５は、実施の形態１に係るリーン角センサにおける検出リーン角と出力電圧値との関係を示す図である。
【００３２】
図３に示すように、マイコン１１、１２のそれぞれは、上述したように、倒立二輪車１の制御に関する各種処理を実行するＣＰＵ１１０、１２０のそれぞれを有する。また、マイコン１１、１２のそれぞれは、上述したように、倒立二輪車１の制御に関する各種情報を格納することができる記憶部１１１、１２１のそれぞれを有する。制御装置１０は、ＣＰＵ１１０とＣＰＵ１２０とを接続するＣＰＵ間通信路２００を有する。ＣＰＵ１１０とＣＰＵ１２０とは、ＣＰＵ間通信路２００を介して相互に情報を送受信しつつ、倒立二輪車１の倒立制御を実施する。ＣＰＵ１１０は、リーン角センサ２５から出力されたリーン角信号を取得する。ＣＰＵ１２０は、リーン角センサ２６から出力されたリーン角信号を取得する。
【００３３】
ここで、図４及び図５を参照して、リーン角センサ２５、２６の出力内容について説明する。リーン角センサ２５、２６のそれぞれは、検出したリーン角を示すリーン角信号として、検出したリーン角を示す電圧値をマイコン１１、１２のそれぞれに出力する。本実施の形態１では、リーン角センサ２５、２６が、図４及び図５に示すように、検出したリーン角に対応する電圧値を出力するように倒立二輪車１に備え付けられている例について説明する。よって、リーン角センサ２５、２６は、この例とは異なるリーン角と電圧値との関係を有していてもよい。ここで、本実施の形態１では、図５に示すように、リーン角センサ２５、２６の間で、検出したリーン角と出力する電圧値との関係が、たすき掛けの関係となる。すなわち、リーン角センサ２５は、検出したリーン角に対して所定の傾きで比例した電圧値を出力し、リーン角センサ２６は、ハンドル４の中立点（リーン角０度）ではリーン角センサ２５と同一の電圧値を出力し、かつ、リーン角センサ２５の傾きとは異符号の傾きで、検出したリーン角に対して比例した電圧値を出力する、
【００３４】
リーン角センサ２５は、リーン角が−２０度の場合には１．５Ｖの電圧値を出力し、リーン角が０度の場合には２．５Ｖの電圧値を出力し、リーン角が２０度の場合には３．５Ｖの電圧値を出力する。リーン角センサ２６は、リーン角が−２０度の場合には３．５Ｖの電圧値を出力し、リーン角が０度の場合には２．５Ｖの電圧値を出力し、リーン角が２０度の場合には１．５Ｖの電圧値を出力する。リーン角センサ２５、２６は、例えば、ハンドル４が中立点より左方に操舵されている場合に、リーン角がマイナスとなり、ハンドル４が中立点より右方に操舵されている場合に、リーン角がプラスとなるように、倒立二輪車１に備え付けられている。なお、リーン角の符号と、ハンドル４の操舵方向との関係が、これとは逆となるようにされていてもよい。
【００３５】
図４に示すように、リーン角センサ２５、２６のそれぞれは、その電圧値（リーン角）に正常範囲と異常範囲が予め定義されている。図４では、リーン角センサ２５、２６のそれぞれにおいて、電圧値が１．５Ｖ〜３．５Ｖ（リーン角が−２０度〜２０度）の範囲が正常範囲と定義されており、それ以外の範囲は異常範囲と定義されている例について示している。正常範囲として、リーン角センサ２５、２６が、温度変化や経年劣化の影響を受けないと考えられる所定の範囲を定義するようにしてよい。
【００３６】
ここで、ハンドル４は、機械的な機構によって、リーン角が所定の範囲（例えば−１３．５度〜１３．５度）内でのみ可動するように倒立二輪車１の本体に取り付けられるようにしてもよい。この場合には、正常範囲として、ハンドル４の可動範囲（電圧値で−１．８２５Ｖ〜３．１７５Ｖ、リーン角で−１３．５度〜１３．５度）を定義してもよい。
【００３７】
上述したように動作するリーン角センサ２５、２６に対して、ＣＰＵ１１０、１２０のそれぞれは、次に説明するように故障診断を実施する。図６は、本実施の形態１にかかる故障診断パターンを示す図である。
【００３８】
ＣＰＵ１１０、１２０のそれぞれは、所定の故障診断時間間隔毎に、リーン角センサ２５、２６のそれぞれから出力されたリーン角信号を取得する。また、ＣＰＵ１１０、１２０のそれぞれは、取得したリーン角信号によって示されるリーン角（電圧値）を示すリーン角情報を生成し、ＣＰＵ間通信路２００を介して他系のＣＰＵ（ＣＰＵ１１０又はＣＰＵ１２０）に出力する。ＣＰＵ１１０、１２０のそれぞれは、リーン角センサ２５、２６のそれぞれから取得したリーン角信号が示すリーン角（電圧値）と、他系のＣＰＵから出力されたリーン角情報が示すリーン角（電圧値）に基づいて、リーン角センサ２５、２６の故障を診断する。言い換えると、ＣＰＵ１１０、１２０のそれぞれは、０系のリーン角センサ２５が検出したリーン角（電圧値）と、１系のリーン角センサ２６が検出したリーン角（電圧値）とに基づいて、リーン角センサ２５、２６の故障を診断する。
【００３９】
図６に示すように、ＣＰＵ１１０、１２０のそれぞれは、０系のリーン角センサ２５が検出したリーン角（電圧値）と、１系のリーン角センサ２６が検出したリーン角（電圧値）がいずれも正常範囲内である場合には、リーン角センサ２５、２６が故障していないと判定する。言い換えると、ＣＰＵ１１０、１２０のそれぞれは、自系のリーン角センサが検出したリーン角（電圧値）と、他系のリーン角センサが検出したリーン角（電圧値）がいずれも正常範囲内である場合には、リーン角センサ２５、２６が故障していないと判定する。
【００４０】
ただし、この場合であっても、０系のリーン角（電圧値）と１系のリーン角（電圧値）とを総合的に判断して（又は比較判断して）、その判断結果が異常である場合には、リーン機構（リーン角センサ２５、２６）が故障していると判定する。
【００４１】
ここで、本実施の形態１では、図５に示すように、リーン角センサ２５、２６は、大きさ（絶対値）は同一であるが符号が異なるリーン角に対して同一の電圧値を出力するようになっている。また、リーン角センサ２５、２６は、リーン角と電圧値との関係が、符号だけ異なる傾きで比例関係となっており、中立点（リーン角０度）を中心として線対称の関係となっている。よって、リーン角センサ２５、２６が正常であれば、リーン角センサ２５が検出した電圧値と、リーン角センサ２６が検出した電圧値との加算値は、常に同一の値（５．０Ｖ）となることになる。したがって、ＣＰＵ１１０、１２０のそれぞれは、リーン角センサ２５、２６が検出した電圧値（リーン角）が正常範囲内であっても、それぞれの電圧値の加算値が、その加算値の期待値（５．０Ｖ）と一致しない場合には、リーン機構が故障していると判定する。なお、ここでの一致の判断は、完全一致に限られず、誤差を考慮して、加算値が期待値との差が所定の範囲内であれば一致すると判定するようにしてもよい。
【００４２】
これによれば、リーン角センサ２５、２６から複数の信号線によって複数ビットで電圧値を示す信号が出力されている場合に、上位ビット及び下位ビットの信号線故障まで検出することが可能となる。例えば、リーン角が２０度のときに、リーン角センサ２５からの信号線のうち、上位ビットに対応する信号線故障が発生しており、リーン角センサ２５からは３．５Ｖの電圧値を示す複数ビットの信号を出力しているのに、ＣＰＵ１１０からは１．５Ｖの電圧値に見えている場合にも、電圧値が正常範囲内であるが、加算値が期待値と異なることになるため、その異常を検出することが可能となる。
【００４３】
ここで、リーン角センサ２５、２６におけるリーン角と電圧値との関係は、上述したものに限られない。リーン角センサ２５、２６は、同一のリーン角に対して、同一の電圧値を出力するように倒立二輪車１に備え付けられるようにしてもよい。例えば、リーン角センサ２５、２６の双方が、図５に示す２つのリーン角と電圧値との関係のうち、いずれかの関係を有するようにしてもよい。そして、この場合は、以下の式（１）〜（３）のいずれかが成立しない場合には、リーン機構が故障していると判定する。
【００４４】
自系リーン角センサの電圧値×２  ＝  
自系リーン角センサの電圧値  ＋  他系リーン角センサの電圧値  ・・・  （１）
自系リーン角センサ  −  他系リーン角センサ  ＝  ０  ・・・（２）
自系リーン角センサ  ＝  他系リーン角センサ  ・・・  （３）
【００４５】
式（１）では、自系のリーン角センサからの電圧値を２倍した値が、自系のリーン角センサからの電圧値と他系のリーン角センサからの電圧値を加算した加算値と一致する場合には、リーン機構が正常であり、一致しない場合には、リーン機構が故障していると判定する。同様の考え方で、式（２）では、自系のリーン角センサからの電圧値から他系のリーン角センサからの電圧値を減算した減算値が、０と一致する場合には、リーン機構が正常であり、一致しない場合には、リーン機構が故障していると判定する。同様の考え方で、式（３）では、自系のリーン角センサからの電圧値と、他系のリーン角センサからの電圧値とが、一致する場合には、リーン機構が正常であり、一致しない場合には、リーン機構が故障していると判定する。なお、ここでの一致の判断も、完全一致に限られず、上記式（１）〜（３）の右辺と左辺との差が所定の範囲内であれば一致すると判定するようにしてもよい。
【００４６】
リーン角センサ２５、２６が正常であれば、リーン角センサ２５の電圧値と、リーン角センサ２６の電圧値とが一致するはずである。これに対して、上記の式（１）〜（３）によれば、リーン角センサ２５の電圧値と、リーン角センサ２６の電圧値とが一致するか否かを評価することができる。
【００４７】
以上に説明した０系のリーン角（電圧値）と１系のリーン角（電圧値）とを総合的に判断して（又は比較判断して）の判断で異常と判定された場合には、リーン角センサ２５、２６のうち、いずれが故障しているかまで特定することができないため、リーン機構の故障として扱う。
【００４８】
一方、ＣＰＵ１１０、１２０のそれぞれは、０系のリーン角センサ２５が検出したリーン角（電圧値）が正常範囲内ではなく、１系のリーン角センサ２６が検出したリーン角（電圧値）が正常範囲内である場合には、リーン角センサ２５、２６のうち、０系のリーン角センサ２５が故障していると判定する。また、ＣＰＵ１１０、１２０のそれぞれは、０系のリーン角センサ２５が検出したリーン角（電圧値）が正常範囲内であり、１系のリーン角センサ２６が検出したリーン角（電圧値）が正常範囲内でない場合には、リーン角センサ２５、２６のうち、１系のリーン角センサ２６が故障していると判定する。
【００４９】
言い換えると、ＣＰＵ１１０、１２０のそれぞれは、自系のリーン角センサが検出したリーン角（電圧値）が正常範囲内ではなく、他系のリーン角センサが検出したリーン角（電圧値）が正常範囲内である場合には、自系のリーン角センサが故障していると判定する。また、ＣＰＵ１１０、１２０のそれぞれは、自系のリーン角センサが検出したリーン角（電圧値）が正常範囲内であり、他系のリーン角センサが検出したリーン角（電圧値）が正常範囲内でない場合には、他系のリーン角センサが故障していると判定する。
【００５０】
一方、ＣＰＵ１１０、１２０のそれぞれは、０系のリーン角センサ２５が検出したリーン角（電圧値）と、１系のリーン角センサ２６が検出したリーン角（電圧値）がいずれも正常範囲内でない場合には、リーン機構（０系と１系のリーン角センサ２５、２６の両方が故障している）が故障していると判定する。言い換えると、ＣＰＵ１１０、１２０のそれぞれは、自系のリーン角センサが検出したリーン角（電圧値）と、他系のリーン角センサが検出したリーン角（電圧値）がいずれも正常範囲内でない場合には、リーン機構（自系と他系のリーン角センサ２５、２６の両方が故障している）が故障していると判定する。なお、上述したように機械的な機構によってハンドル４の可動範囲を制限している場合に、この判定結果が得られた場合には、リーン機構の故障として、ハンドル４の可動範囲を制限するための機構に故障が発生し、ハンドル４が可動範囲を超えて操舵されている可能性もある。
【００５１】
そして、ＣＰＵ１１０、１２０のそれぞれは、リーン機構に故障が発生していると判定した場合には、リーン機構の故障を検出する前にリーン角センサ２５、２６で検出したリーン角に基づいて、倒立二輪車１の旋回制御を行う。また、リーン角センサ２５、２６のいずれかに故障が発生していると判定した場合には、故障が発生していないリーン角センサで検出したリーン角に基づいて、倒立二輪車１を制御する。
【００５２】
ＣＰＵ１１０、１２０のそれぞれは、リーン角センサ２５、２６のそれぞれからリーン角（電圧値）を取得したときに、そのリーン角（電圧値）を示す情報を記憶部１１１、１２１のそれぞれに格納しておく。そして、ＣＰＵ１１０、１２０のそれぞれは、リーン機構の故障を検出したときに、記憶部１１１、１２１のそれぞれに格納しておいた情報が示すリーン角（電圧値）を、リーン機構の故障を検出する前にリーン角センサ２５、２６で検出したリーン角（電圧値）として利用する。
【００５３】
なお、リーン機構の故障検出前のリーン角は、故障を検出する前に記憶部１１１、１２１に保持しておいたリーン角であれば、直前に保持しておいたリーン角（リーン機構の故障検出の判定に利用したリーン角の一つ前に取得したリーン角）に限られないが、好ましくは、直前に保持しておいたリーン角を利用するとよい。そのようにすることで、より現在の倒立二輪車１の状態に近いリーン角に基づいて、倒立二輪車１を制御する。
【００５４】
このように、本実施の形態１では、リーン機構（リーン角センサ２５、２６）の故障を検出した場合に、故障検出前に検出していたリーン角に基づいて、倒立二輪車１を制御することで、リーン角センサ２５、２６が故障してしまった場合であっても、倒立二輪車１の安定性の低下を抑制することができるようにしている。
【００５５】
続いて、図７を参照して、本実施の形態１にかかる倒立二輪車１のリーン機構故障検出時の倒立二輪車１の制御について説明する。図７は、本実施の形態１にかかる倒立二輪車１のリーン機構故障検出時の倒立二輪車１の制御におけるリーン角度の変化を示す図である。
【００５６】
ＣＰＵ１１０、１２０のそれぞれは、リーン機構の故障を検出した場合、故障検出前に取得していたリーン角に基づいた倒立二輪車１の制御として、故障検出前に取得していたリーン角に基づいて、ハンドル４を中立点に戻す制御を行う。ＣＰＵ１１０、１２０のそれぞれは、故障検出前のリーン角が、ハンドル４が左方に傾いている角度である場合、倒立二輪車１を左方に旋回させるように制御することで、遠心力によってハンドル４のリーン角が中立点に戻るように制御する。また、ＣＰＵ１１０、１２０のそれぞれは、故障検出前のリーン角が、ハンドル４が右方に傾いている角度である場合、ハンドル４が右方に傾いている角度である場合、倒立二輪車１を右方に旋回させるように制御することで、遠心力によってハンドル４のリーン角が中立点に戻るように制御する。
【００５７】
例えば、以下に説明するパターン（１）〜（３）のうち、いずれかのパターンでハンドル４のリーン角が戻るような旋回動作を倒立二輪車１に行わせることで、ハンドル４のリーン角のリーン角を中立点に戻す。なお、以下のパターン（１）〜（３）のそれぞれは、図７に示す（１）〜（３）のそれぞれに対応する。
【００５８】
（１）最初は緩やかに角度を落とし、最後は急に角度を落とす
（２）平均的に一定量角度を落としていく
（３）最初は急に角度を落とし、最後は緩やかに角度を落とす
【００５９】
例えば、パターン（１）では式（４）に示すようにハンドル４のリーン角が遷移して中立点に戻るように倒立二輪車１の旋回制御を実施し、パターン（２）では式（５）に示すようにハンドル４のリーン角が遷移して中立点に戻るように倒立二輪車１の旋回制御を実施し、パターン（３）では式（６）に示すようにハンドル４のリーン角が遷移して中立点に戻るように倒立二輪車１の旋回制御を実施する。
【００６０】
経過時間におけるリーン角  ＝
(log(最大時間−経過時間＋１)／log(最大時間−開始時間＋１))
×  故障検出前のリーン角センサ値  ・・・  （４）
【００６１】
経過時間におけるリーン角  ＝
((最大時間−経過時間)／(最大時間−開始時間))  ×  故障検出前のリーン角センサ値
・・・  （５）
【００６２】
経過時間におけるリーン角  ＝
(log(最大時間)−log(経過時間))／(log(最大時間)−log(開始時間))
×  故障検出前のリーン角センサ値  ・・・  （６）
【００６３】
ここで、上記の式（４）〜（６）における「最大時間」、「経過時間」、「開始時間」、「故障検出前のリーン角センサ値」のそれぞれは、以下を意味する。
【００６４】
最大時間：故障前のリーン角から中立点に戻すための最大時間
経過時間：リーン角を中立点に戻す制御を開始して経過した時間
開始時間：リーン角を中立点に戻す制御を開始した時間
故障検出前のリーン角センサ値：リーン角センサ故障検出前に保持していたセンサ値（リーン角、電圧値）
【００６５】
このように、ＣＰＵ１１０、１２０のそれぞれは、所定の最大時間が経過したときに、ハンドル４のリーン角が中立点に戻せるだけの旋回度合で倒立二輪車１を旋回させるように制御する。なお、最大時間として、例えば、２秒又は１０秒等の任意の時間を予め定めるようにしてよい。
【００６６】
ここで、上述したように、リーン機構の故障が検出されているため、それ以降のリーン角センサ２５、２６によって検出されたリーン角は利用することができない。そのため、故障検出前に保持していたリーン角から、最大時間になったときにハンドル４のリーン角を中立点に戻せるだけの旋回度合で倒立二輪車１を制御するような指令値が、開始時間から最大時間にかけて算出できる算出アルゴリズムを予め任意に定めて用意しておき、ＣＰＵ１１０、１２０は、その算出アルゴリズムに基づいて算出される指令値で倒立二輪車１を制御するようにすればよい。
【００６７】
例えば、パターン（１）の算出アルゴリズムでは、開始時間では小さい旋回角度となる指令値が算出され、最大時間に近づくにつれて徐々により大きい旋回角度となる指令値が算出されるようにすることで、最初は緩やかにリーン角を落とし、最後は急にリーン角を落とすようにするようにしてもよい。例えば、パターン（２）の算出アルゴリズムでは、開始時間から最大時間まで一定の旋回角度となる指令値が算出されるようにすることで、平均的に一定量でリーン角を落としいくようにしてもよい。例えば、パターン（３）の算出アルゴリズムでは、開始時間では大きい旋回角度となる指令値が算出され、最大時間に近づくにつれて徐々により小さい旋回角度となる指令値が算出されるようにすることで、最初は急にリーン角を落とし、最後は緩やかにリーン角を落とすようにするようにしてもよい。
【００６８】
ここで、好ましくは、パターン（３）によって、ハンドル４のリーン角を中立点に戻す制御を行うとよい。そのようにすることで、最初にハンドル４のリーン角の大きな変化があるため、それによって搭乗者がリーン機構の故障を容易に把握することが可能となる。
【００６９】
また、倒立二輪車１に通知手段としてＬＥＤ（Light Emitting Diode）ライト又は表示パネル等を備えるようにして、故障を検出したＣＰＵ１１０又はＣＰＵ１２０が、ＬＥＤを発光させる又は表示パネルに故障を通知する画像を表示することによって、搭乗者にリーン機構の故障を通知するようにしてもよい。また、倒立二輪車１に通知手段としてスピーカーを備えるようにして、故障を検出したＣＰＵ１１０又はＣＰＵ１２０が、スピーカーから故障を通知する音声を出力することによって、搭乗者にリーン機構の故障を通知するようにしてもよい。
【００７０】
ここで、リーン機構の故障を検出した場合に、ハンドル４のリーン角を中立点に戻すようにしているが、ハンドル４のリーン角を故障発生時のリーン角で維持するように倒立二輪車１の制御を実施するようにしてもよい。
【００７１】
例えば、故障検出前に保持していたリーン角から、そのリーン角を維持するだけの旋回度合で倒立二輪車１を制御するような指令値が算出できる算出アルゴリズムを予め任意に定めて用意しておき、ＣＰＵ１１０、１２０は、その算出アルゴリズムに基づいて算出される指令値で倒立二輪車１を制御するようにすればよい。例えば、分かり易い例としては、故障検出前に保持していたリーン角が０度であり、倒立二輪車１が直進している場合には、リーン角センサ２５、２６の出力は利用せずに、倒立二輪車１の直進（旋回角度０）が維持される指令値が算出されるようにする。これのような制御によっても、倒立二輪車１の安定性の低下を抑制することができる。
【００７２】
続いて、図８を参照して、本実施の形態１にかかる制御装置１０による故障診断処理について説明する。図８は、本実施の形態１にかかる制御装置１０による故障診断処理を示すフローチャートである。
【００７３】
ＣＰＵ１１０、１２０は、所定の診断時間間隔毎に、自系のリーン角センサから出力されたリーン角信号を取得するとともに、他系のＣＰＵから出力されたリーン角情報を取得する。ＣＰＵ１１０、１２０は、取得したリーン角信号が示すリーン角（電圧値）が正常範囲内か否かを判定する（Ｓ１）。すなわち、自系のリーン角センサが検出したリーン角（電圧値）が正常範囲内か否かが判定される。
【００７４】
リーン角信号が示すリーン角（電圧値）が正常範囲内であると判定した場合（Ｓ１：Ｙｅｓ）、ＣＰＵ１１０、１２０は、取得したリーン角情報が示すリーン角（電圧値）が正常範囲内か否かを判定する（Ｓ２）。すなわち、他系のリーン角センサが検出したリーン角（電圧値）が正常範囲内か否かが判定される。
【００７５】
リーン角情報が示すリーン角（電圧値）が正常範囲内であると判定した場合（Ｓ２：Ｙｅｓ）、ＣＰＵ１１０、１２０は、リーン角信号が示す電圧値とリーン角情報が示す電圧値とを加算した加算値が正常範囲内であるか否かを判定する（Ｓ３）。すなわち、上述したように、リーン角センサ２５、２６の電圧値の加算値とその期待値とが所定の範囲内で一致するか否かを判定する。なお、ここでの判定として、リーン角センサ２５、２６が同一のリーン角に対して同一の電圧値を出力するように倒立二輪車１に備え付けられている場合には、上述したように、式（１）〜（３）のいずれかによる判定を行うようにする。
【００７６】
加算値が正常範囲内であると判定した場合（Ｓ３：Ｙｅｓ）、ＣＰＵ１１０、１２０は、リーン機構（リーン角センサ２５、２６）が正常であると判定する（Ｓ４）。
【００７７】
加算値が正常範囲内でないと判定した場合（Ｓ３：Ｎｏ）、ＣＰＵ１１０、１２０は、リーン機構（リーン角センサ２５、２６）が故障したと判定し（Ｓ５）、上述したように、ハンドル４を中立点に戻す制御を実施する（Ｓ６）。
【００７８】
リーン角情報が示すリーン角（電圧値）が正常範囲内でないと判定した場合（Ｓ２：Ｙｅｓ）、ＣＰＵ１１０、１２０は、他系のリーン角センサが故障したと判定する（Ｓ７）。この場合、ＣＰＵ１１０、１２０は、他系のＣＰＵで、後述するステップＳ９によってリーン角センサの故障が検出されることになる。
【００７９】
リーン角信号が示すリーン角（電圧値）が正常範囲内でないと判定した場合（Ｓ１：Ｎｏ）、ＣＰＵ１１０、１２０は、取得したリーン角情報が示すリーン角（電圧値）が正常範囲内か否かを判定する（Ｓ８）。すなわち、他系のリーン角センサが検出したリーン角（電圧値）が正常範囲内か否かが判定される。
【００８０】
リーン角情報が示すリーン角（電圧値）が正常範囲内であると判定した場合（Ｓ８：Ｙｅｓ）、ＣＰＵ１１０、１２０は、自系のリーン角センサが故障していると判定する（Ｓ９）。この場合、ＣＰＵ１１０、１２０は、他系のリーン角センサを利用して、倒立二輪車１を倒立制御しつつ継続して走行させる制御、又は、倒立二輪車１を倒立制御しつつ停止させる安全制御を行う（Ｓ１０）。すなわち、ＣＰＵ１１０、１２０は、他系のＣＰＵから出力されるリーン角情報が示すリーン角に基づいて、倒立二輪車１を旋回させる制御を行う。
【００８１】
また、この場合は、ＣＰＵ１１０、１２０は、自系の制御系を故障扱いとして縮退し、他系の制御系のみで、倒立二輪車１を倒立制御しつつ継続して走行させる制御、又は、倒立二輪車１を倒立制御しつつ停止させる安全制御を行うようにしてもよい。すなわち、この場合、ＣＰＵ１１０、１２０は、モータ１７、１８の制御を停止する。また、安全制御を行う場合、ＣＰＵ１１０、１２０は、他系のＣＰＵに自系のリーン角センサの故障を通知する通知情報を、ＣＰＵ間通信路２００を介して送信し、他系のＣＰＵが、この通知情報の受信に応じて安全制御を開始するようにする。
【００８２】
ここで、リーン角センサの故障に応じて安全制御を行う場合には、ＣＰＵ１１０、１２０は、上述のステップＳ７で、安全制御を開始するようにしてもよい。また、ＣＰＵ１１０、１２０は、上述のステップＳ７で、他系のＣＰＵに他系のリーン角センサの故障を通知する通知情報を、ＣＰＵ間通信路２００を介して送信し、他系のＣＰＵが、この通知情報の受信に応じて、他系のリーン角センサを利用した制御、又は、制御系の縮退を実施するようにしてもよい。
【００８３】
リーン角情報が示すリーン角（電圧値）が正常範囲内でないと判定した場合（Ｓ８：Ｎｏ）、ＣＰＵ１１０、１２０は、リーン機構（リーン角センサ２５、２６）が故障したと判定し（Ｓ１１）、上述したように、ハンドル４を中立点に戻す制御を実施する（Ｓ１２）。
【００８４】
以上に説明したように、本実施の形態１では、制御部（マイコン１１、１２）は、リーン角センサ２５、２６が検出したリーン角が所定の正常範囲内でないと判定した場合、リーン角が正常範囲内でないと判定する前にリーン角センサ２５、２６が検出したリーン角に基づいて、移動体（倒立二輪車１）を制御するようにしている。
【００８５】
これによれば、リーン角センサ２５、２６の故障検出前に検出していた正常なリーン角に基づいて、移動体（倒立二輪車１）を制御するようにしているため、リーン角センサ２５、２６が故障してしまった場合であっても、安定性の低下を抑制することができる。
【００８６】
また、本実施の形態１によれば、２重化されたリーン角センサ２５、２６によって耐故障性を向上することができるとともに、上述した故障診断処理によってリーン角センサが２つであっても故障したリーン角センサを特定することが可能である。そのため、例えば、リーン角センサを３つ有する場合と比較して、倒立二輪車１の搭載スペースの圧迫を抑制するとともに、コストの増加を抑制することができる。
【００８７】
＜発明の実施の形態２＞
続いて、実施の形態２について説明する。実施の形態２にかかる倒立二輪車１の概要構成については、図１を参照して説明した実施の形態１にかかる倒立二輪車１の概要構成と同様であるため、説明を省略する。
【００８８】
続いて、図９を参照して、本実施の形態１にかかる制御装置１０の構成について説明する。図９は、本実施の形態１にかかる制御装置１０の構成を示すブロック図である。
【００８９】
本実施の形態２にかかる制御装置１０は、実施の形態１にかかる制御装置１０と比較して、さらに、リーン角センサ２７を有する。また、本実施の形態２にかかる制御装置１０は、実施の形態１にかかる制御装置１０と比較して、マイコン１２に代えて、マイコン２８を有する。リーン角センサ２７及びマイコン２８は、２系の制御系に含まれる。
【００９０】
マイコン２８は、原則、マイコン１２と同様であるが、さらに、実施の形態１においてリーン角センサ２５とリーン角センサ２６との間で実施していた故障診断と同様の故障診断を、リーン角センサ２６とリーン角センサ２７との間でも実施する。
【００９１】
リーン角センサ２７は、ハンドル４のリーン角（傾斜角、操舵角）を検出し、検出したリーン角を示すリーン角信号を生成してマイコン１２に出力する。なお、リーン角センサ２７として、例えばポテンショメータ等のハンドル４のリーン角を検出可能なセンサのうち、任意のものを利用するようにしてよい。
【００９２】
図１０は、本実施の形態１にかかるマイコン１１、２８とリーン角センサ２５〜２７との接続関係を示す図である。図１０に示すように、ＣＰＵ２８０は、さらに、リーン角センサ２７から出力されたリーン角信号を取得する。これによって、ＣＰＵ２８０は、リーン角センサ２６から出力されたリーン角信号が示すリーン角（電圧値）と、リーン角センサ２７から出力されたリーン角信号が示すリーン角（電圧値）とに基づいて、実施の形態１においてリーン角センサ２５とリーン角センサ２６との間で実施していた故障診断と同様の故障診断を、リーン角センサ２６とリーン角センサ２７との間でも実施する。そして、ＣＰＵ２８０は、実施の形態１においてリーン角センサ２５とリーン角センサ２６との間で実施していた故障診断を、リーン角センサ２５と、リーン角センサ２６、２７のうち故障していないリーン角センサとの間で実施する。
【００９３】
よって、リーン角センサ２６、２７の間でも、検出したリーン角と出力する電圧値との関係が、図５に示すように、たすき掛けの関係となっているものとする。また、リーン角センサ２６、２７は、当然に、同一のリーン角に対して、同一の電圧値を出力するように倒立二輪車１に備え付けられるようにしてもよい。
【００９４】
続いて、図１１を参照して、本実施の形態２にかかる制御装置１０による故障診断処理について説明する。図１１は、本実施の形態２にかかる制御装置１０による故障診断処理を示すフローチャートである。
【００９５】
ＣＰＵ２８０は、所定の診断時間間隔毎に、リーン角センサ２６から出力されたリーン角信号と、リーン角センサ２７から出力されたリーン角信号を取得する。ＣＰＵ２８０は、リーン角センサ２６から取得したリーン角信号が示すリーン角（電圧値）が正常範囲内か否かを判定する（Ｓ２１）。
【００９６】
リーン角センサ２６から取得したリーン角信号が示すリーン角（電圧値）が正常範囲内であると判定した場合（Ｓ２１：Ｙｅｓ）、ＣＰＵ２８０は、リーン角センサ２７から取得したリーン角信号が示すリーン角（電圧値）が正常範囲内か否かを判定する（Ｓ２２）。
【００９７】
リーン角センサ２７から取得したリーン角信号が示すリーン角（電圧値）が正常範囲内であると判定した場合（Ｓ２２：Ｙｅｓ）、ＣＰＵ２８０は、リーン角センサ２６から取得したリーン角信号が示す電圧値と、リーン角センサ２７から取得したリーン角信号が示す電圧値とを加算した加算値が正常範囲内であるか否かを判定する（Ｓ２３）。すなわち、上述したように、リーン角センサ２６、２７の電圧値の加算値とその期待値とが所定の範囲内で一致するか否かを判定する。なお、ここでの判定として、リーン角センサ２６、２７が同一のリーン角に対して同一の電圧値を出力するように倒立二輪車１に備え付けられている場合には、上述したように、式（１）〜（３）のいずれかによる判定を行うようにする。
【００９８】
加算値が正常範囲内であると判定した場合（Ｓ２３：Ｙｅｓ）、ＣＰＵ２８０は、リーン角センサ２５と、リーン角センサ２６又はリーン角センサ２７との間で、図８に示す故障診断処理を実施する（Ｓ２４）。すなわち、この場合は、リーン角センサ２６、２７のいずれも正常であるため、０系のＣＰＵ１１０で故障診断に利用されるリーン角情報として、リーン角センサ２６、２７のうち、任意のリーン角センサから出力されたリーン角信号によって示されるリーン角（電圧値）を示すリーン角情報を生成してＣＰＵ１１０に出力するようにしてよい。また、ＣＰＵ２８０は、リーン角センサ２６、２７のうち、任意のリーン角センサから出力されたリーン角信号によって示されるリーン角（電圧値）を、自系のリーン角センサで検出されたリーン角（電圧値）として利用して、倒立二輪車１を旋回させる制御、及び、図８に示す故障診断処理を実施すればよい。
【００９９】
なお、この場合は、ステップＳ２１〜Ｓ２３の判定によって、リーン角センサ２６、２７が正常であることが保証されているため、ステップＳ３でＮｏとなった場合には、リーン角センサ２５が故障していると判定し、ＣＰＵ１１０はステップＳ９、Ｓ１０の処理、ＣＰＵ２８０はステップＳ７の処理を実施するようにしてもよい。
【０１００】
加算値が正常範囲内でないと判定した場合（Ｓ２３：Ｎｏ）、ＣＰＵ２８０は、自系のリーン角センサ２６、２７が故障したと判定し、他系のリーン角センサ２５を利用して、倒立二輪車１を倒立制御しつつ継続して走行させる制御、又は、倒立二輪車１を倒立制御しつつ停止させる安全制御を行う（Ｓ２５）。すなわち、ＣＰＵ２８０は、他系のＣＰＵ１１０から出力されるリーン角情報が示すリーン角に基づいて、倒立二輪車１を旋回させる制御を行う。この場合は、リーン角センサ２６、２７のうち、いずれが故障しているかまで特定することができないため、リーン角センサ２６、２７の故障として扱う。
【０１０１】
また、この場合、ＣＰＵ２８０は、自系の制御系を故障扱いとして縮退し、他系の制御系のみで、倒立二輪車１を倒立制御しつつ継続して走行させる制御、又は、倒立二輪車１を倒立制御しつつ停止させる安全制御を行うようにしてもよい。なお、この場合における詳細な処理は、ステップＳ１０で説明した処理と同様であるため、説明を省略する。
【０１０２】
リーン角センサ２７から取得したリーン角信号が示すリーン角（電圧値）が正常範囲内でないと判定した場合（Ｓ２２：Ｎｏ）、リーン角センサ２７が故障したと判定する（Ｓ２６）。この場合、リーン角センサ２５、２６を利用して制御を継続する（Ｓ２７）。すなわち、ＣＰＵ２８０は、リーン角センサ２６、２７のうち、リーン角センサ２６から出力されるリーン角信号が示すリーン角に基づいて、倒立二輪車１を旋回させる制御を行う。また、ＣＰＵ２８０は、リーン角センサ２５と、リーン角センサ２６との間で、図８に示す故障診断処理を実施する（Ｓ２８）。すなわち、この場合は、ＣＰＵ２８０は、０系のＣＰＵ１１０で故障診断に利用されるリーン角情報として、リーン角センサ２６、２７のうち、リーン角センサ２６から出力されたリーン角信号によって示されるリーン角（電圧値）を示すリーン角情報を生成してＣＰＵ１１０に出力する。また、ＣＰＵ２８０は、リーン角センサ２６、２７のうち、リーン角センサ２６から出力されたリーン角信号によって示されるリーン角（電圧値）を、自系のリーン角センサで検出されたリーン角（電圧値）として利用して、図８に示す故障診断処理を実施する。
【０１０３】
リーン角センサ２６から取得したリーン角信号が示すリーン角（電圧値）が正常範囲内でないと判定した場合（Ｓ２１：Ｎｏ）、ＣＰＵ２８０は、リーン角センサ２７から取得したリーン角信号が示すリーン角（電圧値）が正常範囲内か否かを判定する（Ｓ２９）。
【０１０４】
リーン角センサ２７から取得したリーン角信号が示すリーン角（電圧値）が正常範囲内であると判定した場合（Ｓ２９：Ｙｅｓ）、リーン角センサ２６が故障したと判定する（Ｓ３０）。この場合、リーン角センサ２５、２７を利用して制御を継続する（Ｓ３１）。すなわち、ＣＰＵ２８０は、リーン角センサ２６、２７のうち、リーン角センサ２７から出力されるリーン角信号が示すリーン角に基づいて、倒立二輪車１を旋回させる制御を行う。また、ＣＰＵ２８０は、リーン角センサ２５と、リーン角センサ２７との間で、図８に示す故障診断処理を実施する（Ｓ３２）。すなわち、この場合は、ＣＰＵ２８０は、０系のＣＰＵ１１０で故障診断に利用されるリーン角情報として、リーン角センサ２６、２７のうち、リーン角センサ２７から出力されたリーン角信号によって示されるリーン角（電圧値）を示すリーン角情報を生成してＣＰＵ１１０に出力する。また、ＣＰＵ２８０は、リーン角センサ２６、２７のうち、リーン角センサ２７から出力されたリーン角信号によって示されるリーン角（電圧値）を、自系のリーン角センサで検出されたリーン角（電圧値）として利用して、図８に示す故障診断処理を実施する。
【０１０５】
リーン角センサ２７から取得したリーン角信号が示すリーン角（電圧値）が正常範囲内でないと判定した場合（Ｓ２９：Ｎｏ）、ＣＰＵ２８０は、自系のリーン角センサ２６、２７が故障したと判定し、他系のリーン角センサ２５を利用して、倒立二輪車１を倒立制御しつつ継続して走行させる制御、又は、倒立二輪車１を倒立制御しつつ停止させる安全制御を行う（Ｓ３２）。この処理については、ステップＳ２５の処理と同様であるため、詳細な説明は省略する。
【０１０６】
以上に説明したように、本実施の形態２では、リーン角センサ２６及びリーン角センサ２７のうち、リーン角センサ２６が検出したリーン角が所定の正常範囲内でないと判定した場合、リーン角センサ２６が検出したリーン角に代えて、リーン角センサ２７が検出したリーン角を利用して、０系と１系との間の故障診断処理を実施するようにしている。
【０１０７】
これによれば、１系のリーン角センサ２６が１つ故障した場合であっても、０系と１系との間の故障診断処理を継続実施することができる。すなわち、耐故障性を向上することができる。
【０１０８】
なお、本実施の形態２では、１系のみに２つのリーン角センサを有するようにしているが、これに限られない。０系も２つのリーン角センサを有するようにして、図１１と同様の故障診断を実施することで、その２つのうちで故障しているリーン角センサを検出し、故障していないリーン角センサの出力を利用して、図８に示す０系と１系との間の故障診断処理を実施するようにしてもよい。
【０１０９】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【０１１０】
上記の実施の形態では、ＣＰＵ１１０、１２０（又はＣＰＵ１１０、２８０）の両方が故障診断処理を実施するようにしているが、いずれか一方のみが故障診断処理を実施するようにしてもよい。しかしながら、好ましくは、ＣＰＵ１１０、１２０（又はＣＰＵ２８０、２４０）の両方が故障診断処理を実施するようにすることで、より故障検出の即応性を向上することができる。
【０１１１】
上記の実施の形態では、０系と１系のそれぞれにリーン角センサ２５、２６を有するようにしているが、１つだけリーン角センサを有するようにし、そのリーン角センサからリーン角信号をマイコン１１、１２の両方に通知するようにしてもよい。これによっても、図８に示す故障診断処理によれば、リーン角センサとマイコン１１との間の信号線、及び、リーン角センサとマイコン１２との間の信号線のうち、いずれかが故障した場合に、それを検出することが可能である。
【符号の説明】
【０１１２】
１  倒立二輪車
２  車輪
３  ステップカバー
４  ハンドル
１０  制御装置
１１、１２、２８  マイコン
１３、１４、１５、１６  インバータ
１７、１８  モータ
１９、２０、２１、２２  回転角センサ
２３、２４  ジャイロセンサ
２５、２６、２７  リーン角センサ
１１０、１２０、２８０  ＣＰＵ
２００  ＣＰＵ間通信路
【図１】
2014157527.tif 000003
【図２】
2014157527.tif 000004
【図３】
2014157527.tif 000005
【図４】
2014157527.tif 000006
【図５】
2014157527.tif 000007
【図６】
2014157527.tif 000008
【図７】
2014157527.tif 000009
【図８】
2014157527.tif 000010
【図９】
2014157527.tif 000011
【図１０】
2014157527.tif 000012
【図１１】
2014157527.tif 000013