(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0025】
本発明の実施形態を、図面を参照しながら説明する。
【0026】
[全体構成]
図1及び
図2は、実施形態に係る電動アシスト車いす1(以下、省略して「車いす1」ともいう。)を示す左側面図及び平面図である。本明細書において、前方向、後方向、上方向、下方向、左方向及び右方向とは、車いす1のシート5に座った乗員から見た前方向、後方向、上方向、下方向、左方向及び右方向を指す。左右方向は車幅方向ともいう。
図1及び
図2中の矢印Fは、前方向を表している。
【0027】
車いす1は、金属パイプ等で形成された車体フレーム3を備えている。車体フレーム3には、左右一対の車輪2L,2R及び左右一対のキャスタ4L,4Rが回転可能に支持されている。車体フレーム3は、左右一対のバックフレーム3b、左右一対のアームレスト3c及び左右一対のシートフレーム3dを含んでいる。
【0028】
シートフレーム3dは車輪2L,2Rの車軸近傍から前方向に延びており、シートフレーム3dの間には乗員が着座するためのシート5が設けられている。シートフレーム3dの前部は下方向に折れ曲がっており、シートフレーム3dの前下端にはフットレスト9が設けられている。
【0029】
シートフレーム3dの後端はバックフレーム3bに連結されている。バックフレーム3bは上方向に延びており、バックフレーム3bの間にはバックサポート6が設けられている。バックフレーム3bの上部は後方向に折れ曲がっており、介助者用のハンドグリップ7が設けられている。
【0030】
シートフレーム3dの上方向にはアームレスト3cが配置されている。アームレスト3cの後端はバックフレーム3bに連結されている。アームレスト3cの前部は下方向に折れ曲がっており、シートフレーム3dに連結されている。
【0031】
車輪2L,2Rは、車軸を含む円盤状のハブ25、ハブ25を囲む外周部26、及びハブ25と外周部26との間に介在する放射状に延びる複数のスポーク27を含んでいる。外周部26は、スポーク27が連結されるリム、及びリムに取り付けられるタイヤを含んでいる。
【0032】
車いす1には、車輪2L,2Rをそれぞれ人力で駆動するためのハンドリム13L,13Rが設けられている。ハンドリム13L,13Rは、環状かつ車輪2L,2Rよりも小径に形成されており、ハブ25から放射状に延びる複数の接続パイプ28に連結されている。
【0033】
また、車いす1には、車輪2L,2Rをそれぞれ駆動する電動モータ21L,21Rも設けられている。電動モータ21L,21Rは、例えばブラシレスDCモータ又はACサーボモータからなり、回転を検出するためのエンコーダ24L,24R(
図3を参照)を有している。
【0034】
具体的には、左車輪2Lに対して車幅方向の外側に左ハンドリム13Lが配置されている。車いす1の乗員は、左ハンドリム13Lを回転操作することにより左車輪2Lを人力で駆動する。また、左車輪2Lに対して車幅方向の内側に左電動モータ21Lが配置されている。左車輪2Lは左電動モータ21Lと一体的に回転する。左電動モータ21Lは左車輪2Lと同軸に設けられてもよいし、ギアを介して連結されてもよい。
【0035】
同様に、右車輪2Rに対して車幅方向の外側に右ハンドリム13Rが配置されている。車いす1の乗員は、右ハンドリム13Rを回転操作することにより右車輪2Rを人力で駆動する。また、右車輪2Rに対して車幅方向の内側に右電動モータ21Rが配置されている。右車輪2Rは右電動モータ21Rと一体的に回転する。右電動モータ21Rは右車輪2Rと同軸に設けられてもよいし、ギアを介して連結されてもよい。
【0036】
図3に示すように、車いす1は、電動モータ21L,21Rをそれぞれ制御するためのコントローラ30L,30Rを備えている。本例では、実施形態に係る制御装置として、電動モータ21L,21Rをそれぞれ制御する2つのコントローラ30L,30Rを備えているが、これに限らず、電動モータ21L,21Rの両方を制御する1つのコントローラを備えてもよい。
【0037】
また、車いす1は、トルクセンサ29L,29Rを備えている。トルクセンサ29L,29Rは、例えばハンドリム13L,13Rに接続された接続パイプ28と車輪2L,2Rのハブ25との間に設けられ、ハンドリム13L,13Rから車輪2L,2Rに入力されるトルクを検出する。トルクセンサ29L,29Rが検出したトルクは、人力トルクとして扱われる。
【0038】
具体的には、左電動モータ21Lに設けられた左エンコーダ24Lは、左電動モータ21Lの回転を検出し、回転に応じた検出信号を左コントローラ30Lに出力する。左車輪2Lに設けられた左トルクセンサ29Lは、左ハンドリム13Lから左車輪2Lに入力されるトルクを検出し、トルクに応じた検出信号を左コントローラ30Lに出力する。左コントローラ30Lは、左エンコーダ24L及び左トルクセンサ29Lからの検出信号などに基づいて左電動モータ21Lの目標電流を決定し、目標電流が流れるように左電動モータ21Lに出力する電流を制御する。これにより、左電動モータ21Lが出力するアシストトルクが調整される。
【0039】
同様に、右電動モータ21Rに設けられた右エンコーダ24Rは、右電動モータ21Rの回転を検出し、回転に応じた検出信号を右コントローラ30Rに出力する。右車輪2Rに設けられた右トルクセンサ29Rは、右ハンドリム13Rから右車輪2Rに入力されるトルクを検出し、トルクに応じた検出信号を右コントローラ30Rに出力する。右コントローラ30Rは、右エンコーダ24R及び右トルクセンサ29Rからの検出信号などに基づいて右電動モータ21Rの目標電流を決定し、目標電流が流れるように右電動モータ21Rに出力する電流を制御する。これにより、右電動モータ21Rが出力するアシストトルクが調整される。
【0040】
コントローラ30L,30Rはそれぞれ、マイクロプロセッサ及び記憶部を含んでおり、マイクロプロセッサが記憶部に記憶されたプログラムに従って処理を実行する。記憶部は、主記憶部(例えばRAM)及び補助記憶部(例えば不揮発性半導体メモリ)を含んでいる。プログラムは、情報記憶媒体又は通信線を介して記憶部に供給される。
【0041】
コントローラ30L,30Rはそれぞれ、マイクロプロセッサ及び記憶部の他に、モータドライバ、ADコンバータ及び通信インターフェース等も含んでいる。左コントローラ30Lと右コントローラ30Rとは、例えばCAN(Controller Area Network)を使用した通信により情報を互いに送受信する。
【0042】
車いす1には、電動モータ21L,21R及びコントローラ30L,30Rに電力を供給するためのバッテリ22が搭載されている。本例では、バッテリ22は車体フレーム3の右後部に着脱可能に配置されている。また、車いす1には、バックサポート6の後方向で左右方向に延びる、給電線及び通信線を含むケーブル23が設けられている。
【0043】
本例では、バッテリ22から右電動モータ21R及び右コントローラ30Rには直接的に電力が供給され、バッテリ22から左電動モータ21L及び左コントローラ30Lにはケーブル23を介して電力が供給される。また、左コントローラ30Lと右コントローラ30Rとは、ケーブル23に含まれる通信線を介して情報を互いに送受信する。
【0044】
車いす1は、車体フレーム3に対して着脱可能な実施形態に係る車いす用電動アシストユニット10(以下、省略して「ユニット10」ともいう。)を含んでいる。ユニット10は、車輪2L,2R、ハンドリム13L,13R、電動モータ21L,21R、エンコーダ24L,24R、及びコントローラ30L,30Rを含んでいる。また、ユニット10は、バッテリ22及びケーブル23も含んでいる。
【0045】
ユニット10は、車体フレーム3とは別の車体フレームに対しても着脱可能である。例えば、一般的な車いすの車体フレームから車輪を取り外し、その車体フレームにユニット10を取り付けることで、一般的な車いすを電動アシスト車いす1に変えることが可能である。
【0046】
[機能ブロック]
図4は、コントローラ30L,30Rの機能構成を示すブロック図である。各機能ブロックは、コントローラ30L,30Rに含まれるマイクロプロセッサが記憶部に記憶されたプログラムに従って処理を実行することによって実現される。同図では、右コントローラ30Rの機能構成を主に図示しているが、左コントローラ30Lも同様の機能構成を有している。以下では、右コントローラ30Rの機能構成について説明し、左コントローラ30Lについては詳細な説明を省略する。
【0047】
右コントローラ30Rは、右車輪2Rの人力トルク値T
RHに基づいて右電動モータ21Rの目標電流i
RMを決定するブロック群として、アシスト計算部41、アシスト制限部42、加算部44、符号調整部46、トルク指令生成部47、及び目標電流決定部48を備えている。
【0048】
人力トルク値T
RHは、例えば右トルクセンサ29Rにより検出される、右ハンドリム13Rから右車輪2Rに入力されるトルクの値である。人力トルクは、人から入力されたトルクであり、例えば車いす1の乗員がハンドリム13L,13Rを回転操作することによって車輪2L,2Rに入力したトルクである。
【0049】
なお、トルクセンサ29L,29Rは必須ではなく、例えばエンコーダ24L,24Rの検出信号から算出される合算トルク値から、電動モータ21L,21Rの出力電流から算出されるモータトルク値を減算することによっても、人力トルク値を推定することが可能である。その場合、例えば介助者がハンドグリップ7を押したり、乗員が床を蹴ったり、乗員が車輪2を直接回すこと等によって車輪2L,2Rに入力したトルクも、人力トルク値として取得することが可能である。
【0050】
アシスト計算部41は、右トルクセンサ29Rからの人力トルク値T
RHに基づいてアシストトルク値T
αRを算出し、アシスト制限部42に出力する。アシストトルク値T
αRは、例えば人力トルク値T
RHに所定のアシスト比αを乗じることによって算出される。アシスト比αは、例えば
図5に示すように車速Vの増加に伴ってアシスト比αが減少するように設定される。車速Vは、例えば後述の車速算出部65から取得される。アシスト計算部41は、例えば記憶部に格納された車速−アシスト比マップから車速Vに対応するアシスト比αを取得する。
【0051】
これに限らず、アシスト計算部41は、右トルクセンサ29Rからの人力トルク値T
RHと、左コントローラ30Lからの人力トルク値T
LHとに基づいてアシストトルク値T
αRを算出してもよい。例えば、人力トルク値T
RH,T
LHを加算することで直進成分を取り出し、人力トルク値T
RH,T
LHの一方から他方を減算することで旋回成分を取り出して、直進成分に直進用のアシスト比を乗じ、旋回成分に旋回用のアシスト比を乗じるように構成してもよい。
【0052】
アシスト制限部42は、アシスト計算部41からのアシストトルク値T
αRが所定の上限値を超えているか否かを判定し、上限値を超えていない場合にはアシストトルク値T
αRをそのまま加算部44に出力し、上限値を超えている場合には上限値をアシストトルク値T
αRとして加算部44に出力する。上限値は、例えば右電動モータ21Rの限界出力を考慮して設定される。
【0053】
加算部44は、アシスト制限部42からのアシストトルク値T
αRにカウンタートルク値R
cpの右輪分R
cpR(詳細は後述)を加算する。右輪分R
cpRが加算されたアシストトルク値T
αRは、符号調整部46で符号が調整された上で、トルク指令生成部47に出力される。符号調整部46は、一方の車輪2が正回転するときに他方の車輪2が逆回転することを考慮して設けられている。
【0054】
トルク指令生成部47は、符号調整部46からの右輪分R
cpRが加算されたアシストトルク値T
αRに基づいてトルク指令値T
RMを算出し、目標電流決定部48と後述の減算部53とに出力する。トルク指令値T
RMの算出には、例えばゲインの大きさや減衰の時定数などの制御パラメータが利用される。
【0055】
目標電流決定部48は、トルク指令生成部47からのトルク指令値T
RMに基づいて右電動モータ21Rの目標電流i
RMを決定する。目標電流決定部48は、例えばトルク指令値T
RMをモータトルク定数ktで除することで、右電動モータ21Rの目標電流i
RMを決定する。右コントローラ30Rに含まれる不図示のモータドライバは、目標電流i
RMが流れるように右電動モータ21Rに出力する電流を制御する。
【0056】
[片流れ防止制御]
コントローラ30L,30Rは、以下に説明する片流れ防止制御を実行する。片流れとは、車幅方向に傾斜した地面において車いす1の進行方向が傾斜方向にずれてしまうことである。
【0057】
図6に示すように、片流れ防止制御は、車体の旋回方向(ヨー方向)について、車輪2L,2Rに入力された人力トルク及び電動モータ21L,21Rが出力したモータトルクに基づいて算出される予測旋回トルクR
esと、エンコーダ24L、24Rの検出信号に基づいて算出される実旋回トルクR
rlとの差を算出することで、人力トルク及びモータトルク以外の車体に加わる外部トルクETを推定し、外部トルクETを相殺するためのカウンタートルク(補償旋回トルク)R
cpを発生させる制御である。
【0058】
予測旋回トルクR
esは、車輪2L,2Rに入力された人力トルク及び電動モータ21L,21Rが出力したモータトルクに基づく、発生が予測される旋回方向のトルクである。実旋回トルクR
rlは、車輪2L,2Rの回転を検出するエンコーダ24L、24Rの検出信号に基づく、実際に発生した旋回方向のトルクである。
【0059】
予測旋回トルクR
esと実旋回トルクR
rlとの差が外部トルクETとして推定される。外部トルクETは、例えば車いす1が傾斜した地面にあるときに傾斜方向に作用し、片流れが生じる要因となる。すなわち、傾斜に基づく外部トルクETが車いす1に作用することで、車いす1の進行方向が乗員が意図した方向からずれてしまう。
【0060】
カウンタートルクR
cpは、外部トルクETとは逆方向に発生させる旋回方向のトルクである。カウンタートルクR
cpを発生させることで外部トルクETが相殺され、片流れが抑制される。すなわち、例えば車いす1が傾斜した地面にあっても、傾斜方向とは逆方向にカウンタートルクR
cpが作用するので、車いす1の進行方向が傾斜方向にずれ難くなる。コントローラ30L,30Rは、電動モータ21L,21Rが出力するモータトルクにカウンタートルクR
cpが含まれるように、電動モータ21L,21Rを駆動する。
【0061】
具体的には、
図6に示すように、予測旋回トルクR
esに対して実旋回トルクR
rlが不足する場合、予測旋回トルクR
esとは逆方向に外部トルクETが作用していると推定されることから、予測旋回トルクR
esと同方向にカウンタートルクR
cpを発生させる。言い換えると、予測旋回トルクR
esに対する実旋回トルクR
rlの不足分がカウンタートルクR
cpによって補償される。
【0062】
これとは逆に、予測旋回トルクR
esに対して実旋回トルクR
rlが過剰な場合、予測旋回トルクR
esと同方向に外部トルクETが作用していると推定されることから、予測旋回トルクR
esとは逆方向にカウンタートルクR
cpを発生させる。言い換えると、予測旋回トルクR
esに対する実旋回トルクR
rlの過剰分がカウンタートルクR
cpによって補償される。
【0063】
ところで、車いす1の動き始め等、車速が比較的低い低速域において片流れ防止制御が働き、旋回性が強調され易いことが本願発明者らの研究によって判明した。例えば車いす1が傾斜の無い平坦な地面にあって、本来であれば片流れ防止制御が不要な場合であっても、動き始め等の低速域で片流れ防止制御が働いて、旋回性が強調されてしまうことがある。この課題は、以下のような理由で生じると考えられる。
【0064】
図7は、車いす1の動き始めの運動を示す図である。まず、車いす1が傾斜の無い平坦な地面で停止した状態から直進しようとするときの運動について考える。ハンドリム13L,13Rから車輪2L,2Rに入力される左右の人力トルクT
LH,T
RHは必ずしも等しくなく、トルク差が生じることがある。その場合、車いす1は直進方向ではなく、直進方向から左右にずれた方向に旋回しながら動き始める。
図7の例では、右の人力トルクT
RHが左の人力トルクT
LHよりやや大きく、車いす1が直進方向からやや左にずれた方向に旋回しながら動き出す場合を示している。
【0065】
このとき、車いす1の実際の軌道O
rlは、車輪2L,2Rに入力される人力トルクT
LH,T
RH及びそれらに応じて出力されるモータトルクから予測される軌道O
esよりも曲がりが小さいことがある。これは、動き始め等の低速域では、キャスタ4L,4Rの向きを進行方向に揃えることにトルクの一部が消費されるためであると考えられる。
【0066】
このことはつまり、上記
図6に示すように予測旋回トルクR
esに対して実旋回トルクR
rlが不足することと同じである。このため、片流れ防止制御を実行するコントローラ30L,30Rは、旋回方向とは反対方向の外部トルクETが車いす1に加わっていると推定して、旋回方向にカウンタートルクR
cpを発生させてしまう。
図7の例では、直進方向からやや左にずれた方向に旋回しながら動き出した車いす1に右方向の外部トルクETが加わっていると推定して、左方向のカウンタートルクR
cpを発生させる場合を示している。
【0067】
このように旋回方向にカウンタートルクR
cpが発生する結果、車いす1は曲がり易くなる。以上が、片流れ防止制御の実行時に低速域において旋回性が強調され易くなる理由と考えられる。
【0068】
一方で、車速が比較的高い高速域においては、旋回性が強調され易いという課題は現れ難い。これは、高速域ではキャスタ4L,4Rの向きが進行方向に予め揃っているため、キャスタ4L,4Rの向きを変えることに低速域ほどトルクを消費しないためと考えられる。また、上記
図5に示したようにアシスト比αは高速域ほど低速域よりも低く設定されることが一般的であるため、高速域では低速域よりも電動モータ21L,21Rが出力するモータトルクが小さくなり、車輪2L,2Rのトルク差が小さくなるためとも考えられる。また、車いす1の運動を考えると、高速域では低速域よりも曲がり難い、すなわち旋回運動の向心力が同じであると仮定したとき、高速域では低速域よりも旋回半径が大きく直線運動に近づくためであるとも考えられる。
【0069】
以上に説明した片流れ防止制御の実行時に低速域において旋回性が強調され易いという課題を解決するため、本実施形態では、片流れ防止制御により発生するカウンタートルクR
cpを、車速が第1速度であるときの値が車速が第1速度より速い第2速度であるときの値よりも小さくなるように出力している。すなわち、カウンタートルクR
cpを、車速が比較的低いときの値が車速が比較的高いときの値よりも小さくなるように出力している。ここで、車速が速いとは車速の絶対値が大きいことを指す。
【0070】
以下、
図4の説明に戻り、本実施形態に係る片流れ防止制御を実現する構成について説明する。
【0071】
右コントローラ30Rは、予測旋回トルク値R
esを算出するブロック群(予測旋回トルク算出部の一例)として、減算部51、減算部53、及び加算部55を備えている。このブロック群は、右車輪2Rの人力トルク値T
RH、左車輪2Lの人力トルク値T
LH、右電動モータ21Lのトルク指令値T
RM、及び左電動モータ21Lのトルク指令値T
LMに基づいて予測旋回トルク値R
esを算出する。
【0072】
減算部51は、右車輪2Rの人力トルク値T
RHと左車輪2Lの人力トルク値T
LHとの差分を算出することで、人力トルクに係る予測旋回トルク値を算出する。一方、減算部53は、右車輪2Rのトルク指令値T
RHと左電動モータ21Lのトルク指令値T
LMとの差分を算出することで、モータトルクに係る予測旋回トルク値を算出する。加算部55は、減算部51からの人力トルクに係る予測旋回トルク値と、減算部53からのモータトルクに係る予測旋回トルク値とを足し合わせることで、全体の予測旋回トルク値R
esを算出し、後述の減算部71に出力する。
【0073】
右コントローラ30Rは、実旋回トルク値R
rlを算出するブロック群(実旋回トルク算出部の一例)として、減算部61、及び実旋回トルク算出部63を備えている。このブロック群は、右エンコーダ24Rの検出信号及び左エンコーダ24Lの検出信号に基づいて実旋回トルク値R
rlを算出する。
【0074】
減算部61は、右エンコーダ24Rからの検出信号に基づく右車輪2Rの回転速度と、左エンコーダ24Lからの検出信号に基づく左車輪2Lの回転速度との差分を算出することで、車輪2L,2Rの回転速度差を算出する。
【0075】
実旋回トルク算出部63は、減算部61からの車輪2L,2Rの回転速度差に基づいて実旋回トルク値R
rlを算出し、後述の減算部71に出力する。具体的には、実旋回トルク算出部63は、例えば旋回方向の運動方程式「J・dω/dt=T−Dω」を利用して車輪2L,2Rの回転速度差を実旋回トルク値R
rlに変換する。ここで、ωは車輪2L,2Rの回転速度差であり、Jは慣性モーメントであり、Dは粘性係数であり、Tは実旋回トルク値R
rlである。
【0076】
右コントローラ30Rは、車いす1の車速を算出する車速算出部65を備えている。車速算出部65は、右エンコーダ24Rの検出信号及び左エンコーダ24Lの検出信号に基づいて車速を算出し、後述のゲイン調整部75に出力する。車速算出部65は、例えば右エンコーダ24Rからの検出信号に基づく右車輪2Rの回転速度と、左エンコーダ24Lからの検出信号に基づく左車輪2Lの回転速度との平均値を算出し、この平均値から車速を算出する。
【0077】
これに限らず、車速算出部65は、エンコーダ24L,24Rの一方の検出信号に基づいて車速を算出してもよいし、加速度センサを別途設けて、加速度センサの検出信号に基づいて車速を算出してもよい。
【0078】
右コントローラ30Rは、カウンタートルク値R
cpを算出するブロック群(補償旋回トルク算出部の一例)として、減算部71、カウンタートルク算出部73、及びゲイン調整部75を備えている。このブロック群は、加算部55からの予測旋回トルク値R
esと、実旋回トルク算出部63からの実旋回トルク値R
rlとに基づいてカウンタートルク値R
cpを算出する。
【0079】
減算部71は、加算部55からの予測旋回トルク値R
esと、実旋回トルク算出部63からの実旋回トルク値R
rlとの差分を算出し、カウンタートルク算出部73に出力する。当該差分は、車いす1に作用する外部トルクETを表す。図示の例では、減算部71において実旋回トルク値R
rlから予測旋回トルク値R
esを減算し、加算部44においてアシストトルク値T
αRにカウンタートルク値R
cpの右輪分R
cpRを加算している。
【0080】
これとは逆に、減算部71において予測旋回トルク値R
esから実旋回トルク値R
rlを減算し、加算部44においてアシストトルク値T
αRからカウンタートルク値R
cpの右輪分R
cpRを減算してもよい。
【0081】
カウンタートルク算出部73は、予測旋回トルク値R
esと実旋回トルク値R
rlとの差分に基づいて基礎カウンタートルク値を算出する。基礎カウンタートルク値は、予測旋回トルク値R
esに対する実旋回トルク値R
rlの不足分又は過剰分の少なくとも一部を補償するように算出される。基礎カウンタートルク値の大きさは、例えば予測旋回トルク値R
esと実旋回トルク値R
rlとの差分と同じとされるが、これに限らず、当該差分より大きくしてもよいし小さくしてもよい。
【0082】
ゲイン調整部75は、カウンタートルク算出部73からの基礎カウンタートルク値に車速算出部65からの車速に応じたゲインを乗じることで、カウンタートルク値R
cpを算出する。カウンタートルク値R
cpは、車速が第1速度であるときの値が車速が第1速度より速い第2速度であるときの値よりも小さくなるようにゲイン調整される。
【0083】
ゲイン調整部75は、例えば記憶部に記憶された車速とゲインとの関係を表す車速−ゲインマップを利用して、車速に応じたゲイン調整を行う。具体的には、ゲイン調整部75は、車速に対応するゲインを車速−ゲインマップから読み出し、読み出したゲインを基礎カウンタートルク値に乗じる。これに限らず、ゲイン調整部75は、例えば予め定められた数式を利用して、車速に応じたゲイン調整を行ってもよい。
【0084】
図8は、車速−ゲインマップの一例を示す図である。ゲインGは、車速Vが第1速度であるときの値が車速Vが第1速度より速い第2速度であるときの値よりも小さくなるように設定されている。すなわち、ゲインGは、車速Vが比較的低いときの値が車速Vが比較的高いときの値よりも小さくなるように設定されている。
【0085】
具体的には、車速Vの絶対値がv1以下の範囲(以下、低速域)ではゲインGは0とされている。車速Vの絶対値がv1以上v2以下の範囲(以下、中速域)では、ゲインGは0から100%まで車速Vの絶対値が大きくなるに従って徐々に増加している。車速Vの絶対値がv2以上の範囲(以下、高速域)ではゲインGは100%とされている。本例では、v1は例えば1km/hであり、v2は例えば4km/hである。車速Vが低速域であるときのゲインGは、車速Vが中速域又は高速域にあるときのゲインよりも小さい。また、車速Vが中速域であるときのゲインGは、車速Vが高速域にあるときのゲインGよりも小さい。
【0086】
これに限らず、
図9に示すように、低速域ではゲインGは0より大きくてもよい。低速域でのゲインGは、例えば5%以上、更には10%以上であることが好ましく、50%以下、更には40%以下であることが好ましい。
【0087】
分配算出部77は、ゲイン調整部75によりゲイン調整されたカウンタートルク値R
cpに基づいて、カウンタートルク値R
cpの右輪分R
cpRを算出し、加算部44に出力する。右輪分R
cpRは、カウンタートルクを生じさせるために右電動モータ21Rから右車輪2Rに出力されるトルクを表す。加算部44に出力された右輪分R
cpRは、右電動モータ21Rのトルク指令値T
RMに含められる。左コントローラ30Lでも同様に、カウンタートルク値R
cpの左輪分R
cpLが算出され、左電動モータ21Lのトルク指令値T
LMに含められる。
【0088】
例えば左方向にカウンタートルクを発生させる場合、カウンタートルク値R
cpの一部(例えば半分)が右輪分R
cpRとして算出され、右車輪2Rのアシストトルク値T
αRを増加させる。一方、残部が左輪分R
cpLとして算出され、左車輪2Lのアシストトルク値T
αLを減少させる。これに限らず、例えばカウンタートルク値R
cpの全部が右輪分R
cpRとされ、左輪分R
cpLが0とされてもよい。
【0089】
なお、以上に説明した例では、コントローラ30L,30Rの両方が予測旋回トルク値R
es、実旋回トルク値R
rl及びカウンタートルク値R
cpを算出しているが、これに限らず、例えばコントローラ30L,30Rの一方が予測旋回トルク値R
es、実旋回トルク値R
rl及びカウンタートルク値R
cpの少なくとも一部を算出し、他方に送信するように構成されてもよい。
【0090】
図10及び
図11は、実施形態に係る制御方法を示すフロー図である。コントローラ30L,30Rは、マイクロプロセッサが記憶部に記憶された実施形態に係るプログラムに従って処理を実行することによって、同図に示す片流れ防止制御を実現する。同図に示す片流れ防止制御は、コントローラ30L,30Rのそれぞれにおいて実行される。
【0091】
まず、コントローラ30L,30Rは、予測旋回トルク値R
es及び実旋回トルク値R
rlから基礎カウンタートルク値を算出する(S11)。上述したように、予測旋回トルク値R
esは、車輪2L,2Rに入力される人力トルクを表す人力トルク値T
LH,T
RH、及び電動モータ21L,21Rから出力されるモータトルクを表すトルク指令値T
LM,T
RMに基づいて算出される。また、実旋回トルク値R
rlは、車輪2L,2Rの回転を検出するエンコーダ24L、24Rの検出信号に基づいて算出される。基礎カウンタートルク値は、予測旋回トルク値R
esに対する実旋回トルク値R
rlの不足分又は過剰分を補償するように算出される。
【0092】
次に、コントローラ30L,30Rは、ゲイン計算ルーチンを実行する(S12)。
図11に示すゲイン計算ルーチンS12において、まず、コントローラ30L,30Rは、エンコーダ24L,24Rの検出信号に基づいて車いす1の車速を算出する(S21)。次に、コントローラ30L,30Rは、算出した車速に対応するゲインGを車速−ゲインマップから算出される(S22)。上述したように、ゲインGは、車速Vが第1速度であるときの値が車速Vが第1速度より速い第2速度であるときの値よりも小さくなるように設定されている(
図8又は
図9を参照)。ゲインGが算出されると、ゲイン計算ルーチンS12が終了する。
【0093】
図10の説明に戻り、コントローラ30L,30Rは、基礎カウンタートルク値にゲインGを乗ずることによって、カウンタートルク値R
cpを算出する。これにより、カウンタートルク値R
cpは、車速が第1速度であるときの値が車速が第1速度より速い第2速度であるときの値よりも小さくなるように算出される。このように算出されたカウンタートルク値R
cpは、上述したように左輪分R
cpLと右輪分R
cpRとに分けられ、電動モータ21L,21Rのトルク指令値T
LM,T
RMに含められる。その結果、車いす1にカウンタートルクが発生する。
【0094】
以上に説明した実施形態によれば、カウンタートルク値R
cpは、車速が第1速度であるときの値が車速が第1速度より速い第2速度であるときの値よりも小さくなるようにゲイン調整されるので、片流れ防止制御を実行しつつ低速域における車両の旋回性を抑制することが可能となる。
【0095】
一方で、旋回性が強調され易いという課題が現れ難い高速域においては、片流れ防止制御の効果を最大化することが可能となる。
【0096】
具体的には、上記
図8に示すように車速Vの絶対値がv1以下の低速域におけるゲインGを0として、カウンタートルク値R
cpを0とすることで、低速域において片流れ防止制御を無効化して車両の旋回性を抑制することが可能となる。
【0097】
また、上記
図9に示すように車速Vの絶対値がv1以下の低速域におけるゲインGを0より大きくして、カウンタートルク値R
cpを0より大きくすることで、低速域において片流れ防止制御を効かせつつ車両の旋回性を抑制することが可能となる。
【0098】
[第1変形例]
図12は、第1変形例に係る車いす1Aを示すブロック図である。車いす1Aは、上記
図3に示す車いす1の構成に加えて、車体の傾きを検出する傾きセンサ81をさらに備えている。傾きセンサ81は、例えば右コントローラ30Rに接続されており、車幅方向の車体の傾きに応じた検出信号を右コントローラ30Rに出力する。右コントローラ30Rは、傾きセンサ81からの検出信号に基づいて車幅方向の車体の傾きを表す値を取得するとともに、左コントローラ30Lに出力する。これとは逆に、傾きセンサ81は左コントローラ30Lに接続されてもよい。なお、車体の傾きを検出するセンサとしては、傾きセンサ81に限らず、例えばジャイロセンサが適用されてもよい。
【0099】
車いす1Aのコントローラ30L,30Rに含まれるゲイン調整部75(上記
図4を参照)は、車いす1の車速と車幅方向の傾きとに応じたゲインを基礎カウンタートルク値に乗じることで、カウンタートルク値R
cpを算出する。カウンタートルク値R
cpは、傾きが第1傾斜角であるときの値が傾きが第1傾斜角より小さい第2傾斜角であるときの値よりも大きくなるようにゲイン調整される。すなわち、カウンタートルク値R
cpは、傾きが比較的大きいときの値が傾きが比較的小さいときの値よりも大きくなるようにゲイン調整される。ゲイン調整部75は、例えば記憶部に記憶された車速と傾きとゲインとの関係を表す3次元マップを利用して、車速と傾きとに応じたゲイン調整を行う。
【0100】
図13は、車速と傾きとゲインとの関係を表す3次元マップの一例を示す図である。同図では、傾きが互いに異なる車速とゲインとの関係を表す3つの線を、車速−ゲイン平面に投影している。ゲインGは、傾きが第1傾斜角であるときの値が傾きが第1傾斜角より小さい第2傾斜角であるときの値よりも大きくなるように設定されている。すなわち、ゲインGは、傾きが比較的大きいときの値が傾きが比較的小さいときの値よりも大きくなるように設定されている。
【0101】
具体的には、車速Vの絶対値がv1以下の低速域において、ゲインGは、傾きが比較的大きいときの値が傾きが比較的小さいときの値よりも大きくなるように設定されている。傾きが0の場合は、ゲインGを0としてよい。また、車速Vの絶対値がv1以上v2以下の中速域でも同様に、ゲインGは、傾きが比較的大きいときの値が傾きが比較的小さいときの値よりも大きくなるように設定されている。一方で、車速Vの絶対値がv2以上の高速域では、ゲインGは傾きが変化しても100%のままである。
【0102】
以上に説明した変形例によれば、傾きが比較的小さいときに片流れ防止制御を弱めて車両の旋回性を抑制することが可能となる。すなわち、車幅方向の傾きが比較的小さく、片流れ防止制御を働かせる必要性が比較的低い場合には、片流れ防止制御を弱めて車両の旋回性を抑制する一方で、車幅方向の傾きが比較的大きく、片流れ防止制御を働かせる必要性が比較的高い場合には、片流れ防止制御を強めて片流れを抑制することが可能である。
【0103】
[第2変形例]
図14は、第2変形例に係る車いす1Bを示すブロック図である。車いす1Bは、上記
図3に示す車いす1の構成に加えて、シート5に着座した乗員の重量を検出する重量センサ83をさらに備えている。重量センサ83は、例えば右コントローラ30Rに接続されており、乗員の重量に応じた検出信号を右コントローラ30Rに出力する。右コントローラ30Rは、重量センサ83からの検出信号に基づいて乗員の重量を表す値を取得するとともに、左コントローラ30Lに出力する。これとは逆に、重量センサ83は左コントローラ30Lに接続されてもよい。
【0104】
図15は、車いす1Bのコントローラ30L,30Rの機能構成を示すブロック図である。以下では、右コントローラ30Rの機能構成について説明するが、左コントローラ30Lも同様の機能構成を有している。同図では、実旋回トルク算出部63及びその前後のブロックのみを図示し、その他のブロックの図示を省略している。右コントローラ30Rは、上記
図4に示す機能構成に加えて、J値選択部67をさらに備えている。
【0105】
上述したように、実旋回トルク算出部63は、旋回方向の運動方程式「J・dω/dt=T−Dω」を利用して車輪2L,2Rの回転速度差を実旋回トルク値R
rlに変換する。この変換式「J・dω/dt=T−Dω」に含まれる係数Jは慣性モーメントを表すが、計算に用いるJ値が実際の値と乖離すると、実旋回トルク値R
rlの算出結果も実際の値から乖離するおそれがある。
【0106】
そこで、本変形例ではJ値選択部67を設けて、実旋回トルク算出部63が実旋回トルク値R
rlを算出するための変換式「J・dω/dt=T−Dω」に含まれるJ値を変更可能としている。具体的には、J値選択部67は、重量センサ83により検出された重量に基づいてJ値を選択し、実旋回トルク算出部63は、選択されたJ値を利用して実旋回トルク値R
rlを算出する。
【0107】
慣性モーメントは、シート5に着座した乗員の重量に依るところが比較的大きい。このため、本変形例では、重量センサ83により検出された乗員の重量に応じてJ値を選択することで、計算に用いるJ値が実際の値と乖離することを抑制している。
【0108】
J値選択部67は、例えば記憶部に格納された重量−J値テーブルを参照して、検出された重量に対応するJ値を取得し、実旋回トルク算出部63に出力する。
図16は、重量−J値テーブルの一例を示す図である。重量−J値テーブルでは、重量の範囲ごとにJ値が対応付けられている。
【0109】
以上に説明した変形例によれば、実旋回トルク値R
rlを算出するための変換式「J・dω/dt=T−Dω」に含まれるJ値が変更可能であるので、適切なJ値の利用により実旋回トルク値R
rlの精度の向上を図ることが可能となる。具体的には、重量センサ83により検出された乗員の重量に基づいてJ値を選択することで、実旋回トルク値R
rlの精度の向上を図ることが可能となる。
【0110】
[第3変形例]
図17は、第3変形例に係る車いす1Cを示すブロック図である。車いす1Cの右コントローラ30Rは、外部の端末85と通信可能に構成されている。具体的には、右コントローラ30Rにはコネクタ301が設けられており、このコネクタ301に端末85から延びるケーブルに設けられたコネクタ851が接続されることで、右コントローラ30Rと端末85とが通信可能となる。これに限らず、右コントローラ30Rと端末85とは無線通信により通信可能であってもよい。なお、左コントローラ30Lが端末85と通信可能に構成されてもよい。
【0111】
端末85は、例えばタッチパネル又はキーボード等の入力装置を備えており、端末85のユーザからJ値の入力を受け付け(受付部の例)、受け付けたJ値とともにJ値を変更するための指令をコントローラ30L,30Rに送信する(出力部の例)。コントローラ30L,30Rは、端末85から指令を受信すると、記憶部に格納されているJ値を受信したJ値に書き換える。これにより、実旋回トルク算出部63(
図4及び
図15を参照)は、記憶部に新たに格納されたJ値を含んだ変換式「J・dω/dt=T−Dω」を利用して実旋回トルク値R
rlを算出する。
【0112】
これに限らず、端末85は、例えば液晶表示パネル等の表示装置に複数のJ値を表示して、J値の選択を受け付けてもよい。
【0113】
また、端末85は、例えば車いす1を利用する乗員の重量の入力又は選択を受け付け、受け付けた重量とともにJ値を変更するための指令をコントローラ30L,30Rに送信してもよい。この場合、コントローラ30L,30Rは、上記第2変形例と同様のJ値選択部67を備え、J値選択部67は、端末85から受信した重量に対応するJ値を選択し、記憶部に格納されているJ値を選択されたJ値に書き換える。
【0114】
以上に説明した変形例によれば、実旋回トルク値R
rlを算出するための変換式「J・dω/dt=T−Dω」に含まれるJ値が変更可能であるので、適切なJ値の利用により実旋回トルク値R
rlの精度の向上を図ることが可能となる。具体的には、外部の端末85からJ値を設定することで、実旋回トルク値R
rlの精度の向上を図ることが可能となる。
【0115】
車いす1の工場出荷時には乗員の重量が不明である。特に、車体フレーム3に対して着脱可能なユニット10の場合は、乗員の重量も車体フレーム3の重量も不明である。このため、工場出荷時から適切なJ値を設定することは困難である。しかし、本変形例のように端末85によりJ値を変更可能にすることで、例えば販売店などで乗員の重量や車体フレーム3の重量を考慮して適切なJ値を設定することが可能である。
【0116】
なお、上記第2変形例及び第3変形例におけるJ値の変更は、実旋回トルク値R
rlの算出に限らず、他のトルク値の算出にも適用できる。例えば、上述したようにエンコーダ24L,24Rの検出信号に基づいて合算トルク値を算出し、合算トルク値からモータトルク値を減算することで人力トルク値を推定することが可能であるが、この合算トルク値の算出にも変換式「J・dω/dt=T−Dω」が利用されるため、J値を変更可能とすることで合算トルク値の精度の向上を図ることが可能となる。
【0117】
すなわち、電動アシスト車いすは、車輪と、前記車輪を駆動する電動モータと、前記車輪の回転を検出するエンコーダと、前記電動モータを制御する制御装置と、を備え、前記制御装置は、前記エンコーダの検出信号に基づいてトルク値を算出するトルク値算出部と、前記トルク値に基づいて前記電動モータの目標電流を決定する目標電流決定部と、を備え、前記トルク値を算出するための変換式に含まれる係数が変更可能であることを特徴とする。
【0118】
また、上記電動アシスト車いすにおいて、前記制御装置は、前記制御装置と通信可能な端末からの指令に応じて前記係数を変更してもよい。
【0119】
また、上記電動アシスト車いすは、シートに着座した利用者の重量を検出する重量センサをさらに備え、前記トルク値算出部は、前記エンコーダの検出信号及び前記シートに着座した利用者の重量に基づいて前記トルク値を算出してもよい。
【0120】
また、端末は、車輪と、前記車輪を駆動する電動モータと、前記車輪の回転を検出するエンコーダと、を備える電動アシスト車いすの制御装置と通信可能な端末であって、前記制御装置において前記エンコーダの検出信号に基づいてトルク値を算出するための変換式に含まれる係数の変更を受け付ける受付部と、前記係数を変更するための指令を前記制御装置に出力する出力部と、を備える。
【0121】
[他の実施形態]
電動アシスト車いすには様々な制御パラメータがあり、使用者の身体状況や使用環境に合わせて個々に調整が可能なものがある。但し、一般に制御パラメータの調整は販売店やセラピストがPCを使って行うため、一度調整した制御パラメータは使用中には変更できない。一方で、使用者の身体状況は加齢や進行性の障がい等により変化することがある。また、使用環境も室内と屋外の両方で使われることが普通である。
【0122】
そこで、以下に説明する実施形態では、使用者の身体状況の変化や仕様環境の変化を学習し、コントローラが自ら制御パラメータを調整する。
【0123】
図18は、他の実施形態に係る電動アシスト車いすの構成例を示すブロック図である。上記実施形態と重複する構成については、同番号を付すことで詳細な説明を省略する。
【0124】
左モータ電流指令値演算部91Lと左モータドライバ93Lは、左コントローラ30Lに含まれている。右モータ電流指令値演算部91Rと右モータドライバ93Rは、右コントローラ30Rに含まれている。モータ電流指令値演算部91L,91Rはコントローラ30L,30Rで実現される機能ブロックであり、モータドライバ93L,93Rはコントローラ30L,30Rに含まれる電気回路である。モータ電流指令値演算部91L,91Rは、人力トルクに基づいてモータ電流指令値を算出し、モータドライバ93L,93Rに出力する。モータ電流指令値演算部91L,91Rは、例えば上記
図4に示したブロック群を含んでいる。
【0125】
車いす1は、モータ電流指令値演算部91L,91R及びモータドライバ93L,93Rの他に、パラメータ演算/供給部101、アシスト量選択スイッチ111、外部端末/情報表示装置113、屋外/室内評価部115、習熟度評価部117、筋力評価部119、左右人力トルク入力時間評価部121、左右人力トルク入力回数評価部123、左右人力トルク入力方向左右同期評価部125、走行軌跡演算部127、車速演算部129及び左右合算トルク平均値計算部131を備えている。これらのブロック群は、コントローラ30L,30Rの一方又は両方で実現されてもよいし、別のコントローラで実現されてもよい。
【0126】
モータ電流指令値演算部91L,91Rは、パラメータ演算/供給部101から供給される電動モータの制御パラメータに基づいてトルク指令値を算出し、さらにモータ電流指令値を算出する。制御パラメータは、例えばアシストゲイン(アシスト比)や惰走距離(トルク出力持続時間)などである。
図19及び
図20は、モータ電流指令値演算部91L,91Rが算出するトルク指令値T
Mの時間と大きさの関係の例を示す図である。トルク指令値T
Mは、例えば瞬時に立ち上がった後、時間の経過に伴って徐々に減衰するようなプロファイルを持つように算出される。
【0127】
アシストゲインを調整することによって、
図19に示すようにトルク指令値T
Mの大きさが調整される。また、惰走距離を調整することによって、
図20に示すようにトルク指令値T
Mの持続時間が調整される。惰走距離は、惰性で走り続けることができる距離であり、モータトルクの出力が持続する時間に対応する。具体的には、惰走距離は、トルク指令値T
Mの減衰の時定数に対応する。
【0128】
パラメータ演算/供給部101は、アシスト量選択スイッチ111、外部端末/情報表示装置113、屋外/室内評価部115、習熟度評価部117及び筋力評価部119から出力される値に基づいて、制御パラメータを調整する。このうち、屋外/室内評価部115、習熟度評価部117及び筋力評価部119は、人力トルクの作用態様に基づく評価を行い、指標値をパラメータ演算/供給部101に出力する。パラメータ演算/供給部101は、人力トルクの作用態様が所定の条件を満たす場合に、電動モータ21L,21Rの所定の制御パラメータを所定の大きさ変更する。
【0129】
アシスト量選択スイッチ111は、使用者により選択された補助力レベルをパラメータ演算/供給部101に出力する。補助力レベルは、例えば3段階に設定されている。パラメータ演算/供給部101は、選択された補助力レベルに応じてアシストゲインを変更する。これに限らず、アシストゲインとともに惰走距離を変更してもよい。
【0130】
外部端末/情報表示装置113は、使用者により設定された設定情報をパラメータ演算/供給部101に出力する。パラメータ演算/供給部101は、設定情報に応じて制御パラメータを変更する。外部端末は、例えばスマートフォン等の携帯情報端末であってもよい。情報表示装置は、例えばタッチパネルを含む薄型表示パネルであってもよい。
【0131】
屋外/室内評価部115は、車いす1の走行環境の種類を判定し、指標値をパラメータ演算/供給部101に出力する。走行環境の種類は、例えば屋外及び室内などである。屋外/室内評価部115は、人力トルクの作用態様に基づいて走行環境の種類を判定する。これに限らず、屋外/室内評価部115は、位置情報等に基づいて走行環境の種類を判定してもよい。屋外/室内評価部115の動作の詳細は後述する。
【0132】
習熟度評価部117は、車いす1の運転についての使用者の習熟度を判定し、指標値をパラメータ演算/供給部101に出力する。習熟度評価部117は、人力トルクの作用態様に基づいて使用者の習熟度を判定する。例えば習熟度評価部117は、記憶部に記憶された過去の人力トルクの情報に基づいて使用者の習熟度を判定する。習熟度評価部117の動作の詳細は後述する。
【0133】
筋力評価部119は、車いす1を運転する使用者の筋力を判定し、指標値をパラメータ演算/供給部101に出力する。筋力評価部119は、人力トルクの作用態様に基づいて使用者の筋力を判定する。例えば筋力評価部119は、記憶部に記憶された過去の人力トルクの情報に基づいて使用者の筋力を判定する。筋力評価部119の動作の詳細は後述する。
【0134】
屋外/室内評価部115、習熟度評価部117及び筋力評価部119による評価は、左右人力トルク入力時間評価部121、左右人力トルク入力回数評価部123、左右人力トルク入力方向左右同期評価部125、走行軌跡演算部127、車速演算部129及び左右合算トルク平均値計算部131からの情報に基づく。
【0135】
左右人力トルク入力時間評価部121は、左人力トルク及び右人力トルクの入力時間を評価し、入力時間情報を屋外/室内評価部115、習熟度評価部117及び筋力評価部119に出力する。左右人力トルク入力回数評価部123は、左人力トルク及び右人力トルクの入力回数を評価し、入力回数情報を屋外/室内評価部115、習熟度評価部117及び筋力評価部119に出力する。
【0136】
左右人力トルク入力方向左右同期評価部125は、左人力トルク及び右人力トルクの入力方向及び左右の同期を評価し、前進操作又はブレーキ操作が行われているかを表す前進/ブレーキ操作情報を屋外/室内評価部115、習熟度評価部117及び筋力評価部119に出力する。
【0137】
走行軌跡演算部127は、エンコーダ24L,24Rの検出信号に基づいて車いす1の走行軌跡を演算し、走行軌跡情報を屋外/室内評価部115、習熟度評価部117及び筋力評価部119に出力する。車速演算部129は、エンコーダ24L,24Rの検出信号、減速比及びタイヤ径に基づいて車速を演算し、車速情報を屋外/室内評価部115、習熟度評価部117及び筋力評価部119に出力する。
【0138】
左右合算トルク平均値計算部131は、左人力トルク、右人力トルク、左モータトルク及び右モータトルクに基づいて左右の合算トルク(人力トルク+モータトルク)の平均値を計算し、筋力評価部119に出力する。
【0139】
なお、調整対象の制御パラメータは、上述の片流れ制御におけるカウンタートルク値R
cp(補償旋回トルク値)であってもよい。例えばパラメータ演算/供給部101は、人力トルクの作用態様が所定の条件を満たす場合に、カウンタートルク値R
cpを所定の大きさ変更してもよい。また、パラメータ演算/供給部101は、判定された走行環境の種類に基づいてカウンタートルク値R
cpを所定の大きさ変更してもよい。具体的には、例えば車いす1に作用する外部トルクETに対する基礎カウンタートルク値の大きさを調整してもよいし、例えば基礎カウンタートルク値に乗じる低速域におけるゲインの大きさを調整してもよい。
【0140】
[屋外/室内判定]
以下、屋外/室内評価部115が実行する走行環境の判定について説明する。
【0141】
車いす1を屋外で使用する場合と室内で使用する場合とでは、最適な制御パラメータが異なる。例えば車いす1を屋外で使用する場合、惰走距離やアシストゲインが比較的大きい方が好ましいが、その設定のまま車いす1を室内で使用すると、補助力が付き易く操作が困難になるおそれがある。これとは逆に、車いす1を室内で使用する場合、惰走距離やアシストゲインが比較的小さい方が好ましいが、その設定のまま車いす1を屋外で使用すると、補助力が不足して使用者の負担が増すおそれがある。一般に制御パラメータの調整は販売店やセラピストがPCを使って行い、使用中は変更できないため、制御パラメータが一旦設定されてしまうと、使用者は不便を感じてもそのまま使い続けなければならない。
【0142】
そこで、本実施形態では、屋外/室内評価部115により走行環境を判定し、走行環境に適した制御パラメータを設定する。
【0143】
[第1例]
屋外/室内評価部115は、例えば車いす1の使用者がハンドリム13を駆動し、車速が十分に落ちる前に再度駆動する場合に、屋外での使用であると判定する。具体的には、屋外/室内評価部115は、左右人力トルク入力回数評価部123、左右人力トルク入力方向左右同期評価部125及び車速演算部129等からの情報に基づいて、車速が所定値以上に維持されながら、左右の人力トルクの入力が前進方向にほぼ同時期に入力有り/無しを繰り返した場合に、屋外の使用であると判定する。
【0144】
屋外/室内評価部115は、例えば車いす1の使用者がハンドリム13を駆動するときの一漕ぎ当たりのトルク入力時間が比較的長い状態が繰り返し発生する場合に、屋外での使用であると判定してもよい。具体的には、屋外/室内評価部115は、左右人力トルク入力時間評価部121、左右人力トルク入力回数評価部123及び左右人力トルク入力方向左右同期評価部125等からの情報に基づいて、左右の人力トルクの一定時間以上の入力が前進方向にほぼ同時期に入力有り/無しを繰り返した場合に、屋外の使用であると判定する。
【0145】
パラメータ演算/供給部101は、屋外での使用と判定されると、制御パラメータを屋外用に設定し、記憶する。具体的には、パラメータ演算/供給部101は、屋外での使用と判定されると、例えば惰走距離を大きくする。これに限らず、例えば惰走距離とアシストゲインの両方を大きくしてもよい。制御パラメータは、記憶部に含まれる補助記憶部(例えば不揮発性半導体メモリ)に記憶されるので、一旦電源を切っても、再び電源をオンすると前回の設定からスタートする。
【0146】
なお、屋外/室内評価部115による走行環境の判定結果は、屋外と室内の2段階に限らず、例えば3以上の複数段階に別れてもよい。中間の段階を設けることで、例えば病院やショッピングセンター等の、やや広い屋内のフロア施設に適した制御パラメータの設定を用意することが可能となる。
【0147】
図21は、第1例を示すフロー図である。まず、屋外/室内評価部115は、左右の人力トルクの状況をチェックする(S31)。屋外/室内評価部115は、左右の人力トルクの入力有り/無しが一定時間内で繰り返されているか(S32)、左右の人力トルクの入力有り/無しのタイミングが左右でほぼ同時であるか(S33)、前進であるか(S34)を判定する。
【0148】
S32〜S34の全てがYESの場合、屋外/室内評価部115は、左右の人力トルクの入力有り/無しが繰り返される繰り返し期間内で車速が規定値よりも大きいか否かを判定する(S35)。S35がYESの場合、S37に進む。一方、S35がNOの場合、屋外/室内評価部115は、繰り返し期間内で左右の人力トルクの入力時間が規定値よりも大きいか否かを判定する(S36)。S36がYESの場合、S37に進む。
【0149】
S35又はS36がYESの場合、屋外/室内評価部115は、現在の屋外指標を取得する(S37)。
図22の例に示すように、屋外指標は例えば0〜n(nは2以上の自然数)の複数段階の指標であり、屋外指標が大きいほど走行環境が屋外に近いことを表し、屋外指標が小さいほど走行環境が室内に近いことを表す。制御パラメータも屋外指標に応じて設定される。例えば屋外指標が大きいほど惰走距離・トルク出力持続時間が長く、屋外指標が小さいほど惰走距離・トルク出力持続時間が短く設定される。また、屋外指標が大きいほどアシストゲインが大きく、屋外指標が小さいほどアシストゲインが小さく設定される。
【0150】
屋外/室内評価部115は、取得した現在の屋外指標が最大値でなければ(S37)、屋外指標に1を加算して(S38)、記憶部に新しい屋外指標を保存する(S40)。記憶部に保存された屋外指標は、パラメータ演算/供給部101によって読み出され、モータ電流指令値演算部91L,91Rに供給される。
【0151】
一方、屋外/室内評価部115は、取得した現在の屋外指標が最大値である場合は(S37)、屋外指標を変更せずに(S39)、処理を終了する。なお、上記S32〜S34,S36の何れかがNOの場合も、屋外/室内評価部115は屋外指標を変更せずに(S39)、処理を終了する。
【0152】
図23の例に示すように、アシストゲインは、例えば車速及び屋外指標に基づいて決定される。具体的には、車速、屋外指標及びアシストゲインの関係を表すマップを利用して、車速及び屋外指標に応じたアシストゲインが算出される。アシストゲインは、例えばK*(屋外指標+α)*(車速+β)の増加に伴って上限まで線形的に増加するように設定される。K,α,βは定数である。これに限らず、図中に破線で示すようにアシストゲインの増加は非線形的な曲線であってもよい。
【0153】
[第2例]
屋外/室内評価部115は、例えば車いす1の使用者がハンドリム13を駆動し、速度が十分に上がる前にブレーキを掛ける場合に、室内での使用であると判定する。具体的には、屋外/室内評価部115は、左右人力トルク入力方向左右同期評価部125及び車速演算部129からの情報に基づいて、左右の人力トルクの入力が前進方向又は後進方向にほぼ同時期に入力有り/無しを繰り返し、かつ車速の上昇途中又は維持途中にブレーキ操作(反対方向の入力)があった場合に、室内での使用であると判断する。
【0154】
また、屋外/室内評価部115は、例えば車いす1の使用者がハンドリム13を駆動するときの一漕ぎ当たりの人力トルクの入力時間が短くかつ大きさが小さい場合に、室内での使用であると判断してもよい。また、屋外/室内評価部115は、例えば一定時間内に前進方向又は後進方向へ漕ぐ操作とブレーキ操作(反対方向の入力)とが混在している場合に、室内での使用であると判断してもよい。
【0155】
パラメータ演算/供給部101は、室内での使用と判定されると、制御パラメータを室内用に設定し、記憶する。具体的には、屋外/室内評価部115は、室内での使用と判定されると、例えば惰走距離を小さくする。これに限らず、例えば惰走距離とアシストゲインの両方を小さくしてもよい。
【0156】
図24は、第2例を示すフロー図である。まず、屋外/室内評価部115は、左右の人力トルクの状況をチェックする(S41)。屋外/室内評価部115は、左右の人力トルクの入力有り/無しのタイミングが左右でほぼ同時であるか(S42)、前進又は後進であるか(S43)、車速の上昇途中又は維持途中にブレーキ操作があったか(S44)を判定する。S44がYESの場合、S50に進む。
【0157】
S44がNOの場合、屋外/室内評価部115は、左右の人力トルクの入力値(大きさ)が規定値よりも小さいか否か(S45)、左右の人力トルクの入力時間が規定値よりも小さいか否か(S46)、一定時間内の左右の人力トルクの入力値と入力時間がそれぞれ規定値以下であるか否か(S47)を判定する。S47がYESの場合、S50に進む。
【0158】
S47がNOの場合、屋外/室内評価部115は、人力トルクの入力有り/無しが左右ともに一定時間内で繰り返されたか否か(S48)、左右の人力トルクのブレーキ操作が一定時間内で規定回数以上混在しているか否か(S49)を判定する。S49がYESの場合、S50に進む。
【0159】
S44、S47又はS49がYESの場合、屋外/室内評価部115は、現在の屋外指標を取得する(S50)。屋外/室内評価部115は、取得した現在の屋外指標が最低値でなければ(S50)、屋外指標から1を減算して(S51)、記憶部に新しい屋外指標を保存する(S53)。
【0160】
一方、屋外/室内評価部115は、取得した現在の屋外指標が最低値である場合は(S50)、屋外/室内評価部115は屋外指標を変更せずに(S52)、処理を終了する。なお、上記S42,S43,S48,S49の何れかがNOの場合も、屋外/室内評価部115は、処理を終了する。
【0161】
[第3例]
本例では、学習の成果を反映する早さを調整可能としている。すなわち、屋外指標値などの指標値を変更する早さ、又は指標値に対応する制御パラメータを変更する早さを調整可能としている。以下では、屋外指標値を例として挙げるが、他の指標値又は制御パラメータが調整対象であってもよい。
【0162】
図25及び
図26は、屋外指標の時間変化例を示す図である。横軸が時間を表し、縦軸が屋外指標値を表す。図示の例では、屋外指標値nを変更するまでの待ち時間Twと、屋外指標値nを変更するときの増減幅Cnとが調整可能とされている。屋外指標値nは、待ち時間Twが経過する毎に条件が合えば増減幅Cnだけ変更される。
【0163】
待ち時間Twを小さく又は増減幅Cnを大きくすることにより、制御パラメータを走行環境に素早く対応させることができる。一方、待ち時間Twを大きく又は増減幅Cnを小さくすることにより、使用者が制御パラメータに慣れる時間を確保することが可能である。
【0164】
図27は、待ち時間Tw及び増減幅Cnの設定例を示すフロー図である。図示の例では、車いす1と通信可能な設定用端末によって待ち時間Tw及び増減幅Cnの設定が行われる。設定用端末は、例えばPC、スマートフォン等である。
【0165】
まず、車いす1は、設定用端末に現在の設定情報を送信する(S59)。設定用端末は、車いす1から現在の設定情報を受信すると(S54)、表示画面に現在の設定情報を表示する(S55)。
【0166】
次に、設定用端末は、待ち時間Twを設定し(S56)、増減幅Cnを設定する(S57)。待ち時間Twは、屋外指標値を変更した後、次回の屋外指標値を変更するまでの最低限の待ち時間である。増減幅Cnは、屋外指標値を変更するときの1回の変更当たりの増減幅である。
【0167】
設定用端末は、例えばタッチパネル又はキーボード等の入力装置を備えており、使用者からの待ち時間Tw及び増減幅Cnの入力を受け付ける。これに限らず、設定用端末は、例えば液晶表示パネル等の表示装置に待ち時間Tw及び増減幅Cnの複数の候補を表示して、候補の選択を受け付けてもよい。
【0168】
次に、設定用端末は、設定された待ち時間Tw及び増減幅Cnを新たな設定情報として車いす1に送信する(S58)。車いす1は、設定用端末から新たな設定情報を受信し(S60)、記憶部に保存する。これにより、設定用端末で設定された待ち時間Tw及び増減幅Cnが車いす1で利用可能となる。
【0169】
図28は、待ち時間Tw及び増減幅Cnを利用した屋外/室内評価の処理例を示すフロー図である。まず、屋外/室内評価部115は、記憶部に保存された待ち時間Tw及び増減幅Cnを読み出す(S61)。次に、屋外/室内評価部115は、待ち時間タイマのカウントアップを開始し(S62)、待ち時間タイマによりカウントされた時間が待ち時間Twを超えた場合に(S63:YES)、S64に進む。
【0170】
S64〜S69は、上記
図21のS31〜S36と同様であるので、詳細な説明を省略する。
【0171】
S68又はS69がYESの場合、屋外/室内評価部115は、以前の屋外指標に増減幅Cnを加算することで新しい屋外指標を算出する(S70)。そして、屋外/室内評価部115は、新しい屋外指標が上限値以下であれば(S71)、そのまま新しい屋外指標を保存する(S73)。一方、屋外/室内評価部115は、新しい屋外指標が上限値より大きければ(S71)、上限値を新たな屋外指標として保存する(S72,S73)。その後、屋外/室内評価部115は、待ち時間タイマをリセットして(S74)、処理を終了する。
【0172】
[筋力評価]
以下、筋力評価部119が実行する筋力評価について説明する。
【0173】
一般に、身障者の身体機能は、健常者と比較して千差万別で個人毎に異なることが殆どである。例えば上体に関して、健常者並の腕力がある人もいれば、両腕又は片腕の腕力や握力、可動域等が低下している人もいる。このため、車いすの制御パラメータは、使用者ごとの身体状況に応じて個別に設定されることが好ましい。例えば、腕力が左右で異なる場合に腕力が弱い方の電動モータのアシストゲインを大きくする等の設定が行われる。しかし、一般に制御パラメータの調整は販売店やセラピストがPCを使って行い、使用中は変更できないため、制御パラメータが一旦設定されてしまうと、使用者の身体状況が変化してもそのまま使い続けなければならない。
【0174】
そこで、本実施形態では、筋力評価部119により使用者の筋力を評価し、使用者の筋力に適した制御パラメータを設定する。
【0175】
第1例において、筋力評価部119は、記憶部に蓄積して記憶された人力トルクの情報を取得し、人力トルクの大きさが経時的に減少している場合に、使用者の筋力が低下していると判定する。パラメータ演算/供給部101は、使用者の筋力が低下していると判定されると、例えばアシストゲインを大きくする。これに限らず、例えばアシストゲインと惰走距離の両方を大きくしてもよい。
【0176】
第2例において、筋力評価部119は、左右合算トルク平均値計算部131から取得される所定期間(例えば1週間)における人力トルクとモータトルクとの合算値の平均値を左右で比較して、左右の腕のどちらの筋力が低下しているかを判定する。合算値でなく、人力トルクのみの平均値を左右で比較してもよい。パラメータ演算/供給部101は、筋力が低下していると判定された側のアシストゲインを大きくする。
【0177】
図29は、第2例を示すフロー図である。まず、筋力評価部119は、人力トルクの入力があると、左人力トルクと左モータトルクとを合算して左合算トルクを求め、右人力トルクと右モータトルクとを合算して右合算トルクを求める(S81)。次に、筋力評価部119は、左右の合算トルクの平均値を算出し、記憶する(S82)。左右各平均値の算出は、例えば1週間ごとに行われる(S83)。これにより、例えば201x年第yy週の左右各平均値が算出される。これに限らず、左右各平均値の算出は、例えば1ヶ月ごと、半期ごと、1年ごとに行われてもよい。左右各平均値の算出は、1週間のうちの人力トルクの入力があった期間(すなわち、入力がなかった期間を除外した期間)について行われる。
【0178】
1週間が経過して左右各平均値が算出されると、筋力評価部119は、左右各平均値の差分を評価する(S84)。ここでは、例えば左の平均値から右の平均値を減算することで差分を算出する。左右各平均値の差分が上限値(例えば正の値)よりも大きい場合(S85)、筋力評価部119は、右腕力が弱いと判断し、右電動モータ21Rのアシストゲインを相対的に大きくする(S86)。一方、左右各平均値の差分が下限値(例えば負の値)よりも小さい場合(S85)、筋力評価部119は、左腕力が弱いと判断し、左電動モータ21Lのアシストゲインを相対的に大きくする(S87)。ここでは、例えば腕力が弱いと判断された側において現状のアシストゲインに規定値を加算することで、アシストゲインを大きくする。これに限らず、例えば腕力が弱いと判断された側とは逆側において現状のアシストゲインから規定値を減算することで、アシストゲインを小さくしてもよい。
【0179】
その後、新たなアシストゲインが上限値よりも大きい場合には(S88)、筋力評価部119は上限値を新たなアシストゲインとし(S89)、処理を終了する。また、新たなアシストゲインが下限値よりも小さい場合には(S88)、筋力評価部119は下限値を新たなアシストゲインとし(S90)、処理を終了する。また、新たなアシストゲインが上限値よりも小さく、下限値よりも大きい場合には(S88)、筋力評価部119はそのまま処理を終了する。
【0180】
第3例において、筋力評価部119は、左右人力トルク入力回数評価部123及び走行軌跡演算部127等からの情報に基づき、車いす1が全体として直進している間の人力トルクの入力回数を左右で比較することで、左右の腕のどちらの筋力が低下しているかを判定する。すなわち、車いす1が小さく蛇行しながらも全体としては直進している場合は、左右の腕のどちらかの筋力が低下している可能性があるので、筋力評価部119は、車いす1が全体として直進している間の人力トルクの入力回数を一定期間累積して記憶し、左右で比較する。
【0181】
第4例において、筋力評価部119は、所定期間(例えば1週間)における人力トルクとモータトルクとの合算値の時間積分値を左右で比較して、左右の腕のどちらの筋力が低下しているかを判定する。合算値でなく、人力トルクのみの時間積分値を左右で比較してもよい。パラメータ演算/供給部101は、筋力が低下していると判定された側のアシストゲインを大きくする。
【0182】
図30は、第4例を示すフロー図である。まず、筋力評価部119は、人力トルクの入力があると、左人力トルクと左モータトルクとを合算して左合算トルクを求め、右人力トルクと右モータトルクとを合算して右合算トルクを求める(S91)。次に、筋力評価部119は、左右の合算トルクの時間積分値をそれぞれ合計していく(S92)。また、筋力評価部119は、左右の合算トルクの入力時間をそれぞれ合計していく(S93)。ここで、合算トルクの入力時間は、入力無しの部分を除いたものである。筋力評価部119は、合算トルクの入力時間の合計が1週間分を超えるまで、合算トルクの時間積分値の合計を計算する(S94)。これに限らず、例えば1週間ごとに行われてもよい。
【0183】
合算トルクの入力時間の合計が1週間分を超えると、筋力評価部119は、左右の合算トルクの時間積分値の差分を評価する(S95)。ここでは、例えば左の時間積分値から右の時間積分値を減算することにより差分を算出する。左右の時間積分値の差分が上限値(例えば正の値)よりも大きい場合(S96)、筋力評価部119は、右腕力が弱いと判断し、右電動モータ21Rのアシストゲインを相対的に大きくする(S97)。一方、左右の時間積分値の差分が下限値(例えば負の値)よりも小さい場合(S96)、筋力評価部119は、左腕力が弱いと判断し、左電動モータ21Lのアシストゲインを相対的に大きくする(S98)。ここでは、例えば腕力が弱いと判断された側において現状のアシストゲインに規定値を加算することで、アシストゲインを大きくする。これに限らず、例えば腕力が弱いと判断された側とは逆側において現状のアシストゲインから規定値を減算することで、アシストゲインを小さくしてもよい。
【0184】
その後、新たなアシストゲインが上限値よりも大きい場合には(S99)、筋力評価部119は上限値を新たなアシストゲインとし(S100)、処理を終了する。また、新たなアシストゲインが下限値よりも小さい場合には(S99)、筋力評価部119は下限値を新たなアシストゲインとし(S101)、処理を終了する。また、新たなアシストゲインが上限値よりも小さく、下限値よりも大きい場合には(S99)、筋力評価部119はそのまま処理を終了する。
【0185】
[習熟度評価]
本実施形態では、習熟度評価部117により使用者の習熟度を評価し、使用者の習熟度に応じた制御パラメータを設定している。例えば、習熟度評価部117は、左右人力トルク入力時間評価部121からの情報に基づいて入力時間の総計を算出し、入力時間の総計が増加するに従ってアシストゲインや惰走距離、車速などの上限値を段階的に引き上げていく。
【0186】
図31は、習熟度を評価する処理例を示すフロー図である。習熟度評価部117は、人力トルクの入力時間の総計を取得し(S111)、入力時間の総計が規定値1未満であれば、アシストゲインや惰走距離、車速の上限値を最も低い第1段階(LOWレベル)のままとする。
【0187】
習熟度評価部117は、入力時間の総計が規定値1以上になると(S111)、アシストゲインや惰走距離、車速の上限値を次の第2段階(MIDレベル)に引き上げ(S112)、変更値をメモリに記憶する(S114)。第2段階における各上限値は、第1段階よりも大きい。
【0188】
習熟度評価部117は、入力時間の総計が規定値1よりも大きい規定値2以上になると(S111)、アシストゲインや惰走距離、車速の上限値をさらに次の第3段階(HIGHレベル)に引き上げ(S113)、変更値をメモリに記憶する(S114)。第3段階における各上限値は、第1段階よりも大きい。
【0189】
以上に説明した他の実施形態に係る電動アシスト車いすは、車輪と、前記車輪を駆動する電動モータと、前記車輪の回転を検出するエンコーダと、前記電動モータを制御する制御装置と、を備え、前記制御装置は、前記車輪に作用する人力トルクの情報を取得する取得部と、前記人力トルクの作用態様が所定の条件を満たすか否かを判定する判定部と、前記人力トルクの作用態様が前記所定の条件を満たす場合に、前記電動モータの所定の制御パラメータを所定の大きさ変更する変更部と、を備える。
【0190】
また、前記制御装置は、前記人力トルクの情報を蓄積して記憶する記憶部をさらに備え、前記判定部は、前記記憶された人力トルクの情報に基づいて前記人力トルクの作用態様が前記所定の条件を満たすか否かを判定してもよい。
【0191】
電動アシスト車いすは、車輪と、前記車輪を駆動する電動モータと、前記車輪の回転を検出するエンコーダと、前記電動モータを制御する制御装置と、を備え、前記制御装置は、走行環境の種類を判定する判定部と、前記判定された走行環境の種類に基づいて前記電動モータの所定の制御パラメータを所定の大きさ変更する変更部と、を備える。
【0192】
また、前記判定部は、前記車輪に作用する人力トルクの作用態様に基づいて前記走行環境の種類を判定してもよい。
【0193】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、種々の変形実施が当業者にとって可能であるのはもちろんである。