【文献】
橋間 正芳 Masayoshi HASHIMA,ワイヤ・ハーネスの3次元設計支援システム Real-Time Simulation and Design System for Wire-Harnesses,情報処理学会研究報告 Vol.2003 No.117 IPSJ SIG Technical Reports,日本,社団法人情報処理学会 Information Processing Society of Japan,2003年11月25日,第2003巻 第117号,pp.15-20
(58)【調査した分野】(Int.Cl.,DB名)
前記実行部は、前記柔軟物のうち前記所定の拘束箇所に近接するノードを前記拘束範囲の中心に移動させた状態で、該ノードの拘束条件データとして、前記所定の拘束箇所に対応付けて前記記憶部に記憶されている拘束条件データを適用する、ことを特徴とする請求項2に記載の情報処理装置。
前記記憶処理部は、拘束箇所の種類ごとに用意された拘束条件データに基づいて、前記拘束箇所それぞれに対応付けて拘束条件データを前記記憶部に記憶する、ことを特徴とする請求項1〜3のいずれか一項に記載の情報処理装置。
前記実行部は、前記柔軟物の動きに合わせて、前記所定の拘束箇所に対応付けて前記記憶部に記憶された拘束条件データを適用する前記柔軟物の部分を異ならせる、ことを特徴とする請求項1〜4のいずれか一項に記載の情報処理装置。
前記実行部は、前記シミュレーションの結果を表示する際に、前記物体の拘束箇所に対応付けて前記記憶部に記憶されている拘束条件データと、前記柔軟物の各部分に適用された拘束条件データとを異なる態様で表示する、ことを特徴とする請求項1〜5のいずれか一項に記載の情報処理装置。
【発明を実施するための形態】
【0010】
以下、ケーブルフォーミングのシミュレーションを実行する情報処理装置の一実施形態について、
図1〜
図14に基づいて詳細に説明する。本実施形態の情報処理装置10は、ロボットにケーブルフォーミングのための動作を実行させたときに、物体としての被組立部品30(
図1参照)上で柔軟物としてのケーブル20を適切にフォーミングできるかどうかを確認するためのシミュレーションを実行する。ここで、フォーミングとは、ケーブル20を所望の形状に変化させることを意味する。なお、本実施形態のシミュレーションにおいては、ケーブル20の両端に設けられているコネクタ22、24の少なくとも一方を被組立部品30に接続した状態からロボットを動作させ、ケーブル20の位置や姿勢を調整した場合に、ケーブル20を
図1に示すような状態(「ケーブル布線ルート」と呼ぶ)にフォーミングできるかを確認する。なお、
図1では、図面の見やすさのため、ケーブルを黒太線にて示している。
【0011】
図2には、本実施形態に係る情報処理装置10のハードウェア構成が示されている。
図2に示すように、情報処理装置10は、CPU(Central Processing Unit)90、ROM(Read Only Memory)92、RAM(Random Access Memory)94、記憶部(ここではHDD(Hard Disk Drive))96、ネットワークインタフェース97、表示部93、入力部95、及び可搬型記憶媒体用ドライブ99等を備えている。これら情報処理装置10の構成各部は、バス98に接続されている。情報処理装置10では、ROM92あるいはHDD96に格納されているプログラム(シミュレーションプログラムを含む)、或いは可搬型記憶媒体用ドライブ99が可搬型記憶媒体91から読み取ったプログラム(シミュレーションプログラムを含む)をCPU90が実行することにより、
図3に示す、各部の機能が実現される。なお、
図3の各部の機能は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。なお、
図3の各部の詳細については後述する。
【0012】
図3には、情報処理装置10の機能ブロック図が示されている。
図3に示すように、情報処理装置10は、CPU90がプログラムを実行することで、入力受付部40、記憶処理部としての事前設定部42、及び実行部としてのシミュレーション部44として機能する。
【0013】
入力受付部40は、ユーザが入力部95を介して入力した情報を取得し、事前設定部42に送信する。
【0014】
事前設定部42は、入力受付部40からユーザが入力した情報を受信し、受信した情報に基づいて、事前設定を行う。具体的には、事前設定部42は、被組立部品30のうち、ユーザが指定した通過点(ケーブル20を適切な状態にフォーミングしたときにケーブル20が通過するケーブル布線ルート上の点)に対して拘束条件を事前設定する。事前設定した拘束条件は、記憶部としての拘束条件テーブル60に格納される。なお、通過点には、ケーブル布線ルート上の中継点、変曲点、被組立部品30上の構造物(フック状構造物など)の位置が含まれ、ケーブルを拘束する拘束箇所であると言える。
【0015】
ここで、被組立部品30によるケーブル20の拘束には、例えば、
図4(a)〜
図4(e)において模式的に示すような拘束があるものとする。
【0016】
図4(a)は、完全拘束の例を示している。例えば結束バンド等を用いてケーブル20を拘束した場合に、
図4(a)に示すような完全拘束となる。完全拘束では、ケーブル20は全方向(X、Y、Z、θX、θY、θZ)に関して拘束された状態となる。なお、
図4(a)〜
図4(e)では、ケーブル20が伸びる方向をX軸方向とし、X軸方向に直交する2軸方向をY軸及びZ軸方向として示している。
【0017】
図4(b)は、穴拘束の例を示している。穴拘束では、ケーブル20は、Y軸方向、Z軸方向、及びθX、θY、θZ方向に関して拘束され、X軸方向に関して解放されている(自由度がある)。なお、
図4(b)及び
図4(c)〜
図4(e)においては、解放されている方向(回転方向は除く)を破線矢印にて示している。
【0018】
図4(c)は、フック拘束の例を示している。
図4(c)のフック拘束では、ケーブル20は、+Y方向、Z軸方向及びθX、θY方向に関して拘束され、−Y方向、X軸方向及びθZ方向に関して解放されている。なお、フックの向きによっては、−Y方向に関して拘束され、+Y方向に関して解放される場合もある。
【0019】
図4(d)は、溝拘束の例を示している。溝拘束では、ケーブル20は、Y軸方向、−Z方向及びθX、θZ方向に関して拘束され、+Z方向、X軸方向及びθY方向に関して解放されている。
【0020】
図4(e)は、床拘束の例を示している。床拘束では、ケーブル20は、−Z方向及びθX方向に関して拘束され、+Z方向、X軸方向、Y軸方向及びθY、θZ方向に関して解放されている。
【0021】
本実施形態では、事前設定部42は、ユーザが例えば
図5に示す通過点1、2、…、p、…を選択し、各通過点の拘束の種類を選択した場合に、各通過点1、2、…、p、…に対して拘束条件を設定する。例えば、
図5の通過点pの拘束の種類としてフック拘束が選択されると、通過点pを通るケーブル20が伸びる方向をX軸方向、
図5の紙面直交方向をZ軸方向、X軸とY軸に直交する方向をY軸方向として、破線矢印で示す方向を「解放」とする拘束条件が設定される。この場合、事前設定部42は、
図6(a)に示すように拘束の種類ごとに拘束条件のデータを予め用意しておき、ユーザが拘束の種類を選択すると、選択された拘束の種類に対応する拘束条件のデータを読み出す。そして、事前設定部42は、
図6(b)に示す拘束条件テーブル60において、ユーザが選択した通過点のプロパティとして読み出した拘束条件のデータを追加する。なお、
図6(b)の拘束条件テーブル60は、選択された通過点ごとにプロパティを有しており、各軸の自由度として「固定」及び「解放」のいずれかが格納される。また各通過点のプロパティには、転写自由度の情報が格納される。なお、転写自由度の詳細については、後述する。
【0022】
図3に戻り、シミュレーション部44は、シミュレーション実行部52、ケーブル近接検知部54、拘束条件転写部56を有する。
【0023】
シミュレーション実行部52は、予め設定された動作シーケンスに従ってロボットを動作させたときのケーブルの状態をシミュレーションし、シミュレーションしたケーブルの状態を表示部93上にアニメーション表示する。このとき、シミュレーション実行部52は、ケーブル近接検知部54と拘束条件転写部56を制御して、ノードテーブル62を適宜更新する。そして、シミュレーション実行部52は、ノードテーブル62を適宜参照して、シミュレーションを実行する。
【0024】
以下、ケーブル近接検知部54と拘束条件転写部56の処理について具体的に説明する。
図7は、ケーブル20に設定されているノードを示す図である。
図7に示すように、ケーブル20には、所定間隔で、十字印で示すノード1、2、…、n、…が設定されている。各ノードには、ローカル座標系(XYZ座標系)が設定されているものとする。ローカル座標系のX軸方向は、各ノードにおいてケーブル20が伸びる方向となっている。なお、
図7においては、ケーブル20の一端(
図7における上側の端部)からノードnまでのケーブル20の長さをLnとしている。
【0025】
ケーブル近接検知部54は、シミュレーションの間、各ノードの位置(xn,yn,zn)を監視し、被組立部品30の各通過点(xp,yp,zp)に最も近接するケーブル20のノードを検知する。そして、ケーブル近接検知部54は、通過点それぞれに最も近接するノードの情報を拘束条件転写部56に通知する。
【0026】
拘束条件転写部56は、例えば、通過点pに最も近接しているノードとしてノードnが検出されると、拘束条件テーブル60から通過点pの拘束条件を取得し、ノードテーブル62に格納されているノードnのプロパティの拘束条件に転写(コピー)する。
【0027】
ここで、ノードテーブル62には、
図8(a)に示すように、ノードごとのプロパティが格納されている。シミュレーションの初期段階では、自由度や転写自由度は空欄となっているが、例えばノードnが通過点pに最も近接すると、
図8(b)に示すように、ノードnの拘束条件として通過点pの拘束条件(
図6(b)参照)がそのまま転写(コピー)される。
【0028】
(情報処理装置10の処理について)
次に、情報処理装置10の処理の詳細について、
図9のフローチャートに沿って、その他図面を適宜参照しつつ詳細に説明する。なお、
図9の処理の前提として、ケーブル布線対象ワークとして、
図1の被組立部品30のモデルが用意されており、ケーブル布線ルートとして、
図1に示すようなケーブル20の最終形状が用意されているものとする。
【0029】
まず、ステップS12では、事前設定部42が、シミュレーションの事前設定処理として、ケーブル布線ルート上に通過点を割り付ける処理を実行する。具体的には、
図1の被組立部品30のモデルにおいてユーザが通過点pの位置を指定すると、事前設定部42は、選択された通過点の座標(xp,yp,zp)を特定し、拘束条件テーブル60に記憶する。なお、通過点の座標は、
図1に示す、被組立部品30に設定されたxyz座標系上における座標である。
【0030】
次いで、ステップS14では、事前設定部42が、各通過点に拘束の種類に応じた拘束条件を定義する。すなわち、通過点それぞれの拘束の種類をユーザが選択すると、事前設定部42は、拘束条件テーブル60の各通過点のプロパティに、拘束の種類に応じた拘束条件を設定する(
図6(b)参照)。なお、事前設定部42は、被組立部品30のCAD(computer-aided design)データに基づいて、通過点を中心とする拘束影響範囲を算出し、拘束条件テーブル60に記憶しておく。なお、拘束影響範囲は、拘束条件テーブル60で定義されている拘束の影響が及ぶ範囲を意味する。
図10(a)は、通過点の拘束がフック拘束である場合における、通過点と拘束影響範囲の関係を模式的に示す図である。
【0031】
次いで、ステップS16では、シミュレーション実行部52が、シミュレーションを開始する。すなわち、ロボットに対して予め設定されている動作シーケンスを最初から一動作だけ進める。
【0032】
次いで、ステップS18では、シミュレーション実行部52がケーブル近接検知部54に対して、各通過点に最接近しているノードを検出させる。そして、シミュレーション実行部52は、拘束条件転写部56に対し、検出されたノードの拘束条件として、該ノードが最接近している通過点の拘束条件を転写させる。
【0033】
ここで、ステップS18の処理について、より詳細に説明する。
【0034】
ロボットが動作した結果、
図10(b)に示すように、拘束影響範囲にケーブル20のノードn−1、nが入ったとする。この場合、ケーブル近接検知部54は、拘束影響範囲に含まれるノードn−1、nのうち通過点に最も近接しているノードを特定する。なお、
図10(b)の例では、通過点に最も近接しているノードとしてノードnが特定される。
【0035】
次いで、拘束条件転写部56は、ノードnの位置を通過点まで移動し、移動後のノードnの拘束条件として、通過点の拘束条件を転写する。
【0036】
ここで、ノードnを通過点まで移動する際には、転写自由度を考慮する必要がある。転写自由度は、ノードnを移動するときにノードnのローカル座標系と、通過点で拘束条件を定義している座標系とを合わせる必要があるか否かを定めたものであり、拘束の種類により異なっている。
図11(a)には、フック拘束を上方から見た状態が示され、
図11(c)には、溝拘束を上方から見た状態が示されている。なお、
図11(a)、
図11(c)の実線で示す座標系は、ノードnにおけるローカル座標系を示し、破線で示す座標系は通過点において拘束条件を定義している座標系を示している。
【0037】
図11(a)のフック拘束においては、ノードnを通過点まで移動するときに、ケーブル20のノードnの座標系(実線で示す座標系)がZ軸回りの回転方向に関して、通過点において拘束条件を定義している座標系(破線で示す座標系)と一致していなくてもよい。このため、フック拘束における転写自由度は、
図11(b)に示すように、θX、θY方向は「固定」、θZ方向は「解放」(回転を許容)となっている。
【0038】
一方、
図11(c)の溝拘束においては、ケーブル20のノードnを通過点まで移動するときに、ケーブル20のノードnの座標系(実線で示す座標系)がZ軸回りの回転方向に関して、通過点において拘束条件を定義している座標系(破線で示す座標系)と一致している必要がある。一方、Y軸回り方向に関しては、一致していなくてもよい。このため、溝拘束における転写自由度は、
図11(d)に示すように、θX、θZ方向は「固定」、θY方向は「解放」(回転を許容)となっている。なお、転写自由度がノードの回転自由度と同一の場合には、転写自由度を考慮しなくてもよい。
【0039】
次いで、ステップS20では、シミュレーション実行部52が、シミュレーションが終了したか否かを判断する。すなわち、シミュレーション実行部52は、予め設定されている動作シーケンスの全てを、ロボットが実行し終えたか否かを判断する。このステップS20の判断が否定された場合には、ステップS22に移行する。
【0040】
ステップS22に移行すると、シミュレーション実行部52は、ノードテーブル62の各ノードの拘束条件を参照し、シミュレーションに適用した上で、ロボットの動作を一動作だけ進める。その後は、ステップS18に戻る。ステップS18に戻ると、前述と同様の処理を実行する。
【0041】
例えば、前回のステップS18において、
図12(a)に示すようにノードnの拘束条件として通過点pの拘束条件が転写されていたとする。この場合において、ロボットの動作を進めた結果、ケーブル20が+X方向にズレたため、
図12(b)に示すように、ノードnよりもノードn+1の方が通過点pに近接したとする。この場合、次のステップS18では、拘束条件転写部56は、
図12(c)に示すように、ノードn+1を通過点pに移動した上で、ノードn+1の拘束条件として、通過点pの拘束条件を転写する。また、ノードnのプロパティからは、拘束条件を削除する(空欄に戻す)。
【0042】
以上のようにして、ステップS18〜S22を繰り返している間、シミュレーション実行部52は、ロボットの動きやケーブル20の動きを表示部93に表示する。そして、ステップS18〜S22の繰り返しの結果、ロボットの動作シーケンスがすべて終了すると、ステップS20の判断が肯定され、
図9の全処理が終了する。
【0043】
ユーザは、表示部93に表示されるロボットの動きやケーブル20の動きを確認し、適切でないと判断した場合には、ロボットの動作シーケンスを調整して、再度シミュレーションを実行する。このように、動作シーケンスの調整とシミュレーションを繰り返すことで、ユーザは、ケーブルを適切にフォーミングすることが可能なロボットの動作シーケンスを特定することが可能となる。
【0044】
(具体例)
図13(a)〜
図14(b)は、シミュレーションの具体例を模式的に示す図である。なお、図示及び説明の便宜上、本例においては、ロボットの動作中、ケーブル20の一方のコネクタ22は被組立部品30に固定するが、他方のコネクタ24は固定しないものとする。
【0045】
図13(a)に示すように、被組立部品30には、フック状の構造物72、76と、溝部74が存在するものとする。構造物72、76に設定された通過点P1、P3には、フック拘束の拘束条件が設定され、溝部74に設定された通過点P2には、溝拘束の拘束条件が設定されているものとする(
図13(a)の破線矢印参照)。
【0046】
この
図13(a)の状態から、
図13(b)に示すようにケーブル20の一方のコネクタ22が被組立部品30に固定され、ロボットのハンド80が他方のコネクタ24を保持して動作を開始する。この動作により、ケーブル20が構造物72の近傍に位置すると、ケーブル20の通過点P1に最接近したノード(N1とする)の拘束条件として、通過点P1の拘束条件が転写される(
図13(b)の実線矢印参照)。なお、通過点P1に最接近しているノードがノードN1以外になるまで、ノードN1の拘束条件は維持される。
【0047】
次いで、
図14(a)に示すように、ハンド80が動作シーケンスを継続し、通過点P2にケーブル20のノード(N2とする)が最接近すると、ケーブル20の通過点P2に最接近したノードN2の拘束条件として、通過点P2の拘束条件が転写される(
図14(a)の実線矢印参照)。
【0048】
更に、
図14(b)に示すように、ハンド80が動作を継続し、通過点P3にケーブル20のノード(N3とする)が最接近すると、ケーブル20の通過点P3に最接近したノードN3の拘束条件として、通過点P3の拘束条件が転写される(
図14(b)の実線矢印参照)。
【0049】
情報処理装置10は、表示部93に、
図13(a)〜
図14(b)の動きをアニメーション表示するとき、通過点に設定されている拘束条件とケーブル20のノードに転写された拘束条件とを異なる態様で表示することができる。例えば、
図13(a)〜
図14(b)に示すように、通過点に設定されている拘束条件(解放の方向)を破線矢印で表し、ノードに転写された拘束条件(解放の方向)を実線矢印で表すなどすることができる。これにより、ユーザは、ケーブル20のどの位置が拘束され、どの位置が拘束されていないかを適切に把握することができる。
【0050】
なお、
図13(a)〜
図14(b)では、ロボットが1つのハンド80を用いてケーブルフォーミングを行う場合について図示しているが、これに限らず、ロボットは複数のハンド80を用いてケーブルフォーミングを行うこととしてもよい。
【0051】
以上、詳細に説明したように、本実施形態によると、事前設定部42は、拘束条件テーブル60において、被組立部品30のケーブル20の通過点それぞれに対応付けて拘束条件を記憶しており、シミュレーション部44は、シミュレーションにおいて被組立部品30の所定の通過点にケーブル20が近接すると、通過点に近接するケーブル20のノードの拘束条件として、通過点に予め設定されている拘束条件を転写してシミュレーションを実行する。これにより、本実施形態では、ケーブル表面と被組立部品30の拘束面との接触を逐次検知しなくても、ケーブルに対して拘束条件を設定することができる。このため、シミュレーションにおける計算量(処理量)を低減することができ、シミュレーション結果を得るまでに要する時間を短縮することができる。
【0052】
また、本実施形態では、シミュレーション部44は、ケーブル20のうち通過点に最も近接するノードを通過点まで移動させた状態で、ノードの拘束条件として通過点に設定された拘束条件を転写する。このように、通過点に最も近接するノードを拘束条件の転写のために理想的な位置に配置したうえで、拘束条件の転写を行うことで、適切なシミュレーション結果を得ることができる。
【0053】
また、本実施形態では、事前設定部42は、
図6(a)に示すように、拘束の種類ごとに予め用意しておいた拘束条件の中から、通過点の拘束の種類に対応する拘束条件を読み出して、拘束条件テーブル60の通過点のプロパティとして設定する(
図6(b)参照)。これにより、各通過点の拘束条件を簡易に設定することができる。
【0054】
また、本実施形態では、シミュレーション部44は、ケーブル20の動きに合わせて、各通過点の拘束条件を適用するノードを異ならせる。これにより、シミュレーション中にケーブル20が移動しても、適切なノードに対して適切な拘束条件を設定することができる。
【0055】
また、本実施形態では、シミュレーション部44は、シミュレーションの結果を表示部93に表示する際に、通過点に設定されている拘束条件と、ケーブル20が拘束されたときの拘束条件を異なる態様で表示することができる。これにより、ユーザは、ケーブルのどの位置が拘束されているかを適切に把握することができる。
【0056】
なお、上記実施形態では、通過点をユーザが選択(入力)し、通過点の拘束の種類をユーザが選択(入力)する場合について説明したが、これに限られるものではない。例えば、事前設定部42が、CADデータ等から通過点の位置や、各通過点の拘束の種類を特定できるような場合には、自動的に通過点及び拘束の種類を特定するようにしてもよい。
【0057】
なお、上記実施形態では、事前設定部42は、
図6(a)に示すように拘束の種類ごとに拘束条件を予め用意しておき、通過点の拘束の種類が選択された場合に、選択された拘束の種類に応じた拘束条件を拘束条件テーブル60の通過点のプロパティとして設定する場合について説明した。しかしながら、これに限られるものではなく、例えば、ユーザが各通過点の拘束条件を都度設定(入力)することとしてもよい。
【0058】
なお、上記実施形態では、通過点に最も近接しているノードを通過点に移動した後に、ノードの拘束条件として通過点の拘束条件を転写することとしたが、これに限られるものではない。例えば、通過点に最も近接しているノードを通過点に移動させずに、ノードの拘束条件として通過点の拘束条件を転写することとしてもよい。
【0059】
なお、上記実施形態では、フォーミング対象の柔軟物がケーブルである場合について説明したが、これに限られるものではない。フォーミング対象は、ワイヤーなどのその他の柔軟物であってもよい。
【0060】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記憶媒体(ただし、搬送波は除く)に記録しておくことができる。
【0061】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記憶媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0062】
プログラムを実行するコンピュータは、例えば、可搬型記憶媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記憶媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0063】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【0064】
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
(付記1) ロボットが物体に対して柔軟物をフォーミングする作業をシミュレーションする情報処理装置であって、
前記物体のうち、前記柔軟物を拘束する拘束箇所それぞれに対応付けて拘束条件データを記憶部に記憶する記憶処理部と、
前記シミュレーションを実行する実行部と、を備え、
前記実行部は、前記シミュレーションにおいて前記物体の所定の拘束箇所に前記柔軟物が近接すると、前記柔軟物のうち前記所定の拘束箇所に近接する部分の拘束条件データとして、前記所定の拘束箇所に対応付けて前記記憶部に記憶されている拘束条件データを適用して、前記シミュレーションを実行する、ことを特徴とする情報処理装置。
(付記2) 前記柔軟物には、所定間隔をあけて複数のノードが設定されており、
前記実行部は、前記所定の拘束箇所に設定された拘束範囲に含まれ、かつ前記拘束範囲の中心と最も近接しているノードの拘束条件データとして、前記所定の拘束箇所に対応付けて前記記憶部に記憶されている拘束条件データを適用して、前記シミュレーションを実行する、ことを特徴とする付記1に記載の情報処理装置。
(付記3) 前記実行部は、前記柔軟物のうち前記所定の拘束箇所に近接するノードを前記拘束範囲の中心に移動させた状態で、該ノードの拘束条件データとして、前記所定の拘束箇所に対応付けて前記記憶部に記憶されている拘束条件データを適用する、ことを特徴とする付記2に記載の情報処理装置。
(付記4) 前記記憶処理部は、拘束箇所の種類ごとに用意された拘束条件データに基づいて、前記拘束箇所それぞれに対応付けて拘束条件データを前記記憶部に記憶する、ことを特徴とする付記1〜3のいずれかに記載の情報処理装置。
(付記5) 前記実行部は、前記柔軟物の動きに合わせて、前記所定の拘束箇所に対応付けて前記記憶部に記憶された拘束条件データを適用する前記柔軟物の部分を異ならせる、ことを特徴とする付記1〜4のいずれかに記載の情報処理装置。
(付記6) 前記実行部は、前記シミュレーションの結果を表示する際に、前記物体の拘束箇所に対応付けて前記記憶部に記憶されている拘束条件データと、前記柔軟物の各部分に適用された拘束条件データとを異なる態様で表示する、ことを特徴とする付記1〜5のいずれかに記載の情報処理装置。
(付記7) ロボットが物体に対して柔軟物をフォーミングする作業をシミュレーションするシミュレーションプログラムであって、
前記物体のうち、前記柔軟物を拘束する拘束箇所それぞれに対応付けて拘束条件データを記憶部に記憶し、
前記シミュレーションを実行する、処理をコンピュータに実行させ、
前記シミュレーションを実行する処理では、前記シミュレーションにおいて前記物体の所定の拘束箇所に前記柔軟物が近接すると、前記柔軟物のうち前記所定の拘束箇所に近接する部分の拘束条件データとして、前記所定の拘束箇所に対応付けて前記記憶部に記憶されている拘束条件データを適用して、前記シミュレーションを実行する、ことを特徴とするシミュレーションプログラム。
(付記8) 前記柔軟物には、所定間隔をあけて複数のノードが設定されており、
前記シミュレーションを実行する処理では、前記所定の拘束箇所に設定された拘束範囲に含まれ、かつ前記拘束範囲の中心と最も近接しているノードの拘束条件データとして、前記所定の拘束箇所に対応付けて前記記憶部に記憶されている拘束条件データを適用して、前記シミュレーションを実行する、ことを特徴とする付記7に記載のシミュレーションプログラム。
(付記9) 前記シミュレーションを実行する処理では、前記柔軟物のうち前記所定の拘束箇所に近接するノードを前記拘束範囲の中心に移動させた状態で、該ノードの拘束条件データとして、前記所定の拘束箇所に対応付けて前記記憶部に記憶されている拘束条件データを適用する、ことを特徴とする付記8に記載のシミュレーションプログラム。
(付記10) 前記記憶する処理では、拘束箇所の種類ごとに用意された拘束条件データに基づいて、前記拘束箇所それぞれに対応付けて拘束条件データを前記記憶部に記憶する、ことを特徴とする付記7〜9のいずれかに記載のシミュレーションプログラム。
(付記11) 前記シミュレーションを実行する処理では、前記柔軟物の動きに合わせて、前記所定の拘束箇所に対応付けて前記記憶部に記憶された拘束条件データを適用する前記柔軟物の部分を異ならせる、ことを特徴とする付記7〜10のいずれかに記載のシミュレーションプログラム。
(付記12) 前記シミュレーションを実行する処理では、前記シミュレーションの結果を表示する際に、前記物体の拘束箇所に対応付けて前記記憶部に記憶されている拘束条件データと、前記柔軟物の各部分に適用された拘束条件データとを異なる態様で表示する、ことを特徴とする付記7〜11のいずれかに記載のシミュレーションプログラム。
(付記13) ロボットが物体に対して柔軟物をフォーミングする作業をシミュレーションするシミュレーション方法であって、
前記物体のうち、前記柔軟物を拘束する拘束箇所それぞれに対応付けて拘束条件データを記憶部に記憶し、
前記シミュレーションを実行する、処理をコンピュータが実行し、
前記シミュレーションを実行する処理では、前記シミュレーションにおいて前記物体の所定の拘束箇所に前記柔軟物が近接すると、前記柔軟物のうち前記所定の拘束箇所に近接する部分の拘束条件データとして、前記所定の拘束箇所に対応付けて前記記憶部に記憶されている拘束条件データを適用して、前記シミュレーションを実行する、ことを特徴とするシミュレーション方法。