以下、本発明の実施の形態について、図1〜図61を参照しながら説明する。
<実施例1> 実施例1について、図1〜図13、図61を参照しながら説明する。実施例1では、下肢の動きに基づいて、制御対象を動作させるための制御指令を生成する。
図1(a)、図2(a)及び図3(a)は、ロボットアーム等の制御対象80の動作を模式的に示す説明図である。図1(b)、図2(b−1)、図2(b−2)及び図3(b)は、大腿14及び下腿16を含む下肢12の基準動作を模式的に示す説明図である。符号18は、足を示す。図1(c)、図2(c−1)、図2(c−2)及び図3(c)は、下肢12の実際の動作を模式的に示す説明図である。
制御対象80の動作と、下肢12の基準動作とを、図1(a)及び(b)、図2(a)、(b−1)及び(b−2)、図3(a)及び(b)に示すように対応付けると、制御対象80の動作と、制御対象80を動作させるための下肢12の動作との対応関係が容易に理解できるため、下肢12を動かして、制御対象80を容易に動作させることができる。
すなわち、図1(a)において矢印92で示すように、制御対象80を前後方向に直線移動させるための制御指令と、図1(b)において矢印52で示すように、基準部位である足首17を前後方向に直線移動させる基準動作とを、対応付ける。図2(a)において矢印94で示すように、制御対象80を左右方向に直線移動させるための制御指令と、図2(b−1)及び(b−2)において矢印54a,54bで示すように、基準部位である足首17を左右方向に直線移動させる基準動作とを、対応付ける。図3(a)において矢印96で示すように、制御対象80を上下方向に直線移動させるための制御指令と、図3(b)において矢印56で示すように、基準部位である足首17を上下方向に直線移動させる基準動作とを、対応付ける。
しかしながら、下肢には特有の動作特性が存在するため、制御対象を制御するときに実行することを意図した下肢の動作と、実際の下肢の動作とには、ずれが生じる。
例えば、図1(b)において矢印52で示すように足首17を前後方向に直線移動させることを意図して動作をさせても、実際には図1(c)において矢印53で示すように、足首17は、膝関節を中心に円弧状に曲線移動する。図2(b−1)及び(b−2)において矢印54a及び矢印54bで示すように足首17を左右方向に直線移動させようとしても、実際には図2(c−1)において矢印55aで示すように、足首17は、膝関節を中心にした円弧状の曲線移動とともに、図2(c−2)において矢印55bに示すように、身体の上方から見ると、股関節を中心にした円弧状の曲線移動をするため、これらを組み合わせた曲線運動をする。図3(b)において矢印56で示すように足首17を上下方向に直線移動させようとしても、実際には図3(c)において矢印57で示すように、股関節を中心として大腿14が回動するとともに、下腿16は上下方向に平行となる状態を保つため、足首17は、矢印58で示すように円弧状に曲線移動する。
そのため、下肢12の動作を計測し、図1(a)及び(b)、図2(a)、(b−1)及び(b−2)、図3(a)及び(b)に示した対応付けに基づいて、制御対象80を動作させるための制御指令を生成すると、制御対象80を、意図した通りに動作させることができない。
そこで、実際の下肢の動作を、実行を意図したと推定される下肢の動作に変換するための数式を準備しておく(第1のステップ)。操作者の下肢の動作を計測する(第2のステップ)。準備しておいた数式を用いて、計測した動作を変換し、変換した動作に基づいて、制御指令を生成する(第3のステップ)。
すなわち、前記第1のステップにおいて、制御指令と対応付けられた基準動作であって身体の基準部位を基準方向に動作させる前記基準動作を含む第1の動作と、前記第1の動作の実行を意図して動作したときの実際の動作である第2の動作とを対応付ける数式を準備する。前記第2のステップにおいて、操作者の前記基準部位の動作を計測する。前記第3のステップにおいて、前記第1のステップで準備した前記数式を用いて、前記第2のステップで計測した前記動作を変換し、変換された前記動作に含まれる前記基準動作の成分に基づいて前記制御指令を算出する。前記基準部位は、足首である。
基準動作を含む第1の動作の実行を意図して動作したときに、実際に動作される第2の動作と、動作することを意図された第1の動作との間には、ずれが生じる。第1の動作と第2の動作とを対応付ける数式を準備し、この数式に基づいて、操作者の実際の動作を変換すると、変換された動作は、操作者が実行することを意図した動作又はそれに近い動作になる。そのため、変換された動作に含まれる基準動作の成分に基づいて制御指令を算出すると、操作者の意図がより正確に反映された制御指令を生成することができる。
なお、第1のステップにおいて、複数の操作者に共通の数式を準備しても、個別に、すなわち操作者ごとに別々の数式を準備してもよい。個別に、すなわち操作者ごとに別々の数式を準備すれば、複数の操作者に共通の数式を準備する場合に比べ、個々の操作者の身体の動作特性がより正確に反映された数式を用いることができるため、個々の操作者の意図がより一層正確に反映された制御指令を生成することができる。
制御指令と対応付けられた基準動作において、身体の基準部位を動作させる基準方向が、身体の基本となる姿勢に基づいて定義される身体の前後方向、左右方向、上下方向であれば、身体が重力方向に対して斜めの姿勢であっても基準方向を認識することができるので、制御するための動作が容易になり、好ましい。また、基準方向が、重力方向や、重力方向に垂直な水平方向であれば、重力方向や水平方向は直感的に認識することができるので、制御するための動作が容易であり、好ましい。
以下、第1〜第3のステップの具体例を説明する。
第1のステップの具体例を説明する。下肢の動作は、足首を基準部位として第1の動作と第2の動作とを対応付ける数式を準備する場合、第2の動作を表現する変数として、足首の位置の3次元座標(Xt,Yt,Zt)を用いることが考えられるが、次の角A〜Dを変数として用いると、対応付ける数式を構成しやすい。足首の動作は、図4〜図6の説明図に示す4つの角A〜Dを計測すると、決定することができる。角A〜Dは、下肢にマーカーを貼り付けた状態で下肢の動作を撮影し、撮影した画像を解析したり、下肢に三次元位置センサー等を取り付けたりするなどして、適宜な方法で計測すればよい。基準部位である足首の計測は、直接的に足首の動作を計測する方法だけでなく、足首と連動して動く他の部位である下腿や膝関節、大腿、股関節の動作を計測し、それから足首の動作を算出する間接的な方法でもよい。
図4〜図6に示すx軸は、股関節中心O1を原点とし、身体10の左右方向と平行で、身体10の左側から右側へ向かう方向を正方向とする軸である。y軸は、股関節中心O1を原点とし、身体10の前後方向と平行で、身体10の後ろ側から前側へ向かう方向を正方向とする軸である。z軸は、股関節中心O1を原点とし、身体10の上下方向と平行で、身体10の下側から上側へ向かう方向を正方向とする軸である。x軸、y軸、z軸は、股関節中心O1を原点とする右手座標系である。
図4に示すように、x軸とy軸とを含むxy平面71に、膝関節中心O2から下した垂線の足をP1とする。r軸は、股関節中心O1を原点とし、P1を通る軸で、股関節中心O1からP1に向かう方向を正方向とする軸である。
図4に示すように、zk軸は、膝関節中心O2を原点とし、股関節中心O1を通る軸で、股関節中心O1から膝関節中心O2に向かう方向を正方向とする軸である。xk軸は、膝関節中心O2を原点とし、zk軸に垂直で、xy平面71と平行な軸であり、z軸に沿ってz軸の正から負に向かう方向に見たときに時計回りの方向が正方向となる軸である。例えば、膝関節中心O2が股関節中心O1よりも前方に位置し、かつ膝関節中心O2がy軸上にある場合に、xk軸は、身体10の左側から右側に向かう方向が正方向となる。yk軸は、膝関節中心O2を原点とし、xk軸に垂直かつzk軸に垂直な軸で、xk軸及びzk軸とともに右手座標系を構成するように正方向が定義される軸である。例えば、膝関節中心O2が股関節中心O1よりも前方に位置し、かつ膝関節中心O2がy軸上にある場合に、yk軸は、身体10の上側から下側に向かう方向が正方向となる。
角Aは、r軸の正方向とzk軸の正方向とがなす角で定義する。角Aは、大腿14の上がり具合を示す角度であり、膝関節中心O2がxy平面より上にあるときを正とする。
角Cは、y軸の正方向とr軸の正方向とがなす角で定義する。角Cは、大腿14の開き具合(股の開き具合)を示す角度であり、大腿14が開く方向(股を開く方向、膝関節中心O2が他方の膝関節中心から離れる方向)を正とする。
図5に示すように、足首中心O3から、xk軸とyk軸とを含む平面であるxkyk平面72に下した垂線の足をP2とする。KP2軸は膝関節中心O2を原点とし、P2を通る軸で、膝関節中心O2からP2に向かう方向を正方向とする軸である。
角Bは、yk軸の正方向とKP2軸の正方向とがなす角で定義する。角Bは大腿14のひねりによる下腿16の回転の程度であり、内股になる方向(足18が他方の足から離れる方向、zk軸に沿ってzk軸の正から負に向かう方向に見たときに時計回りの方向)を正とする。
図6に示すように、xk軸を含みかつz軸に平行な平面73に、足首中心O3から下した垂線の足をP3とする。KO3軸は、膝関節中心O2を原点とし、足首中心O3を通る軸で、膝関節中心O2から足首中心O3へ向かう方向を正方向とする軸である。KP3軸は、膝関節中心O2を原点とし、P3を通る軸で、膝関節中心O2からP3へ向かう方向を正方向とする軸である。
角Dは、KO3軸の正方向とKP3軸の正方向とがなす角で定義する。角Dは、膝の曲げ伸ばしによる下腿16の上がり具合であり、膝を伸ばす方向を正とする。
次に、数式を決定するための実験1について説明する。
実験1では、被験者は、椅子に座り、下肢を空中に浮かせて自在に動かせる状態となる。被験者は、下肢の下腿を身体の上下方向に略平行、かつ、下肢の大腿が身体の前側にあり、身体の前後方向に略平行となる姿勢をとる。そして、被験者の前に目標物を配置し、目標物を所定方向に移動させる。被験者は、図1(a)及び(b)、図2(a)、(b−1)及び(b−2)、図3(a)及び(b)に示した対応付けを意識して、目標物の移動を実現させるために必要と考える通りに、下肢を動かす。このとき、被験者の下肢にマーカーを貼り付けた状態で撮影した画像を解析することによって、角A〜Dを計測する。
図7は、図2(a)のような目標物(制御対象)の左右方向(x軸方向)の直線状の移動に対応して、図2(a)、(b−1)及び(b−2)に示した対応付けを意識して被験者が下肢を動かしたときの実験結果を示すグラフである。すなわち、実験の際、被験者は、目標物の左右方向の直線状の移動と同じように、足首を左右方向に直線状に動かすことを意図して、下肢を動かした。横軸は、目標物の基本位置に対する目標物の左右方向の位置(xob)を示し、縦軸は角A〜Dを示す。
図7から、角Aと角Dは、略一定であり、角Bの変化量と角Cの変化量は、目標物の左右方向(x軸方向)の移動量と略比例関係にあることが分かる。すなわち、被験者は、図2(b−1)及び(b−2)のように直線状に動かそうと意図したが、実際の動作は、図2(c−2)に示すように股の開閉に起因する大腿の回転による円弧状の運動と、図2(c−1)に示すように大腿のひねりに起因する下腿の回転による円弧状の運動とを組み合わせた曲線状の動作となっている。このことから、下肢の角(A,B,C,D)と、目標物の基本位置に対する目標物のx軸方向の位置(xob)とは、次の式(1)〜(3)のいずれかによって、対応付けることができる。fB(B)は角Bの関数、fC(C)は角Cの関数、fBC(B,C)は角Bと角Cの関数を意味する。
xob=fB(B) ・・・(1)
xob=fC(C) ・・・(2)
xob=fBC(B,C) ・・・(3)
同様に、図1(a)のような目標物(制御対象)の前後方向(y軸方向)の直線状の移動に対応して、図1(a)及び(b)に示した対応付けを意識して被験者が下肢を動かしたときの角A〜Dを計測した。すなわち、実験の際、被験者は、目標物の前後方向の直線状の移動と同じように、足首を前後方向に直線状に動かすことを意図して、下肢を動かした。
この場合、角A、角B及び角Cは略一定であり、角Dの変化量は、目標物の前後方向(y軸方向)の移動量と略比例関係にあることが分かった。すなわち、被験者は、図1(b)のように直線状に動かそうと意図したが、実際の動作は、図1(c)に示すように膝関節の曲げ伸ばしによる円弧状の曲線状の動作となっている。このことから、下肢の動作を計測した角(A,B,C,D)と、目標物の基本位置に対する目標物のy軸方向の位置(yob)とは、次の式(4)によって、対応付けることができる。fD(D)は角Dの関数を意味する。
yob=fD(D) ・・・(4)
また、図3(a)のような目標物(制御対象)の上下方向(z軸方向)の直線状の移動に対応して、図3(a)及び(b)に示した対応付けを意識して被験者が下肢を動かしたときの角A〜Dを計測した。すなわち、実験の際、被験者は、目標物の上下方向の直線状の移動と同じように、足首を上下方向に直線状に動かすことを意図して、下肢を動かした。
この場合、角B、角C及び角Dは略一定であり、角Aの変化量は、目標物の上下方向(z軸方向)の移動量と略比例関係にあることが分かった。すなわち、被験者は、図3(b)のように直線状に動かそうと意図したが、実際の動作は、図3(c)に示すように曲線状の動作となっている。このことから、下肢の動作を計測した角(A,B,C,D)と、目標物の基本位置に対する目標物のz軸方向の位置(zob)とは、次の式(5)によって、対応付けることができる。fA(A)は角Aの関数を意味する。
zob=fA(A) ・・・(5)
式(1)〜(5)の関数は、例えば、下肢の動作を計測したデータに対して最小二乗法を適用して求めた近似直線あるいは近似曲線を用いるなど種々の方法で決定することが可能である。また、近似直線より得られる角Bの変化量に対するxobの変化量を比例定数とし、xobと角Bとが比例関係となる関数や、近似直線より得られる角Cの変化量に対するxobの変化量を比例定数とし、xobと角Cとが比例関係となる関数や、近似直線より得られる角Dの変化量に対するyobの変化量を比例定数とし、yobと角Dとが比例関係となる関数や、近似直線より得られる角Aの変化量に対するzobの変化量を比例定数とし、zobと角Aとが比例関係となる関数を用いると、数式が簡単になる。
一例として、比例関係に着目した関数を用いると、式(1)〜(5)は、次の式(1')〜(5')のように表せる。
xob=bB ・・・(1')
xob=cC ・・・(2')
xob=b'B+c'C=eE ・・・(3')
yob=dD ・・・(4')
zob=aA ・・・(5')
ただし、a,b,b',c,c',d,eは定数とする。
なお、式(1')〜(5')から明らかなように、斜めに動くような複合動作に対しても、角A、角B、角C、角Dから、(xob,yob,zob)を一意に決めることができる。
図8〜図12に、定数を決定した式(1')〜(5')より得られる直線(直線上に並んだ点群)の例を示す。
図8は、角Bと目標物の左右方向の位置xobとの関係を示すグラフに、角Bの実測値の一例と、式(1')より得られる直線とを示している。
図9は、角Cと目標物の左右方向の位置xobとの関係を示すグラフに、角Cの実測値の一例と、式(2')より得られる直線とを示している。
図10は、Eと目標物の左右方向の位置xobとの関係を示すグラフに、Eの実測値(角Bの実測値と角Cの実測値から式(3')に基づき計算された値)の一例と、式(3')より得られる直線とを示している。
図11は、角Dと目標物の前後方向の位置yobとの関係を示すグラフに、角Dの実測値の一例と、式(4')より得られる直線とを示している。
図12は、角Aと目標物の上下方向の位置zobとの関係を示すグラフに、角Aの実測値の一例と、式(5')より得られる直線とを示している。
式(1')から式(5')は、目標物の基本位置に対する目標物の位置(左辺)と足首の基本位置に対する足首の位置を表す変数である角A〜Dとの関係を示す。被験者は足首の基本位置に対する足首の位置と目標物の基本位置に対する目標物の位置とが同じになることを意図して動かしている。このため、式(1')から式(5')の左辺は、被験者が意図した足首の位置(足首の基本位置に対する足首の位置)を意味するものである。すなわち、式(1')から式(5')の左辺は第1の動作に相当するものであり、右辺は第2の動作に相当するものである。
例えば、x軸方向の移動量を式(3')によって対応付けるとし、式(1')と式(2')とを用いない場合を取り上げる。すなわち、式(3')〜(5')を用いる場合を考える。この場合、式(3')〜(5')は、第1のステップで準備する「制御指令と対応付けられた基準動作であって身体の基準部位を基準方向に動作させる前記基準動作を含む第1の動作と、前記第1の動作の実行を意図して動作したときの実際の動作である第2の動作とを対応付ける数式」となる。目標物の基本位置に対する目標物の位置(xob,yob,zob)は、被験者が意図した足首の位置(足首の基本位置に対する足首の位置)に対応することから、式(3')〜(5')のxob,yob,zobは、「制御指令と対応付けられた基準動作であって身体の基準部位(足首)を基準方向に動作させる基準動作を含む第1の動作における基準部位の位置」を表す。式(3')〜(5')のA,B,C,Dは、第1の動作の実行を意図して動作したときの実際の動作である第2の動作を表すパラメータである。
なお、角A,B,C,Dを用いると、第1のステップで準備する数式が簡単になるが、他のパラメータを用いても構わない。回帰分析(単回帰分析や重回帰分析)を用いて、目標物の位置xob,yob,zobと角A,B,C,D以外のパラメータとの関係式を求めてもよい。第1の動作には、斜め方向などの複合動作を含めてもよい。
ここで、第1及び第2の動作における足首の動作が、どちらも、足首の前後、左右、上下方向の位置を表す変数(同一の複数の変数)で定義される場合を考える。この場合、例えば、図1(b)に示すように、足首の前後方向の位置を表す変数のみが変化する第1の動作に対して、図1(c)に示すように、足首の前後方向の位置を表す変数と足首の上下方向の位置を表す変数の2つの変数が変化する第2の動作が対応するため、これらを対応付ける数式とすればよい。すなわち、第1及び第2の動作における基準部位の動作が、同一の複数の変数で定義されるとき、第1の動作と第2の動作とを対応付ける数式は、それらの変数のうち1つの変数のみが変化する基準部位の動作要素を含む第1の動作と、この動作要素に対応してそれらの変数のうち複数の変数が変化する動作成分を含む第2の動作とを対応付けるものである。図2の足首の左右方向の位置を表す変数のみが変化する第1の動作の場合でも、図3の足首の上下方向の位置を表す変数のみが変化する第1の動作の場合でも、同様である。
例えば、第1の動作と第2の動作とを対応付ける数式は、「足首が身体の前後方向に直線運動する第1の動作の直線運動成分に対応する第2の動作の成分が、膝関節の曲げ伸ばし運動の回転中心軸と平行となる方向に見ると、膝関節側を内側とするように曲がった足首の曲線運動となること」を取り込んだ数式としてもよい。この場合、膝関節の曲げ伸ばし運動の回転中心軸と平行となる方向に見ると、足首の曲線運動の湾曲内側(凹側)が、膝関節又はその近傍に対向するように曲がった曲線運動となることを、数式に取り込む。
換言すると、第1の動作と第2の動作とを対応付ける数式は、「足首が身体の前後方向に直線運動する第1の動作の直線運動成分に対応する第2の動作の成分は足首が曲線運動する曲線運動成分であり、曲線運動成分の曲線は、膝関節の曲げ伸ばし運動の回転中心軸と平行となる方向に見ると、凸状又は凹状の曲線であり、曲線の両端を通る直線で二分される領域のうち曲線が存在しない一方の領域と、曲線および直線(曲線の両端を通る直線)によって囲まれる領域と、直線(曲線の両端を通る直線)上とのうち少なくとも一つに、膝関節があること」を取り込んだ数式としてもよい。
ここで、図61の説明図に、凸状又は凹状の曲線800を示す。紙面に垂直な方向から見ると、曲線800の両端の点802,804を通る直線806によって、領域が二分される。直線806で二分された領域810,820のうち一方の領域820に、曲線800は存在しない。「曲線および直線(曲線の両端を通る直線)によって囲まれる領域」は、図61では、曲線800および直線806によって囲まれる領域に相当する。「直線(曲線の両端を通る直線)上」は、図61では、直線806上に相当する。
ここで、「凸状又は凹状の曲線」は、全体的に凸状又は凹状の曲線でもよい。例えば、その曲線の形状を詳細にみると、その曲線に高周波の波形(全体的な曲線の長さに対して波長が短い波形)も含まれる場合でも、その曲線を巨視的にみて、その曲線の全体的な形状が凸状や凹状とみなすことができれば、その曲線は「凸状又は凹状の曲線」として扱ってもよい。また、「曲線の両端を通る直線」は、曲線の全体的な形状に相当する凸状又は凹状の曲線の両端を通る直線でもよい。例えば、その曲線の形状を詳細にみると、その曲線に高周波の波形も含まれる場合でも、その曲線の全体的な形状に相当する凸状や凹状の曲線をとりあげ、そのとりあげた曲線の両端を通る直線も、「曲線の両端を通る直線」として扱ってもよい。
なお、式(4')は、第2の動作の成分が所定の方向から見ると膝関節を中心とする一つの円弧に沿う円弧状の曲線運動であることを取り込んだ数式であるが、その一つの円弧とは中心位置や半径が異なる他の一つの円弧に沿う円弧状の曲線運動が第2の動作の成分となることを取り込んだ数式や、第2の動作の成分が略円弧状の曲線運動であることを取り込んだ数式であっても構わない。
また、第1の動作と第2の動作とを対応付ける数式は、「足首が身体の左右方向に直線運動する第1の動作の直線運動成分に対応する第2の動作の成分が、膝関節を含む下肢の股関節と膝関節とを結ぶ軸と平行となる方向に見ると、膝関節側を内側とするように曲がった足首の第1の曲線運動と、身体の上方から見ると、股関節側を内側とするように曲がった足首の第2の曲線運動とのうち、少なくとも一方を含む曲線運動となること」を取り込んだ数式としてもよい。この場合、膝関節を含む下肢の股関節と膝関節とを結ぶ軸と平行となる方向に見ると、第1の曲線運動の湾曲内側(凹側)は、膝関節又はその近傍に対向する。第2の曲線運動の湾曲内側(凹側)は、身体の上方から見ると、股関節又はその近傍に対向する。
換言すると、第1の動作と第2の動作とを対応付ける数式は、「足首が身体の左右方向に直線運動する第1の動作の直線運動成分に対応する第2の動作の成分は足首が曲線運動する曲線運動成分であり、第2の動作の成分は、(a)曲線運動成分の曲線が、膝関節を含む下肢の股関節と膝関節とを結ぶ軸と平行となる方向に見ると、凸状又は凹状の曲線であり、曲線の両端を通る直線で二分される領域のうち曲線が存在しない一方の領域と、曲線および直線(曲線の両端を通る直線)によって囲まれる領域と、直線(曲線の両端を通る直線)上とのうち少なくとも一つに、膝関節がある、足首の第1の曲線運動と、(b)曲線運動成分の曲線が、身体の上方から見ると、凸状又は凹状の曲線であり、曲線の両端を通る直線で二分される領域のうち曲線が存在しない一方の領域と、曲線および直線(曲線の両端を通る直線)によって囲まれる領域と、直線(曲線の両端を通る直線)上とのうち少なくとも一つに、股関節がある、足首の第2の曲線運動とのうち、少なくとも一方を含む曲線運動となること」を取り込んだ数式としてもよい。
なお、式(1')、(2')、(3')は、第2の動作の成分が所定の方向から見ると膝関節及び股関節の少なくとも一方を中心とする円弧に沿う円弧状の曲線運動であることを取り込んだ数式であるが、それらの円弧とは中心位置や半径が異なる他の円弧に沿う円弧状の曲線運動が第2の動作の成分となることを取り込んだ数式や、第2の動作の成分が略円弧状の曲線運動であることを取り込んだ数式であっても構わない。
また、第1の動作と第2の動作とを対応付ける数式は、「足首が身体の上下方向に直線運動する第1の動作の直線運動成分に対応する第2の動作の成分が、身体の上下方向に平行な平面であって、膝関節を含む下肢の股関節と膝関節とを含む平面に対して垂直となる方向に見ると、膝関節と足首とを結ぶ線分の上下方向成分に相当する距離だけ、股関節から下に下がった位置を内側とするように曲がった足首の曲線運動となること」を取り込んだ数式としてもよい。この場合、身体の上下方向に平行な平面であって、膝関節を含む下肢の股関節と膝関節とを含む平面に対して垂直となる方向に見ると、数式に取り込む足首の曲線運動の湾曲内側(凹側)は、股関節から所定距離(膝関節と足首とを結ぶ線分の上下方向成分に相当する距離)下がった位置又はその近傍に対向する。なお、式(5')は、第2の動作の成分が所定の方向から見ると一つの円弧に沿う円弧状の曲線運動であることを取り込んだ数式であるが、その一つの円弧とは中心位置や半径が異なる他の一つの円弧に沿う円弧状の曲線運動が第2の動作の成分となることを取り込んだ数式や、第2の動作の成分が略円弧状の曲線運動であることを取り込んだ数式であっても構わない。
換言すると、第1の動作と第2の動作とを対応付ける数式は、「足首が身体の上下方向に直線運動する第1の動作の直線運動成分に対応する第2の動作の成分は足首が曲線運動する曲線運動成分であり、曲線運動成分の曲線は、身体の上下方向に平行な平面であって、膝関節を含む下肢の股関節と膝関節とを含む平面に対して垂直となる方向に見ると、凸状又は凹状の曲線であり、曲線の両端を通る直線で二分される領域のうち曲線が存在しない一方の領域と、曲線および直線(曲線の両端を通る直線)によって囲まれる領域と、直線(曲線の両端を通る直線)上とのうち少なくとも一つに、膝関節と足首とを結ぶ線分の上下方向成分に相当する距離だけ、股関節から下に下がった位置があること」を取り込んだ数式としてもよい。
一般に、基準部位が直線運動する運動成分を含む第1の動作と該第1の動作に対応する第2の動作とを対応付ける数式は、前記運動成分に対応する前記第2の動作の成分が、前記基準部位の曲線運動となることを取り込んだ数式である。
次に、第2及び第3のステップの具体例として、実験2について説明する。実験2では、下肢の動作に基づいてモニタ画面上に表示される制御対象の位置を制御する。下肢の動作の計測は第1のステップと同じ様な方法で行なう。下肢の下腿が身体の上下方向に略平行、かつ、下肢の太腿が身体の前後方向に略平行となる姿勢を基準に、下肢を動作させる。
図13は、モニタ画面の表示の説明図である。矩形の枠38内に、奥行きを示す枠39と、下肢により位置が制御される制御対象の初期位置を示す円30とそれに対応する矩形の破線31と、目標位置を示す円32とそれに対応する矩形の破線33と、現在位置を示す円40とそれに対応する矩形の破線41とが表示され、一対の線分34によって初期位置から目標位置までの理想的な移動経路が表示されている。図形が大きいほど手前にあることを意味する。
実験2で用いるプログラムは、下肢の動作、すなわち角A〜Dを、実験1と同様に計測し、それらを式(3')〜(5')を用いて変換し、被験者が意図した足首の位置(xob,yob,zob)を算出し、その位置に対応して、モニタ画面に表示される現在位置の円40の表示、すなわち位置及び大きさを変更する。
被験者は、図13(a)に示すように、初期位置の円30の近傍に、現在位置を示す円40が表示された状態から、図13(b)に示すように移動途中の画面表示を見ながら、現在位置を示す円40が一対の線分34の2つの直線に接しながら一対の線分34の間の中央を通るように、下肢を動かして、目標位置の円32の近傍に、現在位置を示す円40が表示されるようにする。目標位置の円32の近傍に一定時間の間、現在位置を示す円40が表示されると、新たな位置に目標位置を表す円32が現れるとともに、これまでの目標位置であった円32は、初期位置を表す円30へと変わる。目標位置は7回出現することとした。7個の目標位置は、位置に偏りがないようにした。実験では、現在位置を示す円40が初期位置の円30の近傍から目標位置の円32の近傍まで移動する時間と、平均位置ずれ量(モニタの表示に対応する三次元空間内において、現在位置の円40の中心点から、初期位置の円30と目標位置の円32の中心点同士を結ぶ直線に下した垂線の長さの時間平均を基にして算出した値)とを計測する。ここでは、式(3')のb'を7.64、c'を9.37、式(4')のdを7.51、式(5')のaを7.88とする数式を用いた。
比較例1として、式(3')〜(5')による変換を行わずに、単純な対応付けのみに基づいて変換し、モニタ画面に表示される現在位置の円40の位置と大きさとを変更する場合について、同様に実験を行った。単純な対応付けとは、xobの変化量が実際の足首のx軸方向の移動量と比例するとし、yobの変化量が実際の足首のy軸方向の移動量と比例するとし、zobの変化量が実際の足首のz軸方向の移動量と比例するとする対応付けを意味する。
次の表1に、実験結果を示す。表1の「所要時間」は、現在位置の円が7つ目の目標位置に達するまでの移動時間の平均値である。表1の「正確さ」は、現在位置の円が7つ目の目標位置に達するまでの移動時の平均位置ずれ量の平均値であり、値が小さいほど、理想的な移動経路に対して、より正確に移動したことを意味する。
表1から、式(3')〜(5')を用いた方が、所要時間が短くなり、移動する経路も正確になることが分かる。
<実施例2> 実施例2について、図14〜図22を参照しながら説明する。実施例2では、上肢の動きに基づいて、制御対象を動作させるための制御指令を生成する。
以下、第1〜第3のステップの具体例を説明する。
第1のステップの具体例を説明する。上肢の動作は、手首を基準部位として第1の動作と第2の動作とを対応付ける数式を準備する場合、第2の動作を表現する変数として、手首の位置の3次元座標(Xs,Ys,Zs)を用いることが考えられるが、次の角Au〜Duを変数として用いると、対応付ける数式を構成しやすい。手首の動作は、図14〜図16の説明図に示す4つの角Au〜Duを計測すると、決定することができる。角Au〜Duは、上肢22にマーカーを貼り付けた状態で上肢22の動作を撮影し、撮影した画像を解析したり、上肢22に三次元位置センサー等を取り付けたりするなどして、適宜な方法で計測すればよい。基準部位である手首の計測は、直接的に手首の動作を計測する方法だけでなく、手首と連動して動く他の部位である前腕や肘関節、上腕、肩関節の動作を計測し、それから手首の動作を算出する間接的な方法でもよい。
図14〜図16に示すxu軸は、肩関節中心O1uを原点とし、身体10の左右方向と平行で、身体10の左側から右側へ向かう方向を正方向とする軸である。yu軸は、肩関節中心O1uを原点とし、身体10の前後方向と平行で、身体10の後ろ側から前側へ向かう方向を正方向とする軸である。zu軸は、肩関節中心O1uを原点とし、身体10の上下方向と平行で、身体10の下側から上側へ向かう方向を正方向とする軸である。xu軸、yu軸、zu軸は肩関節中心O1uを原点とする右手座標系である。
図14に示すように、xu軸とzu軸とを含むxuzu平面74に、肘関節中心O2uから下した垂線の足をP1uとする。ru軸は、肩関節中心O1uを原点とし、P1uを通る軸で、肩関節中心O1uからP1uに向かう方向を正方向とする軸である。
図14に示すように、zku軸は、肘関節中心O2uを原点とし、肩関節中心O1uを通る軸で、肩関節中心O1uから肘関節中心O2uに向かう方向を正方向とする軸である。xku軸は、肘関節中心O2uを原点とし、zku軸に垂直で、xu軸とzu軸とを含む平面であるxuzu平面74と平行な軸であり、yu軸に沿ってyu軸の正から負に向かう方向に見たときに時計回りの方向が正方向となる軸である。例えば、肘関節中心O2uが肩関節中心O1uよりも下方に位置し、かつ肘関節中心O2uがzu軸上にある場合に、xku軸は、身体10の左側から右側に向かう方向が正方向となる。yku軸は、肘関節中心O2uを原点とし、xku軸に垂直かつzku軸に垂直な軸で、xku軸及びzku軸とともに右手座標系を構成するように正方向が定義される軸である。例えば、肘関節中心O2uが肩関節中心O1uよりも下方に位置し、かつ肘関節中心O2uがzu軸上にある場合に、yku軸は、身体10の前側から後ろ側に向かう方向が正方向となる。
角Auは、ru軸の正方向とzku軸の正方向とがなす角で定義する。角Auは、上腕24の前後方向への上がり具合を示す角度であり、肘関節中心O2uがxuzu平面より前にあるときを正とする。
角Cuは、zu軸の負方向とru軸の正方向とがなす角で定義する。角Cuは、脇の開き具合(上腕24の左右方向への上がり具合)を示す角度であり、脇が開く方向を正とする。
図15に示すように、手首中心O3uから、xku軸とyku軸とを含む平面であるxkuyku平面75に下した垂線の足をP2uとする。KP2u軸は肘関節中心O2uを原点とし、P2uを通る軸で、肘関節中心O2uからP2uに向かう方向を正方向とする軸である。
角Buは、yku軸の負方向とKP2u軸の正方向とがなす角で定義する。角Buはzku軸周りの前腕26の回転の程度であり、手28が他方の手から離れる方向(zku軸に沿ってzku軸の負から正に向かう方向に見たときに時計回りの方向)を正とする。
図16に示すように、xku軸を含みかつyu軸に平行な平面76に、手首中心O3uから下した垂線の足をP3uとする。KO3u軸は、肘関節中心O2uを原点とし、手首中心O3uを通る軸で、肘関節中心O2uから手首中心O3uへ向かう方向を正方向とする軸である。KP3u軸は、肘関節中心O2uを原点とし、P3uを通る軸で、肘関節中心O2uからP3uへ向かう方向を正方向とする軸である。
角Duは、KO3u軸の正方向とKP3u軸の正方向とがなす角で定義する。角Duは、肘25の曲げ具合であり、肘25を曲げる方向を正とする。
次に、数式を決定するための実験3について説明する。
実験3では、被験者は、上肢の上腕を身体の上下方向に略平行、かつ、上肢の前腕が身体の前側にあり、身体の前後方向に略平行となる姿勢をとる。そして、被験者の前に目標物を配置し、目標物を所定方向に移動させる。被験者は、図17(a)、(b−1)及び(b−2)、図18(a)及び(b)、図19(a)及び(b)に示した対応付けを意識して、目標物の移動を実現させるために必要と考える通りに、上肢を動かす。このとき、被験者の上肢にマーカーを貼り付けた状態で撮影した画像を解析することによって、角Au〜Duを計測する。
図20は、図17(a)において矢印94で示すような目標物(制御対象)の左右方向(xu軸方向)の直線状の移動に対応して、図17(a)、(b−1)及び(b−2)に示した対応付けを意識して被験者が上肢を動かしたときの実験結果を示すグラフである。すなわち、実験の際、被験者は、目標物の左右方向の直線状の移動と同じように、手首27を左右方向に直線状に動かすことを意図して、上肢を動かした。横軸は、目標物の基本位置に対する目標物の左右方向の位置を示し、縦軸は角Au〜Duを示す。
図20から、角Auと角Duは、略一定であり、角Buの変化量と角Cuの変化量は、目標物の左右方向(xu軸方向)の移動量と略比例関係にあることが分かる。すなわち、被験者は、図17(b−1)及び(b−2)において矢印64a,64bで示すように直線状に動かそうと意図したが、実際の動作は、図17(c−1)において矢印65aで示すように、上腕のひねりに起因する前腕の回転による円弧状の運動と、図17(c−2)において矢印65bで示すように脇の開閉に起因する上腕の回転による円弧状の運動とを組み合わせた曲線状の動作となっている。このことから、上肢の角(Au,Bu,Cu,Du)と、目標物の基本位置に対する目標物のxu軸方向の位置(xobu)とは、次の式(6)〜(8)のいずれかによって、対応付けることができる。fBu(Bu)は角Buの関数、fCu(Cu)は角Cuの関数、fBCu(Bu,Cu)は角Buと角Cuの関数を意味する。
xobu=fBu(Bu) ・・・(6)
xobu=fCu(Cu) ・・・(7)
xobu=fBCu(Bu,Cu) ・・・(8)
図21は、図19(a)において矢印97で示すような目標物(制御対象)の前後方向(yu軸方向)の直線状の移動に対応して、図19(a)及び(b)において矢印97,68で示した対応付けを意識して被験者が上肢を動かしたときの実験結果を示すグラフである。すなわち、実験の際、被験者は、目標物の前後方向の直線状の移動と同じように、手首を前後方向に直線状に動かすことを意図して、上肢を動かした。横軸は、目標物の基本位置に対する目標物の前後方向の位置を示し、縦軸は角Au〜Duを示す。
この場合、角Bu、角Cu及び角Duは略一定であり、角Auの変化量は、目標物の前後方向(yu軸方向)の移動量と略比例関係にあることが分かった。すなわち、被験者は、図19(c)において矢印69で示すように上腕24を回転させている。このことから、上肢の動作を計測した角(Au,Bu,Cu,Du)と、目標物の基本位置に対する目標物のyu軸方向の位置(yobu)とは、次の式(9)によって、対応付けることができる。fAu(Au)は角Auの関数を意味する。
yobu=fAu(Au) ・・・(9)
図22は、図18(a)において矢印96で示すような目標物(制御対象)の上下方向(zu軸方向)の直線状の移動に対応して、図18(a)及び(b)に示した対応付けを意識して被験者が上肢を動かしたときの実験結果を示すグラフである。すなわち、実験の際、被験者は、目標物の上下方向の直線状の移動と同じように、手首を上下方向に直線状に動かすことを意図して、上肢を動かした。横軸は、目標物の基本位置に対する目標物の上下方向の位置を示し、縦軸は角Au〜Duを示す。
この場合、角Au、角Bu及び角Cuは略一定であり、角Duの変化量は、目標物の上下方向(zu軸方向)の移動量と略比例関係にあることが分かった。すなわち、被験者は、図18(b)において矢印66で示すように直線状に動かそうと意図したが、実際の動作は、図18(c)において矢印67で示すように肘関節の曲げ伸ばしによる円弧状の曲線状の動作となっている。このことから、上肢の動作を計測した角(Au,Bu,Cu,Du)と、目標物の基本位置に対する目標物のzu軸方向の位置(zobu)とは、次の式(10)によって、対応付けることができる。fDu(Du)は角Duの関数を意味する。
zobu=fDu(Du) ・・・(10)
式(6)〜(10)の関数は、例えば、上肢の動作を計測したデータに対して最小二乗法を適用して求めた近似直線あるいは近似曲線を用いるなど種々の方法で決定することが可能である。また、近似直線より得られる角Buの変化量に対するxobuの変化量を比例定数とし、xobuと角Buとが比例関係となる関数や、近似直線より得られる角Cuの変化量に対するxobuの変化量を比例定数とし、xobuと角Cuとが比例関係となる関数や、近似直線より得られる角Auの変化量に対するyobuの変化量を比例定数とし、yobuと角Auとが比例関係となる関数や、近似直線より得られる角Duの変化量に対するzobuの変化量を比例定数とし、zobuと角Duとが比例関係となる関数を用いると、数式が簡単になる。
一例として、比例関係に着目した関数を用いると、式(6)〜(10)は、次の式(6')〜(10')のように表せる。
xobu=buBu ・・・(6')
xobu=cuCu ・・・(7')
xobu=bu'Bu+cu'Cu=euEu ・・・(8')
yobu=auAu ・・・(9')
zobu=duDu ・・・(10')
ただし、au,bu,bu',cu,cu',du,euは定数とする。
なお、式(6')〜(10')から明らかなように、斜めに動くような複合動作に対しても、角Au、角Bu、角Cu、角Duから、(xobu,yobu,zobu)を一意に決めることができる。
式(8')〜(10')の定数は、例えば、bu'は5.86、cu'は9.15、auは6.44、duは6.23となる。
式(6')から式(10')は、目標物の基本位置に対する目標物の位置(左辺)と手首の基本位置に対する手首の位置を表す変数である角Au〜Duとの関係を示す。被験者は手首の基本位置に対する手首の位置と目標物の基本位置に対する目標物の位置とが同じになることを意図して動かしている。このため、式(6')から式(10')の左辺は、被験者が意図した手首の位置(手首の基本位置に対する手首の位置)を意味するものである。すなわち、式(6')から式(10')の左辺は第1の動作に相当するものであり、右辺は第2の動作に相当するものである。
例えば、xu軸方向の移動量を式(8')によって対応付けるとし、式(6')と式(7')とを用いない場合を取り上げる。すなわち、式(8')〜(10')を用いる場合を考える。この場合、式(8')〜(10')は、第1のステップで準備する「制御指令と対応付けられた基準動作であって身体の基準部位を基準方向に動作させる前記基準動作を含む第1の動作と、前記第1の動作の実行を意図して動作したときの実際の動作である第2の動作とを対応付ける数式」となる。目標物の基本位置に対する目標物の位置(xobu,yobu,zobu)は、被験者が意図した手首の位置(手首の基本位置に対する手首の位置)に対応することから、式(8')〜(10')のxobu,yobu,zobuは、「制御指令と対応付けられた基準動作であって身体の基準部位(手首)を基準方向に動作させる基準動作を含む第1の動作における基準部位の位置」を表す。式(8')〜(10')のAu,Bu,Cu,Duは、第1の動作の実行を意図して動作したときの実際の動作である第2の動作を表すパラメータである。
なお、角Au,Bu,Cu,Duを用いると、第1のステップで準備する数式が簡単になるが、他のパラメータを用いても構わない。回帰分析(単回帰分析や重回帰分析)を用いて、目標物の位置xobu,yobu,zobuと角Au,Bu,Cu,Du以外のパラメータとの関係式を求めてもよい。第1の動作には、斜め方向などの複合動作を含めてもよい。
ここで、第1及び第2の動作における手首の動作が、どちらも、手首の前後、左右、上下方向の位置を表す変数(同一の複数の変数)で定義される場合を考える。この場合、例えば、図17(b−1)及び(b−2)に示すように、手首の左右方向の位置を表す変数のみが変化する第1の動作に対して、図17(c−1)及び(c−2)に示すように、手首の左右方向の位置を表す変数と手首の前後方向の位置を表す変数と手首の上下方向の位置を表す変数の3つの変数が変化する第2の動作が対応するため、これらを対応付ける数式とすればよい。すなわち、第1及び第2の動作における基準部位の動作が、同一の複数の変数で定義されるとき、第1の動作と第2の動作とを対応付ける数式は、それらの変数のうち1つの変数のみが変化する基準部位の動作要素を含む第1の動作と、この動作要素に対応してそれらの変数のうち複数の変数が変化する動作成分を含む第2の動作とを対応付けるものである。図18の手首の上下方向の位置を表す変数のみが変化する第1の動作の場合でも同様である。
例えば、第1の動作と第2の動作とを対応付ける数式は、「手首が身体の上下方向に直線運動する第1の動作の直線運動成分に対応する第2の動作の成分が、肘関節の曲げ伸ばし運動の回転中心軸と平行となる方向に見ると、肘関節側を内側とするように曲がった手首の曲線運動となること」を取り込んだ数式としてもよい。この場合、「肘関節の曲げ伸ばし運動の回転中心軸と平行となる方向に見ると、手首の曲線運動の湾曲内側(凹側)が、肘関節又はその近傍に対向するように曲がった曲線運動となること」を、数式に取り込む。
換言すると、第1の動作と第2の動作とを対応付ける数式は、「手首が身体の上下方向に直線運動する第1の動作の直線運動成分に対応する第2の動作の成分は手首が曲線運動する曲線運動成分であり、曲線運動成分の曲線は、肘関節の曲げ伸ばし運動の回転中心軸と平行となる方向に見ると、凸状又は凹状の曲線であり、曲線の両端を通る直線で二分される領域のうち曲線が存在しない一方の領域と、曲線および直線(曲線の両端を通る直線)によって囲まれる領域と、直線(曲線の両端を通る直線)上とのうち少なくとも一つに、肘関節があること」を取り込んだ数式としてもよい。
なお、式(10')は、第2の動作の成分が所定の方向から見ると肘関節を中心とする一つの円弧に沿う円弧状の曲線運動であることを取り込んだ数式であるが、その一つの円弧とは中心位置や半径が異なる他の一つの円弧に沿う円弧状の曲線運動が第2の動作の成分となることを取り込んだ数式や、第2の動作の成分が略円弧状の曲線運動であることを取り込んだ数式であっても構わない。
また、第1の動作と第2の動作とを対応付ける数式は、「手首が身体の左右方向に直線運動する第1の動作の直線運動成分に対応する第2の動作の成分が、肘関節を含む上肢の肩関節と肘関節とを結ぶ軸と平行となる方向に見ると、肘関節側を内側とするように曲がった手首の第1の曲線運動と、身体の前方から見ると、肩関節側を内側とするように曲がった手首の第2の曲線運動とのうち、少なくとも一方を含む曲線運動となること」を取り込んだ数式としてもよい。この場合、肘関節を含む上肢の肩関節と肘関節とを結ぶ軸と平行となる方向に見ると、第1の曲線運動の湾曲内側(凹側)は、肘関節又はその近傍に対向する。第2の曲線運動の湾曲内側(凹側)は、身体の前方から見ると、肩関節又はその近傍に対向する。
換言すると、第1の動作と第2の動作とを対応付ける数式は、「手首が身体の左右方向に直線運動する第1の動作の直線運動成分に対応する第2の動作の成分は手首が曲線運動する曲線運動成分であり、第2の動作の成分は、(a)曲線運動成分の曲線が、肘関節を含む上肢の肩関節と肘関節とを結ぶ軸と平行となる方向に見ると、凸状又は凹状の曲線であり、曲線の両端を通る直線で二分される領域のうち曲線が存在しない一方の領域と、曲線および直線(曲線の両端を通る直線)によって囲まれる領域と、直線(曲線の両端を通る直線)上とのうち少なくとも一つに、肘関節がある、手首の第1の曲線運動と、(b)曲線運動成分の曲線が、身体の前方から見ると、凸状又は凹状の曲線であり、曲線の両端を通る直線で二分される領域のうち曲線が存在しない一方の領域と、曲線および直線(曲線の両端を通る直線)によって囲まれる領域と、直線(曲線の両端を通る直線)上とのうち少なくとも一つに、肩関節がある、手首の第2の曲線運動とのうち、少なくとも一方を含む曲線運動となること」を取り込んだ数式としてもよい。
なお、式(6')、(7')、(8')は、第2の動作の成分が所定の方向から見ると肘関節及び肩関節の少なくとも一方を中心とする円弧に沿う円弧状の曲線運動であることを取り込んだ数式であるが、それらの円弧とは中心位置や半径が異なる他の円弧に沿う円弧状の曲線運動が第2の動作の成分となることを取り込んだ数式や、第2の動作の成分が略円弧状の曲線運動であることを取り込んだ数式であっても構わない。
第2のステップでは、操作者の手首の動作を計測する。この際、操作者は、上肢の上腕を身体の上下方向に略平行、かつ、上肢の前腕が身体の前側にあり、身体の前後方向に略平行となる姿勢をとってもよい。第3のステップでは、第2のステップで計測した動作を第2の動作として、第1のステップで準備した数式を用いて、第2のステップで計測した動作を第1の動作に変換し、変換された第1の動作に含まれる基準動作の成分に基づいて制御指令を算出する。
なお、第1のステップにおいて、複数の操作者に共通の数式を準備しても、操作者ごとに別々の数式を準備してもよい。操作者ごとに別々の数式を準備すれば、複数の操作者に共通の数式を準備する場合に比べ、個々の操作者の身体の動作特性がより正確に反映された数式を用いることができるため、個々の操作者の意図がより一層正確に反映された制御指令を生成することができる。
<実施例3> 実施例3について、図23〜図32を参照しながら説明する。実施例3では、足の姿勢変化動作(姿勢を変える動作)に基づいて制御指令を生成する。
図23は、ロボットハンド等の制御対象80pの姿勢変化動作を模式的に示す説明図である。図24は、足18の姿勢変化動作を模式的に示す説明図である。図23(a)と図24(a)とを対応付け、図23(b)と図24(b)とを対応付け、図23(c)と図24(c)とを対応付けると、制御対象80pの姿勢変化動作と足18の姿勢変化動作との対応関係を容易に理解できる。
すなわち、図23(a)において矢印で示すように、制御対象80pをzr軸を中心に回動させる角度φと、図24(a)において矢印で示すように、足18を外転又は内転する角度である開き角θhとを対応付ける。図23(b)において矢印で示すように、制御対象80pをxr軸を中心に回動させる角度θと、図24(b)において矢印で示すように、足18を背屈(伸展)又は底屈(屈曲)する角度である仰角θgとを対応付ける。図23(c)において矢印で示すように、制御対象80pをyr軸を中心に回動させる角度Ψと、図24(c)において矢印で示すように、足18を内反(内がえし)又は外反(外がえし)する角度である傾き角θkとを対応付ける。角度φ,θ,Ψの符号の定義は図23のとおりであり、開き角θh、仰角θg、傾き角θkの符号の定義は図24のとおりである。
次に、開き角、仰角、傾き角の定義について、図31及び図32を参照しながら説明する。
図31(a)及び(b)は、右側の下肢についての股関節中心座標系X1−Y1−Z1(以下、sigmaOと表す。)、下肢座標系x1−y1−z1(以下、sigmaLと表す。)、足座標系x1'−y1'−z1' (以下、sigmaFと表す。)の説明図である。sigmaO、sigmaL、sigmaFは、直交座標系である。
図31(a)に示すように、背筋を伸ばし、股関節と膝関節とをそれぞれ90度ずつ屈曲して座った基本姿勢において、sigmaOの原点Oを、右股関節中心とする。sigmaOのX1軸は、身体の左右の股関節中心を通る直線に平行であり、身体の右方向が正方向である。Z1軸は、身体の上下方向と平行で、上向きが正方向である。Y1軸はX1軸とZ1軸とに直交しており、身体の前方が正方向である。
図31(a)及び(b)に示すように、sigmaLにおいて、原点は、右側の足首の中心Pである。x1軸は、右膝関節の回転軸に平行であり、右下腿の内側から外側に向かう方向が正方向である。z1軸は、右側の下肢の下腿長軸(足首中心と膝関節中心とを通る軸)に一致し、足首中心から膝関節中心に向かう方向が正方向である。y1軸は、x1軸及びz1軸に直交し、x1軸、z1軸とともに右手座標系を構成するように正方向が定義される。
図31(b)に示すように、sigmaFにおいて、原点は右側の足首中心Pである。x1'軸は、右足を左右に横断する直線(右足の内側と外側とを結ぶ直線)に平行で、右足の内側から外側へ向かう方向が正方向である。y1'軸は、右足の第2指と踵とを通り右足を前後方向に貫く直線に平行で、踵側からつま先側へと向かう方向が正方向である。z1'軸は、足底面に垂直(x1'軸とy1'軸に垂直)であり、足の裏から足の甲に向かう方向が正方向である。足底面は、x1'軸とy1'軸とを含むx1'y1'平面195と平行である。図24に示すように足の姿勢を変えると、sigmaLに対してsigmaFが回転をする。
開き角、仰角、傾き角は、sigmaLに対してsigmaFを以下の手順(1)〜(3)にしたがって回転させたときの、sigmaLとsigmaFとの相対角度θh,θg,θkである。
手順(1) まず、図32(a)に示すように、sigmaLとsigmaFとが一致した状態(x1軸とx1'軸とが一致し、y1軸とy1'軸とが一致し、z1軸とz1'軸とが一致する状態)から、sigmaFをz1軸まわりに角度−θhだけ回転させたものを、x1''−y1''−z1''座標系(以下、sigmaF'と表す)とする。
手順(2) 次いで、図32(b)に示すように、sigmaF'をx1''軸まわりに角度θgだけ回転させたものを、x1'''−y1'''−z1'''座標系(以下、sigmaF''と表す)とする。
手順(3) 次いで、図32(c)に示すように、sigmaF''をy1'''軸まわりに角度θkだけ回転させたものを、x1''''−y1''''−z1''''座標系(以下、sigmaF'''と表す)とする。
以上の手順(1)〜(3)によって、sigmaLから見たsigmaF'''の姿勢は、3つの角度の組(θh,θg,θk)で表現できる。θhが開き角であり、θgが仰角であり、θkが傾き角である。sigmaF'''は、開き角、仰角、傾き角が存在する状態のsigmaFを意味する。このため、sigmaLから見たsigmaF'''の姿勢は、sigmaLから見たsigmaFの姿勢を意味する。
図23(a)と図24(a)とを対応付け、図23(b)と図24(b)とを対応付け、図23(c)と図24(c)とを対応付けるといった単純な対応付けを前提とし、制御対象80pの姿勢変化動作に対応する足18の姿勢変化動作を想定し、想定した姿勢変化動作になるように足を動作させると、足の動作をもとに制御対象80pの姿勢変化動作を制御することができる。
しかしながら、後述の図27〜図29に示すように足には特有の動作特性が存在するため、制御対象を制御するときに想定した姿勢変化動作になるように足を直感的に動作させると、想定した足の姿勢変化動作と実際の足の姿勢変化動作との間には、ずれが生じる。そのため、足18の姿勢変化動作を計測し、単純な対応付けに基づいて、制御対象80pの姿勢変化動作を設定するための制御指令を生成する場合、制御対象80pに、意図した通りの正確な姿勢変化動作をさせることは、容易でない。直感的な足の動作によって、制御対象が想定した姿勢変化動作に近い姿勢変化動作をするほど、操作性が良い。
そこで、実際の足の姿勢変化動作を、実行を意図したと推定される足の姿勢変化動作に変換するための数式を準備しておき(第1のステップ)、操作者の足の姿勢変化動作を計測し(第2のステップ)、準備しておいた数式を用いて、計測した姿勢変化動作を変換し、変換した姿勢変化動作に基づいて、制御指令を生成する(第3のステップ)。
以下、さらに説明する。
実施例3では、足を基準部位とする。図24(a)に示したように足の開き角θhのみを変化させる第1の基準動作と、図23(a)に示したように制御対象80pの角度φのみを変化させる制御指令とを対応付ける。例えば、開き角θhと角度φとが比例関係になるように、制御指令を生成する。同様に、図24(b)に示したように足の仰角θgのみを変化させる第2の基準動作と、図23(b)に示した制御対象80pの角度θのみを変化させる制御指令とを対応付ける。また、図24(c)に示したように足の傾き角θkのみを変化させる第3の基準動作と、図23(c)に示した制御対象80pの角度Ψのみを変化させる制御指令とを対応付ける。
sigmaLは、原点は右側の足首の中心にあるが、x1軸、y1軸、z1軸の方向は、膝関節中心に原点があり膝関節の下腿側に固定された座標系の直交する3つの軸(膝関節の回転軸と、下腿長軸と、それらの軸と直交する軸)の方向によって定義されている。ここでは、開き角、仰角、傾き角に相当する回転方向が基準方向であり、これらは、前述のように、sigmaLにより定義される回転方向である。このため、基準方向は、基準部位である足とは異なる部位である膝関節の下腿側に一体に固定された座標系(膝関節の下腿側と一体となって同じ動きをする別の仮想的な位置に固定された座標系)であるsigmaLにより定義される回転方向となる。
以下、第1〜第3のステップの具体例を説明する。
第1のステップの具体例を説明する。実際の足の姿勢変化動作を、実行を意図したと推定される足の姿勢変化動作に変換するための数式は、次のように準備する。
図25に示すように、制御対象の姿勢を三角形82(以下、「制御対象三角形82」とよぶ。)で表す。図25(b)に示すように、モニタ画面に制御対象三角形82を表示する。図25(b)は、制御対象三角形82の頂点82aと頂点82bとが頂点82qよりも手前にある状態を示す。制御対象三角形82の頂点82aから頂点82bに向かう軸は、図23の制御対象80pの根元部102を通り、左側面104から右側面105に向かう方向と同じ方向でかつ平行な軸に対応する。制御対象三角形82の頂点82aと頂点82bとを結ぶ底辺82cの中点82pから頂点82qに向かう軸は、図23の制御対象80pの根元部102を通り、根元部102から先端部106に向かう方向と同じ方向でかつ平行な軸に対応する。制御対象三角形82の3つの頂点82a、82b、82qを含む面の法線方向かつ図25(b)の表示では略上方向となる軸であって、制御対象三角形82の底辺82cの中点82pを通る軸は、図23の制御対象80pの根元部102を通り、下面108から上面107に向かう方向と同じ方向でかつ平行な軸に対応する。
モニタ画面に表示される制御対象三角形82を足18で操作していると想定する。モニタ画面に表示される制御対象三角形82の姿勢を変え、これに対応して、足の姿勢を変える。このとき、被験者は、図23(a)と図24(a)、図23(b)と図24(b)、図23(c)と図24(c)に示した対応付けを意識して、制御対象三角形82の姿勢変化を実現させるために必要と考える通りに、足の姿勢を変える。すなわち、図25(a)の説明図に示すように、制御対象三角形の姿勢と足底面の姿勢とが一致する状況を意識して、足の姿勢を変える。このため、モニタに表示される制御対象三角形82の動作は、被験者が意図した足の動作を意味する。このときの足の実際の動作(すなわち、第2の動作)を、モニタに表示された制御対象三角形82の動作(すなわち、第1の動作)と対応付けて測定する。足の実際の動作の測定は、足にマーカーを貼り付けた状態で足の動作を撮影し、撮影した画像を解析したり、適宜な方法で計測すればよい。
モニタに表示する第1の動作は、図26(a)〜(c)に示すように第1乃至第3の基準動作のいずれか一つのみを含んでいても、複数の基準動作が含まれる複合動作であってもよい。図26(a)は、制御対象80pの角度φのみが増減する、すなわち、足の開き角θhのみが増減する第1の基準動作について、1/4周期ごとのモニタ上の表示である。図26(b)は、制御対象80pの角度θのみが増減する、すなわち、足の仰角θgのみが増減する第2の基準動作について、1/4周期ごとのモニタ上の表示である。図26(c)は、制御対象80pの角度Ψのみが増減する、すなわち、足の傾き角θkのみが増減する第3の基準動作について、1/4周期ごとのモニタ上の表示である。
図27〜図29は、図26(a)〜(c)に示すように第1乃至第3の基準動作のいずれか一つのみを含む第1の動作をモニタに表示したときの測定結果である。横軸は、第1の動作の変数(基準動作の開き角、仰角、傾き角のいずれか一つ)を示す。縦軸は、第2の動作の測定値(開き角、仰角、傾き角)を示す。
図27は、開き角のみを変化させる第1の基準動作に対する第2の動作の計測結果を示している。図27から、開き角のみを変化させる第1の基準動作に対して、第2の動作では開き角のみならず、傾き角と仰角も変化していることが分かる。図27から、第1の動作の変数である開き角の増加に対して、第2の動作の変数である開き角が増加するとともに、第2の動作の変数である仰角が増加し、第2の動作の変数である傾き角が減少する特性を有する数式を定義することができる。
なお、第2の動作の変数の仰角θg及び傾き角θkについてθg=m・θk+n(m,nは、定数)と近似できるので、この近似式を用いると、第2の動作の変数である仰角θg又は傾き角θkの一方を他方を用いて表現することができる。
図28は、仰角のみを変化させる第2の基準動作に対する第2の動作の計測結果を示している。図28から、仰角のみを変化させる第2の基準動作に対して、第2の動作では仰角のみならず、傾き角も変化していることが分かる。図28から、第1の動作の変数である仰角の増加に対して、第2の動作の変数である仰角が増加するとともに、第2の動作の変数である傾き角が増加する特性を有する数式を定義することができる。
図29は、傾き角のみを変化させる第3の基準動作に対する第2の動作の計測結果を示している。図29から、傾き角のみを変化させる第3の基準動作に対して、第2の動作では傾き角のみならず、仰角と開き角も変化していることが分かる。図29から、第1の動作の変数である傾き角の増加に対して、第2の動作の変数である傾き角が増加するとともに、第2の動作の変数である開き角が減少し、第2の動作の変数である仰角が減少する特性を有する数式を定義することができる。
一般に、第1の軸を回転中心軸として基準部位が回転運動する回転運動成分を含む第1の動作と、その第1の動作に対応する第2の動作とを対応付ける数式は、「第1の動作の回転運動成分に対応する第2の動作の成分が、第1の軸を回転中心軸とする基準部位の第1の回転運動と、第1の軸とは異なる第2の軸を回転中心軸とする基準部位の第2の回転運動とを含むこと」を取り込んだ数式である。
計測結果に対して重回帰分析を行い、第1の動作と第2の動作とを対応付ける数式を求めると、次の式(11)のようになる。ここでは、第1の動作の変数として開き角θ
h1、仰角θ
g1、傾き角θ
k1を用い、第2の動作の変数として開き角θ
h2、仰角θ
g2、傾き角θ
k2を用いる。
この式(11)を用いて、制御指令を算出する。すなわち、制御対象の姿勢を制御するために操作者が足を動作させたとき、足の姿勢を計測し、第2の動作に相当する足の姿勢の測定値(θh2,θg2,θk2)を式(11)に代入して、第1の動作に相当する足の姿勢(θh1,θg1,θk1)を算出する。算出された足の姿勢(θh1,θg1,θk1)は、操作者が実行することを意図した足の姿勢に近いものになる。この(θh1,θg1,θk1)を制御対象の姿勢(φ,θ,Ψ)に対応付けることにより、操作者の意図が制御対象に、より正確に反映されるようになる。
式(11)を書き直すと、次の式(11')のようになる。数値は四捨五入したものである。
式(11')は、第1及び第2の動作における基準部位である足の動作が、同一の3つの変数で定義されるとき、それら3つの変数のうち1つの変数のみが変化する足の動作要素を含む第1の動作についての右辺と、動作要素に対応してそれら3つの変数のうち複数の変数が変化する動作成分を含む第2の動作についての左辺とを対応付けるものである。式(11)や式(11')は、基準部位である足の動作特性を反映することができる。
なお、第1のステップにおいて、複数の操作者に共通の数式を準備しても、操作者ごとに別々の数式を準備してもよい。操作者ごとに別々の数式を準備すれば、複数の操作者に共通の数式を準備する場合に比べ、個々の操作者の身体の動作特性がより正確に反映された数式を用いることができるため、個々の操作者の意図がより一層正確に反映された制御指令を生成することができる。
次に、第2及び第3のステップの具体例について説明する。
図30(a)に示すように、モニタ画面に、足の動作によって制御される制御対象三角形82と、制御対象三角形の初期姿勢83と、制御対象三角形の目標姿勢84とを表示する。初期姿勢83は、モニタ画面上に薄い色で表示されるが、図30では破線で図示している。図30(b)に示すように、被験者は、制御対象三角形82の姿勢が目標姿勢84に一致するように、制御対象三角形82を足で制御する。制御対象三角形82の姿勢が目標姿勢84に対して許容範囲内で一定時間一致すると、目標姿勢84は薄い色で表示され、次の目標姿勢84がモニタ画面に表示される。薄い色で表示された以前の目標姿勢84は、次の初期姿勢83として扱われる。以下同様に、制御対象三角形82の姿勢が目標姿勢84に対して許容範囲内で一定時間一致すると、次の目標姿勢84がモニタ画面に表示され、以前の目標姿勢84は、次の初期姿勢83として扱われる。
モニタ画面に、予め定めた目標姿勢を、順次、表示し、7番目の目標姿勢と一致すれば終了とする。終了までに要した時間と姿勢変化の正確さとを計測する。姿勢変化の正確さは、理想的な姿勢変化に対する差であり、詳しくは、制御対象三角形をi+1番目の目標姿勢に一致させる時の制御対象三角形の姿勢を(φ,θ,Ψ)、i番目の目標姿勢を(φt(i),θt(i),Ψt(i))、i+1番目の目標姿勢を(φt(i+1),θt(i+1),Ψt(i+1))と表すとき、これらを3次元空間上の座標値とみなし、(φt(i),θt(i),Ψt(i))と(φt(i+1),θt(i+1),Ψt(i+1))とを結ぶ直線に、(φ,θ,Ψ)から垂線を下し、その垂線の長さの時間平均である。姿勢変化の正確さは、数値が小さいほど、理想的な姿勢変化からのずれが小さい。
前述と同様にして足の姿勢変化動作を測定し、そのデータから、実際の足の姿勢変化動作を、実行を意図したと推定される足の姿勢変化動作に変換する数式を準備する。この数式を用いて意図した足の姿勢(第1の動作)を算出し、第1の動作に対応する姿勢となるように、モニタ画面に制御対象三角形82を表示する。
比較例2として、単純な対応付けのみに基づいて、同様の実験を行った。単純な対応付けとは、θh2はθh1のみに関係し、θh2の変化量とθh1の変化量とが比例するとし、θg2はθg1のみに関係し、θg2の変化量とθg1の変化量とが比例するとし、θk2はθk1のみに関係し、θk2の変化量とθk1の変化量とが比例するとした対応付けを意味する。
表2から、実施例3は、比較例2に比べ、所要時間が短く、姿勢変化が正確であることが分かる。すなわち、実施例3のような対応付けをすると、比較例2の単純な対応付けよりも、操作性が向上することが分かる。
<実施例4> 実施例4について、図33(a)及び(b)を参照しながら説明する。実施例4では、手の動きに基づいて、制御対象を動作させるための制御指令を生成する。図33(a)は、ロボットハンド等の制御対象80の動作を模式的に示す説明図である。図33(b)は、手28の基準動作を模式的に示す説明図である。
図33(a)に矢印98で示すように、ロボットハンド等の制御対象80を傾けるための制御指令と、図33(b)において矢印60で示すように、手28を傾ける動作とを対応付けると、制御対象80の動作と、制御対象80を動作させるための手28の動作との対応関係が容易に理解できるため、手28を動かして、制御対象80を容易に動作させることができる。
しかしながら、手には特有の動作特性が存在するため、制御対象を制御するときに実行することを意図した手の動作と、実際の手の動作とには、ずれが生じる。
そこで、実際の手の動作を、実行を意図したと推定される手の動作に変換するための数式を準備しておく(第1のステップ)。操作者の実際の手の動作を計測する(第2のステップ)。準備しておいた数式を用いて、計測した動作を変換し、変換した動作に含まれる基準動作の成分に基づいて、制御指令を生成する(第3のステップ)。
すなわち、前記第1のステップにおいて、制御指令と対応付けられた基準動作であって身体の基準部位を基準方向に動作させる前記基準動作を含む第1の動作と、前記第1の動作の実行を意図して動作したときの実際の動作である第2の動作とを対応付ける数式を準備する。前記第2のステップにおいて、操作者の前記基準部位の動作を計測する。前記第3のステップにおいて、前記第1のステップで準備した前記数式を用いて、前記第2のステップで計測した前記動作を変換し、変換された前記動作に含まれる前記基準動作の成分に基づいて前記制御指令を算出する。前記基準部位は、手である。
第1から第3のステップによって制御指令を算出すると、操作者の意図がより正確に反映された制御指令を生成することができる。なお、第1のステップにおいて、複数の操作者に共通の数式を準備しても、個別に、すなわち操作者ごとに別々の数式を準備してもよい。
<実施例5> 第1の動作と第2の動作との対応付けに、数式の代わりにデータベースを用いる実施例5について説明する。
例えば足首を基準部位とする場合、第1の動作における足首の位置(xv,yv,zv)とそれに対応する実際の基準部位の動作である第2の動作における足首の位置(xw,yw,zw)とを対にして1つのデータとする。第1の動作におけるi番目の位置(xvi,yvi,zvi)と、それに対応する第2の動作における位置(xwi,ywi,zwi)とを対にしたデータ(xvi,yvi,zvi,xwi,ywi,zwi)を作成する。第1の動作における様々な位置とそれに対応する第2の動作の位置の対のデータの集合からデータベースを作成する(第1のステップ)。
次いで、操作者の実際の動作、すなわち制御指令を生成するための動作を計測する(第2のステップ)。
次いで、計測した実際の動作を第2の動作として扱い、データベースの第2の動作のデータを検索し、計測した実際の動作と合致するデータ又はそれに近いデータを抽出する。合致するデータがあれば、合致したデータから第1の動作のデータを抽出する。また、合致するデータがなく、近いデータがあれば、近いデータから第1の動作のデータを抽出する、あるいは、計測した実際の動作を第2の動作としたときに対になるべき第1の動作のデータを、内挿、外挿等の手法によって補間をして得る。
次いで、抽出又は補間をして得た第1の動作のデータに含まれる基準動作の成分に基づいて制御指令を算出する(第3のステップ)。
なお、第1のステップにおいて、複数の操作者に共通のデータベースを準備しても、操作者ごとに別々のデータベースを準備してもよい。操作者ごとに別々のデータベースを準備すれば、複数の操作者に共通のデータベースを準備する場合に比べ、個々の操作者の身体の動作特性がより正確に反映されたデータベースを用いることができるため、個々の操作者の意図がより一層正確に反映された制御指令を生成することができる。
<実施例6> 実施例6について、図34〜図49を参照しながら説明する。実施例6では、手の姿勢変化動作(姿勢を変える動作)に基づいて制御指令を生成する。
図34は、ロボットハンド等の制御対象80qの姿勢変化動作を模式的に示す説明図である。図35は、手28の姿勢変化動作を模式的に示す説明図である。図34(a)及び図35(a)は、上から見た図である。図34(b)及び図35(b)は、側面から見た図である。図34(c)及び図35(c)は、正面から見た図である。
図34(a)と図35(a)とを対応付け、図34(b)と図35(b)とを対応付け、図34(c)と図35(c)とを対応付けると、制御対象80qの姿勢変化動作と手28の姿勢変化動作との対応関係を容易に理解できる。
すなわち、図34(a)において矢印80aで示すように、制御対象80qをzH軸を中心に回動させる角度φHと、図35(a)において矢印28p,28qで示すように、手28を背屈(伸展)又は掌屈(屈曲)する角度である開き角θHhとを対応付ける。図34(b)において矢印80bで示すように、制御対象80qをxH軸を中心に回動させる角度θHと、図35(b)において矢印28s,28tで示すように、手28を外転又は内転する角度である仰角θHgとを対応付ける。図34(c)において矢印80cで示すように、制御対象80qをyH軸を中心に回動させる角度ΨHと、図35(c)において矢印28u,28vで示すように、手28を回内又は回外する角度である傾き角θHkとを対応付ける。角度φH,θH,ΨHの符号の定義は図34のとおりであり、開き角θHh、仰角θHg、傾き角θHkの符号の定義は図35のとおりである。
次に、手の開き角、仰角、傾き角の定義について、図36及び図37を参照しながら説明する。
図36(a)及び(b)は、右側の上肢22についての肩関節中心座標系X2−Y2−Z2(以下、sigmaSと表す。)、上肢座標系x2−y2−z2(以下、sigmaAと表す。)、手座標系x2'−y2'−z2'(以下、sigmaHと表す。)の説明図である。sigmaS、sigmaA、sigmaHは、直交座標系である。
図36(a)に示すように、背筋を伸ばし、肘関節25aを90度屈曲した基本姿勢において、sigmaSの原点OSを、右肩関節中心とする。sigmaSのX2軸は、身体10の左右の肩関節中心を通る直線に平行であり、身体10の右方向が正方向である。Z2軸は、身体10の上下方向と平行で、上向きが正方向である。Y2軸はX2軸とZ2軸とに直交しており、身体10の前方が正方向である。
図36(a)及び(b)に示すように、sigmaAにおいて、原点は、右側の手首の中心Wである。x2軸は、右肘関節の回転軸に平行であり、図36(b)の状態では、右前腕26aの内側から外側に向かう方向が正方向である。y2軸は、右側の上肢22の前腕長軸(手首中心Wと肘関節中心ELとを通る軸)に一致し、肘関節中心ELから手首中心Wに向かう方向が正方向である。z2軸は、x2軸及びy2軸に直交し、x2軸、y2軸とともに右手座標系を構成するように正方向が定義される。
図36(b)に示すように、sigmaHにおいて、原点は右側の手首中心Wである。x2'軸は、右側の手28の手のひら側と手の甲側とを結ぶ直線(右手の内側と外側とを結ぶ直線)に平行で、右側の手28の内側から外側へ向かう方向が正方向である。y2'軸は、右側の手28の第3指(中指)28cと手首中心Wとを通る直線に平行で、手首側から第3指側へと向かう方向が正方向である。z2'軸は、x2'軸とy2'軸に垂直であり、右側の手28の第5指(小指)28e側から第1指(母指)28a側に向かう方向が正方向である。手のひら面は、y2'軸とz2'軸とを含むy2'z2'平面95と平行である。図35に示すように手28の姿勢を変えると、sigmaAに対してsigmaHが回転をする。
開き角、仰角、傾き角は、sigmaAに対してsigmaHを以下の手順(1)〜(3)にしたがって回転させたときの、sigmaAとsigmaHとの相対角度θHh,θHg,θHkである。
手順(1) まず、図37(a)に示すように、sigmaAとsigmaHとが一致した状態(x2軸とx2'軸とが一致し、y2軸とy2'軸とが一致し、z2軸とz2'軸とが一致する状態)から、sigmaHをy2軸まわりに角度θHkだけ回転させたものを、x2''−y2''−z2''座標系(以下、sigmaH'と表す)とする。
手順(2) 次いで、図37(b)に示すように、sigmaH'をz2''軸まわりに角度−θHhだけ回転させたものを、x2'''−y2'''−z2'''座標系(以下、sigmaH''と表す)とする。
手順(3) 次いで、図37(c)に示すように、sigmaH''をx2'''軸まわりに角度θHgだけ回転させたものを、x2''''−y2''''−z2''''座標系(以下、sigmaH'''と表す)とする。
以上の手順(1)〜(3)によって、sigmaAから見たsigmaH'''の姿勢は、3つの角度の組(θHh,θHg,θHk)で表現できる。θHhが開き角であり、θHgが仰角であり、θHkが傾き角である。sigmaH'''は、開き角、仰角、傾き角が存在する状態のsigmaHを意味する。このため、sigmaAから見たsigmaH'''の姿勢は、sigmaAから見たsigmaHの姿勢を意味する。
なお、図37(a)〜(c)において、回転方向を示す矢印の方向は、傾き角θHk、開き角θHh、仰角θHgが正の値となる場合の回転方向を示している。
図34(a)と図35(a)とを対応付け、図34(b)と図35(b)とを対応付け、図34(c)と図35(c)とを対応付けるといった単純な対応付けを前提とし、制御対象80qの姿勢変化動作に対応する手28の姿勢変化動作を想定し、想定した姿勢変化動作になるように手を動作させると、手28の動作をもとに制御対象80qの姿勢変化動作を制御することができる。
しかしながら、後述の図46〜図49に示すように手には特有の動作特性が存在するため、制御対象を制御するときに想定した姿勢変化動作になるように手を直感的に動作させると、想定した手の姿勢変化動作と実際の手の姿勢変化動作との間には、ずれが生じる。そのため、手28の姿勢変化動作を計測し、単純な対応付けに基づいて、制御対象80qの姿勢変化動作を設定するための制御指令を生成する場合、制御対象80qに、意図した通りの正確な姿勢変化動作をさせることは、容易でない。直感的な手の動作によって、制御対象が想定した姿勢変化動作に近い姿勢変化動作をするほど、操作性が良い。
そこで、実際の手の姿勢変化動作を、実行を意図したと推定される手の姿勢変化動作に変換するための数式を準備しておき(第1のステップ)、操作者の手の姿勢変化動作を計測し(第2のステップ)、準備しておいた数式を用いて、計測した姿勢変化動作を変換し、変換した姿勢変化動作に基づいて、制御指令を生成する(第3のステップ)。
以下、さらに説明する。
実施例6では、手28を基準部位とする。図35(a)に示したように手28の開き角θHhのみを変化させる第1の基準動作と、図34(a)に示したように制御対象80qの角度φHのみを変化させる制御指令とを対応付ける。例えば、開き角θHhと角度φHとが比例関係になるように、制御指令を生成する。同様に、図35(b)に示したように手28の仰角θHgのみを変化させる第2の基準動作と、図34(b)に示した制御対象80qの角度θHのみを変化させる制御指令とを対応付ける。また、図35(c)に示したように手28の傾き角θHkのみを変化させる第3の基準動作と、図34(c)に示した制御対象80qの角度ΨHのみを変化させる制御指令とを対応付ける。
sigmaAは、原点は右側の手首の中心にあるが、x2軸、y2軸、z2軸の方向は、肘関節中心に原点があり肘関節の前腕側に固定された座標系の直交する3つの軸(肘関節の回転軸と、前腕長軸と、それらの軸と直交する軸)の方向によって定義されている。ここでは、開き角、仰角、傾き角に相当する回転方向が基準方向であり、これらは、前述のように、sigmaAにより定義される回転方向である。このため、基準方向は、基準部位である手とは異なる部位である肘関節の前腕側に一体に固定された座標系(肘関節の前腕側と一体となって同じ動きをする別の仮想的な位置に固定された座標系)であるsigmaAにより定義される回転方向となる。
以下、第1〜第3のステップの具体例を説明する。
第1のステップの具体例を説明する。実際の手の姿勢変化動作を、実行を意図したと推定される手の姿勢変化動作に変換するための数式は、次のように準備する。
図38に示すように、制御対象の姿勢を三角形282(以下、「制御対象三角形282」とよぶ。)で表す。図38(b)に示すように、モニタ画面に制御対象三角形282を表示する。図38(b)は、制御対象三角形282の頂点282aと頂点282bとが頂点282qよりも手前にある状態を示す。制御対象三角形282の頂点282aから頂点282bに向かう軸は、図34の制御対象80qの根元部202を通り、上面204から下面205に向かう方向と同じ方向でかつ平行な軸に対応する。制御対象三角形282の頂点282aと頂点282bとを結ぶ底辺282cの中点282pから頂点282qに向かう軸は、図34の制御対象80qの根元部202を通り、根元部202から先端部206に向かう方向と同じ方向でかつ平行な軸に対応する。制御対象三角形282の3つの頂点282a,282b,282qを含む面の法線方向かつ図38(b)の表示では略右方向となる軸であって、制御対象三角形282の底辺282cの中点282pを通る軸は、図34の制御対象80qの根元部202を通り、左側面207から右側面208に向かう方向と同じ方向でかつ平行な軸に対応する。
モニタ画面に表示される制御対象三角形282を手28で操作していると想定する。モニタ画面に表示される制御対象三角形282の姿勢を変え、これに対応して、手28の姿勢を変える。このとき、被験者は、図34(a)と図35(a)、図34(b)と図35(b)、図34(c)と図35(c)に示した対応付けを意識して、制御対象三角形282の姿勢変化を実現させるために必要と考える通りに、手28の姿勢を変える。すなわち、図38(a)の説明図に示すように、制御対象三角形282の姿勢と手のひら面の姿勢とが一致する状況を意識して、手28の姿勢を変える。このため、モニタに表示される制御対象三角形282の動作は、被験者が意図した手28の動作を意味する。このときの手28の実際の動作(すなわち、第2の動作)を、モニタに表示された制御対象三角形282の動作(すなわち、第1の動作)と対応付けて測定する。手28の実際の動作の測定は、例えば、手28にマーカーを貼り付けた状態で手の動作を撮影し、撮影した画像を解析するなど、適宜な方法で計測すればよい。
モニタに表示する第1の動作は、図39及び図40に示すように第1乃至第3の基準動作のいずれか一つのみを含んでいてもよい。図39(a)は、制御対象80qの角度φHのみが増減する、すなわち、手の開き角θHhのみが増減する第1の基準動作について、1/4周期ごとのモニタ上の表示である。図39(b)は、制御対象80qの角度θHのみが増減する、すなわち、手の仰角θHgのみが増減する第2の基準動作について、1/4周期ごとのモニタ上の表示である。図40は、制御対象80qの角度ΨHのみが増減する、すなわち、手の傾き角θHkのみが増減する第3の基準動作について、1/4周期ごとのモニタ上の表示である。
モニタに表示する第1の動作は、複数の基準動作が含まれる複合動作であってもよいし、例えば図41及び図42に示すように基準動作の一部が動作範囲内のいずれかの状態で固定されている状態で他の基準動作が含まれる部分複合動作であってもよい。図41(a)は、制御対象80qの角度ΨHが0度、角度φHが60度に固定された状態で、角度θHのみが増減する、すなわち、手の傾き角θHkが0度、開き角θHhが60度に固定された状態で、仰角θHgのみが増減する部分複合動作について、1/4周期ごとのモニタ上の表示である。図41(b)は、制御対象80qの角度ΨHが0度、角度φHが−60度に固定された状態で、角度θHのみが増減する、すなわち、手の傾き角θHkが0度、開き角θHhが−60度に固定された状態で、仰角θHgのみが増減する部分複合動作について、1/4周期ごとのモニタ上の表示である。図42(c)は、制御対象80qの角度ΨHが0度、角度θHが15度に固定された状態で、角度φHのみが増減する、すなわち、手の傾き角θHkが0度、仰角θHgが15度に固定された状態で、開き角θHhのみが増減する部分複合動作について、1/4周期ごとのモニタ上の表示である。図42(d)は、制御対象80qの角度ΨHが0度、角度θHが−15度に固定された状態で、角度φHのみが増減する、すなわち、手の傾き角θHkが0度、仰角θHgが−15度に固定された状態で、開き角θHhのみが増減する部分複合動作について、1/4周期ごとのモニタ上の表示である。
図43〜図45は、図39(a)及び(b)並びに図40に示すように第1乃至第3の基準動作のいずれか一つのみを含む第1の動作をモニタに表示したときの測定結果である。横軸は、第1の動作の変数(基準動作の開き角θHh1、仰角θHg1、傾き角θHk1のいずれか一つ)を示す。縦軸は、第2の動作の測定値(開き角θHh2、仰角θHg2、傾き角θHk2)を示す。
図43は、開き角のみを変化させる第1の基準動作に対する第2の動作の計測結果を示している。図43から、開き角のみを変化させる第1の基準動作に対して、第2の動作では開き角が変化していることが分かる。
図44は、仰角のみを変化させる第2の基準動作に対する第2の動作の計測結果を示している。図44から、仰角のみを変化させる第2の基準動作に対して、第2の動作では仰角が変化していることが分かる。
図45は、傾き角のみを変化させる第3の基準動作に対する第2の動作の計測結果を示している。図45から、傾き角のみを変化させる第3の基準動作に対して、第2の動作では傾き角が変化していることが分かる。
図46〜図49は、図41及び図42に示すように部分複合動作を含む第1の動作をモニタに表示したときの測定結果である。横軸は、第1の動作の変数(開き角θHh1、仰角θHg1、傾き角θHk1のいずれか一つ)を示す。縦軸は、第2の動作の測定値(開き角θHh2、仰角θHg2、傾き角θHk2)を示す。
図46は、手の傾き角が0度、開き角が60度に固定された状態で、仰角のみを変化させる部分複合動作に対する第2の動作の計測結果を示している。図46から、仰角のみを変化させる第1の動作に対して、第2の動作では傾き角が変化していることが分かる。図46から、第1の動作の開き角が正の値となる場合には、第1の動作の変数である仰角の増加に対して、第2の動作の変数である傾き角が減少する特性を有する数式を定義することができる。
図47は、手の傾き角が0度、開き角が−60度に固定された状態で、仰角のみを変化させる部分複合動作に対する第2の動作の計測結果を示している。図47から、仰角のみを変化させる第1の動作に対して、第2の動作では傾き角が変化していることが分かる。図47から、第1の動作の開き角が負の値となる場合には、第1の動作の変数である仰角の増加に対して、第2の動作の変数である傾き角が増加する特性を有する数式を定義することができる。また、図47から、第2の動作では仰角も変化していることが分かる。
図48は、手の傾き角が0度、仰角が15度に固定された状態で、開き角のみを変化させる部分複合動作に対する第2の動作の計測結果を示している。図48から、開き角のみを変化させる第1の動作に対して、第2の動作では傾き角が変化していることが分かる。図48から、第1の動作の仰角が正の値となる場合には、第1の動作の変数である開き角の増加に対して、第2の動作の変数である傾き角が減少する特性を有する数式を定義することができる。また、図48から、第2の動作では開き角も変化していることが分かる。
図49は、手の傾き角が0度、仰角が−15度に固定された状態で、開き角のみを変化させる部分複合動作に対する第2の動作の計測結果を示している。図49から、開き角のみを変化させる第1の動作に対して、第2の動作では傾き角が変化していることが分かる。図49から、第1の動作の仰角が負の値となる場合には、第1の動作の変数である開き角の増加に対して、第2の動作の変数である傾き角が減少する特性を有する数式を定義することができる。また、図49から、第2の動作では開き角も変化していることが分かる。
一般に、第1の軸を回転中心軸として基準部位が回転運動する回転運動成分を含む第1の動作と、その第1の動作に対応する第2の動作とを対応付ける数式は、「第1の動作の回転運動成分に対応する第2の動作の成分が、第1の軸を回転中心軸とする基準部位の第1の回転運動と、第1の軸とは異なる第2の軸を回転中心軸とする基準部位の第2の回転運動とを含むこと」を取り込んだ数式である。
計測結果に対して重回帰分析を行い、第1の動作と第2の動作とを対応付ける数式を求めると、次の式(12)のようになる。ここでは、第1の動作の変数として開き角θ
Hh1、仰角θ
Hg1、傾き角θ
Hk1を用い、第2の動作の変数として開き角θ
Hh2、仰角θ
Hg2、傾き角θ
Hk2を用いる。
この式(12)を用いて、制御指令を算出する。すなわち、制御対象の姿勢を制御するために操作者が手を動作させたとき、手の姿勢を計測し、第2の動作に相当する手の姿勢の測定値(θHh2,θHg2,θHk2)を式(12)に代入して、第1の動作に相当する手の姿勢(θHh1,θHg1,θHk1)を算出する。算出された手の姿勢(θHh1,θHg1,θHk1)は、操作者が実行することを意図した手の姿勢に近いものになる。この(θHh1,θHg1,θHk1)を制御対象の姿勢(φH,θH,ΨH)に対応付けることにより、操作者の意図が制御対象に、より正確に反映されるようになる。
式(12)を書き直すと、次の式(12')のようになる。数値は四捨五入したものである。
式(12')は、第1及び第2の動作における基準部位である手の動作が、同一の3つの変数で定義されるとき、それら3つの変数のうち1つの変数のみが変化する手の動作要素を含む第1の動作についての右辺と、動作要素に対応してそれら3つの変数のうち複数の変数が変化する動作成分を含む第2の動作についての左辺とを対応付けるものである。式(12)や式(12')は、基準部位である手の動作特性を反映することができる。
特に、図46〜図49から、開き角と仰角とのうち少なくとも一方が変化する第1の動作に対して、傾き角が変化する第2の動作が対応することが分かる。これに基づいて、第1の動作と第2の動作とを対応付ける数式又はデータベースでは、開き角と仰角とのうち少なくとも一方が変化する手の動作要素を含む第1の動作と、この動作要素に対応して傾き角が変化する動作成分を含む第2の動作とを対応付けることができる。この場合、手の動作特性に基づいて、操作者の意図が正確に反映された制御指令を生成することができる。
なお、第1の動作と第2の動作とを対応付ける数式又はデータベースでは、開き角と仰角とのうち少なくとも一方が変化する手の動作要素を含む第1の動作と、この動作要素に対応して開き角と仰角とのうち少なくとも一方とともに傾き角も変化する動作成分を含む第2の動作とを対応付けることも可能であり、また、開き角と仰角とのうち少なくとも一方が変化する手の動作要素を含む第1の動作と、この動作要素に対応して傾き角のみが変化する動作成分を含む第2の動作とを対応付けることも可能である。
第2のステップでは、操作者の手の動作を計測する。この際、操作者は、上肢の上腕を身体の上下方向に略平行、かつ、上肢の前腕が身体の前側にあり、身体の前後方向に略平行となる姿勢をとってもよい。第3のステップでは、第2のステップで計測した動作を第2の動作として、第1のステップで準備した数式を用いて、第2のステップで計測した動作を第1の動作に変換し、変換された第1の動作に含まれる基準動作の成分に基づいて制御指令を算出する。
なお、第1のステップにおいて、複数の操作者に共通の数式又はデータベースを準備しても、操作者ごとに別々の数式又はデータベースを準備してもよい。操作者ごとに別々の数式又はデータベースを準備すれば、複数の操作者に共通の数式又はデータベースを準備する場合に比べ、個々の操作者の身体の動作特性がより正確に反映された数式又はデータベースを用いることができるため、個々の操作者の意図がより一層正確に反映された制御指令を生成することができる。
<実施例7> 実施例7について、図50〜図59を参照しながら説明する。実施例7では、手の指の動きに基づいて、制御対象を動作させるための制御指令を生成する。
図50(a)は、ロボットアーム等の制御対象80rの動作を模式的に示す説明図である。図50(b)及び図50(c)は、手28を上から見た状態を示す説明図である。図50(b)は、第2指302の基準動作を示している。図50(c)は、第2指302の実際の動作を示している。図50(b)において矢印380で示すように、第2指302を少し曲げた状態で第2指302の指先312を前後方向に直線運動する基準動作と、図50(a)において矢印391で示すように、制御対象80rの前後方向の移動とを対応付ける。この対応付けを意識して第2指302を動かした場合、第2指302の指先312の実際の動作は、図50(c)において矢印381で示すように曲線運動となる。
図51(a)は、ロボットアーム等の制御対象80rの動作を模式的に示す説明図である。図51(b)及び図51(c)は、手28を横から見た状態を示す説明図である。図51(b)は、第2指302の基準動作を示している。図51(c)は、第2指302の実際の動作を示している。図51(b)において矢印382で示すように、第2指302を少し曲げた状態で第2指302の指先312を上下方向に直線運動する基準動作と、図51(a)において矢印392で示すように、制御対象80rの上下方向の移動とを対応付ける。この対応付けを意識して第2指302を動かした場合、第2指302の指先312の実際の動作は、図51(c)において矢印383で示すように曲線運動となる。
図52(a)は、ロボットアーム等の制御対象80rの動作を模式的に示す説明図である。図52(b)は、手28を上から見た状態を示す説明図である。図52(b)は、第2指302の基準動作を示している。図52(b)において矢印384で示すように、第2指302を少し曲げた状態で第2指302の指先312を左右方向に直線運動する基準動作と、図52(a)において矢印393で示すように、制御対象80rの左右方向の移動とを対応付ける。
図53(a)は、ロボットアーム等の制御対象80rの動作を模式的に示す説明図である。図53(b)及び図53(c)は、手28を横から見た状態を示す説明図である。図53(b)は、第1指301の基準動作を示している。図53(c)は、第1指301の実際の動作を示している。図53(b)において矢印370で示すように、第1指301を少し曲げた状態で第1指301の指先311を上下方向に直線運動する基準動作と、図53(a)において矢印394で示すように、制御対象80rの上下方向の移動とを対応付ける。この対応付けを意識して第1指301を動かした場合、第1指301の指先311の実際の動作は、図53(c)において矢印371で示すように曲線運動となる。
図54(a)は、ロボットアーム等の制御対象80rの動作を模式的に示す説明図である。図54(b)及び図54(c)は、手28を上から見た状態を示す説明図である。図54(b)は、第1指301の基準動作を示している。図54(c)は、第1指301の実際の動作を示している。図54(b)において矢印372で示すように、第1指301を少し曲げた状態で第1指301の指先311を左右方向に直線運動する基準動作と、図54(a)において矢印395で示すように、制御対象80rの左右方向の移動とを対応付ける。この対応付けを意識して第1指301を動かした場合、第1指301の指先311の実際の動作は、図54(c)において矢印373で示すように曲線運動となる。
図55(a)は、ロボットアーム等の制御対象80rの動作を模式的に示す説明図である。図55(b)は、手28を横から見た状態を示す説明図である。図55(b)は、第1指301の基準動作を示している。図55(b)において矢印374で示すように、第1指301を少し曲げた状態で第1指301の指先311を前後方向に直線運動する基準動作と、図55(a)において矢印396で示すように、制御対象80rの前後方向の移動とを対応付ける。
このような手の指の動作特性が反映されるように、以下の第1乃至第3のステップによって、制御指令を生成する。
第1のステップでは、基準部位である指先の動作を計測し、第1の動作と第2の動作とを対応付ける数式又はデータベースを準備する。基準部位である指先の計測は、直接的に指先の動作を計測する方法だけでなく、指先と連動して動く他の部位である末節骨や中節骨、基節骨、中手骨などの動作を計測し、それから指先の動作を算出する間接的な方法でもよい。
第2のステップでは、操作者の指先の動作を計測する。この際、操作者は、上肢の上腕を身体の上下方向に略平行、かつ、上肢の前腕が身体の前側にあり、上肢の前腕が身体の前後方向に略平行となる姿勢をとってもよい。
第3のステップでは、第2のステップで計測した動作を第2の動作として、第1のステップで準備した数式又はデータベースを用いて、第2のステップで計測した動作を第1の動作に変換し、変換された第1の動作に含まれる基準動作の成分に基づいて制御指令を算出する。
なお、第1のステップにおいて、複数の操作者に共通の数式又はデータベースを準備しても、操作者ごとに別々の数式又はデータベースを準備してもよい。操作者ごとに別々の数式又はデータベースを準備すれば、複数の操作者に共通の数式又はデータベースを準備する場合に比べ、個々の操作者の身体の動作特性がより正確に反映された数式又はデータベースを用いることができるため、個々の操作者の意図がより一層正確に反映された制御指令を生成することができる。
次に、第1のステップで準備する数式又はデータベースを決定するための実験4について説明する。
実験4では、被験者は、上肢の上腕を身体の上下方向に略平行、かつ、上肢の前腕が身体の前側にあり、上肢の前腕が身体の前後方向に略平行となる姿勢をとる。手首は曲げずに、図51(b)及び(c)、図53(b)及び(c)に示すように、手28は第2指302が上側で第5指305が下側となる状態とする。第2指302の指先312を基準部位とする場合には、図50(b)および図51(b)に示すように、手28を軽く握った状態から第2指302のみを少し伸ばした(伸展させた)状態を指の基本姿勢とした。第1指301の指先311を基準部位とする場合には、図53(b)および図54(b)に示すように、手を軽く開いた状態から第1指301を少し曲げた状態を指の基本姿勢とした。
そして、被験者の前に目標物を表示するモニターを配置し、モニター上で目標物を所定方向に移動させる。目標物は制御対象に相当するものとして扱う。モニター上には、目標物が前後、左右、上下に移動する映像が表示され、被験者は指と制御対象との対応付けを意識し、映像に合わせて指を動かす。
すなわち、第2指302の指先312を基準部位とする場合には、被験者は、図50(a)及び(b)、図51(a)及び(b)、図52(a)及び(b)に示した対応付けを意識して、目標物の移動を実現させるために必要と考える通りに、第2指302を動かす。第1指301の指先311を基準部位とする場合には、図53(a)及び(b)、図54(a)及び(b)、図55(a)及び(b)に示した対応付けを意識して、目標物の移動を実現させるために必要と考える通りに、第1指301を動かす。指の動きは、被験者の指を撮影した画像を解析することによって計測した。
ここで、図50(b)の矢印380あるいは図55(b)の矢印374で示す前後方向に相当する方向を、「手首第3指方向」と呼ぶ。手首第3指方向は、拳を握った状態において手首関節中心と第3指の基節骨とを結ぶ方向と平行な方向であり、手首関節中心から第3指の基節骨に向かう方向を正方向とする。
また、図51(b)の矢印382あるいは図53(b)の矢印370で示す上下方向に相当する方向を、「第5指第2指方向」と呼ぶ。第5指第2指方向は、第2指302乃至第5指305で軸状部材を握ったときに軸状部材の中心軸の方向と平行な方向であり、第5指305から第2指302に向かう方向を正方向とする。
また、図52(b)の矢印384あるいは図54(b)の矢印372で示す左右方向に相当する方向を、「手のひら甲方向」と呼ぶ。手のひら甲方向は、手のひらと手の甲との間を貫通する方向と平行な方向であり、手のひらから手の甲に向かう方向を正方向とする。手首第3指方向、第5指第2指方向、手のひら甲方向は、互いに垂直な方向となる。
図56は、図50(a)において矢印391で示すような目標物(制御対象80r)の前後方向の直線状の移動に対応して、図50(a)及び(b)に示した対応付けを意識して被験者が第2指302を動かしたときの実験結果を示すグラフである。すなわち、実験の際、被験者は、目標物の前後方向の直線状の移動と同じように、第2指302の指先312を前後方向(手首第3指方向)に直線状に動かすことを意図して、第2指302を動かした。図56において、横軸は、第2指の指先の左右方向(手のひら甲方向)の位置を示し、縦軸は第2指の指先の前後方向(手首第3指方向)の位置を示す。原点は指の基本姿勢での第2指の指先の位置を示す。
図56から、第2指の指先は曲線運動をしており、第2指の指先の曲線運動の曲線は、第2指のPIP関節の曲げ伸ばし運動の回転中心軸と平行となる方向に見ると、第2指のPIP関節と第2指のDIP関節とのうち少なくとも一方が曲線の内側となるように曲がっていることがわかる。すなわち、被験者は、図50(b)において矢印380で示すように第2指302の指先312を直線状に動かそうと意図したが、実際の動作は、図50(c)において矢印381で示すように曲線状の動作となり、第2指302のPIP関節302pの曲げ伸ばし運動の回転中心軸と平行となる方向に見ると、第2指302のPIP関節302pと第2指302のDIP関節302dの少なくとも一方が、第2指302の指先312が曲線運動する曲線の内側に対向する、換言すると、その凸状の曲線に関して凹側にある。
したがって、基準部位が手の第2指の指先であり、手の手首関節中心から手の第3指の基節骨に向かう方向と平行に第2指の指先が直線運動する直線運動成分を含む第1の動作と第1の動作に対応する第2の動作とを対応付ける数式又はデータベースは、「直線運動成分に対応する第2の動作の成分は第2指の指先が曲線運動する曲線運動成分であり、曲線運動成分の曲線は、第2指のPIP関節の曲げ伸ばし運動の回転中心軸と平行となる方向に見ると、第2指のPIP関節と第2指のDIP関節とのうち少なくとも一方が曲線の内側に対向するように曲がっていること」を取り込んだ数式又はデータベースとすればよい。すなわち、「直線運動成分に対応する第2の動作の成分は第2指の指先が曲線運動する曲線運動成分であり、曲線運動成分の曲線は、第2指のPIP関節の曲げ伸ばし運動の回転中心軸と平行となる方向に見ると、凸状又は凹状の曲線であり、曲線の両端を通る直線で二分される領域のうち曲線が存在しない一方の領域と、曲線および直線(曲線の両端を通る直線)によって囲まれる領域と、直線(曲線の両端を通る直線)上とのうち少なくとも一つに、第2指のPIP関節と第2指のDIP関節とのうち少なくとも一方があること」を、数式又はデータベースに取り込む。例えば、第2の動作の成分が、第2指のDIP関節や第2指のPIP関節や第2指のMP関節の曲げ伸ばし運動により生じる第2指の指先の曲線運動や、一つの円弧に沿う円弧状の曲線運動や、略円弧状の曲線運動となることを取り込んだ数式などであっても構わない。
図57は、図51(a)において矢印392で示すような目標物(制御対象80r)の上下方向の直線状の移動に対応して、図51(a)及び(b)に示した対応付けを意識して被験者が第2指302を動かしたときの実験結果を示すグラフである。すなわち、実験の際、被験者は、目標物の上下方向の直線状の移動と同じように、第2指302の指先312を上下方向(第5指第2指方向)に直線状に動かすことを意図して、第2指302を動かした。図57において、横軸は、第2指の指先の前後方向(手首第3指方向)の位置を示し、縦軸は第2指の指先の上下方向(第5指第2指方向)の位置を示す。原点は指の基本姿勢での第2指の指先の位置を示す。
図57から、第2指の指先は曲線運動をしており、第2指の指先の曲線運動の曲線は、第2指のMP関節中心を通るとともに第2指のPIP関節の曲げ伸ばし運動の回転中心軸と第2指のMP関節中心とを含む平面に垂直となる仮想直線と平行となる方向に見ると、仮想直線に第2指の指先から下した垂線の足となる点が曲線の内側となるように曲がっていることがわかる。すなわち、被験者は、図51(b)において矢印382で示すように第2指302の指先312を直線状に動かそうと意図したが、実際の動作は、図51(c)において矢印383で示すように曲線状の動作となり、第2指302のMP関節302mの中心を通るとともに第2指302のPIP関節302pの曲げ伸ばし運動の回転中心軸と第2指302のMP関節302mの中心とを含む平面に垂直となる仮想直線350と平行となる方向に見ると、仮想直線に第2指302の指先312から下した垂線の足となる点352が、第2指302の指先312が曲線運動する曲線の内側に対向する、換言すると、その凸状の曲線に関して凹側にある。
したがって、基準部位が手の第2指の指先であり、手の第5指から手の第2指に向かう方向と平行に第2指の指先が直線運動する直線運動成分を含む第1の動作と第1の動作に対応する第2の動作とを対応付ける数式又はデータベースは、「直線運動成分に対応する第2の動作の成分は第2指の指先が曲線運動する曲線運動成分であり、曲線運動成分の曲線は、第2指のMP関節中心を通るとともに第2指のPIP関節の曲げ伸ばし運動の回転中心軸と第2指のMP関節中心とを含む平面に垂直となる仮想直線と平行となる方向に見ると、仮想直線に第2指の指先から下した垂線の足となる点が曲線の内側に対向するように曲がっていること」を取り込んだ数式又はデータベースとすればよい。すなわち、「直線運動成分に対応する第2の動作の成分は第2指の指先が曲線運動する曲線運動成分であり、曲線運動成分の曲線は、第2指のMP関節中心を通るとともに第2指のPIP関節の曲げ伸ばし運動の回転中心軸と第2指のMP関節中心とを含む平面に垂直となる仮想直線と平行となる方向に見ると、凸状又は凹状の曲線であり、曲線の両端を通る直線で二分される領域のうち曲線が存在しない一方の領域と、曲線および直線(曲線の両端を通る直線)によって囲まれる領域と、直線(曲線の両端を通る直線)上とのうち少なくとも一つに、仮想直線に第2指の指先から下した垂線の足となる点があること」を、数式又はデータベースに取り込む。例えば、第2の動作の成分が、第2指のMP関節の内転・外転運動により生じる第2指の指先の曲線運動や、一つの円弧に沿う円弧状の曲線運動や、略円弧状の曲線運動となることを取り込んだ数式などであっても構わない。
図58は、図53(a)において矢印394で示すような目標物(制御対象80r)の上下方向の直線状の移動に対応して、図53(a)及び(b)に示した対応付けを意識して被験者が第1指301を動かしたときの実験結果を示すグラフである。すなわち、実験の際、被験者は、目標物の上下方向の直線状の移動と同じように、第1指301の指先311を上下方向(第5指第2指方向)に直線状に動かすことを意図して、第1指301を動かした。図58において、横軸は、第1指の指先の前後方向(手首第3指方向)の位置を示し、縦軸は第1指の指先の上下方向(第5指第2指方向)の位置を示す。原点は指の基本姿勢での第1指の指先の位置を示す。
図58から、第1指の指先は曲線運動をしており、第1指の指先の曲線運動の曲線は、第1指のIP関節の曲げ伸ばし運動の回転中心軸と平行となる方向に見ると、第1指のIP関節と、第1指のMP関節と、第1指の手根中手関節とのうち少なくとも一つが曲線の内側となるように曲がっていることがわかる。すなわち、被験者は、図53(b)において矢印370で示すように第1指301の指先311を直線状に動かそうと意図したが、実際の動作は、図53(c)において矢印371で示すように曲線状の動作となり、第1指301のIP関節301iの曲げ伸ばし運動の回転中心軸と平行となる方向に見ると、第1指301のIP関節301iと、第1指301のMP関節301mと、第1指301の手根中手関節301kとのうち少なくとも一つが、第1指301の指先311が曲線運動する曲線の内側に対向する、換言すると、その凸状の曲線に関して凹側にある。
したがって、基準部位が手の第1指の指先であり、手の第5指から手の第2指に向かう方向と平行に第1指の指先が直線運動する直線運動成分を含む第1の動作と第1の動作に対応する第2の動作とを対応付ける数式又はデータベースは、「直線運動成分に対応する第2の動作の成分は第1指の指先が曲線運動する曲線運動成分であり、曲線運動成分の曲線は、第1指のIP関節の曲げ伸ばし運動の回転中心軸と平行となる方向に見ると、第1指のIP関節と、第1指のMP関節と、第1指の手根中手関節とのうち少なくとも一つが曲線の内側に対向するように曲がっていること」を取り込んだ数式又はデータベースとすればよい。すなわち、「直線運動成分に対応する第2の動作の成分は第1指の指先が曲線運動する曲線運動成分であり、曲線運動成分の曲線は、第1指のIP関節の曲げ伸ばし運動の回転中心軸と平行となる方向に見ると、凸状又は凹状の曲線であり、曲線の両端を通る直線で二分される領域のうち曲線が存在しない一方の領域と、曲線および直線(曲線の両端を通る直線)によって囲まれる領域と、直線(曲線の両端を通る直線)上とのうち少なくとも一つに、第1指のIP関節と、第1指のMP関節と、第1指の手根中手関節とのうち少なくとも一つがあること」を、数式又はデータベースに取り込む。例えば、第2の動作の成分が、第1指のIP関節や第1指のMP関節の曲げ伸ばし運動や第1指の手根中手関節の橈側外転・尺側内転運動により生じる第1指の指先の曲線運動や、一つの円弧に沿う円弧状の曲線運動や、略円弧状の曲線運動となることを取り込んだ数式などであっても構わない。
図59は、図54(a)において矢印395で示すような目標物(制御対象80r)の左右方向の直線状の移動に対応して、図54(a)及び(b)に示した対応付けを意識して被験者が第1指301を動かしたときの実験結果を示すグラフである。すなわち、実験の際、被験者は、目標物の左右方向の直線状の移動と同じように、第1指301の指先311を左右方向(手のひら甲方向)に直線状に動かすことを意図して、第1指301を動かした。図59において、横軸は、第1指の指先の前後方向(手首第3指方向)の位置を示し、縦軸は第1指の指先の左右方向(手のひら甲方向)の位置を示す。原点は指の基本姿勢での第1指の指先の位置を示す。
図59から、第1指の指先は曲線運動をしており、第1指の指先の曲線運動の曲線は、第1指の手根中手関節の掌側外転・掌側内転運動の回転中心軸と平行となる方向に見ると、第1指の手根中手関節が曲線の内側となるように曲がっていることがわかる。すなわち、被験者は、図54(b)において矢印372で示すように第1指301の指先311を直線状に動かそうと意図したが、実際の動作は、図54(c)において矢印373で示すように曲線状の動作となり、第1指301の手根中手関節301kの掌側外転・掌側内転運動の回転中心軸と平行となる方向に見ると、第1指301の手根中手関節301kが、第1指301の指先311が曲線運動する曲線の内側に対向する、換言すると、その凸状の曲線に関して凹側にある。
したがって、基準部位が手の第1指の指先であり、手の手のひらから手の甲に向かう方向と平行に第1指の指先が直線運動する直線運動成分を含む第1の動作と第1の動作に対応する第2の動作とを対応付ける数式又はデータベースは、「直線運動成分に対応する第2の動作の成分は第1指の指先が曲線運動する曲線運動成分であり、曲線運動成分の曲線は、第1指の手根中手関節の掌側外転・掌側内転運動の回転中心軸と平行となる方向に見ると、第1指の手根中手関節が曲線の内側に対向するように曲がっていること」を取り込んだ数式又はデータベースとすればよい。すなわち、「直線運動成分に対応する第2の動作の成分は第1指の指先が曲線運動する曲線運動成分であり、曲線運動成分の曲線は、第1指の手根中手関節の掌側外転・掌側内転運動の回転中心軸と平行となる方向に見ると、凸状又は凹状の曲線であり、曲線の両端を通る直線で二分される領域のうち曲線が存在しない一方の領域と、曲線および直線(曲線の両端を通る直線)によって囲まれる領域と、直線(曲線の両端を通る直線)上とのうち少なくとも一つに、第1指の手根中手関節があること」を、数式又はデータベースに取り込む。例えば、第2の動作の成分が、第1指の手根中手関節の掌側外転・掌側内転運動により生じる第1指の指先の曲線運動や、一つの円弧に沿う円弧状の曲線運動や、略円弧状の曲線運動となることを取り込んだ数式などであっても構わない。
図56〜図59は、手の姿勢が第2指が上側で第5指が下側となる場合の実験4の結果であったが、手の姿勢が手のひらが下向きで手の甲が上向きとなる場合の実験5や、手の姿勢が手のひらが上向きで手の甲が下向きとなる場合の実験6も行った。その結果、手の姿勢の変化による方向の定義の変化を考慮すれば、図56〜図59と同様の結果が得られた。すなわち、手首第3指方向の実験結果に相当する実験5での前後方向及び実験6での前後方向の実験結果は、実験4での前後方向の実験結果と同様の結果となり、手のひら甲方向の実験結果に相当する実験5での上下方向及び実験6での上下方向の実験結果は、実験4での左右方向の実験結果と同様の結果となり、第5指第2指方向の実験結果に相当する実験5での左右方向及び実験6での左右方向の実験結果は、実験4での上下方向の実験結果と同様の結果となった。このため、図56〜図59は、手の姿勢の変化に関わらずに生じる指の動作特性を表すものと言える。手首第3指方向、第5指第2指方向、手のひら甲方向で方向を定義すると、手の姿勢に関わらず指の動作特性を共通に扱いやすい。なお、手首を曲げたり前腕や上腕の姿勢を変えて手の姿勢を変えた場合でも、実験4で得られた指の動作特性を取り込んだ数式又はデータベースを用いてもよい。
手首第3指方向は、手の手のひら乃至甲に固定された座標系において手の手首関節中心から手の第2〜5指の基節骨が動きうる範囲内に向かうように予め定めた一つの方向定義直線と平行な方向、と定義してもよい。第5指第2指方向は、手の手のひら乃至甲に固定された座標系において手の第5指の基節骨が動きうる範囲内から手の第2指の基節骨が動きうる範囲内に向かうように予め定めた一つの方向定義直線と平行な方向、と定義してもよい。手のひら甲方向は、手の手のひら乃至甲に固定された座標系において手の手のひらから手の甲に向かうように予め定めた一つの方向定義直線と平行な方向、と定義してもよい。
第3〜5指の動作特性は、実験4で明らかになった第2指の動作特性と同様である。このため、第3〜5指の指先を基準部位とする場合は、第2指の指先を基準部位とする場合と同様の方法で、指の動作特性を取り込んだ数式又はデータベースとすればよい。また、基準部位を第2〜5指のDIP関節よりも指先側の部位とする場合でも第2〜5指の指先を基準部位とする場合と同様の動作特性となり、基準部位を第1指のIP関節よりも指先側の部位とする場合でも第1指の指先を基準部位とする場合と同様の動作特性となるため、基準部位を第2〜5指のDIP関節よりも指先側の部位とする場合や基準部位を第1指のIP関節よりも指先側の部位とする場合は、指先を基準部位とする場合と同様の方法で、指の動作特性を取り込んだ数式又はデータベースとすればよい。
第1の動作と第2の動作とを対応付ける数式は種々のパラメータを用いても構わない。指先の位置のパラメータとして、手首第3指方向、第5指第2指方向、手のひら甲方向の指先の位置を表すパラメータや、指のPIP関節、DIP関節、MP関節、IP関節、第1指の手根中手関節などの各関節の回転角度を表すパラメータを用いてもよい。回帰分析(単回帰分析や重回帰分析)を用いて、目標物の位置のパラメータと実際の指先の位置のパラメータとの関係式を求めてもよい。第1の動作には、斜め方向などの複合動作を含めてもよい。
ここで、第1及び第2の動作における第2指の指先の動作が、どちらも、指先の前後、左右、上下方向の位置を表す変数(同一の複数の変数)で定義される場合を考える。この場合、例えば、図50(b)に示すように、指先の前後方向の位置を表す変数のみが変化する第1の動作に対して、図50(c)に示すように、指先の前後方向の位置を表す変数と指先の左右方向の位置を表す変数の2つの変数が変化する第2の動作が対応するため、これらを対応付ける数式とすればよい。すなわち、第1及び第2の動作における基準部位の動作が、同一の複数の変数で定義されるとき、第1の動作と第2の動作とを対応付ける数式又はデータベースは、それらの変数のうち1つの変数のみが変化する基準部位の動作要素を含む第1の動作と、この動作要素に対応してそれらの変数のうち複数の変数が変化する動作成分を含む第2の動作とを対応付けるものである。図51の第2指の上下方向の位置を表す変数のみが変化する第1の動作の場合でも、図53の第1指の上下方向の位置を表す変数のみが変化する第1の動作の場合でも、図54の第1指の左右方向の位置を表す変数のみが変化する第1の動作の場合でも、同様である。
<実施例8> 実施例8の制御指令生成装置400について、図60を参照しながら説明する。
図60は、制御指令生成装置400のブロック図である。図60に示すように、制御指令生成装置400は、制御部402に、表示部412と、操作部414と、測定部416と、記憶部422と、演算部424と、インターフェース部426とを備える。
制御部402は、制御指令生成装置400全体の制御を統括する。表示部412は、例えば、表示パネル等を含み、制御指令生成装置400の動作状況を表示する。操作部414は、例えば、ボタンやスイッチなどを含み、起動・停止、データ入力、モード選択などの操作を受け付ける。測定部416は、例えば、カメラやセンサなどを含み、操作者の基準部位の動作を測定し、測定データを制御部402に送出する。記憶部422には、制御部402や演算部424を動作させるためのプログラムについてのプログラムデータや、基準動作を含む第1の動作と、第1の動作に対応する基準部位の実際の動作である第2の動作とを対応付ける数式を定義する第1のデータ、又は第1の動作と第2の動作とを対応付けるデータベースを構成する第2のデータなどが格納される。演算部424は、測定部416からの測定データと記憶部422に格納された第1又は第2のデータとを用いて演算を行う。インターフェース部426は、外部機器とデータを送受信するためのインターフェースであり、記憶部422に格納するためのプログラムデータや第1又は第2のデータ、演算部424からの演算結果データなどを受け付け、入出力を行う。
制御指令生成装置400は、記憶部422に格納されたプログラムデータに基づいて動作する。
すなわち、測定部416は、操作者の基準部位の動作を測定し、測定データを制御部402に送出する。制御部402は、操作者の基準部位の動作を計測した測定データの入力を受け付ける入力受付部として機能する。なお、測定部416は、制御指令生成装置400から分離された別個の装置とすることも可能である。
演算部424は、記憶部422に格納された第1又は第2のデータと制御部402が入力を受け付けた測定データとを参照し、制御部402が測定データの入力を受け付けた操作者の基準部位の動作を第2の動作として、記憶部422に第1又は第2のデータが格納された数式又はデータベースを用いることによって、制御部402が測定データの入力を受け付けた操作者の基準部位の動作を第1の動作に変換し、変換された第1の動作に含まれる基準動作の成分に基づいて制御指令を算出する。演算部424は、制御指令算出部として機能する。
演算部424が算出した制御指令のデータは、制御部402を介してインターフェース部426に伝達され、インターフェース部426から不図示の制御対象に制御信号が送出される。
基準動作を含む第1の動作の実行を意図して動作したときに、実際に動作される第2の動作と、動作することを意図された第1の動作との間には、ずれが生じる。第1の動作と第2の動作とを対応付ける数式又はデータベースを準備し、この数式又はデータベースに基づいて、操作者の実際の動作を変換すると、変換された動作は、操作者が実行することを意図した動作又はそれに近い動作になる。そのため、変換された動作に含まれる基準動作の成分に基づいて制御指令を算出すると、操作者の意図がより正確に反映された制御指令を生成することができる。
なお、記憶部422には、複数の操作者に共通の第1又は第2のデータが格納されても、操作者ごとに別々の第1又は第2のデータが格納されてもよい。操作者ごとに別々の第1又は第2のデータを格納すれば、複数の操作者に共通の第1又は第2のデータが格納される場合に比べ、個々の操作者の身体の動作特性がより正確に反映された数式又はデータベースを用いることができるため、個々の操作者の意図がより一層正確に反映された制御指令を生成することができる。
また、制御部402が入力を受け付ける測定データは、基準部位そのものの動作を直接的に計測した測定データであっても、基準部位と連動して動く他の部位の動作を計測し、他の部位の動作の計測結果から基準部位の動作を算出した間接的な測定データであってもよい。
<まとめ> 以上に説明したように、操作者の実際の動作を変換し、変換した動作に基づいて制御指令を生成すると、操作者の意図がより正確に反映された制御指令を生成することができる。
なお、本発明は、上記実施の形態に限定されるものではなく、種々変更を加えて実施することが可能である。
例えば、基準方向は、前後、左右、上下に限らず、斜め方向としてもよい。
実施例1などの上記実施の形態では、制御指令である制御対象の動作と、基準動作とが略同じとなるような対応付けとなる例を示したが、それ以外でも構わない。基準動作に対応付けられる制御指令は様々なものが可能である。基準動作の位置や姿勢を、制御対象の位置や姿勢と対応付ける例以外にも、制御対象の移動速度や姿勢変化速度に対応付けることや、制御対象が出力する力やトルクの大きさに対応付けることや、制御対象が出す音や光や振動の強さや方向と対応付けることなども可能である。基準動作の姿勢を制御対象の位置と対応付けることや、基準動作の位置を制御対象の姿勢と対応付けることも可能である。基準動作の速度、加速度、角速度、角加速度等を制御指令に対応付けてもよい。
また、実施例では右側の上肢及び下肢を基準部位とする例を用いて説明したが、左側の上肢や下肢を使う場合でも、可能である。その対称性を考慮して、同様に定義すればよい。実施例では足首、足、手首、手、指先を基準部位とする例を用いて説明したが、膝関節より足側の他の部位や、肘関節より手側の他の部位、その他の部位を基準部位としてもよい。例えば、実施例2では、手首ではなく、指先や指、手を基準部位としてもよい。また、基準部位として頚部や頭部を用いてもよい。基準部位は、頭部に含まれている、舌、口(上唇、下唇、口角)、顎、歯、目などでもよい。数式やデータベースは、身体の動作を計測したデータに基づいて準備する方法だけでなく、身体に関してこれまでに得られている知見や、身体に関するシミュレーションや解析の結果より得られる情報などに基づいて準備してもよい。
上記実施の形態では、身体の動作に基づく制御指令生成方法の第2のステップにおいて、操作者の基準部位の動作を計測する場合を説明したが、第2のステップにおいて、操作者の基準部位の動作を計測したデータを取得してもよい。この場合、第3のステップでは、第2のステップでデータを取得した動作を第2の動作として数式又はデータベースを用いることによって、第2のステップでデータを取得した動作を第1の動作に変換し、変換された第1の動作に含まれる基準動作の成分に基づいて制御指令を算出する。