(本開示に至った経緯)
先進国における少子高齢化が進む近年、高齢者の見守りや生活支援の必要性が増している。特に、高齢者は加齢に伴う身体能力の低下から宅内生活のQOL(Quality of Life)を維持することが難しくなる傾向にある。高齢者のサルコペニアなどを予防し、身体能力を維持するためには一定以上の運動を続けることで筋肉量を維持することが重要である。しかしながら、身体能力の低下により外出が困難となり、宅内に引きこもりがちな高齢者の場合は、一定の運動量を維持することが難しく、より筋肉量が減衰していくという悪循環に陥ってしまう。近年、このような背景のもと、ユーザの歩行を支援する種々の装置が提案されている。
背景技術で説明したように、特許文献1では、ユーザの入力に応じた移動速度で移動する案内用移動ロボットが開示されている。しかしながら、特許文献1の案内用移動ロボットでは、高齢者のような身体能力の低いユーザが当該ロボットを使用する場合、快適なユーザの歩行支援を行うことが困難である。
例えば、身体能力の低い高齢者は、ロボットに対して前方向に寄りかかる場合がある。この場合、特許文献1のロボットでは、高齢者の歩行速度が遅いにも関わらず、進行方向への入力値が大きくなるため、進行方向への移動速度が大きくなる。その結果、高齢者は、移動ロボットの移動について行けなくなる。また、高齢者は、直進動作を行っているにも関わらず、身体の重心が安定せずに左右に揺れている場合がある。この場合、特許文献1のロボットでは、左右方向への入力を検知し、左右方向へ移動してしまう可能性がある。このように、特許文献1のロボットでは、身体能力の低いユーザの場合、ユーザが直進動作を行いたいと思っているにもかかわらず、ロボットがユーザの移動意図に反する方向に移動することがある。このため、特許文献1のロボットでは、ユーザは細かく進行方向を調整しながら歩行する必要があり、快適なユーザの歩行支援を行うことが困難である。
本発明者らは、ユーザが左右にふらついて歩行していたとしても、歩行支援ロボットの移動動作の情報(例えば、移動方向、移動速度など)を蓄積することによって、ユーザの歩行動作の意図を把握することができることを見出した。そこで、本発明者らは、ユーザが左右にふらついて歩行している場合などであっても、蓄積した移動動作の情報に基づいてロボットをユーザの移動意図に従って移動させるため、以下の発明に至った。
本開示の一態様に係る歩行支援ロボットは、
ユーザの歩行を支援する歩行支援ロボットであって、
本体部と、
前記本体部に設けられ、前記ユーザが把持可能なハンドル部と、
前記ハンドル部にかかる荷重を検知する検知部と、
回転体を有し、前記検知部で検知した荷重に応じて前記回転体の回転を制御して当該歩行支援ロボットを移動させる移動装置と、
当該歩行支援ロボットの移動中に取得した前記ハンドル部にかかった過去の荷重データに基づいて、前記ハンドル部にかかる荷重の傾向を示す荷重傾向データを生成する荷重傾向データ生成部と、
を備え、
前記移動装置は、前記検知部で検知した荷重と、前記荷重傾向データ生成部で生成された荷重傾向データとに基づいて、前記回転体の回転量を制御するアクチュエータを有する。
このような構成により、ユーザの身体能力に応じて歩行支援を行うことができるため、より快適なユーザの歩行支援を行うことができる。
前記移動装置は、更に、前記荷重傾向データに基づいて、前記検知部で検知した荷重の値を補正する荷重補正部を有し、
前記アクチュエータは、前記荷重補正部で補正された荷重の値に基づいて、前記回転体の回転量を制御してもよい。
このような構成により、荷重傾向データに基づいて荷重の値を補正することができるため、より快適なユーザの歩行支援を行うことができる。
前記荷重傾向データ生成部は、当該歩行支援ロボットの移動動作毎の荷重傾向データを生成し、
前記荷重補正部は、前記荷重が検知された際の当該歩行支援ロボットの移動動作に対応する前記荷重傾向データに基づいて、前記荷重の値を補正してもよい。
このような構成により、移動動作毎に荷重傾向データを生成することができるため、より正確にユーザの荷重傾向を把握することができる。これにより、より快適なユーザの歩行支援を行うことができる。
前記荷重補正部は、当該歩行支援ロボットの移動動作に対応する前記荷重傾向データが所定の閾値以上になった場合、前記荷重傾向データに基づいて、前記荷重の値を補正してもよい。
このような構成により、歩行支援ロボットの移動動作に対応する荷重傾向データが所定の閾値以上になった場合に、荷重の値を補正することができるため、より快適なユーザの歩行支援を行うことができる。
前記荷重傾向データは、前記過去の荷重データから算出された揺らぎの周波数であり、
前記荷重補正部は、前記検知部で検知された荷重から前記揺らぎの周波数成分をフィルタリングすることによって前記荷重の値を補正してもよい。
このような構成により、荷重傾向データとして揺らぎ周波数を用いることによって、凹凸の小さい揺らぎから凹凸の大きい揺らぎまで広い範囲でユーザの荷重傾向データを取得して荷重の値を補正することができる。そのため、より快適なユーザの歩行支援を行うことができる。
前記荷重傾向データは、前記過去の荷重データから算出された平均荷重値であり、
前記荷重補正部は、前記平均荷重値に基づいて前記荷重の値を補正してもよい。
このような構成により、荷重傾向データとして平均荷重値を用いることによって、ユーザ毎の定常的に加わる荷重を荷重傾向データとして取得して荷重の値を補正することができるため、より快適なユーザの歩行支援を行うことができる。
前記荷重補正部は、前記検知部で検知された荷重から前記平均荷重値を減算することによって前記荷重の値を補正してもよい。
このような構成により、検知部で検知された荷重から平均荷重値を減算することで、ユーザ毎の定常的に加わる荷重を減らすことができるため、より快適なユーザの歩行支援を行うことができる。
前記歩行支援ロボットにおいては、更に、
前記ユーザの身体情報を推定する身体情報推定部を備え、
前記荷重補正部は、前記身体情報推定部で推定された前記身体情報に基づいて、前記荷重の値を補正してもよい。
このような構成により、身体情報に基づいて補正の強度を調整することができるため、ユーザの身体能力に応じた歩行支援を行うことができる。
前記歩行支援ロボットにおいては、更に、
前記身体情報を前記ユーザに通知するユーザ通知部を備えてもよい。
このような構成により、ユーザ自身が日々の身体情報を把握することができ、身体能力の維持及び向上へのモチベーションアップ、又は歩行時の注意力喚起に繋がる。
前記歩行支援ロボットにおいては、更に、
前記補正された荷重の値に基づいて前記ユーザの移動意図を推定するユーザ移動意図推定部を備え、
前記ユーザ通知部は、前記ユーザの移動意図を前記ユーザに通知してもよい。
このような構成により、歩行支援ロボットの制御状態をユーザが把握することができる。
前記ハンドル部にかかる荷重と前記回転体の回転量との対応関係を示す制御テーブルを格納する記憶部を備え、
前記アクチュエータは、前記記憶部に格納された前記制御テーブルによって、前記検知部で検知された荷重に対応する回転量で前記回転体を駆動制御し、
前記制御テーブルは、前記荷重傾向データに基づいて前記荷重の値を修正することによって更新されてもよい。
このような構成により、制御テーブルによってハンドル部にかかる荷重と回転体の回転量との対応関係が容易に特定することができるため、ユーザの身体能力に応じた歩行支援をより簡単に行うことができる。
前記検知部は、前記ハンドル部にかかる複数の軸方向の荷重を検知し、
前記移動装置は、前記複数の軸方向のそれぞれにかかる荷重の大きさに応じて、前記回転体の回転を制御して当該歩行支援ロボットの移動動作を切り替えてもよい。
このような構成により、複数の軸方向にかかる荷重を検知することにより、ユーザの移動意図をより正確に検知することができる。このため、ユーザの移動意図に応じて、歩行支援ロボットの移動動作を切り替えることができる。
前記移動動作は、当該歩行支援ロボットの直進動作、後退動作及び旋回動作を含んでもよい。
このような構成により、ユーザの移動意図に応じて、歩行支援ロボットの移動動作を切り替えることができるため、より快適なユーザの歩行支援を行うことができる。
前記アクチュエータは、前記荷重傾向データに基づいて、前記旋回動作における旋回半径を変更してもよい。
このような構成により、ユーザの身体能力に応じて、歩行支援ロボットが旋回動作を行うため、より快適なユーザの歩行支援を行うことができる。
本開示の一態様に係る歩行支援方法は、
歩行支援ロボットを用いてユーザの歩行を支援する歩行支援方法であって、
前記歩行支援ロボットのハンドル部にかかる荷重を検知部によって検知するステップ、
前記歩行支援ロボットの移動中に取得した前記ハンドル部にかかった過去の荷重データに基づいて、前記ハンドル部にかかる荷重の傾向を示す荷重傾向データを生成するステップ、
前記検知部で検知した荷重と前記荷重傾向データとに基づいて、前記歩行支援ロボットの移動装置に備えられる回転体の回転量を制御するステップ、
を含む。
このような構成により、ユーザの身体能力に応じて歩行支援を行うことができるため、より快適なユーザの歩行支援を行うことができる。
前記歩行支援方法においては、更に、
前記荷重傾向データに基づいて、前記検知部で検知した荷重の値を補正するステップを含み、
前記回転体の回転量を制御するステップは、補正された荷重の値に基づいて、前記回転体の回転量を制御してもよい。
このような構成により、荷重傾向データに基づいて荷重の値を補正することができるため、より快適なユーザの歩行支援を行うことができる。
前記歩行支援方法においては、更に、
前記ユーザの身体情報を推定するステップを含み、
前記荷重の値を補正するステップは、前記身体情報に基づいて、前記荷重の値を補正してもよい。
このような構成により、身体情報に基づいて補正の強度を調整することができるため、ユーザの身体能力に応じた歩行支援を行うことができる。
前記歩行支援方法においては、更に、
前記身体情報を前記ユーザに通知するステップを含んでもよい。
このような構成により、ユーザ自身が日々の身体情報を把握することができ、身体能力の維持及び向上へのモチベーションアップ、又は歩行時の注意力喚起に繋がる。
前記歩行支援方法においては、更に、
前記補正された荷重の値に基づいてユーザの移動意図を推定するステップを含み、
前記通知するステップは、前記ユーザの移動意図を前記ユーザに通知してもよい。
このような構成により、歩行支援の状態をユーザが把握することができる。
以下、本開示の実施形態について、添付の図面を参照しながら説明する。また、各図においては、説明を容易なものとするため、各要素を誇張して示している。
(実施の形態1)
[全体構成]
図1は、実施の形態1に係る歩行支援ロボット1(以下、「ロボット1」と称する)の外観図を示す。図2は、ロボット1による歩行支援を受けてユーザが歩行している様子を示す。
図1及び図2に示すように、ロボット1は、本体部11と、ユーザが把持可能なハンドル部12と、ハンドル部12にかかるハンドル荷重を検知する検知部13と、本体部11を移動させる移動装置14と、荷重傾向データ生成部15と、を備える。
ハンドル部12は、本体部11の上部に設けられており、歩行中のユーザの両手により把持しやすい形状及び高さ位置に設けられている。
検知部13は、ハンドル部12をユーザが把持することにより、ユーザがハンドル部12にかける荷重(ハンドル荷重)を検知する。具体的には、ユーザがハンドル部12を把持して歩行するときに、ユーザはハンドル部12にハンドル荷重をかける。検知部13は、ユーザがハンドル部12にかけるハンドル荷重の向き及び大きさを検知する。
図3は、検知部13で検知するハンドル荷重の検知方向を示す。図3に示すように、検知部13は、互いに直交する三軸方向にかかる力、及び三軸の軸回りのモーメントをそれぞれ検出可能な六軸力センサである。互いに直交する三軸とは、ロボット1の左右方向に延在するx軸、ロボット1の前後方向に延在するy軸、及びロボット1の高さ方向に延在するz軸である。三軸方向にかかる力とは、x軸方向にかかる力Fx、y軸方向にかかる力Fy、及びz軸方向にかかる力Fzである。実施の形態1では、Fxのうち右方向にかかる力をFx+とし、左方向にかかる力をFx−としている。Fyのうち前方向にかかる力をFy+とし、後方向にかかる力をFy−としている。Fz方向のうち歩行面に対して鉛直下方向にかかる力をFz+とし、歩行面に対して鉛直上方向にかかる力をFz−としている。三軸の軸回りのモーメントとは、x軸の軸回りのモーメントMx、y軸の軸回りのモーメントMy、及びz軸の軸回りのモーメントMzである。
移動装置14は、検知部13で検知されたハンドル荷重(力及びモーメント)の大きさ及び向きに基づいて、本体部11を移動させる。実施の形態1では、移動装置14は、以下のような制御を行っている。なお、本明細書においては、Fx、Fy、Fz、Mx、My、Mzを荷重と称する場合がある。
<前進動作>
移動装置14は、検知部13でFy+の力が検知された場合、本体部11を前方向に移動させる。即ち、検知部13でFy+の力が検知された場合、ロボット1は前進動作を行う。ロボット1が前進動作を行っている間、検知部13で検知されるFy+の力が大きくなると、移動装置14は、ロボット1の前方向への移動の速度を上げる。一方、ロボット1が前進動作を行っている間、検知部13で検知されるFy+の力が小さくなると、移動装置14は、ロボット1の前方向への移動速度を下げる。
<後退動作>
移動装置14は、検知部13でFy−の力が検知された場合、本体部11を後方向に移動させる。即ち、検知部13でFy−の力が検知された場合、ロボット1は後退動作を行う。ロボット1が後退動作を行っている間、検知部13で検知されるFy−の力が大きくなると、移動装置14は、ロボット1の後方向への移動の速度を上げる。一方、ロボット1が後退動作を行っている間、検知部13で検知されるFy−の力が小さくなると、移動装置14は、ロボット1の後方向への移動速度を下げる。
<右旋回動作>
移動装置14は、検知部13でFy+の力とMz+のモーメントとが検知された場合、本体部11を右方向に旋回移動させる。即ち、検知部13でFy+の力とMz+のモーメントが検知された場合、ロボット1は右旋回動作を行う。ロボット1が右旋回動作を行っている間、検知部13で検知されるMz+のモーメントが大きくなると、ロボット1の旋回半径が小さくなる。また、ロボット1が右旋回動作を行っている間、検知部13で検知されるFy+の力が大きくなると、旋回速度が大きくなる。
<左旋回動作>
移動装置14は、検知部13でFy+の力とMz−のモーメントとが検知された場合、本体部11を左方向に旋回移動させる。即ち、検知部13でFy+の力とMz−のモーメントが検知された場合、ロボット1は左旋回動作を行う。ロボット1が左旋回動作を行っている間、検知部13で検知されるMz−のモーメントが大きくなると、ロボット1の旋回半径が小さくなる。また、ロボット1が左旋回動作を行っている間、検知部13で検知されるFy+の力が大きくなると、旋回速度が大きくなる。
なお、移動装置14の制御は、上述した例に限定されない。移動装置14は、例えば、Fy及びFzの力に基づいて、ロボット1の前進動作及び後退動作を制御してもよい。また、移動装置14は、例えば、Mx又はMyのモーメントに基づいて、ロボット1の旋回動作を制御してもよい。
なお、実施の形態1では、検知部13は、六軸力センサである例を説明したが、これに限定されない。検知部13は、例えば、三軸センサ、又は歪みセンサ等を用いてもよい。
移動装置14は、本体部11の下部に設けられた回転体である車輪16と、車輪16を駆動制御する駆動部17と、を備える。
車輪16は、本体部11を自立させた状態で支持し、駆動部17により回転駆動されることにより、自立させた姿勢を保った状態で、例えば、本体部11を図2に示す矢印の方向(前方向または後方向)に移動させる。なお、実施の形態1において、移動装置14が2つの車輪16を用いた移動機構を備える場合を例としたが、車輪以外の回転体(走行ベルト、ローラなど)が用いられるような場合であってもよい。
駆動部17は、荷重補正部18と、ユーザ移動意図推定部19と、駆動力算出部20と、アクチュエータ制御部21と、アクチュエータ22と、を備える。
荷重補正部18は、ユーザの荷重傾向に基づいて、検知部13で検知されたハンドル荷重を補正する。具体的には、荷重補正部18は、荷重傾向データ生成部15で生成された荷重傾向データに基づいて、検知部13で検知されたハンドル荷重の値を補正する。実施の形態1では、ユーザの歩行時の過去のハンドル荷重データから揺らぎ周波数を算出し、検知部13で検知されたハンドル荷重から揺らぎ周波数をフィルタリングすることによって、ハンドル荷重の補正を行う。また、荷重補正部18は、ロボット1の使用場所、使用時間、及びユーザの体調などに基づいて、ハンドル荷重の値を補正してもよい。
ユーザ移動意図推定部19は、荷重補正部18で補正されたハンドル荷重(以下、「補正ハンドル荷重」と称する)に基づいてユーザの移動意図を推定する。ユーザの移動意図とは、移動方向及び移動速度を含む。実施の形態1において、ユーザ移動意図推定部19は、各移動方向における補正ハンドル荷重の値から、ユーザの移動意図を推定する。例えば、検知部13で検知されるFy+の力が所定の第1閾値以上の値であり、My+の力が所定の第2閾値未満の値である場合、ユーザ移動意図推定部19は、ユーザの移動意図が直進動作であると推定してもよい。また、ユーザ移動意図推定部19は、Fz方向における補正ハンドル荷重の値に基づいて、移動速度を推定してもよい。一方、検知部13で検知されるFy+の力が所定の第3閾値以上の値であり、My+の力が所定の第2閾値以上の値である場合、ユーザ移動意図推定部19は、ユーザの移動意図が右旋回動作であると推定してもよい。また、ユーザ移動意図推定部19は、Fz方向における補正ハンドル荷重の値に基づいて旋回速度を推定し、My方向における補正ハンドル荷重の値に基づいて旋回半径を推定してもよい。
駆動力算出部20は、荷重補正部18で補正されたハンドル荷重の情報に基づいて、駆動力を算出する。具体的には、駆動力算出部20は、補正ハンドル荷重の情報から推定されたユーザの移動意図、即ちユーザの移動方向及び移動速度に基づいて、駆動力を算出する。例えば、ユーザの移動意図が前進動作又は後退動作である場合、2つの車輪16の回転量が均等になるように駆動力を算出する。ユーザの移動意図が右旋回動作である場合、2つの車輪16のうち右側の車輪16の回転量を左側の車輪16の回転量よりも大きくなるように駆動力を算出する。また、ユーザの移動速度に応じて、駆動力の大きさを算出する。
アクチュエータ制御部21は、駆動力算出部20で算出された駆動力の情報に基づいて、アクチュエータ22の駆動制御を行う。また、アクチュエータ制御部21は、アクチュエータ22から車輪16の回転量の情報を取得し、駆動力算出部20及びユーザ荷重傾向抽出部23に車輪16の回転量の情報を送信することができる。
アクチュエータ22は、例えば、車輪16を回転駆動させるモータ等である。アクチュエータ22は、歯車機構又はプーリー機構等を介して車輪16と接続されている。アクチュエータ22は、アクチュエータ制御部21によって駆動制御されることによって、車輪16を回転駆動している。
荷重傾向データ生成部15は、過去に検知したハンドル荷重の情報に基づいて、ユーザの荷重傾向データを生成する。荷重傾向データとは、所定の動作におけるユーザのハンドル荷重の傾向を示すデータである。所定の動作とは、例えば、直進動作、後退動作、及び旋回動作等を意味する。例えば、腰の曲がったユーザは、ハンドル部12を把持した場合、ロボット1に寄りかかってしまうため、ロボット1が移動する道の歩行面に対して鉛直下方向へのハンドル荷重、即ちFz+の力が大きくなる傾向がある。また、左右に揺れて歩行するユーザは、ハンドル部12を把持した場合、前進動作を行っているにも関わらず、左右方向へのハンドル荷重、即ちMyのモーメントが大きくなる傾向がある。このように、荷重傾向データ生成部15では、所定の動作毎のユーザの荷重傾向を過去の荷重データから生成している。
[歩行支援ロボットの制御構成]
このような構成を有する歩行支援ロボット1において、ユーザの歩行支援をするための制御構成について説明する。図4は、ロボット1における主要な制御構成を示す制御ブロック図である。また、図4の制御ブロック図では、それぞれの制御構成と取り扱われる情報との関係についても示している。
図4に示すように、検知部13は、ハンドル部12にかかるハンドル荷重を検知する。検知部13で検知されたハンドル荷重の情報は、荷重補正部18に送信される。荷重補正部18は、荷重傾向データ生成部15で生成された荷重傾向データに基づいて、検知部13で検知されたハンドル荷重の値を補正する。補正されたハンドル荷重(補正ハンドル荷重)の情報は、ユーザ移動意図推定部19に送信される。ユーザ移動意図推定部19は、補正ハンドル荷重の情報に基づいて、ユーザの移動意図(移動方向及び移動速度)を推定する。推定されたユーザの移動意図の情報は、駆動力算出部20に送信される。駆動力算出部20は、推定されたユーザの移動意図の情報に基づいて、駆動力を算出する。算出された駆動力の情報は、アクチュエータ制御部21に送信される。アクチュエータ制御部21は、駆動力算出部20で算出された駆動力の情報に基づいてアクチュエータ22の駆動制御を行う。アクチュエータ22は、アクチュエータ制御部21に駆動制御されることによって、車輪16を回転駆動し、本体部11を移動させる。
また、図4に示すように、検知部13で検知されたハンドル荷重の情報は、荷重傾向データ生成部15にも送信される。検知部13で検知されたハンドル荷重の情報は、荷重傾向データを生成及び更新するためにも使用される。
ロボット1の歩行支援の詳細な制御について、図5を用いて説明する。図5は、ロボット1の歩行支援の詳細な制御構成を示す制御ブロック図である。
図5に示すように、荷重傾向データ生成部15は、ユーザの移動方向に対応するユーザの荷重傾向を抽出するユーザ荷重傾向抽出部23と、ユーザの荷重傾向データを記憶した荷重傾向マップ24と、を備える。
ユーザ荷重傾向抽出部23は、ユーザの移動方向に対応するユーザの荷重傾向を抽出する。具体的には、ユーザ荷重傾向抽出部23は、ユーザの移動方向に対応するユーザの荷重傾向データを荷重傾向マップ24から抽出する。例えば、ユーザが直進動作(前方向前進)をしている場合、ユーザ荷重傾向抽出部23は、荷重傾向マップ24から直進動作に対応するユーザの荷重傾向を抽出する。ユーザ荷重傾向抽出部23は、荷重傾向マップ24から抽出した荷重傾向データを荷重補正部18に送信する。
また、ユーザ荷重傾向抽出部23は、検知部13で検知されたハンドル荷重の情報とアクチュエータ制御部21で取得された車輪16の回転量の情報とに基づいて、ユーザの荷重傾向データを生成する。生成された荷重傾向データは、荷重傾向マップ24に送信される。これにより、荷重傾向マップ24の荷重傾向データが更新される。
荷重傾向マップ24は、ユーザのそれぞれの移動方向におけるユーザの荷重傾向データを記憶しているデータベースである。荷重傾向マップ24は、移動方向毎のユーザの荷重傾向データを記憶している。図6は、荷重傾向マップ24を示す。図6に示すように、実施の形態1では、荷重傾向マップ24は、ユーザの荷重傾向データとして、歩行時の移動方向の揺らぎ周波数及び歩行時の重心の偏り方向の揺らぎ周波数を記憶している。また、荷重傾向マップ24は、過去に算出した揺らぎ周波数のデータを記憶していてもよい。
図6には図示していないが、荷重傾向マップ24は、ロボット1の使用場所、使用時間、及びユーザの体調などのデータを記憶していてもよい。これらのデータは、荷重補正部18で、ハンドル荷重の補正を行う際に使用されてもよい。
[荷重傾向データの生成]
荷重傾向データの生成について、図7を用いて説明する。図7は、荷重傾向データの生成処理の例示的なフローチャートを示す。
図7に示すように、ステップST1において、検知部13によりハンドル荷重を検知したか否かを判定する。ステップST1では、ユーザがハンドル部12を把持しているか否かを判定している。検知部13でハンドル荷重を検知した場合、ステップST2へ進む。検知部13でハンドル荷重を検知しない場合、ステップST1を繰り返す。
ステップST2において、ユーザ荷重傾向抽出部23は、車輪16の回転量の情報に基づいてユーザの移動方向を推定する。具体的には、ステップST1でハンドル荷重の変化が検知されると、アクチュエータ制御部21が車輪16の回転量の情報を取得する。アクチュエータ制御部21で取得された回転量の情報は、ユーザ荷重傾向抽出部23に送信される。ユーザ荷重傾向抽出部23は、車輪16の回転量の情報、即ち車輪の回転方向及び回転数に基づいて、ユーザの移動方向を推定する。実施の形態1では、ユーザ荷重傾向抽出部23は、左右に配置される2つの車輪16の回転量に基づいて、ユーザの移動方向を推定する。例えば、ユーザ荷重傾向抽出部23は、右側の車輪16の回転量が左側の車輪16の回転量よりも多い場合、ユーザが左方向に旋回していると推定してもよい。また、ユーザ荷重傾向抽出部23は、左右の車輪16の回転数が同じであり、前方向に回転している場合、ロボット1が直進動作を行っていると推定してもよい。
ステップST3において、ユーザ荷重傾向抽出部23は、推定したユーザの移動方向におけるハンドル荷重の波形情報を取得する。ユーザの移動方向におけるハンドル荷重の波形情報とは、特に限定されないが、例えば、ユーザの移動方向がFy+方向である場合、Fz方向のハンドル荷重の波形情報又はMy方向のモーメントの波形情報などであってもよい。
ステップST4において、ユーザ荷重傾向抽出部23は、取得したハンドル荷重の波形情報と、過去のハンドル荷重の波形情報とを合算する。例えば、過去の波形情報は、荷重傾向マップ24に記憶されている。ユーザ荷重傾向抽出部23は、荷重傾向マップ24から過去の波形情報を読み出し、取得した現在の波形情報を過去の波形情報に加算する。図8は、ハンドル荷重の入力波形情報の一例を示す。図8に示すように、これまでに検知したハンドル荷重の波形情報が、荷重傾向マップ24に格納される。
ステップST5において、ユーザ荷重傾向抽出部23は、合算した波形情報に基づいて揺らぎ周波数を算出する。具体的には、ユーザ荷重傾向抽出部23は、推定したユーザの移動方向におけるハンドル荷重の周波数解析を行うことにより、揺らぎ周波数を算出する。
一例として、身体能力の低いユーザの直進動作時における揺らぎ周波数の算出について説明する。図9Aは、ユーザの直進動作時のFz方向における荷重データの波形情報の一例を示す。図9Bは、図9Aに示すFz方向における荷重データの周波数成分を示す。図10Aは、ユーザの直進動作時のMy方向における荷重データの波形情報の一例を示す。図10Bは、図10Aに示すMy方向における荷重データの周波数成分を示す。なお、図9Aは3歩分の荷重データの波形であるが、実際は10数歩分の荷重データの波形に対し周波数解析するものである。
身体能力の低いユーザは、左右に揺れながら歩行するため、一定の速度で直進動作を行っていてもハンドル荷重が安定しない。そのため、図9Aに示すように、ロボット1の高さ方向、即ちFz方向における荷重データの波形情報に揺らぎが生じる。揺らぎとは、波形情報が変動して安定していない成分を意味し、具体的には、荷重データの平均値からの変動を意味する。
この場合、ユーザは前方向直進を意図しているにもかかわらず、ロボット1が左右方向に移動するため、ユーザは細かく進行方向を左右に調整しながら歩行することになる。実施の形態1では、ユーザ荷重傾向抽出部23は、左右に揺れながら歩行するユーザであると推定し、ハンドル荷重を補正するために、荷重の揺らぎ成分を荷重傾向データとして使用する。以下、ユーザ荷重傾向抽出部23の処理の例について説明する。
ユーザ荷重傾向抽出部23は、図9Aに示すFz方向における荷重データの波形情報に対して周波数解析を行い、図9Bに示すような荷重データの周波数成分を算出する。これにより、ユーザ荷重傾向抽出部23は、ユーザの直進動作時において、図9Bに示すように、Fz方向に2Hzの揺らぎ周波数があることを特定することができる。
また、図10Aに示すように、身体能力の低いユーザのMy方向における荷重データの波形情報にも揺らぎが生じる。ユーザ荷重傾向抽出部23は、図10Aに示すMy方向における荷重データに対して周波数解析を行い、図10Bに示すような荷重データの周波数成分を算出する。これにより、ユーザ荷重傾向抽出部23は、ユーザの直進動作時において、図10Bに示すように、My方向に2Hzの揺らぎ周波数があることを特定することができる。
別の例として、身体能力の低いユーザの右方向旋回時における揺らぎ周波数の算出について説明する。図11Aは、ユーザの右方向旋回時のFz方向における荷重データの波形情報の一例を示す。図11Bは、図11Aに示すFz方向における荷重データの周波数成分を示す。
図11Aに示すように、身体能力の低いユーザが右方向に旋回しているときにおいても、Fz方向における荷重データの波形情報に揺らぎが生じる。ユーザ荷重傾向抽出部23は、図11Aに示すFz方向における荷重データに対して周波数解析を行い、図11Bに示すような荷重データの周波数成分を算出する。ユーザ荷重傾向抽出部23は、ユーザの右方向旋回時において、図11Bに示すように、Fz方向に6Hzの揺らぎ周波数があることを特定することができる。
このように、ステップST5において、ユーザ荷重傾向抽出部23は、推定したユーザの移動方向における合算したハンドル荷重の波形情報から揺らぎ周波数を算出する。
図7に戻って、ステップST6において、ユーザ荷重傾向抽出部23は、ステップST5で算出した揺らぎ周波数を荷重傾向データとして設定する。具体的には、ユーザ荷重傾向抽出部23は、荷重傾向マップ24のユーザの荷重傾向データをステップST5で算出した揺らぎ周波数に更新する。
このように、実施の形態1では、ステップST1〜ST6の処理を行うことによって、ユーザのハンドル荷重の揺らぎ周波数を算出し、揺らぎ周波数を荷重傾向データとして使用することができる。また、実施の形態1では、移動動作毎に荷重傾向データの生成を行うことができる。
なお、ステップST4及びST5において、取得したハンドル荷重の波形情報と、過去のハンドル荷重の波形情報とを合算した波形情報に基づいて算出された揺らぎ周波数を荷重傾向データとして設定する例について説明したが、これに限定されない。過去の波形情報に基づいて算出された揺らぎ周波数に、取得したハンドル荷重の波形情報に基づいて算出された揺らぎ周波数を加算した後、平均計算を行い、算出された揺らぎ周波数の平均値を荷重傾向データとして使用してもよい。また、取得したハンドル荷重の波形情報から算出した揺らぎ周波数と、過去の揺らぎ周波数と、に基づいて揺らぎ周波数の中央値又は最頻値を算出し、揺らぎ周波数の中央値又は最頻値を荷重傾向データとして使用してもよい。また、揺らぎ周波数の平均値、中央値、及び最頻値を組み合わせて、荷重傾向データとして使用してもよい。あるいは、直近で算出した揺らぎ周波数を荷重傾向データとして使用してもよい。上述した荷重傾向データは、状況や目的に応じて使い分けてもよい。例えば、荷重傾向マップ24に記憶されている過去の揺らぎ周波数のデータが少ないユーザに対しては、直近で算出した揺らぎ周波数を荷重傾向データとして使用してもよい。反対に、荷重傾向マップ24に記憶されている過去の揺らぎ周波数のデータが多いユーザに対しては、揺らぎ周波数の平均値、中央値、又は最頻値を荷重傾向データとして使用してもよい。
[ユーザの移動意図の推定]
ユーザの移動意図の推定について、図12を用いて説明する。図12は、ユーザの移動意図の推定処理の例示的なフローチャートを示す。
図12に示すように、ステップST11において、荷重補正部18が、検知部13で検知されたハンドル荷重の情報を取得する。
ステップST12において、ユーザ荷重傾向抽出部23が、荷重傾向マップ24から荷重傾向データを取得する。具体的には、ユーザ荷重傾向抽出部23が、ユーザの現在の移動方向の対象となる揺らぎ周波数を荷重傾向マップ24から取得する。ユーザ荷重傾向抽出部23は、揺らぎ周波数の情報を荷重傾向データとして荷重補正部18へ送信する。なお、ユーザの現在の移動方向は、アクチュエータ制御部21から車輪16の回転量の情報を取得することによって推定することができる。
ステップST13において、荷重補正部18は、ステップST11で取得したハンドル荷重から、ステップST12で取得した揺らぎ周波数成分をフィルタリングする。これにより、荷重補正部18は、検知部13で検知したハンドル荷重の値を補正する。荷重補正部18で得られた補正ハンドル荷重の情報は、ユーザ移動意図推定部19に送信される。
また、荷重補正部18は、ロボット1の使用場所、使用時間、及びユーザの体調に基づいて、ハンドル荷重の値を補正してもよい。この場合、ユーザ荷重傾向抽出部23が、荷重傾向マップ24からロボット1の使用場所、使用時間、及びユーザの体調に関するデータを抽出し、これらのデータを荷重補正部18へ送信する。例えば、荷重補正部18は、ロボット1を廊下で使用する場合やユーザの体調が良い場合のハンドル荷重に比べて、ロボット1をリビングで使用する場合やユーザの体調が悪い場合のハンドル荷重を小さくなるようにハンドル荷重の補正を行ってもよい。
ステップST14において、ユーザ移動意図推定部19は、ステップST13で取得した補正ハンドル荷重に基づいて、ユーザの移動意図を推定する。具体的には、ユーザ移動意図推定部19は、補正ハンドル荷重のFx、Fy、Fz、Mx、My、Mz方向の力の大きさに基づいて、ユーザの移動方向及び移動速度を推定する。
このように、実施の形態1では、ステップST11〜ST14の処理を行うことによって、ユーザのハンドル荷重の波形情報から揺らぎ周波数成分をフィルタリングし、得られた補正ハンドル荷重の情報に基づいてユーザの移動意図を推定している。
実施の形態1において、フィルタリングとして、揺らぎ成分を全て除去するように揺らぎ部分に該当する周波数成分を全てカットするような補正を行ってもよいし、歩行時の荷重データに対して、揺らぎ成分の割合を減らすような補正を行ってもよい。
また、荷重補正部18は、ユーザの荷重傾向データだけで補正をするのではなく、ユーザの荷重傾向データと、複数ユーザの平均の荷重傾向データとを比較し、差分部分を低減するように補正の割合を変化させてもよい。複数ユーザの平均の算出方法としては、年代、性別、場所、歩行能力(歩行速度、歩行率、歩幅、立位姿勢、左右の揺れ)等の組み合わせで分類されたグループ毎に作成してもよい。
一例として、身体能力の低いユーザの移動意図の推定処理について説明する。図13Aは、ユーザの直進動作時のFz方向における荷重データの波形情報の一例を示す。図13Bは、図13Aに示すFz方向における荷重データの波形情報から揺らぎ周波数成分をフィルタリングした波形情報を示す。図14Aは、ユーザの直進動作時のMy方向における荷重データの波形情報の一例を示す。図14Bは、図14Aに示すMy方向における荷重データの波形情報から揺らぎ周波数成分をフィルタリングした波形情報を示す。なお、図13A及び図14Aに示す波形情報は、ステップST11で取得したハンドル荷重の波形情報である。図13B及び図14Bに示す波形情報は、ステップST13で揺らぎ周波数成分をフィルタリングして得られた補正ハンドル荷重の波形情報である。
図13Aに示すように、身体能力の低いユーザは、歩行が安定しないため、直進動作時のFz方向における荷重データの波形情報に揺らぎが生じている。即ち、ユーザの直進動作時において、検知部13で検知されるFz方向におけるハンドル荷重の値は、変動している。荷重補正部18は、検知部13で取得したFz方向のハンドル荷重の波形情報から、揺らぎ周波数成分をフィルタリングする。これにより、図13Bに示すように、直進動作時のFz方向におけるハンドル荷重の波形情報の揺らぎをカットすることができる。こえにより、ユーザ移動意図推定部19は、この補正されたハンドル荷重に基づいて、ユーザの移動意図が直進動作であることを容易に推定することができる。
また、図14Aに示すように、身体能力の低いユーザの直進動作時のMy方向における荷重データの波形情報にも揺らぎが生じている。即ち、ユーザの直進動作時において、検知部13で検知されるMy方向におけるハンドル荷重の値は、変動している。荷重補正部18は、検知部13で取得したMy方向のハンドル荷重の波形情報から、揺らぎ周波数成分をフィルタリングする。これにより、図14Bに示すように、直進動作時のMy方向におけるハンドル荷重の波形情報の揺らぎをカットすることができる。これにより、ユーザ移動意図推定部19は、この補正されたハンドル荷重に基づいて、ユーザの移動意図が直進動作であることを容易に推定することができる。
また、ユーザ移動意図推定部19は、旋回時における旋回半径を推定してもよい。例えば、足腰の弱いユーザに対しては、旋回半径を通常よりも大きくとることによって、ロボット1が緩やかに旋回してもよい。反対に、足腰の強いユーザに対しては、旋回半径を通常よりも小さくして急旋回してもよい。旋回半径の推定は、例えば、補正ハンドル荷重の値から推定する。
また、ユーザ移動意図推定部19は、アクチュエータ制御部21から車輪16の回転量の情報を取得し、回転量の情報と補正ハンドル荷重の情報とに基づいて、ユーザの移動意図を推定してもよい。
[駆動力の算出]
駆動力の算出について、図15を用いて説明する。図15は、駆動力の算出処理の例示的なフローチャートを示す。
図15に示すように、ステップST21において、駆動力算出部20は、ユーザ移動意図推定部19からユーザの移動意図の情報を取得する。
ステップST22において、駆動力算出部20は、アクチュエータ制御部21から車輪16の回転量の情報を取得する。
ステップST23において、駆動力算出部20は、ステップST21で取得したユーザの移動意図と車輪16の回転量の情報とに基づいて駆動力を算出する。具体的には、駆動力算出部20は、車輪16の回転量の情報から算出された現在の移動方向及び移動速度と、ユーザの移動意図の情報から推定された移動方向及び移動速度との差分に基づき、車輪16の回転量を算出する。
一例として、ロボット1が前進方向に71cm/sの移動速度で移動している状態のとき、ユーザがFy+の力を大きくして移動速度を77cm/sまで加速させる場合の駆動力算出部20の動作を説明する。駆動力算出部20は、前進方向に速度71cm/sで移動している状態において、左右両方の車輪16の回転量が2000rpmであることを示す情報を取得する。次に、駆動力算出部20は、ロボット1の移動速度を77cm/sにするために、左右両方の車輪16の回転量が2500rpm必要であることを算出する。駆動力算出部20は、左右の車輪16の回転量を500rpm大きくするように駆動力を算出する。
なお、実施の形態1では、駆動力算出部20は、ユーザの移動意図の情報とアクチュエータ制御部21から取得した車輪16の回転量の情報とに基づいて、駆動力を算出する例について説明したが、これに限定されない。例えば、駆動力算出部20は、ユーザの移動意図の情報のみから駆動力を算出してもよい。即ち、駆動力の算出処理において、ステップST22を含まなくてもよい。
また、駆動力算出部20は、ハンドル荷重と車輪16の回転量との対応関係を示す制御テーブルに基づいて、駆動力を算出してもよい。具体的には、駆動力算出部20は、ハンドル荷重と車輪16の回転量との対応関係を示す制御テーブルを格納する記憶部を備えてもよい。駆動力算出部20は、この記憶部に格納された制御テーブルを用いて、検知部13で検知されたハンドル荷重の値に対応する車輪16の回転量を算出してもよい。また、制御テーブルは、ユーザ荷重傾向抽出部23から抽出した荷重傾向データに基づいて、制御テーブルにおけるハンドル荷重の値を修正することによって更新されてもよい。
[効果]
実施の形態1に係る歩行支援ロボット1によれば、以下の効果を奏することができる。
実施の形態1に係る歩行支援ロボット1によれば、ユーザの荷重傾向データに基づいて、ハンドル荷重の値を補正することができる。このような構成により、ロボット1は、ユーザの傾向に応じてハンドル荷重の値を補正することができる。
例えば、左右に揺れて歩行する傾向があるユーザに対しては、ハンドル荷重から左右の揺れに起因する揺らぎの周波数をカットすることによって、ハンドル荷重の値を補正する。このように、ユーザの身体能力に応じて、ハンドル荷重の値を補正することができるため、身体能力の異なるユーザ毎にロボット1の移動方向及び移動速度を設定することができる。これにより、ユーザの身体能力に応じて、ロボット1を移動させることができるため、より快適なユーザの歩行支援を行うことができる。
実施の形態1では、荷重傾向データとしてハンドル荷重の揺らぎ周波数を使用している。揺らぎ周波数を用いることによって、ロボット1は、ハンドル荷重の波形情報に表れる凹凸の小さい揺らぎから凹凸の大きい揺らぎまで広い範囲でユーザの荷重傾向データを取得して、ハンドル荷重を補正することができる。これにより、ロボット1は、よりユーザの身体能力に応じた歩行支援を行うことができる。
なお、実施の形態1において、荷重傾向データ生成部15、荷重補正部18、ユーザ移動意図推定部19、駆動力算出部20、及びアクチュエータ制御部21は、例えば、これらの要素を機能させるプログラムを記憶したメモリ(図示せず)と、CPU(Central Processing Unit)などのプロセッサに対応する処理回路(図示せず)を備え、プロセッサがプログラムを実行することでこれらの要素として機能してもよい。あるいは、荷重傾向データ生成部15、荷重補正部18、ユーザ移動意図推定部19、駆動力算出部20、及びアクチュエータ制御部21は、これらの要素を機能させる集積回路を用いて構成してもよい。
実施の形態1では、歩行支援ロボット1の動作を主として説明したが、これらの動作は、歩行支援方法として実行することもできる。
実施の形態1では、移動方向及びモーメント方向において、それぞれ揺らぎ周波数を設定する例について説明したが、これに限定されない。例えば、すべての方向において、共通の揺らぎ周波数を設定してもよい。これにより、簡易的にハンドル荷重を補正することができる。
実施の形態1では、2つの車輪16の回転量をそれぞれ設定することにより、ロボット1の前進動作、後退動作、右旋回動作、左旋回動作などを制御する例について説明したが、これに限定されない。例えば、ブレーキ機構などによって、車輪16の回転量を制御し、ロボット1の動作を制御してもよい。
実施の形態1では、荷重補正部18は、ロボット1の移動動作に対応する荷重傾向データが所定の閾値以上になった場合、荷重傾向データに基づいて検知部13で検知されたハンドル荷重の値を補正(フィルタリング)してもよい。例えば、ロボット1の直進動作(Fy+方向に前進動作)において、Mz方向の荷重傾向データ(揺らぎ周波数)が0Hzの閾値以上になった場合、ロボット1の直進動作に対応する荷重データを荷重傾向データに基づいて補正してもよい。このような構成により、ロボット1の直進動作において不要なMz方向の揺らぎ周波数をフィルタリングすることができる。なお、所定の閾値は、ユーザの身体能力などに応じて変更してもよい。例えば、所定の閾値は、健常者では揺らぎ周波数が1Hzで生じるという情報をもとに1Hzに変更してもよい。また、ロボット1の移動動作に対応する荷重傾向データとは、ロボット1の移動方向と同じ方向の荷重傾向データであってもよいし、ロボット1の移動方向と異なる方向の荷重傾向データであってもよい。例えば、他のユーザの荷重傾向データを所定の閾値とした場合、ロボット1の移動動作に対応する移動方向と同一の移動方向において、ユーザの荷重傾向データと、他のユーザの荷重傾向データとを比較してもよい。
(実施の形態2)
本開示の実施の形態2に係る歩行支援ロボットについて説明する。なお、実施の形態2では、主に実施の形態1と異なる点について説明する。実施の形態2においては、実施の形態1と同一又は同等の構成については同じ符号を付して説明する。また、実施の形態2では、実施の形態1と重複する記載は省略する。
実施の形態2では、荷重傾向データとして平均荷重値を用いている点が実施の形態1と異なる。なお、実施の形態2に係る歩行支援ロボットは、実施の形態1に係る歩行支援ロボット1と同様の構成要素を有しており、図1、図2及び図4中の符号「51」で示される。
図16は、実施の形態2における荷重傾向マップ24を示す。図16に示すように、荷重傾向マップ24は、ユーザの移動方向毎に、歩行時の移動方向の平均荷重値と歩行時の重心の偏り方向の平均荷重値とを、荷重傾向データとして記憶している。
[荷重傾向データの生成]
荷重傾向データの生成について、図17を用いて説明する。図17は、歩行支援ロボット51(以下、「ロボット51」と称する)の荷重傾向データの生成処理の例示的なフローチャートを示す。
図17に示すように、ステップST31において、検知部13によりハンドル荷重を検知したか否かを判定する。ステップST31では、ユーザがハンドル部12を把持しているか否かを判定している。検知部13でハンドル荷重を検知した場合、ステップST32へ進む。検知部13でハンドル荷重を検知しない場合、ステップST31を繰り返す。
ステップST32において、ユーザ荷重傾向抽出部23は、車輪16の回転量の情報に基づいてユーザの現在の移動方向を推定する。具体的には、ステップST31でハンドル荷重が検知されると、アクチュエータ制御部21が車輪16の回転量の情報を取得する。アクチュエータ制御部21で取得された回転量の情報は、ユーザ荷重傾向抽出部23に送信される。例えば、ユーザ荷重傾向抽出部23は、左右に配置される2つの車輪16の回転量に基づいて、ユーザの移動方向を推定する。
ステップST33において、ユーザ荷重傾向抽出部23は、推定したユーザの移動方向における過去の荷重データに、ステップST31で検知したハンドル荷重を加算する。具体的には、ユーザ荷重傾向抽出部23は、荷重傾向マップ24に記憶されている過去の荷重データを読み出し、読み出した過去の荷重データに、ステップST31で検知したハンドル荷重を加算する。過去の荷重データとは、これまでに検知した全ての荷重データを意味する。
ステップST34において、ユーザ荷重傾向抽出部23は、ユーザの歩行時の移動方向の平均荷重値と偏り方向の平均荷重値とを算出する。
ステップST35において、ユーザ荷重傾向抽出部23は、算出したユーザの歩行時の移動方向の平均荷重値と偏り方向の平均荷重値とを荷重傾向データとして設定する。具体的には、ユーザ荷重傾向抽出部23は、算出した平均荷重値の情報を荷重傾向マップ24に送信し、荷重傾向マップ24のユーザの歩行時の移動方向の平均荷重値と偏り方向の平均荷重値とを更新する。
[ユーザの移動意図の推定]
ユーザの移動意図の推定について、図18を用いて説明する。図18は、ユーザの移動意図の推定処理の例示的なフローチャートを示す。
図18に示すように、ステップST41において、荷重補正部18は、検知部13で検知された現在のハンドル荷重の情報を取得する。
ステップST42において、ユーザ荷重傾向抽出部23は、ユーザの荷重傾向データを読み出す。具体的には、ユーザ荷重傾向抽出部23は、荷重傾向マップ24から過去の平均荷重値を読み出し、過去の平均荷重値を荷重補正部18へ送信する。
ステップST43において、荷重補正部18は、現在の荷重データから過去の平均荷重値を減算する。これにより、荷重補正部18は、ハンドル荷重の値を補正する。
ステップST44において、ユーザ移動意図推定部19は、補正したハンドル荷重の情報に基づいて、ユーザの移動意図を推定する。
一例として、実施の形態2におけるハンドル荷重の補正について説明する。ここでは、重心が右方向に偏った状態で歩行するユーザについてのハンドル荷重の補正について説明する。
[平均荷重値を用いたハンドル荷重の補正]
図19Aは、ユーザの直進動作時のMz方向における現在の荷重データの波形情報の一例を示す。図19Aに示すように、ユーザは右方向へ重心が偏っているため、直進動作時においても、検知部13でMz方向への荷重(モーメント)が検知される。
図19Bは、Mz方向における過去の荷重データの平均荷重値を示す。ユーザ荷重傾向抽出部23は、過去の荷重データの波形情報に対して平均計算を行うことにより、図19Bに示すような過去の荷重データの平均荷重値を算出する。図19Bの場合、過去の平均荷重値は、Mz方向に1.0Nmである。実施の形態2では、図19Bに示す平均荷重値を荷重傾向データとして使用する。
次に、荷重補正部18は、荷重傾向データに基づいて現在の荷重データを補正する。具体的には、荷重補正部18は、Mz方向において、図19Aに示す現在の荷重データの波形情報から図19Bに示す過去の平均荷重値1.0Nmを減算する。図19Cは、荷重傾向データを用いて補正したMz方向における現在の荷重データの波形情報を示す。図19Cに示すように、現在の荷重データから過去の平均荷重値を減算することで、Mz方向にかかる荷重が全体的に削減される。これにより、荷重補正部18は、定常的な右方向への荷重の偏りを補正することができる。
ユーザ移動意図推定部19は、この補正された現在のハンドル荷重の情報に基づいて、ユーザの移動意図を推定する。これにより、ロボット51がユーザの移動意図を正確に判断して移動することができるため、ユーザはロボット51の進行方向を細かく調整する必要がなくなる。
なお、上記補正の例は、右方向へ重心が偏って歩行するユーザを例として説明したが、これに限定されない。例えば、腰が曲がったユーザなどは、下方向へ荷重が偏っている場合がある。この場合は、Fz方向の平均荷重値を用いて、ハンドル荷重の値を補正してもよい。
また、ロボット51の前進動作がFy方向及びFz方向のハンドル荷重の値に基づいて行われる場合、荷重傾向データとしてFy方向及びFz方向の平均荷重値を用いてもよい。即ち、ロボット51の前進動作時において、Fy方向及びFz方向の平均荷重値を用いて、ハンドル荷重の値を補正してもよい。また、ロボット51の旋回動作がMz方向の荷重(モーメント)に基づいて行われる場合、荷重傾向データとしてMz方向の平均荷重値を用いてもよい。即ち、ロボット51の旋回動作時において、Mz方向の平均荷重値を用いて、ハンドル荷重の値を補正してもよい。また、Fx,Fy,Fz,Mx,My,Mzの全て方向の平均荷重値を算出し、全て方向の平均荷重値を用いてハンドル荷重の値を補正してもよい。このように、複数の方向における平均荷重値を用いてハンドル荷重を補正することによって、ユーザの荷重傾向をより正確に把握することができるため、更にユーザの身体能力に適したロボット51の動作が可能になる。なお、ハンドル荷重の補正では、ロボット51の移動制御に応じて、Fx,Fy,Fz,Mx,My,Mz方向のうち少なくとも1つの平均荷重値を算出し、算出した平均荷重値を用いてハンドル荷重を補正すればよい。
[効果]
実施の形態2に係る歩行支援ロボット51によれば、以下の効果を奏することができる。
実施の形態2に係る歩行支援ロボット51によれば、ユーザの荷重傾向データとしてハンドル荷重の平均荷重値を使用している。このような構成により、ユーザ毎の定常的に加わる荷重を荷重傾向データとして取得して荷重の値を補正することができるため、よりユーザの身体能力に適した歩行支援を行うことが可能となる。また、ユーザの荷重傾向データとしてハンドル荷重の平均荷重値を使用することにより、ユーザの荷重傾向の抽出の誤差を少なくすることができる。
なお、実施の形態2では、荷重傾向データを算出する際に、過去の荷重データとして、過去に検知した全てのハンドル荷重を使用する例について説明したが、これに限定されない。荷重傾向データを算出する際に使用する過去の荷重データは、例えば、所定の期間内の荷重データであってもよい。例えば、荷重傾向データを算出する際に使用する過去の荷重データは、所定の期間(例えば、1年)以内に検知した過去の荷重データなどであってもよい。このように、比較的新しい荷重データのみを使用することにより、ユーザの現在の荷重傾向を抽出しやすくなる。
実施の形態2では、荷重傾向マップ24は、安定歩行時の荷重傾向データを記憶していてもよい。ユーザ荷重傾向抽出部23は、荷重傾向データを荷重傾向マップ24から取得し、安定歩行時の荷重傾向データを荷重補正部18に送信してもよい。荷重補正部18が、安定歩行時の荷重傾向データと、現在のユーザの荷重データとを比較し、両者のデータが異なっている場合にハンドル荷重の値を補正してもよい。例えば、過去の荷重傾向において、ユーザの直進動作の安定歩行時のFz方向の荷重が10Nである場合、ユーザが前傾姿勢で歩行してFz方向のハンドル荷重が20Nとなると、荷重補正部18は、Fz方向のハンドル荷重を安定歩行時のFz方向のハンドル荷重の値に補正してもよい。即ち、荷重補正部18は、Fz方向の20Nの荷重を1/2に補正してもよい。
実施の形態2では、荷重補正部18は、現在の荷重データから過去の平均荷重値を減算することによって現在の荷重データを補正する例について説明したが、これに限定されない。例えば、荷重補正部18は、ロボット51の使用場所、使用時間、及びユーザの体調などに応じてハンドル荷重を補正できるように、別のパラメータを考慮してもよい。
また、ロボット1がFz値とFy値の合算値で移動制御を行っている場合は、FzとFy値の合算する際の割合を変更することによって、ハンドル荷重の補正を行ってもよい。例えば、Fz:Fy=8:2で制御していたのを、Fz:Fy=6:4に変更してもよい。また、ユーザの荷重傾向データだけで補正をするのではなく、ユーザの荷重傾向データと、複数ユーザの平均の荷重傾向データを比較し、差分部分を低減するように補正の割合を変更してもよい。複数ユーザの平均の算出方法としては、年代、性別、場所、歩行能力(歩行速度、歩行率、歩幅、立位姿勢、左右の揺れ)等の組み合わせで分類されたグループ毎に作成してもよい。
また、荷重補正部18は、現在の荷重データに過去の荷重傾向データから算出された補正係数を乗算することによって、ハンドル荷重を補正してもよい。以下、補正係数を用いたハンドル荷重の補正の例について説明する。
[補正係数を用いたハンドル荷重の補正]
図20Aは、ユーザの直進動作時のMz方向における過去の荷重データの波形情報の一例を示す。図20Bは、図20Aに示すMz方向における過去の荷重データの平均荷重値を示す。ユーザ荷重傾向抽出部23は、図20Aに示す過去の荷重データの波形情報に対して平均計算を行う。これにより、荷重傾向データとして、図20Bに示すような過去の荷重データの平均荷重値を算出している。図20Bの場合、過去の平均荷重値は、Mz方向に−1.0Nmである。
次に、現在の荷重データから平均荷重値を算出する。図21Aは、ユーザの直進動作時のMz方向における現在の荷重データの波形情報の一例を示す。図21Bは、図21Aに示すMz方向における現在の荷重データの平均荷重値を示す。
荷重補正部18は、図21Aに示す現在の荷重データの波形情報に対して平均計算を行う。これにより、図21Bに示すような現在の荷重データの平均荷重値を算出する。図21Bの場合、現在の平均荷重値は、Mz方向に−2.0Nmである。
荷重補正部18は、過去の平均荷重値を現在の平均荷重値で除算することよって、補正係数を算出する。この場合、補正係数は、(−1.0Nm/−2.0Nm)=0.5となる。荷重補正部18は、この補正係数を現在の荷重データの波形情報に乗算することによって、ハンドル荷重を補正する。即ち、図21Aに示す現在の荷重データの波形情報に対して、補正係数0.5を乗算することによって、検知部13で検知されたMz方向のハンドル荷重の値を補正する。
図22は、補正された荷重データの波形情報の一例を示す。図22に示すように、検知部13で検知されたハンドル荷重(図21Aの波形情報参照)が補正係数の乗算によって補正されている。このように、荷重補正部18は、現在の荷重データに、過去の荷重傾向データに基づいて算出された補正係数を乗算することによって、現在のハンドル荷重を補正してもよい。
(実施の形態3)
本開示の実施の形態3に係る歩行支援ロボットについて説明する。なお、実施の形態3では、主に実施の形態1及び2と異なる点について説明する。実施の形態3においては、実施の形態1及び2と同一又は同等の構成については同じ符号を付して説明する。また、実施の形態3では、実施の形態1及び2と重複する記載は省略する。
実施の形態3では、身体情報に基づいて荷重を補正する点が実施の形態1及び2と異なる。
図23は、実施の形態3に係る歩行支援ロボット61(以下、「ロボット61」と称する)における主要な制御構成を示す制御ブロック図である。また、図23の制御ブロック図では、それぞれの制御構成と取り扱われる情報との関係についても示している。図24は、ロボット61の歩行支援の詳細な制御構成を示す制御ブロック図である。
図23及び図24に示すように、実施の形態3のロボット61は、身体情報推定部25と、身体情報データベース26とを備える点が、実施の形態1及び2のロボット1、51と異なる。なお、実施の形態3において、身体情報データベース26は、必須の構成ではない。
身体情報推定部25は、ユーザの身体情報を推定する。本明細書では、身体情報とは、歩行に関する身体の情報であり、例えば、歩行速度、歩行率、身体の傾き、身体の揺れ、歩幅、筋力を含む。なお、身体情報は、これらに限定されない。例えば、身体情報は、移動方向の平均荷重、重心の偏り方向の平均荷重、移動方向の揺らぎ周波数、左右方向の揺らぎ周波数などを含んでもよい。
身体情報推定部25は、例えば、検知部13で検知されたハンドル荷重の情報と、アクチュエータ制御部21で取得された回転体16の回転量の情報と、駆動力算出部20で算出された駆動力の情報と、に基づいて、身体情報を推定する。
身体情報データベース26は、ユーザ毎の身体情報を記憶している。身体情報データベース26は、身体情報推定部25で推定された身体情報をユーザ毎に記憶し、更新する。
[身体情報の推定]
身体情報の推定について、図25を用いて説明する。図25は、実施の形態3に係る歩行支援ロボット61の身体情報推定処理の例示的なフローチャートを示す。
図25に示すように、ステップST51において、検知部13は、ハンドル荷重の変化を検出する。検知部13がハンドル荷重の変化を検知した場合、ステップST52へ進む。検知部13がハンドル荷重の変化を検知しない場合、ステップST51を繰り返す。
ステップST52において、身体情報推定部25は、車輪16の回転量の情報に基づいてユーザの移動方向を推定する。具体的には、ステップST51でハンドル荷重の変化が検知されると、アクチュエータ制御部21が車輪16の回転量の情報を取得する。アクチュエータ制御部21で取得された回転量の情報は、身体情報推定部25に送信される。身体情報推定部25は、車輪16の回転量の情報、即ち車輪の回転方向及び回転数に基づいて、ユーザの移動方向を推定する。実施の形態3では、身体情報推定部25は、左右に配置される2つの車輪16の回転量に基づいて、ユーザの移動方向を推定する。例えば、身体情報推定部25は、右側の車輪16の回転量が左側の車輪16の回転量よりも多い場合、ユーザが左方向に旋回していると推定してもよい。また、身体情報推定部25は、左右の車輪16の回転数が同じであり、前方向に回転している場合、ロボット61が直進動作を行っていると推定してもよい。
ステップST53において、身体情報推定部25は、推定したユーザの移動方向におけるハンドル荷重の波形情報を取得する。ユーザの移動方向におけるハンドル荷重の波形情報は、特に限定されないが、例えば、ユーザの移動方向がFy+方向である場合、Fz方向のハンドル荷重の波形情報又はMy方向のモーメントの波形情報などであってもよい。
ステップST54において、身体情報推定部25は、取得したハンドル荷重の波形情報と、過去のハンドル荷重の波形情報とを合算する。例えば、過去の波形情報は、身体情報データベース26に記憶されている。身体情報推定部25は、身体情報データベース26から過去の波形情報を読み出し、取得した現在の波形情報を過去の波形情報に加算する。ハンドル荷重の入力波形情報としては、例えば、図8に示すハンドル荷重の波形情報が挙げられる。
ステップST55において、身体情報推定部25は、駆動力の情報を取得する。具体的には、身体情報推定部25は、駆動力算出部20から駆動力の情報を取得する。
ステップST56において、身体情報推定部25は、ステップST54で合算した波形情報と、ステップST55で取得した駆動力の情報とに基づいて、身体情報を推定する。
実施の形態3では、身体情報推定部25は、身体情報として、歩行速度、歩行率、身体の傾き、身体の揺れ、歩幅、筋力を推定する。
歩行速度は、例えば、駆動力の情報に基づいて移動距離を算出し、移動時間で除算することにより算出する。
歩行率とは、単位時間当たりの歩数を意味する。歩行率は、歩数を移動時間で除算することにより算出する。なお、歩数は、ハンドル荷重の変化情報に基づいて算出する。例えば、ユーザが直進動作をしている場合、右足と左足とを交互に前方向に出して歩行している。直進動作をしているユーザのハンドル荷重の波形情報は、歩行周期と連動して変化する。このため、ハンドル荷重の波形情報においては、右足又は左足のつまさきが地面から離れるとき、即ち、足指離地のときに、Fz+方向に凸のピーク点を有する。よって、ピーク点から次のピーク点までを1歩としてカウントすることで、歩数を算出することができる。凸のピーク点の算出方法は、例えば、ハンドル荷重の変化量が増加から減少に変化する点に基づいて算出してもよいし、最小2乗法で2次曲線を推定し、推定した2次曲線の最大値に基づいて算出してもよい。
身体の傾きは、ハンドル荷重の情報に基づいて算出する。身体の傾きは、ユーザの重心の傾きによって生じる荷重の偏りに基づいて算出する。例えば、重心が右方向に偏った状態で歩行するユーザについては、Fx+方向の荷重を身体の傾きとして算出する。
身体の揺れは、合算した波形情報に基づいて揺らぎ周波数を算出することによって算出する。具体的には、身体情報推定部25は、推定したユーザの移動方向におけるハンドル荷重の周波数解析を行うことにより、揺らぎ周波数を算出する。
歩幅は、足指離地間の移動距離に基づいて算出される。例えば、足指離地間の移動距離は、ハンドル荷重の波形情報と駆動力の情報とに基づいて算出する。上述したように、ハンドル荷重の波形情報と歩行周期とは連動して変化する。例えば、身体情報推定部25は、ハンドル荷重の波形情報において、Fz+方向に凸のピーク点と次のピーク点までを1歩としてカウントすると共に、Fx方向の荷重及び/又はMz方向のモーメントに基づいて右足か、左足かを特定する。次に、身体情報推定部25は、駆動力の情報に基づいて1歩毎に移動距離を算出する。
筋力は、足位置毎の荷重値の偏り、左右の歩幅の差、移動量の差などから算出する。例えば、筋力は、ユーザの歩行動作毎に使う足部の筋肉(例えば、前脛骨筋、腓骨筋など)毎に6段階の評価(レベル0〜5)で表される。なお、レベルは、数字が大きくなる程、筋力が強いことを示す。
実施の形態3では、上述した身体情報のデータは、10歩分の情報に基づいて算出している。具体的には、10歩分のデータの平均値を身体情報として算出している。なお、身体情報は、10歩分のデータの平均値に限定されない。例えば、身体情報は、10歩分のデータに限らず、1歩以上10歩未満のデータ、10歩より多い歩数のデータ、又は(10歩分のデータ)×(複数回のデータ)等に基づいて算出されてもよい。また、身体情報は、10歩分のデータの平均値以外に中央値などによって算出してもよい。
このようにして算出された身体情報のデータは、身体情報データベース26に記憶される。また、身体情報データベース26に記憶された身体情報は、身体情報の推定が行われると、新しい情報に更新される。
図26Aは、ロボット61の身体情報データベース26に記憶されている身体情報の一例である。図26Aに示すように、ユーザAの身体情報として、歩行速度、歩行率、身体の傾き、身体の揺れ、歩幅、足部の筋力を用いている。
図26Bは、ロボット61の身体情報データベース26に記憶されている身体情報の別例である。図26Bに示すように、ユーザAの直進動作の身体情報として、歩行速度、歩行率、移動方向の平均荷重、重心の偏り方向の平均荷重、移動方向の揺らぎ周波数、左右方向の揺らぎ周波数、歩幅、足部の筋力を用いている。また、図26Bに示す身体情報は、ハンドル荷重の入力波形が「No.1」と「No.3」の2つを合算していることが表示されている。
[ユーザの移動意図の推定]
実施の形態3では、身体情報に基づいてハンドル荷重を補正し、補正したハンドル荷重の情報に基づいてユーザの移動意図を推定している。図27は、ロボット61のユーザの移動意図の推定処理の例示的なフローチャートを示す。
図27に示すように、ステップST61において、検知部13がハンドル荷重の情報を取得する。
ステップST62において、身体情報推定部25は、ハンドル荷重の情報に基づいてユーザの移動方向に対応する身体情報を取得する。具体的には、身体情報推定部25は、ハンドル荷重の情報に基づいて、ユーザの移動方向を推定する。次に、身体情報推定部25は、推定したユーザの移動方向に対応する身体情報を、身体情報データベース26から取得する。身体情報推定部25は、取得した身体情報を荷重補正部18に送信する。
ステップST63において、荷重補正部18は、身体情報に基づいて、ハンドル荷重の情報に補正をかけるか否かの閾値を設定する。このステップST63では、荷重補正部18が、ユーザの身体能力に応じて、ハンドル荷重の情報の補正に閾値を設定することによって、補正の強度を調整している。
実施の形態3において、補正をかけるか否かの閾値とは、身体の傾き(傾き方向にかかる荷重)、身体の揺れ(揺らぎ周波数)などの補正をかけるか否かの閾値を意味する。
本明細書において、補正の強度とは、補正のかかりやすさを意味している。補正の強度が高いとは、補正がかかりやすいことを意味し、補正の強度が低いとは、補正がかかりにくいことを意味する。
例えば、身体能力の高いユーザは、ハンドル荷重の補正をかけなくてもユーザの意図通りに歩行することができる。この場合、ユーザが速く移動したいために、直進方向に荷重を大きくかけても、ハンドル荷重を小さく補正される可能性がある。これを回避するため、荷重補正部18は、閾値を高く設定し、補正の強度を低くする。一方、身体能力の低いユーザは、身体の傾き又は揺れが大きく、ハンドル荷重の補正をかけないと、ユーザの意図通りに歩行することが難しい。この場合、荷重補正部18は、閾値を低く設定し、補正の強度を高くする。
本明細書において、身体能力の高いユーザとは、例えば、ユーザと同年代の人々の平均の身体能力以上の身体能力を有するユーザを意味する。また、身体能力の低いユーザとは、例えば、ユーザと同年代の人々の平均の身体能力よりも低い身体能力を有するユーザを意味する。
実施の形態3では、荷重補正部18は、ユーザと同年代の人の平均の身体情報を基準にユーザの身体能力の高さを判定している。具体的には、荷重補正部18は、基準となる身体情報として、ユーザと同年代の人々の歩行速度の平均値(以下、「同年代の平均歩行速度」と称する)を用いて、ユーザの身体能力の高さを判定している。例えば、荷重補正部18は、ユーザの歩行速度が同年代の平均歩行速度以上である場合、身体能力が高いと判定し、ユーザの歩行速度が同年代の平均歩行速度より遅い場合、身体能力が低いと判定する。
ユーザと同年代の人の平均の身体情報は、例えば、身体情報データベース26に記憶されている。なお、ユーザと同年代の人の平均の身体情報とは、例えば、ユーザが63歳である場合、63歳の人々の平均の身体情報を意味する。ユーザと同年代の人の平均の身体情報は、例えば、身体情報データベース26に記憶されている。実施の形態3では、身体情報推定部25が、荷重補正部18にユーザの身体情報を送信するときに、ユーザと同年代の人の平均の身体情報を送信してもよい。
荷重補正部18は、ユーザの身体能力が高い、即ちユーザの歩行速度が同年代の平均歩行速度以上であると判定した場合、補正をかけるか否かの閾値を高く設定する。一方、荷重補正部18は、ユーザの身体能力が低い、即ち、ユーザの歩行速度が同年代の平均歩行速度よりも遅いと判定した場合、補正をかけるか否かの閾値を低く設定する。このように、実施の形態3では、補正をかけるか否かの閾値を決定する基準として歩行速度を用いている。
一例として、荷重補正部18が、ユーザの歩行速度が同年代の平均歩行速度以上であると判定した場合について説明する。この例において、ユーザと同年代の人々の直進方向の荷重の平均値が20Nである場合、荷重補正部18は、身体の傾きの補正の閾値を20Nに設定する。また、ユーザと同年代の人々の直進方向の揺れの平均値が1.0Hzである場合、荷重補正部18は、身体の揺れの補正の閾値を1.0Hzに設定する。このように、身体能力の高いユーザに対しては、閾値を高く設定し、補正をかかりにくくすることができる。
また、荷重補正部18が、ユーザの歩行速度が同年代の平均歩行速度より遅いと判定した場合について説明する。この例において、身体能力が低いユーザの場合は、常に荷重傾向に応じた補正を行ってもよい。なお、ユーザの身体能力が低いユーザに対して補正がかかりやすくなるように、身体能力の高いユーザの閾値よりも低い閾値を設定する形でもよい。
ステップST64において、荷重補正部18は、ハンドル荷重の情報がステップST63で設定した閾値以上であるか否かを判定する。ハンドル荷重の情報が閾値以上である場合、ハンドル荷重の情報を補正するためにステップST65に進む。ハンドル荷重の情報が閾値未満である場合、ステップST67に進む。
一例として、ユーザの歩行速度が同年代の平均歩行速度以上であると判定されている場合、荷重補正部18は、直進方向に20N以上の荷重が加わったときか、又は直進方向の揺れが1.0Hz以上になったときに、ステップST65に進む。一方、荷重補正部18は、直進方向に20N未満の荷重が加わっており、且つ、直進方向の揺れが1.0Hz未満の場合、ステップST67へ進む。
また、ユーザの歩行速度が同年代の平均歩行速度より遅いと判定されている場合、荷重補正部18は、直進方向の揺れが0Hz以上になったときに、ステップST65に進む。実施の形態3では、直進方向の揺れの補正の閾値が0Hzに設定されているため、ハンドル荷重が加わった場合、実質的に補正がかかる設定になっている。
ステップST65において、荷重補正部18は、荷重傾向データ(揺らぎ周波数など)に基づいて、ハンドル荷重の情報を補正する。ステップST65については、実施の形態1及び実施の形態2の荷重の補正の処理と同じため、説明を省略する。
ステップST66において、ユーザ移動意図推定部19は、補正したハンドル荷重の情報に基づいてユーザの移動意図(移動方向、移動速度)を推定する。ステップST66については、実施の形態1及び実施の形態2のユーザ移動意図推定の処理と同じため、説明を省略する。
ステップST67において、荷重補正部18は、ハンドル荷重の情報を補正せずにユーザの移動意図を推定する。ステップST67については、実施の形態1及び実施の形態2のユーザ移動意図推定の処理と同じため、説明を省略する。
このように、ロボット61では、身体情報に基づいて、荷重の補正を行うか否かの閾値を設定することによって、ユーザの身体能力に応じた歩行支援を行っている。
[効果]
実施の形態3に係る歩行支援ロボット61によれば、以下の効果を奏することができる。
実施の形態3に係る歩行支援ロボット61によれば、身体情報に基づいて、荷重の補正を行うか否かの閾値を設定している。このような構成により、補正の強度を調整することができるため、ユーザの身体能力に応じた歩行支援を行うことができる。
例えば、身体能力の高いユーザは、補正をかけずともユーザの意図通りに歩行することができる。この場合、ロボット61は、補正をかけるか否かの閾値を高くすることによってハンドル荷重の補正がかかり過ぎるのを抑制することができる。例えば、ユーザが速く直進したいと、ハンドル荷重をかけているにも関わらず、補正により速度が抑えられるというようなユーザの意図に反する制御を抑制することができる。
また、身体能力の低いユーザは、ユーザの意図しない荷重がハンドルにかかる場合がある。この場合、ロボット61は、補正をかけるか否かの閾値を低くすることによって、ハンドル荷重の補正をかかりやすくする。これにより、身体能力の低いユーザであっても、ユーザの意図通りに歩行することができる。
なお、実施の形態3では、補正をかけるか否かの閾値を決定する基準として歩行速度を用いる例について説明したが、これに限定されない。閾値を決定する基準は、身体情報に基づいて設定されていればよく、例えば、歩行速度、歩行率、歩幅、筋力、荷重の偏り、荷重の揺れ、又はこれらの組み合わせを用いてもよい。これらの項目を、閾値を決定する基準とすることで、補正の強度をより細かく設定することができる。
また、閾値を決定する基準は、ユーザと同年代の人々の身体情報(歩行速度、歩行率など)の平均値、中央値などを用いてもよい。
実施の形態3では、ユーザの身体能力が低い、即ち、ユーザの歩行速度が同年代の平均歩行速度より遅いと判定された場合、直進方向の身体の揺れの補正の閾値を0Hzに設定する例を説明したが、これに限定されない。ユーザの身体能力が低い場合、例えば、身体の揺れの補正の閾値を0.5Hzなどの異なる値に設定してもよし、身体の傾きの補正の閾値を直進方向に10Nに設定してもよい。
実施の形態3では、ユーザの身体能力が高い、即ち、ユーザの歩行速度が同年代の平均歩行速度以上であると判定された場合、ユーザと同年代の人々の身体の傾きの荷重の平均値20N、身体の揺れの平均値1.0Hzを閾値として設定する例を説明したが、これに限定されない。ユーザの身体能力が高い場合、例えば、閾値を異なる値に設定してもよいし、補正を行わないように設定してもよい。
実施の形態3では、荷重補正部18がユーザと同年代の人々の身体情報を基準にユーザの身体能力の高さを判定することによって、ユーザの身体能力に応じた閾値を設定する例について説明したが、これに限定されない。
一例として、荷重補正部18が、年代別の身体能力に応じて閾値を設定する例を説明する。この例では、年代別に閾値が設定されている。例えば、50歳以上60歳未満の年代、60歳以上70未満の年代、70歳以上80歳未満の年代では、進行方向の荷重の閾値をそれぞれの年代の平均値15N、10N、5Nに設定し、進行方向の揺れの閾値をそれぞれの年代の平均値1.0Hz、1.2Hz、1.4Hzに設定してもよい。
この例において、荷重補正部18は、ユーザの身体情報に基づいて、ユーザがどの年代の身体能力を有しているかを判定し、その年代に応じた閾値を設定してもよい。例えば、荷重補正部18は、ユーザの身体情報(歩行速度、歩行率など)に基づいて、ユーザの身体能力が60歳以上70未満の年代の身体能力に相当すると判定した場合、進行方向の荷重の閾値を10Nに設定し、進行方向の揺れの閾値を1.2Hzに設定してもよい。
実施の形態3では、ユーザの身体能力が高い場合と低い場合の閾値の設定の例について説明したが、これに限定されない。例えば、ユーザの身体能力が低いと判定された場合、上述したように、年代別の身体能力に応じて設定された閾値を設定してもよい。例えば、ユーザの身体能力が低いと判定された場合、年代別の身体能力に応じて段階的に閾値の値を変更してもよい。
実施の形態3では、身体情報推定部25は、ステップST54で合算した波形情報と、ステップST55で取得した駆動力の情報とに基づいて、身体情報を推定する例について説明したが、これに限定されない。例えば、身体情報推定部25は、ステップST54で合算した波形情報と、アクチュエータ制御部21で測定された回転体16の回転量と、に基づいて、身体情報を推定してもよい。
[ユーザ通知部]
図28は、ロボット61の歩行支援の制御構成を示す別の制御ブロック図を示す。図28に示すように、ロボット61は、ユーザ通知部27を備えてもよい。
ユーザ通知部27は、身体情報と、ユーザ移動意図とのうち少なくとも一方をユーザに通知する。具体的には、ユーザ通知部27は、身体情報推定部25から推定した身体情報を取得する。また、ユーザ通知部27は、ユーザ移動意図推定部19からユーザの移動意図の情報を取得する。
ユーザ通知部27は、例えば、LED、ディスプレイ、又はスピーカーなどで構成される。なお、ユーザ通知部27は、LED、ディスプレイ、スピーカー、又はこれらの組み合わせで構成されていてもよい。
ユーザ通知部27がLEDを有する場合を説明する。ユーザ通知部27は、例えば、身体情報を取得したとき、身体情報に基づいて荷重を補正し、ユーザの移動意図を推定したときにLEDを点灯してもよい。なお、LEDの点灯のパターンに応じて、提示したい情報を識別してもよい。
ユーザ通知部27がディスプレイを有する場合を説明する。ユーザ通知部27は、身体情報を取得したとき、例えば、ディスプレイ上に「あなたの歩行速度は○○です」、「歩行率は○○です」、「右足の筋力が弱いです」などのメッセージを表示してもよい。また、ユーザ通知部27は、身体情報に基づいて荷重を補正し、ユーザの移動意図を推定したとき、例えば、ディスプレイ上に「あなたに合わせて支えます」、「あなたに合わせて制御を変えます」、「ブレーキを強めます」、「揺れを抑えます」、「安定させます」などのメッセージを表示してもよい。なお、ディスプレイに表示するメッセージは、これらに限定されない。
ユーザ通知部27がスピーカーを有する場合を説明する。ユーザ通知部27は、身体情報を取得したとき、例えば、スピーカーによって「あなたの歩行速度は○○です」、「歩行率は○○です」、「右足の筋力が弱いです」などの音声を出力してもよい。また、ユーザ通知部27は、身体情報に基づいて荷重を補正し、ユーザの移動意図を推定したとき、例えば、スピーカーによって、「あなたに合わせて支えます」、「あなたに合わせて制御を変えます」、「ブレーキを強めます」、「揺れを抑えます」、「安定させます」などの音声を出力してもよい。なお、スピーカーによって出力する音声は、これらに限定されない。
このように、ユーザ通知部27を備えることによって、ユーザは身体情報、又はロボットの歩行支援の情報を、視覚及び/又は聴覚で取得することができる。
ユーザ通知部27が通知することにより、ユーザ自身が日々の身体情報を把握し、身体能力の維持及び向上へのモチベーションアップ、又は歩行時の注意力喚起に繋がる。
また、ユーザ通知部27が通知することにより、ロボット61の制御状態をユーザが把握することができ、ブレーキが強まるような操作感の大きな変化に対し適応することが可能となる。
本開示をある程度の詳細さをもって各実施形態において説明したが、これらの実施形態の開示内容は構成の細部において変化してしかるべきものである。また、各実施形態における要素の組合せや順序の変化は、本開示の範囲及び思想を逸脱することなく実現し得るものである。
なお、実施の形態1−3において説明した荷重傾向データに基づくハンドル荷重の補正は、例示であって、これらに限定されるものではない。荷重傾向データに基づくハンドル荷重の補正としては、周知の様々な補正方法を採用してもよい。補正方法としては、例えば、重心方向の揺らぎに関して、揺らぎ度合に応じた移動平均での平滑化を行う方法、メディアンフィルタでの平滑化を行うことで揺らぎを除去する方法、周波数解析を行うことで特定周波数をカット、低減する方法を採用してもよい。