(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、
図10に示したような傾斜センサは、進行方向(Y方向)の加速度によっても櫛形電極部の静電容量が変化するため、加速または減速を傾斜角の変化として誤検出する場合がある。この場合、実際の地面の傾斜角が変化していないにも関わらずアシスト力が調整されてしまう可能性があり、アシスト力の調整挙動が不安定になる場合があった。
【0008】
そこで、この発明は、倒立振子制御を行い、傾斜角に応じてアシスト力を調整する手押し車において、当該アシスト力の調整挙動を安定させることを目的とする。
【課題を解決するための手段】
【0009】
本発明の手押し車は、本体部と、前記本体部に回転可能に支持されている複数の主輪と、前記本体部または前記複数の主輪の回転軸に対してピッチ方向に回転可能に連結された支持部と、前記支持部に連結された補助輪と、前記複数の主輪を回転させる駆動部と、前記駆動部を制御する制御部と、前記本体部のピッチ方向の角度変化を検出する角度変化検出部と、前記支持部の水平方向に対する傾きを検出する傾斜角検出部と、を備えている。
【0010】
制御部は、前記傾斜角検出部の出力に基づいて前記本体部の目標角度を設定し、前記本体部の前記ピッチ方向の角度が前記目標角度になるように、かつ前記角度変化検出部の出力に基づいて前記本体部の前記ピッチ方向への角度変化が0となるように、前記駆動部を制御する。
【0011】
そして、制御部は、前記手押し車が平地にある場合の前記傾斜角検出部の出力値を基準として、前記傾斜角検出部の出力変化を前記目標角度の再設定に利用しない不感帯を設け、前記傾斜角検出部の出力が前記不感帯を超えた場合、前記目標角度を再設定するとともに、前記不感帯を超えた時点の前記傾斜角検出部の出力値を基準として、新たな不感帯を再設定することを特徴とする。
【0012】
このように、制御部は、傾斜センサである傾斜角検出部の出力変化を目標角度の再設定に利用しない不感帯(例えば±5°程度)を設ける。傾斜角検出部の出力が不感帯を超えた場合、目標角度の再設定することにより、駆動部が前記複数の前記主輪に印加するトルクを変更してアシスト力を調整する。ここで、実際の地面の傾斜角が当該不感帯の境界に近い値(例えば5°)であったり、加速または減速によって傾斜センサが傾斜角の変化として誤検出したりする場合、アシスト力の調整を頻繁に繰り返すことになってしまう。そこで、制御部は、不感帯を超えた時点の傾斜センサの出力値を基準として、新たな不感帯を再設定する(例えば5°を基準として0°〜10°を不感帯とする)ことで、アシスト力の調整挙動を安定させることができる。
【0013】
なお、アシスト力の調整は、例えば、鉛直方向よりも前方に本体部が傾斜するように目標角度を再設定することで使用者を牽引する力を得ることができ、鉛直方向よりも後方に本体部が傾斜するように目標角度を再設定することで使用者を後方に押し返す力を得ることができる。
【発明の効果】
【0014】
この発明によれば、倒立振子制御を行い、傾斜角に応じてアシスト力を調整する手押し車において、当該アシスト力の調整挙動を安定させることができる。
【発明を実施するための形態】
【0016】
図1は、本発明の実施形態に係る手押し車1の左側面図であり、
図2は、正面図である。
図3は、手押し車1のハードウェア構成を示すブロック線図である。
【0017】
手押し車1は、鉛直方向(図中Z方向)に長く、奥行き方向(図中Y方向)および左右方向(図中X方向)に短い形状の本体部10を備えている。本体部10には、制御用の基板や電池等を内蔵したボックス30が取り付けられている。なお、本体部10は、実際にはカバーが取り付けられ、内部の基板等が外観上見えないようになっている。
【0018】
本体部10の鉛直下方向の下部のうち、左右方向の端部には、一対の主輪11が取り付けられている。この実施形態においては、主輪11は2輪である例を示しているが、1輪あるいは3輪以上であってもよい。
【0019】
各主輪11に連結された2つの棒状の本体部10は、円筒形状の把持部15を介して接続され、主輪11の軸を中心としてピッチ方向に回転可能になっている。ただし、本体部10は、この例のように2つの棒状である必要はなく、1つの棒状の部材であってもよいし、薄い板状の部材であってもよい。
【0020】
主輪11の回転軸(または本体部10)には、進行方向に対して主輪11よりも前方(順方向)に支持部112と、補助輪113が設置されている。支持部112は、薄い板状の部材である。支持部112は、水平な地面と平行に延びるように、主輪11の回転軸(または本体部10)に対してピッチ方向に回転可能に接続されている。また、支持部112には、主輪11に連結されている側とは反対方向の下面に補助輪113が連結されている。これにより、主輪11と補助輪113の両方が地面に接するようになっている。なお、支持部112は、進行方向に対して主輪11よりも後方に延びる態様であってもよい。
【0021】
なお、
図1および
図2においては、補助輪113が地面に接した状態を示しているが、支持部112および補助輪113は、本発明において必須の構成ではない。手押し車1は、倒立振子制御を行うことにより、主輪11だけが接地された状態であっても自立することが可能である。
【0022】
なお、主輪11の回転軸(または本体部10)と支持部112との接続部分にモータを取り付け、このモータを駆動することで主輪11の回転軸(または本体部10)と支持部112との成す角度である交差角を制御するようにしてもよい。
【0023】
把持部15には、電源スイッチ等のユーザインタフェース(I/F)28が設けられている。使用者は、把持部15を握る、あるいは前腕等を把持部15に載せ、グリップ部と前腕等の摩擦により、手押し車1を押すことができる。
【0024】
次に、手押し車1のハードウェア構成および動作について説明する。
図3に示すように、手押し車1は、傾斜センサ20、制御部21、ROM22、RAM23、ジャイロセンサ24、駆動部25、支持部用ロータリエンコーダ27、およびユーザI/F28を備えている。
【0025】
制御部21は、手押し車1を統括的に制御する機能部であり、ROM22に記憶されているプログラムを読み出し、当該プログラムをRAM23に展開することで種々の動作を実現する。
【0026】
傾斜センサ20は、水平方向に対する傾斜角を検出し、制御部21に出力する。傾斜センサ20は、具体的には、
図10(A)に示すように、薄い板状のシリコンウェハを加工することにより形成され、バネ201、可動部202、櫛形電極部203からなる。そして、傾斜センサ20は、
図10(B)に示すように、水平に配置された傾斜センサ20のX軸回りにθの傾斜角が入力されると、質量Mである可動部202にMg・sinθの力が作用する。これにより、バネ201は、Y方向にΔYだけ変位する。傾斜センサ20は、この変位ΔYを櫛形電極部203で静電容量の変化として検出する。傾斜センサ20は、この静電容量の変化を傾斜角として制御部21に出力する。
【0027】
ジャイロセンサ24は、本発明の本体角度変化検出手段に相当し、本体部10のピッチ方向の角速度を検出し、制御部21に出力する。支持部用ロータリエンコーダ27は、本体部10と支持部112との成す角度である交差角を検出し、検出結果を制御部21に出力する。また、支持部112は、水平な地面に対し必ず平行に延びる必要はない。制御部21は、あらかじめ水平な地面と支持部112との角度を測定しておいて、その角度を考慮して交差角を検出すればよい。
【0028】
なお、手押し車1は、他にも本体部10の各方向の加速度を検出する加速度センサや、主輪11の回転角度を検出するロータリエンコーダや、補助輪113の回転角度を検出するロータリエンコーダ等をさらに備えていてもよい。また、手押し車1は、主輪11のロータリエンコーダを利用して加速度または減速度がある設定値以上を検知した場合には、後述の不感帯の閾値を広げるようにしてもよい。逆に、手押し車1は、加速度または減速度がある設定値以下であることを検知した場合には、不感帯の閾値を狭めるようにしてもよい。これにより、前者の場合は、誤検知を防ぎ、後者の場合は、斜度の変化にほぼ一致したアシスト力の調整が可能となる。
【0029】
図4は、制御部21の制御構成図である。制御部21は、目標角度決定部211、目標角速度計算部212、トルク指令生成部213、および斜度推定部214を備えている。
【0030】
目標角度決定部211は、支持部112の傾斜角度(地面に対する傾斜角度)の目標である目標傾斜角度θ1を設定する。例えば、
図5(A)に示すように、目標傾斜角度θ1として、鉛直方向に対して0度より少し後方である第1の角度(θ1=−3°)を出力する。
【0031】
目標角速度計算部212は、当該第1の角度と、現時点の本体部10の傾斜角度と、の差分値を入力し、この差分値が0となるような本体部10の傾斜角速度を算出する。
【0032】
現時点の本体部10の傾斜角度は、例えば支持部用ロータリエンコーダ27から入力された本体部10と支持部112の交差角から算出する。支持部112は、水平な地面と平行になるように主輪11の軸(または本体部10)に接続されている。したがって、交差角が90度である場合に本体部10の地面に対する傾斜角度が0度であるとし、交差角が大きくなる場合に進行方向に対して後方に傾斜し、交差角が小さくなる場合に進行方向に対して前方に傾斜しているとして、現時点の本体部10の傾斜角度を推定する。
【0033】
なお、傾斜角度は、ジャイロセンサ24の出力値を積分する、あるいは本体部10に傾斜センサ20を取り付ける場合には、当該本体部10に取り付けられた傾斜センサ20から得ることもできる。
【0034】
トルク指令生成部213は、目標角速度計算部212で算出された傾斜角速度と、ジャイロセンサ24から入力された現時点の本体部10の傾斜角速度と、の差分値を入力し、この差分値が0となるような印加トルクを算出する。
【0035】
このようにして算出された印加トルクに基づく制御信号が、駆動部25に入力される。駆動部25は、主輪11に取り付けられた軸を回転させるモータを駆動して主輪11に動力を与える機能部であり、入力された制御信号に基づいて主輪11のモータを駆動し、主輪11を回転させる。
【0036】
これにより、手押し車1は、倒立振子制御を行い、本体部10の姿勢を一定に保つように制御する。仮に、使用者が手押し車1を進行方向に対して前方に押す動作を行うと、本体部10の傾斜角度が目標傾斜角度に対して前方に傾くことになるため、本体部10の傾斜角度を目標傾斜角度に維持するために、主輪11を順方向に回転させるトルクが働く。これにより、使用者の移動に追従して手押し車1も移動する。
【0037】
そして、斜度推定部214は、傾斜センサ20の値を入力し、当該傾斜センサ20の値が所定の範囲(不感帯)以内であるか否かを判断する。斜度推定部214は、傾斜センサ20の値が不感帯を超えたと判断した場合に、傾斜センサ20の値を目標角速度計算部211に出力し、不感帯を超えた旨を当該目標角度決定部211に通知する。目標角度決定部211は、不感帯を超えた旨が通知された場合、目標傾斜角度θ1を再設定する。また、目標角度決定部211は、傾斜センサ20の値が一瞬でも不感帯を超えた時点で目標傾斜角度を再設定してもよいが、所定時間以上継続して不感帯を超えた時点で目標傾斜角度を再設定する態様であってもよい。さらに、手押し車1は、目標傾斜角度を再設定した直後にまた再設定が必要になった場合は、凹凸の激しい道を走行している場合、または操作者が躓いている等の状況である可能性もあるため、走行を停止する等の緊急制御をおこなってもよい。
【0038】
図6は、制御部21の動作を示すフローチャートである。
図6に示すように、斜度推定部214は、傾斜センサ20の値を入力し(s11)、当該傾斜センサ20の値が所定の範囲(不感帯)以内であるか否かを判断する(s12)。
【0039】
図7は、不感帯と目標傾斜角度の関係を示す図である。
図7に示すグラフの横軸は傾斜センサ20の値であり、縦軸は目標傾斜角度である。初期状態(平地)では、傾斜センサの値0°を基準として、±5°の不感帯が設定されている。すなわち、傾斜センサ20の値が−5°〜5°の間では、目標傾斜角度θ1は、第1の角度(θ1=−3°)に固定され、傾斜センサの出力変化を駆動部25の制御には利用しないようになっている。そして、斜度推定部214が傾斜センサ20の値が不感帯を超えたと判断した場合(s12:Yes)、目標角度決定部211は、目標傾斜角度θ1を再設定する(s13)。
【0040】
例えば、
図7に示すように、目標角度決定部211は、傾斜センサ20の値が−5°未満となった場合、目標傾斜角度θ1を第1の角度より本体部10が前方に傾く角度である第2の角度(例えばθ1=2°)に再設定する。ただし、現時点の本体部10の傾斜角度を支持部用ロータリエンコーダ27から入力された本体部10と支持部112の交差角から算出している場合、目標角度決定部211は、上がり勾配を考慮して、本体部10が鉛直方向に対して前方に2°傾くように、不感帯を超えた時点の傾斜センサ20の値−5°を差分した値(θ1=7°)を目標傾斜角度として出力する。
【0041】
これにより、
図5(B)に示すように、本体部10が前方に傾くため、主輪11を順方向に回転させるトルクがより強く働く。これにより、使用者を牽引する力を得ることができ、より快適に坂道を上ることができる。
【0042】
また、例えば、
図7に示すように、目標角度決定部211は、傾斜センサ20の値が5°より大きくなった場合、目標傾斜角度θ1として、第1の角度より本体部10が後方に傾く角度である第3の角度(例えばθ1=−6°)を出力する。ただし、現時点の本体部10の傾斜角度を支持部用ロータリエンコーダ27から入力された本体部10と支持部112の交差角から算出している場合、目標角度決定部211は、下り勾配を考慮して、本体部10が鉛直方向に対して後方に6°傾くように、不感帯を超えた時点の傾斜センサ20の値5°を差分した値(θ1=−11°)を目標傾斜角度として出力する。
【0043】
これにより、
図5(C)に示すように、本体部10がより後方に傾くため、主輪11を後方に回転させるトルクが働く。これにより、ブレーキ効果が働いて、使用者を後方に押し返す力を得ることができ、使用者がより安全に坂道を下ることができる。
【0044】
そして、このようにしてアシスト力が調整されると、斜度推定部214は、新たな不感帯を再設定する(s14)。例えば、斜度推定部214は、
図7に示すように、傾斜センサ20の値が−5°未満となった場合、当該不感帯を超えた時点の傾斜センサ20の値−5°を基準として、±5°の新たな不感帯を設定する。ただし、この例では傾斜センサ20の値がさらに小さくなる場合にはアシスト力の調整を行わない態様とするため、不感帯は−∞〜0°とする。これにより、傾斜センサ20の値が0°以下である間は、目標傾斜角度θ1は、第2の角度(θ1=2°)に固定される。傾斜センサ20の値が0°より大きくなった場合には、目標傾斜角度θ1として、第1の角度が再設定され、0°を基準として、±5°の不感帯が再設定されることになる。
【0045】
また、斜度推定部214は、傾斜センサ20の値が5°より大きくなった場合、当該不感帯を超えた時点の傾斜センサ20の値5°を基準として、±5°の新たな不感帯を設定する。ただし、この例では傾斜センサ20の値がさらに大きくなる場合にはアシスト力の調整を行わない態様とするため、不感帯は0°〜∞とする。これにより、傾斜センサ20の値が0°以上である間は、目標傾斜角θ1は、第3の角度(θ1=−6°)に固定される。傾斜センサ20の値が0°未満となった場合には、目標傾斜角度θ1として、第1の角度が再設定され、0°を基準として、±5°の不感帯が再設定されることになる。
【0046】
これにより、制御部21は、実際の地面の傾斜角が不感帯の境界に近い値(例えば5°または−5°)であったり、加速または減速によって傾斜センサ20が傾斜角の変化として誤検出したりしても、アシスト力の調整を頻繁に繰り返すことがなく、アシスト力の調整挙動を安定させることができる。
【0047】
次に、
図8(A)は、変形例1における不感帯と目標傾斜角度の関係を示す図である。変形例1では、傾斜センサ20の値が小さくなってアシスト力が強く調整された後にさらに傾斜センサ20の値が小さくなった場合、または傾斜センサ20の値が大きくなってアシスト力が弱く調整(または逆方向のアシスト力が設定)された後にさらに傾斜センサ20の値が大きくなった場合に、再び新たな目標傾斜角度と不感帯を設定する。
【0048】
変形例1では、斜度推定部214は、傾斜センサ20の値が−5°未満となった場合、当該不感帯を超えた時点の傾斜センサ20の値−5°を基準として、−8°〜0°の間に新たな不感帯を設定する。
【0049】
そして、目標角度決定部211は、傾斜センサ20の値が−8°未満となった場合、目標傾斜角度θ1として、第2の角度よりさらに本体部10が前方に傾く角度である第4の角度(例えばθ1=6°)を設定する。ただし、現時点の本体部10の傾斜角度を支持部用ロータリエンコーダ27から入力された本体部10と支持部112の交差角から算出している場合、目標角度決定部211は、上がり勾配を考慮して、本体部10が鉛直方向に対して前方に6°傾くように、不感帯を超えた時点の傾斜センサ20の値−8°を差分した値(θ1=14°)を出力する。
【0050】
これにより、本体部10がさらに前方に傾くため、主輪11を順方向に回転させるトルクがより強く働き、アシスト力がさらに強く調整される。また、斜度推定部214は、不感帯を超えた時点の傾斜センサ20の値−8°を基準として、新たな不感帯を設定する。この例では新たな不感帯は−∞〜−5°とする。これにより、傾斜センサ20の値が−8°未満となった場合には目標傾斜角θ1が第4の角度に再設定され、再び−5°を超えるまでは当該第4の角度に固定される。傾斜センサ20の値が−5°を超えた場合には、目標傾斜角度θ1は第2の角度に再設定され、−8°〜0°の新たな不感帯が再設定される。
【0051】
一方、斜度推定部214は、傾斜センサ20の値が5°より大きくなった場合、当該不感帯を超えた時点の傾斜センサ20の値5°を基準として、0°〜8°の間に新たな不感帯を設定する。
【0052】
そして、目標角度決定部211は、傾斜センサ20の値が8°より大きくなった場合、目標傾斜角度θ1として、第3の角度よりさらに本体部10が後方に傾く角度である第5の角度(例えばθ1=−9°)を設定する。ただし、現時点の本体部10の傾斜角度を支持部用ロータリエンコーダ27から入力された本体部10と支持部112の交差角から算出している場合、目標角度決定部211は、下り勾配を考慮して、本体部10が鉛直方向に対して後方に−9°傾くように、不感帯を超えた時点の傾斜センサ20の値8°を差分した値(θ1=−17°)を出力する。これにより、本体部10がさらに後方に傾くため、主輪11を後方に回転させるトルクがより強く働き、より強いブレーキ効果が働いて、使用者を後方に押し返す力を得ることができる。
【0053】
また、斜度推定部214は、不感帯を超えた時点の傾斜センサ20の値8°を基準として、新たな不感帯を設定する。この例では新たな不感帯は5°〜∞とする。これにより、傾斜センサ20の値が8°を超えた場合には目標傾斜角θ1が第5の角度に再設定され、再び5°未満となるまでは当該第5の角度に固定される。傾斜センサ20の値が5°未満となった場合には、目標傾斜角度θ1は第3の角度に再設定され、0°〜8°の新たな不感帯が再設定される。
【0054】
このように、制御部21は、傾斜センサ20の値が不感帯を超えた場合に、当該不感帯を超えた値を基準として同じ幅(例えば±5°)の不感帯を設定する必要はなく、適宜調整することが可能である。
【0055】
次に、
図8(B)は、変形例2における不感帯と目標傾斜角度の関係を示す図である。変形例2では、斜度推定部214は、傾斜センサ20の値が−8°未満となった場合、新たな不感帯として、−∞〜−3°を設定する。これにより、傾斜センサ20の値が−8°未満となった場合には目標傾斜角θ1が第4の角度に再設定され、−3°を超えるまでは当該第4の角度に固定され、強いアシスト力が維持される。傾斜センサ20の値が−3°を超えた場合には、目標傾斜角度θ1は第2の角度に再設定され、−8°〜0°の新たな不感帯が再設定される。同様に、斜度推定部214は、傾斜センサ20の値が8°より大きくなった場合、新たな不感帯として、3°〜∞を設定する。これにより、傾斜センサ20の値が8°より大きくなった場合には目標傾斜角θ1が第5の角度に再設定され、3°未満となるまでは当該第5の角度に固定され、強いブレーキ効果が維持される。傾斜センサ20の値が3°未満となった場合には、目標傾斜角度θ1は第3の角度に再設定され、0°〜8°の新たな不感帯が再設定される。
【0056】
このように、各不感帯の境界は、同じ値である必要はなく、元の目標傾斜角度に戻すための傾斜センサ20の値は、より小さい値またはより大きい値に設定する態様としてもよい。
【0057】
なお、アシスト力を調整するためには、目標傾斜角度の変更に限らず、例えば
図9(A)に示すように、オフセットトルクを加えるようにしてもよい。この場合、斜度推定部214は、傾斜センサ20の値に基づいて推定した地面の傾斜角に応じて、当該地面の傾斜角によって生じる重力トルクを補償するためのオフセットトルクを重力トルク計算部214Aで算出する。そして、当該オフセットトルクは、トルク指令生成部213で算出されたトルクに加算され、駆動部25に印加される。また、
図9(B)に示すように、目標傾斜角度を変更しつつ、さらにオフセットトルクを印加するようにしてもよい。