以下、本発明を具体化した実施形態を図面に基づいて説明する。
[第1実施形態]
(手押し車の構成)
図1および図2を参照して、本発明の第1実施形態による手押し車100の構成について説明する。
図1に示すように、手押し車100は、パワーアシストにより、高齢者や障害者などの使用者(図示せず)の歩行を支援する歩行車(歩行支援機器)である。手押し車100は、進行方向へのアシスト力、または、進行方向とは逆方向の制動力を発生させることにより、使用者の歩行を支援する。手押し車100は、たとえば、街中を歩行する際や施設内を歩行する際における使用者の歩行を支援するために使用される。
手押し車100は、車体部10を備える。車体部10は、把持部11と、操作部12と、バッテリ13と、荷物かご14と、一対(左右)の自在輪15と、一対(左右)の駆動輪16とを含む。
把持部11は、車体部10の左右方向(X方向)に延びる棒状のハンドルであり、使用者の両手により把持される。使用者は、把持部11を把持して押すことにより、手押し車100を前進させ、把持部11を把持して引くことにより、手押し車100を後進させる。操作部12は、電源ボタンや設定ボタンなどの操作ボタンを含む操作パネルである。操作部12は、把持部11の近傍に設けられている。バッテリ13は、後述する車輪駆動機構部20などの電力の供給を要する手押し車100の各部に電力を供給する充放電可能な電池(リチウムイオン電池など)である。荷物かご14は、使用者の荷物を保持するかごである。
一対の自在輪15は、車体部10の前部(Y2方向側の部分)に設けられており、手押し車100の前輪を構成する。一対の自在輪15は、車体部10の左右方向(X方向)に並んで配置されている。一対の自在輪15には、駆動モータは取り付けられていない。一対の自在輪15は、上下方向(Z方向)に延びる回転軸線周りに回転可能に構成されている。これにより、手押し車100は、旋回可能に構成されている。一対の駆動輪16は、車体部10の後部(Y1方向側の部分)に設けられており、手押し車100の後輪を構成する。一対の駆動輪16は、車体部10の左右方向(X方向)に並んで配置されている。一対の駆動輪16には、それぞれ、後述する車輪駆動機構部20の駆動モータ21が取り付けられている。一対の駆動輪16は、それぞれ、個別の駆動モータ21により互いに独立して駆動(回転)されるように構成されている。一対の駆動輪16は、車輪駆動機構部20の駆動モータ21により回転されることにより、車体部10を移動させる。
また、図2に示すように、手押し車100は、車輪駆動機構部20と、車輪回転角検出部30と、トルク検出部40と、把持検出部50と、傾斜検出部60と、制御部70とを備える。なお、車輪回転角検出部30は、特許請求の範囲の「検出部」の一例である。
車輪駆動機構部20は、トルクを発生させて、発生させたトルクにより一対の駆動輪16を駆動する。具体的には、車輪駆動機構部20は、一対の駆動輪16をそれぞれ駆動する一対の駆動モータ21を含む。車輪回転角検出部30は、一対の駆動輪16の回転角を検出する。車輪回転角検出部30は、たとえば、ホールICやロータリエンコーダなどを含む。制御部70は、車輪回転角検出部30による一対の駆動輪16の回転角の検出結果に基づいて、一対の駆動輪16の移動速度や、一対の駆動輪16の移動方向(前進、または、後進)、一対の駆動輪16の移動距離を取得する。トルク検出部40は、車輪駆動機構部20が発生させるトルクを検出する。トルク検出部40は、たとえば、シャント抵抗および増幅回路を含む。把持検出部50は、使用者による把持部11の操作状態を検出する。具体的には、把持検出部50は、把持部11への使用者の接触状態を検出する。把持検出部50は、たとえば、静電式の接触センサを含む。把持検出部50は、使用者により把持部11に加えられた力を検出する力センサを含んでいてもよい。傾斜検出部60は、車体部10の移動状態、および、路面状態を検出する。具体的には、傾斜検出部60は、車体部10の水平に対する傾き(傾斜角)(つまり、走行路面の傾き)を検出する。傾斜検出部60は、たとえば、加速度センサを含む。
制御部70は、手押し車100の各部を制御する制御回路である。制御部70は、CPUなどのプロセッサおよびメモリを含む。制御部70は、傾斜検出部60による検出結果に基づく車体部10の移動状態、傾斜検出部60による検出結果に基づく路面状態、および、把持検出部50による検出結果に基づく使用者による把持部11の操作状態に基づいて、通常のトルク(基本のトルク)を取得(計算)する。通常のトルクは、進行方向へのアシスト力を発生させるためのアシストトルク、または、進行方向とは逆方向への制動力を発生させるための制動トルクである。制御部70は、通常のトルクを発生させて、発生させた通常のトルクにより一対の駆動輪16を駆動するように、車輪駆動機構部20を制御する。
たとえば、制御部70は、通常のトルクとしてアシストトルクを発生させて、発生させたアシストトルクにより一対の駆動輪16を駆動するように、車輪駆動機構部20を制御する。アシストトルクを発生させた場合、たとえば、上り坂において使用者の歩行を支援可能である。また、手押し車100が平地を走行する場合にも、手押し車100がアシストした分だけ、使用者が手押し車100を押す負担を軽減可能である。また、たとえば、制御部70は、通常のトルクとして制動トルクを発生させて、発生させた制動トルクにより一対の駆動輪16を駆動するように、車輪駆動機構部20を制御する。制動トルクを発生させた場合、たとえば、下り坂において使用者の歩行を支援可能である。また、手押し車100が平地を走行する場合にも、手押し車100に制動トルクを発生させることにより、手押し車100を支えにして歩行することができるので、使用者の歩行の安定化を図ることが可能である。
(進行方向の制限に関する構成)
ここで、第1実施形態では、制御部70は、車輪回転角検出部30による一対の駆動輪16の回転角の検出結果に基づいて、所定の時点からの一対の駆動輪16の移動距離(累計移動距離)を取得(計算)する。そして、制御部70は、取得した所定の時点からの一対の駆動輪16の移動距離が等しくなるようにトルクを発生させて、発生させたトルクにより一対の駆動輪16を駆動するように、車輪駆動機構部20を制御する。具体的には、制御部70は、所定の時点からの一対の駆動輪16の移動距離を等しくするための位置制御トルクと、位置制御トルクを用いない場合の通常のトルクとの合計トルクを発生させて、発生させた合計トルクにより一対の駆動輪16を駆動するように、車輪駆動機構部20を制御する。
より具体的には、制御部70は、所定の時点からの一対の駆動輪16の移動距離が等しくない場合、位置制御トルクと通常のトルクとの合計トルクを発生させて、発生させた合計トルクにより一対の駆動輪16を駆動するように、車輪駆動機構部20を制御する。所定の時点からの一対の駆動輪16の移動距離が等しくない場合、手押し車100が旋回しており、手押し車100の進行方向を直進方向に制限する必要があると判断できるためである。
また、第1実施形態では、制御部70は、位置制御トルクをフィードバック制御により取得(計算)する。具体的には、制御部70は、所定の時点からの一対の駆動輪16の移動距離が等しくなるように、一対の駆動輪16の目標位置(位置の目標値)を設定し、設定した目標位置に基づいて、位置制御トルクをフィードバック制御により取得する。より具体的には、制御部70は、所定の時点からの一対の駆動輪16の移動距離が等しくなるように、左の駆動輪16の移動距離と右の駆動輪16の移動距離との平均値を、一対の駆動輪16の目標位置として設定する。そして、制御部70は、設定した目標位置としての左の駆動輪16の移動距離と右の駆動輪16の移動距離との平均値に基づいて、位置制御トルクをフィードバック制御により取得する。
また、第1実施形態では、制御部70は、所定の時点からの一対の駆動輪16の移動距離が等しくない場合、路面の状態にかかわらず、所定の時点からの一対の駆動輪16の移動距離が等しくなるように位置制御トルクを発生させて、発生させた位置制御トルクにより一対の駆動輪16を駆動するように、車輪駆動機構部20を制御する。つまり、制御部70は、所定の時点からの一対の駆動輪16の移動距離が等しくない場合、走行路面が傾斜路か平地かにかかわらず、所定の時点からの一対の駆動輪16の移動距離が等しくなるように位置制御トルクを発生させて、発生させた位置制御トルクにより一対の駆動輪16を駆動するように、車輪駆動機構部20を制御する。
(進行方向制限処理)
次に、図3を参照して、第1実施形態による手押し車100の進行方向制限処理をフローチャートに基づいて説明する。フローチャートの各処理は、制御部70により行われる。
手押し車100の電源がオンされると、図3に示すように、まず、ステップS1において、左の駆動輪16の累計移動距離DLおよび右の駆動輪16の累計移動距離DRが共に初期化される(DL=0、DR=0にされる)。
そして、ステップS2において、車輪回転角検出部30による一対の駆動輪16の回転角の検出結果に基づいて、現在の左の駆動輪16の回転角が前回の駆動輪16の回転角θL1として取得されるとともに、現在の右の駆動輪16の回転角が前回の駆動輪16の回転角θR1として取得される。
そして、ステップS3において、傾斜検出部60による検出結果に基づく車体部10の移動状態、傾斜検出部60による検出結果に基づく路面状態、および、把持検出部50による検出結果に基づく使用者による把持部11の操作状態に基づいて、左の駆動輪16用の通常のトルクTLAおよび右の駆動輪16用の通常のトルクTRAが取得(計算)される。
そして、ステップS4において、以下の式(1)および(2)に示すように、左の駆動輪16用の駆動トルク変数TLに左の駆動輪16用の通常のトルクTLAが代入されるとともに、右の駆動輪16用の駆動トルク変数TRに右の駆動輪16用の通常のトルクTRAが代入される。
TL=TLA ・・・(1)
TR=TRA ・・・(2)
ここで、
TL:左の駆動輪用の駆動トルク変数
TR:右の駆動輪用の駆動トルク変数
TLA:左の駆動輪用の通常のトルク
TRA:右の駆動輪用の通常のトルク
である。
そして、ステップS5において、車輪回転角検出部30による一対の駆動輪16の回転角の検出結果に基づいて、現在(今回)の左の駆動輪16の回転角が現在の駆動輪16の回転角θL2として取得されるとともに、現在(今回)の右の駆動輪16の回転角が現在の駆動輪16の回転角θR2として取得される。
そして、ステップS6において、現在の駆動輪16の回転角と前回の駆動輪16の回転角とが比較されるとともに、現在の駆動輪16の回転角と前回の駆動輪16の回転角との差に基づいて、前回から現在までの駆動輪16の移動距離が取得(計算)される。ステップS6では、以下の式(3)に示すように、現在の左の駆動輪16の回転角θL2と前回の左の駆動輪16の回転角θL1との差に基づいて、前回から現在までの左の駆動輪16の移動距離ΔDLが取得される。また、ステップS6では、以下の式(4)に示すように、現在の右の駆動輪16の回転角θR2と前回の右の駆動輪16の回転角θR1との差に基づいて、前回から現在までの右の駆動輪16の移動距離ΔDRが取得される。
ΔDL=W×(θL2-θL1) ・・・(3)
ΔDR=W×(θR2-θR1) ・・・(4)
ここで、
ΔDL:前回から現在までの左の駆動輪の移動距離
ΔDR:前回から現在までの左の駆動輪の移動距離
W:駆動輪の半径
θL2:現在の左の駆動輪の回転角
θL1:前回の左の駆動輪の回転角
θR2:現在の右の駆動輪の回転角
θR1:前回の右の駆動輪の回転角
である。
そして、ステップS7において、以下の式(5)および(6)に示すように、所定の時点(ステップS1の処理を実行した時点)からの左の駆動輪16の累計移動距離DLおよび所定の時点(ステップS1の処理を実行した時点)からの右の駆動輪16の累計移動距離DRが取得(計算)される。
DL=DL+ΔDL ・・・(5)
DR=DR+ΔDR ・・・(6)
ここで、
DL:左の駆動輪の累計移動距離
DR:右の駆動輪の累計移動距離
ΔDL:前回から現在までの左の駆動輪の移動距離
ΔDR:前回から現在までの右の駆動輪の移動距離
である。
そして、ステップS8において、所定の時点からの左右の駆動輪16の累計移動距離DLおよびDRが等しくなるように、左の駆動輪16の移動距離と右の駆動輪16の移動距離との平均値((DL+DR)/2)が、左右の駆動輪16の目標位置して設定される。また、ステップS8では、たとえば以下の式(7)および(8)に示すように、設定された目標位置に基づいて、左の駆動輪16用の位置制御トルクTLB(TLBn)および右の駆動輪16用の位置制御トルクTRB(TRBn)がフィードバック制御(PI制御)により取得(計算)される。取得される位置制御トルクは、ゼロ、正の値、または、負の値である。なお、位置制御トルクは、PI制御以外のフィードバック制御(PID制御など)により取得されてもよい。
TLBn=ITLn-1+α×{DLn-(DLn+DRn)/2}+β×{DLn-(DLn+DRn)/2} ・・・(7)
TRBn=ITRn-1+α×{DRn-(DLn+DRn)/2}+β×{DRn-(DLn+DRn)/2} ・・・(8)
ここで、
TLBn:今回の左の駆動輪用の位置制御トルク
TRBn:今回の右の駆動輪用の位置制御トルク
ITLn-1:前回の左の駆動輪用の位置制御トルクの積分項
ITRn-1:前回の右の駆動輪用の位置制御トルクの積分項
DLn:今回の左の駆動輪の累計移動距離
DRn:今回の右の駆動輪の累計移動距離
α:積分ゲイン
β:比例ゲイン
である。
なお、式(7)のITLn-1+α×{DLn-(DLn+DRn)/2}、および、式(8)のITRn-1+α×{DRn-(DLn+DRn)/2}は、今回の積分項を示す。また、式(7)のβ×{DLn-(DLn+DRn)/2}、および、式(8)のβ×{DRn-(DLn+DRn)/2}は、比例項を示す。また、前回の積分項ITLn-1およびITRn-1は、以下の式(9)および(10)により表される。
ITLn-1=ITLn-2+α×{DLn-1-(DLn-1+DRn-1)/2} ・・・(9)
ITRn-1=ITRn-2+α×{DRn-1-(DLn-1+DRn-1)/2} ・・・(10)
そして、ステップS9において、以下の式(11)および(12)に示すように、左の駆動輪16用の駆動トルク変数TLに左の駆動輪16用の位置制御トルクTLBが加算されるとともに、右の駆動輪16用の駆動トルク変数TRに右の駆動輪16用の位置制御トルクTRBが加算される。
TL=TL+TLB ・・・(11)
TR=TR+TRB ・・・(12)
そして、ステップS10において、駆動トルク変数TLの値を駆動トルクとして車輪駆動機構部20の左の駆動モータ21に設定されて、発生される。この結果、駆動トルクTLにより左の駆動輪16が駆動される。また、駆動トルク変数TRの値が駆動トルクとして車輪駆動機構部20の右の駆動モータ21に設定されて、発生される。この結果、駆動トルクTRにより右の駆動輪16が駆動される。
ステップS10では、位置制御トルクTLBと通常のトルクTLAとの合計トルクTLA+TLBとしての左の駆動輪16用の駆動トルク変数TLが取得されている場合、合計トルクTLA+TLBが駆動トルクとして車輪駆動機構部20の左の駆動モータ21に設定されて、発生される。また、位置制御トルクTRBと通常のトルクTRAとの合計トルクTRA+TRBとしての右の駆動輪16用の駆動トルク変数TRが取得されている場合、合計トルクTRA+TRBが駆動トルクとして車輪駆動機構部20の右の駆動モータ21に設定されて、発生される。
また、ステップS10では、通常のトルクTLAとしての左の駆動輪16用の駆動トルク変数TLが取得されている場合、通常のトルクTLAが駆動トルクとして車輪駆動機構部20の左の駆動モータ21に設定されて、発生される。また、通常のトルクTRAとしての右の駆動輪16用の駆動トルク変数TRが取得されている場合、通常のトルクTRAが駆動トルクとして車輪駆動機構部20の右の駆動モータ21に設定されて、発生される。
そして、ステップS11において、以下の式(13)および(14)に示すように、現在の左の駆動輪16の回転角θL2が前回の駆動輪16の回転角θL1として取得されるとともに、現在の右の駆動輪16の回転角θR2が前回の駆動輪16の回転角θR1として取得される。
θL1=θL2 ・・・(13)
θR1=θR2 ・・・(14)
そして、ステップS3に戻る。その後、手押し車100の電源がオンされている間、ステップS3~S11の処理が繰り返される。ステップS3~11の処理の繰り返しは、たとえば数百Hz程度の周波数により行われる。
(第1実施形態の効果)
第1実施形態では、以下のような効果を得ることができる。
第1実施形態では、上記のように、制御部70を、車輪回転角検出部30による検出結果に基づいて、所定の時点からの一対の駆動輪16の移動距離を取得するとともに、取得した所定の時点からの一対の駆動輪16の移動距離が等しくなるようにトルクを発生させて、発生させたトルクにより一対の駆動輪16を駆動するように、車輪駆動機構部20を制御するように構成する。これにより、手押し車100が旋回することなく直進するようにトルクを発生させることができる。その結果、手押し車100の進行方向を直進方向に制限することができる。また、上記制御により、手押し車100の旋回方向への移動を打ち消すようにトルクを発生させることができる。その結果、手押し車100が旋回方向にわずかに移動したとしても、手押し車100の旋回方向へのわずかな移動を打ち消すことができる。これにより、手押し車100が元の進行方向とは異なる進行方向を向くことを抑制することができる。その結果、元の進行方向とは異なる進行方向を向いた状態で手押し車100の進行方向が直進方向に制限されることを抑制することができる。これにより、障害者などが使用する場合にも、手押し車100の進行方向を意図した直進方向に十分に制限することが可能な手押し車100を提供することができる。
また、第1実施形態による手押し車100では、上記のように、制御的に手押し車100の進行方向を直進方向に制限することができるので、手押し車100の進行方向を直進方向に制限するために、たとえば固定レバーなどを含む機械式の固定機構を設ける必要がない。その結果、固定機構を設けない分だけ部品点数の削減および構造の簡素化を図ることができる。また、手押し車100の進行方向を直進方向に制限するために使用者が固定機構の固定レバーを操作するという煩雑な手間を省くことができる。この効果は、使用者が障害者である場合、特に有効である。
また、第1実施形態では、上記のように、制御部70を、所定の時点からの一対の駆動輪16の移動距離を等しくするための位置制御トルクと、位置制御トルクを用いない場合の通常のトルクとの合計トルクを発生させて、発生させた合計トルクにより一対の駆動輪16を駆動するように、車輪駆動機構部20を制御するように構成する。これにより、通常のトルクを基本とした合計トルクにより一対の駆動輪16を駆動して、手押し車100の進行方向を直進方向に制限することができる。その結果、通常のトルクにより一対の駆動輪16を駆動する状態から、合計トルクにより一対の駆動輪16を駆動する状態に遷移して手押し車100の進行方向を直進方向に制限する場合にも、急激にトルクが変化して使用者に不快感または違和感を与えることを抑制することができる。
また、第1実施形態では、上記のように、通常のトルクを、車体部10の移動状態、路面状態、および、使用者による把持部11の操作状態に基づいて、取得されるように構成する。これにより、車体部10の移動状態、路面状態、または、使用者による把持部11の操作状態に応じて、通常のトルクを適切に取得することができる。
また、第1実施形態では、上記のように、制御部70を、所定の時点からの一対の駆動輪16の移動距離が等しくなるように、一対の駆動輪16の目標位置を設定し、設定した目標位置に基づいて、位置制御トルクをフィードバック制御により取得するように構成する。これにより、位置制御トルクを容易かつ精度良く取得することができる。その結果、手押し車100の進行方向を意図した直進方向により十分に制限することができる。
また、第1実施形態では、上記のように、制御部70を、所定の時点からの一対の駆動輪16の移動距離が等しくない場合、路面状態にかかわらず、所定の時点からの一対の駆動輪16の移動距離が等しくなるようにトルクを発生させて、発生させたトルクにより一対の駆動輪16を駆動するように、車輪駆動機構部20を制御するように構成する。これにより、手押し車100が傾斜路を走行しているか、または、平地を走行しているかにかかわらず、手押し車100の進行方向を意図した直進方向に制限することができる。
また、第1実施形態では、上記のように、一対の駆動輪16の移動距離を取得するための値を検出する検出部を、一対の駆動輪16の回転角を検出する車輪回転角検出部30を含むように構成する。これにより、通常、モータ駆動の手押し車100に設けられていることが多い車輪回転角検出部30を用いて、一対の駆動輪16の移動距離を取得するための値を取得することができる。その結果、一対の駆動輪16の移動距離を取得するための検出部を別途設ける必要がなく、部品点数の削減および構造の簡素化を図ることができる。
[第2実施形態]
次に、図1、図2、図4および図5を参照して、第2実施形態について説明する。この第2実施形態では、上記第1実施形態の構成に加えて、手押し車が位置制御を行う設定と位置制御を行わない設定とを切替可能に構成されている例について説明する。なお、上記第1実施形態と同一の構成については、図中において同じ符号を付して図示し、その説明を省略する。
(手押し車の構成)
第2実施形態による手押し車200は、図1および図2に示すように、制御部170を備える点で、上記第1実施形態の手押し車100と相違する。
第2実施形態では、手押し車200は、所定の時点からの一対の駆動輪16の移動距離が等しくなるようにトルクを発生させて、発生させたトルクにより一対の駆動輪16を駆動するように、車輪駆動機構部20を制御する位置制御を行う設定と、位置制御を行わない設定とを切替可能に構成されている。つまり、手押し車200は、位置制御トルクの加算を行う設定と、位置制御トルクの加算を行わない設定とを切替可能に構成されている。具体的には、手押し車200は、使用者による操作部12の操作に基づいて、位置制御を行う設定(位置制御トルクの加算を行う設定)と、位置制御を行わない設定(位置制御トルクの加算を行わない設定)とを切替可能に構成されている。
制御部170は、位置制御を行う(位置制御設定をオンにする)という使用者による操作部12の操作を受け付けた場合、設定を位置制御を行う設定(位置制御設定をオン)に切り替える。また、制御部170は、位置制御を行わない(位置制御設定をオフにする)という使用者による操作部12の操作を受け付けた場合、設定を位置制御を行わない設定(位置制御設定をオフ)に切り替える。使用者は、設定の切替を所望する場合、たとえば操作部12の設定ボタンを押下操作する。
(進行方向制限処理)
次に、図4および図5を参照して、第2実施形態の手押し車200による進行方向制限処理をフローチャートに基づいて説明する。なお、第1実施形態の進行方向制限処理と同様の処理には同じ符号を付して図示し、その詳細な説明を省略する。また、フローチャートの各処理は、制御部170により行われる。
手押し車200の電源がオンされると、図4に示すように、まず、第1実施形態と同様に、ステップS1およびS2の処理が行われる。
そして、ステップS101において、位置制御設定がオフにされる。
そして、第1実施形態と同様に、ステップS3~S7の処理が行われる。
そして、図5に示すように、ステップS102において、位置制御設定がオンであるか否かが判断される。たとえば電源がオンされた後の最初のステップS102では、ステップS101において位置制御設定がオフにされているため、位置制御設定がオフであると判断される。ステップS102において、位置制御設定がオフであると判断された場合、ステップS103に進む。
そして、ステップS103において、使用者による位置制御設定をオンにする操作が行われたか否かが判断される。ステップS103の処理までの間のいずれかの時点において、使用者による位置制御設定をオンにする操作部12の操作を受け付けている場合、使用者による位置制御設定をオンにする操作が行われたと判断される。ステップS103において、使用者による位置制御設定をオンにする操作が行われたと判断された場合、ステップS104に進む。
そして、ステップS104において、ステップS1の処理と同様に、左の駆動輪16の累計移動距離DLおよび右の駆動輪16の累計移動距離DRが共に初期化される(DL=0、DR=0にされる)。
そして、ステップS105において、位置制御設定がオンにされる。
そして、ステップS106において、位置制御設定がオンであるか否かが判断される。たとえば上記のようにステップS105の処理を経由してステップS106の処理に達した場合、位置制御設定がオンであると判断される。ステップS106において、位置制御設定がオンであると判断された場合、ステップS8に進む。そして、第1実施形態と同様に、位置制御が行われるように(位置制御トルクの加算が行われるように)、ステップS8~S11の処理が行われる。そして、ステップS3に戻る。
また、ステップS103において、使用者による位置制御設定をオンにする操作が行われていないと判断された場合、ステップS104およびS105の処理を行うことなく、ステップS106に進む。
そして、ステップS106において、位置制御設定がオンであるか否かが判断される。たとえば上記のようにステップS103において使用者による位置制御設定をオンにする操作が行われていないと判断されてステップS106の処理に達した場合、位置制御設定がオフであると判断される。ステップS106において、位置制御設定がオフであると判断された場合、ステップS8およびS9の処理を行うことなく、ステップS10に進む。そして、第1実施形態とは異なり、位置制御が行われないように(位置制御トルクの加算が行われないように)、ステップS10およびS11の処理が行われる。この場合、通常のトルクTLAおよびTRAが駆動トルクとして車輪駆動機構部20の左右の駆動モータ21に設定されて、発生される。そして、ステップS3に戻る。
また、ステップS102において、位置制御設定がオンであると判断された場合、ステップS107に進む。
そして、ステップS107において、使用者による位置制御設定がオフにする操作が行われたか否かが判断される。ステップS107の処理までの間のいずれかの時点において、使用者による位置制御設定をオフにする操作部12の操作を受け付けている場合、使用者による位置制御設定をオフにする操作が行われたと判断される。ステップS107において、使用者による位置制御設定をオフにする操作が行われたと判断された場合、ステップS108に進む。
そして、ステップS108において、位置制御設定がオフにされる。
そして、ステップS106において、位置制御設定がオンであるか否かが判断される。たとえば上記のようにステップS108の処理を経由してステップS106の処理に達した場合、位置制御設定がオフであると判断される。ステップS106において、位置制御設定がオフであると判断された場合、ステップS8およびS9の処理を行うことなく、ステップS10に進む。そして、第1実施形態とは異なり、位置制御が行われないように(位置制御トルクの加算が行われないように)、ステップS10およびS11の処理が行われる。この場合、通常のトルクTLAおよびTRAが駆動トルクとして車輪駆動機構部20の左右の駆動モータ21に設定されて、発生される。そして、ステップS3に戻る。
また、ステップS107において、使用者による位置制御設定をオフにする操作が行われていないと判断される場合、ステップS108の処理を行うことなく、ステップS106に進む。
そして、ステップS106において、位置制御設定がオンであるか否かが判断される。たとえば上記のようにステップS107において使用者による位置制御設定をオフにする操作が行われていないと判断されてステップS106の処理に達した場合、位置制御設定がオンであると判断される。ステップS106において、位置制御設定がオンであると判断された場合、ステップS8に進む。そして、第1実施形態と同様に、位置制御が行われるように(位置制御トルクの加算が行われるように)、ステップS8~S11の処理が行われる。そして、ステップS3に戻る。
そして、手押し車200の電源がオンされている間、使用者による操作部12の操作に応じて、ステップS3~S11およびS102~S108のうちの該当する処理が適宜行われる。
なお、第2実施形態のその他の構成は、上記第1実施形態と同様である。
(第2実施形態の効果)
第2実施形態では、以下のような効果を得ることができる。
第2実施形態では、上記のように、手押し車200を、所定の時点からの一対の駆動輪16の移動距離が等しくなるようにトルクを発生させて、発生させたトルクにより一対の駆動輪16を駆動するように、車輪駆動機構部20を制御する位置制御を行う設定と、位置制御を行わない設定とを切替可能に構成する。これにより、手押し車200の進行方向を直進方向に制限したい場合、位置制御を行う設定に切り替えて、手押し車200の進行方向を直進方向に制限することができる。また、手押し車200を旋回方向に移動させたい場合、設定を位置制御を行わない設定に切り替えて、手押し車200の進行方向の直進方向への制限を解除して、手押し車200を旋回方向に容易に移動させることができる。このように、状況に応じて進行方向の直進方向への制限の有無を切り替えることができるので、手押し車200の利便性を向上させることができる。
また、第2実施形態では、上記のように、手押し車200を、使用者による操作部12の操作に基づいて、位置制御を行う設定と、位置制御を行わない設定とを切替可能に構成する。これにより、単に操作部12を操作するだけで、設定を切り替えることができる。その結果、簡単な操作により、設定を切り替えることができる。この効果は、施設などにおいて多数の使用者が1つの手押し車200を利用する場合、使用者毎に設定を簡単に切り替えることができる点で、特に有効である。
なお、第2実施形態のその他の効果は、上記第1実施形態と同様である。
[第3実施形態]
次に、図1、図2、図6および図7を参照して、第3実施形態について説明する。この第3実施形態では、上記第2実施形態とは異なる、手押し車が位置制御を行う設定と位置制御を行わない設定とを切替可能に構成されている例について説明する。なお、上記第1実施形態と同一の構成については、図中において同じ符号を付して図示し、その説明を省略する。
(手押し車の構成)
第3実施形態による手押し車300は、図1および図2に示すように、制御部270を備える点で、上記第1実施形態の手押し車100と相違する。
第3実施形態では、手押し車300は、所定の時点からの一対の駆動輪16の移動距離が等しくなるようにトルクを発生させて、発生させたトルクにより一対の駆動輪16を駆動するように、車輪駆動機構部20を制御する位置制御を行う設定と、位置制御を行わない設定とを切替可能に構成されている。つまり、手押し車300は、位置制御トルクの加算を行う設定と、位置制御トルクの加算を行わない設定とを切替可能に構成されている。具体的には、手押し車300は、一対の駆動輪16が後進しているか否かに基づいて、位置制御を行う設定(位置制御トルクの加算を行う設定)と、位置制御を行わない設定(位置制御トルクの加算を行わない設定)とを切替可能に構成されている。
制御部270は、車輪回転角検出部30による一対の駆動輪16の回転角の検出結果に基づいて、一対の駆動輪16が後進しているか否かを判断する。制御部270は、一対の駆動輪16の両方が後進(後方に回転)していない場合、設定を位置制御を行う設定(位置制御設定をオン)に切り替える。つまり、たとえば使用者が一対の駆動輪16が共に前進(前方に回転)するように手押し車300を動かした場合、設定が位置制御を行う設定に切り替えられて、手押し車300の進行方向が直進方向に制限される。
また、制御部270は、一対の駆動輪16のうちの少なくとも一方が後進(後方に回転)している場合、設定を位置制御を行わない設定(位置制御設定をオフ)に切り替える。つまり、たとえば使用者が一対の駆動輪16の少なくとも一方が後進するように手押し車300を動かした場合、設定が位置制御を行わない設定に切り替えられて、手押し車300の進行方向の直進方向への制限が解除される。使用者は、たとえば手押し車300を旋回方向に移動させたい場合、一対の駆動輪16の少なくとも一方が後進するように手押し車300を動かしつつ、手押し車300が所望の方向を向くように手押し車300を旋回させる。
(進行方向制限処理)
次に、図6および図7を参照して、第3実施形態の手押し車300による進行方向制限処理をフローチャートに基づいて説明する。なお、第1および第2実施形態の進行方向制限処理と同様の処理には同じ符号を付して図示し、その詳細な説明を省略する。また、フローチャートの各処理は、制御部270により行われる。
手押し車300の電源がオンされると、図6に示すように、まず、第2実施形態と同様に、ステップS1~S7およびS101の処理が行われる。
そして、図7に示すように、ステップS102において、位置制御設定がオンであるか否かが判断される。ステップS102において、位置制御設定がオフであると判断された場合、ステップS103aに進む。
そして、ステップS103aにおいて、一対の駆動輪16の両方が後進していないか否かが判断される。つまり、ステップS103aでは、ΔDL≧0でかつΔDR≧0であるか否かが判断される。ステップS103aにおいて、一対の駆動輪16の両方が後進していない(ΔDL≧0でかつΔDR≧0)と判断された場合、ステップS104に進む。
そして、ステップS104において、ステップS1の処理と同様に、左の駆動輪16の累計移動距離DLおよび右の駆動輪16の累計移動距離DRが共に初期化される(DL=0、DR=0にされる)。
そして、ステップS105において、位置制御設定がオンにされる。そして、ステップS106に進む。ステップS106の処理以後の処理は第2実施形態と同様である。
また、ステップS103aにおいて、一対の駆動輪16の両方が後進していない(ΔDL<0またはΔDR<0)と判断された場合、ステップS104およびS105の処理を行うことなく、ステップS106に進む。ステップS106の処理以後の処理は第2実施形態と同様である。
また、ステップS102において、位置制御設定がオンであると判断された場合、ステップS107aに進む。
そして、ステップS107aにおいて、一対の駆動輪16のうちの少なくとも一方が後進しているか否かが判断される。つまり、ステップS107aでは、ΔDL<0またはΔDR<0であるか否かが判断される。ステップS107aにおいて、一対の駆動輪16のうちの少なくとも一方が後進している(ΔDL<0またはΔDR<0)と判断された場合、ステップS108に進む。
そして、ステップS108において、位置制御設定がオフにされる。そして、ステップS106に進む。ステップS106の処理以後の処理は第2実施形態と同様である。
また、ステップS107aにおいて、一対の駆動輪16の両方が後進していない(ΔDL≧0でかつΔDR≧0)と判断された場合、ステップS106に進む。ステップS106の処理以後の処理は第2実施形態と同様である。
そして、手押し車300の電源がオンされている間、一対の駆動輪16の後進状態に応じて、ステップS3~S11、S102、S103a、S104~S106、S107aおよびS108のうちの該当する処理が適宜行われる。
なお、第3実施形態のその他の構成は、上記第1および第2実施形態と同様である。
(第3実施形態の効果)
第3実施形態では、以下のような効果を得ることができる。
第3実施形態では、上記のように、制御部270を、一対の駆動輪16のうちの少なくとも一方が後進している場合、設定を位置制御を行わない設定に切り替え、一対の駆動輪16の両方が後進していない場合、設定を位置制御を行う設定に切り替えるように構成する。これにより、単に一対の駆動輪16のうちの少なくとも一方を後進させるように手押し車300を動かすだけで、設定を位置制御を行わない設定に切り替えて、手押し車300の進行方向の直進方向への制限を解除することができる。また、一対の駆動輪16の両方を前進させるように手押し車300を動かすだけで、設定を位置制御を行う設定に切り替えて、手押し車300の進行方向を直進方向に制限することができる。このように、ボタン操作などを行わなくても設定を自動で切り替えることができる。また、手押し車300の進行方向の直進方向への制限を要する場合には、適切に手押し車300の進行方向を直進方向に制限することができる。
なお、第3実施形態のその他の効果は、上記第1および第2実施形態と同様である。
[変形例]
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更(変形例)が含まれる。
たとえば、上記第1~第3実施形態では、本発明を、手押し車としての歩行車に適用した例を示したが、本発明はこれに限られない。本発明を、手押し車としての、シルバーカー、ベビーカー、台車、車椅子などに適用してもよい。
また、上記第1~第3実施形態では、本発明の検出部を、車輪回転角検出部を含むように構成する例を示したが、本発明はこれに限られない。本発明では、一対の駆動輪の移動距離を取得するための値を検出可能であれば、本発明の検出部を、車輪回転角検出部以外の検出部を含むように構成してもよい。
また、上記第1~第3実施形態では、通常のトルクを、車体部の移動状態、路面状態、および、使用者による把持部の操作状態に基づいて取得する例を示したが、本発明はこれに限られない。本発明では、通常のトルクを、車体部の移動状態、路面状態、および、使用者による把持部の操作状態のうちの少なくとも1つに基づいて取得してもよい。また、通常のトルクを、車体部の移動状態、路面状態、および、使用者による把持部の操作状態以外の状態に基づいて取得してもよい。
また、上記第1~第3実施形態では、位置制御トルクを、フィードバック制御により取得する例を示したが、本発明はこれに限られない。本発明では、位置制御トルクを、フィードバック制御以外の方法により取得してもよい。
また、本発明では、位置制御の切替に関して、上記第2実施形態の手押し車の構成と、上記第3実施形態の手押し車の構成とを組み合わせてもよい。具体的には、使用者による操作部の操作に基づいて設定を位置制御を行う設定に切り替えた状態で、一対の駆動輪が後進しているか否かに基づいて、位置制御を行う設定と、位置制御を行わない設定とをさらに切替可能に、手押し車を構成してもよい。この場合、使用者による操作部の操作に基づいて設定を位置制御を行う設定に切り替えた状態で、一対の駆動輪のうちの少なくとも一方が後進している場合、設定を位置制御を行わない設定に切り替え、一対の駆動輪の両方が後進していない場合、設定を位置制御を行う設定に切り替えるように、手押し車を構成すればよい。また、使用者による操作部の操作に基づいて設定を位置制御を行わない設定に切り替えた状態では、一対の駆動輪が後進しているか否かにかかわらず、設定を位置制御を行わない設定に維持するように、手押し車を構成すればよい。
また、上記第1~第3実施形態では、説明の便宜上、制御部の処理動作を処理フローに沿って順番に処理を行うフロー駆動型のフローチャートを用いて説明したが、本発明はこれに限られない。本発明では、制御部の処理動作を、イベント単位で処理を実行するイベント駆動型(イベントドリブン型)の処理により行ってもよい。この場合、完全なイベント駆動型で行ってもよいし、イベント駆動およびフロー駆動を組み合わせて行ってもよい。