(57)【要約】【課題】  頂点以外の位置を拘束して変形シミュレーションを行うことができる演算装置、演算方法および演算プログラムを提供する。【解決手段】  演算装置は、複数の頂点と頂点同士を結ぶエッジとからなる柔軟物モデルに対し、２つの頂点の情報を用いて当該２つの頂点間の第１点を所定位置に拘束する拘束条件設定部と、前記第１点を前記所定位置に拘束する拘束条件に従って、前記柔軟物モデルを変形させるシミュレーションを行うシミュレーション部と、を備える。【選択図】  図２
2019049915.tif 000002
【特許請求の範囲】
【請求項１】
複数の頂点と頂点同士を結ぶエッジとからなる柔軟物モデルに対し、２つの頂点の情報を用いて当該２つの頂点間の第１点を所定位置に拘束する拘束条件設定部と、
前記第１点を前記所定位置に拘束する拘束条件に従って、前記柔軟物モデルを変形させるシミュレーションを行うシミュレーション部と、を備えることを特徴とする演算装置。
【請求項２】
前記拘束条件設定部は、前記柔軟物モデルの第２点が固定された状態で前記第１点を前記所定位置に移動させることで前記柔軟物モデルを変形させる場合において、前記所定位置と前記第２点との距離から、前記柔軟物モデル上の前記第１点の位置を推定し、推定された前記第１点を前記所定位置に拘束することを特徴とする請求項１記載の演算装置。
【請求項３】
前記拘束条件設定部は、前記柔軟物モデルにおいて前記所定位置に前記柔軟物モデルの方向を設定し、当該方向と前記２つの頂点間の方向とを拘束することを特徴とする請求項１または２に記載の演算装置。
【請求項４】
拘束条件設定部が、複数の頂点と頂点同士を結ぶエッジとからなる柔軟物モデルに対し、２つの頂点の情報を用いて当該２つの頂点間の第１点を所定位置に拘束し、
シミュレーション部が、前記第１点を前記所定位置に拘束する拘束条件に従って、前記柔軟物モデルを変形させるシミュレーションを行う、ことを特徴とする演算方法。
【請求項５】
コンピュータに、
複数の頂点と頂点同士を結ぶエッジとからなる柔軟物モデルに対し、２つの頂点の情報を用いて当該２つの頂点間の第１点を所定位置に拘束する処理と、
前記第１点を前記所定位置に拘束する拘束条件に従って、前記柔軟物モデルを変形させるシミュレーションを行う処理と、を実行させることを特徴とする演算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、演算装置、演算方法および演算プログラムに関する。
【背景技術】
【０００２】
例えば、工場の製造の効率化には、組立作業のロボット化が望まれている。組立作業にはケーブル等の線状柔軟物を扱う工程が含まれているため、ロボット動作の妥当性を短時間で検証するために、柔軟物の変形シミュレーションが用いられる（例えば、特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１４９０５５号公報
【特許文献２】特開２００５−２５８６４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
柔軟物の変形シミュレーションでは、柔軟物に複数の頂点を設定し、頂点同士を直線のエッジで結んだ柔軟物モデルが用いられる。柔軟物モデルを用いる場合、作業点がいずれかの頂点に設定され、当該作業点と当該頂点とを拘束する条件に従って変形シミュレーションが行われる。しかしながら、このような変形シミュレーションでは、頂点以外を拘束することができない。
【０００５】
１つの側面では、本発明は、頂点以外の位置を拘束して変形シミュレーションを行うことができる演算装置、演算方法および演算プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
１つの態様では、演算装置は、複数の頂点と頂点同士を結ぶエッジとからなる柔軟物モデルに対し、２つの頂点の情報を用いて当該２つの頂点間の第１点を所定位置に拘束する拘束条件設定部と、前記第１点を前記所定位置に拘束する拘束条件に従って、前記柔軟物モデルを変形させるシミュレーションを行うシミュレーション部と、を備える。
【発明の効果】
【０００７】
頂点以外の位置を拘束して変形シミュレーションを行うことができる。
【図面の簡単な説明】
【０００８】
【図１】（ａ）は柔軟物モデルを例示する図であり、（ｂ）は柔軟物モデルの変形を例示する図である。
【図２】実施例１に係る演算装置のブロック図である。
【図３】（ａ）は柔軟物のモデルを例示する図であり、（ｂ）および（ｃ）は作業点の設定を例示する図である。
【図４】作業点位置の拘束を例示する図である。
【図５】（ａ）および（ｂ）は作業点位置の拘束を例示する図である。
【図６】演算装置による軽把持滑り動作のシミュレーションの詳細を表すフローチャートを例示する図である。
【図７】（ａ）および（ｂ）は拘束条件を例示する図である。
【図８】変形シミュレーションを例示する図である。
【図９】（ａ）は演算装置のハードウェア構成を説明するためのブロック図であり、（ｂ）は演算装置の他の例について例示する図である。
【発明を実施するための形態】
【０００９】
実施例の説明に先立って、柔軟物の変形シミュレーションについて説明する。
【００１０】
工場の製造の効率化のために、ロボットによる組立作業が望まれている。組立作業において、柔軟物の変形を伴う作業が、例えば、組立作業全体の３０％を占めることがある。しかしながら、ケーブルフォーミングに代表される柔軟物組立作業のロボット化には、様々な困難が存在する。まず、人による目視では、適切な把持位置および抑え位置の認識が困難である。次に、２腕のロボットが休むことなく適切な動きを続ける指示が複雑である。そこで、自動的に柔軟物組立のロボット動作を生成し、事前にロボット動作の妥当性を検証するため、柔軟物組立のためのロボットと柔軟物との連携シミュレーションの開発が望まれる。
【００１１】
ところで、柔軟物の組立作業においては、ロボットハンド等によって柔軟物を軽く把持しつつ、ロボットハンドの把持部を滑らせながら動かす動作（軽把持滑り動作）が行われる。軽把持滑り動作は、手繰り動作、しごき動作とも称することがある。
【００１２】
ロボットハンドによる軽把持滑り動作は、柔軟物組立作業を実現する上で重要な動作である。軽把持滑り動作は、例えば、以下の目的に用いられる。（１）ロボットハンドがケーブルを離すことなく、ケーブルの把持位置を変える。（２）ケーブル上の目的位置をロボットハンドにより把持する。（３）ケーブルフォーミングのために制御するケーブル長を変える。
【００１３】
軽把持滑り動作を行わずにこれらの目的を達成するためには、ケーブルをカメラで認識し、把持位置を確定する技術が求められる。しかしながら、ケーブルのような不定形物を認識することは技術的に困難であり、コストを要する。したがって、柔軟物組立作業の実現には、軽把持滑り動作を行うことが求められる。柔軟物変形シミュレーションにおいても、軽把持滑り動作に伴う仮想柔軟物の変形を実現できることが望まれる。
【００１４】
ここで、「柔軟物」とは、学術用語としては「Ｄｅｆｏｒｍａｂｌｅ  Ｌｉｎｅａｒ  Ｏｂｊｅｃｔｓ」のことである。以下の実施例では、「柔軟物」は、例えば、ケーブル、ワイヤ、糸、梁、ホース、ロープ、チューブ、カテーテル、針などの線状の柔軟物である。
【００１５】
柔軟物変形シミュレーションを実現するソフト・ライブラリは、これまでも開発されている。例えば、Ｂｕｌｌｅｔ  Ｐｈｙｓｉｃｓ  Ｌｉｂｒａｒｙ等が挙げられる。これらの柔軟物変形シミュレーションでは、図１（ａ）で例示するように、直線状や曲線状の線状柔軟物に複数の頂点を設定し、隣接する頂点同士を直線で結んだものを、柔軟物モデルとして用いる。頂点同士を結ぶ直線を、エッジと称する。このように、複数の頂点と頂点同士を結ぶエッジとからなる多角形状を柔軟物モデルとして用いている。頂点は、節点、ノード、ｖｅｒｔｅｘなどと称されることもある。
【００１６】
例えば、この柔軟物モデルを任意形状に変形させるため、図１（ｂ）で例示するように、柔軟物モデルの頂点位置に作業点を設定し、作業点および頂点の２点に拘束条件を設け、作業点を動かすことで柔軟物モデルを変形させる。なお、作業点とは、柔軟物モデルに対して、押さえ、固定、移動などの作業が行われる点のことである。上述したＢｕｌｌｅｔ  Ｐｈｙｓｉｃｓ  Ｌｉｂｒａｒｙでは、アンカとも称される。「２点に拘束条件を設ける」とは、２点の距離をゼロにすることである。ここでは、作業点を頂点に一致させることである。
【００１７】
図１（ｂ）の例では、前工程で作業点Ａおよび作業点Ｂが固定されており、作業点Ｃが移動することになる。作業点Ａと作業点Ｂとの間、作業点Ｂと作業点Ｃとの間には、１以上の頂点が設定されている。作業点Ａおよび作業点Ｂが固定されているため、作業点Ｃを移動しても作業点Ａと作業点Ｂとの間は変形しない。一方、作業点Ｃを移動させると、作業点Ｂと作業点Ｃとの間の頂点も移動し、作業点Ｂと作業点Ｃとの間が変形する。
【００１８】
この柔軟物変形シミュレーション技術では、頂点位置に対してのみ拘束条件の設定が可能であるため、頂点間の中間位置をロボットハンドで把持することができない。さらに、上記技術では、作業点と頂点とが常に拘束されるため、作業点の位置移動に伴って作業点と拘束される柔軟物上の位置とが変化しない。したがって、軽把持滑り動作等の、複雑な動作に伴う変形をシミュレーションすることができない。
【００１９】
そこで、以下の実施例では、頂点以外の位置を拘束することで、柔軟物の軽把持滑り動作等の、複雑な動作の変形シミュレーションを行うことができる演算装置、演算方法および演算プログラムについて説明する。
【実施例１】
【００２０】
図２は、実施例１に係る演算装置１００のブロック図である。図２で例示するように、演算装置１００は、モデル生成部１０、作業点設定部２０、拘束条件設定部３０、変形シミュレーション部４０などとして機能する。
【００２１】
モデル生成部１０は、図３（ａ）で例示するように、柔軟物モデル５０を生成する。まず、モデル生成部１０は、柔軟物モデル５０に所定の間隔で頂点（ｘ０〜ｘｎ＋１）を設定する。作業点設定部２０は、柔軟物モデル５０に作業点を設定する。軽把持滑り動作以外の動作等においては、作業点設定部２０は、作業点をいずれかの頂点に設定する。軽把持滑り動作等においては、作業点設定部２０は、柔軟物モデル５０の任意の点に作業点を設定する。詳細は後述する。拘束条件設定部３０は、拘束条件を設定する。変形シミュレーション部４０は、拘束条件設定部３０が設定した拘束条件に従って、柔軟物モデル５０の変形シミュレーションを行う。
【００２２】
図３（ｂ）は、頂点ｘ０に作業点１を設定して固定し、他の頂点に作業点２を設定して固定した場合の変形シミュレーション後の柔軟物モデル５０の形状を表す図である。この状態から軽把持滑り動作の変形シミュレーションを行うためには、図３（ｃ）で例示するように、移動後の作業点３を設定する。以下、軽把持滑り動作の変形シミュレーションについて説明する。
【００２３】
図４で例示するように、２つの頂点ｘｎ，ｘｎ＋１で表現されるエッジ上の任意位置ｍｎは、パラメータｔ（０≦ｔ≦１）を用いて、下記式（１）のように表すことができる。したがって、作業点位置Ｗと、エッジ上の任意位置ｍｎとの拘束条件は、下記式（２）のように表すことができる。
【数１】
2019049915.tif 000003
【数２】
2019049915.tif 000004
【００２４】
次に、図５（ａ）で例示するように、拘束条件設定部３０は、作業点３に設定した柔軟物モデル５０の方向と、頂点ｘｎから頂点ｘｎ＋１への方向と、の２方向に拘束条件を設定する。「２方向に拘束条件を設定する」とは、２方向を一致させることを意味する。作業点３に設定した柔軟物モデル５０の方向は、例えば、接線方向ｄ（水平方向）である。このような計算を実施することで、図５（ｂ）で例示するように、軽把持滑り動作における作業点前後の柔軟物モデル５０の挙動がふらつきにくくなり、安定化する。柔軟物モデル５０の接線方向と、頂点ｘｎから頂点ｘｎ＋１への方向との拘束条件は、下記式（３）のように表すことができる。
【数３】
2019049915.tif 000005
【００２５】
変形シミュレーション部４０は、上記式（１）〜上記式（３）を満たす２つの頂点位置ｘｎ，ｘｎ＋１を計算する。それにより、変形シミュレーションにより柔軟物モデル５０を変形させることができる。
【００２６】
図６は、演算装置１００による軽把持滑り動作のシミュレーションの詳細を表すフローチャートを例示する図である。図６で例示するように、作業点設定部２０は、移動後の作業点３を設定する（ステップＳ１）。図７（ａ）は、移動後の作業点３を例示する。次に、作業点設定部２０は、１つ前のシミュレーションで固定された作業点２の位置を取得する（ステップＳ２）。次に、作業点設定部２０は、作業点２と移動後の作業点３との間の直線距離Ｌを計算する（ステップＳ３）。次に、作業点設定部２０は、柔軟物モデル５０に沿って、作業点２から距離Ｌの長さにおける柔軟物モデル５０上の位置ｐを取得する（ステップＳ４）。
【００２７】
次に、拘束条件設定部３０は、位置ｐと移動後の作業点３とに拘束条件を設定する（ステップＳ５）。具体的には、拘束条件設定部３０は、位置ｐを挟んで隣接する前後の２つの頂点を取得する。次に、拘束条件設定部３０は、上記式（２）を用いて、「ｔ」の値を計算する。それにより、拘束条件が設定される。
【００２８】
次に、拘束条件設定部３０は、図７（ｂ）で例示するように、作業点３における柔軟物モデル５０の接線方向ｄを、ステップＳ５で取得された２つの頂点を結ぶ方向に拘束条件として設定する（ステップＳ６）。次に、変形シミュレーション部４０は、ステップＳ５およびステップＳ６で設定された拘束条件に従って、変形シミュレーションを行う（ステップＳ７）。以上の処理の実行後、図６のフローチャートは終了する。なお、図６のフローチャートを繰り返し行うことで、図８で例示するように、長さＬよりも長い位置へ軽把持滑り動作をシミュレーションすることができる。
【００２９】
上記実施例によれば、複数の頂点と頂点同士を結ぶエッジとからなる柔軟物モデル５０に対し、２つの頂点の情報を用いて当該２つの頂点間の第１点が所定位置に拘束される。図４の例では、任意位置ｍｎが作業点位置Ｗに拘束される。この構成によれば、頂点以外の位置を拘束することができる。この拘束条件に従って、柔軟物モデルを変形させるシミュレーションを行うことで、柔軟物の軽把持滑り動作等の、複雑な動作をシミュレーションすることができる。
【００３０】
柔軟物モデル５０の第２点が固定された状態で第１点を所定位置に移動させることで柔軟物モデル５０を変形させる場合において、所定位置と第２点との距離から、柔軟物モデル５０上の第１点の位置を推定し、推定された第１点を所定位置に拘束することで、軽把持滑り動作をシミュレーションすることができる。図７の例では、作業点２が第２点の一例であり、位置ｐが第１点の一例であり、作業点３が所定位置の一例である。
【００３１】
柔軟物モデル５０において所定位置に柔軟物モデル５０の方向を設定し、当該方向と２つの頂点間の方向とを拘束することで、軽把持滑り動作における作業点前後の柔軟物モデル５０の挙動がふらつきにくくなり、安定化する。
【００３２】
（他の例）
図９（ａ）は、演算装置１００のハードウェア構成を説明するためのブロック図である。図９（ａ）で例示するように、演算装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、記憶装置１０３、入力装置１０４、表示装置１０５等を備える。
【００３３】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、中央演算処理装置である。ＣＰＵ１０１は、１以上のコアを含む。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２は、ＣＰＵ１０１が実行するプログラム、ＣＰＵ１０１が処理するデータなどを一時的に記憶する揮発性メモリである。記憶装置１０３は、不揮発性記憶装置である。記憶装置１０３として、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリなどのソリッド・ステート・ドライブ（ＳＳＤ）、ハードディスクドライブに駆動されるハードディスクなどを用いることができる。記憶装置１０３は、演算プログラムを記憶している。入力装置１０４は、モデル生成部１０がモデルを生成するために必要なモデル情報、作業点設定部２０が作業点を設定するために必要な作業点情報などをユーザが入力するための装置であり、マウス、キーボードなどである。表示装置１０５は、変形シミュレーション部４０のシミュレーション結果などを表示するための装置であり、ＬＣＤなどである。
【００３４】
例えば、ＣＰＵ１０１が記憶装置１０３に記憶されている演算プログラムを実行することで、図２のモデル生成部１０、作業点設定部２０、拘束条件設定部３０、および変形シミュレーション部４０が実現されてもよい。なお、図２のモデル生成部１０、作業点設定部２０、拘束条件設定部３０、および変形シミュレーション部４０として、専用の回路などのハードウェアを用いてもよい。
【００３５】
図９（ｂ）は、演算装置の他の例について例示する図である。入力装置１０４および表示装置１０５を備える端末２０１が、インターネットなどの電気通信回線２０２を通じてサーバ２０３に接続されていてもよい。この場合、サーバ２０３が、図２のモデル生成部１０、作業点設定部２０、拘束条件設定部３０、および変形シミュレーション部４０の機能を有する。
【００３６】
上記実施例において、拘束条件設定部３０が、複数の頂点と頂点同士を結ぶエッジとからなる柔軟物モデルに対し、２つの頂点の情報を用いて当該２つの頂点間の第１点を所定位置に拘束する拘束条件設定部の一例である。図４の例では、エッジ上の任意位置ｍｎが第１点の一例であり、作業点位置Ｗが所定位置の一例である。変形シミュレーション部４０が、前記第１点を前記所定位置に拘束する拘束条件に従って、前記柔軟物モデルを変形させるシミュレーションを行うシミュレーション部の一例である。
【００３７】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００３８】
１０  モデル生成部
２０  作業点設定部
３０  拘束条件設定部
４０  変形シミュレーション部
１００  演算装置
【図１】
2019049915.tif 000006
【図２】
2019049915.tif 000007
【図３】
2019049915.tif 000008
【図４】
2019049915.tif 000009
【図５】
2019049915.tif 000010
【図６】
2019049915.tif 000011
【図７】
2019049915.tif 000012
【図８】
2019049915.tif 000013
【図９】
2019049915.tif 000014