(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022163313
(43)【公開日】2022-10-26
(54)【発明の名称】歩行支援ロボット
(51)【国際特許分類】
A61H 3/04 20060101AFI20221019BHJP
【FI】
A61H3/04
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021068178
(22)【出願日】2021-04-14
(71)【出願人】
【識別番号】000001247
【氏名又は名称】株式会社ジェイテクト
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】柴田 由之
(72)【発明者】
【氏名】松岡 祐樹
【テーマコード(参考)】
4C046
【Fターム(参考)】
4C046AA24
4C046AA42
4C046AA45
4C046BB07
4C046CC01
4C046DD02
4C046DD33
4C046DD45
4C046EE02
4C046EE04
4C046FF02
4C046FF25
4C046FF29
(57)【要約】
【課題】車輪のスリップによって負荷トレーニングの効果が低下することを抑制する。
【解決手段】動作モードとして、ユーザの歩行動作に制動力による負荷を加える負荷トレーニングモードを有する歩行支援ロボットが提供される。歩行支援ロボットは、複数の車輪を有する車体部と、車輪に制動力を加える制動部と、制動部を制御する駆動制御部と、車体部の移動に関する情報である第1情報を取得する第1取得部と、車輪の回転に関する情報である第2情報を取得する第2取得部と、負荷トレーニングモードにおいて、第1情報と第2情報とに基づいて車輪がスリップしているか否かを判定するスリップ判定部と、を備える。駆動制御部は、負荷トレーニングモードにおいて、車輪がスリップしていると判定された場合に、車輪に加える制動力を小さくする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
動作モードとして、ユーザの歩行動作に制動力による負荷を加える負荷トレーニングモードを有する歩行支援ロボットであって、
複数の車輪を有する車体部と、
前記車輪に前記制動力を加える制動部と、
前記制動部を制御する駆動制御部と、
前記車体部の移動に関する情報である第1情報を取得する第1取得部と、
前記車輪の回転に関する情報である第2情報を取得する第2取得部と、
前記負荷トレーニングモードにおいて、前記第1情報と、前記第2情報と、に基づいて前記車輪がスリップしているか否かを判定するスリップ判定部と、を備え、
前記駆動制御部は、前記負荷トレーニングモードにおいて、前記車輪がスリップしていると判定された場合に、前記車輪に加える前記制動力を小さくする、歩行支援ロボット。
【請求項2】
請求項1に記載の歩行支援ロボットであって、
前記負荷トレーニングモードにおける前記負荷の設定を受け付ける設定部を備え、
前記駆動制御部は、前記負荷トレーニングモードにおいて、前記設定部によって受け付けられた前記設定に基づいて前記制動部を制御する、歩行支援ロボット。
【請求項3】
請求項1又は2に記載の歩行支援ロボットであって、
前記駆動制御部は、前記負荷トレーニングモードにおいて、前記制動部を制御して、前記制動力の大きさを、歩行の速さ、歩行時間、又は、前記制動力の持続時間のうち、少なくともいずれか1つに応じて変化させる、歩行支援ロボット。
【請求項4】
請求項1から3のいずれか一項に記載の歩行支援ロボットであって、
前記車輪を駆動させるモータを備え、
前記動作モードとして、前記ユーザによって押されて前進する前記歩行支援ロボットを静止させる静止制御と、前記静止制御によって静止した前記歩行支援ロボットを後退させて前記ユーザを押し返す反発制御と、を有する反発モードを更に備え、
前記駆動制御部は、
前記静止制御において、前記モータ又は前記制動部を制御することによって、前進する前記歩行支援ロボットを静止させるための静止制動力を前記車輪に加え、
前記反発制御において、前記モータを制御することによって、前記歩行支援ロボットを後退させるための後退トルクを前記車輪に加え、
前記スリップ判定部は、前記静止制御において、前記第1情報と、前記第2情報と、に基づいて前記車輪がスリップしているか否かを判定し、
前記駆動制御部は、前記静止制御において、前記車輪がスリップしていると判定された場合に、前記車輪に加える前記静止制動力を小さくする、歩行支援ロボット。
【請求項5】
請求項4に記載の歩行支援ロボットであって、
前記駆動制御部は、前記反発モードにおいて、前記モータを制御することによって、前記静止制動力および前記後退トルクとして、前記車輪の回転角度を前記歩行支援ロボットが押されていない状態における回転角度に維持するための維持トルクを、前記車輪に加える、歩行支援ロボット。
【請求項6】
請求項1から5のいずれか一項に記載の歩行支援ロボットであって、
前記車体部の前後方向の水平面に対する傾きを検出する傾斜検出部を備え、
前記スリップ判定部は、前記傾きと、前記第1情報と、前記第2情報と、に基づいて前記車輪がスリップしているか否かを判定する、歩行支援ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、歩行支援ロボットに関する。
【背景技術】
【0002】
歩行支援ロボットに関して、特許文献1には、車輪の回転エネルギーを電力に変換して車輪に制動力を発生させることによって、使用者の歩行動作に負荷をかけ、歩行トレーニングの効果を向上させる技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の技術では、例えば、路面の状態や歩行支援ロボットに加わる押圧力によっては、車輪に制動力が加わった際に車輪がスリップし、使用者の歩行動作に想定された負荷がかからず、歩行トレーニングの効果が低下する可能性があった。
【課題を解決するための手段】
【0005】
本開示は、以下の形態として実現することが可能である。
【0006】
(1)本開示の第1の形態によれば、動作モードとして、ユーザの歩行動作に制動力による負荷を加える負荷トレーニングモードを有する歩行支援ロボットが提供される。この歩行支援ロボットは、複数の車輪を有する車体部と、前記車輪に前記制動力を加える制動部と、前記制動部を制御する駆動制御部と、前記車体部の移動に関する情報である第1情報を取得する第1取得部と、前記車輪の回転に関する情報である第2情報を取得する第2取得部と、前記負荷トレーニングモードにおいて、前記第1情報と、前記第2情報と、に基づいて前記車輪がスリップしているか否かを判定するスリップ判定部と、を備える。前記駆動制御部は、前記負荷トレーニングモードにおいて、前記車輪がスリップしていると判定された場合に、前記車輪に加える前記制動力を小さくする。
このような形態によれば、負荷トレーニングモードにおいて車輪がスリップしている状態が解消されやすくなるため、車輪のスリップに起因してユーザの歩行動作に想定された負荷がかからない可能性が低減する。そのため、負荷トレーニングの効果の低下が抑制される。
(2)上記形態において、前記負荷トレーニングモードにおける前記負荷の設定を受け付ける設定部を備え、前記駆動制御部は、前記負荷トレーニングモードにおいて、前記設定部によって受け付けられた前記設定に基づいて前記制動部を制御してもよい。このような形態によれば、設定部によってユーザの歩行能力に応じた負荷の設定を受け付けることで、負荷トレーニングモードにおいて、ユーザの歩行能力に応じた負荷を加えることができる。
(3)上記形態において、前記駆動制御部は、前記負荷トレーニングモードにおいて、前記制動部を制御して、前記制動力の大きさを、歩行の速さ、歩行時間、又は、前記制動力の持続時間のうち、少なくともいずれか1つに応じて変化させてもよい。このような形態によれば、ユーザの歩行能力や疲労状態を加味して制動力の大きさを変化させることができるため、ユーザに適切な負荷トレーニングを提供できる可能性が高まる。
(4)上記形態において、前記車輪を駆動させるモータを備え、前記動作モードとして、前記ユーザによって押されて前進する前記歩行支援ロボットを静止させる静止制御と、前記静止制御によって静止した前記歩行支援ロボットを後退させて前記ユーザを押し返す反発制御と、を有する反発モードを更に備え、前記駆動制御部は、前記静止制御において、前記モータ又は前記制動部を制御することによって、前進する前記歩行支援ロボットを静止させるための静止制動力を前記車輪に加え、前記反発制御において、前記モータを制御することによって、前記歩行支援ロボットを後退させるための後退トルクを前記車輪に加え、前記スリップ判定部は、前記静止制御において、前記第1情報と、前記第2情報と、に基づいて前記車輪がスリップしているか否かを判定し、前記駆動制御部は、前記静止制御において、前記車輪がスリップしていると判定された場合に、前記車輪に加える前記静止制動力を小さくしてもよい。このような形態によれば、反発モードによって、ユーザに体重移動トレーニングを提供できる。また、反発モードにおいて車輪がスリップしている状態が解消されやすくなるため、体重移動トレーニングを適切に実行できる可能性が高まる。
(5)上記形態において、前記駆動制御部は、前記反発モードにおいて、前記モータを制御することによって、前記静止制動力および前記後退トルクとして、前記車輪の回転角度を前記歩行支援ロボットが押されていない状態における回転角度に維持するための維持トルクを、前記車輪に加えてもよい。このような形態によれば、簡易な制御によって反発モードを実現できる。
(6)上記形態において、前記車体部の前後方向の水平面に対する傾きを検出する傾斜検出部を備え、前記スリップ判定部は、前記傾きと、前記第1情報と、前記第2情報と、に基づいて前記車輪がスリップしているか否かを判定してもよい。このような形態によれば、負荷トレーニングモードにおいて、歩行支援ロボットが傾いた路面を走行している場合であっても、車輪がスリップしているか否かを適切に判定できる。
【図面の簡単な説明】
【0007】
【
図1】第1実施形態における歩行支援ロボットの概略構成を示す側面図。
【
図2】第1実施形態における歩行支援ロボットの概略構成を示す正面図。
【
図4】歩行の速さと制動力の大きさとの関係を表す関数の例を示す図。
【
図5】第1実施形態における負荷トレーニング処理を示すフローチャート。
【
図6】歩行の速さと制動力の大きさとの関係を表す関数の例を示す図。
【
図7】歩行の速さと制動力の大きさとの関係を表す関数の例を示す図。
【
図8】歩行の速さと制動力の大きさとの関係を表す関数の例を示す図。
【
図9】第5実施形態における負荷トレーニング処理を示すフローチャート。
【
図10】歩行支援ロボットが傾いた路面を走行する様子を示す図。
【
図11】第6実施形態における歩行支援ロボットの概略構成を示す第1の側面図。
【
図12】第6実施形態における歩行支援ロボットの概略構成を示す第2の側面図。
【発明を実施するための形態】
【0008】
A.第1実施形態:
図1は、第1実施形態における歩行支援ロボット11の概略構成を示す側面図である。
図2は、第1実施形態における歩行支援ロボット11の概略構成を示す正面図である。
図1および
図2には、互いに直交する3つの座標軸であるX,Y,Z軸を表す矢印が示されている。X軸は歩行支援ロボット11の前後方向に沿った座標軸であり、X軸を表す矢印の指し示す方向は後方である。Y軸は歩行支援ロボット11の左右方向に沿った座標軸であり、Y軸を表す矢印の指し示す方向は右方である。Z軸は歩行支援ロボット11の上下方向に沿った座標軸であり、Z軸を表す矢印の指し示す方向は上方である。X,Y,Z軸を表す矢印は、他の図においても、矢印の指し示す方向が
図1や
図2と対応するように適宜、図示されている。
【0009】
本実施形態における歩行支援ロボット11は、使用者の歩行を支援する機能と、使用者に負荷トレーニングを提供する機能とを有している。歩行支援ロボット11は、例えば、医療施設や介護施設で用いられる。歩行支援ロボット11は、家庭等で用いられてもよい。
【0010】
歩行支援ロボット11は、動作モードとして、負荷トレーニングモードと、アシストモードと、腕振りトレーニングモードとを有し、動作モードを切り替え可能に構成されている。
【0011】
歩行支援ロボット11は、アシストモードでは、所定の推進力を発生させつつ使用者に押されて走行することによって、使用者の歩行を支援する。負荷トレーニングモードでは、歩行支援ロボット11は、所定の制動力を発生させつつ使用者に押されて走行することによって、使用者に負荷トレーニングを提供する。腕振り歩行トレーニングモードでは、歩行支援ロボット11は、使用者の腕振りの速度と腕振りのストロークとに応じた所定の速度で走行しつつ使用者に腕振り歩行トレーニングを提供する。
【0012】
図1および
図2に示すように、歩行支援ロボット11は、車体部20と、一対のアーム部50と、一対のハンドル移動部60と、一対のハンドルユニット70と、一対のモータ80と、バッテリ85と、回生電力消費部86と、加速度検出部87と、制御部90と、コントローラ100とを備えている。一対のアーム部50、一対のハンドル移動部60、一対のハンドルユニット70、および、一対のモータ80は、左右対称に設けられている。
【0013】
車体部20は、フレーム30と、フレーム30の下端部に接続された4つの車輪40とを有している。
図2に示すように、フレーム30は、左右方向に沿って設けられた中央フレーム31と、中央フレーム31の左端部に固定された左フレーム32と、中央フレーム31の右端部に固定された右フレーム33とによって構成されている。
図1に示すように、左フレーム32は、前後方向に沿って設けられた下側部分と、下側部分の前端部と後端部との間から上方に向かって突き出した上側部分とを有している。右フレーム33は、左フレーム32とは左右対称に設けられている。左フレーム32には、箱状の収納部35が固定されている。
【0014】
車体部20は、車輪40として、左右対称に設けられた一対の前輪41と、左右対称に設けられた一対の後輪42とを有している。左側の前輪41は、左フレーム32の下側部分の前端部に接続されており、右側の前輪41は、右フレーム33の下側部分の前端部に接続されている。左側の後輪42は、左フレーム32の下側部分の後端部に接続されており、右側の後輪42は、右フレーム33の下側部分の後端部に接続されている。各前輪41および各後輪42は、路面RSに接触している。本実施形態では、各前輪41は、トウの向きを前後左右に変更可能に構成されている。各後輪42は、トウの向きが前方に固定されるように構成されている。なお、各後輪42は、トウの向きを前後左右に変更可能に構成されてもよい。車輪40の数は、4つに限られず、例えば、3つでもよいし、5つ以上でもよい。
【0015】
アーム部50は、前後方向に沿って設けられた外ケース51と、外ケース51の前端部と後端部との間から下方に向かって突き出した接続部52とを有している。
図2に示すように、左側のアーム部50に設けられた接続部52は、ネジ39によって、左フレーム32の上端部に固定されており、右側のアーム部50に設けられた接続部52は、ネジ39によって、右フレーム33の上端部に固定されている。左右のアーム部50同士は、連結部材59によって連結されている。
【0016】
図3は、
図2におけるIII-III線断面図である。
図3には、後述する第1把持部71および第2把持部72に外力が加えられていない状態のハンドルユニット70と、アーム部50の外ケース51内の構成と、が示されている。
図3に示すように、外ケース51内には、ハンドル移動部60を構成するシャフト61の一部、および、シャフト支持部64と、ロックピン66と、第1弾性部材68と、第2弾性部材69と、内ケース54と、カラー55と、ダンパ56とが配置されている。
【0017】
図1および
図3に示すように、ハンドル移動部60は、上述したシャフト61と、シャフト支持部64とを有している。シャフト61は、前後方向に沿って設けられた棒状部材である。シャフト61は、外ケース51の後端部に設けられた貫通孔に挿入されている。シャフト61の前端部は、外ケース51内に収容されており、シャフト61の後端部は、後方に向かって外ケース51から突き出している。シャフト61は、外ケース51に対して前後方向に沿って移動することができる。なお、例えば、外ケース51内等に、リニアエンコーダ等によって構成された、外ケース51に対する前後方向のシャフト61の位置を検出する検出部が設けられていてもよい。
【0018】
ハンドルユニット70は、シャフト61の後端部に固定されている。ハンドルユニット70は、上述した第1把持部71および第2把持部72を有し、シャフト61とともに外ケース51に対して前後方向に沿って移動することができる。第1把持部71は、シャフト61の後端部に固定されている。第1把持部71は、前後方向に沿って設けられた棒状の外形形状を有しており、シャフト61の後端部から後方に向かって突き出すように設けられている。第1把持部71の前端部には、ブレーキレバー73が固定されている。ブレーキレバー73は、第1把持部71に沿って設けられ、ブレーキワイヤ74によって、後輪42に設けられた図示しないブレーキに接続されている。第2把持部72は、第1把持部71の前端部に固定されている。第2把持部72は、上下方向に沿って設けられた棒状の外形形状を有しており、第1把持部71の前端部から上方に向かって突き出すように設けられている。本実施形態では、ユーザは、第1把持部71または第2把持部72を把持した状態で、歩行支援ロボット11を用いることができる。
【0019】
図3に示すように、シャフト61は、外ケース51内において、外ケース51内の空間を前後に区画する隔壁53に設けられた貫通孔に挿入されている。シャフト61の前端部には、シャフト61の外周に向かって突き出したフランジ部62が設けられている。フランジ部62は、外ケース51の前端部と隔壁53との間に配置されている。シャフト61の前側部分は、中空断面を有しており、シャフト61の後側部分は、中実断面を有している。シャフト61の側面部には、凹部63が設けられている。凹部63は、隔壁53よりも後方に設けられている。
【0020】
シャフト支持部64は、隔壁53の後方に配置されており、外ケース51に接続されている。本実施形態では、シャフト支持部64は、3つのローラーによって構成されている。シャフト支持部64は、シャフト61の前端部と後端部との間の部分において、各ローラーをシャフト61の下側又は上側の面に接触させることによって、シャフト61を前後方向に沿って移動可能に支持している。
【0021】
内ケース54は、外ケース51内において、外ケース51の前端部に接するように固定されている。内ケース54の前端部と後端部とには、それぞれ、貫通孔が設けられている。
【0022】
第1弾性部材68は、前後方向において、内ケース54内およびシャフト61の中空部内に亘るように配置されている。より具体的には、第1弾性部材68の前端部は、内ケース54に設けられた貫通孔を通じて外ケース51の前端部に接続されており、第1弾性部材68の後端部は、シャフト61の中空部分の底面に接続されている。第1弾性部材68は、シャフト61を前方に向かって付勢する。本実施形態では、第1弾性部材68は、引張コイルバネによって構成されている。第1弾性部材68は、例えば、ゴムやエラストマによって構成されてもよい。
【0023】
内ケース54内には、前方から順に、圧縮コイルバネによって構成された第2弾性部材69と、円環状の外形形状を有するカラー55と、ゴムやエラストマ等の弾性部材によって形成され円環状の外形形状を有するダンパ56とが、配置されている。より具体的には、第2弾性部材69とカラー55とダンパ56とは、前後方向に沿って見た時に、内ケース54内の第1弾性部材68が、第2弾性部材69とカラー55とダンパ56との内側に位置するように配置されている。第2弾性部材69の前端部は、内ケース54の前端部に接続されており、第2弾性部材69の後端部は、カラー55の前側の面に接続されている。カラー55は、第2弾性部材69によって後方に向かって付勢され、内ケース54内において、内ケース54の後端部に接触する。ダンパ56は、カラー55の後側の面に固定され、第2弾性部材69によってカラー55とともに付勢されてシャフト61のフランジ部62と接触する。他の実施形態では、第2弾性部材69は、例えば、ゴムやエラストマによって構成されていてもよい。
【0024】
ロックピン66は、シャフト61の凹部63に挿入されることによって、前後方向のシャフト61の移動を制限する。前後方向において、凹部63の幅は、ロックピン66の凹部63に挿入される部分の幅よりも数ミリメートル広い。そのため、ロックピン66が凹部63に挿入されても、シャフト61は、前後方向に数ミリメートル移動することができる。本実施形態では、アシストモードおよび負荷トレーニングモードでは、ロックピン66が凹部63に挿入された状態で歩行支援ロボット11が用いられ、腕振り歩行トレーニングモードでは、ロックピン66が凹部63から外された状態で歩行支援ロボット11が用いられる。
【0025】
第1把持部71または第2把持部72が前方に向かって押された場合、シャフト61は、ハンドルユニット70とともに前方に移動する。シャフト61が前方に移動するのに伴って、ダンパ56およびカラー55は、シャフト61のフランジ部62に押されて前方に移動する。カラー55が前方に移動することによって、第2弾性部材69は圧縮されて縮む。そして、縮んだ第2弾性部材69の復元力によって、ハンドルユニット70およびシャフト61は後方に押し戻される。このとき、第1把持部71または第2把持部72から入力された前向きの力は、第2弾性部材69を介してアーム部50に伝達される。
【0026】
第1把持部71または第2把持部72が後方に向かって引かれた場合、シャフト61は、ハンドルユニット70とともに後方に移動し、第1弾性部材68は後方に移動するシャフト61に引っ張られて伸びる。そして、伸びた第1弾性部材68の復元力によって、ハンドルユニット70およびシャフト61は前方に引き戻される。このとき、第1把持部71または第2把持部72から入力された後向きの力は、第1弾性部材68を介してアーム部50に伝達される。
【0027】
ロックピン66が凹部63に挿入された状態で、第1把持部71または第2把持部72が後方に向かって引かれた場合、ハンドルユニット70およびシャフト61は、凹部63がロックピン66に接触するまで後方に移動することができる。ロックピン66が凹部63から外された状態で、第1把持部71または第2把持部72が後方に向かって引かれた場合、ハンドルユニット70およびシャフト61は、ロックピン66が凹部63に挿入された状態における場合よりも更に後方に移動することができる。この際の前後方向におけるハンドルユニット70およびシャフト61の移動可能距離は、第1把持部71の前後方向における長さよりも長い。この際のハンドルユニット70およびシャフト61の移動可能距離は、150ミリメートル以上であることが好ましく、300ミリメートル以上であることがより好ましく、400ミリメートル以上であることがさらに好ましい。これによって、ユーザは、腕振り歩行トレーニングモードにおいて、自然な歩行動作を訓練することができる。ここでいう自然な歩行動作とは、左右のうちの一方の腕を前方に振るとともに他方の腕を後方に振るという腕振り動作を、左右交互に繰り返しながら歩く動作のことを意味する。
【0028】
図1に示すように、モータ80は、左フレーム32の後端部と右フレーム33の後端部とに1つずつ設けられている。モータ80は、動作モードとして、駆動輪である後輪42を駆動する力行モードと、後輪42を制動する回生モードとを有している。歩行支援ロボット11がアシストモードまたは腕振り歩行トレーニングモードで動作している場合には、モータ80は力行モードで運転され、歩行支援ロボット11が負荷トレーニングモードで動作している場合には、モータ80は回生モードで運転される。本実施形態のモータ80は、アシストモードでは、後輪42に駆動力を加える駆動部として機能し、負荷トレーニングモードでは、後輪42に制動力を加える制動部として機能すると言い換えることもできる。左側のモータ80は、左側の後輪42を駆動あるいは制動し、右側のモータ80は、右側の後輪42を駆動あるいは制動する。他の実施形態では、モータ80が2つ設けられずに、1つのモータ80によって左右の後輪42が駆動あるいは制動されてもよい。また、前輪41がモータ80によって駆動あるいは制動されてもよい。
【0029】
本実施形態では、モータ80として、出力軸の回転角度を検出するロータリーエンコーダあるいはホールセンサを内蔵したブラシレスDCモータが用いられる。他の実施形態では、モータ80にロータリーエンコーダやホールセンサが内蔵されずに、コイルに発生する誘起電圧を用いて出力軸の回転角度が算出されてもよい。
【0030】
バッテリ85は、収納部35に収納されている。バッテリ85として、例えば、リチウムイオン二次電池やニッケル水素蓄電池などの二次電池を用いることができる。バッテリ85は、インバータなどの電源回路を介して左右のモータ80に電気的に接続されている。本実施形態では、バッテリ85から出力された直流電力は、パルス幅変調によって交流電力に変換された後、力行モードで動作している左右のモータ80に供給される。
【0031】
回生電力消費部86は、収納部35に収納されている。回生電力消費部86は、左右のモータ80に電気的に接続されており、回生モードで動作している左右のモータ80によって発電された回生電力を消費する。回生電力消費部86として、例えば、セメント抵抗を用いることができる。なお、バッテリ85が満充電でない場合には、左右のモータ80によって発電された回生電力は、回生電力消費部86によって消費されずにバッテリ85に充電されてもよい。
【0032】
加速度検出部87は、車体部20の加速度を検出する。加速度検出部87は、前後方向、左右方向、および、上下方向の3軸の加速度を計測する加速度センサによって構成されている。本実施形態では、加速度検出部87は、水平面に対する車体部20の傾きを検出する傾斜検出部としても機能する。加速度検出部87によって検出された加速度や車体部20の傾きは、制御部90に送信される。
【0033】
制御部90は、収納部35内に収納されている。制御部90は、1つまたは複数のプロセッサと、主記憶装置と、補助記憶装置と、外部との信号の入出力を行う入出力インターフェースとを備えるコンピュータによって構成されている。制御部90は、主記憶装置上に読み込んだプログラムや命令をプロセッサが実行することによって、種々の機能を実現する。制御部90は、コンピュータではなく、複数の回路の組み合わせによって構成されてもよい。
【0034】
本実施形態の制御部90は、駆動制御部93と、第1取得部94と、第2取得部95と、スリップ判定部96とを備える。駆動制御部93と、第1取得部94と、第2取得部95と、スリップ判定部96とは、制御部90がプログラムを実行することによって実現される機能部である。
【0035】
本実施形態の駆動制御部93は、アシストモードでは、駆動部として機能するモータ80を制御し、負荷トレーニングモードでは、制動部として機能するモータ80を制御する。第1取得部94は、車体部20の移動に関する情報である第1情報を取得する。本実施形態では、第1取得部94は、第1情報として、加速度検出部87によって取得される車体部20の前後方向の加速度を取得する。第2取得部95は、車輪40の回転に関する情報である第2情報を取得する。本実施形態では、第2取得部95は、第2情報として、モータ80の回転角度を取得する。
【0036】
スリップ判定部96は、負荷トレーニングモードにおいて、第1取得部94によって取得された第1情報と、第2取得部95によって取得された第2情報とに基づいて、車輪40がスリップしている否かを判定する。車輪40がスリップしている状態とは、車輪40が、車輪40の回転によらず路面RS上を移動している状態を指す。従って、車輪40がスリップした場合、歩行支援ロボット11は、車輪40の回転角度の変化量に基づいて算出される距離よりも長い距離を移動する。負荷トレーニングモードにおいて車輪40がスリップしている場合、ユーザの歩行動作に加わる負荷の大きさが想定よりも小さくなる可能性が高いため、負荷トレーニングの効果が低下する可能性が高まる。以下では、車輪40がスリップしている状態のことを、スリップ状態と呼ぶこともある。
【0037】
コントローラ100は、固定部材109を介して左側のアーム部50に固定されている。本実施形態では、タブレット端末によって構成されている。他の実施形態では、コントローラ100は、タブレット端末に限られず、例えば、スマートフォンによって構成されてもよい。
【0038】
コントローラ100は、歩行支援ロボット11の動作モードを切り替える機能を有する。更に、本実施形態のコントローラ100は、負荷トレーニングモードにおける負荷の設定を行う設定部としても機能する。本実施形態の設定部は、コントローラ100がプログラムを実行することによって実現される機能部である。上述した駆動制御部93として機能する制御部90は、負荷トレーニングモードにおいて、コントローラ100によって受け付けられた負荷の設定に基づいて制動部として機能するモータ80を制御する。
【0039】
本実施形態では、コントローラ100は、ユーザによる入力操作を介した負荷レベルの指定を受け付けることによって、負荷の設定を受け付ける。より具体的には、コントローラ100は、負荷レベル毎に歩行の速さと制動力の大きさとの関係を表す関数を記憶しており、負荷レベルの指定を受け付けた場合、指定された負荷レベルに対応する関数を選択して制御部90へ送信する。制御部90は、負荷トレーニングモードにおいて、制動部であるモータ80を制御して、選択された関数に基づいて歩行の速さに応じて制動力の大きさを変化させる。本実施形態では、コントローラ100は、3段階の負荷レベルであるレベル1と、レベル2と、レベル3とに対応する3つの関数を記憶している。他の実施形態では、コントローラ100は、例えば、2つ以下の関数を記憶していてもよいし、4つ以上の関数を記憶していてもよい。また、関数は、例えば、制御部90に記憶されていてもよい。
【0040】
図4は、本実施形態における歩行の速さと制動力の大きさとの関係を表す関数の例を示す図である。
図4は、横軸を歩行の速さとし、縦軸を制動力の大きさとするグラフである。
図4には、レベル1、レベル2およびレベル3に対応する、3つの関数Fn1、関数Fn2および関数Fn3が示されている。各関数は、それぞれ、歩行の速さと制動力の大きさとの関係を表している。
図4の例では、各関数における制動力の大きさは、歩行の速さが大きいほど大きい。
【0041】
本実施形態では、より高い歩行能力を有するユーザは、より高い負荷レベルを指定することによって、負荷トレーニングの効果が向上する可能性が高まる。例えば、
図4の例では、歩行の速さがv1である時の制動力の大きさは、関数Fn1の場合にA1であり、関数Fn2の場合にA2であり、関数Fn3の場合にA3である。
図4に示すように、制動力A3は制動力A2よりも大きく、制動力A2は制動力A1よりも大きい。従って、レベル3では、レベル2やレベル1と比較して、同じ速さで歩行している場合であっても制動力がより大きいため、ユーザにより大きな負荷が加わる。一方で、レベル3では負荷が大きすぎるユーザは、レベル2やレベル1を指定すると好ましい。このように、ユーザは、歩行能力や疲労状態等に応じて適切な負荷レベルを指定することによって、歩行動作に適切な負荷をかけ、負荷トレーニングの効果を高めることができる。
【0042】
図5は、本実施形態における負荷トレーニング処理を示すフローチャートである。制御部90は、歩行支援ロボット11が負荷トレーニングモードで使用されている間、
図5に示した負荷トレーニング処理を実行する。本実施形態では、負荷トレーニングモードは、ユーザによってコントローラ100を介して開始操作が入力され、かつ、負荷レベルが指定されることによって開始される。負荷トレーニング処理は、負荷トレーニングモードが開始されるのと同時に開始される。
【0043】
ステップS100にて、制御部90は、コントローラ100から、指定された負荷レベルに対応して選択される関数を取得する。ステップS110にて、制御部90は、選択された関数に基づく制動力の付与を開始する。従って、本実施形態の負荷トレーニング処理では、制御部90は、ステップS110以降、特に説明しない限り、モータ80を制御することによって、選択された関数に基づいて、歩行の速さに応じて制動力の大きさを変化させる。なお、本実施形態では、制御部90は、負荷トレーニング処理において、選択された関数に基づいて制動力を変化させる際、「歩行の速さ」として車体部20の速さを用いる。車体部20の速さは、後輪42の径と、2つの時点におけるモータ80の回転角度と、その2つの時点間の経過時間とに基づいて算出される。
【0044】
ステップS120にて、第2取得部95として機能する制御部90は、第2情報として、モータ80の回転角度を取得する。ステップS130にて、第1取得部94として機能する制御部90は、第1情報として、車体部20の前後方向の加速度を取得する。
【0045】
ステップS140にて、スリップ判定部96として機能する制御部90は、車輪40がスリップしているか否かを判定する。本実施形態では、制御部90は、ステップS140において、まず、ステップS120で取得された第2情報に基づいて、モータ80の回転角度が変化したか否かを判定する。より具体的には、制御部90は、取得された最新の回転角度と、前回取得された回転角度とに差異がある場合、モータ80の回転角度が変化していると判定する。制御部90は、モータ80の回転角度が変化していると判定した場合、スリップ状態ではないと判定し、ステップS190へと処理を進める。なお、制御部90は、負荷トレーニング処理を開始してから初めてステップS140を実行する場合、取得された回転角度として、モータ80の回転角度の初期値を用いる。モータ80の回転角度の初期値とは、例えば、負荷トレーニング処理が開始される前の歩行支援ロボット11が静止している状態におけるモータ80の回転角度を表す。
【0046】
次に、制御部90は、ステップS130で取得した第1情報に基づいて、車体部20の前後方向の加速度が生じているか否かを判定する。例えば、制御部90は、ステップS130で取得された加速度が予め定められた範囲内の値である場合に、車体部20の加速度が生じていないと判定し、取得された加速度が予め定められた範囲を超える値である場合に、車体部20の加速度が生じていると判定する。この場合、車体部20の加速度が生じているか否かの判定に用いられる加速度の値の範囲は、例えば、歩行支援ロボット11が静止している状態で加速度検出部87によって検出される車体部20の前後方向の加速度の値に基づいて定められる。
【0047】
制御部90は、車体部20の前後方向の加速度が生じていないと判定した場合、スリップ状態ではないと判定し、ステップS190へと処理を進める。この場合、車体部20の前後方向の加速度が生じていないため、歩行支援ロボット11が静止している状態にあることを表す。なお、ステップS140で車体部20の前後方向の加速度が生じていないと判定された場合、理論上、歩行支援ロボット11が静止している状態にある場合だけではなく、歩行支援ロボット11が等速運動している場合も考えられる。しかしながら、実際には、歩行支援ロボット11が巨視的に等速運動している場合であっても、微視的には車体部20の前後方向の加速度が生じる。そのため、車体部20の前後方向の加速度が生じていないと判定された場合、歩行支援ロボット11が静止している状態にあると見なせるため、制御部90は、スリップ状態ではないと判定する。
【0048】
制御部90は、ステップS140でモータ80が回転しておらず、かつ、車体部20の前後方向の加速度が生じていると判定した場合に、車輪40がスリップしていると判定し、次のステップS150へと処理を進める。
【0049】
ステップS150にて、駆動制御部93として機能する制御部90は、制動部として機能するモータ80を制御することによって、後輪42に加えられる制動力を小さくする。より具体的には、制御部90は、制動力の大きさを、ステップS110で取得した関数によって定まる値よりも小さくする。例えば、負荷レベルとしてレベル1が指定されていた場合、制御部90は、ステップS150において、制動力の大きさを、
図4に示した関数Fn1によって定まる値よりも小さくする。ステップS150が実行されることによって、ユーザに押された歩行支援ロボット11の移動に追従して後輪42が回転しやすくなるため、スリップ状態が解消されやすくなる。
【0050】
ステップS160にて、第2取得部95として機能する制御部90は、第2情報として、モータ80の回転角度を取得する。次に、ステップS170にて、スリップ判定部96として機能する制御部90は、モータ80の回転角度が変化しているか否かを再度、判定する。より具体的には、制御部90は、ステップS170において、ステップS120で取得したモータ80の回転角度とステップS160で取得したモータ80の回転角度とに差異がある場合、モータ80の回転角度が変化していると判定する。ステップS170でモータ80の回転角度が変化していないと判定された場合、制御部90は、依然としてスリップ状態であると判定し、ステップS150へと処理を戻す。再度実行されるステップS150では、制御部90は、更にモータ80の制動力を小さくする。つまり、本実施形態では、制御部90は、ステップS150からステップS170を実行することによって、スリップ状態が解消されるまでモータ80の制動力を小さくする。
【0051】
制御部90は、ステップS170でモータ80の回転角度が変化していると判定した場合、スリップ状態が解消されたと判定し、ステップS180へと処理を進める。ステップS180にて、駆動制御部93として機能する制御部90は、モータ80の制動力を目標値まで大きくする。例えば、負荷レベルとしてレベル1が指定されていた場合、制御部90は、ステップS180において、制動力の大きさを、
図4に示した関数Fn1によって定まる値と一致するように大きくする。他の実施形態では、制御部90は、ステップS180において、例えば、モータ80の制動力を段階的に大きくするごとにスリップ状態であるか否かを判定し、スリップ状態であると判定された場合にモータ80の制動力を小さくしてスリップ状態を解消し、再度、モータ80の制動力を段階的に大きくする処理を繰り返すことによって、モータ80の制動力を目標値まで大きくしてもよい。
【0052】
ステップS190にて、制御部90は、負荷トレーニングを終了するか否かを判定する。制御部90は、負荷トレーニングを終了しないと判定した場合、ステップS120に処理を戻す。制御部90は、例えば、ユーザによってコントローラ100を介して終了操作が入力された場合に、負荷トレーニングを終了すると判定する。
【0053】
以上で説明した本実施形態の歩行支援ロボットにおいて、スリップ判定部96は、負荷トレーニングモードにおいて、第1情報と第2情報とに基づいてスリップ状態であるか否かを判定し、駆動制御部93は、スリップ状態であると判定された場合に車輪40に加えられる制動力を小さくする。これによって、負荷トレーニングモードにおいて車輪40のスリップ状態が解消されやすくなるため、車輪40のスリップに起因してユーザの歩行動作に想定された負荷がかからない可能性が低減する。そのため、負荷トレーニングの効果の低下が抑制される。
【0054】
また、本実施形態では、駆動制御部93は、負荷トレーニングモードにおいて、設定部によって受け付けられた負荷の設定に基づいて制動部を制御する。そのため、設定部によってユーザの歩行能力に応じた負荷の設定を受け付けることで、負荷トレーニングモードにおいて、ユーザの歩行能力に応じた負荷を加えることができる。また、負荷トレーニングモードにおいて、車輪40のスリップ状態が解消されやすくなるため、ユーザの歩行能力に応じた負荷がかからない可能性が低減する。
【0055】
また、本実施形態では、駆動制御部93は、負荷トレーニングモードにおいて、制動部を制御して、制動力の大きさを歩行の速さに応じて変化させる。そのため、負荷トレーニングモードにおいて、例えば、より速く歩行できるユーザの歩行動作により大きな負荷を加えることで、負荷トレーニングの効果を高めることができる。また、負荷トレーニングモードにおいて、車輪40のスリップ状態が解消されやすくなるため、歩行の速さに応じた制動力が駆動輪に加わらない可能性が低減する。
【0056】
B.第2実施形態:
図6は、第2実施形態における歩行の速さと制動力の大きさとの関係を表す関数の例を示す図である。
図6は、第1実施形態で説明した
図4と同様に、横軸を歩行の速さとし、縦軸を制動力の大きさとするグラフである。本実施形態では、設定部によって負荷の設定が受け付けられた際に選択される関数が、第1実施形態とは異なる。
図6には、3段階の負荷レベルであるレベル1、レベル2およびレベル3に対応する、3つの関数Fn4、関数Fn5および関数Fn6が示されている。各関数は、それぞれ、歩行の速さと制動力の大きさとの関係を表している。
図6の例では、各関数における制動力の大きさは、第1実施形態の場合と同様に、歩行の速さが大きいほど大きい。また、各関数において、歩行の速さが0であるときの制動力の大きさは、それぞれ同じである。なお、歩行支援ロボット11の構成のうち、特に説明しない部分については、第1実施形態と同様である。
【0057】
本実施形態では、各関数は、歩行の速さが予め定められた速さを超えて増加することを抑制するように定義されている。より具体的には各関数において、歩行の速さが予め定められた速さを超える場合の傾きは、歩行の速さが予め定められた速さ以下である場合の傾きより大きい。これによって、各関数において、歩行の速さが予め定められた速さを超える場合に制動力の大きさが急激に増加するため、歩行の速さが予め定められた速さを超えにくい。例えば、
図6の例では、関数Fn4において歩行の速さが速さv2を超えて増加することが抑制され、関数Fn5において歩行の速さが速さv3を超えて増加することが抑制され、関数Fn6において歩行の速さが速さv4を超えて増加することが抑制される。そのため、各レベルにおいて、歩行の速さが速すぎることによるユーザの躓き等が抑制される。また、速さv3は、速さv2より速く、速さv4は、速さv2および速さv3より速い。従って、例えば、レベル1やレベル2では歩行の速さが不足するユーザは、負荷の設定においてレベル3を指定することによって、レベル1やレベル2を指定した場合と比較して、より速い速さで歩行できる。
【0058】
以上で説明した第2実施形態の歩行支援ロボット11によっても、負荷トレーニングモードにおいて車輪40がスリップしている状態が解消されやすくなるため、使用者の歩行動作に想定された負荷がかからない可能性が低減し、負荷トレーニングの効果の低下が抑制される。
【0059】
C.第3実施形態:
図7は、第3実施形態における歩行の速さと制動力の大きさとの関係を表す関数の例を示す図である。
図7は、第2実施形態で説明した
図6と同様に、横軸を歩行の速さとし、縦軸を制動力の大きさとするグラフである。本実施形態では、設定部によって負荷の設定が受け付けられた際に選択される関数が、第2実施形態とは異なる。
図7には、3段階の負荷レベルであるレベル1、レベル2およびレベル3に対応する、3つの関数Fn7、関数Fn8および関数Fn9が示されている。各関数は、それぞれ、歩行の速さと制動力の大きさとの関係を表している。
図7の例では、各関数における制動力の大きさは、第2実施形態の場合と同様に、歩行の速さが大きいほど大きい。なお、歩行支援ロボット11の構成のうち、特に説明しない部分については、第2実施形態と同様である。
【0060】
本実施形態では、各関数は、第2実施形態と同様に、歩行の速さが予め定められた速さを超えて増加することを抑制するように定義されている。
図7の例では、関数Fn7において歩行の速さが速さv5を超えて増加することが抑制され、関数Fn8において歩行の速さが速さv6を超えて増加することが抑制され、関数Fn9において歩行の速さが速さv7を超えて増加することが抑制される。速さv6は、速さv5より速く、速さv7は、速さv6および速さv5より速い。
【0061】
図7に示すように、本実施形態では、第2実施形態と異なり、各関数において、歩行の速さが予め定められた速さ以下である場合の制動力の大きさは、負荷レベルが高いほど大きくなる。従って、例えば、レベル1やレベル2では負荷の大きさが不足するユーザは、レベル3を指定することによって、レベル1やレベル2を指定した場合と比較して、歩行動作により大きな負荷を加えることができる。また、例えば、レベル3において速さv6を超える速さで歩行することが可能な歩行能力を有するユーザは、レベル3を指定することによって、レベル1やレベル2を指定する場合よりもより速い速さで歩行できる可能性が高まるため、負荷トレーニングの効果を高めることができる。
【0062】
以上で説明した第3実施形態の歩行支援ロボット11によっても、負荷トレーニングモードにおいて車輪40がスリップしている状態が解消されやすくなるため、使用者の歩行動作に想定された負荷がかからない可能性が低減し、負荷トレーニングの効果の低下が抑制される。
【0063】
D.第4実施形態:
図8は、第4実施形態における歩行の速さと制動力の大きさとの関係を表す関数の例を示す図である。
図8は、第3実施形態で説明した
図7と同様に、横軸を歩行の速さとし、縦軸を制動力の大きさとするグラフである。本実施形態では、第3実施形態とは異なり、駆動制御部93として機能する制御部90は、制動力の大きさを、歩行の速さと歩行時間とに応じて変化させる。なお、歩行支援ロボット11の構成のうち、特に説明しない部分については、第3実施形態と同様である。
【0064】
本実施形態では、コントローラ100は、負荷レベル毎に複数の関数からなる関数群を記憶している。コントローラ100は、ユーザからの負荷レベルの指定を受け付けることによって、指定された負荷レベルに対応する関数群を選択する。関数群に含まれる各関数は、第3実施形態と同様に、歩行の速さと制動力の大きさとの関係を表す。
図8の例では、各関数における制動力の大きさは、歩行の速さが大きいほど大きい。一方で、各関数には、第3実施形態とは異なり、各関数が選択される歩行時間の条件が定められている。歩行時間とは、歩行支援ロボット11を使用した歩行動作が開始されてから、現在時刻に至るまでに経過した時間を指す。制御部90は、負荷トレーニングモードにおいて、歩行時間に応じて、指定された関数群に含まれる関数のうち一つを選択し、選択された関数に基づいてモータ80の制動力を制御する。
【0065】
図8に示すように、本実施形態のコントローラ100は、レベル1に対応する関数群として、関数Fn10a、関数Fn10b、および、関数Fn10cからなる関数群Fn10を記憶している。関数Fn10aは、歩行時間が時間t1未満である場合に選択され、関数Fn10bは、歩行時間が時間t1以上かつ時間t2未満である場合に選択され、関数Fn10cは、歩行時間が時間t2以上である場合に選択される。他の実施形態では、コントローラ100は、例えば、レベル2やレベル3に対応する関数群を記憶していてもよい。また、関数群は、制御部90に記憶されていてもよい。
【0066】
本実施形態では、関数群に含まれる各関数は、第2実施形態の各関数と同様に、歩行の速さが予め定められた速さを超えて増加することを抑制するように定義されている。
図8の例では、関数Fn10aにおいて歩行の速さが速さv8を超えて増加することが抑制され、関数Fn10bにおいて歩行の速さが速さv9を超えて増加することが抑制され、関数Fn10cにおいて歩行の速さが速さv10を超えて増加することが抑制される。速さv9は、速さv10より速く、速さv8は、速さv9および速さv10より速い。そのため、歩行時間が時間t1以上である場合、歩行時間がt1未満である場合と比較して、より遅い速さで速さの増加が規制される。同様に、歩行時間が時間t2以上である場合、歩行時間がt2未満である場合と比較して、より遅い速さで速さの増加が規制される。そのため、疲労によるユーザの躓き等が抑制される。
【0067】
また、本実施形態では、関数群に含まれる各関数において、歩行の速さが予め定められた速さ以下である場合の制動力の大きさは、関数Fn10a、関数Fn10b、関数Fn10cの順に小さくなる。従って、歩行の速さが予め定められた速さ以下である場合の制動力の大きさは、歩行時間が時間t1以上である場合、歩行時間がt1未満である場合と比較して小さく、更に、歩行時間が時間t2以上である場合、歩行時間がt2未満である場合と比較して小さい。そのため、長時間の歩行に起因する疲労によるユーザの歩行速度の低下が抑制される。
【0068】
以上で説明した第4実施形態の歩行支援ロボット11によっても、負荷トレーニングモードにおいて車輪40がスリップしている状態が解消されやすくなるため、使用者の歩行動作に想定された負荷がかからない可能性が低減し、負荷トレーニングの効果の低下が抑制される。特に本実施形態では、駆動制御部93は、負荷トレーニングモードにおいて、制動部を制御して、制動力の大きさを歩行時間に応じて変化させる。そのため、例えば、長時間の歩行によるユーザの疲労状態を加味して、ユーザの歩行動作に適切な負荷を加えることができる。
【0069】
なお、駆動制御部93は、例えば、負荷トレーニングモードにおいて、第4実施形態で制動力の大きさを歩行時間に応じて変化させるのと同様に、制動力の大きさを制動力の持続時間に応じて変化させてもよい。制動力の持続時間は、歩行支援ロボット11のユーザに負荷トレーニングによる負荷が加わっている時間を表す。そのため、駆動制御部93が制動力の大きさを制動力の持続時間に応じて変化させる場合、負荷トレーニングによるユーザの疲労状態を加味して、ユーザの歩行動作に適切な負荷を加えることができる。この場合、コントローラ100は、各関数が選択される制動力の持続時間の条件が定められた複数の関数によって構成される関数群を記憶し、ユーザからの負荷レベルの指定を受け付けた場合、指定された負荷レベルに対応する関数群を選択するように構成されていてもよい。
【0070】
E.第5実施形態:
図9は、第5実施形態における負荷トレーニング処理を示すフローチャートである。本実施形態では、第1実施形態と異なり、スリップ判定部96として機能する制御部90は、第1情報および第2情報に加え、傾斜検出部によって検出される車体部20の前後方向の水平面に対する傾きに基づいて、スリップ状態であるか否かを判定する。本実施形態では、上述した加速度検出部87が傾斜検出部として機能する。なお、
図9では、
図5に示した第1実施形態における負荷トレーニング処理と同様の工程には、
図5と同じ符号が付されている。また、歩行支援ロボット11の構成のうち、特に説明しない部分については、第1実施形態と同様である。
【0071】
本実施形態では、
図9のステップS130が実行された後、ステップS132にて、制御部90は、加速度検出部87によって検出された路面の勾配に関する情報に基づいて、車体部20が前後方向の水平面に対して傾いているか否かを判定する。ステップS132で車体部20が前後に傾いていないと判定された場合、制御部90は、ステップS140へと処理を進め、その後の工程を第1実施形態の場合と同様に実行する。ステップS132で車体部20が前後方向の水平面に対して傾いていると判定された場合、ステップS134にて、制御部90は、ステップS130で取得した車体部20の前後方向の加速度を補正する。
【0072】
図10は、第4実施形態における歩行支援ロボット11が傾いた路面RS2を走行する様子を示す図である。路面RS2は、水平面に対して角度θ傾いた傾斜を有している。
図10において、歩行支援ロボット11は、路面RS2の傾きに沿って、路面RS2を上るように走行している。この場合、加速度検出部87は、車体部20の前後方向の加速度として、ユーザが歩行支援ロボット11を押すことによって生じる加速度aと、重力加速度の前後方向に沿った成分である加速度gsinθとが反映された加速度を検出している。従って、制御部90は、上述したステップS134において、ステップS130で取得した加速度から、重力加速度に由来する加速度gsinθを差し引くことによって、加速度を補正する。制御部90は、その後のステップS140において、ステップS134で補正された加速度に基づいて、車体部20の前後方向の加速度が生じているか否かを判定する。
【0073】
以上で説明した第5実施形態の歩行支援ロボット11によっても、負荷トレーニングモードにおいて車輪40がスリップしている状態が解消されやすくなるため、使用者の歩行動作に想定された負荷がかからない可能性が低減し、負荷トレーニングの効果の低下が抑制される。特に、本実施形態では、スリップ判定部96は、車体部20の前後方向の水平面に対する傾きと、第1情報と、第2情報とに基づいてスリップ状態であるか否かを判定する。そのため、負荷トレーニングモードにおいて、歩行支援ロボット11が傾いた路面を走行している場合であっても、車輪40がスリップしているか否かを適切に判定できる。
【0074】
F.第6実施形態:
図11は、第6実施形態における歩行支援ロボット11の概略構成を示す第1の側面図である。
図12は、第6実施形態における歩行支援ロボット11の概略構成を示す第2の側面図である。本実施形態の歩行支援ロボット11は、第1実施形態と異なり、動作モードとして、反発モードを更に備える。なお、歩行支援ロボット11の構成のうち、特に説明しない部分については、第1実施形態と同様である。
【0075】
反発モードは、静止制御と、反発制御とを有する。静止制御とは、ユーザによって押されて前進する歩行支援ロボット11を静止させる制御を指し、反発制御とは、静止制御によって静止した歩行支援ロボットを後退させてユーザを押し返す制御を指す。
【0076】
上述した
図11には、ユーザPによって押される前の静止している歩行支援ロボット11が示され、
図12には、ユーザPによって前方に押され、車輪40が回転することによって前方に移動した歩行支援ロボット11が示されている。
図11では、前輪41の前端は、位置P1に位置している。
図12では、前輪41の前端は、位置P1よりも前方の位置P2に位置している。
【0077】
駆動制御部93として機能する制御部90は、静止制御において、前進する歩行支援ロボット11を静止させるための静止制動力を車輪40に加え、反発制御において、歩行支援ロボット11を後退させるための後退トルクを車輪40に加える。本実施形態では、制御部90は、反発モードにおいて、モータ80の回転角度を取得し、モータ80の回転角度をフィードバック制御することによって、静止制動力および後退トルクとして、車輪40の回転角度を歩行支援ロボット11が押されていない状態における回転角度に維持するための維持トルクを、車輪40に加える。より具体的には、制御部90は、反発モードにおいて、歩行支援ロボット11が押される前のモータ80の回転角度と現在のモータ80の回転角度との間の差異を検出した場合に、モータ80の回転角度を歩行支援ロボット11が押される前の回転角度へと戻すように、モータ80を逆回転させる方向のトルクをモータ80に加える。このときに後輪42に加わるトルクが、上述した維持トルクに相当する。例えば、上述した
図11および
図12の例では、制御部90は、歩行支援ロボット11が前進する間に後輪42が左回りに回転することによってモータ80が左回りに回転した角度分、モータ80を右回りに回転させるように、モータ80の駆動を制御する。これによって、
図12において、後輪42には、車体部20を位置P2と位置P1との間の距離に相当する距離後退させるための、右回りの維持トルクBTが生じる。
【0078】
反発モードにおいて、ユーザPは、例えば、体重移動トレーニングを行うことができる。より具体的には、反発モードにおいて、ユーザPが歩行支援ロボット11を押すことで後輪42に維持トルクBTが発生するため、歩行支援ロボット11を押したユーザPは、歩行支援ロボット11によって押し返されることができる。そのため、例えば、歩行が困難なユーザであっても、歩行支援ロボット11を用いて体重を前後に移動させるトレーニングを実施できる。また、本実施形態では、反発モードにおいて、維持トルクBTによって、歩行支援ロボット11が静止した位置から移動することが抑制されるため、例えば、ユーザが歩行支援ロボット11に寄りかかる場合にユーザの体重を歩行支援ロボット11に預けやすくなる。
【0079】
スリップ判定部96として機能する制御部90は、反発モードの静止制御において、負荷トレーニングモードにおいて車輪40がスリップしているか否かを判定するのと同様に、第1情報と第2情報とに基づいて車輪40がスリップしているか否かを判定する。静止制御において車輪40がスリップしている場合、反発制御において歩行支援ロボット11が元の位置まで後退しない可能性が高まり、体重移動トレーニングの効果が低下する可能性が高まる。
【0080】
駆動制御部93として機能する制御部90は、反発モードの静止制御において、スリップ判定部96によって車輪40がスリップしていると判定された場合、負荷トレーニングモードにおいて車輪40に加える制動力を小さくするのと同様に、車輪40に加える静止制動力を小さくする。従って、本実施形態では、車輪40がスリップしていると判定された場合、制御部90は、車輪40に加える維持トルクを小さくする。これによって、反発モードにおいても、負荷トレーニングモードと同様に、車輪40がスリップしている状態が解消されやすくなる。
【0081】
なお、制御部90は、例えば、反発モードにおいて、モータ80に負荷が加わりすぎていることを検知した場合に、維持トルクを小さくしつつ、維持トルクを小さくすることに関する情報をコントローラ100に表示してユーザに通知してもよい。これによって、モータ80に更なる負荷が加わることが抑制され、かつ、ユーザは、例えば、ブレーキレバー73を使用して後輪42を制動し、歩行支援ロボット11を静止させることができる。制御部90は、モータ80に負荷が加わりすぎていることを、例えば、モータ80の温度に基づいて検知してもよいし、モータ80に流れる電流値および電流値の持続時間に基づいて検知してもよい。また、制御部90は、ユーザへの通知を、例えば、コントローラとは異なる表示部等を介して行ってもよいし、視覚情報ではなく音声情報によって行ってもよい。
【0082】
以上で説明した第6実施形態の歩行支援ロボット11によっても、負荷トレーニングモードにおいて車輪40がスリップしている状態が解消されやすくなるため、使用者の歩行動作に想定された負荷がかからない可能性が低減し、負荷トレーニングの効果の低下が抑制される。特に、本実施形態では、歩行支援ロボット11は、動作モードとして、静止制御と反発制御とを有する反発モードを備え、スリップ判定部96は、反発モードの静止制御において、第1情報と第2情報とに基づいて車輪40がスリップしているか否かを判定し、駆動制御部93は、静止制御において、車輪40がスリップしていると判定された場合に、静止制動力を小さくする。そのため、反発モードによって、ユーザに体重移動トレーニングを提供できる。また、反発モードにおいて車輪40がスリップしている状態が解消されやすくなるため、体重移動トレーニングを適切に実行できる可能性が高まる。
【0083】
また、本実施形態では、駆動制御部93は、反発モードにおいて、モータ80を制御することによって、車輪40に、静止制動力および後退トルクとして維持トルクを加える。そのため、簡易な制御によって反発モードを実現できる。
【0084】
なお、他の実施形態では、駆動制御部93は、反発モードにおいて、静止制動力および後退トルクとして、車輪40に維持トルクを加えなくてもよい。例えば、駆動制御部93は、静止制御において、静止制動力として、負荷トレーニングモードにおける場合と同様に、制動部として機能するモータ80による回生制動力を加えてもよい。この場合、駆動制御部93は、例えば、静止制御において、加速度検出部87によって検出される加速度に基づいて歩行支援ロボット11が静止したことを検出した後、反発制御において、モータ80の回転角度を歩行支援ロボット11が押される前の回転角度に戻すようにモータ80を制御することによって、車輪40に後退トルクを加えてもよい。
【0085】
G.他の実施形態:
(G-1)上記実施形態では、スリップ判定部96は、
図5に示した負荷トレーニング処理のステップS140で、モータ80が回転しておらず、かつ、車体部20の前後方向の加速度が生じていると判定した場合に、車輪40がスリップしていると判定している。これに対して、スリップ判定部96は、第1情報と第2情報とに基づいて、他の方法によって車輪40がスリップしているか否かを判定してもよい。例えば、スリップ判定部96は、ステップS140において、モータ80の回転角度に基づいて算出した車体部20の速さと、車体部20の加速度の積分値として算出される車体部20の擬似的な速さとを比較し、両者の速さの差異が予め定められた閾値を超える場合に、車輪40がスリップしていると判定してもよい。この場合、速さの閾値は、例えば、車輪40がスリップしていない際の両者の速さの差異に基づいて定められる。
【0086】
(G-2)上記実施形態では、モータ80が制動部として機能している。これに対して、モータ80が制動部として機能しなくてもよく、モータ80とは別体の制動部が設けられていてもよい。この場合、制動部は、例えば、上記実施形態のモータ80と同様に回生ブレーキであってもよいし、駆動制御部93によって制御されて制動力を変化させることが可能に構成された摩擦ブレーキであってもよい。
【0087】
(G-3)上記実施形態では、第1取得部94は、第1情報として、車体部20の前後方向の加速度を取得している。これに対して、第1取得部94は、第1情報として、車体部20の前後方向の加速度を取得しなくてもよい。例えば、第1取得部94は、第1情報として、GNSS等の衛星測位システムによって取得される位置情報に基づいて算出される車体部20の速さを取得してもよいし、カメラによって撮影される路面RSの画像から得られる車体部20の速さを取得してもよい。また、このように第1情報として車体部20の速さが取得される場合、スリップ判定部96は、例えば、
図5のステップS140において、モータ80の回転角度に基づいて算出した車体部20の速さと、第1取得部94に取得された車体部20の速さとを比較し、両者の速さの差異が予め定められた閾値を超える場合に、車輪40がスリップしていると判定してもよい。
【0088】
(G-4)上記実施形態では、第2取得部95は、第2情報として、モータ80の回転角度を取得している。これに対して、第2取得部95は、第2情報として、モータ80の回転角度を取得しなくてもよい。例えば、第2取得部95は、第2情報として、カメラによって撮影される車輪40の回転状態を表す画像を取得し、スリップ判定部96は、第2取得部95によって取得された画像を解析することによって、車輪40が回転した角度を算出してもよい。
【0089】
(G-5)上記実施形態では、駆動制御部93は、負荷トレーニングモードにおいて、制動部を制御して、制動力の大きさを、歩行の速さ、歩行時間、又は、制動力の持続時間のうち、少なくともいずれか1つに応じて変化させている。これに対して、駆動制御部93は、負荷トレーニングモードにおいて、制動力の大きさを、歩行時間、歩行の速さ、又は、制動力の持続時間のうち、少なくともいずれか1つに応じて変化させなくてもよい。例えば、駆動制御部93は、負荷トレーニングモードにおいて、制動力の大きさを、歩行の速さや、歩行時間、制動力の持続時間によらず、一定に制御してもよい。また、駆動制御部93は、負荷トレーニングモードにおいて、制動力の大きさを、車体部20の前後方向の加速度等の他のパラメータに応じて変化させてもよい。
【0090】
(G-6)上記実施形態では、設定部は、ユーザからの負荷レベルの指定を受け付けた場合、指定された負荷レベルに対応する関数又は関数群を選択している。これに対して、設定部は、例えば、ユーザからの負荷レベルの指定を受け付け、指定された負荷レベルに対応する一定の制動力の大きさを選択することによって、負荷の設定を行ってもよい。この場合、駆動制御部93は、負荷トレーニングモードにおいて、制動力の大きさを、歩行時間等によらず、選択された一定の大きさに制御する。また、設定部は、ユーザからの負荷レベルの指定を受け付けることによって負荷の設定を受け付けなくてもよい。例えば、設定部は、
図4に示した関数Fn2と、
図6に示した関数Fn5と、
図8に示した関数群Fn10とを記憶し、ユーザからの関数又は関数群の指定や、関数又は関数群を指定するためのモード等の指定を受け付けることによって、負荷の設定を受け付けてもよい。この場合、駆動制御部93として機能する制御部90は、関数Fn2や関数Fn5が指定された場合には、制動力の大きさを歩行の速さに応じて制御し、関数群Fn10が指定された場合には、制動力の大きさを歩行の速さ及び歩行時間に応じて制御する。更に、設定部は、例えば、上述した関数又は関数群を指定するためのモード等の指定と、負荷レベルの指定との両方を受け付けることによって、負荷の設定を受け付けてもよい。
【0091】
(G-7)上記実施形態では、歩行支援ロボット11は、設定部を備えている。これに対して、歩行支援ロボット11は、設定部を備えていなくてもよい。
【0092】
(G-8)上記実施形態では、加速度検出部87が傾斜検出部として機能している。これに対して、例えば、傾斜検出部として、加速度検出部87とは別体の加速度センサ等が設けられていてもよい。また、傾斜検出部が設けられていなくてもよい。
【0093】
(G-9)上記実施形態のコントローラ100は、負荷トレーニングモードにおけるユーザの歩行状態等を収集可能に構成されていてもよい。例えば、コントローラ100は、歩行速度や、歩行距離、負荷の設定の履歴等を収集し、ユーザの識別IDごとに記憶してもよい。ユーザの識別IDは、例えば、ユーザによってコントローラ100を介して入力される。この場合、コントローラ100は、収集し記憶した各データをユーザの識別IDごとに表示可能に構成されていてもよい。更に、コントローラ100は、アシストモード等の他のモードにおけるユーザの歩行状態等を収集してもよい。また、コントローラ100ではなく、例えば、制御部90等が上記の歩行状態等を収集可能に構成されていてもよい。
【0094】
(G-10)上記実施形態では、歩行支援ロボット11は、動作モードとして、アシストモードを有している。これに対して、歩行支援ロボット11は、動作モードとして、アシストモードを有していなくてもよい。この場合、歩行支援ロボット11は、例えば、モータ80を備えていなくてもよい。また、この場合、駆動制御部93は、モータ80を制御しなくてもよく、例えば、摩擦ブレーキ等によって構成された制動部のみを制御してもよい。
【0095】
(G-11)上記実施形態では、歩行支援ロボット11は、動作モードとして、腕振り歩行トレーニングモードを有している。これに対して、歩行支援ロボット11は、動作モードとして、腕振り歩行トレーニングモードを有していなくてもよい。
【0096】
(G-12)上記実施形態では、歩行支援ロボット11は、第1把持部71と第2把持部72とを備えている。これに対して、歩行支援ロボット11は、第1把持部71と第2把持部72とうちいずれか一方、又は、両方を備えていなくてもよい。また、歩行支援ロボット11は、例えば、歩行中又は体重移動トレーニング中のユーザの肘や上体を支持可能に構成された支持部を有していてもよい。
【0097】
(G-13)上記実施形態の歩行支援ロボット11は、例えば、前方に座部を備え、車椅子として使用可能に構成されていてもよい。
【0098】
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【0099】
11…歩行支援ロボット、20…車体部、30…フレーム、31…中央フレーム、32…左フレーム、33…右フレーム、35…収納部、39…ネジ、40…車輪、41…前輪、42…後輪、50…アーム部、51…外ケース、52…接続部、53…隔壁、54…内ケース、55…カラー、56…ダンパ、59…連結部材、60…ハンドル移動部、61…シャフト、62…フランジ部、63…凹部、64…シャフト支持部、66…ロックピン、68…第1弾性部材、69…第2弾性部材、70…ハンドルユニット、71…第1把持部、72…第2把持部、73…ブレーキレバー、74…ブレーキワイヤ、80…モータ、85…バッテリ、86…回生電力消費部、87…加速度検出部、90…制御部、93…駆動制御部、94…第1取得部、95…第2取得部、96…スリップ判定部、100…コントローラ、109…固定部材