"ロボット機構部に配設された線条体の、該ロボット機構部の外側に露出した部分をシミュレーション対象部位とし、前記ロボット機構部の動作に伴う該シミュレーション対象部位の動作をシミュレートするロボットシミュレーション装置であって、前記シミュレーション対象部位の3次元モデルを、複数の質点、及び該複数の質点間を結ぶバネで構成される立体構造として作成する3次元モデル作成部と、前記質点に作用する、バネの弾性力、重力及び減衰力を単位時間毎に算出し、前記質点が前記ロボット機構部又は周辺装置と干渉した場合に、前記質点にかかる反発力を単位時間毎に算出し、前記質点にかかる前記バネの弾性力、重力、減衰力及び反発力によって、単位時間毎に前記質点の位置を変更する物理シミュレーションを行うシミュレーション部と、実際の線条体の静的な振る舞い、動的な振る舞い、及び線条体が剛体に衝突したときの動的な振る舞いを予め記憶する記憶部と、前記記憶部に記憶されている実際の線条体の静的な振る舞いと前記物理シミュレーションの結果とが一致するように、前記バネのバネ定数を自動的に調整し、前記記憶部に記憶されている実際の前記線条体の動的な振る舞いと前記物理シミュレーションの結果が一致するように、さらに前記減衰力の係数を自動的に調整し、前記記憶部に記憶されている実際の前記線条体が剛体に衝突したときの動的な振る舞いと前記物理シミュレーションの結果が一致するように、前記反発力の係数を自動的に調整する自動調整部と、を有することを特徴とするロボットシミュレーション装置。前記シミュレーション対象部位の動作を動画表示する表示部をさらに有する、請求項1に記載のロボットシミュレーション装置。特許文献1に記載の技術では、ロボットに非剛体物が巻き付くときの振る舞いを、2次元平面に投影することで簡易に算出している。従って、実際には3次元物体である線条体の振る舞いを正確にシミュレートすることは困難である。すなわち従来のロボットシミュレーションでは、ロボットに配置された線条体の振る舞いについて物理シミュレーションを行うにあたり、実際の線条体の振る舞いと一致するように、バネ定数、減衰力の係数等の、物理シミュレーションモデルの各係数を調整することが困難であった。そこで本発明は、線条体の実際の振る舞いに合わせて、物理シミュレーションモデルで使用する各係数を自動調整する機能を備えたロボットシミュレーション装置を提供することを目的とする。上記目的を達成するために、本願第1の発明は、ロボット機構部に配設された線条体の、該ロボット機構部の外側に露出した部分をシミュレーション対象部位とし、前記ロボット機構部の動作に伴う該シミュレーション対象部位の動作をシミュレートするロボットシミュレーション装置であって、前記シミュレーション対象部位の3次元モデルを、複数の質点、及び該複数の質点間を結ぶバネで構成される立体構造として作成する3次元モデル作成部と、前記質点に作用する、バネの弾性力、重力及び減衰力を単位時間毎に算出し、前記質点が前記ロボット機構部又は周辺装置と干渉した場合に、前記質点にかかる反発力を単位時間毎に算出し、前記質点にかかる前記バネの弾性力、重力、減衰力及び反発力によって、単位時間毎に前記質点の位置を変更する物理シミュレーションを行うシミュレーション部と、実際の線条体の静的な振る舞い、動的な振る舞い、及び線条体が剛体に衝突したときの動的な振る舞いを予め記憶する記憶部と、前記記憶部に記憶されている実際の線条体の静的な振る舞いと前記物理シミュレーションの結果とが一致するように、前記バネのバネ定数を自動的に調整し、前記記憶部に記憶されている実際の前記線条体の動的な振る舞いと前記物理シミュレーションの結果が一致するように、さらに前記減衰力の係数を自動的に調整し、前記記憶部に記憶されている実際の前記線条体が剛体に衝突したときの動的な振る舞いと前記物理シミュレーションの結果が一致するように、前記反発力の係数を自動的に調整する自動調整部と、を有することを特徴とするロボットシミュレーション装置を提供する。第2の発明は、第1の発明において、前記シミュレーション対象部位の動作を動画表示する表示部をさらに有する、ロボットシミュレーション装置を提供する。本発明によれば、線条体の3次元モデルを構成するバネのバネ定数、減衰力の係数及び反発力の係数を段階的に調整するため、物理シミュレーションによる線条体の振る舞いが、実際の線条体の振る舞いに極めて近いものとなり、より実際的なオフライン教示を行うことができるようになる。図1は、本発明に係るロボットシミュレーション装置以降、シミュレーション装置と称するの一実施形態の概要図である。なお本発明は、ロボット機構部に配設された線条体の、該ロボット機構部の外側に露出した部分をシミュレーション対象部位としており、該ロボット機構部の動作に伴う該シミュレーション対象部位の動作をシミュレートするものである。具体的には、ロボットシミュレーション装置10は、シミュレーション対象部位である線条体の3次元モデル図3参照を、複数の質点と、質点間を結ぶバネで構成される立体構造として生成する3次元モデル生成部12と、後述する物理シミュレーションを行うシミュレーション部14と、実際の線条体の静的な振る舞い、動的な振る舞い、及び線条体が剛体に衝突したときの動的な振る舞いを予め記憶する記憶部16と、記憶部16に記憶されている実際の線条体の静的な振る舞いと物理シミュレーションの結果とが一致するように、後述する自動調整を行う自動調整部18とを有する。またシミュレーション装置10は、シミュレーション対象部位である線条体の動作を動画として表示する表示部20をさらに有してもよい。図2は、ロボットシミュレーション装置10の処理の流れを示すフローチャートである。以下、各ステップについて詳細に説明する。ステップS1ステップS1では、仮想のロボット機構部及び線条体を配置したワークセルを生成する。ワークセルの生成は作業者がシミュレーション装置10に必要なデータを入力して生成してもよいし、予め用意した各種データを所定のロボットプログラム等で読み込んで生成してもよい。また生成されたワークセルは、上述の表示部20に表示することができる。ステップS2ステップS2では、線条体の3次元モデルを作成し、線条体の動作の物理シミュレーションを行う。線条体のシミュレーションモデル3次元モデル22は、例えば図3に示すように、複数の質点24と、各質点24間を結ぶバネ26から構成される立体構造物として定義される。さらにバネ26は、円周上にならんだ質点間を結ぶバネ26a、線条体の長手方向図3では上下方向に質点間を結ぶバネ26b、及び、長さ方向に対して斜めに質点間を結ぶバネ26cから構成されるものとする。円周上にならんだ質点間を結ぶバネ26aは、線条体22が径方向に潰れるように作用した力に対する弾性を表す。線条体の長さ方向に質点間を結ぶバネ26bは、伸縮方向の力に対する弾性を表す。また線条体の長さ方向に対して斜めに質点間を結ぶバネ26cは、曲げおよび捻り方向の力に対する弾性を表す。各質点24は、質量、3次元の位置、3次元の速度の情報を持つものとする。各質点の質量は、線条体の質量を、質点の個数で割った値とする。また速度の初期値は、静止した状態を初期状態0,0,0とする。上記条件下、各質点に作用する力は以下のように算出される。aバネの弾性力ある1本のバネに、質点A及びBが接続されているとする。このとき、質点Aにかかる弾性力F1は、以下の式1で表される。F1=A→Bの単位ベクトル×バネ定数×バネの伸縮量1なおバネの伸縮量は、ある状態でのバネの長さから、バネの自然長すなわち線条体の物理シミュレーションモデルが、伸び縮み、曲げがない自然な状態のときの、質点A、B間の距離を差し引いた値とする。bバネの振動の減衰力バネの振動を抑える減衰力F2は、以下の式2で表される。但し、vは質点Bの速度-質点Aの速度の単位ベクトルである。F2=v×vの内積×振動の減衰係数2c並進運動の減衰力各質点の並進運動を抑える減衰力F3は、以下の式3で表される。F3=各質点の速度×並進運動の減衰係数3なお、バネの振動の減衰力及び並進運動の減衰力は、バネの動きを遅くするように作用する。d反発力質点がある干渉面に衝突した場合、その質点の速度の、衝突した面の面直方向の成分の値は、衝突前の値に反発係数を掛けて符号を反転した値になる。このとき、反発力F4は、衝突した前後の速度の変位を単位時間で割って得られる加速度に、質点の質量を掛けることで算出される。e重力各質点に掛かる重力F5は、以下の式4で表される。F5=重力方向の単位ベクトル×重力加速度×質点の質量4以上のようにして、各質点に掛かる力F1~F5を算出したとき、加速度は、F1~F5の合力/質量として算出される。また、速度の変位量を、加速度×単位時間として算出して、その速度の変位量を質点の速度に加算する。さらに、各質点の位置の変位量を、速度×単位時間として算出して、その位置の変位量を質点の位置に加算する。単位時間おきに、ロボットの動きにあわせて両端の質点の位置を変更してから、上記のように各質点にかかる力を算出して、各質点の位置及び速度を更新することにより、線条体の振る舞いをシミュレートする。ステップS3ステップS3では、実際の線条体の静的な振る舞い、動的な振る舞い、及び線条体が剛体に衝突したときの動的な振る舞いを上述の記憶部16に記憶する。これらの振る舞いは、後述する実験等により測定することができる。なおステップS3は、ステップS1又はS2の前に行ってもよい。実際の線条体の静的な振る舞いは、例えば以下のようにして計測することができる。図4に示すように、2つの剛体28、30の間に線条体32を懸架した試験装置34を用意して、線条体32が重力で垂れ下がるような状態にする。このとき、線条体32の両端を固定する方法は、実際にロボットに線条体の固定する方法と同様とする。また、線条体32には均等な間隔で複数の目印マーク36を付けておき、線条体32が静止状態になった時点で各目印の位置を計測することにより、線条体32の静的な垂れ下がり方を計測することができる。実際の線条体の動的な振る舞いは、例えば以下のようにして計測することができる。上述の試験装置34において、線条体32が静止した状態から、少なくとも一方の剛体図示例では右側の剛体30を揺動する。そのときの線条体32の動きをハイスピードカメラ等の撮像手段で撮影して、得られた画像の各々における目印36の位置を計測することで、動的な振る舞いを計測する。線条体が剛体に衝突したときの実際の線条体の動的な振る舞いは、例えば以下のようにして計測することができる。上述の試験装置34において、少なくとも一方の剛体図示例では右側の剛体30を揺動させて、線条体32を他の剛体周辺物38に衝突させる。そのときの線条体32の動きをハイスピードカメラ等の撮像手段で撮影して、得られた画像の各々における目印36の位置を計測することで、剛体38に衝突したときの線条体32の動的な振る舞いを計測する。ステップS4ステップS4では、バネ定数の自動調整を行う。詳細には、先ず上述の試験装置34と同様の状態をシミュレーションモデルとして再現する。次に静止状態になるまで十分な時間だけシミュレーションを実行して、線条体32の目印36の各々の位置と、シミュレーションモデル上で相当する位置との距離の差を算出することで、線条体の静的な振舞い垂れ下がり方を計測する。さらにこの処理を、バネ定数を変化させながら繰り返し実行して、距離の差が最小となるバネ定数式1参照を自動的に算出する。またこのとき、両端近傍のバネ定数を、他のバネ定数とは別の値とすることにより、線条体の固定方法の違いによる、線条体の振る舞いの違いを再現することができる。ステップS5ステップS5では、減衰力の係数の自動調整を行う。詳細には、先ずシミュレーションモデル上で、剛体を揺動したのと同様に、取り付け位置の質点の位置を変更しながらシミュレーションを実行して、各画像に相当する時間における、線条体32の目印36の位置と、シミュレーションモデル上で相当する位置の距離の差を算出する。さらにこの処理を、バネの振動の減衰係数式2参照および並進運動の減衰係数式3参照を変化させながら繰り返し実行して、距離の差が最小となる各減衰力の係数を自動的に算出する。ステップS6ステップS6では、反発力の係数反発係数の自動調整を行う。詳細には、先ずシミュレーションモデル上で、剛体を揺動したのと同様に、取り付け位置の質点の位置を変更しながらシミュレーションを実行して、各画像に相当する時間における、線条体32の目印36の位置と、シミュレーションモデル上で相当する位置の距離の差を算出する。さらにこの処理を、反発力の係数を変化させながら繰り返し実行して、距離の差が最小となる反発力の係数を自動的に算出する。このように本発明では、バネ定数、減衰力の係数及び反発力の係数を段階的かつ自動的に調整でき、物理シミュレーションによる線条体の振る舞いが、実際の線条体の振る舞いと高い精度で一致する。このシミュレーションを利用すれば、より正確かつ実際的なオフライン教示を行うことができる。"