(57)【要約】      （修正有）【課題】異なるＣＰＵのそれぞれで実行する制動制御の同期の精度を向上すること。【解決手段】本発明に係る移動体は、車輪を回転させて移動する移動体であって、車輪を回転させるモータ１７、１８と、モータ１７，１８を駆動して移動体を制御する第１のＣＰＵ１１０と、第１のＣＰＵと通信するとともに、モータを駆動して移動体を制御する第２のＣＰＵ１２０と、を備える。第１のＣＰＵ１１０は、所定の規定時間の間、第２のＣＰＵ１２０との通信断を検出したとき、モータを所定の駆動パターンで駆動するとともに移動体の制動制御を開始する。第２のＣＰＵ１２０は、モータが所定の駆動パターンで駆動されたことを検出したとき、移動体の制動制御を開始する。【選択図】図３
2014109793.tif 000002
【特許請求の範囲】
【請求項１】
車輪を回転させて移動する移動体であって、
前記車輪を回転させるモータと、
前記モータを駆動して前記移動体を制御する第１のＣＰＵと、
前記第１のＣＰＵと通信するとともに、前記モータを駆動して前記移動体を制御する第２のＣＰＵと、を備え、
前記第１のＣＰＵは、所定の規定時間の間、前記第２のＣＰＵとの通信断を検出したとき、前記モータを所定の駆動パターンで駆動するとともに前記移動体の制動制御を開始し、
前記第２のＣＰＵは、前記モータが前記所定の駆動パターンで駆動されたことを検出したとき、前記移動体の制動制御を開始する、
移動体。
【請求項２】
前記第１のＣＰＵは、前記モータを駆動するための指令値を出力し、
前記移動体は、さらに、
前記第１のＣＰＵから出力された指令値に基づいて、前記モータを駆動する駆動電流を前記モータに供給するインバータと、
前記モータに供給される駆動電流を検出する電流センサと、を備え、
前記第１のＣＰＵは、前記モータの前記所定の駆動パターンでの駆動として、前記モータを前記所定の駆動パターンで駆動するための所定パターンの指令値を出力し、
前記第２のＣＰＵは、前記モータの前記所定の駆動パターンでの駆動として、前記電流センサによって検出された駆動電流が、前記所定パターンの指令値に応じた駆動電流であることを検出する、
請求項１に記載の移動体。
【請求項３】
前記所定の規定時間は、所定の第２の規定時間であり、
前記第２のＣＰＵは、所定の第１の規定時間の間、前記第１のＣＰＵとの通信断を検出したとき、前記モータが前記所定の駆動パターンで駆動されているか否かの判定を開始する、
請求項１又は２に記載の移動体。
【請求項４】
前記第１のＣＰＵは、前記所定の規定時間の間、前記第２のＣＰＵとの通信断を検出したときから所定のタイムアウト時間が経過したときに、前記移動体の制動制御を開始し、
前記第２のＣＰＵは、前記モータが前記所定の駆動パターンで駆動されたことを検出したときから前記所定のタイムアウト時間が経過したときに、前記移動体の制動制御を開始する、
請求項１乃至３のいずれか１項に記載の移動体。
【請求項５】
前記第２のＣＰＵは、前記所定の規定時間の間、前記第２のＣＰＵとの通信断を検出したとき、前記モータを前記所定の駆動パターンで駆動するとともに前記移動体の制動制御を開始し、
前記第１のＣＰＵは、前記モータが前記所定の駆動パターンで駆動されたことを検出したとき、前記移動体の制動制御を開始する、
請求項１に記載の移動体。
【請求項６】
第１のＣＰＵ及び第２のＣＰＵによってモータを駆動することで車輪を回転させて移動する移動体の制御方法であって、
前記第１のＣＰＵが、所定の規定時間の間、前記第２のＣＰＵとの通信断を検出したとき、前記モータを所定の駆動パターンで駆動するとともに前記移動体の制動制御を開始するステップと、
前記第２のＣＰＵが、前記モータが前記所定の駆動パターンで駆動されたことを検出したとき、前記移動体の制動制御を開始するステップと、
を備えた制御方法。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体及びその制御方法に関し、特に、多重化されたＣＰＵによって移動体を制御する技術に関する。
【背景技術】
【０００２】
特許文献１及び特許文献２には、二重化したＣＰＵによって車両を制御する技術が開示されている。例えば、特許文献１に開示の個人輸送車は、ＡグループとＢグループの冗長コンポーネントのそれぞれに属するＡプロセッサとＢプロセッサによって、２つの車輪のそれぞれと連結された２つのモータを制御する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２００３／０１４６０２５号公報
【特許文献２】国際公開第２０１１／０８９６５６号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本願出願人は、上述したように二重化したＣＰＵによる移動体の制御に関して、以下に説明する課題を見出した。なお、以下に説明する内容は、本願出願人が新たに検討した内容であって、従来技術を説明するものではない。
【０００５】
二重化したＣＰＵによる移動体の制御をする場合、他方のＣＰＵの故障を検出するために、二重化したＣＰＵ間で定期的に通信を行う方法が考えられる。これによれば、一方のＣＰＵは、他方のＣＰＵからの通信が無くなった場合に、他方のＣＰＵが故障していると判定することができる。そして、他方のＣＰＵが故障していると判定した場合、残りのＣＰＵは、ＣＰＵの多重故障を避けるため、移動体を停止させる制動制御（降車制御）を行う。
【０００６】
しかしながら、このような故障検出方法では、他方のＣＰＵが故障したことによって他方のＣＰＵからの通信が無くなったのか、他方のＣＰＵとの間の通信路が故障したことによって他方のＣＰＵからの通信が無くなったのかを特定することができていない。そのため、ＣＰＵ間の通信路が故障している場合には、双方のＣＰＵが、個別に降車制御を行うことになる。この場合、次に説明する問題が生じる。
【０００７】
図７を参照して、その問題について説明する。図７に示すように、２つのＣＰＵのそれぞれで、他方のＣＰＵからの通信が無くなったと判定して降車制御を開始したタイミングがズレてしまった場合には、２つのＣＰＵのそれぞれで、降車制御の同期を取って実行されず、移動体がぎくしゃくした動きとなってしまう。言い換えると、２つのＣＰＵのそれぞれで、降車制御が完了するタイミングがズレてしまう。
【０００８】
本発明は、上述した知見に基づいてなされたものであって、異なるＣＰＵのそれぞれで実行する制動制御の同期の精度を向上することができる移動体及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の態様にかかる移動体は、車輪を回転させて移動する移動体であって、前記車輪を回転させるモータと、前記モータを駆動して前記移動体を制御する第１のＣＰＵと、前記第１のＣＰＵと通信するとともに、前記モータを駆動して前記移動体を制御する第２のＣＰＵと、を備え、前記第１のＣＰＵは、所定の規定時間の間、前記第２のＣＰＵとの通信断を検出したとき、前記モータを所定の駆動パターンで駆動するとともに前記移動体の制動制御を開始し、前記第２のＣＰＵは、前記モータが前記所定の駆動パターンで駆動されたことを検出したとき、前記移動体の制動制御を開始するものである。
【００１０】
本発明の第２の態様にかかる制御方法は、第１のＣＰＵ及び第２のＣＰＵによってモータを駆動することで車輪を回転させて移動する移動体の制御方法であって、前記第１のＣＰＵが、所定の規定時間の間、前記第２のＣＰＵとの通信断を検出したとき、前記モータを所定の駆動パターンで駆動するとともに前記移動体の制動制御を開始するステップと、前記第２のＣＰＵが、前記モータが前記所定の駆動パターンで駆動されたことを検出したとき、前記移動体の制動制御を開始するステップと、を備えたものである。
【発明の効果】
【００１１】
上述した本発明の各態様によれば、異なるＣＰＵのそれぞれで実行する制動制御の同期の精度を向上することができる移動体及びその制御方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態に係る倒立二輪車の概要構成を示す図である。
【図２】実施の形態に係る制御装置の構成を示すブロック図である。
【図３】実施の形態に係るマイコンの詳細構成を示す図である。
【図４】実施の形態に係るトルク脈動の指令値を示す図である。
【図５】実施の形態に係る倒立二輪車の降車制御同期処理を示すフローチャートである。
【図６】実施の形態の効果を説明するための図である。
【図７】課題を説明するための図である。
【発明を実施するための形態】
【００１３】
以下に図面を参照しながら、本発明の好適な実施の形態について説明する。以下の実施の形態に示す具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、それに限定されるものではない。また、以下の記載及び図面では、説明の明確化のため、当業者にとって自明な事項等については、適宜、省略及び簡略化がなされている。
【００１４】
＜発明の実施の形態＞
図１を参照して、実施の形態にかかる倒立二輪車１の概要構成について説明する。図１は、実施の形態にかかる倒立二輪車１の概要構成を示す図である。
【００１５】
倒立二輪車１は、ステップカバー３に搭乗した搭乗者が、倒立二輪車１の前後方向に荷重を作用させた際における、前後方向への倒立二輪車１の姿勢角（ピッチ角）をセンサを利用して検出し、この検出結果に基づいて、倒立二輪車１の倒立状態を維持するように左右の車輪２を駆動するモータを制御する。すなわち、倒立二輪車１は、ステップカバー３に搭乗した搭乗者が前方に荷重を作用させて倒立二輪車１を前方に傾斜させると、倒立二輪車１の倒立状態を維持するように前方に加速し、搭乗者が後方に荷重を作用させて倒立二輪車１を後方に傾斜させると、倒立二輪車１の倒立状態を維持するように後方に加速するように、左右の車輪２を駆動するモータを制御する。倒立二輪車１は、制御の安定性を確保するために、モータを制御する制御系が２重化されている。
【００１６】
なお、これらのモータの制御は、倒立二輪車１に搭載された制御装置１０によって行われる。
【００１７】
続いて、図２を参照して、実施の形態にかかる制御装置１０の構成について説明する。図２を参照して、実施の形態にかかる制御装置１０の構成を示すブロック図である。
【００１８】
制御装置１０は、マイクロコントローラ１１、１２（以下、「マイコン」とも呼ぶ）、インバータ１３〜１６、モータ１７、１８、回転角センサ１９〜２２、及びジャイロセンサ２３、２４、及び電流センサ２５〜２８を有する。
【００１９】
制御装置１０は、倒立二輪車１の制御の安定性を確保するために、その制御系を、０系の制御系と１系の制御系とに二重化させた二重系システムとなっている。０系の制御系は、マイコン１１、インバータ１３、１４、回転角センサ１９、２０、ジャイロセンサ２３、及び電流センサ２７、２８を含む。１系の制御系は、マイコン１２、インバータ１５、１６、回転角センサ２１、２２、ジャイロセンサ２４、及び電流センサ２５、２６を含む。
【００２０】
マイコン１１、１２のそれぞれは、ジャイロセンサ２３、２４のそれぞれから出力される角速度信号に基づいて、上述したように、倒立二輪車１の倒立状態を維持するようにモータ１７、１８を制御するＥＣＵ（Electronic Control Unit）である。マイコン１１、１２のそれぞれは、ＣＰＵ（Central Processing Unit）及び記憶部を有し、記憶部に格納されたプログラムを実行することによって、本実施の形態におけるマイコン１１、１２のそれぞれとしての処理を実行する。すなわち、マイコン１１、１２のそれぞれの記憶部に格納されるプログラムは、本実施の形態におけるマイコン１１、１２のそれぞれにおける処理を、ＣＰＵに実行させるためのコードを含む。なお、記憶部は、例えば、このプログラムや、ＣＰＵにおける処理に利用される各種情報を格納することができる任意の記憶装置を含んで構成される。記憶装置は、例えば、メモリ等である。
【００２１】
マイコン１１は、モータ１７を制御する指令値をインバータ１３に出力する。また、マイコン１１は、モータ１８を制御する指令値をインバータ１４に出力する。マイコン１２は、モータ１７を制御する指令値をインバータ１５に出力する。また、マイコン１２は、モータ１８を制御する指令値をインバータ１６に出力する。具体的には、マイコン１１、１２のそれぞれは、ジャイロセンサ２３、２４のそれぞれから出力される角速度信号が示す倒立二輪車１のピッチ軸周りの角速度（ピッチ角速度）を積分することで倒立二輪車１の前後方向の姿勢角（ピッチ角）を算出し、算出した姿勢角に基づいて倒立二輪車１の倒立状態を維持するようにモータ１７、１８を制御する指令値を生成する。
【００２２】
ここで、制御装置１０は、ジャイロセンサ２３、２４に代えて、倒立二輪車１の前後方向の姿勢角（ピッチ角）を検出し、検出した姿勢角を示す姿勢角信号をマイコン１１、１２のそれぞれ出力する姿勢角センサを有するようにしてもよい。姿勢角センサは、例えば、加速度センサ及びジャイロセンサによって、倒立型移動体１の姿勢角を検出するように構成される。そして、マイコン１１、１２のそれぞれは、姿勢角センサから出力された姿勢角信号が示す姿勢角に基づいて、倒立状態を維持するようにモータ１７、１８を制御する指令値を生成するようにしてもよい。
【００２３】
また、マイコン１１、１２のそれぞれは、回転角センサ１９、２１のそれぞれから出力される、モータ１７の回転角を示す回転角信号に基づいて、モータ１７をフィードバック制御するように、インバータ１３、１５のそれぞれに対する指令値を生成する。また、マイコン１１、１２のそれぞれは、回転角センサ２０、２２のそれぞれから出力される、モータ１８の回転角を示す回転角信号に基づいて、モータ１８をフィードバック制御するように、インバータ１４、１６のそれぞれに対する指令値を生成する。
【００２４】
インバータ１３は、マイコン１１から出力された指令値に基づいて、ＰＷＭ（Pulse Width Modulation）制御を行うことで、モータ１７を駆動する駆動電流を生成してモータ１７に供給する。インバータ１４は、マイコン１１から出力された指令値に基づいて、ＰＷＭ制御を行うことで、モータ１８を駆動する駆動電流を生成してモータ１８に供給する。インバータ１５は、マイコン１２から出力された指令値に基づいて、ＰＷＭ制御を行うことで、モータ１７を駆動する駆動電流を生成してモータ１７に供給する。インバータ１６は、マイコン１２から出力された指令値に基づいて、ＰＷＭ制御を行うことで、モータ１８を駆動する駆動電流を生成してモータ１８に供給する。
【００２５】
モータ１７、１８のそれぞれは、二重巻線のモータである。モータ１７は、インバータ１３から供給される駆動電流と、インバータ１５から供給される駆動電流とに基づいて駆動される。モータ１７を駆動することによって、倒立二輪車１の左側の車輪２が回転する。モータ１８は、インバータ１４から供給される駆動電流と、インバータ１６から供給される駆動電流とに基づいて駆動される。モータ１８を駆動することによって、倒立二輪車１の右側の車輪２が回転する。
【００２６】
回転角センサ１９は、モータ１７の回転角を検出し、検出した回転角を示す回転角信号を生成してマイコン１１に出力する。回転角センサ２０は、モータ１８の回転角を検出し、検出した回転角を示す回転角信号を生成してマイコン１１に出力する。回転角センサ２１は、モータ１７の回転角を検出し、検出した回転角を示す回転角信号を生成してマイコン１２に出力する。回転角センサ２２は、モータ１８の回転角を検出し、検出した回転角を示す回転角信号を生成してマイコン１２に出力する。
【００２７】
ジャイロセンサ２３、２４のそれぞれは、搭乗者がステップカバー３に対して、倒立二輪車１の前後方向に荷重を作用させた際における、倒立二輪車１の前後方向に対する角速度（ピッチ軸周りの角速度、ピッチ角速度）を検出し、検出した角速度を示す角速度信号をマイコン１１、１２のそれぞれに出力する。
【００２８】
電流センサ２５は、インバータ１３からモータ１７に供給される駆動電流を検出し、検出した駆動電流の電流量を示す電流量信号を生成してマイコン１２に出力する。電流センサ２６は、インバータ１４からモータ１８に供給される駆動電流を検出し、検出した駆動電流の電流量を示す電流量信号を生成してマイコン１２に出力する。電流センサ２７は、インバータ１５からモータ１７に供給される駆動電流を検出し、検出した駆動電流の電流量を示す電流量信号を生成してマイコン１１に出力する。電流センサ２８は、インバータ１６からモータ１８に供給される駆動電流を検出し、検出した駆動電流の電流量を示す電流量信号を生成してマイコン１１に出力する。
【００２９】
続いて、図３及び図４を参照して、実施の形態にかかるマイコン１１、１２の降車制御同期方法について説明する。図３は、実施の形態にかかるマイコン１１、１２の詳細構成を示す図である。図４は、実施の形態にかかるトルク脈動の指令値を示す図である。
【００３０】
マイコン１１、１２のそれぞれは、上述したように、倒立二輪車１の制御に関する各種処理を実行するＣＰＵ１１０、１２０のそれぞれを有する。ＣＰＵ１１０、１２０のそれぞれは、所定の一定時間（処理インターバル時間）経過する毎に所定の処理を実行する。例えば、ＣＰＵ１１０、１２０のそれぞれは、所定の処理として、センサ（ジャイロセンサ２３、２４及び回転角センサ１９〜２２）のそれぞれからセンサ値（角速度信号及び回転角信号）を取得するセンサ取得処理、取得したセンサ値（角速度信号及び回転角信号のそれぞれが示すピッチ角速度及びモータ１７、１８の回転角）に基づいて指令値を算出する姿勢制御処理、及び、算出した指令値をインバータ１３〜１６のそれぞれに出力するモータ出力処理等を実行する。なお、これらの処理は、それぞれ同一タイミングで一定時間間間隔毎に実施されるようにしてもよく、それぞれ異なるタイミングで一定時間間隔毎に実施されるようにしてもよい。また、これらの処理の実行間隔は、それぞれ同一時間間隔であってもよく、それぞれ異なる時間間隔であってもよい。
【００３１】
また、ＣＰＵ１１０、１２０のそれぞれは、相互に任意の情報を送受信する。ＣＰＵ１１０、１２０のそれぞれは、各種センサから取得した値を示す情報、及び自身１１０又は１２０の状態を示す情報等を他方のＣＰＵ１１０又は１２０に送信する。例えば、ＣＰＵ１１０、１２０のそれぞれは、ジャイロセンサ２３、２４のそれぞれから出力された角速度信号によって示されるピッチ角速度を示す角速度情報を生成して他方のＣＰＵ１１０又は１２０に出力する。ＣＰＵ１１０、１２０のそれぞれは、ジャイロセンサ２３、２４のそれぞれから出力された角速度信号が示すピッチ角速度と、他方のＣＰＵ１１０又は１２０から出力された角速度情報が示すピッチ角速度とを比較する。ＣＰＵ１１０、１２０のそれぞれは、比較したピッチ角速度が一致しないと判定した場合、ジャイロセンサ２３又はジャイロセンサ２４が故障していると判定し、倒立二輪車１を倒立制御しつつ停止させる制動制御（降車制御）を行う。
【００３２】
また、ＣＰＵ１１０、１２０のそれぞれは、他方のＣＰＵ１１０又は１２０による自ＣＰＵ１１０又は１２０の異常の検出を可能とするために、所定の一定時間（ハートビートインターバル時間）経過する毎に、ハートビート信号を他方のＣＰＵ１１０又は１２０に出力する。
【００３３】
そして、本実施の形態では、ＣＰＵ１１０、１２０のそれぞれは、所定の規定時間（後述のＴ２）の間、他方のＣＰＵ１１０又は１２０からハートビート信号の出力を受けなかった場合、モータ１７、１８の少なくとも１つに対してトルク脈動を印加する。具体的には、ＣＰＵ１１０は、トルク脈動として予め定められたパターンの指令値をインバータ１３、１４の少なくとも１つに出力する。また、ＣＰＵ１２０は、トルク脈動として予め定められたパターンの指令値をインバータ１５、１６の少なくとも１つに出力する。トルク脈動の指令値として、通常の制御で発生し得ないパターンであれば、任意のパターンを定めることができる。例えば、図４に示すように、トルク脈動の指令値として、立ち上がりパルスの期間、基準値の期間、立ち下りパルスの期間を含むパターンの指令値を定めるようにしてもよい。
【００３４】
また、ＣＰＵ１１０、１２０のそれぞれは、トルク脈動の印加と同じタイミングで、タイマーをスタートする。ＣＰＵ１１０、１２０のそれぞれは、このタイマーとして、例えば、ＣＰＵ１１０、１２０のそれぞれで実行するプログラム（ＯＳ（Operating System）又はユーザプログラム）において提供されるソフトウェアタイマを利用する。
【００３５】
一方、ＣＰＵ１１０、１２０のそれぞれは、他方のＣＰＵ１１０又は１２０からモータ１７、１８の少なくとも１つに対してトルク脈動が印加されたことを検出した場合、タイマーをスタートする。具体的には、ＣＰＵ１１０は、電流センサ２７、２８のそれぞれから出力された電流量信号が示す電流量のうち、少なくとも１つの電流量の変化がトルク脈動の指令値の印加時における変化をしている場合、トルク脈動が印加されたと判定する。また、ＣＰＵ１２０は、電流センサ２５、２６のそれぞれから出力された電流量信号が示す電流量のうち、少なくとも１つの電流量の変化が、トルク脈動の指令値の印加時における変化をしている場合、トルク脈動が印加されたと判定する。
【００３６】
そして、ＣＰＵ１１０、１２０のそれぞれは、タイマーによって所定のタイムアウト時間の経過が計測されたとき、倒立二輪車１の降車制御を実施する。
【００３７】
これによれば、ＣＰＵ１１０、１２０は共に、モータ１７、１８に対するトルク脈動の印加時から所定の規定時間経過した時点から降車制御を開始することができる。すなわち、ＣＰＵ１１０、１２０は、倒立二輪車１の降車制御を同期して実施することが可能となる。
【００３８】
続いて、図５を参照して、実施の形態にかかる倒立二輪車１の降車制御同期処理について説明する。図５は、実施の形態にかかる倒立二輪車１の降車制御同期処理を示すフローチャートである。以下、ＣＰＵ１１０が処理を実行する場合について説明するが、ＣＰＵ１２０においても同様の処理が実行される。
【００３９】
ＣＰＵ１１０は、所定の一定周期毎に動作を開始して、以降に説明する処理を実行する。ＣＰＵ１１０は、動作を開始すると、他方のＣＰＵ１２０との間で通信断が発生しているか否かを判定する（Ｓ１）。具体的には、ＣＰＵ１１０は、所定の規定時間（Ｔ１）以上、他方のＣＰＵ１２０からハートビート信号の出力を受けていない場合、通信断が発生していると判定し、所定の規定時間（Ｔ１）内に、他方のＣＰＵ１２０からハートビート信号の出力を受けている場合、通信断が発生していないと判定する。Ｔ１は、任意の時間を定めるようにしてよく、例えば、１ｓｅｃと定めてもよい。
【００４０】
通信断が発生していると判定した場合（Ｓ１：Ｙｅｓ）、ＣＰＵ１１０は、他方のＣＰＵ１２０からモータ１７、１８に対してトルク脈動が印加されたか否かを判定する（Ｓ２）。
【００４１】
トルク脈動が印加されていないと判定した場合（Ｓ２：Ｎｏ）、ＣＰＵ１１０は、他方のＣＰＵ１２０との間の通信断を確定するか否かを判定する（Ｓ３）。具体的には、ＣＰＵ１１０は、所定の規定時間（Ｔ２）以上、他方のＣＰＵ１２０からハートビート信号の出力を受けていない場合、通信断が確定したと判定し、所定の規定時間（Ｔ２）内に、他方のＣＰＵ１２０からハートビート信号の出力を受けている場合、通信断を確定しないと判定する。ここで、Ｔ２は、Ｔ１よりも長い時間である。Ｔ２は、任意の時間を定めるようにしてよく、例えば、３ｓｅｃと定めてもよい。
【００４２】
通信断が確定したと判定した場合、ＣＰＵ１１０は、モータ１７、１８に対してトルク脈動を印加するとともに、それと同じタイミングでタイマーをスタートする（Ｓ４）。ここで、ＣＰＵ１１０は、モータ１７、１８の両方に対してトルク脈動を印加するようにしてもよく、モータ１７、１８の片方のみに対してトルク脈動を印加するようにしてもよい。すなわち、ＣＰＵ１１０は、トルク脈動の指令値をインバータ１３、１４（ＣＰＵ１２０の場合はインバータ１５、１６）の両方に出力するようにしてもよく、トルク脈動の指令値をインバータ１３、１４（ＣＰＵ１２０の場合はインバータ１５、１６）の片方のみに出力するようにしてもよい。
【００４３】
トルク脈動が印加されていると判定した場合（Ｓ２：Ｙｅｓ）、ＣＰＵ１１０は、トルク脈動の検出したタイミングでタイマーをスタートする（Ｓ５）。ここで、ＣＰＵ１１０は、モータ１７、１８の両方に対してトルク脈動が印加されたことを検出した場合に、トルク脈動が印加されていると判定するようにしてもよく、モータ１７、１８の片方にでもトルク脈動が印加されたことを検出した場合に、トルク脈動が印加されていると判定するようにしてもよい。すなわち、ＣＰＵ１１０は、電流センサ２７、２８（ＣＰＵ１２０の場合は電流センサ２５、２６）のそれぞれから出力された電流量信号が示す電流量の両方でトルク脈動の指令値の印加時における変化を示している場合に、トルク脈動が印加されていると判定するようにしてもよく、電流センサ２７、２８（ＣＰＵ１２０の場合は電流センサ２５、２６）のそれぞれから出力された電流量信号が示す電流量の片方でもトルク脈動の指令値の印加時における変化を示している場合に、トルク脈動が印加されていると判定するようにしてもよい。
【００４４】
そして、ＣＰＵ１１０は、タイマーが計測する時間が所定の規定時間（タイムアウト時間）以上の経過を計測している場合、倒立二輪車１の降車制御を実施する（Ｓ６）。
【００４５】
以上に説明した降車制御同期処理によれば、ＣＰＵ１１０、１２０のそれぞれは、次に説明するように動作する。ここで、ＣＰＵ１１０が、ＣＰＵ１２０よりも早いタイミングで、ＣＰＵ１１０、１２０間の通信断を検出した場合について説明する。
【００４６】
この場合、ＣＰＵ１１０は、ＣＰＵ１２０との通信断を検出した後に（Ｓ１：Ｙｅｓ）、ＣＰＵ１２０との通信断を確定する（Ｓ３：Ｙｅｓ）。これにより、ＣＰＵ１１０は、モータ１７、１８に対してトルク脈動を印加するとともに、それと同じタイミングでタイマーをスタートする（Ｓ４）。この場合、ＣＰＵ１２０がＣＰＵ１１０との通信断を検出した後に（Ｓ１：Ｙｅｓ）、ＣＰＵ１１０との通信断を確定する時間（Ｔ２）が経過するよりも早く、ＣＰＵ１１０からモータ１７、１８に対してトルク脈動が印加されることになる。
【００４７】
よって、ＣＰＵ１２０は、ＣＰＵ１１０との通信断を検出した後に（Ｓ１：Ｙｅｓ）、モータ１７、１８に対するトルク脈動の印加を検出する（Ｓ２：Ｙｅｓ）。また、ＣＰＵ１２０は、トルク脈動の印加を検出したタイミングでタイマーをスタートする（Ｓ５）。
【００４８】
これによれば、図６に示すように、ＣＰＵ１１０とＣＰＵ１２０は共に、トルク脈動が印加されたタイミングでタイマーをスタートさせることになるため、ほぼ同時タイミングでタイマーが所定の規定時間経過したことを検出し、倒立二輪車１の降車制御を開始する。すなわち、以上に説明した降車制御同期処理によれば、ＣＰＵ１１０が降車制御を実施する時間と、ＣＰＵ１２０が降車制御を実施する時間を同期することができるため、ＣＰＵ１１０とＣＰＵ１２０のそれぞれで実行する降車制御の同期の精度を向上することができる。
【００４９】
以上に説明したように、本実施の形態では、第１のＣＰＵ１１０又は１２０は、所定の規定時間（Ｔ２）の間、第２のＣＰＵ１１０又は１２０との通信断を検出したとき、モータ１７又は１８を所定の駆動パターンで駆動するとともに倒立二輪車１（移動体）の制動制御を開始するようにしている。また、第２のＣＰＵ１１０又は１２０は、モータ１７又は１８が所定の駆動パターンで駆動されたことを検出したとき、倒立二輪車１（移動体）の制動制御を開始するようにしている。
【００５０】
これによれば、モータ１７又は１８に対して所定の駆動パターンによる駆動が行われたときを基準として、同期して制動制御を実施することができる。すなわち、異なるＣＰＵ１１０又は１２０のそれぞれで実行する制動制御の同期の精度を向上することができる。
【００５１】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００５２】
上記実施の形態では、本発明の適用対象とする移動体が、２つの車輪を有する倒立二輪車１である場合について例示したが、車輪の数は、これに限られない。本発明の適用対象とする移動体は、例えば、車輪の数が１つ又は３つ以上の移動体であってもよい。
【００５３】
上記実施の形態では、ＣＰＵ１１０及びＣＰＵ１２０の両方とも、図５に示したＳ４及びＳ５を実施するようにしているが、これに限られない。いずれか一方のＣＰＵ１１０又は１２０は、Ｓ４のみを実施し、他方のＣＰＵ１１０又は１２０は、Ｓ５のみを実施するようにしてもよい。この場合、Ｓ４を実施するＣＰＵ１１０又は１２０では、Ｓ２の判定を実施しないようにしてもよく、Ｓ５を実施するＣＰＵ１１０又は１２０では、Ｓ３の判定を実施しないようにしてもよい。このようにしても、トルク脈動の印加時を基準として、同期して制動制御を実施することが可能だからである。しかしながら、好ましくは、上記実施の形態のように、ＣＰＵ１１０及びＣＰＵ１２０の両方でＳ４及びＳ５を実施するようにすることで、ＣＰＵ１１０とＣＰＵ１２０のうち、先に通信断を検出・確定した時点を基準として降車制御を開始することができる。よって、故障の検出に応じて、迅速に倒立二輪車１を停止させることが可能である。
【００５４】
上記実施の形態では、通信断を検出しているときに（Ｓ１：Ｙｅｓ）、トルク脈動が印加されているか否かを判定する（Ｓ２）ようにしているが、ステップＳ１は、実施しないようにしてもよい。
【００５５】
上記実施の形態では、タイマーによって所定の時間が経過したときに、降車制御を開始するようにしているが、降車制御を即時実施するようにしてもよい。具体的には、ＣＰＵ１１０、１２０のそれぞれは、通信断が確定したと判定した場合（Ｓ３：Ｙｅｓ）、そのタイミングで、モータ１７、１８に対してトルク脈動を印加するとともに、降車制御を開始するようにしてもよい。また、ＣＰＵ１１０、１２０のそれぞれは、トルク脈動が印加されていると判定した場合（Ｓ２：Ｙｅｓ）、トルク脈動の印加を検出したタイミングで降車制御を開始するようにしてもよい。すなわち、ＣＰＵ１１０、１２０間の通信断を検出したとき又はそれによるトルク脈動の印加を検出したとき、倒立二輪車１の制動制御を実施するのであれば、通信断を検出したタイミング又はそれによるトルク脈動の印加を検出したタイミングで制動制御を開始するようにしてもよく、それらのタイミングから所定の規定時間（タイムアウト時間）が経過したタイミングで制動制御を開始するようにしてもよい。
【符号の説明】
【００５６】
１  倒立二輪車
２  車輪
３  ステップカバー
１０  制御装置
１１、１２  マイクロコントローラ
１３、１４、１５、１６  インバータ
１７、１８  モータ
１９、２０、２１、２２  回転角センサ
２３、２４  ジャイロセンサ
２５、２６、２７、２８  電流センサ
１１０、１２０  ＣＰＵ
【図１】
2014109793.tif 000003
【図２】
2014109793.tif 000004
【図３】
2014109793.tif 000005
【図４】
2014109793.tif 000006
【図５】
2014109793.tif 000007
【図６】
2014109793.tif 000008
【図７】
2014109793.tif 000009