JP2011062463A - 歩行アシストシステム - Google Patents
歩行アシストシステム Download PDFInfo
- Publication number
- JP2011062463A JP2011062463A JP2009217924A JP2009217924A JP2011062463A JP 2011062463 A JP2011062463 A JP 2011062463A JP 2009217924 A JP2009217924 A JP 2009217924A JP 2009217924 A JP2009217924 A JP 2009217924A JP 2011062463 A JP2011062463 A JP 2011062463A
- Authority
- JP
- Japan
- Prior art keywords
- user
- walking
- speed
- unit
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
- Motorcycle And Bicycle Frame (AREA)
- Rehabilitation Tools (AREA)
Abstract
【課題】ユーザのバランスや体重を支えながら、足の振り出しを補助する。
【解決手段】歩行アシストシステムは全方向移動杖1と歩行補助装置200からなり、全方向移動杖1は、ユーザの操作により傾斜する基体と、基体に接続され、基体を床面の全方向に移動可能とする移動動作部と、移動動作部を駆動する移動駆動部と、ユーザ操作による基体の動き、及び、目標移動速度に応じて移動駆動部を駆動制御する移動体制御部とを備える。歩行補助装置200は、ユーザの上体に装着される第1装着部と、ユーザの脚体に装着される第2装着部と、第2装着部を駆動する駆動部と、第1装着部および第2装着部を介して駆動部の動作により生じる力をユーザに伝達させるよう、ユーザの脚体の動き、及び、全方向移動杖1の目標移動速度と所定の速度関係にある目標移動速度に応じて駆動部の動作を制御する歩行補助制御部とを備える。
【選択図】図1
【解決手段】歩行アシストシステムは全方向移動杖1と歩行補助装置200からなり、全方向移動杖1は、ユーザの操作により傾斜する基体と、基体に接続され、基体を床面の全方向に移動可能とする移動動作部と、移動動作部を駆動する移動駆動部と、ユーザ操作による基体の動き、及び、目標移動速度に応じて移動駆動部を駆動制御する移動体制御部とを備える。歩行補助装置200は、ユーザの上体に装着される第1装着部と、ユーザの脚体に装着される第2装着部と、第2装着部を駆動する駆動部と、第1装着部および第2装着部を介して駆動部の動作により生じる力をユーザに伝達させるよう、ユーザの脚体の動き、及び、全方向移動杖1の目標移動速度と所定の速度関係にある目標移動速度に応じて駆動部の動作を制御する歩行補助制御部とを備える。
【選択図】図1
Description
本発明は、ユーザの歩行を補助する歩行アシストシステムに関する。
ユーザの身体に対して股関節等の脚体関節周りのトルクを付与することにより、このユーザの歩行運動を補助する歩行補助装置が提案されている(例えば、特許文献1参照)。
歩行補助装置を用いてリハビリを行なう場合、患者(ユーザ)自身が杖をついたり、タイヤ付きの歩行器を押したりすることが多い。しかし、杖をつくタイミングが難しかったり、歩行器を押したりすることが患者の負担になっている。
また、脊椎損傷等の重度のリハビリの場合、トレッドミル上に吊り上げて歩行リハビリを行なうことがあるが、大きな設備が必要なためリハビリを行なうことができる施設が限られており、同時に使用できる人数も限られてしまう。加えて、リハビリを行なう場所が固定されてしまうため、患者のモチベーションも上がりにくい。
また、脊椎損傷等の重度のリハビリの場合、トレッドミル上に吊り上げて歩行リハビリを行なうことがあるが、大きな設備が必要なためリハビリを行なうことができる施設が限られており、同時に使用できる人数も限られてしまう。加えて、リハビリを行なう場所が固定されてしまうため、患者のモチベーションも上がりにくい。
本発明は、このような事情を考慮してなされたもので、その目的は、大きな設備を用いることなく、ユーザのバランスや体重を支えながら、脚の振り出しを補助することができる歩行アシストシステムを提供することにある。
上記問題を解決するために、請求項1に記載した発明は、倒立振子型移動体(例えば、実施形態による全方向移動杖1)と歩行補助装置(例えば、実施形態による歩行補助装置200)とを備えた歩行アシストシステムであって、前記倒立振子型移動体は、ユーザの操作により傾斜する基体(例えば、実施形態による基体9)と、前記基体に接続され、前記基体を床面上の全方向に移動可能とする移動動作部(例えば、実施形態による車輪体5)と、前記移動動作部を駆動する移動駆動部(例えば、実施形態によるアクチュエータ装置7)と、前記ユーザの操作による前記基体の傾斜の動きと目標移動速度とに応じて前記移動駆動部を駆動制御する移動体制御部(例えば、実施形態による要求重心速度生成部74、74a、姿勢制御演算部80、モータ指令演算部82)とを備え、前記歩行補助装置は、前記ユーザの上体に装着される第1装着部(例えば、実施形態による腰部装具202)と、前記ユーザの脚体に装着される第2装着部(例えば、実施形態による大腿部装具204)と、前記第2装着部を駆動する駆動部(例えば、実施形態による力伝達部材206、アクチュエータ210)と、前記ユーザの脚体の動きと目標移動速度とに応じて前記駆動部の動作を制御する歩行補助制御部(例えば、実施形態による制御システム300)とを備え、前記移動体制御部が前記移動駆動部を駆動制御するために使用する前記目標移動速度と、前記歩行補助制御部が前記駆動部の動作を制御するために使用する前記目標移動速度とが所定の速度関係になるように制御される、ことを特徴とする歩行アシストシステムである。
これにより、ユーザが把持する倒立振子型移動体と、ユーザの脚の運動を補助する歩行補助装置との間で目標移動速度が所定の速度関係となるようにし、倒立振子型移動体の移動体制御部は、ユーザが把持もしくはユーザの体重を作用させた際の基体の動き及び目標移動速度に基づいて移動駆動部による移動動作部の駆動を制御するとともに、歩行補助装置の歩行補助制御部は、ユーザの脚体の動き及び目標移動速度に基づいて、ユーザの脚体に装着された第1装着部及び上体に装着された第2装着部を介して駆動部の動作により生じる力をユーザに伝達させるよう、駆動部による第2装着部の駆動を制御することができる。
これにより、ユーザが把持する倒立振子型移動体と、ユーザの脚の運動を補助する歩行補助装置との間で目標移動速度が所定の速度関係となるようにし、倒立振子型移動体の移動体制御部は、ユーザが把持もしくはユーザの体重を作用させた際の基体の動き及び目標移動速度に基づいて移動駆動部による移動動作部の駆動を制御するとともに、歩行補助装置の歩行補助制御部は、ユーザの脚体の動き及び目標移動速度に基づいて、ユーザの脚体に装着された第1装着部及び上体に装着された第2装着部を介して駆動部の動作により生じる力をユーザに伝達させるよう、駆動部による第2装着部の駆動を制御することができる。
請求項2に記載した発明は、所定の速度関係になるように制御される前記目標移動速度は、前記基体の傾斜の動きと前記倒立振子型移動体の移動速度とに基づき決定されることを特徴とする。
これにより、ユーザ操作による倒立振子型移動体の基体の動きと、該倒立振子型移動体の移動速度とから得られる目標移動速度に基づいて、歩行補助装置の歩行補助制御部は、ユーザの脚体に装着された第1装着部及び上体に装着された第2装着部を介して駆動部の動作により生じる力をユーザに伝達させるよう、駆動部による第2装着部の駆動を制御することができる。
これにより、ユーザ操作による倒立振子型移動体の基体の動きと、該倒立振子型移動体の移動速度とから得られる目標移動速度に基づいて、歩行補助装置の歩行補助制御部は、ユーザの脚体に装着された第1装着部及び上体に装着された第2装着部を介して駆動部の動作により生じる力をユーザに伝達させるよう、駆動部による第2装着部の駆動を制御することができる。
請求項3に記載した発明は、所定の速度関係になるように制御される前記目標移動速度は、前記歩行補助装置が備えるセンサにより検出された前記ユーザの脚体の動きに基づき決定されることを特徴とする。
これにより、歩行補助装置において検出したユーザの歩行速度に基づいて、倒立振子型移動体を移動させることができる。
これにより、歩行補助装置において検出したユーザの歩行速度に基づいて、倒立振子型移動体を移動させることができる。
請求項1に記載した発明によれば、全方向移動車両の移動と、歩行補助装置によるユーザの脚の振り出しの補助とを、所定の速度関係にある目標速度により制御することができるため、ユーザのバランスや体重を支え、転倒などを防ぎながら、安定した状態での歩行を補助することができる。これによって、歩行補助装置による脚の振り出しの補助を受けているユーザが、杖を持ち上げたり、歩行器を押したりしながら歩行する負担を軽減することができ、長距離、長時間にわたって、リスクの低い歩行リハビリを提供することが可能となり、ひいては、重度の患者も歩行リハビリを行なうことができる。また、大きな設備が必要ないため、歩行リハビリが実施可能な施設を増やすことができる。また、目標歩行スピードに従って患者を牽引することも可能となる。
また、請求項2の発明によれば、全方向移動車両において得られた目標移動速度に基づいて、歩行補助装置によるユーザの脚の振り出しの補助を制御するため、全方向移動車両の操作に従ったユーザの所望速度での歩行を補助することができる。
また、請求項3の発明によれば、歩行補助装置において検出した移動速度に基づいて、全方向移動車両の移動速度を制御することができるため、ユーザの歩行速度に従って全方向移動車両が移動し、ユーザはバランスや体重を支えながら歩行することが可能となる。
また、請求項3の発明によれば、歩行補助装置において検出した移動速度に基づいて、全方向移動車両の移動速度を制御することができるため、ユーザの歩行速度に従って全方向移動車両が移動し、ユーザはバランスや体重を支えながら歩行することが可能となる。
以下、図面を参照して本発明の一実施の形態を説明する。
[第1の実施形態]
図1は、発明の一実施形態による歩行アシストシステムを示す図である。同図に示すように、本実施形態による歩行アシストシステムは、ユーザのバランスの補助及び体重の支持を行なう全方向移動杖1と、このユーザに装着され、脚の振り出しを補助する歩行補助装置200とからなる。本実施の形態による歩行アシストシステムは、全方向移動杖1において測定したユーザの歩行速度に基づいて歩行補助装置200を制御する。
図1は、発明の一実施形態による歩行アシストシステムを示す図である。同図に示すように、本実施形態による歩行アシストシステムは、ユーザのバランスの補助及び体重の支持を行なう全方向移動杖1と、このユーザに装着され、脚の振り出しを補助する歩行補助装置200とからなる。本実施の形態による歩行アシストシステムは、全方向移動杖1において測定したユーザの歩行速度に基づいて歩行補助装置200を制御する。
最初に、本実施形態による歩行アシストシステムを構成する全方向移動杖1について説明する。まず、図2〜図7を参照して、本実施形態における全方向移動杖1の構造を説明する。
図2及び図3に示すように、本実施形態における全方向移動杖1は、床面に接地しながら該床面上を全方向(前後方向及び左右方向を含む2次元的な全方向)に移動可能な移動動作部5と、この移動動作部5を駆動する動力を該移動動作部5に付与するアクチュエータ装置7と、これらの移動動作部5及びアクチュエータ装置7が組付けられた基体9とを備える。
ここで、本実施形態の説明では、「前後方向」、「左右方向」は、それぞれ、ユーザが前方に直進する場合の前後方向、左右方向に一致もしくはほぼ一致する方向を意味する。この場合、図2においては、「前後方向」、「左右方向」はそれぞれ、紙面に垂直な方向、紙面の左右方向であり、図3においては、「前後方向」、「左右方向」はそれぞれ、紙面の左右方向、紙面に垂直な方向である。また、本実施形態の説明では、参照符号に付する添え字「R」,「L」は、それぞれ全方向移動杖1の右側、左側に対応するものという意味で使用する。
基体9は、移動動作部5及びアクチュエータ装置7が組付けられた下部フレーム11と、この下部フレーム11の上端から上方に延設された支柱フレーム13とを備える。ユーザは、支柱フレーム13の上部を把持して歩行する。従って、本実施形態における全方向移動杖1は、ユーザが支柱フレーム13の上部を把持した状態で、床面上を移動するものである。
下部フレーム11は、左右方向に間隔を存して二股状に対向するように配置された一対のカバー部材21R,21Lを備える。これらのカバー部材21R,21Lの上端部(二股の分岐部分)は、前後方向の軸心を有するヒンジ軸23を介して連結され、カバー部材21R,21Lの一方が他方に対して相対的にヒンジ軸23の周りに揺動可能となっている。この場合、カバー部材21R,21Lは、図示を省略するバネによって、カバー部材21R,21Lの下端部側(二股の先端側)が狭まる方向に付勢されている。
移動動作部5及びアクチュエータ装置7は、下部フレーム11のカバー部材21R,21Lの間に配置されている。これらの移動動作部5及びアクチュエータ装置7の構造を図4〜図7を参照して説明する。
なお、本実施形態で例示する移動動作部5及びアクチュエータ装置7は、例えばPCT国際公開公報WO/2008/132779(以下、「文献1」と記載する。)の図1に開示されているものと同じ構造のものである。従って、本実施形態の説明においては、移動動作部5及びアクチュエータ装置7の構成に関して、前記文献1に記載された事項については、簡略的な説明に留める。
なお、本実施形態で例示する移動動作部5及びアクチュエータ装置7は、例えばPCT国際公開公報WO/2008/132779(以下、「文献1」と記載する。)の図1に開示されているものと同じ構造のものである。従って、本実施形態の説明においては、移動動作部5及びアクチュエータ装置7の構成に関して、前記文献1に記載された事項については、簡略的な説明に留める。
本実施形態では、移動動作部5は、ゴム状弾性材により円環状に形成された車輪体であり、ほぼ円形の横断面形状を有する。この移動動作部5(以降、車輪体5という)は、その弾性変形によって、図6及び図7の矢印Y1で示す如く、円形の横断面の中心C1(より詳しくは、円形の横断面中心C1を通って、車輪体5の軸心と同心となる円周線)の周りに回転可能となっている。
この車輪体5は、その軸心C2(車輪体5全体の直径方向に直交する軸心C2)を左右方向に向けた状態で、カバー部材21R,21Lの間に配置され、該車輪体5の外周面の下端部にて床面に接地する。
そして、車輪体5は、アクチュエータ装置7による駆動(詳細は後述する)によって、図6の矢印Y2で示す如く車輪体5の軸心C2の周りに回転する動作(床面上を輪転する動作)と、車輪体5の横断面中心C1の周りに回転する動作とを行なうことが可能である。その結果、車輪体5は、それらの回転動作の複合動作によって、床面上を全方向に移動することが可能となっている。
アクチュエータ装置7は、車輪体5と右側のカバー部材21Rとの間に介装される回転部材27R及びフリーローラ29Rと、車輪体5と左側のカバー部材21Lとの間に介装される回転部材27L及びフリーローラ29Lと、回転部材27R及びフリーローラ29Rの上方に配置されたアクチュエータとしての電動モータ31Rと、回転部材27L及びフリーローラ29Lの上方に配置されたアクチュエータとしての電動モータ31Lとを備える。
電動モータ31R,31Lは、それぞれのハウジングがカバー部材21R,21Lに各々取付けられている。なお、図示は省略するが、電動モータ31R,31Lの電源(蓄電器)は、支柱フレーム13等、基体9の適所に搭載されている。
回転部材27Rは、左右方向の軸心を有する支軸33Rを介してカバー部材21Rに回転可能に支持されている。同様に、回転部材27Lは、左右方向の軸心を有する支軸33Lを介してカバー部材21Lに回転可能に支持されている。この場合、回転部材27Rの回転軸心(支軸33Rの軸心)と、回転部材27Lの回転軸心(支軸33Lの軸心)とは同軸心である。
回転部材27R,27Lは、それぞれ電動モータ31R,31Lの出力軸に、減速機としての機能を含む動力伝達機構を介して接続されており、電動モータ31R,31Lからそれぞれ伝達される動力(トルク)によって回転駆動される。各動力伝達機構は、例えばプーリ・ベルト式のものである。すなわち、図4に示す如く、回転部材27Rは、プーリ35Rとベルト37Rとを介して電動モータ31Rの出力軸に接続されている。同様に、回転部材27Lは、プーリ35Lとベルト37Lとを介して電動モータ31Lの出力軸に接続されている。
なお、上記動力伝達機構は、例えば、スプロケットとリンクチェーンとにより構成されるもの、あるいは、複数のギヤにより構成されるものであってもよい。また、例えば、電動モータ31R,31Lを、それぞれの出力軸が各回転部材27R,27Lと同軸心になるように各回転部材27R,27Lに対向させて配置し、電動モータ31R,31Lのそれぞれの出力軸を回転部材27R,27Lに各々、減速機(遊星歯車装置等)を介して連結するようにしてもよい。
各回転部材27R,27Lは、車輪体5側に向かって縮径する円錐台と同様の形状に形成されており、その外周面がテーパ外周面39R,39Lとなっている。
回転部材27Rのテーパ外周面39Rの周囲には、回転部材27Rと同心の円周上に等間隔で並ぶようにして、複数のフリーローラ29Rが配列されている。そして、これらのフリーローラ29Rは、それぞれ、ブラケット41Rを介してにテーパ外周面39Rに取付けられ、該ブラケット41Rに回転自在に支承されている。
同様に、回転部材27Lのテーパ外周面39Lの周囲には、回転部材27Lと同心の円周上に等間隔で並ぶようにして、複数(フリーローラ29Rと同数)のフリーローラ29Lが配列されている。そして、これらのフリーローラ29Lは、それぞれ、ブラケット41Lを介してテーパ外周面39Lに取付けられ、該ブラケット41Lに回転自在に支承されている。
前記車輪体5は、回転部材27R側のフリーローラ29Rと、回転部材27L側のフリーローラ29Lとの間に挟まれるようにして、回転部材27R,27Lと同軸心に配置されている。
この場合、図2及び図7に示すように、各フリーローラ29R,29Lは、その軸心C3が車輪体5の軸心C2に対して傾斜すると共に、車輪体5の直径方向(車輪体5をその軸心C2の方向で見たときに、該軸心C2と各フリーローラ29R,29Lとを結ぶ径方向)に対して傾斜する姿勢で配置されている。そして、このような姿勢で、各フリーローラ29R,29Lのそれぞれの外周面が車輪体5の内周面に斜め方向に圧接されている。
より一般的に言えば、右側のフリーローラ29Rは、回転部材27Rが軸心C2の周りに回転駆動されたときに、車輪体5との接触面で、軸心C2周りの方向の摩擦力成分(車輪体5の内周の接線方向の摩擦力成分)と、車輪体5の前記横断面中心C1の周り方向の摩擦力成分(円形の横断面の接線方向の摩擦力成分)とを車輪体5に作用させ得るような姿勢で、車輪体5の内周面に圧接されている。左側のフリーローラ29Lについても同様である。
この場合、前記したように、カバー部材21R,21Lは、図示しないバネによって、カバー部材21R,21Lの下端部側(二股の先端側)が狭まる方向に付勢されている。このため、この付勢力によって、右側のフリーローラ29Rと左側のフリーローラ29Lとの間に車輪体5が挟持されると共に、車輪体5に対する各フリーローラ29R,29Lの圧接状態(より詳しくはフリーローラ29R,29Lと車輪体5との間で摩擦力が作用し得る圧接状態)が維持される。
以上説明した構造を有する全方向移動杖1においては、電動モータ31R,31Lによりそれぞれ、回転部材27R,27Lを同方向に等速度で回転駆動した場合には、車輪体5が回転部材27R,27Lと同方向に軸心C2の周りに回転することとなる。これにより、車輪体5が床面上を前後方向に輪転して、全方向移動杖1の全体が前後方向に移動することとなる。なお、この場合は、車輪体5は、その横断面中心C1の周りには回転しない。
また、例えば、回転部材27R,27Lを互いに逆方向に同じ大きさの速度で回転駆動した場合には、車輪体5は、その横断面中心C1の周りに回転することとなる。これにより、車輪体5がその軸心C2の方向(すなわち左右方向)に移動し、ひいては、全方向移動杖1の全体が左右方向に移動することとなる。なお、この場合は、車輪体5は、その軸心C2の周りには回転しない。
さらに、回転部材27R,27Lを、互いに異なる速度(方向を含めた速度)で、同方向又は逆方向に回転駆動した場合には、車輪体5は、その軸心C2の周りに回転すると同時に、その横断面中心C1の周りに回転することとなる。
この時、これらの回転動作の複合動作(合成動作)によって、前後方向及び左右方向に対して傾斜した方向に車輪体5が移動し、ひいては、全方向移動杖1の全体が車輪体5と同方向に移動することとなる。この場合の車輪体5の移動方向は、回転部材27R,27Lの回転方向を含めた回転速度(回転方向に応じて極性が定義された回転速度ベクトル)の差に依存して変化するものとなる。
以上のように車輪体5の移動動作が行なわれるので、電動モータ31R,31Lのそれぞれの回転速度(回転方向を含む)を制御し、ひいては回転部材27R,27Lの回転速度を制御することによって、全方向移動杖1の移動速度及び移動方向を制御できることとなる。
次に、本実施形態の全方向移動杖1の動作制御のための構成を説明する。なお、以降の説明では、図2及び図3に示すように、前後方向の水平軸をX軸、左右方向の水平軸をY軸、鉛直方向をZ軸とするXYZ座標系を想定し、前後方向、左右方向をそれぞれX軸方向、Y軸方向と言うことがある。
まず、全方向移動杖1の概略的な動作制御を説明すると、本実施形態では、基本的には、ユーザが支柱フレーム13を把持し、ユーザの体重を作用させるなどして傾けた場合(詳しくは、歩行に伴う荷重がかった全方向移動杖1の重心点の位置(水平面に投影した位置)を動かすように支柱フレーム13を傾けた場合)に、支柱フレーム13を傾けた側に基体9が傾動する。そして、この時、基体9が傾いた側に全方向移動杖1が移動するように、車輪体5の移動動作が制御される。例えば、ユーザが支柱フレーム13を前傾させ、ひいては、基体9を支柱フレーム13と共に前傾させると、全方向移動杖1が前方に移動するように、車輪体5の移動動作が制御される。
すなわち、本実施形態では、ユーザが支柱フレーム13を動かし、ひいては、支柱フレーム13と共に基体9を傾動させるという動作が、全方向移動杖1に対する1つの基本的な操縦操作(全方向移動杖1の動作要求)とされ、その操縦操作に応じて車輪体5の移動動作がアクチュエータ装置7を介して制御される。
ここで、本実施形態の全方向移動杖1は、その全体の接地面としての車輪体5の接地面が、全方向移動杖1を床面に投影した領域に比して面積が小さい単一の局所領域となり、その単一の局所領域だけに床反力が作用する。このため、基体9が傾倒しないようにするためには、ユーザによる荷重がかった全方向移動杖1の重心点(以降、「歩行時重心点」と記載)が車輪体5の接地面のほぼ真上に位置するように、車輪体5を動かす必要がある。
そこで、本実施形態では、歩行時重心点が、車輪体5の中心点(軸心C2上の中心点)のほぼ真上に位置する状態(より正確には当該重心点が車輪体5の接地面のほぼ真上に位置する状態)での基体9の姿勢を目標姿勢とし、基本的には、基体9の実際の姿勢を目標姿勢に収束させるように、車輪体5の移動動作が制御される。
さらに、ユーザが全方向移動杖1を把持していない状態では、全方向移動杖1の単体の重心点が、車輪体5の中心点(軸心C2上の中心点)のほぼ真上に位置する状態(より正確には当該重心点が車輪体5の接地面のほぼ真上に位置する状態)での基体9の姿勢を目標姿勢とし、該基体9の実際の姿勢を目標姿勢に収束させ、ひいては、基体9が傾倒することなく全方向移動杖1が自立するように、車輪体5の移動動作が制御される。
本実施形態では、以上の如き全方向移動杖1の動作制御を行なうために、図2及び図3に示すように、マイクロコンピュータや電動モータ31R,31Lのドライブ回路ユニットなどを含む電子回路ユニットにより構成された制御ユニット50と、基体9の所定の部位の鉛直方向(重力方向)に対する傾斜角θb及びその変化速度(=dθb/dt)を計測するための傾斜センサ52と、ユーザが全方向移動杖1を把持しているか否かを検知するための荷重センサ54と、電動モータ31R,31Lのそれぞれの出力軸の回転角度及び回転角速度を検出するための角度センサとしてのロータリーエンコーダ56R,56Lがそれぞれ、全方向移動杖1の適所に搭載されている。
この場合、制御ユニット50及び傾斜センサ52は、例えば、基体9の支柱フレーム13の内部に収容された状態で該支柱フレーム13に取付けられている。また、荷重センサ54は、支柱フレーム13の下部に内蔵されている。また、ロータリーエンコーダ56R,56Lは、それぞれ、電動モータ31R,31Lと一体に設けられている。なお、ロータリーエンコーダ56R,56Lは、それぞれ、回転部材27R,27Lに装着してもよい。
上記傾斜センサ52は、より詳しくは、加速度センサとジャイロセンサ等のレートセンサ(角速度センサ)とから構成され、これらのセンサの検出信号を制御ユニット50に出力する。そして、制御ユニット50が、傾斜センサ52の加速度センサ及びレートセンサの出力を基に、所定の計測演算処理(これは公知の演算処理でよい)を実行することによって、傾斜センサ52を搭載した部位(本実施形態では支柱フレーム13)の、鉛直方向に対する傾斜角度θbの計測値とその変化速度(微分値)である傾斜角速度θbdotの計測値とを算出する。
この場合、計測する傾斜角度θb(以降、基体傾斜角度θbということがある)は、より詳しくは、それぞれ、Y軸周り方向(ピッチ方向)の成分θb_xと、X軸周り方向(ロール方向)の成分θb_yとから成る。同様に、計測する傾斜角速度θbdot(以降、基体傾斜角速度θbdotということがある)も、Y軸周り方向(ピッチ方向)の成分θbdot_x(=dθb_x/dt)と、X軸周り方向(ロール方向)の成分θbdot_y(=dθb_y/dt)とから成る。
なお、本実施形態の説明では、上記基体傾斜角度θbなど、X軸及びY軸の各方向(又は各軸周り方向)の成分を有する運動状態量等の変数、あるいは、該運動状態量に関連する係数等の変数に関しては、その各成分を区別して表記する場合に、該変数の参照符号に、添え字“_x”又は“_y”を付加する。
この場合において、並進速度等の並進運動に係わる変数については、そのX軸方向の成分に添え字“_x”を付加し、Y軸方向の成分に添え字“_y”を付加する。
一方、角度、回転速度(角速度)、角加速度など、回転運動に係わる変数については、並進運動に係わる変数と添え字を揃えるために、便宜上、Y軸周り方向の成分に添え字“_x”を付加し、X軸周り方向の成分に添え字“_y”を付加する。
さらに、X軸方向の成分(又はY軸周り方向の成分)と、Y軸方向の成分(又はX軸周り方向の成分)との組として変数を表記する場合には、該変数の参照符号に添え字“_xy”を付加する。例えば、上記基体傾斜角度θbを、Y軸周り方向の成分θb_xとX軸周り方向の成分θb_yの組として表現する場合には、「基体傾斜角度θb_xy」というように表記する。
前記荷重センサ54は、ユーザが支柱フレーム13を把持しながら歩行したときにユーザによる荷重を受けるように支柱フレーム13の下部に内蔵され、その荷重に応じた検出信号を制御ユニット50に出力する。そして、制御ユニット50が、この荷重センサ54の出力により示される荷重の計測値に基づいて、ユーザが全方向移動杖1を把持して歩行しているか否かを判断する。
なお、荷重センサ54の代わりに、例えば、ユーザが支柱フレーム13を把持したときにONとなるようなスイッチ式のセンサを用いてもよい。このセンサは、ON及びOFFの検出信号を制御ユニット50に出力し、制御ユニット50は、このセンサからの出力により、ユーザが全方向移動杖1を把持しているか否かを判断する。
ロータリーエンコーダ56Rは、電動モータ31Rの出力軸が所定角度回転する毎にパルス信号を発生し、このパルス信号を制御ユニット50に出力する。そして、制御ユニット50が、そのパルス信号を基に、電動モータ53Rの出力軸の回転角度を計測し、さらにその回転角度の計測値の時間的変化率(微分値)を電動モータ53Rの回転角速度として計測する。電動モータ31L側のロータリーエンコーダ56Lについても同様である。
制御ユニット50は、上記の各計測値を用いて所定の演算処理を実行することによって、電動モータ31R,31Lのそれぞれの回転角速度の目標値である速度指令を決定し、その速度指令に従って、電動モータ31R,31Lのそれぞれの回転角速度をフィードバック制御する。
なお、電動モータ31Rの出力軸の回転角速度と、回転部材27Rの回転角速度との間の関係は、該出力軸と回転部材27Rとの間の一定値の減速比に応じた比例関係になるので、本実施形態の説明では、便宜上、電動モータ31Rの回転角速度は、回転部材27Rの回転角速度を意味するものとする。同様に、電動モータ31Lの回転角速度は、回転部材27Lの回転角速度を意味するものとする。
以下に、制御ユニット50の制御処理をさらに詳細に説明する。
制御ユニット50は、所定の制御処理周期で図8のフローチャートに示す処理(メインルーチン処理)を実行する。
制御ユニット50は、所定の制御処理周期で図8のフローチャートに示す処理(メインルーチン処理)を実行する。
まず、ステップS1において、制御ユニット50は、傾斜センサ52の出力を取得する。
次いで、ステップS2に進んで、制御ユニット50は、取得した傾斜センサ52の出力を基に、基体傾斜角度θbの計測値θb_xy_sと、基体傾斜角速度θbdotの計測値θbdot_xy_sとを算出する。
次いで、ステップS2に進んで、制御ユニット50は、取得した傾斜センサ52の出力を基に、基体傾斜角度θbの計測値θb_xy_sと、基体傾斜角速度θbdotの計測値θbdot_xy_sとを算出する。
なお、以降の説明では、上記計測値θb_xy_sなど、変数(状態量)の実際の値の観測値(計測値又は推定値)を参照符号により表記する場合に、該変数の参照符号に、添え字“_s”を付加する。
次いで、制御ユニット50は、ステップS3において、荷重センサ54の出力を取得した後、ステップS4の判断処理を実行する。この判断処理においては、制御ユニット50は、取得した荷重センサ54の出力が示す荷重計測値があらかじめ設定された所定値よりも大きいか否かによって、ユーザが全方向移動杖1を把持しているか否かを判断する。
そして、制御ユニット50は、ステップS4の判断結果が肯定的である場合には、基体傾斜角度θbの目標値θb_xy_objを設定する処理と、全方向移動杖1の動作制御用の定数パラメータ(各種ゲインの基本値など)の値を設定する処理とを、それぞれステップS5、S6で実行する。
ステップS5においては、制御ユニット50は、基体傾斜角度θbの目標値θb_xy_objとして、あらかじめ定められた歩行モード用の目標値を設定する。
ここで、「歩行モード」は、ユーザが歩行のため全方向移動杖1を把持している場合での全方向移動杖1の動作モードを意味する。この歩行モード用の目標値θb_xy_objは、ユーザが全方向移動杖1に与える荷重によって変化した全方向移動杖1の重心点、つまり、歩行時重心点が車輪体5の接地面のほぼ真上に位置する状態となる基体9の姿勢において、傾斜センサ52の出力に基づき計測される基体傾斜角度θbの計測値θb_xy_sに一致又はほぼ一致するようにあらかじめ設定されている。
また、ステップS6においては、制御ユニット50は、全方向移動杖1の動作制御用の定数パラメータの値として、あらかじめ定められた歩行モード用の値を設定する。なお、定数パラメータは、後述するhx,hy,Ki_a_x,Ki_b_x,Ki_a_y,Ki_b_y(i=1,2,3)等である。
一方、ステップS4の判断結果が否定的である場合には、制御ユニット50は、基体傾斜角度θb_xyの目標値θb_xy_objを設定する処理と、全方向移動杖1の動作制御用の定数パラメータの値を設定する処理とを、ステップS7、S8で実行する。
ステップS7においては、制御ユニット50は、傾斜角度θbの目標値θb_xy_objとして、あらかじめ定められた自立モード用の目標値を設定する。
ここで、「自立モード」は、ユーザが全方向移動杖1を把持していない場合での全方向移動杖1の動作モードを意味する。この自立モード用の目標値θb_xy_objは、全方向移動杖1単体の重心点(以降、「車両単体重心点」という)が車輪体5の接地面のほぼ真上に位置する状態となる基体9の姿勢において、傾斜センサ52の出力に基づき計測される基体傾斜角度θbの計測値θb_xy_sに一致又はほぼ一致するようにあらかじめ設定されている。この自立モード用の目標値θb_xy_objは、歩行モード用の目標値θb_xy_objと一般的には異なる。
また、ステップS8においては、制御ユニット50は、全方向移動杖1の動作制御用の定数パラメータの値として、あらかじめ定められた自立モード用の値を設定する。この自立モード用の定数パラメータの値は、歩行モード用の定数パラメータの値と異なる。
歩行モードと自立モードとで、上記定数パラメータの値を異ならせるのは、それぞれのモードで上記重心点の高さや、全体質量等が異なることに起因して、制御入力に対する全方向移動杖1の動作の応答特性が互いに異なるからである。
以上のステップS4〜S8の処理によって、歩行モード及び自立モードの動作モード毎に個別に、基体傾斜角度θb_xyの目標値θb_xy_objと定数パラメータの値とが設定される。
なお、ステップS5,S6の処理、又はステップS7,S8の処理は、制御処理周期毎に実行することは必須ではなく、ステップS4の判断結果が変化した場合にだけ実行するようにしてもよい。
補足すると、歩行モード及び自立モードのいずれにおいても、基体傾斜角速度θbdotのY軸周り方向の成分θbdot_xの目標値とX軸周り方向の成分θbdot_yの目標値とは、いずれも“0”である。このため、基体傾斜角速度θbdot_xyの目標値を設定する処理は不要である。
以上の如くステップS5,S6の処理、又はステップS7,S8の処理を実行した後、制御ユニット50は、次にステップS9において、車両制御演算処理を実行することによって、電動モータ31R,31Lのそれぞれの速度指令を決定する。この車両制御演算処理の詳細は後述する。
次いで、ステップS10に進んで、制御ユニット50は、ステップS9で決定した速度指令に応じて電動モータ31R,31Lの動作制御処理を実行する。この動作制御処理では、制御ユニット50は、ステップS9で決定した電動モータ31Rの速度指令と、ロータリーエンコーダ56Rの出力に基づき計測した電動モータ31Rの回転速度の計測値との偏差に応じて、該偏差を“0”に収束させるように電動モータ31Rの出力トルクの目標値(目標トルク)を決定する。そして、制御ユニット50は、その目標トルクの出力トルクを電動モータ31Rに出力させるように該電動モータ31Rの通電電流を制御する。左側の電動モータ31Lの動作制御についても同様である。
以上が、制御ユニット50が実行する全体的な制御処理である。
以上が、制御ユニット50が実行する全体的な制御処理である。
次に、上記ステップS9の車両制御演算処理の詳細を説明する。
なお、以降の説明においては、前記歩行モードにおける歩行時重心点と、前記自立モードにおける車両単体重心点とを総称的に、車両系重心点という。該車両系重心点は、全方向移動杖1の動作モードが歩行モードである場合には、歩行時重心点を意味し、自立モードである場合には、車両単体重心点を意味する。
なお、以降の説明においては、前記歩行モードにおける歩行時重心点と、前記自立モードにおける車両単体重心点とを総称的に、車両系重心点という。該車両系重心点は、全方向移動杖1の動作モードが歩行モードである場合には、歩行時重心点を意味し、自立モードである場合には、車両単体重心点を意味する。
また、以降の説明では、制御ユニット50が各制御処理周期で決定する値(更新する値)に関し、現在の(最新の)制御処理周期で決定する値を今回値、その1つ前の制御処理周期で決定した値を前回値ということがある。そして、今回値、前回値を特にことわらない値は、今回値を意味する。
また、X軸方向の速度及び加速度に関しては、前方向きを正の向きとし、Y軸方向の速度及び加速度に関しては、左向きを正の向きとする。
本実施形態では、前記車両系重心点の動力学的な挙動(詳しくは、Y軸方向からこれに直交する面(XZ平面)に投影して見た挙動と、X軸方向からこれに直交する面(YZ平面)に投影して見た挙動)が、近似的に、図9に示すような、倒立振子モデルの挙動(倒立振子の動力学的挙動)によって表現されるものとして、ステップS9の車両制御演算処理が行なわれる。
なお、図9において、括弧を付していない参照符号は、Y軸方向から見た倒立振子モデルに対応する参照符号であり、括弧付きの参照符号は、X軸方向から見た倒立振子モデルに対応する参照符号である。
この場合、Y軸方向から見た挙動を表現する倒立振子モデルは、車両系重心点に位置する質点60_xと、Y軸方向に平行な回転軸62a_xを有して床面上を輪転自在な仮想的な車輪62_x(以降、仮想車輪62_xという)とを備える。そして、質点60_xが、仮想車輪62_xの回転軸62a_xに直線状のロッド64_xを介して支持され、該回転軸62a_xを支点として該回転軸62a_xの周りに揺動自在とされている。
この倒立振子モデルでは、質点60_xの運動が、Y軸方向から見た車両系重心点の運動に相当する。また、鉛直方向に対するロッド64_xの傾斜角度θbe_xがY軸周り方向での基体傾斜角度計測値θb_x_sと基体傾斜角度目標値θb_x_objとの偏差θbe_x_s(=θb_x_s−θb_x_obj)に一致するものとされる。また、ロッド64_xの傾斜角度θbe_xの変化速度(=dθbe_x/dt)がY軸周り方向の基体傾斜角速度計測値θbdot_x_sに一致するものとされる。また、仮想車輪62_xの移動速度Vw_x(X軸方向の並進移動速度)は、全方向移動杖1の車輪体5のX軸方向の移動速度に一致するものとされる。
同様に、X軸方向から見た挙動を表現する倒立振子モデル(図9の括弧付きの符号を参照)は、車両系重心点に位置する質点60_yと、X軸方向に平行な回転軸62a_yを有して床面上を輪転自在な仮想的な車輪62_y(以降、仮想車輪62_yという)とを備える。そして、質点60_yが、仮想車輪62_yの回転軸62a_yに直線状のロッド64_yを介して支持され、該回転軸62a_yを支点として該回転軸62a_yの周りに揺動自在とされている。
この倒立振子モデルでは、質点60_yの運動が、X軸方向から見た車両系重心点の運動に相当する。また、鉛直方向に対するロッド64_yの傾斜角度θbe_yがX軸周り方向での基体傾斜角度計測値θb_y_sと基体傾斜角度目標値θb_y_objとの偏差θbe_y_s(=θb_y_s−θb_y_obj)に一致するものとされる。また、ロッド64_yの傾斜角度θbe_yの変化速度(=dθbe_y/dt)がX軸周り方向の基体傾斜角速度計測値θbdot_y_sに一致するものとされる。また、仮想車輪62_yの移動速度Vw_y(Y軸方向の並進移動速度)は、全方向移動杖1の車輪体5のY軸方向の移動速度に一致するものとされる。
なお、仮想車輪62_x,62_yは、それぞれ、あらかじめ定められた所定値Rw_x,Rw_yの半径を有するものとされる。
また、仮想車輪62_x,62_yのそれぞれの回転角速度ωw_x,ωw_yと、電動モータ31R,31Lのそれぞれの回転角速度ω_R,ω_L(より正確には、回転部材27R,27Lのそれぞれの回転角速度ω_R,ω_L)との間には、次式(01a),(01b)の関係が成立するものとされる。
ωw_x=(ω_R+ω_L)/2 …式(01a)
ωw_y=C・(ω_R−ω_L)/2 …式(01b)
ωw_y=C・(ω_R−ω_L)/2 …式(01b)
なお、式(01b)における“C”は、前記フリーローラ29R,29Lと車輪体5との間の機構的な関係や滑りに依存する所定値の係数である。
ここで、図9に示す倒立振子モデルの動力学は、次式(03x),(03y)により表現される。なお、式(03x)は、Y軸方向から見た倒立振子モデルの動力学を表現する式、式(03y)は、X軸方向から見た倒立振子モデルの動力学を表現する式である。
d2θbe_x/dt2=α_x・θbe_x+β_x・ωwdot_x …式(03x)
d2θbe_y/dt2=α_y・θbe_y+β_y・ωwdot_y …式(03y)
d2θbe_y/dt2=α_y・θbe_y+β_y・ωwdot_y …式(03y)
式(03x)におけるωwdot_xは仮想車輪62_xの回転角加速度(回転角速度ωw_xの1階微分値)、α_xは、質点60_xの質量や高さh_xに依存する係数、β_xは、仮想車輪62_xのイナーシャ(慣性モーメント)や半径Rw_xに依存する係数である。式(03y)におけるωwdot_y、α_y、β_yについても上記と同様である。
これらの式(03x),(03y)から判るように、倒立振子の質点60_x,60_yの運動(ひいては車両系重心点の運動)は、それぞれ、仮想車輪62_xの回転角加速度ωwdot_x、仮想車輪62_yの回転角加速度ωwdot_yに依存して規定される。
そこで、本実施形態では、Y軸方向から見た車両系重心点の運動を制御するための操作量(制御入力)として、仮想車輪62_xの回転角加速度ωwdot_xを用いると共に、X軸方向から見た車両系重心点の運動を制御するための操作量(制御入力)として、仮想車輪62_yの回転角加速度ωwdot_yを用いる。
そして、ステップS9の車両制御演算処理を概略的に説明すると、制御ユニット50は、X軸方向で見た質点60_xの運動と、Y軸方向で見た質点60_yの運動とが、車両系重心点の所望の運動に対応する運動となるように、操作量としての上記回転角加速度ωwdot_x,ωwdot_yの指令値(目標値)である仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdを決定する。さらに、制御ユニット50は、仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdをそれぞれ積分してなる値を、仮想車輪62_x,62_yのそれぞれの回転角速度ωw_x,ωw_yの指令値(目標値)である仮想車輪回転角速度指令ωw_x_cmd,ωw_y_cmdとして決定する。
そして、制御ユニット50は、仮想車輪回転角速度指令ωw_x_cmdに対応する仮想車輪62_xの移動速度(=Rw_x・ωw_x_cmd)と、仮想車輪回転角速度指令ωw_y_cmdに対応する仮想車輪62_yの移動速度(=Rw_y・ωw_y_cmd)とを、それぞれ、全方向移動杖1の車輪体5のX軸方向の目標移動速度、Y軸方向の目標移動速度とし、それらの目標移動速度を実現するように、電動モータ31R,31Lのそれぞれの速度指令ω_R_cmd,ω_L_cmdを決定する。
なお、本実施形態では、操作量(制御入力)としての上記仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdは、それぞれ、後述する式(07x),(07y)に示す如く、3個の操作量成分を加え合わせることによって決定される。
制御ユニット50は、上記の如き、ステップS9の車両制御演算処理を実行するための機能として、図10のブロック図で示す機能を備えている。
すなわち、制御ユニット50は、基体傾斜角度計測値θb_xy_sと基体傾斜角度目標値θb_xy_objとの偏差である基体傾斜角度偏差計測値θbe_xy_sを算出する偏差演算部70と、前記車両系重心点の移動速度である重心速度Vb_xyの観測値としての重心速度推定値Vb_xy_sを算出する重心速度算出部72と、ユーザによる全方向移動杖1の操作によって要求されていると推定される上記重心速度Vb_xyの要求値としての要求重心速度Vb_xy_aimを生成する要求重心速度生成部74と、これらの重心速度推定値Vb_xy_s及び要求重心速度Vb_xy_aimから、電動モータ31R,31Lの回転角速度の許容範囲に応じた制限を加味して、重心速度Vb_xyの目標値としての制御用目標重心速度Vb_xy_mdfdを決定する重心速度制限部76と、後述する式(07x),(07y)のゲイン係数の値を調整するためのゲイン調整パラメータKr_xyを決定するゲイン調整部78と、重心速度算出部72により算出された重心速度推定値Vb_xy_sを同期移動速度として歩行補助装置200へ無線または有線により送信する通信部89を備える。
制御ユニット50は、さらに、前記仮想車輪回転角速度指令ωw_xy_cmdを算出する姿勢制御演算部80と、この仮想車輪回転角速度指令ωw_xy_cmdを、右側の電動モータ31Rの速度指令ω_R_cmd(回転角速度の指令値)と左側の電動モータ31Lの速度指令ω_L_cmd(回転角速度の指令値)との組に変換するモータ指令演算部82とを備える。
なお、図10中の参照符号84を付したものは、姿勢制御演算部80が制御処理周期毎に算出する仮想車輪回転角速度指令ωw_xy_cmdを入力する遅延要素を示している。該遅延要素84は、各制御処理周期において、仮想車輪回転角速度指令ωw_xy_cmdの前回値ωw_xy_cmd_pを出力する。
前記ステップS9の車両制御演算処理では、これらの上記の各処理部の処理が以下に説明するように実行される。
すなわち、制御ユニット50は、まず、偏差演算部70の処理と重心速度算出部72の処理とを実行する。
偏差演算部70には、前記ステップS2で算出された基体傾斜角度計測値θb_xy_s(θb_x_s及びθb_y_s)と、前記ステップS5又はステップS7で設定された目標値θb_xy_obj(θb_x_obj及びθb_y_obj)とが入力される。そして、偏差演算部70は、θb_x_sからθb_x_objを減算することによって、Y軸周り方向の基体傾斜角度偏差計測値θbe_x_s(=θb_x_s−θb_x_obj)を算出すると共に、θb_y_sからθb_y_objを減算することによって、X軸周り方向の基体傾斜角度偏差計測値θbe_y_s(=θb_y_s−θb_y_obj)を算出する。
なお、偏差演算部70の処理は、ステップS9の車両制御演算処理の前に行なうようにしてもよい。例えば、前記ステップS5又は7の処理の中で、偏差演算部70の処理を実行してもよい。
前記重心速度算出部72には、前記ステップS2で算出された基体傾斜角速度計測値θbdot_xy_s(θbdot_x_s及びθbdot_y_s)の今回値が入力されると共に、仮想車輪速度指令ωw_xy_cmdの前回値ωw_xy_cmd_p(ωw_x_cmd_p及びωw_y_cmd_p)が遅延要素84から入力される。そして、重心速度算出部72は、これらの入力値から、前記倒立振子モデルに基づく所定の演算式によって、重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)を算出する。
具体的には、重心速度算出部72は、次式(05x),(05y)により、Vb_x_s及びVb_y_sをそれぞれ算出する。
Vb_x_s=Rw_x・ωw_x_cmd_p+h_x・θbdot_x_s …(05x)
Vb_y_s=Rw_y・ωw_y_cmd_p+h_y・θbdot_y_s …(05y)
Vb_y_s=Rw_y・ωw_y_cmd_p+h_y・θbdot_y_s …(05y)
これらの式(05x),(05y)において、Rw_x,Rw_yは、前記したように、仮想車輪62_x,62_yのそれぞれの半径であり、これらの値は、あらかじめ設定された所定値である。また、h_x,h_yは、それぞれ倒立振子モデルの質点60_x,60_yの高さである。この場合、本実施形態では、車両系重心点の高さは、ほぼ一定に維持されるものとされる。そこで、h_x,h_yの値としては、それぞれ、あらかじめ設定された所定値が用いられる。補足すると、高さh_x,h_yは、前記ステップS6又はS8において値を設定する定数パラメータに含まれるものである。
上記式(05x)の右辺の第1項は、仮想車輪62_xの速度指令の前回値ωw_x_cmd_pに対応する該仮想車輪62_xのX軸方向の移動速度であり、この移動速度は、車輪体5のX軸方向の実際の移動速度の現在値に相当するものである。また、式(05x)の右辺の第2項は、基体9がY軸周り方向にθbdot_x_sの傾斜角速度で傾動することに起因して生じる車両系重心点のX軸方向の移動速度(車輪体5に対する相対的な移動速度)の現在値に相当するものである。これらのことは、式(05y)についても同様である。
なお、前記ロータリーエンコーダ56R,56Lの出力を基に計測される電動モータ31R,31Lのそれぞれの回転角速度の計測値(今回値)の組を、仮想車輪62_x,62_yのそれぞれの回転角速度の組に変換し、それらの回転角速度を、式(05x)、(05y)のωw_x_cmd_p、ωw_y_cmd_pの代わりに用いてもよい。ただし、回転角速度の計測値に含まれるノイズの影響を排除する上では、目標値であるωw_x_cmd_p、ωw_y_cmd_pを使用することが有利である。
重心速度算出部72により算出されたVb_xy_sは、歩行補助装置200と同期した目標移動速度として通信部89を介して歩行補助装置200へ送信される。
次に、制御ユニット50は、要求重心速度生成部74の処理とゲイン調整部78の処理とを実行する。この場合、要求重心速度生成部74及びゲイン調整部78には、それぞれ、重心速度算出部72で上記の如く算出された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)が入力される。
そして、要求重心速度生成部74は、全方向移動杖1の動作モードが歩行モードである場合に、入力された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)を基に、要求重心速度Vb_xy_aim(Vb_x_aim,Vb_y_aim)を決定する。
具体的には、本実施形態では、全方向移動杖1の動作モードが自立モードである場合、要求重心速度生成部74は、要求重心速度Vb_x_aim及びVb_y_aimをいずれも“0”とする。一方、歩行モードである場合は、Vb_xy_s(Vb_x_s及びVb_y_s)を要求重心速度Vb_xy_aim(Vb_x_aim,Vb_y_aim)として決定する。
また、ゲイン調整部78は、入力された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)を基に、前記ゲイン調整パラメータKr_xy(Kr_x及びKr_y)を決定する。
このゲイン調整部78の処理を図11及び図12を参照して以下に説明する。
このゲイン調整部78の処理を図11及び図12を参照して以下に説明する。
図11に示すように、ゲイン調整部78は、入力された重心速度推定値Vb_x_s,Vb_y_sをリミット処理部86に入力する。このリミット処理部86では、重心速度推定値Vb_x_s,Vb_y_sに、電動モータ31R,31Lのそれぞれの回転角速度の許容範囲に応じた制限を適宜、加えることによって、出力値Vw_x_lim1,Vw_y_lim1を生成する。出力値Vw_x_lim1は、前記仮想車輪62_xのX軸方向の移動速度Vw_xの制限後の値、出力値Vw_y_lim1は、前記仮想車輪62_yのY軸方向の移動速度Vw_yの制限後の値としての意味を持つ。
このリミット処理部86の処理を、図12を参照してさらに詳細に説明する。なお、図12中の括弧付きの参照符号は、後述する重心速度制限部76のリミット処理部104の処理を示すものであり、リミット処理部86の処理に関する説明では無視してよい。
リミット処理部86は、まず、重心速度推定値Vb_x_s,Vb_y_sをそれぞれ処理部86a_x,86a_yに入力する。処理部86a_xは、Vb_x_sを仮想車輪62_xの半径Rw_xで除算することによって、仮想車輪62_xのX軸方向の移動速度をVb_x_sに一致させたと仮定した場合の該仮想車輪62_xの回転角速度ωw_x_sを算出する。同様に、処理部86a_yは、仮想車輪62_yのY軸方向の移動速度をVb_y_sに一致させたと仮定した場合の該仮想車輪62_yの回転角速度ωw_y_s(=Vb_y_s/Rw_y)を算出する。
リミット処理部86は、まず、重心速度推定値Vb_x_s,Vb_y_sをそれぞれ処理部86a_x,86a_yに入力する。処理部86a_xは、Vb_x_sを仮想車輪62_xの半径Rw_xで除算することによって、仮想車輪62_xのX軸方向の移動速度をVb_x_sに一致させたと仮定した場合の該仮想車輪62_xの回転角速度ωw_x_sを算出する。同様に、処理部86a_yは、仮想車輪62_yのY軸方向の移動速度をVb_y_sに一致させたと仮定した場合の該仮想車輪62_yの回転角速度ωw_y_s(=Vb_y_s/Rw_y)を算出する。
次いで、リミット処理部86は、ωw_x_s,ωw_y_sの組を、XY−RL変換部86bにより、電動モータ31Rの回転角速度ω_R_sと電動モータ31Lの回転角速度ω_L_sとの組に変換する。
この変換は、本実施形態では、前記式(01a),(01b)のωw_x,ωw_y,ω_R,ω_Lをそれぞれ、ωw_x_s,ωw_y_s,ω_R_s,ω_L_sに置き換えて得られる連立方程式を、ω_R_s,ω_L_sを未知数として解くことにより行なわれる。
次いで、リミット処理部86は、XY−RL変換部86bの出力値ω_R_s,ω_L_sをそれぞれ、リミッタ86c_R,86c_Lに入力する。このとき、リミッタ86c_Rは、ω_R_sが、あらかじめ設定された所定値の上限値(>0)と下限値(<0)とを有する右モータ用許容範囲内に収まっている場合には、ω_R_sをそのまま出力値ω_R_lim1として出力する。また、リミッタ86c_Rは、ω_R_sが、右モータ用許容範囲から逸脱している場合には、該右モータ用許容範囲の上限値と下限値とのうちのω_R_sに近い方の境界値を出力値ω_R_lim1として出力する。これにより、リミッタ86c_Rの出力値ω_R_lim1は、右モータ用許容範囲内の値に制限される。
同様に、リミッタ86c_Lは、ω_L_sが、あらかじめ設定された所定値の上限値(>0)と下限値(<0)とを有する左モータ用許容範囲内に収まっている場合には、ω_L_sをそのまま出力値ω_L_lim1として出力する。また、リミッタ86c_Lは、ω_L_sが、左モータ用許容範囲から逸脱している場合には、該左モータ用許容範囲の上限値と下限値とのうちのω_L_sに近い方の境界値を出力値ω_L_lim1として出力する。これにより、リミッタ86c_Lの出力値ω_L_lim1は、左モータ用許容範囲内の値に制限される。
上記右モータ用許容範囲は右側の電動モータ31Rの回転角速度(絶対値)が高くなり過ぎないようにし、ひいては、電動モータ31Rが出力可能なトルクの最大値が低下するのを防止するために設定された許容範囲である。このことは、左モータ用許容範囲についても同様である。
次いで、リミット処理部86は、リミッタ86c_R,86c_Lのそれぞれの出力値ω_R_lim1,ω_L_lim1の組を、RL−XY変換部86dにより、仮想車輪62_x,62_yのそれぞれの回転角速度ωw_x_lim1,ωw_y_lim1の組に変換する。
この変換は、前記XY−RL変換部86bの変換処理の逆変換の処理である。この処理は、前記式(01a),(01b)のωw_x,ωw_y,ω_R,ω_Lをそれぞれ、ωw_x_lim1,ωw_y_lim1,ω_R_lim1,ω_L_lim1に置き換えて得られる連立方程式を、ωw_x_lim1,ωw_y_lim1を未知数として解くことにより行なわれる。
次いで、リミット処理部86は、RL−XY変換部86dの出力値ωw_x_lim1,ωw_y_lim1をそれぞれ処理部86e_x,86e_yに入力する。処理部86e_xは、ωw_x_lim1に仮想車輪62_xの半径Rw_xを乗じることによって、ωw_x_lim1を仮想車輪62_xの移動速度Vw_x_lim1に変換する。同様に、処理部86e_yは、ωw_y_lim1を仮想車輪62_yの移動速度Vw_y_lim1(=ωw_y_lim1・Rw_y)に変換する。
以上のリミット処理部86の処理によって、仮想車輪62_xのX軸方向の移動速度Vw_xと、仮想車輪62_yのY軸方向の移動速度Vw_yとをそれぞれ重心速度推定値Vb_x_s,Vb_y_sに一致させたと仮定した場合(換言すれば、車輪体5のX軸方向の移動速度とY軸方向の移動速度とをそれぞれ、Vb_x_s,Vb_y_sに一致させたと仮定した場合)に、それらの移動速度を実現するために必要な電動モータ31R,31Lのそれぞれの回転角速度ω_R_s,ω_L_sが、両方とも、許容範囲内に収まっている場合には、Vb_x_s,Vb_y_sにそれぞれ一致する出力値Vw_x_lim1,Vw_y_lim1の組がリミット処理部86から出力される。
一方、電動モータ31R,31Lのそれぞれの回転角速度ω_R_s,ω_L_sの両方又は一方が許容範囲から逸脱している場合には、その両方又は一方の回転角速度が強制的に許容範囲内に制限された上で、その制限後の電動モータ31R,31Lのそれぞれの回転角速度ω_R_lim1,ω_L_lim1の組に対応する、X軸方向及びY軸方向の移動速度Vw_x_lim1,Vw_y_lim1の組がリミット処理部86から出力される。
従って、リミット処理部86は、その出力値Vw_x_lim1,Vw_y_lim1の組に対応する電動モータ31R,31Lのそれぞれの回転角速度が許容範囲を逸脱しないことを必須の必要条件として、その必要条件下で可能な限り、出力値Vw_x_lim1,Vw_y_lim1をそれぞれVb_x_s,Vb_y_sに一致させるように、出力値Vw_x_lim1,Vw_y_lim1の組を生成する。
図11の説明に戻って、ゲイン調整部78は、次に、演算部88_x,88_yの処理を実行する。演算部88_xには、X軸方向の重心速度推定値Vb_x_sと、リミット処理部86の出力値Vw_x_lim1とが入力される。そして、演算部88_xは、Vw_x_lim1からVb_x_sを減算してなる値Vover_xを算出して出力する。また、演算部88_yには、Y軸方向の重心速度推定値Vb_y_sと、リミット処理部86の出力値Vw_y_lim1とが入力される。そして、演算部88_yは、Vw_y_lim1からVb_y_sを減算してなる値Vover_yを算出して出力する。
この場合、リミット処理部86での出力値Vw_x_lim1,Vw_y_lim1の強制的な制限が行なわれなかった場合には、Vw_x_lim1=Vb_x_s、Vw_y_lim1=Vb_y_sとなるので、演算部88_x,88_yのそれぞれの出力値Vover_x,Vover_yはいずれも“0”となる。
一方、リミット処理部86の出力値Vw_x_lim1,Vw_y_lim1が、入力値Vb_x_s,Vb_y_sに対して強制的な制限を施して生成された場合には、Vw_x_lim1のVb_x_sからの修正量(=Vw_x_lim1−Vb_x_s)と、Vw_y_lim1のVb_y_sからの修正量(=Vw_y_lim1−Vb_y_s)とがそれぞれ、演算部88_x,88_yから出力される。
次いで、ゲイン調整部78は、演算部88_xの出力値Vover_xを処理部90_x,92_xに順番に通すことによって、ゲイン調整パラメータKr_xを決定する。また、ゲイン調整部78は、演算部88_yの出力値Vover_yを処理部90_y,92_yに順番に通すことによって、ゲイン調整パラメータKr_yを決定する。なお、ゲイン調整パラメータKr_x,Kr_yは、いずれも“0”から“1”までの範囲内の値である。
上記処理部90_xは、入力されるVover_xの絶対値を算出して出力する。また、処理部92_xは、その出力値Kr_xが入力値|Vover_x|に対して単調に増加し、且つ、飽和特性を有するようにKr_xを生成する。該飽和特性は、入力値がある程度大きくなると、入力値の増加に対する出力値の変化量が“0”になるか、もしくは、“0”に近づく特性である。
この場合、本実施形態では、処理部92_xは、入力値|Vover_x|があらかじめ設定された所定値以下である場合には、該入力値|Vover_x|に所定値の比例係数を乗じてなる値をKr_xとして出力する。また、処理部92_xは、入力値|Vover_x|が所定値よりも大きい場合には、“1”をKr_xとして出力する。なお、上記比例係数は、|Vover_x|が所定値に一致するときに、|Vover_x|と比例係数との積が“1”になるように設定されている。
また、処理部90_y,92_yの処理は、それぞれ上記した処理部90_x,92_xの処理と同様である。
以上説明したゲイン調整部78の処理によって、リミット処理部86での出力値Vw_x_lim1,Vw_y_lim1の強制的な制限が行なわれなかった場合、すなわち、車輪体5のX軸方向及びY軸方向のそれぞれの移動速度Vw_x,Vw_yを、それぞれ、重心速度推定値Vb_x_s,Vb_y_sに一致させるように電動モータ31R,31Lを動作させても、電動モータ31R,31Lのそれぞれの回転角速度が許容範囲内に収まるような場合には、ゲイン調整パラメータKr_x,Kr_yはいずれも“0”に決定される。
一方、リミット処理部86の出力値Vw_x_lim1,Vw_y_lim1が、入力値Vb_x_s,Vb_y_sに対して強制的な制限を施して生成された場合、すなわち、車輪体5のX軸方向及びY軸方向のそれぞれの移動速度Vw_x,Vw_yを、それぞれ、重心速度推定値Vb_x_s,Vb_y_sに一致させるように電動モータ31R,31Lを動作させると、電動モータ31R,31Lのいずれかの回転角速度が許容範囲を逸脱してしまう場合(いずれかの回転角速度の絶対値が高くなり過ぎる場合)には、前記修正量Vover_x,Vover_yのそれぞれの絶対値に応じて、ゲイン調整パラメータKr_x,Kr_yの値がそれぞれ決定される。この場合、Kr_xは、“1”を上限値して、修正量Vx_overの絶対値が大きいほど、大きな値になるように決定される。このことは、Kr_yについても同様である。
図10の説明に戻って、制御ユニット50は、重心速度算出部72及び要求重心速度生成部74の処理を前記した如く実行した後、次に、重心速度制限部76の処理を実行する。
この重心速度制限部76には、重心速度算出部72で算出された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)と、要求重心速度生成部74で決定された要求重心速度Vb_xy_aim(Vb_x_aim及びVb_y_aim)とが入力される。そして、重心速度制限部76は、これらの入力値を使用して、図13のブロック図で示す処理を実行することによって、制御用目標重心速度V_xy_mdfd(V_x_mdfd及びV_y_mdfd)を決定する。
この重心速度制限部76には、重心速度算出部72で算出された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)と、要求重心速度生成部74で決定された要求重心速度Vb_xy_aim(Vb_x_aim及びVb_y_aim)とが入力される。そして、重心速度制限部76は、これらの入力値を使用して、図13のブロック図で示す処理を実行することによって、制御用目標重心速度V_xy_mdfd(V_x_mdfd及びV_y_mdfd)を決定する。
具体的には、重心速度制限部76は、まず、定常偏差算出部94_x,94_yの処理を実行する。
この場合、定常偏差算出部94_xには、X軸方向の重心速度推定値Vb_x_sが入力されると共に、X軸方向の制御用目標重心速度Vb_x_mdfdの前回値Vb_x_mdfd_pが遅延要素96_xを介して入力される。そして、定常偏差算出部94_xは、まず、入力されるVb_x_sが比例・微分補償要素(PD補償要素)94a_xに入力する。この比例・微分補償要素94_xは、その伝達関数が1+Kd・Sにより表される補償要素であり、入力されるVb_x_sと、その微分値(時間的変化率)に所定値の係数Kdを乗じてなる値とを加算し、その加算結果の値を出力する。
この場合、定常偏差算出部94_xには、X軸方向の重心速度推定値Vb_x_sが入力されると共に、X軸方向の制御用目標重心速度Vb_x_mdfdの前回値Vb_x_mdfd_pが遅延要素96_xを介して入力される。そして、定常偏差算出部94_xは、まず、入力されるVb_x_sが比例・微分補償要素(PD補償要素)94a_xに入力する。この比例・微分補償要素94_xは、その伝達関数が1+Kd・Sにより表される補償要素であり、入力されるVb_x_sと、その微分値(時間的変化率)に所定値の係数Kdを乗じてなる値とを加算し、その加算結果の値を出力する。
次いで、定常偏差算出部94_xは、入力されるVb_x_mdfd_pを、比例・微分補償要素94_xの出力値から減算してなる値を演算部94b_xにより算出した後、この演算部94b_xの出力値を、位相補償機能を有するローパスフィルタ94c_xに入力する。このローパスフィルタ94c_xは、伝達関数が(1+T2・S)/(1+T1・S)により表されるフィルタである。そして、定常偏差算出部94_xは、このローパスフィルタ94c_xの出力値Vb_x_prdを出力する。
また、定常偏差算出部94_yには、Y軸方向の重心速度推定値Vb_y_sが入力されると共に、Y軸方向の制御用目標重心速度Vb_y_mdfdの前回値Vb_y_mdfd_pが遅延要素96_yを介して入力される。
そして、定常偏差算出部94_yは、上記した定常偏差算出部94_xと同様に、比例・微分補償要素94a_y、演算部94b_y及びローパスフィルタ94c_yの処理を順次実行し、ローパスフィルタ94c_yの出力値Vb_y_prdを出力する。
ここで、定常偏差算出部94_xの出力値Vb_x_prdは、Y軸方向から見た車両系重心点の現在の運動状態(換言すればY軸方向から見た倒立振子モデルの質点60_xの運動状態)から推測される、将来のX軸方向の重心速度推定値の収束予測値の制御用目標重心速度Vb_x_mdfdに対する定常偏差としての意味を持つものである。同様に、定常偏差算出部94_y出力値Vb_y_prdは、X軸方向から見た車両系重心点の現在の運動状態(換言すればX軸方向から見た倒立振子モデルの質点60_yの運動状態)から推測される、将来のY軸方向の重心速度推定値の収束予測値の制御用目標重心速度Vb_y_mdfdに対する定常偏差としての意味を持つものである。以降、定常偏差算出部94_x,94_yのそれぞれの出力値Vb_x_prd,Vb_y_prdを重心速度定常偏差予測値という。
重心速度制限部76は、上記の如く定常偏差算出部94_x,94_yの処理を実行した後、定常偏差算出部94_xの出力値Vb_x_prdに要求重心速度Vb_x_aimを加算する処理と、定常偏差算出部94_yの出力値Vb_y_prdに要求重心速度Vb_y_aimを加算する処理とをそれぞれ、演算部98_x,98_yにより実行する。
従って、演算部98_xの出力値Vb_x_tは、X軸方向の重心速度定常偏差予測値Vb_x_prdに、X軸方向の要求重心速度Vb_x_aimを付加した速度となる。同様に、演算部98_yの出力値Vb_y_tは、Y軸方向の重心速度定常偏差予測値Vb_y_prdに、Y軸方向の要求重心速度Vb_y_aimを付加した速度となる。
なお、全方向移動杖1の動作モードが自立モードである場合等、X軸方向の要求重心速度Vb_x_aimが“0”である場合には、X軸方向の重心速度定常偏差予測値Vb_x_prdがそのまま、演算部98_xの出力値Vb_x_tとなる。同様に、Y軸方向の要求重心速度Vb_y_aimが“0”である場合には、Y軸方向の重心速度定常偏差予測値Vb_y_prdがそのまま、演算部98_yの出力値Vb_y_tとなる。
次いで、重心速度制限部76は、演算部98_x,98_yのそれぞれの出力値Vb_x_t,Vb_y_tを、リミット処理部100に入力する。このリミット処理部100の処理は、前記したゲイン調整部78のリミット処理部86の処理と同じである。この場合、図12に括弧付きに参照符号で示す如く、リミット処理部100の各処理部の入力値及び出力値だけがリミット処理部86と相違する。
具体的には、リミット処理部100では、前記仮想車輪62_x,62_yのそれぞれの移動速度Vw_x,Vw_yを、Vb_x_t,Vb_y_tにそれぞれ一致させたと仮定した場合の各仮想車輪62_x,62_yの回転角速度ωw_x_t,ωw_y_tがそれぞれ処理部86a_x,86a_yにより算出される。そして、この回転角速度ωw_x_t,ωw_y_tの組が、XY−RL変換部86bにより、電動モータ31R,31Lの回転角速度ω_R_t,ω_L_tの組に変換される。
さらに、これらの回転角速度ω_R_t,ω_L_tが、リミッタ86c_R,86c_Lによって、それぞれ、右モータ用許容範囲内の値と左モータ用許容範囲内の値とに制限される。そして、この制限処理後の値ω_R_lim2,ω_L_lim2が、RL−XY変換部86dによって、仮想車輪62_x,62_yの回転角速度ωw_x_lim2,ωw_y_lim2に変換される。
次いで、この各回転角速度ωw_x_lim2,ωw_y_lim2に対応する各仮想車輪62_x,62_yの移動速度Vw_x_lim2,Vw_y_lim2がそれぞれ処理部86e_x,86e_yによって算出され、これらの移動速度Vw_x_lim2,Vw_y_lim2がリミット処理部100から出力される。
以上のリミット処理部100の処理によって、リミット処理部100は、リミット処理部86と同様に、その出力値Vw_x_lim2,Vw_y_lim2の組に対応する電動モータ31R,31Lのそれぞれの回転角速度が許容範囲を逸脱しないことを必須の必要条件として、その必要条件下で可能な限り、出力値Vw_x_lim2,Vw_y_lim2をそれぞれVb_x_t,Vb_y_tに一致させるように、出力値Vw_x_lim2,Vw_y_lim2の組を生成する。
なお、リミット処理部100における右モータ用及び左モータ用の各許容範囲は、リミット処理部86における各許容範囲と同一である必要はなく、互いに異なる許容範囲に設定されていてもよい。
図13の説明に戻って、重心速度制限部76は、次に、演算部102_x,102_yの処理を実行することによって、それぞれ制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdを算出する。この場合、演算部102_xは、リミット処理部100の出力値Vw_x_lim2から、X軸方向の重心速度定常偏差予測値Vb_x_prdを減算してなる値をX軸方向の制御用目標重心速度Vb_x_mdfdとして算出する。同様に、演算部102_yは、リミット処理部100の出力値Vw_y_lim2から、Y軸方向の重心速度定常偏差予測値Vb_y_prdを減算してなる値をY軸方向の制御用目標重心速度Vb_y_mdfdとして算出する。
以上のようにして決定される制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdは、リミット処理部100での出力値V_x_lim2,V_y_lim2の強制的な制限が行なわれなかった場合、すなわち、車輪体5のX軸方向及びY軸方向のそれぞれの移動速度を、それぞれ、演算部98_xの出力値Vb_x_tと演算部98_yの出力値Vb_y_tとに一致させるように電動モータ31R,31Lを動作させても、電動モータ31R,31Lのそれぞれの回転角速度が許容範囲内に収まるような場合には、要求重心速度Vb_x_aim,Vb_y_aimがそれぞれ、そのまま、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdとして決定される。
なお、この場合、X軸方向の要求重心速度Vb_x_aimが“0”であれば、X軸方向の制御用目標重心速度Vb_x_mdfdも“0”となり、Y軸方向の要求重心速度Vb_y_aimが“0”であれば、Y軸方向の制御用目標重心速度Vb_y_mdfdも“0”となる。
一方、リミット処理部100の出力値Vw_x_lim2,Vw_y_lim2が、入力値Vb_x_t,Vb_y_tに対して強制的な制限を施して生成された場合、すなわち、車輪体5のX軸方向及びY軸方向のそれぞれの移動速度を、それぞれ、演算部98_xの出力値Vb_x_tと演算部98_yの出力値Vb_y_tとに一致させるように電動モータ31R,31Lを動作させると、電動モータ31R,31Lのいずれかの回転角速度が許容範囲を逸脱してしまう場合(いずれかの回転角速度の絶対値が高くなり過ぎる場合)には、X軸方向については、リミット処理部100の出力値Vw_x_lim2の入力値Vb_x_tからの修正量(=Vw_x_lim2−Vb_x_t)だけ、要求重心速度Vb_x_aimを補正してなる値(当該修正量をVb_x_aimに加算した値)が、X軸方向の制御用目標重心速度Vb_x_mdfdとして決定される。
また、Y軸方向については、リミット処理部100の出力値Vw_y_lim2の入力値Vb_y_tからの修正量(=Vw_y_lim2−Vb_y_t)だけ、要求重心速度Vb_y_aimを補正してなる値(当該修正量をVb_y_aimに加算した値)が、Y軸方向の制御用目標重心速度Vb_y_mdfdとして決定される。
この場合において、例えばX軸方向の速度に関し、要求重心速度Vb_x_aimが“0”でない場合には、制御用目標重心速度Vb_x_mdfdは、要求重心速度Vb_x_aimよりも“0”に近づくか、もしくは、要求重心速度Vb_x_aimと逆向きの速度となる。また、要求重心速度Vb_x_aimが“0”である場合には、制御用目標重心速度Vb_x_mdfdは、定常偏差算出部94_xが出力するX軸方向の重心速度定常偏差予測値Vb_x_prdと逆向きの速度となる。これらのことは、Y軸方向の速度に関しても同様である。
以上が、重心速度制限部76の処理である。
以上が、重心速度制限部76の処理である。
図10の説明に戻って、制御ユニット50は、以上の如く重心速度算出部72、重心速度制限部76、ゲイン調整部78、及び偏差演算部70の処理を実行した後、次に、姿勢制御演算部80の処理を実行する。
この姿勢制御演算部80の処理を、以下に図14を参照して説明する。なお、図14において、括弧を付していない参照符号は、X軸方向に輪転する仮想車輪62_xの回転角速度の目標値である前記仮想車輪回転角速度指令ωw_x_comを決定する処理に係わる参照符号であり、括弧付きの参照符合は、Y軸方向に輪転する仮想車輪62_yの回転角速度の目標値である前記仮想車輪回転角速度指令ωw_y_comを決定する処理に係わる参照符号である。
姿勢制御演算部80には、偏差演算部70で算出された基体傾斜角度偏差計測値θbe_xy_sと、前記ステップS2で算出された基体傾斜角速度計測値θbdot_xy_sと、重心速度算出部72で算出された重心速度推定値Vb_xy_sと、重心速度制限部76で算出された目標重心速度Vb_xy_cmdと、ゲイン調整部78で算出されたゲイン調整パラメータKr_xyとが入力される。
そして、姿勢制御演算部80は、まず、これらの入力値を用いて、次式(07x),(07y)により、仮想車輪回転角加速度指令ωdotw_xy_comを算出する。
そして、姿勢制御演算部80は、まず、これらの入力値を用いて、次式(07x),(07y)により、仮想車輪回転角加速度指令ωdotw_xy_comを算出する。
ωwdot_x_cmd=K1_x・θbe_x_s+K2_x・θbdot_x_s
+K3_x・(Vb_x_s−Vb_x_mdfd) …式(07x)
ωwdot_y_cmd=K1_y・θbe_y_s+K2_y・θbdot_y_s
+K3_y・(Vb_y_s−Vb_y_mdfd) …式(07y)
+K3_x・(Vb_x_s−Vb_x_mdfd) …式(07x)
ωwdot_y_cmd=K1_y・θbe_y_s+K2_y・θbdot_y_s
+K3_y・(Vb_y_s−Vb_y_mdfd) …式(07y)
従って、本実施形態では、Y軸方向から見た倒立振子モデルの質点60_xの運動(ひいては、Y軸方向から見た車両系重心点の運動)を制御するための操作量(制御入力)としての仮想車輪回転角加速度指令ωdotw_x_comと、X軸方向から見た倒立振子モデルの質点60_yの運動(ひいては、X軸方向から見た車両系重心点の運動)を制御するための操作量(制御入力)としての仮想車輪回転角加速度指令ωdotw_y_comとは、それぞれ、3つの操作量成分(式(07x),(07y)の右辺の3つの項)を加え合わせることによって決定される。
この場合、式(07x)における各操作量成分に係わるゲイン係数K1_x,K2_x,K3_xは、ゲイン調整パラメータKr_xに応じて可変的に設定され、式(07y)における各操作量成分に係わるゲイン係数K1_y,K2_y,K3_yは、ゲイン調整パラメータKr_yに応じて可変的に設定される。以降、式(07x)におけるゲイン係数K1_x,K2_x,K3_xのそれぞれを第1ゲイン係数K1_x、第2ゲイン係数K2_x、第3ゲイン係数K3_xということがある。このことは、式(07y)におけるゲイン係数K1_y,K2_y,K3_yについても同様とする。
式(07x)における第iゲイン係数Ki_x(i=1,2,3)と、式(07y)における第iゲイン係数Ki_y(i=1,2,3)とは、図14中にただし書きで示した如く、次式(09x)、09yにより、ゲイン調整パラメータKr_x,Kr_yに応じて決定される。
Ki_x=(1−Kr_x)・Ki_a_x+Kr_x・Ki_b_x …式(09x)
Ki_y=(1−Kr_y)・Ki_a_y+Kr_y・Ki_b_y …式(09y)
(i=1,2,3)
Ki_y=(1−Kr_y)・Ki_a_y+Kr_y・Ki_b_y …式(09y)
(i=1,2,3)
ここで、式(09x)におけるKi_a_x、Ki_b_xは、それぞれ、第iゲイン係数Ki_xの最小側(“0”に近い側)のゲイン係数値、最大側(“0”から離れる側)のゲイン係数値としてあらかじめ設定された定数値である。このことは、式(09y)におけるKi_a_y、Ki_b_yについても同様である。
従って、式(07x)の演算に用いる各第iゲイン係数Ki_x(i=1,2,3)は、それぞれに対応する定数値Ki_a_x、Ki_b_xの重み付き平均値として決定される。そして、この場合、Ki_a_x、Ki_b_xにそれぞれ掛かる重みが、ゲイン調整パラメータKr_xに応じて変化させられる。このため、Kr_x=0である場合には、Ki_x=Ki_a_xとなり、Kr_x=1である場合には、Ki_x=Ki_b_xとなる。そして、Kr_xが“0”から“1”に近づくに伴い、第iゲイン係数Ki_xはKi_a_xからKi_b_x近づいていく。
同様に、式(07y)の演算に用いる各第iゲイン係数Ki_y(i=1,2,3)は、それぞれに対応する定数値Ki_a_y、Ki_b_yの重み付き平均値として決定される。そして、この場合、Ki_a_y、Ki_b_yにそれぞれ掛かる重みが、ゲイン調整パラメータKr_yに応じて変化させられる。このため、Ki_xの場合と同様に、Kr_yの値が“0”から“1”の間で変化するに伴い、第iゲイン係数Ki_yの値が、Ki_a_yとKi_b_yとの間で変化する。
補足すると、上記定数値Ki_a_x、Ki_b_x及びKi_a_y,Ki_b_y(i=1,2,3)は、前記ステップS6又はS8において値が設定される定数パラメータに含まれるものである。
姿勢制御演算部80は、上記の如く決定した第1〜第3ゲイン係数K1_x,K2_x,K3_xを用いて前記式(07x)の演算を行なうことで、X軸方向に輪転する仮想車輪62_xに係わる仮想車輪回転角加速度指令ωwdot_x_cmdを算出する。
さらに詳細には、図14を参照して、姿勢制御演算部80は、基体傾斜角度偏差計測値θbe_x_sに第1ゲイン係数K1_xを乗じてなる操作量成分u1_xと、基体傾斜角速度計測値θbdot_x_sに第2ゲイン係数K2_xを乗じてなる操作量成分u2_xとをそれぞれ、処理部80a,80bで算出する。さらに、姿勢制御演算部80は、重心速度推定値Vb_x_sと制御用目標重心速度Vb_x_mdfdとの偏差(=Vb_x_s−Vb_x_mdfd)を演算部80dで算出し、この偏差に第3ゲイン係数K3_xを乗じてなる操作量成分u3_xを処理部80cで算出する。そして、姿勢制御演算部80は、これらの操作量成分u1_x,u2_x,u3_xを演算部80eにて加え合わせることにより、仮想車輪回転角加速度指令ωwdot_x_comを算出する。
同様に、姿勢制御演算部80は、上記の如く決定した第1〜第3ゲイン係数K1_y,K2_y,K3_yを用いて前記式(07y)の演算を行なうことで、Y軸方向に輪転する仮想車輪62_yに係わる仮想車輪回転角加速度指令ωwdot_y_cmdを算出する。
この場合には、姿勢制御演算部80は、基体傾斜角度偏差計測値θbe_y_sに第1ゲイン係数K1_yを乗じてなる操作量成分u1_yと、基体傾斜角速度計測値θbdot_y_sに第2ゲイン係数K2_yを乗じてなる操作量成分u2_yとをそれぞれ、処理部80a,80bで算出する。さらに、姿勢制御演算部80は、重心速度推定値Vb_y_sと制御用目標重心速度Vb_y_mdfdとの偏差(=Vb_y_s−Vb_y_mdfd)を演算部80dで算出し、この偏差に第3ゲイン係数K3_yを乗じてなる操作量成分u3_yを処理部80cで算出する。そして、姿勢制御演算部80は、これらの操作量成分u1_y,u2_y,u3_yを演算部80eにて加え合わせることにより、仮想車輪回転角加速度指令ωwdot_y_comを算出する。
ここで、式(07x)の右辺の第1項(=第1操作量成分u1_x)及び第2項(=第2操作量成分u2_x)は、Y軸周り方向での基体傾斜角度偏差計測値θbe_x_sを、フィードバック制御則としてのPD則(比例・微分則)により“0”に収束させる(基体傾斜角度計測値θb_x_sを目標値θb_x_objに収束させる)ためのフィードバック操作量成分としての意味を持つ。
ここで、式(07x)の右辺の第1項(=第1操作量成分u1_x)及び第2項(=第2操作量成分u2_x)は、Y軸周り方向での基体傾斜角度偏差計測値θbe_x_sを、フィードバック制御則としてのPD則(比例・微分則)により“0”に収束させる(基体傾斜角度計測値θb_x_sを目標値θb_x_objに収束させる)ためのフィードバック操作量成分としての意味を持つ。
また、式(07x)の右辺の第3項(=第3操作量成分u3_x)は、重心速度推定値Vb_x_sと目標重心速度Vb_x_mdfdとの偏差をフィードバック制御則としての比例則により“0”に収束させる(Vb_x_sをVb_x_mdfdに収束させる)ためのフィードバック操作量成分としての意味を持つ。
これらのことは、式(07y)の右辺の第1〜第3項(第1〜第3操作量成分u1_y,u2_y,u3_y)についても同様である。
姿勢制御演算部80は、上記の如く、仮想車輪回転角加速度指令ωwdot_x_com,ωwdot_y_comを算出した後、次に、これらのωwdot_x_com,ωwdot_y_comをそれぞれ積分器80fにより積分することによって、前記仮想車輪回転速度指令ωw_x_com,ωw_y_comを決定する。
以上が姿勢制御演算部80の処理の詳細である。
補足すると、式(07x)の右辺の第3項を、Vb_x_sに応じた操作量成分(=K3_x・Vb_x_s)と、Vb_x_mdfdに応じた操作量成分(=−K3_x・Vb_x_mdfd)とに分離した式によって、仮想車輪回転角加速度指令ωdotw_x_comを算出するようにしてよい。同様に、式(07y)の右辺の第3項を、Vb_y_sに応じた操作量成分(=K3_y・Vb_y_s)と、Vb_y_mdfdに応じた操作量成分(=−K3_y・Vb_y_mdfd)とに分離した式によって、仮想車輪回転角加速度指令ωdotw_y_comを算出するようにしてよい。
補足すると、式(07x)の右辺の第3項を、Vb_x_sに応じた操作量成分(=K3_x・Vb_x_s)と、Vb_x_mdfdに応じた操作量成分(=−K3_x・Vb_x_mdfd)とに分離した式によって、仮想車輪回転角加速度指令ωdotw_x_comを算出するようにしてよい。同様に、式(07y)の右辺の第3項を、Vb_y_sに応じた操作量成分(=K3_y・Vb_y_s)と、Vb_y_mdfdに応じた操作量成分(=−K3_y・Vb_y_mdfd)とに分離した式によって、仮想車輪回転角加速度指令ωdotw_y_comを算出するようにしてよい。
また、本実施形態では、車両系重心点の挙動を制御するための操作量(制御入力)として、仮想車輪62_x,62_yの回転角加速度指令ωw_x_cmd,ωw_y_cmdを用いるようにしたが、例えば、仮想車輪62_x,62_yの駆動トルク、あるいは、この駆動トルクに各仮想車輪62_x,62_yの半径Rw_x,Rw_yを乗じてなる並進力(すなわち仮想車輪62_x,62_yと床面との間の摩擦力)を操作量として用いるようにしてもよい。
図10の説明に戻って、制御ユニット50は、次に、姿勢制御演算部80で上記の如く決定した仮想車輪回転速度指令ωw_x_com,ωw_y_comをモータ指令演算部82に入力し、該モータ指令演算部82の処理を実行することによって、電動モータ31Rの速度指令ω_R_comと電動モータ31Lの速度指令ω_L_comとを決定する。このモータ指令演算部82の処理は、前記リミット処理部86(図12参照)のXY−RL変換部86bの処理と同じである。
具体的には、モータ指令演算部82は、前記式(01a),(01b)のωw_x,ωw_y,ω_R,ω_Lをそれぞれ、ωw_x_com,ωw_y_com,ω_R_cmd,ω_L_cmdに置き換えて得られる連立方程式を、ω_R_cmd,ω_L_cmdを未知数として解くことによって、電動モータ31R,31Lのそれぞれの速度指令ω_R_com,ω_L_comを決定する。
以上により前記ステップS9の車両制御演算処理が完了する。
以上により前記ステップS9の車両制御演算処理が完了する。
以上説明した如く制御ユニット50が制御演算処理を実行することによって、前記歩行モード及び自立モードのいずれの動作モードにおいても、基本的には、基体9の姿勢が、前記基体傾斜角度偏差計測値θbe_x_s,θbe_y_sの両方が“0”となる姿勢(以下、この姿勢を基本姿勢という)に保たれるように、換言すれば、車両系重心点(歩行時重心点又は車両単体重心点)の位置が、車輪体5の接地面のほぼ真上に位置する状態に保たれるように、操作量(制御入力)としての仮想車輪回転角加速度指令ωdotw_xy_comが決定される。より詳しく言えば、基体9の姿勢を前記基本姿勢に保ちつつ、車両系重心点の移動速度の推定値としての重心速度推定値Vb_xy_sを制御用目標重心速度Vb_xy_mdfdに収束させるように、仮想車輪回転角加速度指令ωdotw_xy_comが決定される。なお、制御用目標重心速度Vb_xy_mdfdは、通常は“0”である。この場合には、基体9の姿勢を前記基本姿勢に保ちつつ、車両系重心点がほぼ静止するように、仮想車輪回転角加速度指令ωdotw_xy_comが決定されることとなる。
そして、ωdotw_xy_comの各成分を積分してなる仮想車輪回転角速度指令ωw_xy_comを変換してなる電動モータ31R,31Lのそれぞれの回転角速度が、電動モータ31R,31Lの速度指令ω_R_cmd,ω_L_cmdとして決定される。さらに、その速度指令ω_R_cmd,ω_L_cmdに従って、各電動モータ31R,31Lの回転速度が制御される。ひいては車輪体5のX軸方向及びY軸方向のそれぞれの移動速度が、ωw_x_comに対応する仮想車輪62_xの移動速度と、ωw_y_comに対応する仮想車輪62_yの移動速度とに各々一致するように制御される。
このため、例えば、Y軸周り方向で、実際の基体傾斜角度θb_xが目標値θb_x_objから前傾側にずれると、そのずれを解消すべく(θbe_x_sを“0”に収束させるべく)、車輪体5が前方に向かって移動する。同様に、実際のθb_xが目標値θb_x_objから後傾側にずれると、そのずれを解消すべく(θbe_x_sを“0”に収束させるべく)、車輪体5が後方に向かって移動する。
また、例えば、X軸周り方向で、実際の基体傾斜角度θb_yが目標値θb_y_objから右傾側にずれると、そのずれを解消すべく(θbe_y_sを“0”に収束させるべく)、車輪体5が右向きに移動する。同様に、実際のθb_yが目標値θb_y_objから左傾側にずれると、そのずれを解消すべく(θbe_y_sを“0”に収束させるべく)、車輪体5が左向きに移動する。
さらに、実際の基体傾斜角度θb_x,θb_yの両方が、それぞれ目標値θb_x_obj,θb_y_objからずれると、θb_xのずれを解消するための車輪体5の前後方向の移動動作と、θb_yのずれを解消するための車輪体5の左右方向の移動動作とが合成され、車輪体5がX軸方向及びY軸方向の合成方向(X軸方向及びY軸方向の両方向に対して傾斜した方向)に移動することとなる。
このようにして、基体9が前記基本姿勢から傾くと、その傾いた側に向かって、車輪体5が移動することとなる。従って、例えば前記歩行モードにおいて、ユーザが意図的にその把持している支柱フレーム13に体重を預けて傾けると、その傾けた側に、車輪体5が移動することとなる。
なお、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdが“0”である場合には、基体9の姿勢が基本姿勢に収束すると、車輪体5の移動もほぼ停止する。また、例えば、基体9のY軸周り方向の傾斜角度θb_xを基本姿勢から傾いた一定の角度に維持すると、車輪体5のX軸方向の移動速度は、その角度に対応する一定の移動速度(制御用目標重心速度Vb_x_mdfdと一定の定常偏差を有する移動速度)に収束する。このことは、基体9のX軸周り方向の傾斜角度θb_yを基本姿勢から傾いた一定の角度に維持した場合も同様である。
また、例えば、前記要求重心速度生成部74で生成される要求重心速度Vb_x_aim,Vb_y_aimの両方が“0”となっている状況において、基体9の前記基本姿勢からの傾き量(基体傾斜角度偏差計測値θbe_x_s,θbe_y_s)が比較的大きくなり、それを解消し、もしくはその傾き量を維持するために必要な車輪体5のX軸方向及びY軸方向の一方又は両方の移動速度(これらの移動速度は、それぞれ、図13に示した前記重心速度定常偏差予測値Vb_x_prd、Vb_y_prdに相当する)が、電動モータ31R,31Lの一方又は両方の回転角速度を許容範囲から逸脱させてしまうような、過大な移動速度になるような状況では、該車輪体5の移動速度に対して逆向きとなる速度(詳しくは、Vw_x_lim2−Vb_x_prd及びVw_y_lim2−Vb_y_prd)が制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdとして決定される。そして、制御入力を構成する操作量成分のうちの操作量成分u3_x,u3_yが、この制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdに重心速度推定値Vb_x_s,Vb_y_sをそれぞれ収束させるように決定される。このため、基体9の前記基本姿勢からの傾き量が過大になるのを予防し、ひいては、電動モータ31R,31Lの一方又は両方の回転角速度が高速になり過ぎるのが防止される。
さらに、前記ゲイン調整部78では、重心速度推定値Vb_x_s,Vb_y_sの一方又は両方が大きくなり、ひいては、基体9の前記基本姿勢からの傾きを解消し、もしくはその傾き量を維持するために必要な車輪体5のX軸方向及びY軸方向の一方又は両方の移動速度が、電動モータ31R,31Lの一方又は両方の回転角速度を許容範囲から逸脱させてしまうような、過大な移動速度になる恐れがある状況では、その逸脱が顕著になるほど(詳しくは、図11に示すVover_x,Vover_yの絶対値が大きくなるほど)、前記ゲイン調整パラメータKr_x,Kr_yの一方又は両方が“0”から“1”に近づけられる。
この場合、前記式(09x)により算出される各第iゲイン係数Ki_x(i=1,2,3)は、Kr_xが“1”に近づくほど、最小側の定数値Ki_a_xから最大側の定数値Ki_b_xに近づく。このことは、前記式(09y)により算出される各第iゲイン係数Ki_y(i=1,2,3)についても同様である。
そして、上記ゲイン係数の絶対値が大きくなることによって、基体9の傾きの変化に対する操作量(仮想車輪回転角加速度指令ωdotw_x_cmd,ωdotw_y_cmd)の感度が高まる。従って、基体9の基本姿勢からの傾き量が大きくなろうとすると、それを素早く解消するように、車輪体5の移動速度が制御されることとなる。従って、基体9が基本姿勢から大きく傾くことが強めに抑制され、ひいては、車輪体5のX軸方向及びY軸方向の一方又は両方の移動速度が、電動モータ31R,31Lの一方又は両方の回転角速度を許容範囲から逸脱させてしまうような、過大な移動速度になるのを防止することができる。
次に、本実施形態による歩行アシストシステムを構成する歩行補助装置200について説明する。図15は本施形態による歩行補助装置200及びその制御システム300の構成例示図であり、図16は本実施形態による歩行補助装置200の機能例示図であり、図17は運動振動子と第1振動子との関係例示図であり、図18は誘導振動子生成に関する仮想的なバネ及びダンパの説明図であり、図19及び図20は本実施形態による歩行補助装置200の作用効果に関する概念説明図である。
以下、ユーザの脚体等について左右を区別するために基本的にパラメータに添字L、Rを付するが、表記の簡単のため添字L、Rを省略する場合もある。
図15に示されている歩行補助装置200は、腰部装具202と、大腿部装具204と、力伝達部材206と、バッテリ208と、アクチュエータ(電動モータ)210と、股関節角度センサ212とを備えている。
腰部装具202は剛性のある素材と柔軟性のある素材とが組み合わせられて作られており、ユーザの腰部に装着される。大腿部装具204も剛性のある素材と柔軟性のある素材とが組み合わせられて作られており、ユーザの大腿部の前後それぞれに装着される。力伝達部材は、軽量の硬質プラスチック等の定形性のある素材より作られており、ユーザの大腿部に沿って、ユーザの腰部の横から下方に延びた後で大腿部の前後に向けて二股に分かれた形状であり、アクチュエータ210および前後の大腿部装具204のそれぞれに連結されている。バッテリ208は腰部装具202に収納されており(たとえば、腰部装具202を構成する複数枚の素材の間に固定されており)、アクチュエータ210等に対して電力を供給する。アクチュエータ210は腰部装具202に収納されており、力伝達部材206および大腿部装具204を介してユーザの大腿部に力を作用させる。これにより、腰部装具202および大腿部装具204を介してアクチュエータ210の動作により生じる力をユーザに伝達させる。股関節角度センサ212はユーザの腰部の横に設けられたロータリーエンコーダ等により構成され、股関節角度に応じた信号を出力する。
図15に示されている制御システム300は、腰部装具202に収納されたハードウェアとしてのコンピュータと、このコンピュータに対して歩行補助装置200の制御機能を付与するソフトウェアとしての「制御プログラム」とにより構成されている。
制御システム300は、全方向移動杖1から送信された情報を受信する通信部390と接続され、運動振動子測定ユニット302と、状態測定ユニット310と、目標運動設定ユニット311と、目標位相差設定ユニット312と、第1振動子生成ユニット320と、固有角速度設定ユニット330と、第2振動子生成ユニット340と、誘導振動子生成ユニット350とを備えている。各ユニットは、ハードウェアとしてのCPU、ROM、RAM、信号入力回路、信号出力回路等と、CPU等に対して諸機能を付与するソフトウェアとしての「制御プログラム」とにより構成されている(以下同様)。なお、各ユニットは、それぞれ別個のCPU等により構成されていてもよく、共通のCPU等により構成されていてもよい。
運動振動子測定ユニット302は、股関節角度センサ212の出力に基づき、ユーザの運動スケールに応じた運動振動子として股関節角度φHを測定する。また、運動振動子測定ユニット302は、股関節角度センサ212の出力に基づき、ユーザの運動スケールに応じた運動振動子の時間微分値として股関節角速度dφH/dtを測定する。
状態測定ユニット310は、ユーザの歩行状態と、n個の運動振動子によってn次元空間に描かれる軌道パターンとの対応関係をメモリから読み取る。この上で、状態測定ユニット310は、この対応関係と、運動振動子測定ユニット302により測定された股関節角速度dφH/dtを含むn個の運動振動子によってn次元空間に描かれる軌道パターンとに基づき、ユーザの「歩行状態」を判定する。
目標運動設定ユニット311は状態測定ユニット310によって判定された「歩行状態」に応じ、ユーザの目標運動とするリズムおよびスケール、具体的には当該目標リズムおよびスケールに関する係数等を設定する。
目標位相差設定ユニット312は状態測定ユニット310によって判定された「歩行状態」に応じ、ユーザの運動振動子と、歩行補助装置200による誘導振動子(トルク)Tとの目標位相差θdを設定する。
第1振動子生成ユニット320は運動振動子測定ユニット302により測定された股関節角速度dφH/dtと固有角速度ωMとに基づき、「第1モデル」にしたがって第1振動子xを生成する。
固有角速度設定ユニット330は、第1位相差設定ユニット331と、第2位相差設定ユニット332と、相関係数設定ユニット333と、第1角速度設定ユニット334と、第2角速度設定ユニット335とを備えている。
第1位相差設定ユニット331は股関節角速度dφH/dtの角速度ωHと、ファン・デル・ポル方程式に含まれる固有角速度ωMに基づいて定まる角速度で振動する振動子xとの位相差を第1位相差θHMとして設定する。
第2位相差設定ユニット332は2つの振動子、すなわち、仮想運動振動子θhと仮想誘導振動子θmとの関係を表す「仮想モデル」にしたがって仮想運動振動子θhと仮想誘導振動子θmとの位相差を第2位相差θhm(=θh−θm)として設定する。
相関係数設定ユニット333は、第2位相差設定ユニット332により設定された第2位相差θhmが、第1位相差設定ユニット331により設定された第1位相差θHMに近づくように仮想運動振動子θhと仮想誘導振動子θmとの相関係数εを設定する。
第1角速度設定ユニット334は、相関係数設定ユニット333により設定された相関係数εに基づき、仮想運動振動子θhの角速度ωhを設定する。
第2角速度設定ユニット335は、第1角速度設定ユニット334により設定された仮想運動振動子θhの角速度ωhに基づき、第2位相差設定ユニット332により設定された第2位相差θhmが、目標位相差設定ユニット312により設定された目標位相差θdに近づくように仮想誘導振動子θmの角速度ωmを新たな固有角速度ωMとして設定する。
第2振動子生成ユニット340は、運動振動子測定ユニット302により測定された股関節角度φHと、固有角速度設定ユニット330により設定された新たな固有角速度ωMとに基づき「第2モデル」にしたがって第2振動子yを生成する。
誘導振動子生成ユニット350は、全方向移動杖1から受信した重心速度推定値Vb_xy_sと、固有角速度設定ユニット330により設定された固有角速度ωMと、第2振動子生成ユニット340により生成された第2振動子yとに基づき、歩行補助装置200による誘導振動子zを生成する。
前記構成の歩行補助装置およびその制御システム300の機能について図16〜図18を用いて説明する。
運動振動子測定ユニット302が、股関節角度センサ212の出力に基づき、ユーザの左右の股関節角度φH=(φHL,φHR)を測定する(図16/ステップS101)。また、運動振動子測定ユニット302が、股関節角度センサ212の出力に基づき、ユーザの左右の股関節角速度dφH/dt=(dφHL/dt,dφHR/dt)を測定する(図16/ステップS102)。
さらに、状態測定ユニット310が、運動振動子測定ユニット302により測定された股関節角速度(dφH/dt)を含むn(n=1、2、…)個の運動振動子に基づいてユーザの歩行状態を判定する(図16/ステップS110)。具体的には、状態測定ユニット310は、メモリ(図示略)から歩行状態と、n個の運動振動子によってn次元空間に描かれる軌道パターンとの対応関係を読み取る。そして、状態測定ユニット310は、この対応関係と、n個の運動振動子によってn次元空間に描かれるパターンとに基づき「歩行状態」を判定する。ユーザの歩行状態には、ユーザがほぼ平坦な床面を歩行する「平地歩行状態」、ユーザが坂または階段を昇る「上昇歩行状態」およびユーザがある坂または階段を下る「下降歩行状態」並びにユーザがゆっくりと歩行する「スロー歩行状態」およびユーザが速く歩行する「クイック歩行状態」等が含まれ得る。
なお、歩行状態測定用の運動振動子として、ユーザの股関節角度φHや、膝関節、足関節、肩関節、肘関節の角度や角速度、角加速度、脚体の一部の位置、さらにはユーザの着地音、呼吸音、意図的な発声音等、歩行運動リズムと連関したリズムで変動する種々のパラメータが測定されてもよい。
また、目標運動設定ユニット311が、状態測定ユニット310によって判定された「歩行状態」に応じ、ユーザの目標運動とするリズムおよびスケール、具体的には当該目標リズムおよびスケールに関する後述の係数等を設定する(図16/ステップS111)。
さらに、目標位相差設定ユニット312が、状態測定ユニット310により判定された「歩行状態」に基づき、目標位相差θd=(θdL,θdR)を設定する(図16/ステップS112)。たとえば、ユーザが「平地歩行状態」にあるとの判定結果に応じて目標位相差θdが「0」に設定される。また、ユーザが「上昇歩行状態」にあるとの判定結果に応じて目標位相差θdが負の値(たとえば0.5[rad]以下)に設定される。さらに、ユーザが「下降歩行状態」にあるとの判定結果に応じて目標位相差θdが正の値(たとえば+0.3[rad]以上)に設定される。また、ユーザが「クイック歩行状態」にあるとの判定結果に応じて目標位相差θdが負の値(たとえば0.2[rad]以下)に設定される。さらに、ユーザが「スロー歩行状態」にあるとの判定結果に応じて目標位相差θdが正の値(たとえば+0.5[rad]以上)に設定される。なお、目標位相差θdの左右各成分θdLおよびθdRは同一であっても異なっていてもよい。
さらに、第1振動子生成ユニット320が、運動振動子測定ユニット302により測定された股関節角速度dφH/dtおよび固有角速度ωM=(ωML,ωMR)に基づき第1モデルにしたがって第1振動子x=(xL,xR)を生成する(図16/ステップS120)。「第1モデル」は左右の脚体等、複数の第1要素の相関関係を表現するモデルである。具体的には「第1モデル」は入力振動信号と相互に引き込み合うことで固有角速度に基づいて定まる角速度で時間変化する出力振動信号を生成するモデルである。第1モデルは、だとえば式(11)のファン・デル・ポル(van der Pol)方程式によって表現される。第1振動子生成ユニット320によって股関節角速度dφH/dt=(dφHL/dt,dφHR/dt)が当該入力振動信号として第1モデルに入力されることにより、当該出力振動信号として第1振動子x=(xL,xR)が生成される。
(d2xL/dt2)=ξ(1−xL 2)(dxL/dt)
−ωML 2xL+g(xL−xR)+K(dφHL/dt),
(d2xR/dt2)=ξ(1−xR 2)(dxR/dt)
−ωMR 2xR+g(xR−xL)+K(dφHR/dt) …式(11)
−ωML 2xL+g(xL−xR)+K(dφHL/dt),
(d2xR/dt2)=ξ(1−xR 2)(dxR/dt)
−ωMR 2xR+g(xR−xL)+K(dφHR/dt) …式(11)
ここで「ξ」は第1振動子xおよびその1回時間微分(dx/dt)がx−(dx/dt)平面で安定なリミットサイクルを描くように設定される係数(>0)である。gは左右の脚体の相関関係を第1モデルにしたがって生成される複数の出力振動信号の関係に反映させるための第1相関係数である。Kはフィードバック係数である。なお、固有角速度ωMは、歩行補助装置200による実際の歩行補助リズム(歩行誘導リズム)から大きく外れない範囲で任意に設定されてよい。
第1振動子x=(xL,xR)はルンゲ・クッタ法により設定生成される。第1振動子xの成分xLおよびxRはそれぞれ左右の脚体に関する仮想的な歩行補助リズムを表す。また、第1振動子xはファン・デル・ポル方程式の1つの性質である「相互引き込み」により、実際の歩行運動リズムとほぼ同じのリズム(角速度)で時間変化する股関節角速度dφH/dtのリズムと調和しながらも「固有角速度」ωMに基づいて定まる自律的なリズムをもって時間変化または振動するという性質がある。
なお、股関節角速度dφH/dtに代えてまたは加えて、股関節角度φHや、膝関節、足関節、肩関節、肘関節の角度や角速度、さらにはユーザの着地音、呼吸音、断続的な発声音等、ユーザの歩行運動リズム(運動リズム)が反映されたリズムで変動する種々の運動振動子に基づき、第1振動子xが生成されてもよい。
また、式(11)で表現されるファン・デル・ポル方程式とは異なる形のファン・デル・ポル方程式によって第1モデルが表現されてもよく、股関節角速度dφH/dt等の入力振動信号と相互引き込み効果をもって出力振動信号が生成されうるあらゆる方程式によって第1モデルが表現されてもよい。
続いて、固有角速度設定ユニット330が、目標位相差設定ユニット312により設定された目標位相差θdと、第1振動子設定ユニット310により生成された第1振動子xとに基づき、仮想的な2つの振動子が含まれている仮想モデルにしたがって固有角速度ωMを新たに設定する(図16/ステップS130)。
具体的には、まず、第1位相差設定ユニット331が、左右各成分について、運動振動子測定ユニット302により測定された股関節角速度dφH/dtの位相θHと、第1振動子設定ユニット310により生成された第1振動子xの位相θMとの位相差θH−θMを、第1位相差θHMとして設定する(図16/ステップS131)。たとえば、図17に示されているように、(dφH/dt)=0かつ(d2φH/dt2)>0となる時点(・・,tid,tid+1,…)と、x=0かつ(dx/dt)>0となる時点との時間差に応じ、股関節角速度(dφH/dt)の位相θHと第1振動子xの位相θMとの位相差(第1位相差)θHM(=θH−θM)が設定される。
次に、第2位相差設定ユニット332が、過去3歩行周期にわたって第1位相差設定ユニット331により設定された第1位相差θHMが一定であったことを要件として、左右各成分について、次式(13.1)および(13.2)によって表される「仮想モデル」にしたがって、次式(13.3)によって表される仮想運動振動子θhと仮想誘導振動子θmとの位相差θh−θmを第2位相差θhmとして設定する(図16/ステップS132)。
dθh/dt=ωh+ε・sin(θm−θh) …式(13.1)
dθm/dt=ωm+ε・sin(θh−θm) …式(13.2)
θhm=arcsin[(ωh−ωm)/2ε] …式(13.3)
dθm/dt=ωm+ε・sin(θh−θm) …式(13.2)
θhm=arcsin[(ωh−ωm)/2ε] …式(13.3)
ここで、ε=(εL,εR)は仮想モデルにおける仮想運動振動子θh=(θhL,θhR)および仮想誘導振動子θm=(θmL,θmR)の左右成分ごとの相関係数である。また、ωhは仮想運動振動子θhの角速度であり、ωmは仮想誘導振動子θmの角速度である。
続いて、相関係数設定ユニット333が、第1位相差設定ユニット331により設定された第1位相差θHMと、第2位相差設定ユニット332により設定された第2位相差θhmとの差θHM−θhmが最小になるように相関係数εを設定する(図16/ステップS133)。
具体的には次式(13.4)にしたがって、左右各成分について、股関節角速度(運動振動子)dφH/dtが0となる離散的な時間(・・,tid-1,tid,tid+1,・・)(図17参照)における相関係数εが逐次設定される。
ε(tid+1)=ε(tid)−η{V1(tid+1)−V1(tid)}/{ε(tid)−ε(tid-1)},
V(tid+1)≡(1/2){θHM(tid+1)−θhm(tid)}2 …式(13.4)
V(tid+1)≡(1/2){θHM(tid+1)−θhm(tid)}2 …式(13.4)
ここで、η=(ηL,ηR)の各成分は、第1位相差θHMの左右各成分と、第2位相差θhmの左右各成分とを近づけるポテンシャルV=(VL,VR)の安定性を表す係数である。
次に、第1角速度設定ユニット334が、相関係数設定ユニット333により設定された相関係数εに基づき、仮想誘導振動子θmの固有角速度ωmが一定であるという条件下で、左右各成分について、第1および第2位相差の差θHM−θhmの各成分が最小となるように仮想運動振動子θhの角速度ωhを次式(13.5)にしたがって設定する(図16/ステップS134)。
ωh(tid)
=−α∫dt・([4ε(tid)2−{ωh(t)−ωm(tid)}2]1/2
×sin[arc-1{(ωh(t)−ωm(tid-1))/2ε(tid)}−θHM(tid)]) …式(13.5)
=−α∫dt・([4ε(tid)2−{ωh(t)−ωm(tid)}2]1/2
×sin[arc-1{(ωh(t)−ωm(tid-1))/2ε(tid)}−θHM(tid)]) …式(13.5)
ここで、α=(αL,αR)の各成分は系の安定性を表す係数である。
続いて、第2角速度設定ユニット335が、左右各成分について、第1角速度設定ユニット334により設定された仮想運動振動子θhの角速度ωhに基づき、仮想誘導振動子θmの角速度ωmを新たな固有角速度ωMとして設定する(図16/ステップS135)。具体的には、第2角速度設定ユニット335が、左右各成分について、第2位相差θhmが目標位相差θdに近づくように、次式(13.6)にしたがって仮想誘導振動子θmの角速度ωm=(ωmL,ωmR)を設定する。
ωm(tid)
=β∫dt・([4ε(tid)2−{ωh(tid)−ωm(t)}2)
×sin[sin-1{(ωh(tid)−ωm(t))/2ε(tid)}−θd]) …式(13.6)
=β∫dt・([4ε(tid)2−{ωh(tid)−ωm(t)}2)
×sin[sin-1{(ωh(tid)−ωm(t))/2ε(tid)}−θd]) …式(13.6)
ここで、β=(βL,βR)の各成分は系の安定性を表す係数である。
続いて、第2振動子生成ユニット340が、運動振動子測定ユニット302により測定された股関節角度φHと、固有角速度設定ユニット330により設定された新たな固有角速度ωMとに基づき、第2モデルにしたがって第2振動子y=(yL+,yL-,yR+,yR-)を生成する(図16/ステップS140)。「第2モデル」は複数の神経要素等、複数の第2要素の相関関係を表現するモデルである。具体的には「第2モデル」は入力振動信号に応じて当該新たな固有角速度ωMに基づいて定まる角速度で時間変化する出力振動信号を生成するモデルである。第2モデルはたとえば次式(15)の連立微分方程式により表現される。当該連立微分方程式には左大腿部の屈曲方向(前方)および伸展方向(後方)のそれぞれへの運動を支配する神経要素L+およびL−、並びに右大腿部の屈曲方向および伸展方向のそれぞれへの運動を支配する神経要素R+およびR−の膜電位の変動に対応する状態変数ui(i=L+,L−,R+,R−)と、神経要素iの順応効果が反映される自己抑制因子viとが含まれている。第2振動子生成ユニット340により、股関節角度φHが当該入力振動信号として第2モデルに入力されることにより、当該出力振動信号として第2振動子yが生成される。
τ1L+・duL+/dt
=−uL++wL+/L-yL-+wL+/R+yR+−λLvL++f1(ωML)+f2(ωML)K(φL),
τ1L-・duL-/dt
=−uL-+wL-/L+yL++wL-/R-yR-−λLvL-+f1(ωML)+f2(ωML)K(φL),
τ1R+・duR+/dt
=−uR++wR+/L+yL++wR+/R-yR-−λRvR++f1(ωMR)+f2(ωMR)K(φR),
τ1R-・duR-/dt
=−uR-+wR-/L-yL-+wR-/R+yR+−λRvR-+f1(ωMR)+f2(ωMR)K(φR),
τ2i・dvi/dt=−vi+yi,
yi=H(ui−uth),H≡0(ui<uth),1(ui≧uth)または
=fs(ui)≡1/{1+exp(−ui/ξ)} …式(15)
=−uL++wL+/L-yL-+wL+/R+yR+−λLvL++f1(ωML)+f2(ωML)K(φL),
τ1L-・duL-/dt
=−uL-+wL-/L+yL++wL-/R-yR-−λLvL-+f1(ωML)+f2(ωML)K(φL),
τ1R+・duR+/dt
=−uR++wR+/L+yL++wR+/R-yR-−λRvR++f1(ωMR)+f2(ωMR)K(φR),
τ1R-・duR-/dt
=−uR-+wR-/L-yL-+wR-/R+yR+−λRvR-+f1(ωMR)+f2(ωMR)K(φR),
τ2i・dvi/dt=−vi+yi,
yi=H(ui−uth),H≡0(ui<uth),1(ui≧uth)または
=fs(ui)≡1/{1+exp(−ui/ξ)} …式(15)
ここで、τ1iは状態変数uiの変化特性を規定する時定数であり、左右各成分について、次式(15.1)によって表されているように、新たな固有角速度ωMへの依存性を有する。
τ1i≡t(ωML)/ωML−γL (i=L+,L−),
≡t(ωMR)/ωMR−γR (i=R+,R−) …式(15.1)
≡t(ωMR)/ωMR−γR (i=R+,R−) …式(15.1)
t(ω)はω依存性を有する係数である。γ=(γL,γR)は定数である。
また、τ2iは自己抑制因子viの変化特性を規定する時定数である。さらに、wi/j(<0)は複数の第2要素(神経要素)iおよびjの相関関係を第2モデルにしたがって生成される複数の出力振動信号の相関関係に反映させるための第2相関係数(定数)である。「λL」および「λR」は慣れ係数である。Kは股関節角度φHに応じたフィードバック係数である。
「f1」および「f2」はそれぞれ次式(15.2)および(15.3)により定義される関数である。
f1(ω)≡c・ω(c>0) …式(15.2)
f2(ω)≡c0+c1ω+c2ω2 …式(15.3)
f2(ω)≡c0+c1ω+c2ω2 …式(15.3)
新たな固有角速度ωMの関数であるf1(ωM)およびf2(ωM)の係数c,c0,c1,c2は、目標運動設定ユニット311によって設定された目標となる運動リズムに応じた係数として設定されうる。
なお、股関節角度φHに代えてまたは加えて、股関節角速度dφH/dtや、膝関節、足関節、肩関節、肘関節の角度や角速度、さらにはユーザの着地音、呼吸音、意図的な発声音等、歩行運動リズムと連関したリズムで変動する種々の振動子に基づき、第2振動子yiが生成されてもよい。
第2振動子yiは、状態変数uiの値が閾値uth未満である場合は0、状態変数uiの値が閾値uth以上である場合はこのuiの値をとる。或いは、第2振動子yiは、シグモイド関数fsによって定義されている(式(15)参照)。これにより、大腿部の屈曲方向(前方)への動きについてはこの動きを支配する第2要素(神経要素)L+、R+の出力である第2振動子yL+およびyR+が、他の第2要素の出力よりも大きくなる。また、大腿部の伸展方向(後方)への動きについてはこの動きを支配する第2素子L−、R−の出力である第2振動子yL-およびyR-が、他の第2要素の出力よりも大きくなる。脚体(大腿部)の前方または後方への動きは、たとえば、股関節角速度dφH/dtの極性によって識別される。
次に、誘導振動子生成ユニット350が、通信部390により全方向移動杖1から受信した重心速度推定値Vb_xy_sと、運動振動子測定ユニット302によって測定された股関節角度φHと、運動振動子測定ユニット302によって測定された股関節角速度dφH/dtと、第2振動子生成ユニット340により生成された第2振動子yiと、固有角速度設定ユニット330によって設定された新たな固有角速度ωMとに基づき、誘導振動子zを設定する(図16/ステップS150)。
具体的には、次式(17)にしたがって第1誘導振動子z1が生成される(図16/ステップS151)。
z1L=g1+(p0,ωML)g+(q0,φHL)yL+−g1-(p0,ωML)g-(q0,φHL)yL-,
z1R=g1+(p0,ωMR)g+(q0,φHR)yR+−g1-(p0,ωMR)g-(q0,φHR)yR-,
p0≡(v/k0)1/2,q0≡(vk0)1/2 …式(17)
z1R=g1+(p0,ωMR)g+(q0,φHR)yR+−g1-(p0,ωMR)g-(q0,φHR)yR-,
p0≡(v/k0)1/2,q0≡(vk0)1/2 …式(17)
ここで「g1+」「g1-」「g+」および「g-」は次式(17.1)〜(17.4)のそれぞれによって定義される関数である。
g1+(p0,ω)≡Σkak+(p0)ωk
(ak+(p0):係数,k=0〜3) …式(17.1)
g1-(p0,ω)≡Σkak-(p0)ωk
(ak-(p0):係数,k=0〜3) …式(17.2)
g+(q0,φ)≡c1+(φ−φ0+(q0))+c2+(φ−φ0+(q0))3
(c1+,c2+:係数,φ0+:屈曲方向の股関節角度φHの目標値) …式(17.3)
g-(q0,φ)≡c1-(φ−φ0-(q0))+c2-(φ−φ0-(q0))3
(c1-,c2-:係数,φ0-:伸展方向の股関節角度φHの目標値) …式(17.4)
(ak+(p0):係数,k=0〜3) …式(17.1)
g1-(p0,ω)≡Σkak-(p0)ωk
(ak-(p0):係数,k=0〜3) …式(17.2)
g+(q0,φ)≡c1+(φ−φ0+(q0))+c2+(φ−φ0+(q0))3
(c1+,c2+:係数,φ0+:屈曲方向の股関節角度φHの目標値) …式(17.3)
g-(q0,φ)≡c1-(φ−φ0-(q0))+c2-(φ−φ0-(q0))3
(c1-,c2-:係数,φ0-:伸展方向の股関節角度φHの目標値) …式(17.4)
股関節角度φHの目標角度φ0+(q0),φ0-(q0)は目標歩行比k0および歩行速度vに応じた推奨歩幅q0(=(vk0)1/2)の関数であり、ユーザの歩幅q(=v/p)と推奨歩幅q0との偏差δqに基づいて補正されうる。この歩行速度vには、全方向移動杖1から受信したVb_xy_sを用いる。また、第1係数g1+(p0,ωM),g1-(p0,ωM)に含まれる係数ak+(p0),ak-(p0)は目標歩行比k0および歩行速度v(=Vb_xy_s)に応じた推奨歩行率p0(=(v/k0)1/2)の関数であり、ユーザの歩行率p(=v/q)と推奨歩行率p0との偏差δpに基づいて補正されうる。
第1誘導振動子z1は、第1係数g1+およびg1-をそれぞれバネ係数(弾性係数)とす
る、図18に示されている2つの仮想的なバネG1+およびG1-の弾性力として表現されている。第1係数g1+およびg1-は、歩行速度vおよび固有角速度ωMに応じて、股関節角度φHを目標運動スケールに応じた目標角度φ0+(>0)およびφ0-(<0)に近付ける第1ポテンシャル(仮想的なバネ(弾性要素)のポテンシャル)のグラディエントを表現している(式(17.1)(17.2)参照)。すなわち、第1誘導振動子z1は、第1ポテンシャルに応じた第1係数g1+,g1-を弾性係数(バネ係数)とし、かつ、股関節角度φHの値を目標角度φ0+およびφ0-に復元させる仮想的なバネ等の弾性要素による弾性力として表現される。これにより、第1誘導振動子z1により、股関節角度φHが目標歩行比k0および歩行速度vに応じた目標角度φ0+,φ0-に一致するように、かつ、筋肉の収縮状態から伸展状態への移行時の弾性力等、ユーザの身体の弾性要素が反映されたリズムおよびスケールをもってユーザの運動が誘導されうる。
る、図18に示されている2つの仮想的なバネG1+およびG1-の弾性力として表現されている。第1係数g1+およびg1-は、歩行速度vおよび固有角速度ωMに応じて、股関節角度φHを目標運動スケールに応じた目標角度φ0+(>0)およびφ0-(<0)に近付ける第1ポテンシャル(仮想的なバネ(弾性要素)のポテンシャル)のグラディエントを表現している(式(17.1)(17.2)参照)。すなわち、第1誘導振動子z1は、第1ポテンシャルに応じた第1係数g1+,g1-を弾性係数(バネ係数)とし、かつ、股関節角度φHの値を目標角度φ0+およびφ0-に復元させる仮想的なバネ等の弾性要素による弾性力として表現される。これにより、第1誘導振動子z1により、股関節角度φHが目標歩行比k0および歩行速度vに応じた目標角度φ0+,φ0-に一致するように、かつ、筋肉の収縮状態から伸展状態への移行時の弾性力等、ユーザの身体の弾性要素が反映されたリズムおよびスケールをもってユーザの運動が誘導されうる。
仮想的なバネG1+による弾性力は、そのバネ係数g1+に応じて股関節角度φHをその目標値φ0+に近付けるようにユーザの大腿部に作用する(式(17)参照)。すなわち、股関節角度φHが目標値φ0+未満である場合、バネG1+による弾性力が股関節角度φHを増加させる方向(前方)に大腿部を動かすようにこの大腿部に作用する。また、股関節角度φHが目標値φ0+を超えた場合、バネG1+による弾性力が、股関節角度φHを減少させる方向(後方)に大腿部を動かすようにこの大腿部に作用する。
また、他方の仮想的なバネG1-による弾性力は、そのバネ係数g1-に応じて、股関節角度φHをこの目標値φ0-に近付けるようにユーザの大腿部に作用する(式(17)参照)。すなわち、股関節角度φHが目標値φ0-を超えている場合、バネG1-による弾性力が、股関節角度φHを減少させる方向(後方)に大腿部を動かすようにこの大腿部に作用する。また、股関節角度φHが目標値φ0-を下回った場合、バネG1-による弾性力が股関節角度φHを増加させる方向(前方)に大腿部を動かすようにこの大腿部に作用する。
また、前記のように大腿部の前方への動きおよび後方への動きの別に応じて複数の第2要素i(=L+,L−,R+,R−)のうち一部から偏重的に出力があるので、2つの仮想的なバネG1+およびG1-のそれぞれの弾性力が相殺される事態が回避される。
すなわち、左の大腿部が前方に動いているとき、この動きを支配する第2要素L+に応じた第2振動子yL+の値が他の第2要素L−に応じた第2振動子yL-の値より大きくなって、式(17)により表されている第1誘導振動子z1Lが次式(17a)のように表される(または近似される)。
z1L=g1+(ωmL)g+(φHL)yL+ …式(17a)
このため、左の大腿部が前方に動いているとき、2つの仮想的なバネG1+およびG1-のそれぞれの弾性力のうち、股関節角度φHを前側の目標値φ0+に近付けるようにユーザの大腿部に作用するバネG1+の弾性力が偏重的に反映されることとなる。これにより、2つの仮想的なバネG1+およびG1-のそれぞれの弾性力が相殺される事態が回避される。
また、左の大腿部が後方に動いているとき、この動きを支配する第2要素L−の出力が他の第2要素L+の出力より大きくなり、これによって第2要素L−に応じた第2振動子yL-の値が第2要素L+に応じた第2振動子yL+の値より大きくなって、式(17)によって表されている第1誘導振動子z1Lは次式(17b)のように表される(または近似される)。
z1L=−g1-(ωmL)g-(φHL)yL- …式(17b)
このため、左の大腿部が後方に動いているとき、2つの仮想のバネG1+およびG1-のそれぞれの弾性力のうち、股関節角度φHを後側の目標値φ0-に近付けるようにユーザの大腿部に作用する仮想のバネG1-の弾性力が偏重的に反映されることとなる。これにより、2つの仮想的なバネG1+およびG1-のそれぞれの弾性力が相殺される事態が回避される。これは、右の脚体(大腿部)の動きについても同様である。
なお、股関節角速度dφH/dtを変数とするシグモイド関数fs(式(15)参照)が第1係数g1+,g1-に組み込まれ、これにより股関節角速度dφH/dtの極性により特定される大腿部の前後への動きの別に応じて、複数の第2要素iの出力としての第2振動子yiのうち一部が偏重的に反映された形で第1トルクT1が生成されてもよい。これによっても、2つの仮想的なバネG1+およびG1-のそれぞれの弾性力が相殺される事態が回避されうる。
なお、股関節角度φHの目標値φ0+およびφ0-は、歩行補助装置200に設けられている設定ボタン(図示略)の操作を通じて、ユーザによって設定された目標とする「歩幅」に基づき、ユーザの股関節角度φHを含む脚体の姿勢の幾何学的条件にしたがって設定されてもよい。また、第1係数g1+(p0,ωM)およびg1-(p0,ωM)のそれぞれに含まれる係数ak+およびak-は、歩行補助装置200に設けられている設定ボタン(図示略)の操作を通じて、ユーザによって設定された目標とする「歩行率」に応じて設定されてもよい。
さらに、次式(19)にしたがって第2誘導振動子z2が設定される(図16/ステップS152)。
z2L=−g2+(p0,ωmL)(dφHL/dt)H+(φHL)yL+
+g2-(p0,ωmL)(dφHL/dt)H-(φHL)yL-,
z2R=−g2+(p0,ωmR)(dφHR/dt)H+(φHR)yR+
+g2-(p0,ωmR)(dφHR/dt)H-(φHR)yR- …式(19)
+g2-(p0,ωmL)(dφHL/dt)H-(φHL)yL-,
z2R=−g2+(p0,ωmR)(dφHR/dt)H+(φHR)yR+
+g2-(p0,ωmR)(dφHR/dt)H-(φHR)yR- …式(19)
ここで「g2+」「g2-」「H+」および「H-」は次式(19.1)〜(19.4)のそれぞれによって定義される関数である。
g2+(p0,ω)≡Σkbk+(p0)ωk
(bk+(p0):係数,k=0〜3) …式(19.1)
g2-(p0,ω)≡Σkbk-(p0)ωk
(bk-(p0):係数,k=0〜3) …式(19.2)
H+(φ)≡0(φ≦0),1(φ>0) …式(19.3)
H-(φ)≡0(φ>0),1(φ≦0) …式(19.4)
(bk+(p0):係数,k=0〜3) …式(19.1)
g2-(p0,ω)≡Σkbk-(p0)ωk
(bk-(p0):係数,k=0〜3) …式(19.2)
H+(φ)≡0(φ≦0),1(φ>0) …式(19.3)
H-(φ)≡0(φ>0),1(φ≦0) …式(19.4)
第2係数g2+(p0,ωM),g2-(p0,ωM)に含まれる係数bk+(p0),bk-(p0)は目標歩行比k0および歩行速度v(=Vb_xy_s)に応じた推奨歩行率p0(=(v/k0)1/2)の関数であり、ユーザの歩行率p(=v/q)と推奨歩行率p0との偏差δpに基づいて補正されうる。
第2誘導振動子z2は、第2係数g2+およびg2-をそれぞれダンパ係数(減衰係数)とする、図18に示されている2つの仮想的なダンパG2+およびG2-の減衰力として把握される。第2係数g2+およびg2-は、固有角速度ωMに応じて股関節角度φHの絶対値の増大を抑制する第2ポテンシャル(仮想的なダンパ(減衰要素)のポテンシャル)のグラディエントを特定するものである(式(19.1)(19.2)参照)。すなわち、第2誘導振動子z2は、第2ポテンシャルに応じた第2係数g2+,g2-を減数係数(ダンパ係数)とし、かつ、股関節角速度dφH/dtに応じて股関節角度φHの絶対値の増大を抑制する仮想的なダンパ等の減衰要素による減衰力として表現される。第2誘導振動子z2により、股関節角速度dφH/dtに応じて股関節角度φHの絶対値の増大が抑制されるように、かつ、筋肉の伸展状態から屈曲状態への移行時の粘性力等、ユーザの身体の減衰要素が反映されたリズムおよびスケールをもってユーザの運動が誘導され得る。
一方の仮想的なダンパG2+による減衰力は、そのダンパ係数g2+および股関節角速度dφH/dtに応じて、前側(屈曲側)への股関節角度φHの絶対値の増大を抑制するようにユーザの大腿部に作用する(式(19)参照)。すなわち、仮想的なダンパG2+による減衰力は、大腿部の前方への過剰な動きを抑制するようにこの大腿部に作用する。
また、他方の仮想的なダンパG2-による弾性力は、そのダンパ係数g2-および股関節角速度dφH/dtに応じて後側(伸展側)への股関節角度φHの絶対値の増大を抑制するようにユーザの大腿部に作用する(式(19)参照)。すなわち、仮想的なダンパG2-による減衰力は、大腿部の後方への過剰な動きを抑制するようにこの大腿部に作用する。
また、第2誘導振動子z2には、股関節角度φHの関数としての階段関数H+,H-が含まれている。したがって、2つの仮想的なダンパG2+およびG2-のそれぞれの減衰力が相殺される事態が回避される。
固有角速度ωMの関数である第2係数g2+(ωM)およびg2-(ωM)のそれぞれに含まれる係数bk+およびbk-は、目標運動設定ユニット311により設定される目標となる運動リズムに応じた係数として設定されうる。なお、当該係数bk+およびbk-は、歩行補助装置200に設けられている設定ボタン(図示略)の操作を通じて、ユーザによって設定された目標とする「歩行率」に応じて設定されてもよい。
そして、誘導振動子生成ユニット350により生成された第1誘導振動子z1=(z1L,z1R)と、第2誘導振動子z2=(z2L,z2R) とを含む誘導振動子z(=z1+z2)に応じた電流I=(IL,IR)が電池206から左右のアクチュエータ210にそれぞれ供給され、ユーザの大腿部に力(股関節回りのトルク)T=(TL,TR)が作用する。
以後、前記処理(図16/ステップS101,ステップS102,・・,ステップS150)が繰り返されることで、ユーザは歩行補助装置200によって股関節回りのトルクTが作用している状態で歩行する。
前記機能を発揮する本実施形態の歩行補助装置200およびその制御システム300によれば、主に次の理由により、ユーザの運動リズムをその目標とする運動リズムに一致させるようにユーザの運動が誘導されうる。
すなわち、股関節角速度dφH/dtが入力振動信号として第1モデルに入力されることにより、第1モデルの出力振動信号としての第1振動子xが生成される。「第1モデル」は入力振動信号と相互に引き込み合うことで固有角速度ωMに基づいて定まる角速度で時間変化する出力振動信号を生成するモデルである。これにより、「第1振動子」はファン・デル・ポル方程式(式(11)参照)の性質である「相互引き込み」の効果によってユーザの股関節角速度dφH/dtのリズムと調和しながら、固有角速度ωMに基づいて定まる自律的なリズムまたは角速度をもって振動または時間変化する。
しかるに、第1振動子xは、ユーザの歩行運動リズムと装置によるその運動の誘導リズムとの調和を図りながらユーザの歩行運動リズムを目標運動リズムに一致させる観点から、ユーザの股関節角速度dφH/dtと不適当な位相差を有している可能性がある。したがって、第1振動子xから直接的に誘導振動子zが生成された場合、この誘導振動子zに応じた角速度で時間変化する股関節回りのトルクTによって誘導されたユーザの歩行運動リズムが、目標リズムから乖離してしまうおそれがある。
そこで、仮想的な仮想モデルにおける2つの振動子θhおよびθmの関係がユーザの股関節角速度dφH/dtと第1振動子xとの位相差θHMを目標位相差θdに近づけるように設定される。詳細には、第1位相差θHMと当該2つの振動子θhおよびθmの位相差θhmとの差が最小になるように仮想モデルにおける相関係数εが設定される(図16/ステップS133)。また、当該2つの振動子θhおよびθmの位相差(第2位相差)θhmを目標位相差θdに近づけるように2つの振動子θhおよびθmの角速度ωhおよびωmが設定され、後者が新たな固有角速度ωMとして設定される(図16/ステップS134,ステップS135)。これにより、新たな固有角速度ωMは、股関節角速度dφH/dtにより特定されるユーザの運動リズムとの調和の、目標位相差θdに応じた調和を図りながら、ユーザの運動リズムを目標運動リズムに一致させるようにユーザの運動を誘導するという観点から適当な振動子の角速度に相当するものとなる。その後、新たな固有角速度ωMが反映された形での第1振動子xの生成(図16/ステップS110)が繰り返されることにより、第1振動子xのリズムと股関節角速度dφH/dt等の第1運動振動子のリズムとの調和を図りながら、第1位相差θHMの目標位相差θdからの偏差を徐々に減少させることができる。これにより、ユーザの運動リズムが急に変化した場合でも、この変化への誘導振動子zひいてはトルクTの追従性を、ユーザに違和感等を与えない観点から適当なものとし、ユーザの運動リズムを目標運動リズムに適度なペースで徐々に一致させることができる。
続いて、股関節角度φHが入力振動信号として第2モデルに入力され、第2モデルからの出力振動信号として第2振動子yが生成される。「第2モデル」は入力振動信号に基づき、新たな固有角速度ωMに基づいて定まる角速度で時間変化する出力振動信号を生成するモデルである。これにより、当該新たに設定された固有角速度ωMひいては出力振動信号の時定数τ1i(ωML)が反映された形でに基づいて定まる角速度で時間変化する第2振動子yiが生成される(図16/ステップS140)。さらに、第2振動子yiに基づいて誘導振動子zが生成される(図16/ステップS150)。これにより、この誘導振動子zに応じて大腿部に作用するトルクTによって誘導されたユーザの運動リズムと誘導リズムとを調和させながら、ユーザの運動リズムを目標リズムに一致させることができる。これは、歩行補助装置200による誘導リズムがユーザの運動リズムに調和し、かつ、ユーザの運動リズムも歩行補助装置200による誘導リズムに調和するという形のユーザ(人間)と装置(機械)との調和(相互の歩み寄り)を意味する。
また、ユーザの運動振動子と歩行補助装置200による誘導振動子zとの位相差が、正の目標位相差に一致するようにユーザの運動が誘導されることにより、ユーザは歩行補助装置200を先導する形で歩行(運動)することができる。さらに、ユーザの運動振動子と歩行補助装置200による誘導振動子zとの位相差が、負の目標位相差に一致するようにユーザの運動が誘導されることにより、ユーザは歩行補助装置200によって先導される形で歩行(運動)することができる。
前記機能を発揮する歩行補助装置200およびその制御システム300によれば、主に次の理由により、ユーザの運動スケールをその目標とするスケールに一致させるようにユーザの運動が誘導されうる。
すなわち、第1誘導振動子z1に含まれている第1係数g1+,g1-は、ユーザの股関節角度φHをその目標値φ0+,φ0-に近付けるための仮想的なバネの弾性係数を表す。また、第1係数g1+,g1-は固有角速度ωM(=仮想誘導振動子θmの角速度ωm)に応じたものである(式(17.1)(17.2)参照)。固有角速度ωMは前記のようにユーザの運動リズムとの調和を図りつつ、ユーザの運動リズムを目標リズムに一致させるようにユーザの運動を誘導するという観点から適当な振動子の角速度に相当する。
さらに、第2誘導振動子z2に含まれている第2係数g2+,g2-は、股関節角度φHの絶対値の増大を抑制する仮想的なダンパの減衰係数を表す。また、第2係数g2+,g2-は固有角速度ωMに応じたものである(式(19.1)(19.2)参照)。固有角速度ωMは前記のようにユーザの運動リズムとの調和を図りつつ、ユーザの運動リズムを目標リズムに一致させるようにユーザの運動を誘導するという観点から適当な振動子の角速度に相当する。
したがって、新たな固有角速度ωMに応じた第1係数g1+(ωM),g1-(ωM)が反映された形で第1誘導振動子z1が生成され、かつ、固有角速度ωMに応じた第2係数g2+(ωM),g2-(ωM)が反映された形で第2誘導振動子z2が生成されることで、ユーザの運動リズムと誘導振動子zのリズムとの調和、およびユーザの運動リズムと目標リズムとの一致を図りながら、ユーザの運動スケールが目標スケールに近付くようにユーザの運動が誘導されうる。
以上のように、歩行補助装置200は、ユーザの運動のリズムおよびスケールをその目標とするリズムおよびスケールにそれぞれ一致させるようにユーザの運動(歩行)を誘導しうる。
また、ユーザの歩行状態に応じて、このユーザの目標運動リズムおよびスケールに応じた係数(φ0+,φ0-,ak+,ak-,bk+,bk-,・・)等が設定される(図16/ステップS111)。したがって、ユーザの運動リズムおよびスケールを、このユーザの「歩行状態」に応じた目標リズムおよびスケールのそれぞれに一致させる観点から適当なリズムおよびスケールをもってユーザの運動が誘導されうる。このとき、全方向移動杖1から受信したユーザの歩行速度Vb_xy_sに基づいて歩行補助装置200の動作が制御される。これにより、全方向移動杖1と歩行補助装置200とが同期した速度により協調して動作する。
さらに、ユーザの歩行状態に応じて、目標位相差θdが設定される(図16/ステップS112)。したがって、ユーザの股関節角速度dφH/dtと歩行補助装置200による誘導振動子z(ひいては股関節回りのトルクT)との位相差が、ユーザの「歩行状態」に応じた目標位相差θdに近づくように、このユーザの運動が誘導されうる。これにより、ユーザの歩行状態の変動に応じて、ユーザの運動リズムを目標リズムに近づける観点から適当なリズムでユーザの運動が誘導(補助)される。
また、複数の第1要素の相関関係を表現する第1モデルにしたがって、第1要素の出力振動信号として第1振動子xが生成される(式(11),図16/ステップS120)。これにより、ユーザの実際の運動に関係する複数の第1要素の相関関係を第1モデルにおける複数の出力振動信号の関係を表す第1相関係数gに反映させることで、当該複数の第1要素の相関関係に鑑みて適当な第1振動子xが生成されうる。たとえば複数の第1要素として左右の脚体や同一脚体の複数の関節が想定された場合、交互に前後に動く等の左右の脚体の定性的関係や股関節回りの脚体運動と膝関節回りの脚体運動との周期や位相差等の同一脚体の関節間の定性的関係等が反映された形で第1振動子xが生成される。したがって、ユーザの運動を誘導する誘導振動子のリズムおよびスケールを当該関係に鑑みて適当なものとすることができる。
さらに、複数の第2要素の相関関係を表現する第2モデルにしたがって、第2要素の出力振動信号として第2振動子yiが生成される(式(15),図16/ステップS140)。これにより、ユーザの実際の運動に関係する現実の複数の第2要素の相関関係を第2モデルにしたがって生成される複数の(第2要素の)出力振動信号の相関関係を表す第2相関係数wi/jに反映させることで、当該複数の第2要素の相関関係に鑑みて適当な第2振動子が生成されうる。たとえば複数の第2要素としてユーザの複数の神経(ニューロン)が想定された場合、左右の脚体による歩行を支配するニューロン間の定性的関係等が反映された形で第2振動子yiが生成される。したがって、ユーザの運動を誘導する誘導振動子のリズムおよびスケールを当該関係に鑑みて適当なものとすることができる。
ここで、ユーザの運動のリズムおよびスケールをその目標とするリズムおよびスケールにそれぞれ一致させるようにユーザの運動を誘導しうるという本実施形態の歩行補助装置200の作用効果について、図19および図20を用いて説明する。
この作用効果は、図19および図20にそれぞれ示されている「歩行率」−「歩幅」平面において原点を通る直線(たとえば、直線L1,L2)の傾きとして表現される「歩行比(=歩幅/歩行率)」が、目標とする歩行比に一致することを意味する。これは、歩行率および歩幅がそれぞれユーザの歩行(運動)のリズムおよびスケールを表しているため、ユーザの歩行運動リズムおよびスケールが目標リズムおよびスケールにそれぞれ一致した場合、ユーザの歩行運動リズムおよびスケールの相関関係が目標リズムおよびスケールの相関関係に一致することになるからである。
たとえばユーザが図19に示されている双曲線vにより表される「速度(=歩行率×歩幅)」、並びに双曲線v上の点sにより表される「歩行率」および「歩幅」で歩行している状態を考える。双曲線vにより表される速度が目標として設定され、かつ、直線L1により表される歩行比が目標として設定されている場合、当該双曲線vおよび直線L1の交点s1により表される歩行率および歩幅をもってユーザが歩行するように、歩行補助装置200によってユーザの動きが誘導(補助)される(図19/矢印A1参照)。すなわち、ユーザの歩行状態は、歩行速度が維持されたまま、大股でゆっくりと歩行する状態へと徐々に誘導される。また、この状態で双曲線vにより表される速度が目標として設定され、かつ、直線L2により表される歩行比が目標として設定されている場合、反比例曲線vおよび直線L2の交点s2により表される歩行率および歩幅をもってユーザが歩行するように、歩行補助装置200によってユーザの動きが誘導(補助)される(図19/矢印A2)。これにより、ユーザの歩行状態は、歩行速度が維持されたまま、ユーザが小股でせわしなく歩行する状態へと徐々に誘導される。
また、たとえば、ユーザが図20に示されている点sにより表される「歩行率」および「歩幅」で歩行している状態を考える。点sを通る縦直線により表される歩行率が目標として設定され、かつ、直線L1により表される歩行比が目標として設定されている場合、当該縦直線および直線L1の交点s1により表される歩行率および歩幅をもってユーザが歩行するように、歩行補助装置200によってユーザの動きが誘導(補助)される(図20/矢印A1参照)。すなわち、ユーザの歩行状態は、ユーザが歩行リズムを維持したまま大股で歩行する状態へと徐々に誘導される。また、この状態で点sを通る縦直線により表される歩行率が目標として設定され、かつ、直線L2により表される歩行比が目標として設定されている場合、当該縦直線および直線L2の交点s2により表される歩行率および歩幅をもってユーザが歩行するように、歩行補助装置200によってユーザの動きが誘導(補助)される(図20/矢印A2)。これにより、ユーザの歩行状態は、ユーザが歩行リズムを維持したまま小股で歩行する状態へと徐々に誘導される。
[第2の実施形態]
上述した第1の実施形態の歩行アシストシステムは、全方向移動杖1において得られた移動速度に基づいて歩行補助装置200を制御しているが、第2の実施形態では、歩行補助装置200において測定したユーザの歩行速度に基づいて全方向移動杖1を制御する。
以下、第1の実施形態との差分を説明する。
上述した第1の実施形態の歩行アシストシステムは、全方向移動杖1において得られた移動速度に基づいて歩行補助装置200を制御しているが、第2の実施形態では、歩行補助装置200において測定したユーザの歩行速度に基づいて全方向移動杖1を制御する。
以下、第1の実施形態との差分を説明する。
まず、本実施形態における全方向移動杖1について説明する。
本実施形態における全方向移動杖1の制御ユニット50は、ステップS9の車両制御演算処理を実行するための機能として、図10に示す機能に代えて、図21のブロック図で示す機能を備えている。
本実施形態における全方向移動杖1の制御ユニット50は、ステップS9の車両制御演算処理を実行するための機能として、図10に示す機能に代えて、図21のブロック図で示す機能を備えている。
同図において、図10と同じ構成には同じ符号を付し、その説明を省略する。図21において、図10に示す第1の実施形態と異なる点は、要求重心速度生成部74に代えて要求重心速度生成部74aを備え、通信部89に代えて通信部89aを備える点である。通信部89aは、歩行補助装置200から歩行速度Vb_xy_syncを無線または有線により受信し、要求重心速度生成部74aに出力する。また、要求重心速度生成部74aは、歩行補助装置200から受信した同期歩行速度Vb_xy_syncに基づいて要求重心速度Vb_xy_aimを決定する。
上記の構成により、本実施形態の全方向移動杖1において、要求重心速度生成部74aは、歩行モードの場合、通信部89aを介して歩行補助装置200から受信した同期歩行速度Vb_xy_syncを要求重心速度Vb_xy_aimに設定する。
次に、本実施形態における歩行補助装置200について説明する。
図22は、本実施形態における歩行補助装置200の制御システム300の構成を示すブロック図である。同図において、図15に示す制御システム300と同じ構成には同じ符号を付し、その説明を省略する。同図において、本実施形態の制御システム300が図10に示す第1の実施形態と異なる点は、通信部390に代えて通信部390aと接続される点、誘導振動子生成ユニット350に代えて誘導振動子生成ユニット350aを備える点、及び、目標速度生成ユニット360をさらに備える点である。
図22は、本実施形態における歩行補助装置200の制御システム300の構成を示すブロック図である。同図において、図15に示す制御システム300と同じ構成には同じ符号を付し、その説明を省略する。同図において、本実施形態の制御システム300が図10に示す第1の実施形態と異なる点は、通信部390に代えて通信部390aと接続される点、誘導振動子生成ユニット350に代えて誘導振動子生成ユニット350aを備える点、及び、目標速度生成ユニット360をさらに備える点である。
誘導振動子生成ユニット350aは、固有角速度設定ユニット330により設定された固有角速度ωMと、第2振動子生成ユニット340により生成された第2振動子yとに基づき、歩行補助装置200による誘導振動子zを生成する。目標速度生成ユニット360は、股関節角度センサ212より出力された股関節角度φHから得られる歩行率及び歩幅に基づき、全方向移動杖1に指示する歩行速度Vb_xy_syncを算出する。通信部390aは、目標速度生成ユニット360が算出した歩行速度Vb_xy_syncを同期移動速度として無線または有線により全方向移動杖1に送信する。
本実施形態の制御システム300は、以下に示す処理を除き、第1の実施形態と同様の処理を行なう。
つまり、誘導振動子生成ユニット350aは、運動振動子測定ユニット302によって測定された股関節角度φHと、運動振動子測定ユニット302によって測定された股関節角速度dφH/dtと、第2振動子生成ユニット340により生成された第2振動子yiと、固有角速度設定ユニット330によって設定された新たな固有角速度ωMとに基づき、誘導振動子zを設定する(図16/ステップS150)。
つまり、誘導振動子生成ユニット350aは、運動振動子測定ユニット302によって測定された股関節角度φHと、運動振動子測定ユニット302によって測定された股関節角速度dφH/dtと、第2振動子生成ユニット340により生成された第2振動子yiと、固有角速度設定ユニット330によって設定された新たな固有角速度ωMとに基づき、誘導振動子zを設定する(図16/ステップS150)。
具体的には、誘導振動子生成ユニット350aは、第1の実施形態における式(17)に代えて、次式(17’)にしたがって第1誘導振動子z1を生成する(図16/ステップS151)。
z1L=g1+(ωML)g+(φHL)yL+−g1-(ωML)g-(φHL)yL-,
z1R=g1+(ωMR)g+(φHR)yR+−g1-(ωMR)g-(φHR)yR- …式(17’)
z1R=g1+(ωMR)g+(φHR)yR+−g1-(ωMR)g-(φHR)yR- …式(17’)
ここで「g1+」「g1-」「g+」および「g-」は次式(17.1’)〜(17.4’)のそれぞれによって定義される関数である。
g1+(ω)≡Σkak+ωk (ak+:係数,k=0〜3) …式(17.1’)
g1-(ω)≡Σkak-ωk (ak-:係数,k=0〜3) …式(17.2’)
g+(φ)≡c1+(φ−φ0+)+c2+(φ−φ0+)3
(c1+,c2+:係数,φ0+:屈曲方向の股関節角度φHの目標値) …式(17.3’)
g-(φ)≡c1-(φ−φ0-)+c2-(φ−φ0-)3
(c1-,c2-:係数,φ0-:伸展方向の股関節角度φHの目標値) …式(17.4’)
g1-(ω)≡Σkak-ωk (ak-:係数,k=0〜3) …式(17.2’)
g+(φ)≡c1+(φ−φ0+)+c2+(φ−φ0+)3
(c1+,c2+:係数,φ0+:屈曲方向の股関節角度φHの目標値) …式(17.3’)
g-(φ)≡c1-(φ−φ0-)+c2-(φ−φ0-)3
(c1-,c2-:係数,φ0-:伸展方向の股関節角度φHの目標値) …式(17.4’)
第1誘導振動子z1は、第1係数g1+およびg1-をそれぞれバネ係数(弾性係数)とする、図18に示されている2つの仮想的なバネG1+およびG1-の弾性力として把握される。すなわち、第1誘導振動子z1は、第1係数g1+,g1-を弾性係数(バネ係数)とし、かつ、股関節角度φHの値を目標値φ0+およびφ0-に復元させる仮想的なバネ等の弾性要素による弾性力として表現される。これにより、筋肉の収縮状態から伸展状態への移行時の弾性力等、ユーザの身体の弾性要素が反映されたリズムおよびスケールをもってユーザの運動が誘導されうる。
なお、左の大腿部が前方に動いているとき、この動きを支配する第2要素L+に応じた第2振動子yL+の値が他の第2要素L−に応じた第2振動子yL-の値より大きくなって、式(17’)により表されている第1誘導振動z1Lは、第1の実施形態における式(17a)のように表される(または近似される)。
また、左の大腿部が後方に動いているとき、この動きを支配する第2要素L−の出力が他の第2要素L+の出力より大きくなり、これによって第2要素L−に応じた第2振動子yL-の値が第2要素L+に応じた第2振動子yL+の値より大きくなって、式(17’)によって表されている第1誘導振動子z1Lは、第1の実施形態における式(17b)のように表される(または近似される)。
続いて、誘導振動子生成ユニット350aは、第1の実施形態における式(19)に代えて、次式(19’)にしたがって第2誘導振動子z2を生成する(図16/ステップS152)。
z2L=−g2+(ωmL)(dφHL/dt)H+(φHL)yL+
+g2-(ωmL)(dφHL/dt)H-(φHL)yL-,
z2R=−g2+(ωmR)(dφHR/dt)H+(φHR)yR+
+g2-(ωmR)(dφHR/dt)H-(φHR)yR- …式(19’)
+g2-(ωmL)(dφHL/dt)H-(φHL)yL-,
z2R=−g2+(ωmR)(dφHR/dt)H+(φHR)yR+
+g2-(ωmR)(dφHR/dt)H-(φHR)yR- …式(19’)
ここで「g2+」「g2-」「H+」および「H-」は次式(19.1’)〜(19.4’)のそれぞれによって定義される関数である。
g2+(ω)≡Σkbk+ωk (bk+:係数,k=0〜3) …式(19.1’)
g2-(ω)≡Σkbk-ωk (bk-:係数,k=0〜3) …式(19.2’)
H+(φ)≡0(φ≦0),1(φ>0) …式(19.3’)
H-(φ)≡0(φ>0),1(φ≦0) …式(19.4’)
g2-(ω)≡Σkbk-ωk (bk-:係数,k=0〜3) …式(19.2’)
H+(φ)≡0(φ≦0),1(φ>0) …式(19.3’)
H-(φ)≡0(φ>0),1(φ≦0) …式(19.4’)
第2誘導振動子z2は、第2係数g2+およびg2-をそれぞれダンパ係数(減衰係数)とする、図18に示されている2つの仮想的なダンパG2+およびG2-の減衰力として把握される。すなわち、第2誘導振動子z2は第2係数g2+,g2-を減数係数(ダンパ係数)とし、かつ、股関節角速度dφH/dtに応じて股関節角度φHの絶対値の増大を抑制する仮想的なダンパ等の減衰要素による減衰力として表現される。これにより、筋肉の伸展状態から屈曲状態への移行時の粘性力等、ユーザの身体の減衰要素が反映されたリズムおよびスケールをもってユーザの運動が誘導されうる。
そして、目標速度生成ユニット360は、股関節角度センサ212より出力された時系列の股関節角度φHから、1分間あたりの歩数である歩行率と歩幅を算出する。歩行による股関節角度φHは周期的に変換するため、目標速度生成ユニット360は、その周期により歩行率を得る。さらに、目標速度生成ユニット360は、股関節角度φHの変化とユーザの脚体の長さとから歩幅を得る。そして、以下の式(21)により、全方向移動杖1と同期した目標歩行速度となる同期歩行速度Vb_xy_syncを算出する。
歩行速度[m/min]=歩行率[step/min]×歩幅[m/step]
同期歩行速度Vb_xy_sync=歩行速度[m/min]+bias …式(21)
同期歩行速度Vb_xy_sync=歩行速度[m/min]+bias …式(21)
biasを0より大きな値とすることで、全方向移動杖1が歩行速度よりも速くユーザを前方に誘導することができ、0とすることで、全方向移動杖1がユーザの歩行速度と同じ速度により歩行を誘導することができる。つまり、biasの値を適切に設定することにより、全方向移動杖1と歩行補助装置200を所定の速度関係で動作させることが可能となる。
通信部390aは、目標速度生成ユニット360により算出された同期歩行速度Vb_xy_syncを全方向移動杖1に送信する。
通信部390aは、目標速度生成ユニット360により算出された同期歩行速度Vb_xy_syncを全方向移動杖1に送信する。
以上、本発明の第1及び第2の実施形態の歩行アシストシステムについて説明してきたが、以下のように歩行アシストシステムを構成してもよい。
すなわち、第1の実施形態に、第2の実施形態を実現する構成を付加し、杖主導モードの場合は、第1の実施形態の動作を行い、歩行補助装置主導モードの場合は、第2の実施形態の動作を行う。杖主導モード、歩行補助装置主導モードの選択は、図示しない入力手段により、全方向移動杖1の制御ユニット50、及び、歩行補助装置200の制御システム300に入力する。
すなわち、第1の実施形態に、第2の実施形態を実現する構成を付加し、杖主導モードの場合は、第1の実施形態の動作を行い、歩行補助装置主導モードの場合は、第2の実施形態の動作を行う。杖主導モード、歩行補助装置主導モードの選択は、図示しない入力手段により、全方向移動杖1の制御ユニット50、及び、歩行補助装置200の制御システム300に入力する。
また、歩行アシストシステムとして、第2の実施形態の全方向移動杖1と、第1の実施形態の歩行補助装置200を用い、全方向移動杖1の制御ユニット50及び歩行補助装置200の制御システム300に適宜の入力手段により目標速度を設定するようにしてもよい。この場合、全方向移動杖1の制御ユニット50は歩行補助装置200から受信したVb_xy_syncに代えて、設定された目標速度を用いて制御を行い、同様に、歩行補助装置200の制御システム300は全方向移動杖1から受信したVb_xy_sに代えて、設定された目標速度を用いて制御を行なう。この入力手段として、ジョイスティックや、無線によるモートコントローラなどを用いることにより、例えば、リハビリ担当者がリハビリ中のユーザの状態に応じて歩行速度を変えることができる。
このときさらに、全方向移動杖1の制御ユニット50及び歩行補助装置200の制御システム300に、目標距離や目標時間を設定するようにしてもよい。この場合、全方向移動杖1の制御ユニット50及び歩行補助装置200の制御システム300は、移動速度及び時間から算出される距離が目標距離に達したとき、あるいは、設定された目標時間が経過した場合に、目標速度を用いた制御を終了する。
また、第1の実施形態において、全方向移動杖1の制御ユニット50に歩行経路を設定するようにしてもよい。この場合、全方向移動杖1の重心速度算出部72は、予め設定された歩行経路に従って、x方向、y方向を決定する。
また、第1の実施形態において、全方向移動杖1の制御ユニット50に歩行経路を設定するようにしてもよい。この場合、全方向移動杖1の重心速度算出部72は、予め設定された歩行経路に従って、x方向、y方向を決定する。
以上説明した本発明の実施形態によれば、ユーザは、歩行補助装置200による脚の振り出しの補助を受けならがら、全方向移動杖1によって体重を支えて歩行することが可能となる。すなわち、ユーザが支柱フレーム13を把持し、傾斜させることによって移動する全方向移動杖1と、歩行補助装置200によるユーザの脚の振り出しの補助とを、同期した目標移動速度により制御することができるため、ユーザのバランスや体重を支え、転倒などを防ぎながら、安定した状態で歩行を補助することができる。
また、全方向移動杖1において得られた移動速度に基づいて、歩行補助装置200によるユーザの脚の振り出しの補助を制御することができるため、ユーザによる全方向移動杖1の操作に従って、ユーザの所望速度での歩行を補助することができる。
また、歩行補助装置200において検出した移動速度に基づいて、全方向移動杖1の移動速度を制御することができるため、ユーザの歩行速度に従って全方向移動杖1が移動し、ユーザはバランスや体重を支えながら歩行することが可能となる。
また、全方向移動杖1及び歩行補助装置200に、リハビリメニュー等に従った目標速度、目標時間、目標距離、歩行経路を設定することによって、全方向移動杖1及び歩行補助装置200が協働して、リハビリメニューに沿ったリハビリを補助し、ユーザを牽引することができる。
また、歩行補助装置200において検出した移動速度に基づいて、全方向移動杖1の移動速度を制御することができるため、ユーザの歩行速度に従って全方向移動杖1が移動し、ユーザはバランスや体重を支えながら歩行することが可能となる。
また、全方向移動杖1及び歩行補助装置200に、リハビリメニュー等に従った目標速度、目標時間、目標距離、歩行経路を設定することによって、全方向移動杖1及び歩行補助装置200が協働して、リハビリメニューに沿ったリハビリを補助し、ユーザを牽引することができる。
1…全方向移動杖、5…車輪体(移動動作部)、7…アクチュエータ装置(移動駆動部)、9…基体、13…支柱フレーム、74…要求重心速度生成部(移動体制御部)、74a…要求重心速度生成部(移動体制御部)、76…重心速度制限部、80…姿勢制御演算部(移動体制御部)、82…モータ指令演算部(移動体制御部)、89…通信部、89a…通信部、200…歩行補助装置、202…腰部装具(第1装着部)、206…力伝達部材(駆動部)、204…大腿部装具(第2装着部)、210…アクチュエータ(駆動部)、212…股関節角度センサ、300…制御システム(歩行補助制御部)、302…運動振動子測定ユニット、310…状態測定ユニット、311…目標運動設定ユニット、312…目標位相差設定ユニット、320…第1振動子生成ユニット、330…固有角速度設定ユニット、331…第1位相差設定ユニット、332…第2位相差設定ユニット、333…相関係数設定ユニット、334…第1角速度設定ユニット、335…第2角速度設定ユニット、340…第2振動子生成ユニット、350…誘導振動子生成ユニット、350a…誘導振動子生成ユニット、360…目標速度生成ユニット、390…通信部、390a…通信部
Claims (3)
- 倒立振子型移動体と歩行補助装置とを備えた歩行アシストシステムであって、
前記倒立振子型移動体は、
ユーザの操作により傾斜する基体と、
前記基体に接続され、前記基体を床面上の全方向に移動可能とする移動動作部と、
前記移動動作部を駆動する移動駆動部と、
前記ユーザの操作による前記基体の傾斜の動きと目標移動速度とに応じて前記移動駆動部を駆動制御する移動体制御部とを備え、
前記歩行補助装置は、
前記ユーザの上体に装着される第1装着部と、
前記ユーザの脚体に装着される第2装着部と、
前記第2装着部を駆動する駆動部と、
前記ユーザの脚体の動きと目標移動速度とに応じて前記駆動部の動作を制御する歩行補助制御部とを備え、
前記移動体制御部が前記移動駆動部を駆動制御するために使用する前記目標移動速度と、前記歩行補助制御部が前記駆動部の動作を制御するために使用する前記目標移動速度とが所定の速度関係になるように制御される、
ことを特徴とする歩行アシストシステム。 - 所定の速度関係になるように制御される前記目標移動速度は、前記基体の傾斜の動きと前記倒立振子型移動体の移動速度とに基づき決定されることを特徴とする請求項1に記載の歩行アシストシステム。
- 所定の速度関係になるように制御される前記目標移動速度は、歩行補助装置が備えるセンサにより検出された前記ユーザの脚体の動きに基づき決定されることを特徴とする請求項1に記載の歩行アシストシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009217924A JP2011062463A (ja) | 2009-09-18 | 2009-09-18 | 歩行アシストシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009217924A JP2011062463A (ja) | 2009-09-18 | 2009-09-18 | 歩行アシストシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011062463A true JP2011062463A (ja) | 2011-03-31 |
Family
ID=43949352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009217924A Pending JP2011062463A (ja) | 2009-09-18 | 2009-09-18 | 歩行アシストシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011062463A (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013046840A1 (ja) | 2011-09-26 | 2013-04-04 | ソニー株式会社 | 運動補助装置及び運動補助方法、コンピューター・プログラム、並びにプログラム記録媒体 |
KR101268401B1 (ko) | 2011-07-19 | 2013-05-28 | 한국생산기술연구원 | 로봇 제어용 클러치 시스템 및 보행 보조 로봇 시스템, 보행 보조 로봇의 동작 산출 방법 |
JP2014239921A (ja) * | 2010-07-30 | 2014-12-25 | トヨタ モーター エンジニアリング アンド マニュファクチャリング ノース アメリカ,インコーポレイティド | ロボット型ステッキ装置 |
JP2016504937A (ja) * | 2013-01-17 | 2016-02-18 | リウォーク ロボティックス リミテッド | クラッチ付の歩行デバイス |
US9687408B2 (en) | 2012-11-28 | 2017-06-27 | Sony Corporation | Exercise support apparatus and exercise support method |
JP2018001292A (ja) * | 2016-06-28 | 2018-01-11 | 株式会社クボタ | アシストスーツ |
US10123932B2 (en) | 2012-10-04 | 2018-11-13 | Sony Corporation | Motion assist device and motion assist method |
JP2018187050A (ja) * | 2017-05-02 | 2018-11-29 | 学校法人 名城大学 | 歩行補助具 |
KR101913187B1 (ko) * | 2017-09-06 | 2019-01-14 | 주식회사 쎄텍 | 편마비 환자용 보행 보조장치 및 그 제어방법 |
CN109380827A (zh) * | 2017-08-10 | 2019-02-26 | 本田技研工业株式会社 | 步行辅助装置及步行辅助装置的控制方法 |
JP2019033819A (ja) * | 2017-08-10 | 2019-03-07 | 本田技研工業株式会社 | 歩行支援装置 |
JP2019033818A (ja) * | 2017-08-10 | 2019-03-07 | 本田技研工業株式会社 | 歩行支援装置の制御方法 |
CN110728308A (zh) * | 2019-09-25 | 2020-01-24 | 华南理工大学 | 基于改进Yolov2目标检测和语音识别的交互式导盲系统及方法 |
DE102019101145A1 (de) * | 2019-01-17 | 2020-03-05 | Otto Bock Healthcare Products Gmbh | Gehhilfe und Verfahren zur Steuerung einer Gehhilfe |
-
2009
- 2009-09-18 JP JP2009217924A patent/JP2011062463A/ja active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014239921A (ja) * | 2010-07-30 | 2014-12-25 | トヨタ モーター エンジニアリング アンド マニュファクチャリング ノース アメリカ,インコーポレイティド | ロボット型ステッキ装置 |
JP2016105770A (ja) * | 2010-07-30 | 2016-06-16 | トヨタ モーター エンジニアリング アンド マニュファクチャリング ノース アメリカ,インコーポレイティド | ロボット型ステッキ装置 |
KR101268401B1 (ko) | 2011-07-19 | 2013-05-28 | 한국생산기술연구원 | 로봇 제어용 클러치 시스템 및 보행 보조 로봇 시스템, 보행 보조 로봇의 동작 산출 방법 |
US9980842B2 (en) | 2011-09-26 | 2018-05-29 | Sony Corporation | Motion assist device and motion assist method, computer program, and program recording medium |
WO2013046840A1 (ja) | 2011-09-26 | 2013-04-04 | ソニー株式会社 | 運動補助装置及び運動補助方法、コンピューター・プログラム、並びにプログラム記録媒体 |
US10123932B2 (en) | 2012-10-04 | 2018-11-13 | Sony Corporation | Motion assist device and motion assist method |
US9687408B2 (en) | 2012-11-28 | 2017-06-27 | Sony Corporation | Exercise support apparatus and exercise support method |
JP2016504937A (ja) * | 2013-01-17 | 2016-02-18 | リウォーク ロボティックス リミテッド | クラッチ付の歩行デバイス |
US10137050B2 (en) | 2013-01-17 | 2018-11-27 | Rewalk Robotics Ltd. | Gait device with a crutch |
JP2018001292A (ja) * | 2016-06-28 | 2018-01-11 | 株式会社クボタ | アシストスーツ |
JP2018187050A (ja) * | 2017-05-02 | 2018-11-29 | 学校法人 名城大学 | 歩行補助具 |
CN109380827A (zh) * | 2017-08-10 | 2019-02-26 | 本田技研工业株式会社 | 步行辅助装置及步行辅助装置的控制方法 |
JP2019033819A (ja) * | 2017-08-10 | 2019-03-07 | 本田技研工業株式会社 | 歩行支援装置 |
JP2019033818A (ja) * | 2017-08-10 | 2019-03-07 | 本田技研工業株式会社 | 歩行支援装置の制御方法 |
US10667978B2 (en) | 2017-08-10 | 2020-06-02 | Honda Motor Co., Ltd. | Walking assist device and method of controlling walking assist device |
KR101913187B1 (ko) * | 2017-09-06 | 2019-01-14 | 주식회사 쎄텍 | 편마비 환자용 보행 보조장치 및 그 제어방법 |
DE102019101145A1 (de) * | 2019-01-17 | 2020-03-05 | Otto Bock Healthcare Products Gmbh | Gehhilfe und Verfahren zur Steuerung einer Gehhilfe |
CN110728308A (zh) * | 2019-09-25 | 2020-01-24 | 华南理工大学 | 基于改进Yolov2目标检测和语音识别的交互式导盲系统及方法 |
CN110728308B (zh) * | 2019-09-25 | 2024-04-05 | 华南理工大学 | 基于改进Yolov2目标检测和语音识别的交互式导盲系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011062463A (ja) | 歩行アシストシステム | |
JP4008464B2 (ja) | 運動誘導装置 | |
JP4185108B2 (ja) | 運動管理システム | |
JP4271711B2 (ja) | 運動補助装置 | |
US8298164B2 (en) | Motion assisting device | |
JP4008465B2 (ja) | 運動誘導装置 | |
US8202234B2 (en) | Control device for walking assistance device | |
JP4271712B2 (ja) | 運動補助装置 | |
JP5588738B2 (ja) | 歩行運動補助装置 | |
WO2004017890A1 (ja) | 歩行補助装置の制御システム | |
US20140260714A1 (en) | Gyroscopic-assisted device to control balance | |
US20160184165A1 (en) | Swinging joint device, walking-ability assisting device, and method for controlling rigidity of swinging joint | |
JP6550877B2 (ja) | 脚力支援装置 | |
JP2011115323A (ja) | 歩行介助ロボット | |
JP2013111408A (ja) | 歩行補助装置 | |
JP2017518098A (ja) | 歩行を可能にするハンドコントロールを備えたエクソスケルトンスーツ | |
JP2011063241A (ja) | 倒立振子移動体 | |
JP5414804B2 (ja) | 倒立振子型車両の制御装置 | |
JP5355701B2 (ja) | 倒立振子型車両の制御装置 | |
JP5355700B2 (ja) | 倒立振子型移動体の制御装置 | |
JP6690229B2 (ja) | 揺動関節装置 | |
CN107084783B (zh) | 用于往复移动体的频率检测器以及摆动关节装置 | |
JP5430317B2 (ja) | 倒立振子型車両の制御装置 | |
JP4234765B1 (ja) | 運動補助装置 | |
JP5358371B2 (ja) | 全方向移動車両 |