(57)【要約】【課題】複数の制御部における制御状態を同期させること。【解決手段】倒立型移動体は、複数の制御状態に遷移する複数の制御手段を備えている。各制御手段は、自制御手段が遷移する制御状態の遷移条件の成立を判定し、該成立した遷移条件の中から優先度の高い遷移条件を選択する判定部と、他制御手段から遷移条件の優先度を受信したとき該遷移条件の優先度に基づいて、制御状態の遷移を行う最終的な遷移条件を決定すると共に、選択した遷移条件の優先度を確定優先度として他制御手段に送信する同期処理部と、を備えている。同期処理部は、他制御手段から確定優先度を受信するのと同時に、自制御手段の判定部が遷移条件を選択したとき、優先度の高い方の遷移条件に決定する。【選択図】図３
2015098216.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御状態に遷移する複数の制御手段を備える倒立型移動体であって、
前記各制御手段は、
自制御手段が遷移する制御状態の遷移条件の成立を判定し、該成立した遷移条件の中から優先度の高い遷移条件を選択する判定部と、
他制御手段から遷移条件の優先度を受信したとき該遷移条件の優先度に基づいて、制御状態の遷移を行う最終的な遷移条件を決定すると共に、前記選択した遷移条件の優先度を確定優先度として前記他制御手段に送信する同期処理部と、を備え、
前記同期処理部は、前記他制御手段から確定優先度を受信するのと同時に、前記自制御手段の判定部が遷移条件を選択したとき、優先度の高い方の遷移条件に決定する、ことを特徴とする倒立型移動体。
【請求項２】
請求項１記載の倒立型移動体であって、
前記同期処理部は、前記判定部により選択され、前記他制御手段に送信された前記遷移条件の確定優先度を、前記自制御手段の状態遷移が終了するまで維持する、ことを特徴とする倒立型移動体。
【請求項３】
請求項１又は２記載の倒立型移動体であって、
当該倒立型移動体の状態を検出し、該検出した状態をセンサ情報として前記各制御手段に夫々出力する複数のセンサを更に備え、
前記判定部は、前記自制御手段が受信した自系センサ情報と、前記他制御手段が受信し前記自制御手段に送信された他系センサ情報と、前記自制御手段の現在の制御状態と、予め設定された遷移条件テーブルと、に基づいて、前記自制御手段の遷移条件が成立するか否かを判定する、ことを特徴とする倒立型移動体。
【請求項４】
請求項３記載の倒立型移動体であって、
前記遷移条件テーブルは、前記各遷移条件の優先度と、前記各遷移条件が成立するための現在の制御状態と、前記自系センサ情報及び他系センサ情報のうち少なくとも一方に基づく前記各遷移条件が成立するための判定条件と、を含む、ことを特徴とする倒立型移動体。
【請求項５】
請求項１乃至４のうちいずれか１項記載の倒立型移動体であって、
前記他制御手段から送信される情報は、該遷移条件の確定優先度と、前記他制御手段が遷移を完了しているか否かを示すフラグ情報と、前記他系センサ情報と、を含む、ことを特徴とする倒立型移動体。
【請求項６】
請求項５記載の倒立型移動体であって、
前記各制御手段は、前記自制御手段のフラグ情報に基づいて、前記同期処理部により決定された最終的な遷移条件に従って制御状態の遷移を行う遷移部を更に備える、ことを特徴とする倒立型移動体。
【請求項７】
請求項５又は６記載の倒立型移動体であって、
前記遷移部は、前記自制御手段のフラグ情報が変化したとき、前記同期処理部により決定された最終的な遷移条件に従って制御状態の遷移を行う、ことを特徴とする倒立型移動体。
【請求項８】
請求項５乃至７のうちいずれか１項記載の倒立型移動体であって、
前記同期処理部は、
前記他制御手段から送信された確定優先度が０より大きいとき前記自制御手段のフラグ情報に１を設定し、
前記他制御手段から送信されるフラグ情報が１であり、かつ、前回の前記自制御手段のフラグ情報が１あるいは前回の前記自制御手段の確定優先度が０であるとき、前記自制御手段の確定優先度に０を設定し、
前記他制御手段から受信した確定優先度が０より大きいとき該確定優先度に基づいて、制御状態の遷移を行う最終的な遷移条件を決定すると共に、該決定した遷移条件の確定優先度を前記他制御手段に送信する、ことを特徴とする倒立型移動体。
【請求項９】
複数の制御状態に遷移する複数の制御手段を備える倒立型移動体の制御方法であって、
自制御手段が遷移する制御状態の遷移条件の成立を判定し、該成立した遷移条件の中から優先度の高い遷移条件を選択するステップ、
他制御手段から遷移条件の優先度を受信したとき該遷移条件の優先度に基づいて、制御状態の遷移を行う最終的な遷移条件を決定すると共に、前記選択した遷移条件の優先度を確定優先度として前記他制御手段に送信するステップと、
前記他制御手段から確定優先度を受信するのと同時に、前記自制御手段の判定部が遷移条件を選択したとき、優先度の高い方の遷移条件に決定するステップと、を含むことを特徴とする倒立型移動体の制御方法。
【請求項１０】
複数の制御状態に遷移する複数の制御手段を備える倒立型移動体の制御プログラムであって、
自制御手段が遷移する制御状態の遷移条件の成立を判定し、該成立した遷移条件の中から優先度の高い遷移条件を選択する処理、
他制御手段から遷移条件の優先度を受信したとき該遷移条件の優先度に基づいて、制御状態の遷移を行う最終的な遷移条件を決定すると共に、前記選択した遷移条件の優先度を確定優先度として前記他制御手段に送信する処理と、
前記他制御手段から確定優先度を受信するのと同時に、前記自制御手段の判定部が遷移条件を選択したとき、優先度の高い方の遷移条件に決定する処理と、をコンピュータに実行させることを特徴とする倒立型移動体の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の制御状態に遷移する複数の制御部を備える倒立型移動体、その制御方法、及び制御プログラムに関するものである。
【背景技術】
【０００２】
制御システムの信頼性を向上させる目的で複数の制御部を備えた冗長系システムが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−０３７５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、倒立型移動体の冗長系システムにおいて、例えば、複数の制御部が非同期状態で動作する場合、各制御部の制御状態が同時に相互に異なる状態となることがある。これにより、倒立制御の不安定性などを招く虞がある。
【０００５】
本発明は、このような問題点に鑑みてなされたものであり、複数の制御部における制御状態を同期させることができる倒立型移動体、その制御方法、及び制御プログラムを提供することを主たる目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための本発明の一態様は、複数の制御状態に遷移する複数の制御手段を備える倒立型移動体であって、前記各制御手段は、自制御手段が遷移する制御状態の遷移条件の成立を判定し、該成立した遷移条件の中から優先度の高い遷移条件を選択する判定部と、他制御手段から遷移条件の優先度を受信したとき該遷移条件の優先度に基づいて、制御状態の遷移を行う最終的な遷移条件を決定すると共に、前記選択した遷移条件の優先度を確定優先度として前記他制御手段に送信する同期処理部と、を備え、前記同期処理部は、前記他制御手段から確定優先度を受信するのと同時に、前記自制御手段の判定部が遷移条件を選択したとき、優先度の高い方の遷移条件に決定する、ことを特徴とする倒立型移動体である。
この一態様において、前記同期処理部は、前記判定部により選択され、前記他制御手段に送信された前記遷移条件の確定優先度を、前記自制御手段の状態遷移が終了するまで維持してもよい。
この一態様において、当該倒立型移動体の状態を検出し、該検出した状態をセンサ情報として前記各制御手段に夫々出力する複数のセンサを更に備え、前記判定部は、前記自制御手段が受信した自系センサ情報と、前記他制御手段が受信し前記自制御手段に送信された他系センサ情報と、前記自制御手段の現在の制御状態と、予め設定された遷移条件テーブルと、に基づいて、前記自制御手段の遷移条件が成立するか否かを判定してもよい。
この一態様において、前記遷移条件テーブルは、前記各遷移条件の優先度と、前記各遷移条件が成立するための現在の制御状態と、前記自系センサ情報及び他系センサ情報のうち少なくとも一方に基づく前記各遷移条件が成立するための判定条件と、を含んでいても良い。
この一態様において、前記他制御手段から送信される情報は、該遷移条件の確定優先度と、前記他制御手段が遷移を完了しているか否かを示すフラグ情報と、前記他系センサ情報と、を含んでいても良い。
この一態様において、前記各制御手段は、前記自制御手段のフラグ情報に基づいて、前記同期処理部により決定された最終的な遷移条件に従って制御状態の遷移を行う遷移部を更に備えていてもよい。
この一態様において、前記遷移部は、前記自制御手段のフラグ情報が変化したとき、前記同期処理部により決定された最終的な遷移条件に従って制御状態の遷移を行っても良い。
この一態様において、前記同期処理部は、前記他制御手段から送信された確定優先度が０より大きいとき前記自制御手段のフラグ情報に１を設定し、前記他制御手段から送信されるフラグ情報が１であり、かつ、前回の前記自制御手段のフラグ情報が１あるいは前回の前記自制御手段の確定優先度が０であるとき、前記自制御手段の確定優先度に０を設定し、前記他制御手段から受信した確定優先度が０より大きいとき該確定優先度に基づいて、制御状態の遷移を行う最終的な遷移条件を決定すると共に、該決定した遷移条件の確定優先度を前記他制御手段に送信してもよい。
上記目的を達成するための本発明の一態様は、複数の制御状態に遷移する複数の制御手段を備える倒立型移動体の制御方法であって、自制御手段が遷移する制御状態の遷移条件の成立を判定し、該成立した遷移条件の中から優先度の高い遷移条件を選択するステップ、他制御手段から遷移条件の優先度を受信したとき該遷移条件の優先度に基づいて、制御状態の遷移を行う最終的な遷移条件を決定すると共に、前記選択した遷移条件の優先度を確定優先度として前記他制御手段に送信するステップと、前記他制御手段から確定優先度を受信するのと同時に、前記自制御手段の判定部が遷移条件を選択したとき、優先度の高い方の遷移条件に決定するステップと、を含むことを特徴とする倒立型移動体の制御方法であってもよい。
上記目的を達成するための本発明の一態様は、複数の制御状態に遷移する複数の制御手段を備える倒立型移動体の制御プログラムであって、自制御手段が遷移する制御状態の遷移条件の成立を判定し、該成立した遷移条件の中から優先度の高い遷移条件を選択する処理、他制御手段から遷移条件の優先度を受信したとき該遷移条件の優先度に基づいて、制御状態の遷移を行う最終的な遷移条件を決定すると共に、前記選択した遷移条件の優先度を確定優先度として前記他制御手段に送信する処理と、前記他制御手段から確定優先度を受信するのと同時に、前記自制御手段の判定部が遷移条件を選択したとき、優先度の高い方の遷移条件に決定する処理と、をコンピュータに実行させることを特徴とする倒立型移動体の制御プログラムであってもよい。
【発明の効果】
【０００７】
本発明によれば、複数の制御部における制御状態を同期させることができる倒立型移動体、制御方法、及び制御プログラムを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施の形態に係る倒立型移動体の概略的な構成を示す斜視図である。
【図２】本発明の一実施の形態に係る倒立型移動体の概略的なシステム構成の一例を示すブロック図である。
【図３】本発明の一実施の形態に係る第１及び第２制御部の概略的なシステム構成を示すブロック図である。
【図４】第１及び第２制御部における制御状態の状態遷移の一例を示す図である。
【図５】図４に示す制御状態を説明するための図である。
【図６】遷移条件テーブルの一例を示す図である。
【図７】第１及び第２制御部が相互に送受信する通信パケットの一構成例を示す図である。
【図８】本発明の一実施の形態に係る倒立型移動体の制御方法の処理フローを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施の形態について説明する。
図１は、本発明の一実施の形態に係る倒立型移動体の概略的な構成を示す斜視図である。本実施の形態に係る倒立型移動体１０は、倒立状態を維持しつつ搭乗者の重心移動に応じて、前後進、左右旋回、加減速などの走行を行うことができる同軸二輪車として構成されている。倒立型移動体１０は、車両本体１と、車両本体１に回転可能に連結された左右一対の車輪２Ｒ、２Ｌと、車両本体１に操作可能に設けられた操作ハンドル３と、を備えている。
【００１０】
図２は、本発明の一実施の形態に係る倒立型移動体の概略的なシステム構成の一例を示すブロック図である。本実施の形態１に係る倒立型移動体１０は、左右一対の車輪駆動ユニット４Ｒ、４Ｌと、左右一対のステップセンサ５Ｒ、５Ｌと、角度検出センサ６と、姿勢センサユニット７と、制御装置８と、電源スイッチ９と、降車スイッチ１１と、左右一対の回転センサ１２Ｒ、１２Ｌと、を備えている。
【００１１】
各ステップセンサ５Ｒ、５Ｌは、例えば、車両本体１上の左右一対のステップ部に夫々設けられている。各ステップセンサ５Ｒ、５Ｌは、重量センサなどを用いて各ステップ部に搭乗者の足が乗っているか否かを検出し、足が乗っている場合（オン状態）にオン信号を制御装置８に対して夫々供給する。
【００１２】
各車輪駆動ユニット４Ｒ、４Ｌは、車両本体１に夫々取り付けられ、各車輪２Ｒ、２Ｌを独立して回転駆動する。各車輪駆動ユニット４Ｒ、４Ｌは、例えば、車輪駆動モータと、その各車輪駆動モータの回転軸に動力伝達可能に連結された減速ギアと、によって夫々構成することができる。
【００１３】
角度検出センサ６は、操作ハンドル３に設けられ、操作ハンドル３の傾斜角度を検出する。角度検出センサ６は、例えば、ポテンショメータやバリコン構造のセンサ等により構成されている。姿勢センサユニット７は、車両本体１に設けられ、車両本体１や操作ハンドル３の姿勢を検出する。姿勢センサユニット７は、例えば、加速度センサ、ジャイロセンサなどで構成されている。
【００１４】
電源スイッチ９は、例えば、倒立型移動体１０の電源をオン状態にするためのオン／オフ切替式のスイッチである。電源スイッチ９は、オン状態になるとオン信号を制御装置８に出力する。降車スイッチ１１は、制御装置８が降車制御の実行開始するトリガーとなる降車信号を出力するオン／オフ切替式のスイッチである。降車スイッチ１１がオン状態になると、降車信号を制御装置８に出力する。回転センサ１２Ｒ、１２Ｌは、各車輪駆動ユニット４Ｒ、４Ｌの車輪駆動モータの回転数、回転角速度、回転角加速度などの回転情報を検出し、検出した回転情報を制御装置８に対して出力する。
【００１５】
制御装置８は、姿勢センサユニット７からの出力信号、角度検出センサ６からの出力信号、各ステップセンサ５Ｒ、５Ｌからオン信号、各回転センサ１２Ｒ、１２Ｌからの出力信号等に基づいて所定の演算処理を実行し、必要なトルク指令信号を各車輪駆動ユニット４Ｒ、４Ｌに対して出力する。また、制御装置８が、各車輪駆動ユニット４Ｒ、４Ｌを制御することで、倒立型移動体１０は倒立状態を維持しつつ所望の走行を行う。
【００１６】
制御装置８は、倒立制御の信頼性を向上させる目的で、第１及び第２制御部８１、８２を有する冗長系システムとして構成されている。第１及び第２制御部８１、８２は、通信バス８３を介して、各車輪駆動ユニット４Ｒ、４Ｌ、各ステップセンサ５Ｒ、５Ｌ、角度検出センサ６、姿勢センサユニット７、電源スイッチ９、降車スイッチ１１、各回転センサ１２Ｒ、１２Ｌなどと接続されている。
【００１７】
各ステップセンサ５Ｒ、５Ｌ、角度検出センサ６、姿勢センサユニット７、電源スイッチ９、降車スイッチ１１、及び各回転センサ１２Ｒ、１２Ｌは、第１及び第２制御部８１、８２にセンサ情報を独立して送信する。第１及び第２制御部８１、８２は、例えば、ＣＡＮ（Controller Area Network）通信を行い、受信したセンサ情報を他方の制御部に送信している。第１及び第２制御部８１、８２は、例えば、自身の制御部（以下、自系制御部）が受信した上記センサ情報と、他方の制御部（以下、他系制御部）が受信した上記センサ情報と、を合成し、合成したセンサ情報に基づいて、各車輪駆動ユニット４Ｒ、４Ｌに対する制御信号を生成する。なお、上述したセンサ情報は一例である。本実施の形態において、センサ情報は、倒立型移動体１０に設けられる任意のセンサやスイッチの情報を含むものとする。
【００１８】
第１及び第２制御部８１、８２は、独立して各車輪駆動ユニット４Ｒ、４Ｌに制御信号を送信する。各車輪駆動ユニット４Ｒ、４Ｌは、第１及び第２制御部８１、８２から送信される制御信号を合成し、合成した制御信号に基づいて各車輪２Ｒ、２Ｌを回転駆動する。
【００１９】
図３は、本実施の形態に係る第１及び第２制御部の概略的なシステム構成を示すブロック図である。第１及び第２制御部８１、８２は、例えば、演算処理、制御処理等と行うＣＰＵ（Central Processing Unit）８１ａ、ＣＰＵ８１ａによって実行される演算プログラム、制御プログラム等が記憶されたＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）からなるメモリ８１ｂ、外部と信号の入出力を行うインターフェイス部（Ｉ／Ｆ）８１ｃ、などからなるマイクロコンピュータを中心にして、ハードウェア構成されている。ＣＰＵ８１ａ、メモリ８１ｂ、及びインターフェイス部８１ｃは、データバス８１ｄなどを介して相互に接続されている。
【００２０】
第１及び第２制御部８１、８２は、送受信処理部８１１と、遷移条件判定部８１２と、遷移同期処理部８１３と、状態遷移部８１４と、を有している。なお、送受信処理部８１１、遷移条件判定部８１２、遷移同期処理部８１３、及び状態遷移部８１４は、上記メモリ８１ｂなどに記憶され、上記ＣＰＵ８１ａによって実行されるプログラムとして構成されているが、電子回路で構成されていてもよい。
【００２１】
送受信処理部８１１は、他系制御部８１、８２から送信される情報と、各ステップセンサ５Ｒ、５Ｌ、角度検出センサ６、姿勢センサユニット７、電源スイッチ９、降車スイッチ１１、及び各回転センサ１２Ｒ、１２Ｌから送信されるセンサ情報を、通信バス８３及びインターフェイス部８１ｃを介して受信する処理を行う。
【００２２】
ところで、第１及び第２制御部が非同期状態で動作する場合、第１及び第２制御部の制御状態が同時に相互に異なる状態となることがあり、制御の不安定性やユーザの意図しない動作を起こす虞がある。
したがって、本実施の形態に係る第１及び第２制御部８１、８２は、相互の制御状態（起動状態、待機状態、倒立状態、走行状態、降車状態など）の状態遷移を同期させている。以下、第１及び第２制御部８１、８２における制御状態の状態遷移の同期方法について説明する。
【００２３】
遷移条件判定部８１２は、判定部の一具体例であり、自系制御部８１、８２が遷移する制御状態の遷移条件の成立を判定し、優先度の高い遷移条件を選択する。遷移条件判定部８１２は、自系制御部８１、８２に送信されたセンサ情報（以下、自系センサ情報）及び他系制御部８１、８２で受信され自系制御部８１、８２に送信されたセンサ情報（以下、他系センサ情報）に基づいて、自系制御部８１、８２の遷移条件が成立するか否かを判定する。
【００２４】
遷移条件判定部８１２は、例えば、自系センサ情報と、他系センサ情報と、自系制御部８１、８２の現在の制御状態と、メモリ８１ｂに記憶された遷移条件テーブルと、に基づいて、自系制御部８１、８２の遷移条件が成立するか否かを判定する。
【００２５】
図４は、第１及び第２制御部における制御状態の状態遷移の一例を示す図である。図５は、図４に示す制御状態を説明するための図である。図６は、遷移条件テーブルの一例を示す図である。
【００２６】
例えば、図４に示す如く、遷移条件１が成立すると、第１及び第２制御部８１、８２の制御状態が「降車状態」から「待機状態」に状態遷移することができる。ここで、「降車状態」とは、例えば、図５に示す如く、徐々に倒立型移動体１０の姿勢を傾けて搭乗者を降車させる制御状態を指し、「待機状態」とは、搭乗者が倒立型移動体１０のステップ部に搭乗可能な制御状態を指す。
【００２７】
図６に示す如く、遷移条件テーブルには、例えば、各遷移条件１〜９と、各遷移条件１〜９の優先度と、各遷移条件１〜９が成立するための現在の制御状態（前提となる制御状態）と、各遷移条件１〜９が成立するための判定条件と、が設定されている。
【００２８】
例えば、遷移条件９、５、１では、自系センサ情報及び他系センサ情報に基づいて判定条件を判定し、遷移条件の成立を判定している。一方、遷移条件８、７、６、４、３、２では、自系センサ情報のみに基づいて判定条件を判定し遷移条件の成立を判定している。
【００２９】
図６の遷移条件テーブルにおいて、例えば、遷移条件１には、最も低い優先度１が設定されている。遷移条件１では、現在の制御状態が「降車状態」であることが状態遷移の前提条件となる。さらに、遷移条件１では、自系センサ情報に基づいて自系制御部８１、８２の起動完了フラグがオン状態であると判定され、かつ他系センサ情報に基づいて他系制御部８１、８２の起動完了フラグがオン状態である判定されたとき、その遷移条件１が成立する。
【００３０】
ここで、第１及び第２制御部は、相互の制御状態の同期を行わない場合に以下の問題が生じ得る。例えば、図４及び図６に示す如く、第１及び第２制御部の制御状態が「待機状態」であるときに、搭乗者が一方のステップ部に足を乗せ一方のステップセンサがオン状態となり、同時に、電源スイッチがオフ状態となる場合がある。この場合、第１制御部は制御状態「片足オン状態」に遷移し、第２制御部は制御状態「終了状態」に遷移することがあり、両者の制御状態が相違する。
【００３１】
また、第１及び第２制御部の制御状態が「倒立状態」であるときに、搭乗者が各ステップ部に乗せた足を一度上げて再び乗せるという動作を行うことがある。この場合、第１制御部は、両ステップセンサがオフ状態と判定し制御状態「降車状態」に遷移する。一方、第２制御部は制御状態「倒立状態」を維持することがあり、両者の制御状態が相違する。
【００３２】
一方で、本実施の形態においては、第１及び第２制御部８１、８２は、相互の制御状態を同期させているため、上記のような問題を解消できる。
遷移条件判定部８１２は、上述したように各遷移条件が成立するものを遷移条件テーブルから抽出する。なお、遷移条件判定部８１２は、抽出した遷移条件が複数存在する場合、抽出した各遷移条件の優先度を夫々比較し、優先度が最も高い遷移条件を選択する。遷移条件判定部８１２は、選択した遷移条件の優先度を自系制御部８１、８２の「確定優先度」（以下、自系確定優先度）として、送受信処理部８１１を介して他系制御部８１、８２に送信する。
【００３３】
このように、自系制御部８１、８２は、遷移条件が成立した場合でも、即座に状態遷移を行わずに自系制御部８１、８２で成立した遷移条件の優先度のみを他系制御部８１、８２に送信する。したがって、自系及び他系制御部８１、８２は、後述の如く、相手から送信される優先度を簡易に比較するだけで、遷移条件を決定することが可能となる。さらに、自系制御部８１、８２は、同時に複数の遷移条件が成立した場合、最も優先度の高いものを確定優先度として他系制御部８１、８２に送信する。これにより、同時に複数の遷移条件が成立した場合でも、より優先度の高い遷移条件を優先的に実行することができる。
【００３４】
遷移同期処理部８１３は、同期処理部の一具体例であり、状態遷移部８１４で状態遷移すべき最終的な遷移条件を決定する。遷移同期処理部８１３は、例えば、遷移条件判定部８１２により選択された遷移条件及び自系確定優先度と、他系制御部８１、８２から送信される確定優先度（以下、他系確定優先度）と、伝達フラグと、に基づいて、状態遷移部８１４で状態遷移すべき最終的な遷移条件を決定する。
【００３５】
遷移同期処理部８１３は、遷移条件判定部８１２により選択され、他系制御部８１、８２に送信された自系確定優先度を、その遷移が終了するまで更新することなく維持する。これにより、他系制御部８１、８２は、その自系制御部８１、８２から送信される「確定優先度」を、自系制御部８１、８２の現在の「確定優先度」として確定できる。
【００３６】
遷移同期処理部８１３は、他系制御部８１、８２から送信される他系確定優先度が０より大きい場合（他系制御部８１、８２の状態遷移が完了している状態）、その他系制御部８１、８２からの他系確定優先度に対応する遷移条件を、最終的な遷移条件と決定する。そして、遷移同期処理部８１３は、その他系制御部８１、８２からの他系確定優先度に応じて、自系確定優先度を他系制御部８１、８２に送受信処理部８１１を介して送信する。
【００３７】
これにより、自系及び他系制御部８１、８２は常に相手から送信される確定優先度に従って状態遷移を行うこととなる。すなわち、自系制御部８１、８２で遷移条件が成立した場合に、先に他系制御部８１、８２がその遷移条件に従って状態遷移し、その後、自系制御部８１、８２がその遷移条件に従がって状態遷移することとなる。
【００３８】
さらに、遷移同期処理部８１３は、遷移条件判定部８１２からの自系確定優先度と、他系制御部８１、８２からの他系確定優先度と、を同時に受信した場合、確定優先度の高い方を最終的な遷移条件として決定する。これにより、自系及び他系制御部８１、８２間で相異なる遷移条件が同時に成立しても、確定優先度の高い方の遷移条件に従って自系及び他系制御部８１、８２を状態遷移させることができる。このようにして、第１及び第２制御部８１、８２における制御状態を同期させ、第１及び第２制御部８１、８２の制御状態が同時に相互に異なる状態となることを確実に防止できる。
【００３９】
遷移同期処理部８１３は、他系確定優先度が０より大きいとき、自系伝達フラグに１を設定する。これは、遷移同期処理部８１３は、上述の如く、他系確定優先度が０より大きいときに、その他系制御部８１、８２からの他系確定優先度に従って最終的な遷移条件を決定し、決定した遷移条件に従って状態遷移が行われる。従がって、この伝達フラグの値を識別することで、相手側が状態遷移済みであるか否かを判定することができる。
【００４０】
遷移同期処理部８１３は、自系及び他系制御部８１、８２の状態遷移が完了しているとき（他系伝達フラグ＝１、かつ、前回自系伝達フラグ＝１）、あるいは、自系確定優先度に０が設定されたとき（他系伝達フラグ＝１、かつ、前回自系確定優先度＝０）、自系確定優先度に０を設定する。これにより、自系及び他系制御部８１、８２の状態遷移が確実に終了するまで、次の遷移条件判定及び状態遷移が行われず、同期をとることができる。
【００４１】
状態遷移部８１４は、遷移部の一具体例であり、自系伝達フラグに基づいて、遷移同期処理部８１３により決定された最終的な遷移条件に従って制御状態の状態遷移を行う。  状態遷移部８１４は、自系伝達フラグが０から１に変化したときのみ（前回自系伝達フラグが０で、かつ自系伝達フラグが１となるとき）、遷移条件に従って制御状態の状態遷移を行う。これにより、状態遷移処理が重複して繰り返されることを防止できる。例えば、状態遷移した制御状態において、同一の遷移条件で連続して状態遷移が行われることを防止できる。
【００４２】
図７は、第１及び第２制御部が相互に送受信する通信パケットの一構成例を示す図である。図７に示す如く、各通信パケットは、例えば、自系確定優先度と、自系伝達フラグ（０又は１）と、自系センサ情報１〜ｎ（角度検出センサ情報、姿勢センサユニット情報、電源スイッチ情報、降車スイッチ情報、回転センサ情報など）と、で構成されている。
【００４３】
図８は、本実施の形態に係る倒立型移動体の制御方法の処理フローを示すフローチャートである。なお、図８に示す制御処理は、第１及び第２制御部８１、８２が状態遷移を実行する毎に繰返し実行される。第１及び第２制御部８１、８２は、本制御処理の実行開始前に、１回だけ初期化処理が実行する。第１及び第２制御部８１、８２は、初期化処理として、前回の自系確定優先度（以下、前回自系確定優先度）に０を設定し、前回の自系伝達フラグ（前回自系伝達フラグ）に０を設定する（ステップＳ１０１）。
【００４４】
自系制御部８１、８２の送受信処理部８１１は、通信バス８３を介して、他系制御部８１、８２から送信される通信パケット（他系確定優先度、他系伝達フラグ、及び他系センサ情報）と、自系センサ情報と、を受信し（ステップＳ１０２）、遷移条件判定部８１２に出力する。
【００４５】
遷移条件判定部８１２は、自系センサ情報と他系センサ情報とに基づいて、自系制御部８１、８２の遷移条件が成立するか否かを判定する（ステップＳ１０３）。
【００４６】
遷移条件判定部８１２は、各遷移条件が成立するものを遷移条件テーブルから抽出する。遷移条件判定部８１２は、抽出した各遷移条件の優先度を夫々比較し、優先度が最も高い遷移条件を選択する。遷移条件判定部８１２は、選択した遷移条件の優先度を自系確定優先度とする（ステップＳ１０４）。
【００４７】
遷移同期処理部８１３は、他系確定優先度が０より大きいか否かを判定する（ステップＳ１０５）。遷移同期処理部８１３は、他系確定優先度が０より大きいと判定したとき（ステップＳ１０５のＹＥＳ）、自系伝達フラグに１を設定する（ステップＳ１０６）。一方、遷移同期処理部８１３は、他系確定優先度が０より大きくないと判定したとき（ステップＳ１０５のＮＯ）、自系伝達フラグに０を設定する（ステップＳ１０７）。
【００４８】
遷移同期処理部８１３は、他系伝達フラグが１であり、かつ、前回自系伝達フラグが１である（又は前回確定優先度が０である）か否かを判定する（ステップＳ１０８）。遷移同期処理部８１３は、上記条件を満たしたと判定したとき（ステップＳ１０８のＹＥＳ）、自系確定優先度に０を設定し（ステップＳ１０９）、下記（ステップＳ１１３）に移行する。一方、。遷移同期処理部８１３は、上記条件を満たしたと判定したとき（ステップＳ１０８のＮＯ）、前回自系確定優先度が０より大きいか否かを判定する（ステップＳ１１０）。
【００４９】
遷移同期処理部８１３は、前回自系確定優先度が０より大きいと判定したとき（ステップＳ１１０のＹＥＳ）、前回自系確定優先度及び他系確定優先度のうち優先度の高い方を、自系確定優先度とする（ステップＳ１１１）。一方、遷移同期処理部８１３は、前回自系確定優先度が０より大きくないと判定したとき（ステップＳ１１０のＮＯ）、自系確定優先度及び他系確定優先度のうち優先度の高い方を、自系確定優先度とする（ステップＳＳ１１２）
【００５０】
状態遷移部８１４は、前回自系伝達フラグが０であり、かつ現在の自系伝達フラグが１であるか否かを判定する（ステップＳ１１３）。状態遷移部８１４は、前回自系伝達フラグが０であり、かつ自系伝達フラグが１であると判定したとき（ステップＳ１１３のＹＥＳ）、遷移条件優先度テーブルに基づいて自系確定優先度に対応する遷移条件で制御状態の状態遷移を実行する（ステップＳ１１４）。状態遷移部８１４は、前回自系伝達フラグが０であり、かつ自系伝達フラグが１でないと判定したとき（ステップＳ１１３のＮＯ）、前回自系確定優先度を自系確定優先度とし、前回自系伝達フラグを自系伝達フラグとする（ステップＳ１１５）。
【００５１】
送受信処理部８１１は、通信パケット（自系確定優先度、自系フラグ、及び自系センサ情報）を通信バス８３を介して他系制御部８１、８２に送信する（ステップＳ１１６）。
【００５２】
以上、本実施の形態に係る倒立型移動体１０において、第１及び第２制御部８１、８２の遷移条件判定部８１２は、自系制御部８１、８２が遷移する制御状態の遷移条件の成立を判定し、該成立した遷移条件の中から優先度の高い遷移条件を選択する。そして、遷移同期処理部８１３は、他系制御部８１、８２から遷移条件の優先度を受信したとき該遷移条件の優先度に基づいて、制御状態の遷移を行う最終的な遷移条件を決定すると共に、該決定した遷移条件の優先度を確定優先度として他系制御部８１、８２に送信する。さらに、遷移同期処理部８１３は、他系制御部８１、８２から確定優先度を受信するのと同時に、自系制御部８１、８２の遷移条件判定部８１２が遷移条件を選択したとき、優先度の高い方の遷移条件に決定する。
【００５３】
これにより、自系制御部８１、８２で遷移条件が成立した場合に、先に他系制御部８１、８２がその遷移条件に従って状態遷移し、その後、自系制御部８１、８２がその遷移条件に従がって状態遷移することとなる。さらに、自系及び他系制御部８１、８２間で相異なる遷移条件が同時に成立しても、確定優先度の高い方の遷移条件に従って自系及び他系制御部８１、８２を状態遷移させることができる。したがって、第１及び第２制御部８１、８２の制御状態を同期させ、第１及び第２制御部８１、８２の制御状態が同時に相互に異なる状態となることを確実に防止できる。
【００５４】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００５５】
本発明は、上述の如く、例えば、送受信処理部８１１、遷移条件判定部８１２、遷移同期処理部８１３、及び状態遷移部８１４における処理を、ＣＰＵにコンピュータプログラムを実行させることにより実現するものである。
【００５６】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。
【００５７】
また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００５８】
１  車両本体、２Ｒ、２Ｌ  車輪、３  操作ハンドル、４Ｒ、４Ｌ  車輪駆動ユニット、５Ｒ、５Ｌ  ステップセンサ、６  角度検出センサ、７  姿勢センサユニット、８  制御装置、９  電源スイッチ、１０  倒立型移動体、１１  降車スイッチ、１２Ｒ、１２Ｌ  回転センサ、８１  第１制御部、８２  第２制御部、８１１  送受信処理部、８１２  遷移条件判定部、８１３  遷移同期処理部、８１４  状態遷移部
【図１】
2015098216.tif 000003
【図２】
2015098216.tif 000004
【図３】
2015098216.tif 000005
【図４】
2015098216.tif 000006
【図５】
2015098216.tif 000007
【図６】
2015098216.tif 000008
【図７】
2015098216.tif 000009
【図８】
2015098216.tif 000010