(57)【要約】  電動アシスト車いすの制御装置は、車速を算出する車速算出部と、第１車輪に作用する第１人力トルク値、第１電動モータが出力する第１モータトルク値、第２車輪に作用する第２人力トルク値及び第２電動モータが出力する第２モータトルク値に基づいて予測旋回トルク値を算出する予測旋回トルク算出部と、第１エンコーダの検出信号及び第２エンコーダの検出信号に基づいて実旋回トルク値を算出する実旋回トルク算出部と、予測旋回トルク値に対する実旋回トルク値の不足分又は過剰分の少なくとも一部を補償するための補償旋回トルク値を算出する補償旋回トルク算出部であって、補償旋回トルク値は、車速が第１速度であるときの値が車速が第１速度より速い第２速度であるときの値よりも小さい、補償旋回トルク算出部と、第１人力トルク値及び補償旋回トルク値に基づいて第１電動モータの目標電流を決定する第１目標電流決定部と、第２人力トルク値及び補償旋回トルク値に基づいて第２電動モータの目標電流を決定する第２目標電流決定部と、を備える。
2019053859.tif 000002
【特許請求の範囲】
【請求項１】
車幅方向に互いに離れた第１及び第２車輪と、
前記第１車輪を駆動する第１電動モータと、
前記第１車輪の回転を検出する第１エンコーダと、
前記第２車輪を駆動する第２電動モータと、
前記第２車輪の回転を検出する第２エンコーダと、
前記第１及び第２電動モータを制御する制御装置と、
を備え、
前記制御装置は、
車速を算出する車速算出部と、
前記第１車輪に作用する第１人力トルク値、前記第１電動モータが出力する第１モータトルク値、前記第２車輪に作用する第２人力トルク値及び前記第２電動モータが出力する第２モータトルク値に基づいて予測旋回トルク値を算出する予測旋回トルク算出部と、
前記第１エンコーダの検出信号及び前記第２エンコーダの検出信号に基づいて実旋回トルク値を算出する実旋回トルク算出部と、
前記予測旋回トルク値に対する前記実旋回トルク値の不足分又は過剰分の少なくとも一部を補償するための補償旋回トルク値を算出する補償旋回トルク算出部であって、前記補償旋回トルク値は、前記車速が第１速度であるときの値が前記車速が前記第１速度より速い第２速度であるときの値よりも小さい、補償旋回トルク算出部と、
前記第１人力トルク値及び前記補償旋回トルク値に基づいて前記第１電動モータの目標電流を決定する第１目標電流決定部と、
前記第２人力トルク値及び前記補償旋回トルク値に基づいて前記第２電動モータの目標電流を決定する第２目標電流決定部と、
を備える電動アシスト車いす。
【請求項２】
前記補償旋回トルク値は、前記車速が前記第１速度であるときの値が０である、
請求項１に記載の電動アシスト車いす。
【請求項３】
前記補償旋回トルク値は、前記車速が前記第１速度であるときの値が０よりも大きい、
請求項１に記載の電動アシスト車いす。
【請求項４】
前記車幅方向の車体の傾きを検出するセンサをさらに備え、
前記補償旋回トルク値は、前記センサにより検出された傾きが第１傾斜角であるときの値が前記センサにより検出された傾きが前記第１傾斜角より小さい第２傾斜角であるときの値よりも大きい、
請求項１に記載の電動アシスト車いす。
【請求項５】
前記車速算出部は、前記第１エンコーダの検出信号及び前記第２エンコーダの検出信号に基づいて前記車速を算出する、
請求項１に記載の電動アシスト車いす。
【請求項６】
前記第１車輪に作用する前記第１人力トルク値を検出する第１トルクセンサと、
前記第２車輪に作用する前記第２人力トルク値を検出する第２トルクセンサと、
をさらに備える、
請求項１に記載の電動アシスト車いす。
【請求項７】
前記実旋回トルク値を算出するための変換式に含まれる係数が変更可能である、
請求項１に記載の電動アシスト車いす。
【請求項８】
前記制御装置は、前記制御装置と通信可能な端末からの指令に応じて前記係数を変更する、
請求項７に記載の電動アシスト車いす。
【請求項９】
シートに着座した利用者の重量を検出する重量センサをさらに備え、
前記実旋回トルク算出部は、前記第１エンコーダの検出信号、前記第２エンコーダの検出信号及び前記検出された重量に基づいて前記実旋回トルク値を算出する、
請求項１に記載の電動アシスト車いす。
【請求項１０】
前記制御装置は、
前記第１及び第２車輪に作用する人力トルクの作用態様が所定の条件を満たすか否かを判定する判定部と、
前記人力トルクの作用態様が前記所定の条件を満たす場合に、前記補償旋回トルク値を所定の大きさ変更する変更部と、
をさらに備える、
請求項１に記載の電動アシスト車いす。
【請求項１１】
前記制御装置は、
走行環境の種類を判定する判定部と、
前記判定された走行環境の種類に基づいて前記補償旋回トルク値を所定の大きさ変更する変更部と、
をさらに備える、
請求項１に記載の電動アシスト車いす。
【請求項１２】
車幅方向に互いに離れた第１及び第２車輪と、
前記第１車輪を駆動する第１電動モータと、
前記第１車輪の回転を検出する第１エンコーダと、
前記第２車輪を駆動する第２電動モータと、
前記第２車輪の回転を検出する第２エンコーダと、
前記第１及び第２電動モータを制御する制御装置と、
を備え、
前記制御装置は、
車速を算出する車速算出部と、
前記第１車輪に作用する第１人力トルク値、前記第１電動モータが出力する第１モータトルク値、前記第２車輪に作用する第２人力トルク値及び前記第２電動モータが出力する第２モータトルク値に基づいて予測旋回トルク値を算出する予測旋回トルク算出部と、
前記第１エンコーダの検出信号及び前記第２エンコーダの検出信号に基づいて実旋回トルク値を算出する実旋回トルク算出部と、
前記予測旋回トルク値に対する前記実旋回トルク値の不足分又は過剰分の少なくとも一部を補償するための補償旋回トルク値を算出する補償旋回トルク算出部であって、前記補償旋回トルク値は、前記車速が第１速度であるときの値が前記車速が前記第１速度より速い第２速度であるときの値よりも小さい、補償旋回トルク算出部と、
前記第１人力トルク値及び前記補償旋回トルク値に基づいて前記第１電動モータの目標電流を決定する第１目標電流決定部と、
前記第２人力トルク値及び前記補償旋回トルク値に基づいて前記第２電動モータの目標電流を決定する第２目標電流決定部と、
を備える車いす用電動アシストユニット。
【請求項１３】
車幅方向に互いに離れた第１及び第２車輪と、
前記第１車輪を駆動する第１電動モータと、
前記第１車輪の回転を検出する第１エンコーダと、
前記第２車輪を駆動する第２電動モータと、
前記第２車輪の回転を検出する第２エンコーダと、
を備える電動アシスト車いすの制御装置であって、
車速を算出する車速算出部と、
前記第１車輪に作用する第１人力トルク値、前記第１電動モータが出力する第１モータトルク値、前記第２車輪に作用する第２人力トルク値及び前記第２電動モータが出力する第２モータトルク値に基づいて予測旋回トルク値を算出する予測旋回トルク算出部と、
前記第１エンコーダの検出信号及び前記第２エンコーダの検出信号に基づいて実旋回トルク値を算出する実旋回トルク算出部と、
前記予測旋回トルク値に対する前記実旋回トルク値の不足分又は過剰分の少なくとも一部を補償するための補償旋回トルク値を算出する補償旋回トルク算出部であって、前記補償旋回トルク値は、前記車速が第１速度であるときの値が前記車速が前記第１速度より速い第２速度であるときの値よりも小さい、補償旋回トルク算出部と、
前記第１人力トルク値及び前記補償旋回トルク値に基づいて前記第１電動モータの目標電流を決定する第１目標電流決定部と、
前記第２人力トルク値及び前記補償旋回トルク値に基づいて前記第２電動モータの目標電流を決定する第２目標電流決定部と、
を備える電動アシスト車いすの制御装置。
【請求項１４】
車幅方向に互いに離れた第１及び第２車輪と、
前記第１車輪を駆動する第１電動モータと、
前記第１車輪の回転を検出する第１エンコーダと、
前記第２車輪を駆動する第２電動モータと、
前記第２車輪の回転を検出する第２エンコーダと、
を備える電動アシスト車いすの制御方法であって、
車速を算出する車速算出ステップと、
前記第１車輪に作用する第１人力トルク値、前記第１電動モータが出力する第１モータトルク値、前記第２車輪に作用する第２人力トルク値及び前記第２電動モータが出力する第２モータトルク値に基づいて予測旋回トルク値を算出する予測旋回トルク算出ステップと、
前記第１エンコーダの検出信号及び前記第２エンコーダの検出信号に基づいて実旋回トルク値を算出する実旋回トルク算出ステップと、
前記予測旋回トルク値に対する前記実旋回トルク値の不足分又は過剰分の少なくとも一部を補償するための補償旋回トルク値を算出する補償旋回トルク算出ステップであって、前記補償旋回トルク値は、前記車速が第１速度であるときの値が前記車速が前記第１速度より速い第２速度であるときの値よりも小さい、補償旋回トルク算出ステップと、
前記第１人力トルク値及び前記補償旋回トルク値に基づいて前記第１電動モータの目標電流を決定する第１目標電流決定ステップと、
前記第２人力トルク値及び前記補償旋回トルク値に基づいて前記第２電動モータの目標電流を決定する第２目標電流決定ステップと、
を備える電動アシスト車いすの制御方法。
【請求項１５】
車幅方向に互いに離れた第１及び第２車輪と、
前記第１車輪を駆動する第１電動モータと、
前記第１車輪の回転を検出する第１エンコーダと、
前記第２車輪を駆動する第２電動モータと、
前記第２車輪の回転を検出する第２エンコーダと、
前記第１及び第２電動モータを制御する制御装置と、
を備える電動アシスト車いすの制御装置のコンピュータを、
車速を算出する車速算出部、
前記第１車輪に作用する第１人力トルク値、前記第１電動モータが出力する第１モータトルク値、前記第２車輪に作用する第２人力トルク値及び前記第２電動モータが出力する第２モータトルク値に基づいて予測旋回トルク値を算出する予測旋回トルク算出部、
前記第１エンコーダの検出信号及び前記第２エンコーダの検出信号に基づいて実旋回トルク値を算出する実旋回トルク算出部、
前記予測旋回トルク値に対する前記実旋回トルク値の不足分又は過剰分の少なくとも一部を補償するための補償旋回トルク値を算出する補償旋回トルク算出部であって、前記補償旋回トルク値は、前記車速が第１速度であるときの値が前記車速が前記第１速度より速い第２速度であるときの値よりも小さい、補償旋回トルク算出部、
前記第１人力トルク値及び前記補償旋回トルク値に基づいて前記第１電動モータの目標電流を決定する第１目標電流決定部、及び、
前記第２人力トルク値及び前記補償旋回トルク値に基づいて前記第２電動モータの目標電流を決定する第２目標電流決定部、
として機能させるプログラム。
【請求項１６】
請求項７に記載の電動アシスト車いすの前記制御装置と通信可能な端末であって、
前記係数の変更を受け付ける受付部と、
前記係数を変更するための指令を前記制御装置に出力する出力部と、
を備える端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動アシスト車いす、車いす用電動アシストユニット、電動アシスト車いすの制御装置、電動アシスト車いすの制御方法、プログラム、及び端末に関する。
【背景技術】
【０００２】
搭乗者が手でハンドリムを漕ぐ力と電動モータの力とを合わせて駆動する電動アシスト車いすが知られている。【０００３】
特許文献１には、片流れ防止制御を実行する電動アシスト車いすが開示されている。片流れとは、車幅方向に傾斜した地面において車いすの進行方向が傾斜方向にずれてしまうことである。特許文献１では、片流れを防止するために、左右車輪の角速度差から車体に加わるトルクを推定し、推定したトルクから左右ハンドリムのトルク差と左右モータのトルク差とを減算することで旋回方向の推定外乱値を求め、推定外乱値でアシスト値を補正している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１７／０３７８９８号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記従来の電動アシスト車いすでは、車両の動き始め等、車速が比較的低い低速域において片流れ防止制御が働き、旋回性が強調され易いことが本願発明者らの研究によって判明した。これは、車両の動き始め等では、ハンドリムへの入力及び電動モータの出力に基づく旋回方向のトルクの一部がキャスタの向きを変えること等に消費され、車両の実際の旋回が予測と乖離し易いためと考えられる。【０００６】
本開示の目的の一つは、片流れ防止制御を実行しつつ低速域における車両の旋回性を抑制することにある。
【課題を解決するための手段】
【０００７】
（１）本開示で提案する電動アシスト車いすは、車幅方向に互いに離れた第１及び第２車輪と、前記第１車輪を駆動する第１電動モータと、前記第１車輪の回転を検出する第１エンコーダと、前記第２車輪を駆動する第２電動モータと、前記第２車輪の回転を検出する第２エンコーダと、前記第１及び第２電動モータを制御する制御装置と、を備え、前記制御装置は、車速を算出する車速算出部と、前記第１車輪に作用する第１人力トルク値、前記第１電動モータが出力する第１モータトルク値、前記第２車輪に作用する第２人力トルク値及び前記第２電動モータが出力する第２モータトルク値に基づいて予測旋回トルク値を算出する予測旋回トルク算出部と、前記第１エンコーダの検出信号及び前記第２エンコーダの検出信号に基づいて実旋回トルク値を算出する実旋回トルク算出部と、前記予測旋回トルク値に対する前記実旋回トルク値の不足分又は過剰分の少なくとも一部を補償するための補償旋回トルク値を算出する補償旋回トルク算出部であって、前記補償旋回トルク値は、前記車速が第１速度であるときの値が前記車速が前記第１速度より速い第２速度であるときの値よりも小さい、補償旋回トルク算出部と、前記第１人力トルク値及び前記補償旋回トルク値に基づいて前記第１電動モータの目標電流を決定する第１目標電流決定部と、前記第２人力トルク値及び前記補償旋回トルク値に基づいて前記第２電動モータの目標電流を決定する第２目標電流決定部と、を備える。これによれば、片流れ防止制御を実行しつつ低速域における車両の旋回性を抑制することが可能となる。【０００８】
（２）電動アシスト車いすの一例では、前記補償旋回トルク値は、前記車速が前記第１速度であるときの値が０であってもよい。これによれば、低速域において片流れ防止制御を無効化して車両の旋回性を抑制することが可能となる。【０００９】
（３）電動アシスト車いすの一例では、前記補償旋回トルク値は、前記車速が前記第１速度であるときの値が０よりも大きくてもよい。これによれば、低速域において片流れ防止制御を効かせつつ車両の旋回性を抑制することが可能となる。【００１０】
（４）電動アシスト車いすの一例では、前記車幅方向の車体の傾きを検出するセンサをさらに備え、前記補償旋回トルク値は、前記センサにより検出された傾きが第１傾斜角であるときの値が前記センサにより検出された傾きが前記第１傾斜角より小さい第２傾斜角であるときの値よりも大きくてもよい。これによれば、傾きが比較的小さいときに片流れ防止制御を弱めて車両の旋回性を抑制することが可能となる。【００１１】
（５）電動アシスト車いすの一例では、前記車速算出部は、前記第１エンコーダの検出信号及び前記第２エンコーダの検出信号に基づいて前記車速を算出してもよい。これによれば、エンコーダの検出信号を利用して車速を算出することが可能となる。【００１２】
（６）電動アシスト車いすの一例では、前記第１車輪に作用する前記第１人力トルク値を検出する第１トルクセンサと、前記第２車輪に作用する前記第２人力トルク値を検出する第２トルクセンサと、をさらに備えてもよい。これによれば、車輪に作用するトルクを直接的に検出することが可能となる。【００１３】
（７）電動アシスト車いすの一例では、前記実旋回トルク値を算出するための変換式に含まれる係数が変更可能であってもよい。これによれば、適切な係数の利用により実旋回トルク値の精度の向上を図ることが可能となる。【００１４】
（８）電動アシスト車いすの一例では、前記制御装置は、前記制御装置と通信可能な端末からの指令に応じて前記係数を変更してもよい。これによれば、外部の端末から係数を設定することが可能となる。【００１５】
（９）電動アシスト車いすの一例では、シートに着座した利用者の重量を検出する重量センサをさらに備え、前記実旋回トルク算出部は、前記第１エンコーダの検出信号、前記第２エンコーダの検出信号及び前記検出された重量に基づいて前記実旋回トルク値を算出してもよい。これによれば、重量センサが検出する重量を利用して実旋回トルク値の精度の向上を図ることが可能となる。【００１６】
（１０）電動アシスト車いすの一例では、前記制御装置は、前記第１及び第２車輪に作用する人力トルクの作用態様が所定の条件を満たすか否かを判定する判定部と、前記人力トルクの作用態様が前記所定の条件を満たす場合に、前記補償旋回トルク値を所定の大きさ変更する変更部と、をさらに備えてもよい。これによれば、人力トルクの作用態様に応じて補償旋回トルク値を調整することが可能となる。【００１７】
（１１）電動アシスト車いすの一例では、前記制御装置は、走行環境の種類を判定する判定部と、前記判定された走行環境の種類に基づいて前記補償旋回トルク値を所定の大きさ変更する変更部と、をさらに備えてもよい。これによれば、走行環境に応じて補償旋回トルク値を調整することが可能となる。【００１８】
（１２）本開示で提案する車いす用電動アシストユニットの一例では、車幅方向に互いに離れた第１及び第２車輪と、前記第１車輪を駆動する第１電動モータと、前記第１車輪の回転を検出する第１エンコーダと、前記第２車輪を駆動する第２電動モータと、前記第２車輪の回転を検出する第２エンコーダと、前記第１及び第２電動モータを制御する制御装置と、を備え、前記制御装置は、車速を算出する車速算出部と、前記第１車輪に作用する第１人力トルク値、前記第１電動モータが出力する第１モータトルク値、前記第２車輪に作用する第２人力トルク値及び前記第２電動モータが出力する第２モータトルク値に基づいて予測旋回トルク値を算出する予測旋回トルク算出部と、前記第１エンコーダの検出信号及び前記第２エンコーダの検出信号に基づいて実旋回トルク値を算出する実旋回トルク算出部と、前記予測旋回トルク値に対する前記実旋回トルク値の不足分又は過剰分の少なくとも一部を補償するための補償旋回トルク値を算出する補償旋回トルク算出部であって、前記補償旋回トルク値は、前記車速が第１速度であるときの値が前記車速が前記第１速度より速い第２速度であるときの値よりも小さい、補償旋回トルク算出部と、前記第１人力トルク値及び前記補償旋回トルク値に基づいて前記第１電動モータの目標電流を決定する第１目標電流決定部と、前記第２人力トルク値及び前記補償旋回トルク値に基づいて前記第２電動モータの目標電流を決定する第２目標電流決定部と、を備える。これによれば、片流れ防止制御を実行しつつ低速域における車両の旋回性を抑制することが可能となる。【００１９】
（１３）本開示で提案する電動アシスト車いすの制御装置の一例では、車幅方向に互いに離れた第１及び第２車輪と、前記第１車輪を駆動する第１電動モータと、前記第１車輪の回転を検出する第１エンコーダと、前記第２車輪を駆動する第２電動モータと、前記第２車輪の回転を検出する第２エンコーダと、を備える電動アシスト車いすの制御装置であって、車速を算出する車速算出部と、前記第１車輪に作用する第１人力トルク値、前記第１電動モータが出力する第１モータトルク値、前記第２車輪に作用する第２人力トルク値及び前記第２電動モータが出力する第２モータトルク値に基づいて予測旋回トルク値を算出する予測旋回トルク算出部と、前記第１エンコーダの検出信号及び前記第２エンコーダの検出信号に基づいて実旋回トルク値を算出する実旋回トルク算出部と、前記予測旋回トルク値に対する前記実旋回トルク値の不足分又は過剰分の少なくとも一部を補償するための補償旋回トルク値を算出する補償旋回トルク算出部であって、前記補償旋回トルク値は、前記車速が第１速度であるときの値が前記車速が前記第１速度より速い第２速度であるときの値よりも小さい、補償旋回トルク算出部と、前記第１人力トルク値及び前記補償旋回トルク値に基づいて前記第１電動モータの目標電流を決定する第１目標電流決定部と、前記第２人力トルク値及び前記補償旋回トルク値に基づいて前記第２電動モータの目標電流を決定する第２目標電流決定部と、を備える。これによれば、片流れ防止制御を実行しつつ低速域における車両の旋回性を抑制することが可能となる。【００２０】
（１４）本開示で提案する電動アシスト車いすの制御方法の一例では、車幅方向に互いに離れた第１及び第２車輪と、前記第１車輪を駆動する第１電動モータと、前記第１車輪の回転を検出する第１エンコーダと、前記第２車輪を駆動する第２電動モータと、前記第２車輪の回転を検出する第２エンコーダと、を備える電動アシスト車いすの制御方法であって、車速を算出する車速算出ステップと、前記第１車輪に作用する第１人力トルク値、前記第１電動モータが出力する第１モータトルク値、前記第２車輪に作用する第２人力トルク値及び前記第２電動モータが出力する第２モータトルク値に基づいて予測旋回トルク値を算出する予測旋回トルク算出ステップと、前記第１エンコーダの検出信号及び前記第２エンコーダの検出信号に基づいて実旋回トルク値を算出する実旋回トルク算出ステップと、前記予測旋回トルク値に対する前記実旋回トルク値の不足分又は過剰分の少なくとも一部を補償するための補償旋回トルク値を算出する補償旋回トルク算出ステップであって、前記補償旋回トルク値は、前記車速が第１速度であるときの値が前記車速が前記第１速度より速い第２速度であるときの値よりも小さい、補償旋回トルク算出ステップと、前記第１人力トルク値及び前記補償旋回トルク値に基づいて前記第１電動モータの目標電流を決定する第１目標電流決定ステップと、前記第２人力トルク値及び前記補償旋回トルク値に基づいて前記第２電動モータの目標電流を決定する第２目標電流決定ステップと、を備える。これによれば、片流れ防止制御を実行しつつ低速域における車両の旋回性を抑制することが可能となる。【００２１】
（１５）本開示で提案するプログラムの一例では、車幅方向に互いに離れた第１及び第２車輪と、前記第１車輪を駆動する第１電動モータと、前記第１車輪の回転を検出する第１エンコーダと、前記第２車輪を駆動する第２電動モータと、前記第２車輪の回転を検出する第２エンコーダと、前記第１及び第２電動モータを制御する制御装置と、を備える電動アシスト車いすの制御装置のコンピュータを、車速を算出する車速算出部、前記第１車輪に作用する第１人力トルク値、前記第１電動モータが出力する第１モータトルク値、前記第２車輪に作用する第２人力トルク値及び前記第２電動モータが出力する第２モータトルク値に基づいて予測旋回トルク値を算出する予測旋回トルク算出部、前記第１エンコーダの検出信号及び前記第２エンコーダの検出信号に基づいて実旋回トルク値を算出する実旋回トルク算出部、前記予測旋回トルク値に対する前記実旋回トルク値の不足分又は過剰分の少なくとも一部を補償するための補償旋回トルク値を算出する補償旋回トルク算出部であって、前記補償旋回トルク値は、前記車速が第１速度であるときの値が前記車速が前記第１速度より速い第２速度であるときの値よりも小さい、補償旋回トルク算出部、前記第１人力トルク値及び前記補償旋回トルク値に基づいて前記第１電動モータの目標電流を決定する第１目標電流決定部、及び、前記第２人力トルク値及び前記補償旋回トルク値に基づいて前記第２電動モータの目標電流を決定する第２目標電流決定部、として機能させる。これによれば、片流れ防止制御を実行しつつ低速域における車両の旋回性を抑制することが可能となる。【００２２】
（１６）本開示で提案する端末の一例では、上記（７）に記載の電動アシスト車いすの前記制御装置と通信可能な端末であって、前記係数の変更を受け付ける受付部と、前記係数を変更するための指令を前記制御装置に出力する出力部と、を備える。これによれば、端末から係数を設定して実旋回トルク値の精度の向上を図ることが可能となる。
【発明の効果】
【００２３】
本発明によると、片流れ防止制御を実行しつつ低速域における車両の旋回性を抑制することが可能となる。
【図面の簡単な説明】
【００２４】
【図１】実施形態に係る電動アシスト車いすを示す左側面図である。
【図２】前記電動アシスト車いすを示す平面図である。
【図３】実施形態に係る電動アシスト車いすの制御装置を示すブロック図である。
【図４】前記制御装置の機能構成を示すブロック図である。
【図５】車速とアシスト比との関係を示す図である。
【図６】予測旋回トルクと実旋回トルクと外部トルクとカウンタートルクの関係を示す図である。
【図７】車いすの動き始めの運動を示す図である。
【図８】車速とゲインとの関係の一例を示す図である。
【図９】車速とゲインとの関係の他の例を示す図である。
【図１０】実施形態に係る電動アシスト車いすの制御方法を示すフロー図である。
【図１１】ゲイン計算ルーチンを示すフロー図である。
【図１２】変形例に係る電動アシスト車いすの制御装置を示すブロック図である。
【図１３】車速と傾きとゲインとの関係を示す図である。
【図１４】変形例に係る電動アシスト車いすの制御装置を示すブロック図である。
【図１５】前記制御装置の機能構成を示すブロック図である。
【図１６】重量−Ｊ値テーブルを示す図である。
【図１７】変形例に係る電動アシスト車いすの制御装置を示すブロック図である。
【図１８】他の実施形態に係る電動アシスト車いすを示すブロック図である。
【図１９】トルク指令値の時間と大きさの関係の例を示す図である。
【図２０】トルク指令値の時間と大きさの関係の例を示す図である。
【図２１】屋外／室内を評価する処理例を示すフロー図である。
【図２２】屋外／室内の評価と制御パラメータとの関係を示す図である。
【図２３】屋外指標、車速及びアシストゲインの関係を示す図である。
【図２４】屋外／室内を評価する処理例を示すフロー図である。
【図２５】屋外指標の時間変化例を示す図である。
【図２６】屋外指標の時間変化例を示す図である。
【図２７】待ち時間及び増減幅の設定例を示すフロー図である。
【図２８】屋外／室内を評価する処理の第３例を示すフロー図である。
【図２９】筋力を評価する処理例を示すフロー図である。
【図３０】筋力を評価する処理例を示すフロー図である。
【図３１】習熟度を評価する処理例を示すフロー図である。
【発明を実施するための形態】
【００２５】
本発明の実施形態を、図面を参照しながら説明する。
【００２６】
［全体構成］
図１及び図２は、実施形態に係る電動アシスト車いす１（以下、省略して「車いす１」ともいう。）を示す左側面図及び平面図である。本明細書において、前方向、後方向、上方向、下方向、左方向及び右方向とは、車いす１のシート５に座った乗員から見た前方向、後方向、上方向、下方向、左方向及び右方向を指す。左右方向は車幅方向ともいう。図１及び図２中の矢印Ｆは、前方向を表している。
【００２７】
車いす１は、金属パイプ等で形成された車体フレーム３を備えている。車体フレーム３には、左右一対の車輪２Ｌ，２Ｒ及び左右一対のキャスタ４Ｌ，４Ｒが回転可能に支持されている。車体フレーム３は、左右一対のバックフレーム３ｂ、左右一対のアームレスト３ｃ及び左右一対のシートフレーム３ｄを含んでいる。
【００２８】
シートフレーム３ｄは車輪２Ｌ，２Ｒの車軸近傍から前方向に延びており、シートフレーム３ｄの間には乗員が着座するためのシート５が設けられている。シートフレーム３ｄの前部は下方向に折れ曲がっており、シートフレーム３ｄの前下端にはフットレスト９が設けられている。
【００２９】
シートフレーム３ｄの後端はバックフレーム３ｂに連結されている。バックフレーム３ｂは上方向に延びており、バックフレーム３ｂの間にはバックサポート６が設けられている。バックフレーム３ｂの上部は後方向に折れ曲がっており、介助者用のハンドグリップ７が設けられている。
【００３０】
シートフレーム３ｄの上方向にはアームレスト３ｃが配置されている。アームレスト３ｃの後端はバックフレーム３ｂに連結されている。アームレスト３ｃの前部は下方向に折れ曲がっており、シートフレーム３ｄに連結されている。
【００３１】
車輪２Ｌ，２Ｒは、車軸を含む円盤状のハブ２５、ハブ２５を囲む外周部２６、及びハブ２５と外周部２６との間に介在する放射状に延びる複数のスポーク２７を含んでいる。外周部２６は、スポーク２７が連結されるリム、及びリムに取り付けられるタイヤを含んでいる。
【００３２】
車いす１には、車輪２Ｌ，２Ｒをそれぞれ人力で駆動するためのハンドリム１３Ｌ，１３Ｒが設けられている。ハンドリム１３Ｌ，１３Ｒは、環状かつ車輪２Ｌ，２Ｒよりも小径に形成されており、ハブ２５から放射状に延びる複数の接続パイプ２８に連結されている。
【００３３】
また、車いす１には、車輪２Ｌ，２Ｒをそれぞれ駆動する電動モータ２１Ｌ，２１Ｒも設けられている。電動モータ２１Ｌ，２１Ｒは、例えばブラシレスＤＣモータ又はＡＣサーボモータからなり、回転を検出するためのエンコーダ２４Ｌ，２４Ｒ（図３を参照）を有している。
【００３４】
具体的には、左車輪２Ｌに対して車幅方向の外側に左ハンドリム１３Ｌが配置されている。車いす１の乗員は、左ハンドリム１３Ｌを回転操作することにより左車輪２Ｌを人力で駆動する。また、左車輪２Ｌに対して車幅方向の内側に左電動モータ２１Ｌが配置されている。左車輪２Ｌは左電動モータ２１Ｌと一体的に回転する。左電動モータ２１Ｌは左車輪２Ｌと同軸に設けられてもよいし、ギアを介して連結されてもよい。
【００３５】
同様に、右車輪２Ｒに対して車幅方向の外側に右ハンドリム１３Ｒが配置されている。車いす１の乗員は、右ハンドリム１３Ｒを回転操作することにより右車輪２Ｒを人力で駆動する。また、右車輪２Ｒに対して車幅方向の内側に右電動モータ２１Ｒが配置されている。右車輪２Ｒは右電動モータ２１Ｒと一体的に回転する。右電動モータ２１Ｒは右車輪２Ｒと同軸に設けられてもよいし、ギアを介して連結されてもよい。
【００３６】
図３に示すように、車いす１は、電動モータ２１Ｌ，２１Ｒをそれぞれ制御するためのコントローラ３０Ｌ，３０Ｒを備えている。本例では、実施形態に係る制御装置として、電動モータ２１Ｌ，２１Ｒをそれぞれ制御する２つのコントローラ３０Ｌ，３０Ｒを備えているが、これに限らず、電動モータ２１Ｌ，２１Ｒの両方を制御する１つのコントローラを備えてもよい。
【００３７】
また、車いす１は、トルクセンサ２９Ｌ，２９Ｒを備えている。トルクセンサ２９Ｌ，２９Ｒは、例えばハンドリム１３Ｌ，１３Ｒに接続された接続パイプ２８と車輪２Ｌ，２Ｒのハブ２５との間に設けられ、ハンドリム１３Ｌ，１３Ｒから車輪２Ｌ，２Ｒに入力されるトルクを検出する。トルクセンサ２９Ｌ，２９Ｒが検出したトルクは、人力トルクとして扱われる。
【００３８】
具体的には、左電動モータ２１Ｌに設けられた左エンコーダ２４Ｌは、左電動モータ２１Ｌの回転を検出し、回転に応じた検出信号を左コントローラ３０Ｌに出力する。左車輪２Ｌに設けられた左トルクセンサ２９Ｌは、左ハンドリム１３Ｌから左車輪２Ｌに入力されるトルクを検出し、トルクに応じた検出信号を左コントローラ３０Ｌに出力する。左コントローラ３０Ｌは、左エンコーダ２４Ｌ及び左トルクセンサ２９Ｌからの検出信号などに基づいて左電動モータ２１Ｌの目標電流を決定し、目標電流が流れるように左電動モータ２１Ｌに出力する電流を制御する。これにより、左電動モータ２１Ｌが出力するアシストトルクが調整される。
【００３９】
同様に、右電動モータ２１Ｒに設けられた右エンコーダ２４Ｒは、右電動モータ２１Ｒの回転を検出し、回転に応じた検出信号を右コントローラ３０Ｒに出力する。右車輪２Ｒに設けられた右トルクセンサ２９Ｒは、右ハンドリム１３Ｒから右車輪２Ｒに入力されるトルクを検出し、トルクに応じた検出信号を右コントローラ３０Ｒに出力する。右コントローラ３０Ｒは、右エンコーダ２４Ｒ及び右トルクセンサ２９Ｒからの検出信号などに基づいて右電動モータ２１Ｒの目標電流を決定し、目標電流が流れるように右電動モータ２１Ｒに出力する電流を制御する。これにより、右電動モータ２１Ｒが出力するアシストトルクが調整される。
【００４０】
コントローラ３０Ｌ，３０Ｒはそれぞれ、マイクロプロセッサ及び記憶部を含んでおり、マイクロプロセッサが記憶部に記憶されたプログラムに従って処理を実行する。記憶部は、主記憶部（例えばＲＡＭ）及び補助記憶部（例えば不揮発性半導体メモリ）を含んでいる。プログラムは、情報記憶媒体又は通信線を介して記憶部に供給される。
【００４１】
コントローラ３０Ｌ，３０Ｒはそれぞれ、マイクロプロセッサ及び記憶部の他に、モータドライバ、ＡＤコンバータ及び通信インターフェース等も含んでいる。左コントローラ３０Ｌと右コントローラ３０Ｒとは、例えばＣＡＮ（Controller Area Network）を使用した通信により情報を互いに送受信する。
【００４２】
車いす１には、電動モータ２１Ｌ，２１Ｒ及びコントローラ３０Ｌ，３０Ｒに電力を供給するためのバッテリ２２が搭載されている。本例では、バッテリ２２は車体フレーム３の右後部に着脱可能に配置されている。また、車いす１には、バックサポート６の後方向で左右方向に延びる、給電線及び通信線を含むケーブル２３が設けられている。
【００４３】
本例では、バッテリ２２から右電動モータ２１Ｒ及び右コントローラ３０Ｒには直接的に電力が供給され、バッテリ２２から左電動モータ２１Ｌ及び左コントローラ３０Ｌにはケーブル２３を介して電力が供給される。また、左コントローラ３０Ｌと右コントローラ３０Ｒとは、ケーブル２３に含まれる通信線を介して情報を互いに送受信する。
【００４４】
車いす１は、車体フレーム３に対して着脱可能な実施形態に係る車いす用電動アシストユニット１０（以下、省略して「ユニット１０」ともいう。）を含んでいる。ユニット１０は、車輪２Ｌ，２Ｒ、ハンドリム１３Ｌ，１３Ｒ、電動モータ２１Ｌ，２１Ｒ、エンコーダ２４Ｌ，２４Ｒ、及びコントローラ３０Ｌ，３０Ｒを含んでいる。また、ユニット１０は、バッテリ２２及びケーブル２３も含んでいる。
【００４５】
ユニット１０は、車体フレーム３とは別の車体フレームに対しても着脱可能である。例えば、一般的な車いすの車体フレームから車輪を取り外し、その車体フレームにユニット１０を取り付けることで、一般的な車いすを電動アシスト車いす１に変えることが可能である。
【００４６】
［機能ブロック］
図４は、コントローラ３０Ｌ，３０Ｒの機能構成を示すブロック図である。各機能ブロックは、コントローラ３０Ｌ，３０Ｒに含まれるマイクロプロセッサが記憶部に記憶されたプログラムに従って処理を実行することによって実現される。同図では、右コントローラ３０Ｒの機能構成を主に図示しているが、左コントローラ３０Ｌも同様の機能構成を有している。以下では、右コントローラ３０Ｒの機能構成について説明し、左コントローラ３０Ｌについては詳細な説明を省略する。
【００４７】
右コントローラ３０Ｒは、右車輪２Ｒの人力トルク値ＴＲＨに基づいて右電動モータ２１Ｒの目標電流ｉＲＭを決定するブロック群として、アシスト計算部４１、アシスト制限部４２、加算部４４、符号調整部４６、トルク指令生成部４７、及び目標電流決定部４８を備えている。
【００４８】
人力トルク値ＴＲＨは、例えば右トルクセンサ２９Ｒにより検出される、右ハンドリム１３Ｒから右車輪２Ｒに入力されるトルクの値である。人力トルクは、人から入力されたトルクであり、例えば車いす１の乗員がハンドリム１３Ｌ，１３Ｒを回転操作することによって車輪２Ｌ，２Ｒに入力したトルクである。
【００４９】
なお、トルクセンサ２９Ｌ，２９Ｒは必須ではなく、例えばエンコーダ２４Ｌ，２４Ｒの検出信号から算出される合算トルク値から、電動モータ２１Ｌ，２１Ｒの出力電流から算出されるモータトルク値を減算することによっても、人力トルク値を推定することが可能である。その場合、例えば介助者がハンドグリップ７を押したり、乗員が床を蹴ったり、乗員が車輪２を直接回すこと等によって車輪２Ｌ，２Ｒに入力したトルクも、人力トルク値として取得することが可能である。
【００５０】
アシスト計算部４１は、右トルクセンサ２９Ｒからの人力トルク値ＴＲＨに基づいてアシストトルク値ＴαＲを算出し、アシスト制限部４２に出力する。アシストトルク値ＴαＲは、例えば人力トルク値ＴＲＨに所定のアシスト比αを乗じることによって算出される。アシスト比αは、例えば図５に示すように車速Ｖの増加に伴ってアシスト比αが減少するように設定される。車速Ｖは、例えば後述の車速算出部６５から取得される。アシスト計算部４１は、例えば記憶部に格納された車速−アシスト比マップから車速Ｖに対応するアシスト比αを取得する。
【００５１】
これに限らず、アシスト計算部４１は、右トルクセンサ２９Ｒからの人力トルク値ＴＲＨと、左コントローラ３０Ｌからの人力トルク値ＴＬＨとに基づいてアシストトルク値ＴαＲを算出してもよい。例えば、人力トルク値ＴＲＨ，ＴＬＨを加算することで直進成分を取り出し、人力トルク値ＴＲＨ，ＴＬＨの一方から他方を減算することで旋回成分を取り出して、直進成分に直進用のアシスト比を乗じ、旋回成分に旋回用のアシスト比を乗じるように構成してもよい。
【００５２】
アシスト制限部４２は、アシスト計算部４１からのアシストトルク値ＴαＲが所定の上限値を超えているか否かを判定し、上限値を超えていない場合にはアシストトルク値ＴαＲをそのまま加算部４４に出力し、上限値を超えている場合には上限値をアシストトルク値ＴαＲとして加算部４４に出力する。上限値は、例えば右電動モータ２１Ｒの限界出力を考慮して設定される。
【００５３】
加算部４４は、アシスト制限部４２からのアシストトルク値ＴαＲにカウンタートルク値Ｒｃｐの右輪分ＲｃｐＲ（詳細は後述）を加算する。右輪分ＲｃｐＲが加算されたアシストトルク値ＴαＲは、符号調整部４６で符号が調整された上で、トルク指令生成部４７に出力される。符号調整部４６は、一方の車輪２が正回転するときに他方の車輪２が逆回転することを考慮して設けられている。
【００５４】
トルク指令生成部４７は、符号調整部４６からの右輪分ＲｃｐＲが加算されたアシストトルク値ＴαＲに基づいてトルク指令値ＴＲＭを算出し、目標電流決定部４８と後述の減算部５３とに出力する。トルク指令値ＴＲＭの算出には、例えばゲインの大きさや減衰の時定数などの制御パラメータが利用される。
【００５５】
目標電流決定部４８は、トルク指令生成部４７からのトルク指令値ＴＲＭに基づいて右電動モータ２１Ｒの目標電流ｉＲＭを決定する。目標電流決定部４８は、例えばトルク指令値ＴＲＭをモータトルク定数ｋｔで除することで、右電動モータ２１Ｒの目標電流ｉＲＭを決定する。右コントローラ３０Ｒに含まれる不図示のモータドライバは、目標電流ｉＲＭが流れるように右電動モータ２１Ｒに出力する電流を制御する。
【００５６】
［片流れ防止制御］
コントローラ３０Ｌ，３０Ｒは、以下に説明する片流れ防止制御を実行する。片流れとは、車幅方向に傾斜した地面において車いす１の進行方向が傾斜方向にずれてしまうことである。
【００５７】
図６に示すように、片流れ防止制御は、車体の旋回方向（ヨー方向）について、車輪２Ｌ，２Ｒに入力された人力トルク及び電動モータ２１Ｌ，２１Ｒが出力したモータトルクに基づいて算出される予測旋回トルクＲｅｓと、エンコーダ２４Ｌ、２４Ｒの検出信号に基づいて算出される実旋回トルクＲｒｌとの差を算出することで、人力トルク及びモータトルク以外の車体に加わる外部トルクＥＴを推定し、外部トルクＥＴを相殺するためのカウンタートルク（補償旋回トルク）Ｒｃｐを発生させる制御である。
【００５８】
予測旋回トルクＲｅｓは、車輪２Ｌ，２Ｒに入力された人力トルク及び電動モータ２１Ｌ，２１Ｒが出力したモータトルクに基づく、発生が予測される旋回方向のトルクである。実旋回トルクＲｒｌは、車輪２Ｌ，２Ｒの回転を検出するエンコーダ２４Ｌ、２４Ｒの検出信号に基づく、実際に発生した旋回方向のトルクである。
【００５９】
予測旋回トルクＲｅｓと実旋回トルクＲｒｌとの差が外部トルクＥＴとして推定される。外部トルクＥＴは、例えば車いす１が傾斜した地面にあるときに傾斜方向に作用し、片流れが生じる要因となる。すなわち、傾斜に基づく外部トルクＥＴが車いす１に作用することで、車いす１の進行方向が乗員が意図した方向からずれてしまう。
【００６０】
カウンタートルクＲｃｐは、外部トルクＥＴとは逆方向に発生させる旋回方向のトルクである。カウンタートルクＲｃｐを発生させることで外部トルクＥＴが相殺され、片流れが抑制される。すなわち、例えば車いす１が傾斜した地面にあっても、傾斜方向とは逆方向にカウンタートルクＲｃｐが作用するので、車いす１の進行方向が傾斜方向にずれ難くなる。コントローラ３０Ｌ，３０Ｒは、電動モータ２１Ｌ，２１Ｒが出力するモータトルクにカウンタートルクＲｃｐが含まれるように、電動モータ２１Ｌ，２１Ｒを駆動する。
【００６１】
具体的には、図６に示すように、予測旋回トルクＲｅｓに対して実旋回トルクＲｒｌが不足する場合、予測旋回トルクＲｅｓとは逆方向に外部トルクＥＴが作用していると推定されることから、予測旋回トルクＲｅｓと同方向にカウンタートルクＲｃｐを発生させる。言い換えると、予測旋回トルクＲｅｓに対する実旋回トルクＲｒｌの不足分がカウンタートルクＲｃｐによって補償される。
【００６２】
これとは逆に、予測旋回トルクＲｅｓに対して実旋回トルクＲｒｌが過剰な場合、予測旋回トルクＲｅｓと同方向に外部トルクＥＴが作用していると推定されることから、予測旋回トルクＲｅｓとは逆方向にカウンタートルクＲｃｐを発生させる。言い換えると、予測旋回トルクＲｅｓに対する実旋回トルクＲｒｌの過剰分がカウンタートルクＲｃｐによって補償される。
【００６３】
ところで、車いす１の動き始め等、車速が比較的低い低速域において片流れ防止制御が働き、旋回性が強調され易いことが本願発明者らの研究によって判明した。例えば車いす１が傾斜の無い平坦な地面にあって、本来であれば片流れ防止制御が不要な場合であっても、動き始め等の低速域で片流れ防止制御が働いて、旋回性が強調されてしまうことがある。この課題は、以下のような理由で生じると考えられる。
【００６４】
図７は、車いす１の動き始めの運動を示す図である。まず、車いす１が傾斜の無い平坦な地面で停止した状態から直進しようとするときの運動について考える。ハンドリム１３Ｌ，１３Ｒから車輪２Ｌ，２Ｒに入力される左右の人力トルクＴＬＨ，ＴＲＨは必ずしも等しくなく、トルク差が生じることがある。その場合、車いす１は直進方向ではなく、直進方向から左右にずれた方向に旋回しながら動き始める。図７の例では、右の人力トルクＴＲＨが左の人力トルクＴＬＨよりやや大きく、車いす１が直進方向からやや左にずれた方向に旋回しながら動き出す場合を示している。
【００６５】
このとき、車いす１の実際の軌道Ｏｒｌは、車輪２Ｌ，２Ｒに入力される人力トルクＴＬＨ，ＴＲＨ及びそれらに応じて出力されるモータトルクから予測される軌道Ｏｅｓよりも曲がりが小さいことがある。これは、動き始め等の低速域では、キャスタ４Ｌ，４Ｒの向きを進行方向に揃えることにトルクの一部が消費されるためであると考えられる。
【００６６】
このことはつまり、上記図６に示すように予測旋回トルクＲｅｓに対して実旋回トルクＲｒｌが不足することと同じである。このため、片流れ防止制御を実行するコントローラ３０Ｌ，３０Ｒは、旋回方向とは反対方向の外部トルクＥＴが車いす１に加わっていると推定して、旋回方向にカウンタートルクＲｃｐを発生させてしまう。図７の例では、直進方向からやや左にずれた方向に旋回しながら動き出した車いす１に右方向の外部トルクＥＴが加わっていると推定して、左方向のカウンタートルクＲｃｐを発生させる場合を示している。
【００６７】
このように旋回方向にカウンタートルクＲｃｐが発生する結果、車いす１は曲がり易くなる。以上が、片流れ防止制御の実行時に低速域において旋回性が強調され易くなる理由と考えられる。
【００６８】
一方で、車速が比較的高い高速域においては、旋回性が強調され易いという課題は現れ難い。これは、高速域ではキャスタ４Ｌ，４Ｒの向きが進行方向に予め揃っているため、キャスタ４Ｌ，４Ｒの向きを変えることに低速域ほどトルクを消費しないためと考えられる。また、上記図５に示したようにアシスト比αは高速域ほど低速域よりも低く設定されることが一般的であるため、高速域では低速域よりも電動モータ２１Ｌ，２１Ｒが出力するモータトルクが小さくなり、車輪２Ｌ，２Ｒのトルク差が小さくなるためとも考えられる。また、車いす１の運動を考えると、高速域では低速域よりも曲がり難い、すなわち旋回運動の向心力が同じであると仮定したとき、高速域では低速域よりも旋回半径が大きく直線運動に近づくためであるとも考えられる。
【００６９】
以上に説明した片流れ防止制御の実行時に低速域において旋回性が強調され易いという課題を解決するため、本実施形態では、片流れ防止制御により発生するカウンタートルクＲｃｐを、車速が第１速度であるときの値が車速が第１速度より速い第２速度であるときの値よりも小さくなるように出力している。すなわち、カウンタートルクＲｃｐを、車速が比較的低いときの値が車速が比較的高いときの値よりも小さくなるように出力している。ここで、車速が速いとは車速の絶対値が大きいことを指す。
【００７０】
以下、図４の説明に戻り、本実施形態に係る片流れ防止制御を実現する構成について説明する。
【００７１】
右コントローラ３０Ｒは、予測旋回トルク値Ｒｅｓを算出するブロック群（予測旋回トルク算出部の一例）として、減算部５１、減算部５３、及び加算部５５を備えている。このブロック群は、右車輪２Ｒの人力トルク値ＴＲＨ、左車輪２Ｌの人力トルク値ＴＬＨ、右電動モータ２１Ｌのトルク指令値ＴＲＭ、及び左電動モータ２１Ｌのトルク指令値ＴＬＭに基づいて予測旋回トルク値Ｒｅｓを算出する。
【００７２】
減算部５１は、右車輪２Ｒの人力トルク値ＴＲＨと左車輪２Ｌの人力トルク値ＴＬＨとの差分を算出することで、人力トルクに係る予測旋回トルク値を算出する。一方、減算部５３は、右車輪２Ｒのトルク指令値ＴＲＨと左電動モータ２１Ｌのトルク指令値ＴＬＭとの差分を算出することで、モータトルクに係る予測旋回トルク値を算出する。加算部５５は、減算部５１からの人力トルクに係る予測旋回トルク値と、減算部５３からのモータトルクに係る予測旋回トルク値とを足し合わせることで、全体の予測旋回トルク値Ｒｅｓを算出し、後述の減算部７１に出力する。
【００７３】
右コントローラ３０Ｒは、実旋回トルク値Ｒｒｌを算出するブロック群（実旋回トルク算出部の一例）として、減算部６１、及び実旋回トルク算出部６３を備えている。このブロック群は、右エンコーダ２４Ｒの検出信号及び左エンコーダ２４Ｌの検出信号に基づいて実旋回トルク値Ｒｒｌを算出する。
【００７４】
減算部６１は、右エンコーダ２４Ｒからの検出信号に基づく右車輪２Ｒの回転速度と、左エンコーダ２４Ｌからの検出信号に基づく左車輪２Ｌの回転速度との差分を算出することで、車輪２Ｌ，２Ｒの回転速度差を算出する。
【００７５】
実旋回トルク算出部６３は、減算部６１からの車輪２Ｌ，２Ｒの回転速度差に基づいて実旋回トルク値Ｒｒｌを算出し、後述の減算部７１に出力する。具体的には、実旋回トルク算出部６３は、例えば旋回方向の運動方程式「Ｊ・ｄω／ｄｔ＝Ｔ−Ｄω」を利用して車輪２Ｌ，２Ｒの回転速度差を実旋回トルク値Ｒｒｌに変換する。ここで、ωは車輪２Ｌ，２Ｒの回転速度差であり、Ｊは慣性モーメントであり、Ｄは粘性係数であり、Ｔは実旋回トルク値Ｒｒｌである。
【００７６】
右コントローラ３０Ｒは、車いす１の車速を算出する車速算出部６５を備えている。車速算出部６５は、右エンコーダ２４Ｒの検出信号及び左エンコーダ２４Ｌの検出信号に基づいて車速を算出し、後述のゲイン調整部７５に出力する。車速算出部６５は、例えば右エンコーダ２４Ｒからの検出信号に基づく右車輪２Ｒの回転速度と、左エンコーダ２４Ｌからの検出信号に基づく左車輪２Ｌの回転速度との平均値を算出し、この平均値から車速を算出する。
【００７７】
これに限らず、車速算出部６５は、エンコーダ２４Ｌ，２４Ｒの一方の検出信号に基づいて車速を算出してもよいし、加速度センサを別途設けて、加速度センサの検出信号に基づいて車速を算出してもよい。
【００７８】
右コントローラ３０Ｒは、カウンタートルク値Ｒｃｐを算出するブロック群（補償旋回トルク算出部の一例）として、減算部７１、カウンタートルク算出部７３、及びゲイン調整部７５を備えている。このブロック群は、加算部５５からの予測旋回トルク値Ｒｅｓと、実旋回トルク算出部６３からの実旋回トルク値Ｒｒｌとに基づいてカウンタートルク値Ｒｃｐを算出する。
【００７９】
減算部７１は、加算部５５からの予測旋回トルク値Ｒｅｓと、実旋回トルク算出部６３からの実旋回トルク値Ｒｒｌとの差分を算出し、カウンタートルク算出部７３に出力する。当該差分は、車いす１に作用する外部トルクＥＴを表す。図示の例では、減算部７１において実旋回トルク値Ｒｒｌから予測旋回トルク値Ｒｅｓを減算し、加算部４４においてアシストトルク値ＴαＲにカウンタートルク値Ｒｃｐの右輪分ＲｃｐＲを加算している。
【００８０】
これとは逆に、減算部７１において予測旋回トルク値Ｒｅｓから実旋回トルク値Ｒｒｌを減算し、加算部４４においてアシストトルク値ＴαＲからカウンタートルク値Ｒｃｐの右輪分ＲｃｐＲを減算してもよい。
【００８１】
カウンタートルク算出部７３は、予測旋回トルク値Ｒｅｓと実旋回トルク値Ｒｒｌとの差分に基づいて基礎カウンタートルク値を算出する。基礎カウンタートルク値は、予測旋回トルク値Ｒｅｓに対する実旋回トルク値Ｒｒｌの不足分又は過剰分の少なくとも一部を補償するように算出される。基礎カウンタートルク値の大きさは、例えば予測旋回トルク値Ｒｅｓと実旋回トルク値Ｒｒｌとの差分と同じとされるが、これに限らず、当該差分より大きくしてもよいし小さくしてもよい。
【００８２】
ゲイン調整部７５は、カウンタートルク算出部７３からの基礎カウンタートルク値に車速算出部６５からの車速に応じたゲインを乗じることで、カウンタートルク値Ｒｃｐを算出する。カウンタートルク値Ｒｃｐは、車速が第１速度であるときの値が車速が第１速度より速い第２速度であるときの値よりも小さくなるようにゲイン調整される。
【００８３】
ゲイン調整部７５は、例えば記憶部に記憶された車速とゲインとの関係を表す車速−ゲインマップを利用して、車速に応じたゲイン調整を行う。具体的には、ゲイン調整部７５は、車速に対応するゲインを車速−ゲインマップから読み出し、読み出したゲインを基礎カウンタートルク値に乗じる。これに限らず、ゲイン調整部７５は、例えば予め定められた数式を利用して、車速に応じたゲイン調整を行ってもよい。
【００８４】
図８は、車速−ゲインマップの一例を示す図である。ゲインＧは、車速Ｖが第１速度であるときの値が車速Ｖが第１速度より速い第２速度であるときの値よりも小さくなるように設定されている。すなわち、ゲインＧは、車速Ｖが比較的低いときの値が車速Ｖが比較的高いときの値よりも小さくなるように設定されている。
【００８５】
具体的には、車速Ｖの絶対値がｖ１以下の範囲（以下、低速域）ではゲインＧは０とされている。車速Ｖの絶対値がｖ１以上ｖ２以下の範囲（以下、中速域）では、ゲインＧは０から１００％まで車速Ｖの絶対値が大きくなるに従って徐々に増加している。車速Ｖの絶対値がｖ２以上の範囲（以下、高速域）ではゲインＧは１００％とされている。本例では、ｖ１は例えば１ｋｍ／ｈであり、ｖ２は例えば４ｋｍ／ｈである。車速Ｖが低速域であるときのゲインＧは、車速Ｖが中速域又は高速域にあるときのゲインよりも小さい。また、車速Ｖが中速域であるときのゲインＧは、車速Ｖが高速域にあるときのゲインＧよりも小さい。
【００８６】
これに限らず、図９に示すように、低速域ではゲインＧは０より大きくてもよい。低速域でのゲインＧは、例えば５％以上、更には１０％以上であることが好ましく、５０％以下、更には４０％以下であることが好ましい。
【００８７】
分配算出部７７は、ゲイン調整部７５によりゲイン調整されたカウンタートルク値Ｒｃｐに基づいて、カウンタートルク値Ｒｃｐの右輪分ＲｃｐＲを算出し、加算部４４に出力する。右輪分ＲｃｐＲは、カウンタートルクを生じさせるために右電動モータ２１Ｒから右車輪２Ｒに出力されるトルクを表す。加算部４４に出力された右輪分ＲｃｐＲは、右電動モータ２１Ｒのトルク指令値ＴＲＭに含められる。左コントローラ３０Ｌでも同様に、カウンタートルク値Ｒｃｐの左輪分ＲｃｐＬが算出され、左電動モータ２１Ｌのトルク指令値ＴＬＭに含められる。
【００８８】
例えば左方向にカウンタートルクを発生させる場合、カウンタートルク値Ｒｃｐの一部（例えば半分）が右輪分ＲｃｐＲとして算出され、右車輪２Ｒのアシストトルク値ＴαＲを増加させる。一方、残部が左輪分ＲｃｐＬとして算出され、左車輪２Ｌのアシストトルク値ＴαＬを減少させる。これに限らず、例えばカウンタートルク値Ｒｃｐの全部が右輪分ＲｃｐＲとされ、左輪分ＲｃｐＬが０とされてもよい。
【００８９】
なお、以上に説明した例では、コントローラ３０Ｌ，３０Ｒの両方が予測旋回トルク値Ｒｅｓ、実旋回トルク値Ｒｒｌ及びカウンタートルク値Ｒｃｐを算出しているが、これに限らず、例えばコントローラ３０Ｌ，３０Ｒの一方が予測旋回トルク値Ｒｅｓ、実旋回トルク値Ｒｒｌ及びカウンタートルク値Ｒｃｐの少なくとも一部を算出し、他方に送信するように構成されてもよい。
【００９０】
図１０及び図１１は、実施形態に係る制御方法を示すフロー図である。コントローラ３０Ｌ，３０Ｒは、マイクロプロセッサが記憶部に記憶された実施形態に係るプログラムに従って処理を実行することによって、同図に示す片流れ防止制御を実現する。同図に示す片流れ防止制御は、コントローラ３０Ｌ，３０Ｒのそれぞれにおいて実行される。
【００９１】
まず、コントローラ３０Ｌ，３０Ｒは、予測旋回トルク値Ｒｅｓ及び実旋回トルク値Ｒｒｌから基礎カウンタートルク値を算出する（Ｓ１１）。上述したように、予測旋回トルク値Ｒｅｓは、車輪２Ｌ，２Ｒに入力される人力トルクを表す人力トルク値ＴＬＨ，ＴＲＨ、及び電動モータ２１Ｌ，２１Ｒから出力されるモータトルクを表すトルク指令値ＴＬＭ，ＴＲＭに基づいて算出される。また、実旋回トルク値Ｒｒｌは、車輪２Ｌ，２Ｒの回転を検出するエンコーダ２４Ｌ、２４Ｒの検出信号に基づいて算出される。基礎カウンタートルク値は、予測旋回トルク値Ｒｅｓに対する実旋回トルク値Ｒｒｌの不足分又は過剰分を補償するように算出される。
【００９２】
次に、コントローラ３０Ｌ，３０Ｒは、ゲイン計算ルーチンを実行する（Ｓ１２）。図１１に示すゲイン計算ルーチンＳ１２において、まず、コントローラ３０Ｌ，３０Ｒは、エンコーダ２４Ｌ，２４Ｒの検出信号に基づいて車いす１の車速を算出する（Ｓ２１）。次に、コントローラ３０Ｌ，３０Ｒは、算出した車速に対応するゲインＧを車速−ゲインマップから算出される（Ｓ２２）。上述したように、ゲインＧは、車速Ｖが第１速度であるときの値が車速Ｖが第１速度より速い第２速度であるときの値よりも小さくなるように設定されている（図８又は図９を参照）。ゲインＧが算出されると、ゲイン計算ルーチンＳ１２が終了する。
【００９３】
図１０の説明に戻り、コントローラ３０Ｌ，３０Ｒは、基礎カウンタートルク値にゲインＧを乗ずることによって、カウンタートルク値Ｒｃｐを算出する。これにより、カウンタートルク値Ｒｃｐは、車速が第１速度であるときの値が車速が第１速度より速い第２速度であるときの値よりも小さくなるように算出される。このように算出されたカウンタートルク値Ｒｃｐは、上述したように左輪分ＲｃｐＬと右輪分ＲｃｐＲとに分けられ、電動モータ２１Ｌ，２１Ｒのトルク指令値ＴＬＭ，ＴＲＭに含められる。その結果、車いす１にカウンタートルクが発生する。
【００９４】
以上に説明した実施形態によれば、カウンタートルク値Ｒｃｐは、車速が第１速度であるときの値が車速が第１速度より速い第２速度であるときの値よりも小さくなるようにゲイン調整されるので、片流れ防止制御を実行しつつ低速域における車両の旋回性を抑制することが可能となる。
【００９５】
一方で、旋回性が強調され易いという課題が現れ難い高速域においては、片流れ防止制御の効果を最大化することが可能となる。
【００９６】
具体的には、上記図８に示すように車速Ｖの絶対値がｖ１以下の低速域におけるゲインＧを０として、カウンタートルク値Ｒｃｐを０とすることで、低速域において片流れ防止制御を無効化して車両の旋回性を抑制することが可能となる。
【００９７】
また、上記図９に示すように車速Ｖの絶対値がｖ１以下の低速域におけるゲインＧを０より大きくして、カウンタートルク値Ｒｃｐを０より大きくすることで、低速域において片流れ防止制御を効かせつつ車両の旋回性を抑制することが可能となる。
【００９８】
［第１変形例］
図１２は、第１変形例に係る車いす１Ａを示すブロック図である。車いす１Ａは、上記図３に示す車いす１の構成に加えて、車体の傾きを検出する傾きセンサ８１をさらに備えている。傾きセンサ８１は、例えば右コントローラ３０Ｒに接続されており、車幅方向の車体の傾きに応じた検出信号を右コントローラ３０Ｒに出力する。右コントローラ３０Ｒは、傾きセンサ８１からの検出信号に基づいて車幅方向の車体の傾きを表す値を取得するとともに、左コントローラ３０Ｌに出力する。これとは逆に、傾きセンサ８１は左コントローラ３０Ｌに接続されてもよい。なお、車体の傾きを検出するセンサとしては、傾きセンサ８１に限らず、例えばジャイロセンサが適用されてもよい。
【００９９】
車いす１Ａのコントローラ３０Ｌ，３０Ｒに含まれるゲイン調整部７５（上記図４を参照）は、車いす１の車速と車幅方向の傾きとに応じたゲインを基礎カウンタートルク値に乗じることで、カウンタートルク値Ｒｃｐを算出する。カウンタートルク値Ｒｃｐは、傾きが第１傾斜角であるときの値が傾きが第１傾斜角より小さい第２傾斜角であるときの値よりも大きくなるようにゲイン調整される。すなわち、カウンタートルク値Ｒｃｐは、傾きが比較的大きいときの値が傾きが比較的小さいときの値よりも大きくなるようにゲイン調整される。ゲイン調整部７５は、例えば記憶部に記憶された車速と傾きとゲインとの関係を表す３次元マップを利用して、車速と傾きとに応じたゲイン調整を行う。
【０１００】
図１３は、車速と傾きとゲインとの関係を表す３次元マップの一例を示す図である。同図では、傾きが互いに異なる車速とゲインとの関係を表す３つの線を、車速−ゲイン平面に投影している。ゲインＧは、傾きが第１傾斜角であるときの値が傾きが第１傾斜角より小さい第２傾斜角であるときの値よりも大きくなるように設定されている。すなわち、ゲインＧは、傾きが比較的大きいときの値が傾きが比較的小さいときの値よりも大きくなるように設定されている。
【０１０１】
具体的には、車速Ｖの絶対値がｖ１以下の低速域において、ゲインＧは、傾きが比較的大きいときの値が傾きが比較的小さいときの値よりも大きくなるように設定されている。傾きが０の場合は、ゲインＧを０としてよい。また、車速Ｖの絶対値がｖ１以上ｖ２以下の中速域でも同様に、ゲインＧは、傾きが比較的大きいときの値が傾きが比較的小さいときの値よりも大きくなるように設定されている。一方で、車速Ｖの絶対値がｖ２以上の高速域では、ゲインＧは傾きが変化しても１００％のままである。
【０１０２】
以上に説明した変形例によれば、傾きが比較的小さいときに片流れ防止制御を弱めて車両の旋回性を抑制することが可能となる。すなわち、車幅方向の傾きが比較的小さく、片流れ防止制御を働かせる必要性が比較的低い場合には、片流れ防止制御を弱めて車両の旋回性を抑制する一方で、車幅方向の傾きが比較的大きく、片流れ防止制御を働かせる必要性が比較的高い場合には、片流れ防止制御を強めて片流れを抑制することが可能である。
【０１０３】
［第２変形例］
図１４は、第２変形例に係る車いす１Ｂを示すブロック図である。車いす１Ｂは、上記図３に示す車いす１の構成に加えて、シート５に着座した乗員の重量を検出する重量センサ８３をさらに備えている。重量センサ８３は、例えば右コントローラ３０Ｒに接続されており、乗員の重量に応じた検出信号を右コントローラ３０Ｒに出力する。右コントローラ３０Ｒは、重量センサ８３からの検出信号に基づいて乗員の重量を表す値を取得するとともに、左コントローラ３０Ｌに出力する。これとは逆に、重量センサ８３は左コントローラ３０Ｌに接続されてもよい。
【０１０４】
図１５は、車いす１Ｂのコントローラ３０Ｌ，３０Ｒの機能構成を示すブロック図である。以下では、右コントローラ３０Ｒの機能構成について説明するが、左コントローラ３０Ｌも同様の機能構成を有している。同図では、実旋回トルク算出部６３及びその前後のブロックのみを図示し、その他のブロックの図示を省略している。右コントローラ３０Ｒは、上記図４に示す機能構成に加えて、Ｊ値選択部６７をさらに備えている。
【０１０５】
上述したように、実旋回トルク算出部６３は、旋回方向の運動方程式「Ｊ・ｄω／ｄｔ＝Ｔ−Ｄω」を利用して車輪２Ｌ，２Ｒの回転速度差を実旋回トルク値Ｒｒｌに変換する。この変換式「Ｊ・ｄω／ｄｔ＝Ｔ−Ｄω」に含まれる係数Ｊは慣性モーメントを表すが、計算に用いるＪ値が実際の値と乖離すると、実旋回トルク値Ｒｒｌの算出結果も実際の値から乖離するおそれがある。
【０１０６】
そこで、本変形例ではＪ値選択部６７を設けて、実旋回トルク算出部６３が実旋回トルク値Ｒｒｌを算出するための変換式「Ｊ・ｄω／ｄｔ＝Ｔ−Ｄω」に含まれるＪ値を変更可能としている。具体的には、Ｊ値選択部６７は、重量センサ８３により検出された重量に基づいてＪ値を選択し、実旋回トルク算出部６３は、選択されたＪ値を利用して実旋回トルク値Ｒｒｌを算出する。
【０１０７】
慣性モーメントは、シート５に着座した乗員の重量に依るところが比較的大きい。このため、本変形例では、重量センサ８３により検出された乗員の重量に応じてＪ値を選択することで、計算に用いるＪ値が実際の値と乖離することを抑制している。
【０１０８】
Ｊ値選択部６７は、例えば記憶部に格納された重量−Ｊ値テーブルを参照して、検出された重量に対応するＪ値を取得し、実旋回トルク算出部６３に出力する。図１６は、重量−Ｊ値テーブルの一例を示す図である。重量−Ｊ値テーブルでは、重量の範囲ごとにＪ値が対応付けられている。
【０１０９】
以上に説明した変形例によれば、実旋回トルク値Ｒｒｌを算出するための変換式「Ｊ・ｄω／ｄｔ＝Ｔ−Ｄω」に含まれるＪ値が変更可能であるので、適切なＪ値の利用により実旋回トルク値Ｒｒｌの精度の向上を図ることが可能となる。具体的には、重量センサ８３により検出された乗員の重量に基づいてＪ値を選択することで、実旋回トルク値Ｒｒｌの精度の向上を図ることが可能となる。
【０１１０】
［第３変形例］
図１７は、第３変形例に係る車いす１Ｃを示すブロック図である。車いす１Ｃの右コントローラ３０Ｒは、外部の端末８５と通信可能に構成されている。具体的には、右コントローラ３０Ｒにはコネクタ３０１が設けられており、このコネクタ３０１に端末８５から延びるケーブルに設けられたコネクタ８５１が接続されることで、右コントローラ３０Ｒと端末８５とが通信可能となる。これに限らず、右コントローラ３０Ｒと端末８５とは無線通信により通信可能であってもよい。なお、左コントローラ３０Ｌが端末８５と通信可能に構成されてもよい。
【０１１１】
端末８５は、例えばタッチパネル又はキーボード等の入力装置を備えており、端末８５のユーザからＪ値の入力を受け付け（受付部の例）、受け付けたＪ値とともにＪ値を変更するための指令をコントローラ３０Ｌ，３０Ｒに送信する（出力部の例）。コントローラ３０Ｌ，３０Ｒは、端末８５から指令を受信すると、記憶部に格納されているＪ値を受信したＪ値に書き換える。これにより、実旋回トルク算出部６３（図４及び図１５を参照）は、記憶部に新たに格納されたＪ値を含んだ変換式「Ｊ・ｄω／ｄｔ＝Ｔ−Ｄω」を利用して実旋回トルク値Ｒｒｌを算出する。
【０１１２】
これに限らず、端末８５は、例えば液晶表示パネル等の表示装置に複数のＪ値を表示して、Ｊ値の選択を受け付けてもよい。
【０１１３】
また、端末８５は、例えば車いす１を利用する乗員の重量の入力又は選択を受け付け、受け付けた重量とともにＪ値を変更するための指令をコントローラ３０Ｌ，３０Ｒに送信してもよい。この場合、コントローラ３０Ｌ，３０Ｒは、上記第２変形例と同様のＪ値選択部６７を備え、Ｊ値選択部６７は、端末８５から受信した重量に対応するＪ値を選択し、記憶部に格納されているＪ値を選択されたＪ値に書き換える。
【０１１４】
以上に説明した変形例によれば、実旋回トルク値Ｒｒｌを算出するための変換式「Ｊ・ｄω／ｄｔ＝Ｔ−Ｄω」に含まれるＪ値が変更可能であるので、適切なＪ値の利用により実旋回トルク値Ｒｒｌの精度の向上を図ることが可能となる。具体的には、外部の端末８５からＪ値を設定することで、実旋回トルク値Ｒｒｌの精度の向上を図ることが可能となる。
【０１１５】
車いす１の工場出荷時には乗員の重量が不明である。特に、車体フレーム３に対して着脱可能なユニット１０の場合は、乗員の重量も車体フレーム３の重量も不明である。このため、工場出荷時から適切なＪ値を設定することは困難である。しかし、本変形例のように端末８５によりＪ値を変更可能にすることで、例えば販売店などで乗員の重量や車体フレーム３の重量を考慮して適切なＪ値を設定することが可能である。
【０１１６】
なお、上記第２変形例及び第３変形例におけるＪ値の変更は、実旋回トルク値Ｒｒｌの算出に限らず、他のトルク値の算出にも適用できる。例えば、上述したようにエンコーダ２４Ｌ，２４Ｒの検出信号に基づいて合算トルク値を算出し、合算トルク値からモータトルク値を減算することで人力トルク値を推定することが可能であるが、この合算トルク値の算出にも変換式「Ｊ・ｄω／ｄｔ＝Ｔ−Ｄω」が利用されるため、Ｊ値を変更可能とすることで合算トルク値の精度の向上を図ることが可能となる。
【０１１７】
すなわち、電動アシスト車いすは、車輪と、前記車輪を駆動する電動モータと、前記車輪の回転を検出するエンコーダと、前記電動モータを制御する制御装置と、を備え、前記制御装置は、前記エンコーダの検出信号に基づいてトルク値を算出するトルク値算出部と、前記トルク値に基づいて前記電動モータの目標電流を決定する目標電流決定部と、を備え、前記トルク値を算出するための変換式に含まれる係数が変更可能であることを特徴とする。
【０１１８】
また、上記電動アシスト車いすにおいて、前記制御装置は、前記制御装置と通信可能な端末からの指令に応じて前記係数を変更してもよい。
【０１１９】
また、上記電動アシスト車いすは、シートに着座した利用者の重量を検出する重量センサをさらに備え、前記トルク値算出部は、前記エンコーダの検出信号及び前記シートに着座した利用者の重量に基づいて前記トルク値を算出してもよい。
【０１２０】
また、端末は、車輪と、前記車輪を駆動する電動モータと、前記車輪の回転を検出するエンコーダと、を備える電動アシスト車いすの制御装置と通信可能な端末であって、前記制御装置において前記エンコーダの検出信号に基づいてトルク値を算出するための変換式に含まれる係数の変更を受け付ける受付部と、前記係数を変更するための指令を前記制御装置に出力する出力部と、を備える。
【０１２１】
［他の実施形態］
電動アシスト車いすには様々な制御パラメータがあり、使用者の身体状況や使用環境に合わせて個々に調整が可能なものがある。但し、一般に制御パラメータの調整は販売店やセラピストがＰＣを使って行うため、一度調整した制御パラメータは使用中には変更できない。一方で、使用者の身体状況は加齢や進行性の障がい等により変化することがある。また、使用環境も室内と屋外の両方で使われることが普通である。
【０１２２】
そこで、以下に説明する実施形態では、使用者の身体状況の変化や仕様環境の変化を学習し、コントローラが自ら制御パラメータを調整する。
【０１２３】
図１８は、他の実施形態に係る電動アシスト車いすの構成例を示すブロック図である。上記実施形態と重複する構成については、同番号を付すことで詳細な説明を省略する。
【０１２４】
左モータ電流指令値演算部９１Ｌと左モータドライバ９３Ｌは、左コントローラ３０Ｌに含まれている。右モータ電流指令値演算部９１Ｒと右モータドライバ９３Ｒは、右コントローラ３０Ｒに含まれている。モータ電流指令値演算部９１Ｌ，９１Ｒはコントローラ３０Ｌ，３０Ｒで実現される機能ブロックであり、モータドライバ９３Ｌ，９３Ｒはコントローラ３０Ｌ，３０Ｒに含まれる電気回路である。モータ電流指令値演算部９１Ｌ，９１Ｒは、人力トルクに基づいてモータ電流指令値を算出し、モータドライバ９３Ｌ，９３Ｒに出力する。モータ電流指令値演算部９１Ｌ，９１Ｒは、例えば上記図４に示したブロック群を含んでいる。
【０１２５】
車いす１は、モータ電流指令値演算部９１Ｌ，９１Ｒ及びモータドライバ９３Ｌ，９３Ｒの他に、パラメータ演算／供給部１０１、アシスト量選択スイッチ１１１、外部端末／情報表示装置１１３、屋外／室内評価部１１５、習熟度評価部１１７、筋力評価部１１９、左右人力トルク入力時間評価部１２１、左右人力トルク入力回数評価部１２３、左右人力トルク入力方向左右同期評価部１２５、走行軌跡演算部１２７、車速演算部１２９及び左右合算トルク平均値計算部１３１を備えている。これらのブロック群は、コントローラ３０Ｌ，３０Ｒの一方又は両方で実現されてもよいし、別のコントローラで実現されてもよい。
【０１２６】
モータ電流指令値演算部９１Ｌ，９１Ｒは、パラメータ演算／供給部１０１から供給される電動モータの制御パラメータに基づいてトルク指令値を算出し、さらにモータ電流指令値を算出する。制御パラメータは、例えばアシストゲイン（アシスト比）や惰走距離（トルク出力持続時間）などである。図１９及び図２０は、モータ電流指令値演算部９１Ｌ，９１Ｒが算出するトルク指令値ＴＭの時間と大きさの関係の例を示す図である。トルク指令値ＴＭは、例えば瞬時に立ち上がった後、時間の経過に伴って徐々に減衰するようなプロファイルを持つように算出される。
【０１２７】
アシストゲインを調整することによって、図１９に示すようにトルク指令値ＴＭの大きさが調整される。また、惰走距離を調整することによって、図２０に示すようにトルク指令値ＴＭの持続時間が調整される。惰走距離は、惰性で走り続けることができる距離であり、モータトルクの出力が持続する時間に対応する。具体的には、惰走距離は、トルク指令値ＴＭの減衰の時定数に対応する。
【０１２８】
パラメータ演算／供給部１０１は、アシスト量選択スイッチ１１１、外部端末／情報表示装置１１３、屋外／室内評価部１１５、習熟度評価部１１７及び筋力評価部１１９から出力される値に基づいて、制御パラメータを調整する。このうち、屋外／室内評価部１１５、習熟度評価部１１７及び筋力評価部１１９は、人力トルクの作用態様に基づく評価を行い、指標値をパラメータ演算／供給部１０１に出力する。パラメータ演算／供給部１０１は、人力トルクの作用態様が所定の条件を満たす場合に、電動モータ２１Ｌ，２１Ｒの所定の制御パラメータを所定の大きさ変更する。
【０１２９】
アシスト量選択スイッチ１１１は、使用者により選択された補助力レベルをパラメータ演算／供給部１０１に出力する。補助力レベルは、例えば３段階に設定されている。パラメータ演算／供給部１０１は、選択された補助力レベルに応じてアシストゲインを変更する。これに限らず、アシストゲインとともに惰走距離を変更してもよい。
【０１３０】
外部端末／情報表示装置１１３は、使用者により設定された設定情報をパラメータ演算／供給部１０１に出力する。パラメータ演算／供給部１０１は、設定情報に応じて制御パラメータを変更する。外部端末は、例えばスマートフォン等の携帯情報端末であってもよい。情報表示装置は、例えばタッチパネルを含む薄型表示パネルであってもよい。
【０１３１】
屋外／室内評価部１１５は、車いす１の走行環境の種類を判定し、指標値をパラメータ演算／供給部１０１に出力する。走行環境の種類は、例えば屋外及び室内などである。屋外／室内評価部１１５は、人力トルクの作用態様に基づいて走行環境の種類を判定する。これに限らず、屋外／室内評価部１１５は、位置情報等に基づいて走行環境の種類を判定してもよい。屋外／室内評価部１１５の動作の詳細は後述する。
【０１３２】
習熟度評価部１１７は、車いす１の運転についての使用者の習熟度を判定し、指標値をパラメータ演算／供給部１０１に出力する。習熟度評価部１１７は、人力トルクの作用態様に基づいて使用者の習熟度を判定する。例えば習熟度評価部１１７は、記憶部に記憶された過去の人力トルクの情報に基づいて使用者の習熟度を判定する。習熟度評価部１１７の動作の詳細は後述する。
【０１３３】
筋力評価部１１９は、車いす１を運転する使用者の筋力を判定し、指標値をパラメータ演算／供給部１０１に出力する。筋力評価部１１９は、人力トルクの作用態様に基づいて使用者の筋力を判定する。例えば筋力評価部１１９は、記憶部に記憶された過去の人力トルクの情報に基づいて使用者の筋力を判定する。筋力評価部１１９の動作の詳細は後述する。
【０１３４】
屋外／室内評価部１１５、習熟度評価部１１７及び筋力評価部１１９による評価は、左右人力トルク入力時間評価部１２１、左右人力トルク入力回数評価部１２３、左右人力トルク入力方向左右同期評価部１２５、走行軌跡演算部１２７、車速演算部１２９及び左右合算トルク平均値計算部１３１からの情報に基づく。
【０１３５】
左右人力トルク入力時間評価部１２１は、左人力トルク及び右人力トルクの入力時間を評価し、入力時間情報を屋外／室内評価部１１５、習熟度評価部１１７及び筋力評価部１１９に出力する。左右人力トルク入力回数評価部１２３は、左人力トルク及び右人力トルクの入力回数を評価し、入力回数情報を屋外／室内評価部１１５、習熟度評価部１１７及び筋力評価部１１９に出力する。
【０１３６】
左右人力トルク入力方向左右同期評価部１２５は、左人力トルク及び右人力トルクの入力方向及び左右の同期を評価し、前進操作又はブレーキ操作が行われているかを表す前進／ブレーキ操作情報を屋外／室内評価部１１５、習熟度評価部１１７及び筋力評価部１１９に出力する。
【０１３７】
走行軌跡演算部１２７は、エンコーダ２４Ｌ，２４Ｒの検出信号に基づいて車いす１の走行軌跡を演算し、走行軌跡情報を屋外／室内評価部１１５、習熟度評価部１１７及び筋力評価部１１９に出力する。車速演算部１２９は、エンコーダ２４Ｌ，２４Ｒの検出信号、減速比及びタイヤ径に基づいて車速を演算し、車速情報を屋外／室内評価部１１５、習熟度評価部１１７及び筋力評価部１１９に出力する。
【０１３８】
左右合算トルク平均値計算部１３１は、左人力トルク、右人力トルク、左モータトルク及び右モータトルクに基づいて左右の合算トルク（人力トルク＋モータトルク）の平均値を計算し、筋力評価部１１９に出力する。
【０１３９】
なお、調整対象の制御パラメータは、上述の片流れ制御におけるカウンタートルク値Ｒｃｐ（補償旋回トルク値）であってもよい。例えばパラメータ演算／供給部１０１は、人力トルクの作用態様が所定の条件を満たす場合に、カウンタートルク値Ｒｃｐを所定の大きさ変更してもよい。また、パラメータ演算／供給部１０１は、判定された走行環境の種類に基づいてカウンタートルク値Ｒｃｐを所定の大きさ変更してもよい。具体的には、例えば車いす１に作用する外部トルクＥＴに対する基礎カウンタートルク値の大きさを調整してもよいし、例えば基礎カウンタートルク値に乗じる低速域におけるゲインの大きさを調整してもよい。
【０１４０】
［屋外／室内判定］
以下、屋外／室内評価部１１５が実行する走行環境の判定について説明する。
【０１４１】
車いす１を屋外で使用する場合と室内で使用する場合とでは、最適な制御パラメータが異なる。例えば車いす１を屋外で使用する場合、惰走距離やアシストゲインが比較的大きい方が好ましいが、その設定のまま車いす１を室内で使用すると、補助力が付き易く操作が困難になるおそれがある。これとは逆に、車いす１を室内で使用する場合、惰走距離やアシストゲインが比較的小さい方が好ましいが、その設定のまま車いす１を屋外で使用すると、補助力が不足して使用者の負担が増すおそれがある。一般に制御パラメータの調整は販売店やセラピストがＰＣを使って行い、使用中は変更できないため、制御パラメータが一旦設定されてしまうと、使用者は不便を感じてもそのまま使い続けなければならない。
【０１４２】
そこで、本実施形態では、屋外／室内評価部１１５により走行環境を判定し、走行環境に適した制御パラメータを設定する。
【０１４３】
［第１例］
屋外／室内評価部１１５は、例えば車いす１の使用者がハンドリム１３を駆動し、車速が十分に落ちる前に再度駆動する場合に、屋外での使用であると判定する。具体的には、屋外／室内評価部１１５は、左右人力トルク入力回数評価部１２３、左右人力トルク入力方向左右同期評価部１２５及び車速演算部１２９等からの情報に基づいて、車速が所定値以上に維持されながら、左右の人力トルクの入力が前進方向にほぼ同時期に入力有り／無しを繰り返した場合に、屋外の使用であると判定する。
【０１４４】
屋外／室内評価部１１５は、例えば車いす１の使用者がハンドリム１３を駆動するときの一漕ぎ当たりのトルク入力時間が比較的長い状態が繰り返し発生する場合に、屋外での使用であると判定してもよい。具体的には、屋外／室内評価部１１５は、左右人力トルク入力時間評価部１２１、左右人力トルク入力回数評価部１２３及び左右人力トルク入力方向左右同期評価部１２５等からの情報に基づいて、左右の人力トルクの一定時間以上の入力が前進方向にほぼ同時期に入力有り／無しを繰り返した場合に、屋外の使用であると判定する。
【０１４５】
パラメータ演算／供給部１０１は、屋外での使用と判定されると、制御パラメータを屋外用に設定し、記憶する。具体的には、パラメータ演算／供給部１０１は、屋外での使用と判定されると、例えば惰走距離を大きくする。これに限らず、例えば惰走距離とアシストゲインの両方を大きくしてもよい。制御パラメータは、記憶部に含まれる補助記憶部（例えば不揮発性半導体メモリ）に記憶されるので、一旦電源を切っても、再び電源をオンすると前回の設定からスタートする。
【０１４６】
なお、屋外／室内評価部１１５による走行環境の判定結果は、屋外と室内の２段階に限らず、例えば３以上の複数段階に別れてもよい。中間の段階を設けることで、例えば病院やショッピングセンター等の、やや広い屋内のフロア施設に適した制御パラメータの設定を用意することが可能となる。
【０１４７】
図２１は、第１例を示すフロー図である。まず、屋外／室内評価部１１５は、左右の人力トルクの状況をチェックする（Ｓ３１）。屋外／室内評価部１１５は、左右の人力トルクの入力有り／無しが一定時間内で繰り返されているか（Ｓ３２）、左右の人力トルクの入力有り／無しのタイミングが左右でほぼ同時であるか（Ｓ３３）、前進であるか（Ｓ３４）を判定する。
【０１４８】
Ｓ３２〜Ｓ３４の全てがＹＥＳの場合、屋外／室内評価部１１５は、左右の人力トルクの入力有り／無しが繰り返される繰り返し期間内で車速が規定値よりも大きいか否かを判定する（Ｓ３５）。Ｓ３５がＹＥＳの場合、Ｓ３７に進む。一方、Ｓ３５がＮＯの場合、屋外／室内評価部１１５は、繰り返し期間内で左右の人力トルクの入力時間が規定値よりも大きいか否かを判定する（Ｓ３６）。Ｓ３６がＹＥＳの場合、Ｓ３７に進む。
【０１４９】
Ｓ３５又はＳ３６がＹＥＳの場合、屋外／室内評価部１１５は、現在の屋外指標を取得する（Ｓ３７）。図２２の例に示すように、屋外指標は例えば０〜ｎ（ｎは２以上の自然数）の複数段階の指標であり、屋外指標が大きいほど走行環境が屋外に近いことを表し、屋外指標が小さいほど走行環境が室内に近いことを表す。制御パラメータも屋外指標に応じて設定される。例えば屋外指標が大きいほど惰走距離・トルク出力持続時間が長く、屋外指標が小さいほど惰走距離・トルク出力持続時間が短く設定される。また、屋外指標が大きいほどアシストゲインが大きく、屋外指標が小さいほどアシストゲインが小さく設定される。
【０１５０】
屋外／室内評価部１１５は、取得した現在の屋外指標が最大値でなければ（Ｓ３７）、屋外指標に１を加算して（Ｓ３８）、記憶部に新しい屋外指標を保存する（Ｓ４０）。記憶部に保存された屋外指標は、パラメータ演算／供給部１０１によって読み出され、モータ電流指令値演算部９１Ｌ，９１Ｒに供給される。
【０１５１】
一方、屋外／室内評価部１１５は、取得した現在の屋外指標が最大値である場合は（Ｓ３７）、屋外指標を変更せずに（Ｓ３９）、処理を終了する。なお、上記Ｓ３２〜Ｓ３４，Ｓ３６の何れかがＮＯの場合も、屋外／室内評価部１１５は屋外指標を変更せずに（Ｓ３９）、処理を終了する。
【０１５２】
図２３の例に示すように、アシストゲインは、例えば車速及び屋外指標に基づいて決定される。具体的には、車速、屋外指標及びアシストゲインの関係を表すマップを利用して、車速及び屋外指標に応じたアシストゲインが算出される。アシストゲインは、例えばＫ＊（屋外指標＋α）＊（車速＋β）の増加に伴って上限まで線形的に増加するように設定される。Ｋ，α，βは定数である。これに限らず、図中に破線で示すようにアシストゲインの増加は非線形的な曲線であってもよい。
【０１５３】
［第２例］
屋外／室内評価部１１５は、例えば車いす１の使用者がハンドリム１３を駆動し、速度が十分に上がる前にブレーキを掛ける場合に、室内での使用であると判定する。具体的には、屋外／室内評価部１１５は、左右人力トルク入力方向左右同期評価部１２５及び車速演算部１２９からの情報に基づいて、左右の人力トルクの入力が前進方向又は後進方向にほぼ同時期に入力有り／無しを繰り返し、かつ車速の上昇途中又は維持途中にブレーキ操作（反対方向の入力）があった場合に、室内での使用であると判断する。
【０１５４】
また、屋外／室内評価部１１５は、例えば車いす１の使用者がハンドリム１３を駆動するときの一漕ぎ当たりの人力トルクの入力時間が短くかつ大きさが小さい場合に、室内での使用であると判断してもよい。また、屋外／室内評価部１１５は、例えば一定時間内に前進方向又は後進方向へ漕ぐ操作とブレーキ操作（反対方向の入力）とが混在している場合に、室内での使用であると判断してもよい。
【０１５５】
パラメータ演算／供給部１０１は、室内での使用と判定されると、制御パラメータを室内用に設定し、記憶する。具体的には、屋外／室内評価部１１５は、室内での使用と判定されると、例えば惰走距離を小さくする。これに限らず、例えば惰走距離とアシストゲインの両方を小さくしてもよい。
【０１５６】
図２４は、第２例を示すフロー図である。まず、屋外／室内評価部１１５は、左右の人力トルクの状況をチェックする（Ｓ４１）。屋外／室内評価部１１５は、左右の人力トルクの入力有り／無しのタイミングが左右でほぼ同時であるか（Ｓ４２）、前進又は後進であるか（Ｓ４３）、車速の上昇途中又は維持途中にブレーキ操作があったか（Ｓ４４）を判定する。Ｓ４４がＹＥＳの場合、Ｓ５０に進む。
【０１５７】
Ｓ４４がＮＯの場合、屋外／室内評価部１１５は、左右の人力トルクの入力値（大きさ）が規定値よりも小さいか否か（Ｓ４５）、左右の人力トルクの入力時間が規定値よりも小さいか否か（Ｓ４６）、一定時間内の左右の人力トルクの入力値と入力時間がそれぞれ規定値以下であるか否か（Ｓ４７）を判定する。Ｓ４７がＹＥＳの場合、Ｓ５０に進む。
【０１５８】
Ｓ４７がＮＯの場合、屋外／室内評価部１１５は、人力トルクの入力有り／無しが左右ともに一定時間内で繰り返されたか否か（Ｓ４８）、左右の人力トルクのブレーキ操作が一定時間内で規定回数以上混在しているか否か（Ｓ４９）を判定する。Ｓ４９がＹＥＳの場合、Ｓ５０に進む。
【０１５９】
Ｓ４４、Ｓ４７又はＳ４９がＹＥＳの場合、屋外／室内評価部１１５は、現在の屋外指標を取得する（Ｓ５０）。屋外／室内評価部１１５は、取得した現在の屋外指標が最低値でなければ（Ｓ５０）、屋外指標から１を減算して（Ｓ５１）、記憶部に新しい屋外指標を保存する（Ｓ５３）。
【０１６０】
一方、屋外／室内評価部１１５は、取得した現在の屋外指標が最低値である場合は（Ｓ５０）、屋外／室内評価部１１５は屋外指標を変更せずに（Ｓ５２）、処理を終了する。なお、上記Ｓ４２，Ｓ４３，Ｓ４８，Ｓ４９の何れかがＮＯの場合も、屋外／室内評価部１１５は、処理を終了する。
【０１６１】
［第３例］
本例では、学習の成果を反映する早さを調整可能としている。すなわち、屋外指標値などの指標値を変更する早さ、又は指標値に対応する制御パラメータを変更する早さを調整可能としている。以下では、屋外指標値を例として挙げるが、他の指標値又は制御パラメータが調整対象であってもよい。
【０１６２】
図２５及び図２６は、屋外指標の時間変化例を示す図である。横軸が時間を表し、縦軸が屋外指標値を表す。図示の例では、屋外指標値ｎを変更するまでの待ち時間Ｔｗと、屋外指標値ｎを変更するときの増減幅Ｃｎとが調整可能とされている。屋外指標値ｎは、待ち時間Ｔｗが経過する毎に条件が合えば増減幅Ｃｎだけ変更される。
【０１６３】
待ち時間Ｔｗを小さく又は増減幅Ｃｎを大きくすることにより、制御パラメータを走行環境に素早く対応させることができる。一方、待ち時間Ｔｗを大きく又は増減幅Ｃｎを小さくすることにより、使用者が制御パラメータに慣れる時間を確保することが可能である。
【０１６４】
図２７は、待ち時間Ｔｗ及び増減幅Ｃｎの設定例を示すフロー図である。図示の例では、車いす１と通信可能な設定用端末によって待ち時間Ｔｗ及び増減幅Ｃｎの設定が行われる。設定用端末は、例えばＰＣ、スマートフォン等である。
【０１６５】
まず、車いす１は、設定用端末に現在の設定情報を送信する（Ｓ５９）。設定用端末は、車いす１から現在の設定情報を受信すると（Ｓ５４）、表示画面に現在の設定情報を表示する（Ｓ５５）。
【０１６６】
次に、設定用端末は、待ち時間Ｔｗを設定し（Ｓ５６）、増減幅Ｃｎを設定する（Ｓ５７）。待ち時間Ｔｗは、屋外指標値を変更した後、次回の屋外指標値を変更するまでの最低限の待ち時間である。増減幅Ｃｎは、屋外指標値を変更するときの１回の変更当たりの増減幅である。
【０１６７】
設定用端末は、例えばタッチパネル又はキーボード等の入力装置を備えており、使用者からの待ち時間Ｔｗ及び増減幅Ｃｎの入力を受け付ける。これに限らず、設定用端末は、例えば液晶表示パネル等の表示装置に待ち時間Ｔｗ及び増減幅Ｃｎの複数の候補を表示して、候補の選択を受け付けてもよい。
【０１６８】
次に、設定用端末は、設定された待ち時間Ｔｗ及び増減幅Ｃｎを新たな設定情報として車いす１に送信する（Ｓ５８）。車いす１は、設定用端末から新たな設定情報を受信し（Ｓ６０）、記憶部に保存する。これにより、設定用端末で設定された待ち時間Ｔｗ及び増減幅Ｃｎが車いす１で利用可能となる。
【０１６９】
図２８は、待ち時間Ｔｗ及び増減幅Ｃｎを利用した屋外／室内評価の処理例を示すフロー図である。まず、屋外／室内評価部１１５は、記憶部に保存された待ち時間Ｔｗ及び増減幅Ｃｎを読み出す（Ｓ６１）。次に、屋外／室内評価部１１５は、待ち時間タイマのカウントアップを開始し（Ｓ６２）、待ち時間タイマによりカウントされた時間が待ち時間Ｔｗを超えた場合に（Ｓ６３：ＹＥＳ）、Ｓ６４に進む。
【０１７０】
Ｓ６４〜Ｓ６９は、上記図２１のＳ３１〜Ｓ３６と同様であるので、詳細な説明を省略する。
【０１７１】
Ｓ６８又はＳ６９がＹＥＳの場合、屋外／室内評価部１１５は、以前の屋外指標に増減幅Ｃｎを加算することで新しい屋外指標を算出する（Ｓ７０）。そして、屋外／室内評価部１１５は、新しい屋外指標が上限値以下であれば（Ｓ７１）、そのまま新しい屋外指標を保存する（Ｓ７３）。一方、屋外／室内評価部１１５は、新しい屋外指標が上限値より大きければ（Ｓ７１）、上限値を新たな屋外指標として保存する（Ｓ７２，Ｓ７３）。その後、屋外／室内評価部１１５は、待ち時間タイマをリセットして（Ｓ７４）、処理を終了する。
【０１７２】
［筋力評価］
以下、筋力評価部１１９が実行する筋力評価について説明する。
【０１７３】
一般に、身障者の身体機能は、健常者と比較して千差万別で個人毎に異なることが殆どである。例えば上体に関して、健常者並の腕力がある人もいれば、両腕又は片腕の腕力や握力、可動域等が低下している人もいる。このため、車いすの制御パラメータは、使用者ごとの身体状況に応じて個別に設定されることが好ましい。例えば、腕力が左右で異なる場合に腕力が弱い方の電動モータのアシストゲインを大きくする等の設定が行われる。しかし、一般に制御パラメータの調整は販売店やセラピストがＰＣを使って行い、使用中は変更できないため、制御パラメータが一旦設定されてしまうと、使用者の身体状況が変化してもそのまま使い続けなければならない。
【０１７４】
そこで、本実施形態では、筋力評価部１１９により使用者の筋力を評価し、使用者の筋力に適した制御パラメータを設定する。
【０１７５】
第１例において、筋力評価部１１９は、記憶部に蓄積して記憶された人力トルクの情報を取得し、人力トルクの大きさが経時的に減少している場合に、使用者の筋力が低下していると判定する。パラメータ演算／供給部１０１は、使用者の筋力が低下していると判定されると、例えばアシストゲインを大きくする。これに限らず、例えばアシストゲインと惰走距離の両方を大きくしてもよい。
【０１７６】
第２例において、筋力評価部１１９は、左右合算トルク平均値計算部１３１から取得される所定期間（例えば１週間）における人力トルクとモータトルクとの合算値の平均値を左右で比較して、左右の腕のどちらの筋力が低下しているかを判定する。合算値でなく、人力トルクのみの平均値を左右で比較してもよい。パラメータ演算／供給部１０１は、筋力が低下していると判定された側のアシストゲインを大きくする。
【０１７７】
図２９は、第２例を示すフロー図である。まず、筋力評価部１１９は、人力トルクの入力があると、左人力トルクと左モータトルクとを合算して左合算トルクを求め、右人力トルクと右モータトルクとを合算して右合算トルクを求める（Ｓ８１）。次に、筋力評価部１１９は、左右の合算トルクの平均値を算出し、記憶する（Ｓ８２）。左右各平均値の算出は、例えば１週間ごとに行われる（Ｓ８３）。これにより、例えば２０１ｘ年第ｙｙ週の左右各平均値が算出される。これに限らず、左右各平均値の算出は、例えば１ヶ月ごと、半期ごと、１年ごとに行われてもよい。左右各平均値の算出は、１週間のうちの人力トルクの入力があった期間（すなわち、入力がなかった期間を除外した期間）について行われる。
【０１７８】
１週間が経過して左右各平均値が算出されると、筋力評価部１１９は、左右各平均値の差分を評価する（Ｓ８４）。ここでは、例えば左の平均値から右の平均値を減算することで差分を算出する。左右各平均値の差分が上限値（例えば正の値）よりも大きい場合（Ｓ８５）、筋力評価部１１９は、右腕力が弱いと判断し、右電動モータ２１Ｒのアシストゲインを相対的に大きくする（Ｓ８６）。一方、左右各平均値の差分が下限値（例えば負の値）よりも小さい場合（Ｓ８５）、筋力評価部１１９は、左腕力が弱いと判断し、左電動モータ２１Ｌのアシストゲインを相対的に大きくする（Ｓ８７）。ここでは、例えば腕力が弱いと判断された側において現状のアシストゲインに規定値を加算することで、アシストゲインを大きくする。これに限らず、例えば腕力が弱いと判断された側とは逆側において現状のアシストゲインから規定値を減算することで、アシストゲインを小さくしてもよい。
【０１７９】
その後、新たなアシストゲインが上限値よりも大きい場合には（Ｓ８８）、筋力評価部１１９は上限値を新たなアシストゲインとし（Ｓ８９）、処理を終了する。また、新たなアシストゲインが下限値よりも小さい場合には（Ｓ８８）、筋力評価部１１９は下限値を新たなアシストゲインとし（Ｓ９０）、処理を終了する。また、新たなアシストゲインが上限値よりも小さく、下限値よりも大きい場合には（Ｓ８８）、筋力評価部１１９はそのまま処理を終了する。
【０１８０】
第３例において、筋力評価部１１９は、左右人力トルク入力回数評価部１２３及び走行軌跡演算部１２７等からの情報に基づき、車いす１が全体として直進している間の人力トルクの入力回数を左右で比較することで、左右の腕のどちらの筋力が低下しているかを判定する。すなわち、車いす１が小さく蛇行しながらも全体としては直進している場合は、左右の腕のどちらかの筋力が低下している可能性があるので、筋力評価部１１９は、車いす１が全体として直進している間の人力トルクの入力回数を一定期間累積して記憶し、左右で比較する。
【０１８１】
第４例において、筋力評価部１１９は、所定期間（例えば１週間）における人力トルクとモータトルクとの合算値の時間積分値を左右で比較して、左右の腕のどちらの筋力が低下しているかを判定する。合算値でなく、人力トルクのみの時間積分値を左右で比較してもよい。パラメータ演算／供給部１０１は、筋力が低下していると判定された側のアシストゲインを大きくする。
【０１８２】
図３０は、第４例を示すフロー図である。まず、筋力評価部１１９は、人力トルクの入力があると、左人力トルクと左モータトルクとを合算して左合算トルクを求め、右人力トルクと右モータトルクとを合算して右合算トルクを求める（Ｓ９１）。次に、筋力評価部１１９は、左右の合算トルクの時間積分値をそれぞれ合計していく（Ｓ９２）。また、筋力評価部１１９は、左右の合算トルクの入力時間をそれぞれ合計していく（Ｓ９３）。ここで、合算トルクの入力時間は、入力無しの部分を除いたものである。筋力評価部１１９は、合算トルクの入力時間の合計が１週間分を超えるまで、合算トルクの時間積分値の合計を計算する（Ｓ９４）。これに限らず、例えば１週間ごとに行われてもよい。
【０１８３】
合算トルクの入力時間の合計が１週間分を超えると、筋力評価部１１９は、左右の合算トルクの時間積分値の差分を評価する（Ｓ９５）。ここでは、例えば左の時間積分値から右の時間積分値を減算することにより差分を算出する。左右の時間積分値の差分が上限値（例えば正の値）よりも大きい場合（Ｓ９６）、筋力評価部１１９は、右腕力が弱いと判断し、右電動モータ２１Ｒのアシストゲインを相対的に大きくする（Ｓ９７）。一方、左右の時間積分値の差分が下限値（例えば負の値）よりも小さい場合（Ｓ９６）、筋力評価部１１９は、左腕力が弱いと判断し、左電動モータ２１Ｌのアシストゲインを相対的に大きくする（Ｓ９８）。ここでは、例えば腕力が弱いと判断された側において現状のアシストゲインに規定値を加算することで、アシストゲインを大きくする。これに限らず、例えば腕力が弱いと判断された側とは逆側において現状のアシストゲインから規定値を減算することで、アシストゲインを小さくしてもよい。
【０１８４】
その後、新たなアシストゲインが上限値よりも大きい場合には（Ｓ９９）、筋力評価部１１９は上限値を新たなアシストゲインとし（Ｓ１００）、処理を終了する。また、新たなアシストゲインが下限値よりも小さい場合には（Ｓ９９）、筋力評価部１１９は下限値を新たなアシストゲインとし（Ｓ１０１）、処理を終了する。また、新たなアシストゲインが上限値よりも小さく、下限値よりも大きい場合には（Ｓ９９）、筋力評価部１１９はそのまま処理を終了する。
【０１８５】
［習熟度評価］
本実施形態では、習熟度評価部１１７により使用者の習熟度を評価し、使用者の習熟度に応じた制御パラメータを設定している。例えば、習熟度評価部１１７は、左右人力トルク入力時間評価部１２１からの情報に基づいて入力時間の総計を算出し、入力時間の総計が増加するに従ってアシストゲインや惰走距離、車速などの上限値を段階的に引き上げていく。
【０１８６】
図３１は、習熟度を評価する処理例を示すフロー図である。習熟度評価部１１７は、人力トルクの入力時間の総計を取得し（Ｓ１１１）、入力時間の総計が規定値１未満であれば、アシストゲインや惰走距離、車速の上限値を最も低い第１段階（ＬＯＷレベル）のままとする。
【０１８７】
習熟度評価部１１７は、入力時間の総計が規定値１以上になると（Ｓ１１１）、アシストゲインや惰走距離、車速の上限値を次の第２段階（ＭＩＤレベル）に引き上げ（Ｓ１１２）、変更値をメモリに記憶する（Ｓ１１４）。第２段階における各上限値は、第１段階よりも大きい。
【０１８８】
習熟度評価部１１７は、入力時間の総計が規定値１よりも大きい規定値２以上になると（Ｓ１１１）、アシストゲインや惰走距離、車速の上限値をさらに次の第３段階（ＨＩＧＨレベル）に引き上げ（Ｓ１１３）、変更値をメモリに記憶する（Ｓ１１４）。第３段階における各上限値は、第１段階よりも大きい。
【０１８９】
以上に説明した他の実施形態に係る電動アシスト車いすは、車輪と、前記車輪を駆動する電動モータと、前記車輪の回転を検出するエンコーダと、前記電動モータを制御する制御装置と、を備え、前記制御装置は、前記車輪に作用する人力トルクの情報を取得する取得部と、前記人力トルクの作用態様が所定の条件を満たすか否かを判定する判定部と、前記人力トルクの作用態様が前記所定の条件を満たす場合に、前記電動モータの所定の制御パラメータを所定の大きさ変更する変更部と、を備える。
【０１９０】
また、前記制御装置は、前記人力トルクの情報を蓄積して記憶する記憶部をさらに備え、前記判定部は、前記記憶された人力トルクの情報に基づいて前記人力トルクの作用態様が前記所定の条件を満たすか否かを判定してもよい。
【０１９１】
電動アシスト車いすは、車輪と、前記車輪を駆動する電動モータと、前記車輪の回転を検出するエンコーダと、前記電動モータを制御する制御装置と、を備え、前記制御装置は、走行環境の種類を判定する判定部と、前記判定された走行環境の種類に基づいて前記電動モータの所定の制御パラメータを所定の大きさ変更する変更部と、を備える。
【０１９２】
また、前記判定部は、前記車輪に作用する人力トルクの作用態様に基づいて前記走行環境の種類を判定してもよい。
【０１９３】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、種々の変形実施が当業者にとって可能であるのはもちろんである。
【符号の説明】
【０１９４】
１  電動アシスト車いす、２  車輪、３  車体フレーム、４  キャスタ  ５  シート、６  バックサポート、７  ハンドグリップ、９  フットレスト、１３  ハンドリム、２１  電動モータ、２２  バッテリ、２３  ケーブル、２４  エンコーダ、２５  ハブ、２６  外周部、２７  スポーク、２８  接続パイプ、２９  トルクセンサ、３０  コントローラ、４１  アシスト計算部、４２  アシスト制限部、４４  加算部、４６  符号調整部、４７  トルク指令生成部、４８  目標電流決定部、５１  減算部、５３  減算部、５５  加算部、６１  減算部、６３  実旋回トルク算出部、６５  車速算出部、７１  減算部、７３  カウンタートルク算出部、７５  ゲイン調整部、７７  分配算出部、８１  傾きセンサ、８３  重量センサ、８５  端末、８５１  コネクタ、３０１  コネクタ、９１  モータ電流指令値演算部、９３  モータドライバ、１０１  パラメータ演算／供給部、１１１  アシスト量選択スイッチ、１１３  外部端末／情報表示装置、１１５  屋外／室内評価部、１１７  習熟度評価部、１１９  筋力評価部、１２１  左右人力トルク入力時間評価部、１２３  左右人力トルク入力回数評価部、１２５  左右人力トルク入力方向左右同期評価部、１２７  走行軌跡演算部、１２９  車速演算部、１３１  左右合算トルク平均値計算部。
【図１】
2019053859.tif 000003
【図２】
2019053859.tif 000004
【図３】
2019053859.tif 000005
【図４】
2019053859.tif 000006
【図５】
2019053859.tif 000007
【図６】
2019053859.tif 000008
【図７】
2019053859.tif 000009
【図８】
2019053859.tif 000010
【図９】
2019053859.tif 000011
【図１０】
2019053859.tif 000012
【図１１】
2019053859.tif 000013
【図１２】
2019053859.tif 000014
【図１３】
2019053859.tif 000015
【図１４】
2019053859.tif 000016
【図１５】
2019053859.tif 000017
【図１６】
2019053859.tif 000018
【図１７】
2019053859.tif 000019
【図１８】
2019053859.tif 000020
【図１９】
2019053859.tif 000021
【図２０】
2019053859.tif 000022
【図２１】
2019053859.tif 000023
【図２２】
2019053859.tif 000024
【図２３】
2019053859.tif 000025
【図２４】
2019053859.tif 000026
【図２５】
2019053859.tif 000027
【図２６】
2019053859.tif 000028
【図２７】
2019053859.tif 000029
【図２８】
2019053859.tif 000030
【図２９】
2019053859.tif 000031
【図３０】
2019053859.tif 000032
【図３１】
2019053859.tif 000033
【国際調査報告】
2019053859.tif 000034
2019053859.tif 000035
2019053859.tif 000036