(57)【特許請求の範囲】
【請求項１】
第１車輪を第１駆動部で駆動するとともに第２車輪を第２駆動部で駆動して車椅子を走行させる車椅子用電動装置であって、
前記第１車輪の駆動制御に関連する第１入力情報に基づいて第１出力情報を計算し、前記第１出力情報で前記第１駆動部を制御する第１制御部と、
前記第２車輪の駆動制御に関連する第２入力情報に基づいて第２出力情報を計算し、前記第２出力情報で前記第２駆動部を制御する第２制御部と、
前記第１入力情報および前記第１出力情報の少なくとも一部を、前記第１車輪の駆動に関連する第１駆動関連情報として送信する第１駆動関連情報の送信部と、
前記第２入力情報および前記第２出力情報の少なくとも一部を、前記第２車輪の駆動に関連する第２駆動関連情報として送信する第２駆動関連情報の送信部と、
前記第１駆動関連情報の送信部から送信された第１駆動関連情報を受信する第１駆動関連情報の受信部と、
前記第２駆動関連情報の送信部から送信された第２駆動関連情報を受信する第２駆動関連情報の受信部とを備え、
前記第１制御部は前記第２駆動関連情報の受信部により受信された第２駆動関連情報に基づいて前記第２車輪の駆動異常の有無を判定し、
前記第２制御部は前記第１駆動関連情報の受信部により受信された第１駆動関連情報に基づいて前記第１車輪の駆動異常の有無を判定する車椅子用電動装置。
【請求項２】
請求項１に記載の車椅子用電動装置であって、
前記第２駆動関連情報の送信部は、前記第２入力情報および前記第２出力情報を前記第２駆動関連情報として送信し、
前記第１制御部は、
前記第２駆動関連情報の受信部により受信された第２入力情報に基づいて前記第２出力情報を推定する第２出力情報の推定部と、
前記第２出力情報の推定部で推定された第２出力情報と前記第２駆動関連情報の受信部により受信された第２出力情報とに基づいて前記第２車輪の駆動異常の有無を判定する第２車輪の異常判定部と
を有する車椅子用電動装置。
【請求項３】
請求項１または２に記載の車椅子用電動装置であって、
前記第１駆動関連情報の送信部は、前記第１入力情報および前記第１出力情報を前記第１駆動関連情報として送信し、
前記第２制御部は、
前記第１駆動関連情報の受信部により受信された第１入力情報に基づいて前記第１出力情報を推定する第１出力情報の推定部と、
前記第１出力情報の推定部で推定された第１出力情報と前記第１駆動関連情報の受信部により受信された第１出力情報とに基づいて前記第１車輪の駆動異常の有無を判定する第１車輪の異常判定部と
を有する車椅子用電動装置。
【請求項４】
請求項１に記載の車椅子用電動装置であって、
前記第２駆動関連情報の送信部は、前記第２出力情報で前記第２車輪を駆動したときの前記第２車輪の回転速度および前記第２入力情報を前記第２駆動関連情報として送信し、
前記第１制御部は、
前記第２駆動関連情報の受信部により受信された前記第２入力情報に基づいて前記第２出力情報を計算し、計算された第２出力情報で駆動したときの前記第２車輪の回転速度を推定する第２回転速度の推定部と、
前記第２回転速度の推定部で推定された前記第２車輪の回転速度と前記第２駆動関連情報の受信部により受信された前記第２車輪の回転速度とに基づいて前記第２車輪の駆動異常の有無を判定する第２車輪の異常判定部と
を有する車椅子用電動装置。
【請求項５】
請求項１または４に記載の車椅子用電動装置であって、
前記第１駆動関連情報の送信部は、前記第１出力情報で前記第１車輪を駆動したときの前記第１車輪の回転速度および前記第１入力情報を前記第１駆動関連情報として送信し、
前記第２制御部は、
前記第１駆動関連情報の受信部により受信された前記第１入力情報に基づいて前記第１出力情報を計算し、計算された第１出力情報で駆動したときの前記第１車輪の回転速度を推定する第１回転速度の推定部と、
前記第１回転速度の推定部で推定された前記第１車輪の回転速度と前記第１駆動関連情報の受信部により受信された前記第１車輪の回転速度とに基づいて前記第１車輪の駆動異常の有無を判定する第１車輪の異常判定部と
を有する車椅子用電動装置。
【請求項６】
第１車輪を第１駆動部で駆動するとともに第２車輪を第２駆動部で駆動して車椅子を走行させる車椅子用電動装置であって、
前記第１車輪の駆動制御に関連する第１入力情報に基づいて第１出力情報を計算し、前記第１出力情報で前記第１駆動部を制御する第１制御部と、
前記第２車輪の駆動制御に関連する第２入力情報に基づいて第２出力情報を計算し、前記第２出力情報で前記第２駆動部を制御する第２制御部と、
前記第１入力情報および前記第１出力情報の少なくとも一部を、前記第１車輪の駆動に関連する第１駆動関連情報として送信する第１駆動関連情報の送信部と、
前記第２入力情報および前記第２出力情報の少なくとも一部を、前記第２車輪の駆動に関連する第２駆動関連情報として送信する第２駆動関連情報の送信部と、
前記第１駆動関連情報の送信部から送信された第１駆動関連情報を受信する第１駆動関連情報の受信部と、
前記第２駆動関連情報の送信部から送信された第２駆動関連情報を受信する第２駆動関連情報の受信部と、
ユーザによる走行指令を受け付ける操作部と、
前記操作部に与えられた指令に基づいて、前記第１車輪の回転指令を前記第１入力情報として出力するとともに前記第２車輪の回転指令を前記第２入力情報として出力して車椅子の走行を制御する第３制御部とを備え、
前記第３制御部は、前記第１駆動関連情報の受信部により受信された第１駆動関連情報に基づいて前記第１車輪の駆動異常の有無を判定するとともに、前記第２駆動関連情報の受信部により受信された第２駆動関連情報に基づいて前記第２車輪の駆動異常の有無を判定する車椅子用電動装置。
【請求項７】
請求項１ないし６のいずれか一項に記載の車椅子用電動装置であって、
前記第１制御部による前記第１車輪の駆動制御と、前記第２制御部による前記第２車輪の駆動制御とは同一の制御周期で実行されるのに対し、
前記第１駆動関連情報の送受信と、前記第１駆動関連情報に基づく前記第１車輪の駆動異常の有無判定と、前記第２駆動関連情報の送受信と、前記第２駆動関連情報に基づく前記第２車輪の駆動異常の有無判定とは、前記制御周期よりも長い周期で実行される車椅子用電動装置。
【請求項８】
請求項７に記載の車椅子用電動装置であって、
前記第１車輪の駆動異常の有無判定は、前記第１駆動関連情報の受信部により受信される複数の第１駆動関連情報の平均値に基づいて実行され、
前記第２車輪の駆動異常の有無判定は、前記第２駆動関連情報の受信部により受信される複数の第２駆動関連情報の平均値に基づいて実行される車椅子用電動装置。
【請求項９】
請求項１ないし８のいずれか一項に記載の車椅子用電動装置であって、
前記第１駆動関連情報の送信部と前記第１駆動関連情報の受信部との間での前記第１駆動関連情報の通信、ならびに前記第２駆動関連情報の送信部と前記第２駆動関連情報の受信部との間での前記第２駆動関連情報の通信はシリアルバスを介して行われる車椅子用電動装置。
【請求項１０】
請求項１ないし９のいずれか一項に記載の車椅子用電動装置により前記第１車輪および前記第２車輪を駆動して走行することを特徴とする電動車椅子。
【請求項１１】
第１制御部が第１車輪の駆動制御に関連する第１入力情報に基づいて計算した第１出力情報で前記第１車輪を駆動するとともに第２制御部が第２車輪の駆動制御に関連する第２入力情報に基づいて計算した第２出力情報で前記第２車輪を駆動して走行する電動車椅子の駆動監視方法であって、
前記第１入力情報および前記第１出力情報の少なくとも一部を、前記第１車輪の駆動に関連する第１駆動関連情報として送信する工程と、
前記第２入力情報および前記第２出力情報の少なくとも一部を、前記第２車輪の駆動に関連する第２駆動関連情報として送信する工程と、
送信された第１駆動関連情報を受信するとともに、送信された第２駆動関連情報を受信する工程と、
受信された第２駆動関連情報に基づいて前記第１制御部が前記第２車輪の駆動異常の有無を判定するとともに、受信された第１駆動関連情報に基づいて前記第２制御部が前記第１車輪の駆動異常の有無を判定する工程と
を備えることを特徴とする電動車椅子の駆動監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車椅子のユーザにより与えられた回転指令に応じた動力を車輪に加えて車椅子を動作させる技術に関するものである。
【背景技術】
【０００２】
従来、車椅子の乗員や介助者等のユーザにより回転指令が加えられた場合に、その回転指令に応じた動力を車輪に加えて車輪を駆動させる車椅子が知られている。例えば、特許文献１に記載の車椅子では、ユーザによる回転指令の一例として左右の車輪のそれぞれに対して乗員が加えた力を検出し、この検出値に基づいてコントローラにより補助動力が計算され、補助動力に応じた電流値が各車輪の駆動モータに加えられる。すなわち、車輪の駆動制御に関連する入力情報（例えば、ここでは各車輪に対して乗員が加えた力および各車輪の回転速度）に基づいて、車輪の駆動モータを制御するための出力情報（例えば、ここでは駆動モータに印加する電流値）をコントローラが計算し、当該出力情報に基づいて各車輪を駆動する構成となっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−２１５７１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような車椅子において、例えばコントローラに不具合があると、入力情報に基づいた出力情報の計算が適切に行われないことがあった。そうすると、不適切な出力情報に基づいて車輪を駆動することになる。あるいは、出力情報が適切に計算された場合であっても、いずれかの車輪が路上に存在する障害物や凹凸等の影響を受ける場合には、当該車輪を適切に駆動することが困難となることもある。そこで、各車輪の駆動状態を監視することが望まれるが、従来ではこのようなニーズに対応する技術はなかった。【０００５】
この発明は、上記課題に鑑みなされたものであり、入力情報に基づいて計算される出力情報に応じて各車輪が駆動される車椅子において、各車輪の駆動状態を監視可能な技術を提供することにある。
【課題を解決するための手段】
【０００６】
この発明にかかる車椅子用電動装置は、第１車輪を第１駆動部で駆動するとともに第２車輪を第２駆動部で駆動して車椅子を走行させる車椅子用電動装置であって、第１車輪の駆動制御に関連する第１入力情報に基づいて第１出力情報を計算し、第１出力情報で第１駆動部を制御する第１制御部と、第２車輪の駆動制御に関連する第２入力情報に基づいて第２出力情報を計算し、第２出力情報で第２駆動部を制御する第２制御部と、第１入力情報および第１出力情報の少なくとも一部を、第１車輪の駆動に関連する第１駆動関連情報として送信する第１駆動関連情報の送信部と、第２入力情報および第２出力情報の少なくとも一部を、第２車輪の駆動に関連する第２駆動関連情報として送信する第２駆動関連情報の送信部と、第１駆動関連情報の送信部から送信された第１駆動関連情報を受信する第１駆動関連情報の受信部と、第２駆動関連情報の送信部から送信された第２駆動関連情報を受信する第２駆動関連情報の受信部とを備え、第１駆動関連情報の受信部により受信された第１駆動関連情報に基づいて第１車輪の駆動異常の有無を判定するとともに、第２駆動関連情報の受信部により受信された第２駆動関連情報に基づいて第２車輪の駆動異常の有無を判定することを特徴としている。【０００７】
また、この発明にかかる電動車椅子は、上記の車椅子用電動装置により第１車輪および第２車輪を駆動して走行することを特徴としている。【０００８】
また、この発明にかかる駆動監視方法は、第１車輪の駆動制御に関連する第１入力情報に基づいて計算される第１出力情報で第１車輪を駆動するとともに第２車輪の駆動制御に関連する第２入力情報に基づいて計算される第２出力情報で第２車輪を駆動して走行する電動車椅子の駆動監視方法であって、第１入力情報および第１出力情報の少なくとも一部を、第１車輪の駆動に関連する第１駆動関連情報として送信する工程と、第２入力情報および第２出力情報の少なくとも一部を、第２車輪の駆動に関連する第２駆動関連情報として送信する工程と、送信された第１駆動関連情報を受信して当該第１駆動関連情報に基づいて第１車輪の駆動異常の有無を判定するとともに、送信された第２駆動関連情報を受信して当該第２駆動関連情報に基づいて第２車輪の駆動異常の有無を判定する工程とを備えることを特徴としている。【０００９】
このように構成された発明（車椅子用電動装置、当該車椅子用電動装置を備えた電動車椅子、および電動車椅子の駆動監視方法）では、第１駆動関連情報の送信部と、第１駆動関連情報の受信部とが設けられている。この第１駆動関連情報は、第１入力情報および第１出力情報の少なくとも一部を含むものであり、第１車輪の駆動に関連する情報として上記送信部および受信部との間でやり取りされる。そして、第１駆動関連情報に基づいて第１車輪の駆動異常の有無が判定される。一方、第２車輪側についても、第１車輪側と同様に、第２駆動関連情報の送信部と、第２駆動関連情報の受信部とが設けられており、第２入力情報および第２出力情報の少なくとも一部が第２車輪の駆動に関連する第２駆動関連情報として上記送信部および受信部との間でやり取りされる。そして、第２駆動関連情報に基づいて第２車輪の駆動異常の有無が判定される。このように、本発明では、第１車輪および第２車輪の駆動状態が監視される。【００１０】
本発明にかかる車椅子用電動装置において、第１制御部は第２駆動関連情報の受信部により受信された第２駆動関連情報に基づいて第２車輪の駆動異常の有無を判定し、第２制御部は第１駆動関連情報の受信部により受信された第１駆動関連情報に基づいて第１車輪の駆動異常の有無を判定するように構成してもよい。かかる構成によれば、第１制御部および第２制御部が互いに相手側の車輪の駆動異常の有無を判定する。そのため、各車輪の駆動異常の有無を判定する制御部を別途設ける必要がなく、簡易な装置構成で各車輪の駆動状態を監視することができる。【００１１】
また、第２駆動関連情報の送信部は、第２入力情報および第２出力情報を第２駆動関連情報として送信し、第１制御部は、第２駆動関連情報の受信部により受信された第２入力情報に基づいて第２出力情報を推定する第２出力情報の推定部と、第２出力情報の推定部で推定された第２出力情報と第２駆動関連情報の受信部により受信された第２出力情報とに基づいて第２車輪の駆動異常の有無を判定する第２車輪の異常判定部とを有するように構成してもよい。かかる構成によれば、例えば第２出力情報の計算に不具合があった場合に第２車輪に発生し得る駆動異常を第１制御部により検出することが可能となる。【００１２】
同様に、第１駆動関連情報の送信部は、第１入力情報および第１出力情報を第１駆動関連情報として送信し、第２制御部は、第１駆動関連情報の受信部により受信された第１入力情報に基づいて第１出力情報を推定する第１出力情報の推定部と、第１出力情報の推定部で推定された第１出力情報と第１駆動関連情報の受信部により受信された第１出力情報とに基づいて第１車輪の駆動異常の有無を判定する第１車輪の異常判定部とを有するように構成してもよい。かかる構成によれば、例えば第１出力情報の計算に不具合があった場合に第１車輪に発生し得る駆動異常を第２制御部により検出することが可能となる。【００１３】
また、第２駆動関連情報の送信部は、第２出力情報で第２車輪を駆動したときの第２車輪の回転速度および第２入力情報を第２駆動関連情報として送信し、第１制御部は、第２駆動関連情報の受信部により受信された第２入力情報に基づいて第２出力情報を計算し、計算された第２出力情報で駆動したときの第２車輪の回転速度を推定する第２回転速度の推定部と、第２回転速度の推定部で推定された第２車輪の回転速度と第２駆動関連情報の受信部により受信された第２車輪の回転速度とに基づいて第２車輪の駆動異常の有無を判定する第２車輪の異常判定部とを有するように構成してもよい。かかる構成によれば、例えば路上に存在する障害物や凹凸等の影響により、第２車輪が第２制御部からの第２出力情報に応じた回転速度とならず、第２車輪に駆動異常が発生している場合に、当該異常を第１制御部により検出することができる。【００１４】
同様に、第１駆動関連情報の送信部は、第１出力情報で第１車輪を駆動したときの第１車輪の回転速度および第１入力情報を第１駆動関連情報として送信し、第２制御部は、第１駆動関連情報の受信部により受信された第１入力情報に基づいて第１出力情報を計算し、計算された第１出力情報で駆動したときの第１車輪の回転速度を推定する第１回転速度の推定部と、第１回転速度の推定部で推定された第１車輪の回転速度と第１駆動関連情報の受信部により受信された第１車輪の回転速度とに基づいて第１車輪の駆動異常の有無を判定する第１車輪の異常判定部とを有するように構成してもよい。かかる構成によれば、例えば路上に存在する障害物や凹凸等の影響により、第１車輪が第１制御部からの第１出力情報に応じた回転速度とならず、第１車輪に駆動異常が発生している場合に、当該異常を第２制御部により検出することができる。【００１５】
また、ユーザによる走行指令を受け付ける操作部と、操作部に与えられた指令に基づいて、第１車輪の回転指令を第１入力情報として出力するとともに第２車輪の回転指令を第２入力情報として出力して車椅子の走行を制御する第３制御部とを備え、第３制御部は、第１駆動関連情報の受信部により受信された第１駆動関連情報に基づいて第１車輪の駆動異常の有無を判定するとともに、第２駆動関連情報の受信部により受信された第２駆動関連情報に基づいて第２車輪の駆動異常の有無を判定するように構成することも可能である。このように、第１制御部および第２制御部以外に別途設けられた第３制御部により第１車輪および第２車輪の駆動異常の有無を判定することで、第１制御部および第２制御部のいずれにも不具合があった場合でも、各車輪の駆動異常をより確実に検出することが可能となる。【００１６】
また、第１制御部による第１車輪の駆動制御と、第２制御部による第２車輪の駆動制御とは同一の制御周期で実行されるのに対し、第１駆動関連情報の送受信と、第１駆動関連情報に基づく第１車輪の駆動異常の有無判定と、第２駆動関連情報の送受信と、第２駆動関連情報に基づく第２車輪の駆動異常の有無判定とは、制御周期よりも長い周期で実行されるようにしてもよい。このように、第１車輪および第２車輪の駆動制御を行う制御周期よりも長い周期で第１車輪および第２車輪の駆動異常の有無判定を行うことで、駆動異常の有無判定に関わる各情報の通信や演算の負荷を低減することができる。【００１７】
このとき、第１車輪の駆動異常の有無判定は、第１駆動関連情報の受信部により受信される複数の第１駆動関連情報の平均値に基づいて実行され、第２車輪の駆動異常の有無判定は、第２駆動関連情報の受信部により受信される複数の第２駆動関連情報の平均値に基づいて実行されてもよい。このように、各車輪の駆動異常の有無判定を、複数の駆動関連情報の平均値に基づいて実行することで、例えば一部の駆動関連情報にノイズが加わっているような場合でも、そのノイズの影響を低減して駆動異常の有無判定をより適切に行うことができる。【００１８】
なお、例えば、第１駆動関連情報の送信部と第１駆動関連情報の受信部との間での第１駆動関連情報の通信、ならびに第２駆動関連情報の送信部と第２駆動関連情報の受信部との間での第２駆動関連情報の通信はシリアルバスを介して行うことが可能である。
【図面の簡単な説明】
【００１９】
【図１】本発明にかかる電動車椅子の一例を示す側面図である。
【図２】図１の電動車椅子の平面図である。
【図３】第１実施形態における電動車椅子の電気的構成を示すブロック図である。
【図４】各車輪の駆動制御の第１例を示すフローチャートである。
【図５】各車輪の異常判定の第１例を示すフローチャートである。
【図６】各車輪の駆動制御および異常判定の実行タイミングを模式的に示す図である。
【図７】各車輪の駆動制御の第２例を示すフローチャートである。
【図８】各車輪の異常判定の第２例を示すフローチャートである。
【図９】第２実施形態における電動車椅子の電気的構成を示すブロック図である。
【図１０】第２実施形態における各車輪の駆動制御を示すフローチャートである。
【図１１】第２実施形態における各車輪の異常判定を示すフローチャートである。
【図１２】第３実施形態における各車輪の異常判定を示すフローチャートである。
【発明を実施するための形態】
【００２０】
［第１実施形態］
図１は、本発明にかかる電動車椅子の一例を示す側面図である。図２は、図１の電動車椅子の平面図である。図３は、第１実施形態における電動車椅子の電気的構成を示すブロック図である。第１実施形態にかかる電動車椅子１は、乗員が車輪に対する操作を行った場合に、当該操作に応じた補助動力を車輪に加えるものである。電動車椅子１は、左右一対の車輪２Ｌ、２Ｒと、パイプ枠状のフレーム３と、左右一対のキャスタ４Ｌ、４Ｒとを有している。
【００２１】
フレーム３の中央部には布製のシート５（図２）が張設され、このシート５に乗員が着座可能となっている。このフレーム３は複数のアームを有している。それらのうち左右一対のハンドルアーム３ｂはフレーム３の後方部で立設されている。各ハンドルアーム３ｂの上端部は後方に折曲され、その折曲部に対して介助者用のグリップ７が取り付けられている。
【００２２】
各ハンドルアーム３ｂの中間高さ位置から車体前方にアーム３ｃが車体前方に水平に延びている。このように設けられた左右一対のアーム３ｃの前端部は略直角に折り曲げられて垂直下方に延びている。そして、左右アーム３ｃの下端部に対してキャスタ４Ｌ、４Ｒがそれぞれ回転自在に支持されている。
【００２３】
左右アーム３ｃの下方には、左右一対のアーム３ｄが配置されている。各アーム３ｄの前方部分は車体前方に向かって斜め下方に延出されており、各延出端（前端部）にステップ９が取り付けられている。こうして左右一対のステップ９が設けられ、乗員の足置きとして機能する。
【００２４】
キャスタ４Ｌ、４Ｒの後方側で、車輪２Ｌ、２Ｒがそれぞれフレーム３の左右部に対して着脱自在に取り付けられ、キャスタ４Ｌ、４Ｒと協働してフレーム３を移動自在に支持する。図示を省略するが、各車輪２Ｌ、２Ｒはフレーム３に溶接されたボス部に支持された車軸にボールベアリングを介して回転自在に支承されている。なお、以下の説明では、車輪２Ｌを左輪２Ｌ、車輪２Ｒを右輪２Ｒと適宜表記する。
【００２５】
左輪２Ｌの外側には、リング状の左側ハンドリム１３Ｌが設けられ、乗員による左輪２Ｌの手動操作を可能としている。また、当該左側ハンドリム１３Ｌを乗員が操作することで左輪２Ｌに加えられるトルクを検出するトルクセンサ１４Ｌ（図３）が設けられ、トルク値に応じた信号が左輪２Ｌを制御する左輪コントローラ３０Ｌ（図３）に出力される。一方、左輪２Ｌの内側には、左輪２Ｌに補助動力を与えるための駆動モータ２１Ｌと、左輪コントローラ３０Ｌとが設けられている。左輪コントローラ３０Ｌは駆動モータ２１Ｌを制御して左輪２Ｌに与えられる補助動力を調整する。
【００２６】
また、右輪２Ｒに対しても、左輪２Ｌと同様に、外側に右側ハンドリム１３Ｒが設けられて乗員による右輪２Ｒの手動操作を可能とするとともに、内側に駆動モータ２１Ｒおよび右輪コントローラ３０Ｒ（図３）が設けられて右輪２Ｒへの補助動力の調整が可能となっている。また、乗員が右側ハンドリム１３Ｒを手動操作した際に、右輪２Ｒに加えられるトルクをトルクセンサ１４Ｒ（図３）が検出し、その検出値に応じた信号が右輪コントローラ３０Ｒに出力される。なお、車輪に対するハンドリムおよび駆動モータの取り付け構造の詳細については、例えば特許文献１に詳述されているため、ここでは上記構造の説明については省略する。
【００２７】
駆動モータ２１Ｌ、２１Ｒおよびコントローラ３０Ｌ、３０Ｒへの電力供給を行うために、バッテリ２２が電動車椅子１に搭載されている。本実施形態では、当該バッテリ２２は右輪２Ｒの近傍位置で着脱可能に取り付けられ、駆動モータ２１Ｒおよび右輪コントローラ３０Ｒに直接的に給電する。また、車体（フレーム）３にワイヤーハーネス２３が右輪２Ｒ側から左輪２Ｌ側に設置されており、バッテリ２２はワイヤーハーネス２３を介して駆動モータ２１Ｌおよび左輪コントローラ３０Ｌに給電する。
【００２８】
次に、左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒの構成について図３を参照しつつ説明する。左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒは、同様の構成を具備しているため、ここでは左輪コントローラ３０Ｌの説明のみ行い、右輪コントローラ３０Ｒの説明については省略する。
【００２９】
左輪コントローラ３０Ｌは、マイコン３１と、不揮発性メモリ３２と、モータ出力Ｉ／Ｆ３３と、エンコーダＩ／Ｆ３４と、トルクセンサＩ／Ｆ３５と、右輪コントローラ３０Ｒとの間で通信を行うための通信Ｉ／Ｆ３６とを備えており、スイッチ３７Ｌによってオン・オフが可能となっている。マイコン３１は、ＣＰＵ等からなる制御部３１１およびＲＡＭ等からなる記憶部３１２を有しており、乗員により左側ハンドリム１３Ｌに加えられた力（トルク）や左輪２Ｌの回転速度に基づいて駆動モータ２１Ｌに印加すべき電流値を計算し、当該電流値で駆動モータ２１Ｌを駆動する。
【００３０】
より具体的には、乗員により左側ハンドリム１３Ｌに加えられたトルクは、トルクセンサ１４Ｌによる検出信号がトルクセンサＩ／Ｆ３５を介してマイコン３１に入力されることで求められる。また、左輪２Ｌの回転速度は、駆動モータ２１Ｌに取り付けられたエンコーダ２４Ｌによる検出信号がエンコーダＩ／Ｆ３４を介してマイコン３１に入力されることで求められる。このようにして求められたトルクや回転速度は記憶部３１２に一時的に記憶される。そして、記憶部３１２に記憶されたトルクや回転速度と、不揮発性メモリ３２に記憶されている所定のプログラムやデータ等とに基づいて、制御部３１１が駆動モータ２１Ｌに印加すべき電流値を上記プログラムに含まれる計算式にしたがって計算し、当該電流値にかかる信号がモータ出力Ｉ／Ｆ３３を介して駆動モータ２１Ｌに出力される。なお、制御部３１１で計算された電流値も記憶部３１２に一時的に記憶される。
【００３１】
このように、本実施形態では、左輪コントローラ３０Ｌの制御部３１１は、左輪２Ｌの駆動制御に関連する入力情報として、左側ハンドリム１３Ｌに加えられたトルクおよび左輪２Ｌの回転速度を利用する。そして、制御部３１１は、駆動モータ２１Ｌを制御する出力情報として、上記入力情報に基づいて駆動モータ２１Ｌに印加すべき電流値を計算する。このような左輪コントローラ３０Ｌによる左輪２Ｌの駆動制御と同様の制御が、右輪コントローラ３０Ｒにより右輪２Ｒに対して実行される。
【００３２】
ここで、左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒにはそれぞれ通信Ｉ／Ｆ３６が設けられており、各通信Ｉ／Ｆ３６がシリアルバスの一種であるＣＡＮバス４１に接続されることで、左輪コントローラ３０Ｌと右輪コントローラ３０Ｒとの間で相互に上述の入力情報や出力情報を送受信することが可能となっている。そして、相互に送受信された入力情報や出力情報に基づいて、左輪コントローラ３０Ｌが右輪２Ｒに関する駆動異常の有無を、右輪コントローラ３０Ｒが左輪２Ｌに関する駆動異常の有無をそれぞれ監視するよう構成されている。
【００３３】
＜駆動制御および異常判定の第１例＞
続いて、各コントローラ３０Ｌ、３０Ｒで実行される各車輪２Ｌ、２Ｒの駆動制御および駆動異常の有無の判定（以下、「異常判定」と称する）の第１例について説明する。図４は、各車輪の駆動制御の第１例を示すフローチャートであり、図５は、各車輪の異常判定の第１例を示すフローチャートである。図４に示すように、左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒで実行される駆動制御は基本的に同様であるので、ここでは左輪コントローラ３０Ｌによる左輪２Ｌの駆動制御についてのみ説明し、右輪コントローラ３０Ｒによる右輪２Ｒの駆動制御についての説明は省略する。なお、本実施形態では、後で詳細に説明するが、左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒでは同周期Ｔ１により同じタイミングで駆動制御が実行されるとともに、同周期Ｔ２により同じタイミングで異常判定が実行される。
【００３４】
まず、左輪コントローラ３０Ｌの制御部３１１は、前回の駆動制御から駆動制御の実行周期である時間Ｔ１が経過したか否かを判断する（ステップＳ１１）。時間Ｔ１が経過していれば、制御部３１１は、トルクセンサＩ／Ｆ３５から入力される信号に基づいて、乗員により左側ハンドリム１３Ｌに加えられたトルクを求めて、このトルクを記憶部３１２に記憶する（ステップＳ１２）。続いて、制御部３１１は、エンコーダＩ／Ｆ３４から入力される信号に基づいて、左輪２Ｌの回転速度を求めて、この回転速度を記憶部３１２に記憶する（ステップＳ１３）。そして、記憶部３１２に記憶されている上記トルクや回転速度、および不揮発性メモリ３２に格納されている所定のプログラムやデータ等に基づいて、左輪駆動モータ２１Ｌに印加すべき電流値ＣＬを計算し、この電流値ＣＬを記憶部３１２に記憶する（ステップＳ１４）。
【００３５】
次に、前回の異常判定から異常判定の実行周期である時間Ｔ２が経過したか否かを判断する（ステップＳ１５）。ここでの異常判定とは、左輪コントローラ３０Ｌによって右輪２Ｒの駆動異常の有無を判定することを指す。後で詳細に説明するが、異常判定の実行周期Ｔ２は駆動制御の実行周期Ｔ１よりも長く設定されており、異常判定を実行する頻度は駆動制御を実行する頻度よりも低くなっている。前回の異常判定から時間Ｔ２が経過している場合には異常判定を実行する（ステップＳ１６）。一方、前回の異常判定から時間Ｔ２が経過していない場合には、異常判定を実行することなく、左輪駆動モータ２１ＬにステップＳ１４で求めた電流値ＣＬを印加することで左輪２Ｌを駆動する（ステップＳ１７）。その後、ステップＳ１１に戻り、ステップＳ１１〜Ｓ１７が繰り返される。
【００３６】
このように左輪コントローラ３０Ｌで行われる駆動制御が、右輪コントローラ３０Ｒでも同様に実行される（ステップＳ２１〜Ｓ２７）。その結果、ステップＳ１６、Ｓ２６において異常判定を実行する際には、左輪コントローラ３０Ｌの記憶部３１２には、左輪２Ｌの駆動制御に関連する入力情報として左側ハンドリム１３Ｌに加えられたトルクおよび左輪２Ｌの回転速度が記憶され、左輪駆動モータ２１Ｌを制御する出力情報として左輪駆動モータ２１Ｌに印加すべき電流値ＣＬが記憶された状態となっている。同様に、右輪コントローラ３０Ｒの記憶部３１２には、右輪２Ｒの駆動制御に関連する入力情報として右側ハンドリム１３Ｒに加えられたトルクおよび右輪２Ｒの回転速度が記憶され、右輪駆動モータ２１Ｒを制御する出力情報として右輪駆動モータ２１Ｒに印加すべき電流値ＣＲが記憶された状態となっている。そして、各コントローラ３０Ｌ、３０Ｒによる異常判定は、各記憶部３１２に記憶されているこれら入力情報および出力情報を、各通信Ｉ／Ｆ３６およびＣＡＮバス４１を介して左右のコントローラ３０Ｌ、３０Ｒの間で互いに送受信することで実行される。
【００３７】
続いて、図５を参照しつつ、各コントローラ３０Ｌ、３０Ｒによる異常判定の流れについて説明する。本実施形態では、まず左輪コントローラ３０Ｌによる右輪２Ｒの異常判定が行われた後、続いて右輪コントローラ３０Ｒによる左輪２Ｌの異常判定が実行される。左輪コントローラ３０Ｌによる右輪２Ｒの異常判定を行うために、右側ハンドリム１３Ｒに入力されたトルクが右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６から送信され（ステップＳ２０１）、この送信されたトルクがＣＡＮバス４１を経由して左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６にて受信され、記憶部３１２に記憶される（ステップＳ１０１）。続いて、右輪２Ｒの回転速度が右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６から送信され（ステップＳ２０２）、この送信された回転速度がＣＡＮバス４１を経由して左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６にて受信され、記憶部３１２に記憶される（ステップＳ１０２）。
【００３８】
左輪コントローラ３０Ｌが右側ハンドリム１３Ｒに入力されたトルクおよび右輪２Ｒの回転速度を受信すると、これらを入力情報として、左輪コントローラ３０Ｌの制御部３１１は右輪駆動モータ２１Ｒに印加すべき電流値ＣＲａを計算し、その結果を記憶部３１２に記憶する（ステップＳ１０３）。この電流値ＣＲａの計算に当たっては、左輪２Ｌ用の電流値ＣＬを計算する際に用いた計算式を使用する。もちろん、電流値ＣＲａ用の計算式を別途準備しておき、当該計算式を用いてもよい。その後、上記入力情報に基づいて右輪コントローラ３０Ｒの制御部３１１が図４のステップＳ２４にて既に計算した電流値ＣＲが、右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６から送信される（ステップＳ２０３）。そして、右輪コントローラ３０Ｒから送信された電流値ＣＲが、ＣＡＮバス４１を介して左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６にて受信され、記憶部３１２に記憶される（ステップＳ１０４）。
【００３９】
次に、左輪コントローラ３０Ｌの制御部３１１は、右輪コントローラ３０Ｒで計算された電流値ＣＲと左輪コントローラ３０Ｌで計算された電流値ＣＲａとの差の絶対値が所定の閾値未満であるか否かを判断する（ステップＳ１０５）。当該差の絶対値が閾値以上であった場合には、右輪コントローラ３０Ｒで計算された電流値ＣＲに異常があったと考えられるため、左輪コントローラ３０Ｌはその結果を右輪コントローラ３０Ｒに送る。そして、この結果を受けた右輪コントローラ３０Ｒは、右輪駆動モータ２１Ｒに印加する電流値を制御することで、右輪２Ｒの回転速度を減速させて、最終的に右輪２Ｒを停止させる。これとともに、左輪コントローラ３０Ｌも、左輪駆動モータ２１Ｌに印加する電流値を制御することで、左輪２Ｌの回転速度を減速させて、最終的に左輪２Ｌを停止させる（ステップＳ１０９）。
【００４０】
このように、右輪コントローラ３０Ｒで計算された電流値ＣＲに異常があり、右輪２Ｒに駆動異常が発生すると判断される場合には、各車輪２Ｌ、２Ｒを減速させて最終的に電動車椅子１を停止させる。
【００４１】
ステップＳ１０５にて、電流値ＣＲとＣＲａとの差の絶対値が閾値未満であった場合には、引き続き、右輪コントローラ３０Ｒによる左輪２Ｌの異常判定が実行される。まず、左側ハンドリム１３Ｌに入力されたトルクが左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６から送信され（ステップＳ１０６）、この送信されたトルクがＣＡＮバス４１を経由して右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６にて受信され、記憶部３１２に記憶される（ステップＳ２０４）。続いて、左輪２Ｌの回転速度が左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６から送信され（ステップＳ１０７）、この送信された回転速度がＣＡＮバス４１を経由して右輪コントローラ３０Ｌの通信Ｉ／Ｆ３６にて受信され、記憶部３１２に記憶される（ステップＳ２０５）。
【００４２】
右輪コントローラ３０Ｒが左側ハンドリム１３Ｌに入力されたトルクおよび左輪２Ｌの回転速度を受信すると、これらを入力情報として、右輪コントローラ３０Ｒの制御部３１１は左輪駆動モータ２１Ｌに印加すべき電流値ＣＬａを計算し、その結果を記憶部３１２に記憶する（ステップＳ２０６）。この電流値ＣＬａの計算に当たっては、右輪２Ｒ用の電流値ＣＲを計算する際に用いた計算式を使用する。もちろん、電流値ＣＬａ用の計算式を別途準備しておき、当該計算式を用いてもよい。その後、上記入力情報に基づいて左輪コントローラ３０Ｌの制御部３１１が図４のステップＳ１４にて既に計算した電流値ＣＬが、左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６から送信される（ステップＳ１０８）。そして、左輪コントローラ３０Ｌから送信された電流値ＣＬが、ＣＡＮバス４１を介して右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６にて受信され、記憶部３１２に記憶される（ステップＳ２０７）。
【００４３】
次に、右輪コントローラ３０Ｒの制御部３１１は、左輪コントローラ３０Ｌで計算された電流値ＣＬと右輪コントローラ３０Ｒで計算された電流値ＣＬａとの差の絶対値が所定の閾値未満であるか否かを判断する（ステップＳ２０８）。当該差の絶対値が閾値以上であった場合には、左輪コントローラ３０Ｌで計算された電流値ＣＬに異常があったと考えられるため、右輪コントローラ３０Ｒはその結果を左輪コントローラ３０Ｌに送る。そして、この結果を受けた左輪コントローラ３０Ｌは、左輪駆動モータ２１Ｌに印加する電流値を制御することで、左輪２Ｌの回転速度を減速させて、最終的に左輪２Ｌを停止させる。これとともに、右輪コントローラ３０Ｒも、右輪駆動モータ２１Ｒに印加する電流値を制御することで、右輪２Ｒの回転速度を減速させて、最終的に右輪２Ｒを停止させる（ステップＳ１０９）。
【００４４】
このように、左輪コントローラ３０Ｌで計算された電流値ＣＬに異常があり、左輪２Ｌに駆動異常が発生すると判断される場合には、各車輪２Ｌ、２Ｒを減速させて最終的に電動車椅子１を停止させる。
【００４５】
ステップＳ２０８にて、電流値ＣＬとＣＬａとの差の絶対値が閾値未満であった場合には、ステップＳ１０５における左輪コントローラ３０Ｌによる右輪２Ｒの異常判定、およびステップＳ２０８における右輪コントローラ３０Ｒによる左輪２Ｌの異常判定のいずれにおいても、異常がなかったと判定されたことになる。よって、各制御部３１１は異常判定を終了し、図４のステップＳ１７、Ｓ２７にそれぞれ戻って、左輪駆動モータ２１Ｌに電流値ＣＬを印加するとともに、右輪駆動モータ２１Ｒに電流値ＣＲを印加する。
【００４６】
以上の各車輪２Ｌ、２Ｒの異常判定の第１例によれば、左輪コントローラ３０Ｌによる右輪２Ｒの異常判定においては、右輪コントローラ３０Ｒの制御部３１１で入力情報（右側ハンドリム１３Ｒに入力されたトルクおよび右輪２Ｒの回転速度）に基づいて出力情報（電流値ＣＲ）が計算されるとともに、左輪コントローラ３０Ｌの制御部３１１で上記入力情報に基づいて出力情報（電流値ＣＲａ）が推定される。そして、右輪コントローラ３０Ｒおよび左輪コントローラ３０Ｌのそれぞれの制御部３１１で求められた電流値ＣＲ、ＣＲａに基づいて右輪２Ｒの駆動異常の有無が判定されるので、例えば右輪コントローラ３０Ｒに不具合があって電流値ＣＲが適切に計算できなかった場合等に右輪２Ｒに発生し得る駆動異常を検出することが可能となる。
【００４７】
同様に、右輪コントローラ３０Ｒによる左輪２Ｌの異常判定においては、左輪コントローラ３０Ｌの制御部３１１で入力情報（左側ハンドリム１３Ｌに入力されたトルクおよび左輪２Ｌの回転速度）に基づいて出力情報（電流値ＣＬ）が計算されるとともに、右輪コントローラ３０Ｒの制御部３１１で上記入力情報に基づいて出力情報（電流値ＣＬａ）が推定される。そして、左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒのそれぞれの制御部３１１で求められた電流値ＣＬ、ＣＬａに基づいて左輪２Ｌの駆動異常の有無が判定されるので、例えば左輪コントローラ３０Ｌに不具合があって電流値ＣＬが適切に計算できなかった場合等に左輪２Ｌに発生し得る駆動異常を検出することが可能となる。
【００４８】
ここで、各コントローラ３０Ｌ、３０Ｒで各車輪２Ｌ、２Ｒの駆動制御および異常判定を実行するタイミングについて詳細に説明する。図６は、各車輪の駆動制御および異常判定の実行タイミングを模式的に示す図である。本実施形態では、各車輪２Ｌ、２Ｒの駆動制御は、制御周期Ｔ１ごとに同じタイミングで実行される。一方、各車輪２Ｌ、２Ｒの異常判定は、制御周期Ｔ１の２倍の時間である周期Ｔ２ごとに同じタイミングで実行される。さらに、周期Ｔ２ごとに実行される各車輪２Ｌ、２Ｒの異常判定は、駆動制御と同じタイミングで実行される。すなわち、制御周期Ｔ１ごとに実行される駆動制御は、異常判定の実行を伴う場合と異常判定の実行を伴わない場合とを交互に繰り返すことになる。このように、各車輪２Ｌ、２Ｒの駆動制御を行う制御周期Ｔ１よりも長い周期Ｔ２で各車輪２Ｌ、２Ｒの駆動異常の有無判定を行うことで、駆動異常の有無判定に関わる各情報の通信や演算の負荷を低減することができる。
【００４９】
ところで、異常判定を実行する際、右輪コントローラ３０Ｒで計算された電流値と左輪コントローラ３０Ｌで計算された電流値との差の絶対値が所定の閾値に収まっているか否かで異常の有無が判定される（図５のステップＳ１０５、Ｓ２０８参照）が、この判定を複数の電流値に基づいて行ってもよい。以下、図６を参照しつつ、具体的に説明する。
【００５０】
ここで、図６に記載されている時刻ｔ（ｎ−４）、ｔ（ｎ−３）、ｔ（ｎ−２）、ｔ（ｎ−１）、ｔ（ｎ）は互いの時間間隔がＴ１となっており、これら各時刻において各車輪２Ｌ、２Ｒの駆動制御が実行される。一方、これらの時刻のうち、互いの時間間隔がＴ２である時刻ｔ（ｎ−４）、ｔ（ｎ−２）、ｔ（ｎ）には、各車輪２Ｌ、２Ｒの駆動制御とともに異常判定が実行される。このとき、例えば時刻ｔ（ｎ）において左輪コントローラ３０Ｌによる右輪２Ｒの異常判定を実行する場合に、時刻ｔ（ｎ）に実行される異常判定で左輪コントローラ３０Ｌにより計算された電流値ＣＲａに加えて、時刻ｔ（ｎ−４）、ｔ（ｎ−２）に実行された前回および前々回の異常判定で計算された電流値ＣＲａをも加味し、これら３つの電流値ＣＲａの平均値を用いて異常判定を行ってもよい。
【００５１】
この場合には、右輪コントローラ３０Ｒによって計算される電流値ＣＲについても、時刻ｔ（ｎ−４）、ｔ（ｎ−２）、ｔ（ｎ）に実行される駆動制御において右輪コントローラ３０Ｒによって計算された３つの電流値ＣＲの平均値を求め、上述の電流値ＣＲａの平均値との差の絶対値を閾値と比較すればよい。右輪コントローラ３０Ｒによる左輪２Ｌの異常判定についても、同様に複数の電流値の平均値を用いて行ってもよい。このように、各車輪２Ｌ、２Ｒの駆動異常の有無判定を、複数の電流値の平均値に基づいて実行することで、例えば一部の電流値にノイズが加わっているような場合でも、そのノイズの影響を低減して駆動異常の有無判定をより適切に行うことができる。なお、このように複数の値の平均値を用いて異常判定を行うことは、以降に説明する各実施形態においても適用することができる。
【００５２】
＜駆動制御および異常判定の第２例＞
次に、各コントローラ３０Ｌ、３０Ｒで実行される各車輪２Ｌ、２Ｒの駆動制御および異常判定の第２例について説明する。図７は、各車輪の駆動制御の第２例を示すフローチャートであり、図８は、各車輪の異常判定の第２例を示すフローチャートである。図７に示すように、左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒで実行される駆動制御は基本的に同様であるので、ここでは左輪コントローラ３０Ｌによる左輪２Ｌの駆動制御についてのみ説明し、右輪コントローラ３０Ｒによる右輪２Ｒの駆動制御についての説明は省略する。
【００５３】
駆動制御の第２例におけるステップＳ３１〜Ｓ３４は、第１例のステップＳ１１〜Ｓ１４（図４）と同様である。すなわち、左側ハンドリム１３Ｌに加えられたトルクおよび左輪２Ｌの回転速度に基づいて、左輪駆動モータ２１Ｌに印加すべき電流値ＣＬを計算するところまでは第１例と同様である。ただし、その後、第１例では電流値ＣＬを印加する前に異常判定を行っていたのに対し、第２例では電流値ＣＬを印加した後に異常判定を行う点が異なる。つまり、駆動制御の第２例では、ステップＳ３４にて左輪駆動モータ２１Ｌに印加すべき電流値ＣＬが計算されると、続くステップＳ３５にて当該電流値ＣＬが左輪駆動モータ２１Ｌに印加される。
【００５４】
次に、前回の異常判定から異常判定の実行周期である時間Ｔ２が経過したか否かを判断する（ステップＳ３６）。前回の異常判定から時間Ｔ２が経過している場合には、左輪駆動モータ２１Ｌに電流値ＣＬを印加した後の左輪２Ｌの回転速度ＶＬを、エンコーダＩ／Ｆ３４から入力される信号に基づいて求め、当該回転速度ＶＬを記憶部３１２に記憶する（ステップＳ３７）。このとき検出すべき左輪２Ｌの回転速度ＶＬは、左輪駆動モータ２１Ｌに電流値ＣＬを印加してから所定時間が経過し、左輪２Ｌの回転速度が一定となった場合または左輪２Ｌの回転速度の変化率が所定の範囲内に収まった場合等、電流値ＣＬに応じて回転速度が安定したときの値であることが好ましい。回転速度ＶＬを記憶すると、続いて左輪コントローラ３０Ｌによる右輪２Ｒの異常判定が実行される（ステップＳ３８）。一方、前回の異常判定から時間Ｔ２が経過していない場合には、異常判定を実行することなくステップＳ３１に戻り、ステップＳ３１〜Ｓ３７が繰り返される。
【００５５】
このように左輪コントローラ３０Ｌで行われる駆動制御が、右輪コントローラ３０Ｒでも同様に実行される（ステップＳ４１〜Ｓ４８）。その結果、左輪コントローラ３０Ｌの記憶部３１２には、左輪２Ｌの駆動制御に関連する入力情報として左側ハンドリム１３Ｌに加えられたトルクおよび左輪２Ｌの回転速度が記憶されるとともに、左輪駆動モータ２１Ｌに電流値ＣＬを印加した後の左輪２Ｌの回転速度ＶＬが記憶された状態となっている。同様に、右輪コントローラ３０Ｒの記憶部３１２には、右輪２Ｒの駆動制御に関連する入力情報として右側ハンドリム１３Ｒに加えられたトルクおよび右輪２Ｒの回転速度が記憶されるとともに、右輪駆動モータ２１Ｒに電流値ＣＲを印加した後の右輪２Ｒの回転速度ＶＲが記憶された状態となっている。そして、各コントローラ３０Ｌ、３０Ｒによる異常判定は、各記憶部３１２に記憶されている入力情報と、電流値ＣＬ、ＣＲを印加した後の回転速度ＶＬ、ＶＲとを、各通信Ｉ／Ｆ３６およびＣＡＮバス４１を介して左右のコントローラ３０Ｌ、３０Ｒの間で互いに送受信することで実行される。
【００５６】
続いて、図８を参照しつつ、各コントローラ３０Ｌ、３０Ｒによる異常判定の流れについて説明する。本実施形態では、まず左輪コントローラ３０Ｌによる右輪２Ｒの異常判定が行われた後、続いて右輪コントローラ３０Ｒによる左輪２Ｌの異常判定が実行される。左輪コントローラ３０Ｌによる右輪２Ｒの異常判定を行うために、右側ハンドリム１３Ｒに入力されたトルクが右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６から送信され（ステップＳ４０１）、この送信されたトルクがＣＡＮバス４１を経由して左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６にて受信され、記憶部３１２に記憶される（ステップＳ３０１）。続いて、右輪２Ｒの回転速度（電流値ＣＲを印加する前に図７のステップＳ４３で記憶したもの）が右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６から送信され（ステップＳ４０２）、この送信された回転速度がＣＡＮバス４１を経由して左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６にて受信され、記憶部３１２に記憶される（ステップＳ３０２）。
【００５７】
左輪コントローラ３０Ｌが右側ハンドリム１３Ｒに入力されたトルクおよび右輪２Ｒの回転速度を受信すると、これらを入力情報として、左輪コントローラ３０Ｌの制御部３１１は右輪駆動モータ２１Ｒに印加すべき電流値ＣＲａを計算し、さらに当該電流値ＣＲａを印加した場合の右輪２Ｒの回転速度ＶＲａを推定し、その結果を記憶部３１２に記憶する（ステップＳ３０３）。なお、電流値ＣＲａについては、左輪２Ｌ用の電流値ＣＬを計算する際に用いた計算式を用いる一方、回転速度ＶＲａについては、あらかじめプログラムに組み込まれた回転速度用計算式に従って計算される。その後、図７のステップＳ４７にて右輪コントローラ３０Ｒの記憶部３１２に記憶された右輪２Ｒの回転速度ＶＲが、右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６から送信される（ステップＳ４０３）。そして、右輪コントローラ３０Ｒから送信された回転速度ＶＲが、ＣＡＮバス４１を介して左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６にて受信され、記憶部３１２に記憶される（ステップＳ３０４）。
【００５８】
次に、左輪コントローラ３０Ｌの制御部３１１は、右輪コントローラ３０Ｒから送信された右輪２Ｒの実際の回転速度ＶＲと左輪コントローラ３０Ｌで推定された右輪２Ｒの回転速度ＶＲａとの差の絶対値が所定の閾値未満であるか否かを判断する（ステップＳ３０５）。当該差の絶対値が閾値以上であった場合には、右輪２Ｒの回転速度ＶＲに異常があると考えられるため、左輪コントローラ３０Ｌはその結果を右輪コントローラ３０Ｒに送る。そして、この結果を受けた右輪コントローラ３０Ｒは、右輪駆動モータ２１Ｒに印加する電流値を制御することで、右輪２Ｒの回転速度を減速させて、最終的に右輪２Ｒを停止させる。これとともに、左輪コントローラ３０Ｌも、左輪駆動モータ２１Ｌに印加する電流値を制御することで、左輪２Ｌの回転速度を減速させて、最終的に左輪２Ｌを停止させる（ステップＳ３０９）。
【００５９】
このように、電流値ＶＲを右輪駆動モータ２１Ｒに印加後の右輪２Ｒの実際の回転速度ＶＲに異常があり、右輪２Ｒに駆動異常が発生していると判断される場合には、各車輪２Ｌ、２Ｒを減速させて最終的に電動車椅子１を停止させる。
【００６０】
ステップＳ３０５にて、電流値ＶＲとＶＲａとの差の絶対値が閾値未満であった場合には、引き続き、右輪コントローラ３０Ｒによる左輪２Ｌの異常判定が実行される。まず、左側ハンドリム１３Ｌに入力されたトルクが左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６から送信され（ステップＳ３０６）、この送信されたトルクがＣＡＮバス４１を経由して右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６にて受信され、記憶部３１２に記憶される（ステップＳ４０４）。続いて、左輪２Ｌの回転速度（電流値ＣＬを印加する前に図７のステップＳ３３で記憶したもの）が左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６から送信され（ステップＳ３０７）、この送信された回転速度がＣＡＮバス４１を経由して右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６にて受信され、記憶部３１２に記憶される（ステップＳ４０５）。
【００６１】
右輪コントローラ３０Ｒが左側ハンドリム１３Ｌに入力されたトルクおよび左輪２Ｌの回転速度を受信すると、これらを入力情報として、右輪コントローラ３０Ｒの制御部３１１は、左輪駆動モータ２１Ｌに印加すべき電流値ＣＬａを計算し、さらに当該電流値ＣＬａを印加した場合の左輪２Ｌの回転速度ＶＬａを推定し、その結果を記憶部３１２に記憶する（ステップＳ４０６）。なお、電流値ＣＬａについては、右輪２Ｒ用の電流値ＣＲを計算する際に用いた計算式を用いる一方、回転速度ＶＬａについては、あらかじめプログラムに組み込まれた回転速度用計算式に従って計算される。その後、図７のステップＳ３７にて左輪コントローラ３０Ｌの記憶部３１２に記憶された左輪２Ｌの回転速度ＶＬが、左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６から送信される（ステップＳ３０８）。そして、左輪コントローラ３０Ｌから送信された回転速度ＶＬが、ＣＡＮバス４１を介して右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６にて受信され、記憶部３１２に記憶される（ステップＳ４０７）。
【００６２】
次に、右輪コントローラ３０Ｒの制御部３１１は、左輪コントローラ３０Ｌから送信された左輪２Ｌの実際の回転速度ＶＬと右輪コントローラ３０Ｒで推定された左輪２Ｌの回転速度ＶＬａとの差の絶対値が所定の閾値未満であるか否かを判断する（ステップＳ４０８）。当該差の絶対値が閾値以上であった場合には、左輪２Ｌの回転速度ＶＬに異常があると考えられるため、右輪コントローラ３０Ｒはその結果を左輪コントローラ３０Ｌに送る。そして、この結果を受けた左輪コントローラ３０Ｌは、左輪駆動モータ２１Ｌに印加する電流値を制御することで、左輪２Ｌの回転速度を減速させて、最終的に左輪２Ｌを停止させる。これとともに、右輪コントローラ３０Ｒも、右輪駆動モータ２１Ｒに印加する電流値を制御することで、右輪２Ｒの回転速度を減速させて、最終的に右輪２Ｒを停止させる（ステップＳ３０９）。
【００６３】
このように、電流値ＶＬを左輪駆動モータ２１Ｌに印加後の左輪２Ｌの実際の回転速度ＶＬに異常があり、左輪２Ｌに駆動異常が発生していると判断される場合には、各車輪２Ｌ、２Ｒを減速させて最終的に電動車椅子１を停止させる。
【００６４】
ステップＳ４０８にて、回転速度ＶＬとＶＬａとの差の絶対値が閾値未満であった場合には、ステップＳ３０５における左輪コントローラ３０Ｌによる右輪２Ｒの異常判定、およびステップＳ４０８における右輪コントローラ３０Ｒによる左輪２Ｌの異常判定のいずれにおいても異常がなかったと判定され、各車輪２Ｌ、２Ｒの異常判定が終了する。
【００６５】
以上の各車輪２Ｌ、２Ｒの異常判定の第２例によれば、左輪コントローラ３０Ｌによる右輪２Ｒの異常判定においては、右輪コントローラ３０Ｒの制御部３１１で入力情報（右側ハンドリム１３Ｒに入力されたトルクおよび右輪２Ｒの回転速度）に基づいて計算した出力情報（電流値ＣＲ）で駆動したときの実際の右輪２Ｒの回転速度ＶＲと、左輪コントローラ３０Ｌの制御部３１１で上記入力情報に基づいて計算した出力情報（電流値ＣＲａ）で駆動した場合に推定される右輪２Ｒの回転速度ＶＲａとが求められる。そして、実際の右輪２Ｒの回転速度ＶＲと推定される右輪２Ｒの回転速度ＶＲａとに基づいて、右輪２Ｒの駆動異常の有無が判定される。したがって、例えば路上に存在する障害物や凹凸等の影響により、右輪２Ｒが右輪コントローラ３０Ｒの制御部３１１からの電流値ＣＲに応じた回転速度とならず、右輪２Ｒに駆動異常が発生している場合に、当該異常を検出することができる。
【００６６】
同様に、右輪コントローラ３０Ｒによる左輪２Ｌの異常判定においては、左輪コントローラ３０Ｌの制御部３１１で入力情報（左側ハンドリム１３Ｌに入力されたトルクおよび左輪２Ｌの回転速度）に基づいて計算した出力情報（電流値ＣＬ）で駆動したときの実際の左輪２Ｌの回転速度ＶＬと、右輪コントローラ３０Ｒの制御部３１１で上記入力情報に基づいて計算した出力情報（電流値ＣＬａ）で駆動した場合に推定される左輪２Ｌの回転速度ＶＬａとが求められる。そして、実際の左輪２Ｌの回転速度ＶＬと推定される左輪２Ｌの回転速度ＶＬａとに基づいて、右輪２Ｒの駆動異常の有無が判定される。したがって、例えば路上に存在する障害物や凹凸等の影響により、左輪２Ｌが左輪コントローラ３０Ｌの制御部３１１からの電流値ＣＬに応じた回転速度とならず、左輪２Ｌに駆動異常が発生している場合に、当該異常を検出することができる。
【００６７】
さらに、本実施形態の第１例、第２例ともに、左輪コントローラ３０Ｌの制御部３１１および右輪コントローラ３０Ｒの制御部３１１が互いに相手側の車輪２Ｒ、２Ｌの駆動異常の有無を判定する。したがって、各車輪２Ｌ、２Ｒの駆動異常の有無を判定する制御部を別途設ける必要がなく、簡易な装置構成で各車輪２Ｌ、２Ｒの駆動状態を監視することができる。
【００６８】
［第２実施形態］
本発明の第２実施形態について説明する。第１実施形態では、乗員が各ハンドリム１３Ｌ、１３Ｒに入力したトルクに基づいて各コントローラ３０Ｌ、３０Ｒで各駆動モータ２１Ｌ、２１Ｒに印加すべき電流値を計算し、当該電流値を各駆動モータ２１Ｌ、２１Ｒに印加することで各車輪２Ｌ、２Ｒを駆動するものとした。一方、第２実施形態の電動車椅子は、乗員がジョイスティックを操作したり、あるいは介助者がボタンを操作することで各車輪が駆動する構成となっている。以下、第１実施形態の構成と異なる点を中心に、第２実施形態の説明を行う。
【００６９】
図９は、第２実施形態における電動車椅子の電気的構成を示すブロック図である。第２実施形態における電動車椅子１は、左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒに加えて、自走コントローラ５０および介助コントローラ６０をさらに備えている。自走コントローラ５０にはジョイスティック５２が設けられており、乗員がジョイスティック５２を操作すると、その操作（走行指令）に応じた各車輪２Ｌ、２Ｒに対する回転指令が左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒに送信される。
【００７０】
より具体的には、自走コントローラ５０は、マイコン５１と、ジョイスティック５２と、スイッチ５３と、他のコントローラ３０Ｌ、３０Ｒ、６０との間で通信を行うための通信Ｉ／Ｆ５４と、不揮発性メモリ５５とを備えており、スイッチ５３によってオン・オフが可能となっている。マイコン５１は、ＣＰＵ等からなる制御部５１１およびＲＡＭ等からなる記憶部５１２を有している。制御部５１１は、乗員によるジョイスティック５２の操作に応じた各車輪２Ｌ、２Ｒに対する回転指令、通信Ｉ／Ｆ５４を介して受信した各信号、不揮発性メモリ５５に格納されている各種プログラムやデータ等に基づいて、種々の演算を行う。
【００７１】
また、介助コントローラ６０には前後押しボタン６２が設けられており、介助者が前後押しボタン６２を操作すると、その操作（走行指令）に応じた各車輪２Ｌ、２Ｒに対する回転指令が左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒに送信される。より具体的には、介助コントローラ６０は、マイコン６１と、前後押しボタン６２と、スイッチ６３と、他のコントローラ３０Ｌ、３０Ｒ、５０との間で通信を行うための通信Ｉ／Ｆ６４と、不揮発性メモリ６５とを備えており、スイッチ６３によってオン・オフが可能となっている。マイコン６１は、ＣＰＵ等からなる制御部６１１およびＲＡＭ等からなる記憶部６１２を有している。制御部６１１は、介助者による前後押しボタン６２の操作に応じた各車輪２Ｌ、２Ｒに対する回転指令、通信Ｉ／Ｆ６４を介して受信した各信号、不揮発性メモリ６５に格納されている各種プログラムやデータ等に基づいて、種々の演算を行う。
【００７２】
左輪２Ｌの駆動制御に関連する入力情報として、第１実施形態では各ハンドリム１３Ｌ、１３Ｒに加えられたトルクおよび各車輪２Ｌ、２Ｒの回転速度を利用したが、第２実施形態ではジョイスティック５２（あるいは前後押しボタン６２）の操作に応じた回転指令および各車輪２Ｌ、２Ｒの回転速度を利用する。そして、これらの入力情報に基づいて各駆動モータ２１Ｌ、２１Ｒに印加すべき電流値が各コントローラ３０Ｌ、３０Ｒの制御部３１１で計算され、この電流値が各駆動モータ２１Ｌ、２１Ｒを制御する出力情報として各駆動モータ２１Ｌ、２１Ｒに出力される。
【００７３】
次に第２実施形態における各車輪２Ｌ、２Ｒの駆動制御および異常判定の流れについて説明する。図１０は、第２実施形態における各車輪の駆動制御を示すフローチャートであり、図１１は、第２実施形態における各車輪の異常判定を示すフローチャートである。第２実施形態における駆動制御は、基本的には図４に示した第１実施形態の第１例における駆動制御と同様である。両者が異なる点は、第１実施形態の第１例における駆動制御では各ハンドリム１３Ｌ、１３Ｒに入力されたトルクを入力情報の１つとしていたのに対し、第２実施形態では乗員によるジョイスティック５２の操作に応じた回転指令を入力情報の１つとしている点にある。なお、乗員によるジョイスティック５２の操作に応じた回転指令の代わりに、介助者による前後押しボタン６２の操作に応じた回転指令を入力情報とすることも可能である。
【００７４】
図１０に示すように、駆動制御の実行時には、乗員によるジョイスティック５２の操作に応じた各車輪２Ｌ、２Ｒに対する回転指令が記憶部５１２に記憶され（ステップＳ７１）、その後、当該回転指令が自走コントローラ５０の通信Ｉ／Ｆ５４から送信される（ステップＳ７２）。送信された回転指令は、ＣＡＮバス４１を介して左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒのそれぞれの通信Ｉ／Ｆ３６で受信され、記憶部３１２に記憶される（ステップＳ５２、Ｓ６２）。そして、左輪コントローラ３０ＬがステップＳ５４で左輪駆動モータ２１Ｌに印加すべき電流値ＣＬを計算する際には、ジョイスティック５２の操作に応じた回転指令および左輪２Ｌの回転速度が入力情報として利用される。同様に、右輪コントローラ３０ＲがステップＳ６４で右輪駆動モータ２１Ｒに印加すべき電流値ＣＲを計算する際には、ジョイスティック５２の操作に応じた回転指令および右輪２Ｒの回転速度が入力情報として利用される。そのほかのステップについては、図４に示した駆動制御と同様であるので、説明を省略する。
【００７５】
また、図１１に示すように、第２実施形態における異常判定についても、基本的には図５に示した第１実施形態の第１例における異常判定と同様であるが、第１実施形態の第１例における異常判定では各ハンドリム１３Ｌ、１３Ｒに入力されたトルクを入力情報の１つとしていたのに対し、第２実施形態では乗員によるジョイスティック５２の操作に応じた回転指令を入力情報の１つとしている点が異なる。また、第２実施形態においては、図１０に示した駆動制御のステップＳ５２、Ｓ６２において既にジョイスティック５２の操作に応じた回転指令が左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒのそれぞれの記憶部３１２に記憶されているので、異常判定の実行時に左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒが当該回転指令を受信して記憶するというステップ（図５のステップＳ１０１、Ｓ２０４に相当するステップ）が省略される。以上の点を除けば、第２実施形態における異常判定は、第１実施形態の第１例における異常判定と同様であり、左輪コントローラ３０Ｌにより右輪２Ｒの駆動異常の有無が判断され、右輪コントローラ３０Ｒにより左輪２Ｌの駆動異常の有無が判断される。
【００７６】
［第３実施形態］
次に第３実施形態について説明する。第３実施形態においては、電動車椅子の電気的構成および駆動制御は第２実施形態と基本的に同様であるが、異常判定が左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒではなく、自走コントローラ５０で実行される点が第２実施形態と異なる。そこで、以下では、図１２を参照しつつ、第３実施形態における異常判定について説明する。図１２は、第３実施形態における各車輪の異常判定を示すフローチャートである。本実施形態では、自走コントローラ５０による左輪２Ｌの異常判定が行われた後、同じく自走コントローラ５０による右輪２Ｒの異常判定が行われる。
【００７７】
まず、左輪２Ｌの回転速度が左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６から送信され（ステップＳ７０１）、この送信された回転速度がＣＡＮバス４１を経由して自走コントローラ５０の通信Ｉ／Ｆ５４にて受信され、記憶部５１２に記憶される（ステップＳ９０１）。そして、自走コントローラ５０の制御部５１１は、記憶部５１２に記憶されているジョイスティック５２の操作に応じた回転指令および左輪２Ｌの回転速度を入力情報として、左輪駆動モータ２１Ｌに印加すべき電流値ＣＬａを出力情報として計算し、電流値ＣＬａを記憶部５１２に記憶する（ステップＳ９０２）。なお、電流値ＣＬａはプログラムに組み込まれた計算式に従って計算される。続いて、図１０のステップＳ５４にて左輪コントローラ３０Ｌにより計算された電流値ＣＬが左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６から送信され（ステップＳ７０２）、この送信された電流値ＣＬがＣＡＮバス４１を経由して自走コントローラ５０の通信Ｉ／Ｆ５４にて受信され、記憶部５１２に記憶される（ステップＳ９０３）。
【００７８】
次に、自走コントローラ５０の制御部５１１は、左輪コントローラ３０Ｌで計算された電流値ＣＬと自走コントローラ５０で計算された電流値ＣＬａとの差の絶対値が所定の閾値未満であるか否かを判断する（ステップＳ９０４）。当該差の絶対値が閾値以上であった場合には、左輪コントローラ３０Ｌで計算された電流値ＣＬに異常があったと考えられる。したがって、この場合には、自走コントローラ５０はその結果を左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒのそれぞれに送る。そして、この結果を受けた左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒのそれぞれの制御部３１１は、左輪２Ｌおよび右輪２Ｒの回転速度を減速させて、最終的に停止させる（ステップＳ９０９）。
【００７９】
このように、左輪コントローラ３０Ｌで計算された電流値ＣＬに異常があり、左輪２Ｌに駆動異常が発生すると判断される場合には、各車輪２Ｌ、２Ｒを減速させて最終的に電動車椅子１を停止させる。
【００８０】
ステップＳ９０４にて、電流値ＣＬとＣＬａとの差の絶対値が閾値未満であった場合には、引き続き、自走コントローラ５０による右輪２Ｒの異常判定が実行される。まず、右輪２Ｒの回転速度が右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６から送信され（ステップＳ８０１）、この送信された回転速度がＣＡＮバス４１を経由して自走コントローラ５０の通信Ｉ／Ｆ５４にて受信され、記憶部５１２に記憶される（ステップＳ９０５）。そして、自走コントローラ５０の制御部５１１は、記憶部５１２に記憶されているジョイスティック５２の操作に応じた回転指令および右輪２Ｒの回転速度を入力情報として、右輪駆動モータ２１Ｒに印加すべき電流値ＣＲａを出力情報として計算し、電流値ＣＲａを記憶部５１２に記憶する（ステップＳ９０６）。なお、電流値ＣＲａはプログラムに組み込まれた計算式に従って計算される。続いて、図１０のステップＳ６４にて右輪コントローラ３０Ｒにより計算された電流値ＣＲが右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６から送信され（ステップＳ８０２）、この送信された電流値ＣＲがＣＡＮバス４１を経由して自走コントローラ５０の通信Ｉ／Ｆ５４にて受信され、記憶部５１２に記憶される（ステップＳ９０７）。
【００８１】
次に、自走コントローラ５０の制御部５１１は、右輪コントローラ３０Ｒで計算された電流値ＣＲと自走コントローラ５０で計算された電流値ＣＲａとの差の絶対値が所定の閾値未満であるか否かを判断する（ステップＳ９０８）。当該差の絶対値が閾値以上であった場合には、右輪コントローラ３０Ｒで計算された電流値ＣＲに異常があったと考えられる。したがって、この場合には、自走コントローラ５０はその結果を左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒのそれぞれに送る。そして、この結果を受けた左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒのそれぞれの制御部３１１は、左輪２Ｌおよび右輪２Ｒの回転速度を減速させて、最終的に停止させる（ステップＳ９０９）。一方、電流値ＣＲと電流値ＣＲａとの差の絶対値が所定の閾値未満であった場合には、異常判定を終了する。
【００８２】
このように、右輪コントローラ３０Ｒで計算された電流値ＣＲに異常があり、右輪２Ｒに駆動異常が発生すると判断される場合には、各車輪２Ｌ、２Ｒを減速させて最終的に電動車椅子１を停止させる。
【００８３】
本実施形態のように、左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒ以外に別途設けられた自走コントローラ５０により各車輪２Ｌ、２Ｒの駆動異常の有無を判定することで、左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒのいずれにも不具合があった場合でも、各車輪２Ｌ、２Ｒの駆動異常をより確実に検出することが可能となる。
【００８４】
以上のように、第１実施形態および第２実施形態では、左輪コントローラ３０Ｌによって右輪２Ｒの異常判定を行い、右輪コントローラ３０Ｒによって左輪２Ｌの異常判定を行う。また、第３実施形態では、自走コントローラ５０によって左輪２Ｌおよび右輪２Ｒの異常判定を行う。このように、左輪２Ｌの異常判定を、左輪２Ｌの駆動制御を行う左輪コントローラ３０Ｌ以外の右輪コントローラ３０Ｒまたは自走コントローラ５０で行うことにより、左輪２Ｌの駆動異常の有無を客観的に判定することができる。同様に、右輪２Ｒの異常判定を、右輪２Ｒの駆動制御を行う右輪コントローラ３０Ｒ以外の左輪コントローラ３０Ｌまたは自走コントローラ５０で行うことにより、右輪２Ｒの駆動異常の有無を客観的に判定することができる。したがって、各車輪２Ｌ、２Ｒの駆動状態を適切に監視することが可能となる。
【００８５】
ここで、上記各実施形態では、車輪２Ｌ、２Ｒがそれぞれ本発明の「第１車輪」、「第２車輪」の一例に相当し、駆動モータ２１Ｌ、２１Ｒがそれぞれ本発明の「第１駆動部」、「第２駆動部」の一例に相当し、左輪コントローラ３０Ｌの制御部３１１が本発明の「第１制御部」の一例に相当し、右輪コントローラ３０Ｒの制御部３１１が本発明の「第２制御部」の一例に相当し、左側ハンドリム１３Ｌに入力されたトルク（またはジョイスティック５２、前後押しボタン６２の操作に応じた回転指令）および左輪２Ｌの回転速度が本発明の「第１入力情報」の一例に相当し、左輪コントローラ３０Ｌの制御部３１１で計算された電流値ＣＬが本発明の「第１出力情報」の一例に相当し、右側ハンドリム１３Ｒに入力されたトルク（またはジョイスティック５２、前後押しボタン６２の操作に応じた回転指令）および右輪２Ｒの回転速度が本発明の「第２入力情報」の一例に相当し、右輪コントローラ３０Ｒの制御部３１１で計算された電流値ＣＲが本発明の「第２出力情報」の一例に相当し、ＣＡＮバス４１が本発明の「シリアルバス」の一例に相当する。
【００８６】
また、第１実施形態の第１例では、左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６が本発明の「第１駆動関連情報の送信部」および「第２駆動関連情報の受信部」として機能し、右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６が本発明の「第２駆動関連情報の送信部」および「第１駆動関連情報の受信部」として機能し、左輪コントローラ３０Ｌの制御部３１１が本発明の「第２出力情報の推定部」および「第２車輪の異常判定部」として機能し、右輪コントローラ３０Ｒの制御部３１１が本発明の「第１出力情報の推定部」および「第１車輪の異常判定部」として機能する。
【００８７】
また、第１実施形態の第１例では、左側ハンドリム１３Ｌに入力されたトルク、左輪２Ｌの回転速度、および左輪コントローラ３０Ｌの制御部３１１で計算された電流値ＣＬが本発明の「第１駆動関連情報」の一例に相当し、右側ハンドリム１３Ｒに入力されたトルク、右輪２Ｒの回転速度、および右輪コントローラ３０Ｒの制御部３１１で計算された電流値ＣＲが本発明の「第２駆動関連情報」の一例に相当する。
【００８８】
また、第１実施形態の第２例では、左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６が本発明の「第１駆動関連情報の送信部」および「第２駆動関連情報の受信部」として機能し、右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６が本発明の「第２駆動関連情報の送信部」および「第１駆動関連情報の受信部」として機能し、左輪コントローラ３０Ｌの制御部３１１が本発明の「第２回転速度の推定部」および「第２車輪の異常判定部」として機能し、右輪コントローラ３０Ｒの制御部３１１が本発明の「第１回転速度の推定部」および「第１車輪の異常判定部」として機能する。
【００８９】
また、第１実施形態の第２例では、左側ハンドリム１３Ｌに入力されたトルク、左輪２Ｌの回転速度、および左輪コントローラ３０Ｌの制御部３１１で計算された電流値ＣＬを左輪駆動モータ２１Ｌに印加したときの左輪２Ｌの回転速度が本発明の「第１駆動関連情報」の一例に相当し、右側ハンドリム１３Ｒに入力されたトルク、右輪２Ｒの回転速度、および右輪コントローラ３０Ｒの制御部３１１で計算された電流値ＣＲを右輪駆動モータ２１Ｒに印加したときの右輪２Ｒの回転速度が本発明の「第２駆動関連情報」の一例に相当する。
【００９０】
また、第２実施形態では、ジョイスティック５２（または前後押しボタン６２）が本発明の「操作部」の一例に相当し、左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６が本発明の「第１駆動関連情報の送信部」および「第２駆動関連情報の受信部」として機能し、右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６が本発明の「第２駆動関連情報の送信部」および「第１駆動関連情報の受信部」として機能し、左輪コントローラ３０Ｌの制御部３１１が本発明の「第２出力情報の推定部」および「第２車輪の異常判定部」として機能し、右輪コントローラ３０Ｒの制御部３１１が本発明の「第１出力情報の推定部」および「第１車輪の異常判定部」として機能する。
【００９１】
また、第２実施形態では、ジョイスティック５２（または前後押しボタン６２）の操作に応じた回転指令、左輪２Ｌの回転速度、および左輪コントローラ３０Ｌの制御部３１１で計算された電流値ＣＬが本発明の「第１駆動関連情報」の一例に相当し、ジョイスティック５２（または前後押しボタン６２）の操作に応じた回転指令、右輪２Ｒの回転速度、および右輪コントローラ３０Ｒの制御部３１１で計算された電流値ＣＲが本発明の「第２駆動関連情報」の一例に相当する。
【００９２】
また、第３実施形態では、ジョイスティック５２（または前後押しボタン６２）が本発明の「操作部」の一例に相当し、左輪コントローラ３０Ｌの通信Ｉ／Ｆ３６が本発明の「第１駆動関連情報の送信部」として機能し、右輪コントローラ３０Ｒの通信Ｉ／Ｆ３６が本発明の「第２駆動関連情報の送信部」として機能し、自走コントローラ５０の通信Ｉ／Ｆ５４が本発明の「第１駆動関連情報の受信部」および「第２駆動関連情報の受信部」として機能し、自走コントローラ５０の制御部５１１が本発明の「第３制御部」の一例に相当する。
【００９３】
また、第３実施形態では、ジョイスティック５２（または前後押しボタン６２）の操作に応じた回転指令、左輪２Ｌの回転速度、および左輪コントローラ３０Ｌの制御部３１１で計算された電流値ＣＬが本発明の「第１駆動関連情報」の一例に相当し、ジョイスティック５２（または前後押しボタン６２）の操作に応じた回転指令、右輪２Ｒの回転速度、および右輪コントローラ３０Ｒの制御部３１１で計算された電流値ＣＲが本発明の「第２駆動関連情報」の一例に相当する。
【００９４】
［その他］
なお、本発明は上記各実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したものに対して種々の変更を加えることが可能である。例えば、第２実施形態および第３実施形態においては、第１実施形態の第１例の異常判定と同様の判定方法（電流値に基づく判定手法）を採用したが、第１実施形態の第２例の異常判定と同様の判定方法（車輪の回転速度に基づく判定手法）を採用してもよい。また、第１、第２入力情報、第１、第２出力情報、および第１、第２駆動関連情報として、どのような物理量を採用するかは適宜変更が可能である。
【００９５】
また、上記各実施形態では、各車輪２Ｌ、２Ｒの異常判定を、電流値ＣＬと電流値ＣＬａとの差（または電流値ＣＲとＣＲａとの差）の絶対値を所定の閾値と比較することで、あるいは回転速度ＶＬと回転速度ＶＬａとの差（または回転速度ＶＲと回転速度ＶＲａとの差）の絶対値を所定の閾値と比較することで行ったが、異常判定の手法はこれに限定されず、適宜変更することが可能である。例えば、異常判定を行うコントローラ内に各物理量に応じて各車輪の駆動異常の有無を判定するためのマップを用意しておき、当該マップに基づいて異常判定を行ってもよい。
【００９６】
また、上記各実施形態では、左輪２Ｌまたは右輪２Ｒにおいて駆動異常が発生していると判断された場合には、左輪２Ｌおよび右輪２Ｒを減速させてから停止させるものとしたが、この場合に他の対応を採用することも可能である。例えば、駆動異常が発生していると判断された場合には、左輪２Ｌおよび右輪２Ｒを停止させるのに加えてあるいは代えて、電動車椅子１に設けたブザーやランプ等によってユーザ（乗員または介助者）に異常を報知してもよい。
【００９７】
また、上記第１、第２実施形態では、左輪コントローラ３０Ｌおよび右輪コントローラ３０Ｒにおいて、駆動制御および異常判定が同じ周期かつ同じタイミングで実行されるものとしたが、駆動制御および異常判定を実行する周期やタイミングを左輪コントローラ３０Ｌと右輪コントローラ３０Ｒとで異ならせることも可能である。
【００９８】
また、上記第１実施形態の第１例では、異常判定を実行してから異常がない場合に各駆動モータ２１Ｌ、２１Ｒに電流値ＣＬ、ＣＲをそれぞれ印加するものとした。しかしながら、異常判定の実行と各駆動モータ２１Ｌ、２１Ｒへの電流値ＣＬ、ＣＲの印加とを同時に行ってもよいし、各駆動モータ２１Ｌ、２１Ｒへ電流値ＣＬ、ＣＲを印加してから異常判定を実行してもよい。
【００９９】
また、上記第１、第２実施形態では、左輪コントローラ３０Ｌによる右輪２Ｒの異常判定が行われた後、右輪コントローラ３０Ｒによる左輪２Ｌの異常判定が連続的に実行されるものとしたが、異常判定を行う順番は適宜変更が可能であるし、各コントローラ３０Ｌ、３０Ｒによる異常判定を必ずしも連続的に行う必要はない。
【０１００】
また、上記第３実施形態では、自走コントローラ５０による各車輪２Ｌ、２Ｒの異常判定について説明したが、自走コントローラ５０に加えてまたは代えて介助コントローラ６０によって各車輪２Ｌ、２Ｒの異常判定を行ってもよい。
【０１０１】
また、上記実施形態では、各コントローラ間で通信を行うためのシリアルバスとしてＣＡＮバス４１を採用したが、通信手段は適宜変更することが可能である。例えば、各コントローラ間で無線による通信を行うようにしてもよい。
【符号の説明】
【０１０２】
１…電動車椅子
２Ｌ…左輪（第１車輪）
２Ｒ…右輪（第２車輪）
２１Ｌ…左輪駆動モータ（第１駆動部）
２１Ｒ…右輪駆動モータ（第２駆動部）
３０Ｌ…左輪コントローラ（車椅子用電動装置）
３０Ｒ…右輪コントローラ（車椅子用電動装置）
３６…通信Ｉ／Ｆ（送信部、受信部）
３１１…制御部（第１制御部、第２制御部）
４１…ＣＡＮバス（シリアルバス）
５０…自走コントローラ（車椅子用電動装置）
５２…ジョイスティック（操作部）
５４…通信Ｉ／Ｆ（受信部）
５１１…制御部（第３制御部）
【図１】
0005998283.tif 000002
【図２】
0005998283.tif 000003
【図３】
0005998283.tif 000004
【図４】
0005998283.tif 000005
【図５】
0005998283.tif 000006
【図６】
0005998283.tif 000007
【図７】
0005998283.tif 000008
【図８】
0005998283.tif 000009
【図９】
0005998283.tif 000010
【図１０】
0005998283.tif 000011
【図１１】
0005998283.tif 000012
【図１２】
0005998283.tif 000013