(58)【調査した分野】(Int.Cl.,DB名)
三次元方向の力とトルクを検出する6軸センサに取り付けられる弾性体を、所定の長さを有する疑似剛体とバネ定数を有する関節の集合体よりなる離散化モデルとして見做し、前記バネ定数と、前記6軸センサから得られる前記力の情報と前記トルクの情報に基づいて、前記弾性体の屈曲形状を推定演算する、可撓性弾性体の三次元形状推定方法であり、
前記三次元形状推定方法は、
演算処理の初期値として、前記6軸センサに前記弾性体が据え付けられている三次元方向の位置・姿勢と、前記バネ定数と、前記疑似剛体の長さを設定する初期値設定ステップと、
前記6軸センサから得られる前記力の情報と前記トルクの情報を取得するセンシングステップと、
漸化計算のインデックスを初期値に設定するインデックス初期化ステップと、
前記関節に加わるトルクを算出する局所トルク算出ステップと、
前記関節の第1軸の向きを算出する第1軸方向算出ステップと、
前記関節の第1軸の角度を算出する第1軸角度算出ステップと、
前記関節の第1軸の回転の影響を受ける第1サブフレーム姿勢算出ステップと、
前記関節の第2軸の向きを算出する第2軸方向算出ステップと、
前記関節の第2軸の角度を算出する第2軸角度算出ステップと、
前記関節の第2軸の回転の影響を受ける第2サブフレーム姿勢算出ステップと、
前記関節の第3軸の向きを算出する第3軸方向算出ステップと、
前記関節の第3軸の角度を算出する第3軸角度算出ステップと、
前記関節の第3軸の回転の影響を受ける手先側の疑似剛体姿勢を算出する疑似剛体姿勢算出ステップと、
前記手先側の疑似剛体の長さと前記姿勢から前記関節の次の手先側関節位置を算出する関節位置算出ステップと
を含む、可撓性弾性体の三次元形状推定方法。
【発明を実施するための形態】
【0009】
[全体構成]
図1は、本発明の実施形態の例である、弾性体形状推定システム101の全体構成を示す概略図である。
弾性体形状推定システム101は、6軸センサ102と、パソコン等の情報処理装置105よりなる。
6軸センサ102には、弾性体形状推定システム101による推定の対象となる、帯状弾性体103の一端が取り付けられている。
帯状弾性体103は、例えば周知のポリエチレンテレフタレート(PET樹脂)やポリイミド等の合成樹脂の他、鋼板等の金属でもよいが、全て可撓性を有する材料にて形成される弾性体であり、全体が均一な厚みと幅にて形成されている。したがって、帯状弾性体103はその全長にわたってほぼ等しいバネ定数を有する。
【0010】
6軸センサ102は、x軸、y軸、z軸の各軸方向の力と、x軸、y軸、z軸の各軸を中心とするトルクを出力するセンサである。6軸センサ102が出力するアナログ信号は、A/D変換器207を内蔵するインターフェースユニット104を通じて、情報処理装置105に接続される。インターフェースユニット104と情報処理装置105との間を接続するインターフェースは特に限定されない。一般的なパソコンである情報処理装置105が装備するPCIバスに装着される形態や、USB、LANケーブル等、種々のインターフェースが利用可能である。
情報処理装置105は、予め入力された種々の初期値と、6軸センサ102の信号を受けて演算処理を行い、6軸センサ102に取り付けられた帯状弾性体103の形状を模倣する画像を表示部106に表示する。
なお、本実施形態の弾性体形状推定システム101は、バネ定数の設定が容易な帯状弾性体103を用いたが、必ずしも弾性体が帯状である必要はない。
【0011】
図2は、情報処理装置105のハードウェア構成を示すブロック図である。
一般的なパソコンよりなる情報処理装置105は、CPU201、ROM202、RAM203、不揮発性ストレージ204、表示部106、そして操作部205が、バス206に接続されている。この他、6軸センサ102が出力するアナログ信号をデジタルデータに変換する、インターフェースユニット104に内蔵されるA/D変換器207も、バス206に接続される。
【0012】
図3は、情報処理装置105のソフトウェア機能を示すブロック図である。
A/D変換器207を通じて入力される6軸センサ102のデータは、入出力制御部301の一機能である座標演算部302に入力される。
座標演算部302は、操作部205から入力される初期値と共に、後述する演算処理を行い、6軸センサ102に取り付けられている帯状弾性体103の形状を推定する。推定結果は、三次元空間内における複数の点の座標情報として出力される。座標演算部302が出力する複数の点の座標情報は、入出力制御部301の一機能である画像描画処理部303に入力される。
画像描画処理部303は、複数の点の座標情報を基に、三次元空間における帯状弾性体103のシミュレーション画像を作成する。そして、画像描画処理部303が作成したシミュレーション画像は、表示部106に表示される。
【0013】
[原理]
図4は、座標演算部302における演算処理の概念図である。
本実施形態の弾性体形状推定システム101は、基本的に全長にわたって均等なバネ定数を有する弾性体を推定演算の対象としている。この弾性体は連続体であるが、この連続体を離散化することで、計算機による演算が可能になる。つまり、弾性体はその離散化モデルとして、疑似的にある長さの疑似剛体401と、疑似剛体401同士を繋ぐ関節402と、疑似剛体401同士を三次元方向にわたって繋ぐ、所定のバネ定数を有するバネ403よりなるバネ関節404の集合体と見做すことができる。疑似剛体401の一本一本はベクトルであり、ベクトルの回転を繋ぎ合わせた構成であると考えると、帯状弾性体103の形状を推定演算することができる。
【0014】
帯状弾性体103の全長をL、帯状弾性体103をバネ関節404で疑似的に分割する分割数をnとする。各疑似剛体の長さをl=L/nとする。各関節402は一般的に3自由度を有し,それぞれの角度をθ
T,I、θ
N,i、θ
B,I∈Cとする。インデックスであるiは1から始まり、nまでである。
【0015】
先ず、本実施形態における推定演算の準備として、回転作用素R(a,θ)の計算式を以下に記す。
【0017】
次に、本実施形態における推定演算に使用する定数を以下に記す。
【0019】
次に、本実施形態における推定演算に使用する設定値を以下に記す。
【0021】
ただし、基準座標系は6軸センサ座標系と向きが一致しており、原点も6軸センサ102の原点に一致しているとする。
【0023】
次に、本実施形態における推定演算において、6軸センサから得る値を以下に記す。
【0025】
本実施形態における推定演算は、漸化計算である。繰り返し演算処理の指標(漸化計算のインデックス)となるiの初期値は1である。
【0027】
漸化計算は、以下に記す式(14)から式(24)までを繰り返す。
【0029】
最終的に、式(24)で得られる疑似関節の位置p
iと疑似剛体401の姿勢F
iを求めることで、帯状弾性体103の形状を推定することができる。つまり、コンピュータグラフィクスで三次元空間内にp
0,p
1,p
2…p
nをプロットし,F
0,F
1,F
2…F
nに対応するフレームを描画することで、帯状弾性体103の形状を描画できる。
【0030】
[動作]
図5は、情報処理装置105における演算処理を説明するフローチャートである。
処理を開始すると(S501)、入出力制御部301は、操作部205から入力された、演算に必要な初期値であるバネ定数、p
0、F
0、そして疑似関節の長さlを座標演算部302に設定する(S502)。次に、座標演算部302はA/D変換器207からf
s、m
sを取得する(S503)。以上、ステップS502及びS503が、初期値設定ステップとなる。そして、漸化計算のインデックスともいえるカウンタ変数iを1に初期化する(S504)。ステップS504はインデックス初期化ステップともいえる。
【0032】
なお、ステップS505にて実行する式(14)は、関節に加わるトルクを算出する局所トルク算出ステップといえる。
同様に、ステップS506にて実行する式(15)は、関節の第1軸の向きを算出する第1軸方向算出ステップといえる。
同様に、ステップS507にて実行する式(16)は、関節の第1軸の角度を算出する第1軸角度算出ステップといえる。
同様に、ステップS508にて実行する式(17)は、関節の第1軸の回転の影響を受ける第1サブフレーム姿勢算出ステップといえる。
同様に、ステップS509にて実行する式(18)は、関節の第2軸の向きを算出する第2軸方向算出ステップといえる。
同様に、ステップS510にて実行する式(19)は、関節の第2軸の角度を算出する第2軸角度算出ステップといえる。
同様に、ステップS511にて実行する式(20)は、関節の第2軸の回転の影響を受ける第2サブフレーム姿勢算出ステップといえる。
同様に、ステップS512にて実行する式(21)は、関節の第3軸の向きを算出する第3軸方向算出ステップといえる。
同様に、ステップS513にて実行する式(22)は、関節の第3軸の角度を算出する第3軸角度算出ステップといえる。
同様に、ステップS514にて実行する式(23)は、関節の第3軸の回転の影響を受ける手先側の疑似剛体姿勢を算出する疑似剛体姿勢算出ステップといえる。
同様に、ステップS515にて実行する式(24)は、手先側疑似剛体の長さと姿勢から関節の次の手先側関節位置を算出する関節位置算出ステップといえる。
【0033】
次に、入出力制御部301はカウンタ変数iを1インクリメントして(S516)、iが分割数nを超えているか否かを確認する(S517)。iが分割数nを超えていない場合には(S517のNO)、入出力制御部301は再度ステップS505から演算処理を繰り返す。
ステップS517において、iが分割数nを超えている場合は(S517のYES)、帯状弾性体103の描画に必要なpiが全て揃ったので、画像描画処理部303は、lとpiに基づいて、帯状弾性体103を表示部106に表示する(S518)。
次に、入出力制御部301は、操作部205等から処理の終了が指示されているか否かを確認する(S519)。処理の終了が指示されていなければ(S519のNO)、入出力制御部301は再度ステップS503から処理を繰り返す。すなわち、再びA/D変換器207からf
s、m
sを取得して、計算処理(S505〜S515)と描画処理(S518)を繰り返す。
ステップS519で処理の終了が指示されていれば(S519のYES)、入出力制御部301は一連の処理を終了する(S511)。
【0034】
なお、ステップS518の処理は、ステップS515の後、かつS517の前でもよい。その場合、表示部106には、6軸センサ102から疑似剛体401が1個ずつ伸びていく画像が表示される。
以上より、離散バネ定数、6軸センサ102上に設置される弾性体の設置位置及び姿勢を既知の値として、6軸センサ102で取得できる力とトルクの情報から、式(14)〜(24)を演算することで、弾性体の形状及び弾性体先端の位置p
nと姿勢F
nを出力することができる。
【0035】
本実施形態は、以下の様な応用が可能である。
(1)上述の実施形態では、弾性体の離散バネ定数が全長にわたって一様であることを前提に演算していたが、バネ定数が一様でない弾性体であっても、離散化する際にバネ定数が導出できるのであれば、座標演算部302による演算処理が可能である。例えば根元がテーパ状に形成されている弾性体等、バネ定数の変化が弾性体長さの関数で表現できる形態のものは、原理的に演算処理が可能である。
【0036】
(2)
図1から
図3までに示した三次元形状推定システムは、実在する弾性体の形状を推定するシステムであったが、実在しない弾性体の形状を推定することも当然に可能である。すなわち、弾性体の形状をシミュレートし、また弾性体に加わる力を推定することも可能である。
【0037】
本実施形態においては、弾性体形状推定システム101を開示した。
6軸センサ102上に設置される弾性体の先端に力を加えると、離散バネ定数、6軸センサ102上に設置される弾性体の設置位置及び姿勢を既知の値として、6軸センサ102で取得できる、弾性体の設置位置にかかる力とトルクの情報から、式(14)〜(24)を演算することで、弾性体の形状及び弾性体先端の位置と姿勢を出力することができる。
演算処理は非常に短時間で完遂するため、弾性体に加わる力が変化する度、リアルタイムで推定演算の結果である画像が変化する。
【0038】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含む。
例えば、上記した実施形態は本発明をわかりやすく説明するために装置及びシステムの構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることは可能であり、更にはある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることも可能である。
また、上記の各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行するためのソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の揮発性あるいは不揮発性のストレージ、または、ICカード、光ディスク等の記録媒体に保持することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。