JP3568678B2 - 運動連鎖模擬システム - Google Patents
運動連鎖模擬システム Download PDFInfo
- Publication number
- JP3568678B2 JP3568678B2 JP07076196A JP7076196A JP3568678B2 JP 3568678 B2 JP3568678 B2 JP 3568678B2 JP 07076196 A JP07076196 A JP 07076196A JP 7076196 A JP7076196 A JP 7076196A JP 3568678 B2 JP3568678 B2 JP 3568678B2
- Authority
- JP
- Japan
- Prior art keywords
- model
- master
- slave relationship
- slave
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000004088 simulation Methods 0.000 title claims description 97
- 238000000605 extraction Methods 0.000 claims description 40
- 230000006870 function Effects 0.000 claims description 18
- 239000000284 extract Substances 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 16
- 230000001419 dependent effect Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 38
- 238000000034 method Methods 0.000 description 36
- 230000000694 effects Effects 0.000 description 11
- 238000003672 processing method Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 239000012636 effector Substances 0.000 description 4
- 239000000696 magnetic material Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Description
【発明の属する技術分野】
この発明は計算機上で物体をモデル化して物体の動作をシミュレートする際に、モデルに関して互いに作用するものと作用されるものの主従関係を設定し、その主従関係に従って運動するモデルの運動連鎖を模擬する運動連鎖模擬システムに関するものである。
【0002】
【従来の技術】
一般に物体の動作をシミュレーションする際には、物体に対応したモデルを設け、このモデルについてシステムが必要とする各データを作成し、それらを1つのデータ型としてパッケージして用いる。1つの物体のモデルを作成して単体で動作させる場合には、そのモデルに対して幾何学的な軌跡を与えたり、そのモデルの従う物理的環境を与えることによりシミュレーションを実現している。
【0003】
また、いくつかのモデルをあるモデルに追従させて協調動作させる方法には2通りの方法があり、1つは複数のモデルの動作をそれぞれ個別に指定して同じ軌跡を与え、あたかもモデル間に拘束関係が存在してあるモデルに他のモデルが拘束されて動作しているように見せかける方法である。
【0004】
2つめの方法は、追従させようとするモデル(主)と追従するモデル(従)をユーザーが指定して、さらにどのモデルが主でどのモデルが従かを指定し、それらのモデル間に拘束関係をつけて追従動作させるようにシミュレーション・プログラムを作成する方法である。
【0005】
【発明が解決しようとする課題】
従来の運動連鎖模擬システムは以上のように構成されているので、追従動作させる方法の上記のうち1つめの方法を用いた場合、シミュレーション・システムがモデル間の拘束関係の管理を行わないため、ユーザー自身が自分で追従動作の軌跡等を逐一指定してプログラミングする必要があり、また、現実世界で物体間に拘束がある場合の動作をシミュレートするような状況を直感的に構築することができないという課題があった。
【0006】
また、追従動作させる方法の上記のうち2つめの方法を用いた場合、例えば1個のワークを複数のロボットが持った場合等の結果を指定するために、拘束関係のシミュレートの毎に拘束関係の設定や変更の指定をしなければならず、拘束が起こるタイミングを考える必要がある。現実世界で人間がある物体に作用する場合、拘束関係や主従関係等を考えなくても、自分自身が物体に行う操作のみに注目していればよいが、シミュレーション・システムにおいてはモデル間の拘束関係や主従関係等が逐一要求され、現実世界での人間と物体間のような直感的操作が不可能となるため、シミュレーション・システムを迅速に構築することができないという課題があった。
【0007】
また、ユーザーが逐一シミュレーション・プログラムを作成した場合、シミュレーション・プログラムによっては、実際には物を持って移動する等の機構を持たないモデルに他のモデルが追従してしまったり、モデル間の距離が十分近接していないのに、瞬間的に追従するモデルが追従されるモデルの位置まで移動して追従してしまったり、ロボットのハンドと離れた状態にあるワークがハンドの動作に追従してしまったりするなどのミスが生じ易く、修正するにはモデル間の拘束を解除して、自然な動作を行わせるために、新たにモデル間で拘束が起こるタイミング,軌跡等を設定し直す必要があり、修正に非常に手間がかかるなどの課題があった。
【0008】
この発明は上記のような課題を解決するためになされたもので、ユーザーが追従動作の軌跡等を逐一指定してプログラミングしたり、拘束関係や主従関係等の設定や変更の指定を行う必要をなくし、拘束関係や主従関係等に多くの注意を払うことなくモデル間の動作のみに注意を注いだ直感的な操作を可能として、シミュレーション環境を作成するのに要する時間を短縮し、人的ミスを削減することが可能な運動連鎖模擬システムを得ることを目的とする。
【0009】
また、この発明は、様々な状況下において複数のモデル間で主従関係が変化する複雑な動作を伴ったシミュレーションを、現実世界での物体間の関係に近い状態で行うことができる運動連鎖模擬システムを得ることを目的とする。
【0010】
【課題を解決するための手段】
請求項1記載の発明に係る運動連鎖模擬システムは、模擬対象の物体の形状及び位置、向きに関するデータを、当該物体をモデル化するモデルデータとして格納するモデルデータメモリと、前記物体について模擬させるべき動作を規定する動作命令に従って前記モデルデータを逐次更新し、前記物体の運動を模擬させる動作命令指示部と、前記動作命令指示部がモデルデータを更新するたびに、互いの距離が一定値以下となる物体のモデルを検索し、検索結果として得られたモデルを、作用するものと作用されるものとの主従関係を設定すべきモデルであると判定して、それらのモデルデータを抽出するモデル抽出部と、前記モデル抽出部が抽出したモデルデータに対応する物体のモデル間の関係に基づいて各モデルの主及び従を設定する主従関係設定部と、前記主従関係設定部が主従関係を設定した各モデルのモデルデータ及びこれらモデルについて前記動作命令指示部により設定された動作命令に基づいて、前記各モデルの主従関係に従った追従動作を模擬する追従動作処理部とを備えたものである。
【0011】
請求項2記載の発明に係る運動連鎖模擬システムは、モデルデータメモリが、模擬対象の物体の形状及び位置、向きに関するデータを、当該物体をモデル化するモデルデータとして格納すると共に、前記物体の機能及びその性能を特定する仕様データを格納し、モデル抽出部は、互いの距離が一定値以下にあり、前記仕様データに基づいて関連する属性を有すると判断された物体のモデルを、主従関係を設定すべきモデルであると判定して、これらのモデルデータを抽出するようにしたものである。
【0012】
請求項3記載の発明に係る運動連鎖模擬システムは、モデルデータメモリが、模擬対象の物体の形状及び位置、向きに関するデータを、当該物体をモデル化するモデルデータとして格納すると共に、前記物体の機能及びその性能を特定するデータであって、動作命令指示部からの動作命令に付随した命令によって機能及び性能の有効又は無効が設定される仕様データを格納し、モデル抽出部は、互いの距離が一定値以下にあり、前記動作命令指示部からの付随命令によって有効に設定された仕様データに基づいて関連する動作属性を有すると判断された物体のモデルを、主従関係を設定すべきモデルであると判定して、それらのモデルデータを抽出するようにしたものである。
【0013】
請求項4記載の発明に係る運動連鎖模擬システムは、モデルデータメモリが、模擬対象の物体の形状及び位置、向きに関するデータを、当該物体をモデル化するモデルデータとして格納すると共に、前記物体の機能及びその性能に基づいて当該物体のモデルが他の物体のモデルを従属させる力の強さを指定する特性データを格納し、主従関係設定部は、モデル抽出部によって抽出されたモデルデータに対応する物体のモデル間の関係として前記特性データに基づいて各モデルの主及び従を設定するようにしたものである。
【0014】
請求項5記載の発明に係る運動連鎖模擬システムは、モデルデータメモリが、特性データとして模擬対象の物体のモデルが他の物体のモデルを従属させる優先順位を数値で表現したプライオリティを格納し、主従関係設定部は、モデル抽出部によって抽出されたモデルデータに対応する物体のモデル間の関係としてプライオリティに基づいて各モデルの主及び従を設定するようにしたものである。
【0015】
請求項6記載の発明に係る運動連鎖模擬システムは、主従関係設定部が、モデル抽出部によって追従動作処理部が追従動作を模擬している物体のモデルについて主従関係を設定すべきモデルが検索されると、それらのプライオリティに基づいて、前記追従動作が模擬されている前記モデルとの主従関係における主及び従の設定を変更するようにしたものである。
【0016】
請求項7記載の発明に係る運動連鎖模擬システムは、プライオリティの大小関係を規定する規則が予め設定されており、主従関係設定部が、追従動作処理部によって追従動作が模擬されている物体のモデルについて主従関係を設定すべきモデルが検索された場合、前記規則に基づいて前記各モデルのプライオリティを変更してその主従関係における主及び従を設定するようにしたものである。
【0017】
請求項8記載の発明に係る運動連鎖模擬システムは、プライオリティの大小関係を規定する異なる複数の規則を格納する規則データメモリと、前記規則データメモリに格納される複数の規則のうち、物体の運動の模擬状態に応じて主従関係設定部に設定すべき規則を選択する規則選択部とを備え、前記主従関係設定部は、前記規則選択部によって前記物体の運動の模擬状態に応じて選択された規則に基づいてプライオリティを変更するようにしたものである。
【0018】
請求項9記載の発明に係る運動連鎖模擬システムは、追従動作処理部が、主従関係が設定された物体のモデルをその主従関係で結ばれるグループにまとめて追従動作を模擬するようにしたものである。
【0019】
請求項10記載の発明に係る運動連鎖模擬システムは、追従動作処理部が、主側のモデルの配置位置を所定時間間隔毎に監視し、前記主側のモデルから見た従側のモデルの相対的配置位置が、主従関係が設定された時点の初期配置位置と等しくなるように前記従側のモデルの配置位置を移動させることにより追従動作を模擬するようにしたものである。
【0020】
請求項11記載の発明に係る運動連鎖模擬システムは、追従動作処理部が、主側のモデルについての動作命令に対し、前記主側のモデルを動作させず、前記動作命令にて規定される前記主側のモデルの動作分だけ従側のモデルを動作させるものである。
【0024】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1による運動連鎖模擬システムの基本構成を示すブロック図であり、図において、1はロボット,ワーク,コンベア,人間等の物体に対応した各モデルの、形状,動作の特徴,位置,向き等に関するデータが格納されるモデルデータメモリであり、このモデルデータメモリ1上のモデルデータが逐次更新されることにより、各モデルが移動等の動作を行うシミュレーションが行われる。2はモデルに対する動作命令をだす動作命令指示部であり、モデルに対する動作命令は、プログラムに従って出される場合や、動作命令指示部が備えたキーボード等のユーザーインターフェース用の入力手段における入力に従って出される場合等がある。動作命令が出されると、これに従って各モデルに対応したモデルデータが更新される。3は動作命令指示部2から動作命令が出される毎に主従関係を設定すべきモデルがないかを調べて主従関係を設定すべきモデルを抽出するモデル抽出部、4はモデル抽出部3で抽出された主従関係を設定すべきモデルに対し、モデル間の関係から主従関係を自動設定する主従関係設定部、5は動作命令およびモデルの主従関係に従ってモデル間に追従動作を行わせる追従動作処理部であり、この実施の形態1においてはモデルの動作やモデル間の追従動作に必要なモデルデータの更新をこの追従動作処理部5が行っている。
【0025】
なお、前記のモデルデータメモリ1はRAM等のメモリおよび長期記憶用のハードディスク,光ディスク等の記憶媒体により構成されており、動作命令指示部2,モデル抽出部3,主従関係設定部4,および追従動作処理部5は、計算機内のCPU,メモリ等により実現されている。また、必要に応じてシミュレーションの経過や結果を出力するディスプレーモニター,プリンター等の出力手段やキーボード等の入力手段が適宜設けられている。以上の基本構成は以下の各実施の形態においても同様とする。
【0026】
次に動作について説明する。
図2はこの発明の実施の形態1による運動連鎖模擬システムの基本動作を示すフローチャートである。まずステップST1において、動作命令指示部2がモデルに対して動作命令を発行し、動作命令指示部2から動作命令が発行される毎に、モデル抽出部3は、主従関係を設定すべきモデルがないかを調べて主従関係を設定すべきモデルがあれば抽出し、主従関係設定部4に抽出結果を渡す(ステップST2)。
【0027】
次に、主従関係設定部4が、抽出されたモデル間の関係を検査し、モデル間に主従関係を自動設定する(ステップST3)。この場合の関係とは、モデル間がロボット、ワーク等の内のどの組合せであるかとか、モデルの持つ機能や性能同士の関係などを指す。
【0028】
そして、追従動作処理部5がモデル間に主従関係に従った追従動作を行わせる。追従動作処理部5が追従動作を行わせる方法としては、主従関係の主に設定されたモデルの動作命令指示部2の動作命令による動作位置を追従動作処理部5が例えば0.1秒毎等の所定間隔毎に監視し、この主に設定されたモデルの動作分だけ追従動作処理部5が従に設定されたモデルを動作させる方法や、主に設定されたモデルと従に設定されたモデルとを1個の物であるように同一グループとして扱うことにより両者を一体に動作させる方法等を用いる。
【0029】
以上のように、この実施の形態1によれば、シミュレーションを行っているモデルの中から主従関係を設定すべきモデルを自動的に抽出し、抽出されたモデル間のどちらのモデルを主および従にするかをモデル間の関係を基にして自動的に設定し、主従関係の設定されたモデルを主従関係に従って動作させることができるため、人手により逐一各モデルに対して主従関係の設定をプログラミングする必要なく主従関係に従って運動するモデルの運動連鎖を模擬することが可能となり、物体の追従動作を表現するシミュレーション・システムを迅速に構築することができる。
【0030】
実施の形態2.
図3はこの発明の実施の形態2による運動連鎖模擬システムのモデル抽出部3の動作を説明する概念図である。図において、Mはモデル空間、A,B,C,D,およびEはモデル空間M内に存在する各モデルである。モデル抽出部3は、モデルAと主従関係を築くべきモデル空間M内のモデルを抽出するものとする。
【0031】
次に動作について説明する。
モデル空間M内に存在するモデルAは、動作命令指示部2から受ける動作命令に従って動作する。一方モデル抽出部3は、モデルAと同一モデル空間M内に存在する他のモデル、例えば図3中のモデルB,モデルC,モデルD,およびモデルEとの関係を検査してモデルA自身と主従関係を設定すべきモデルがあればそれを抽出する。
【0032】
上記における関係とは、例えばモデル間の距離が一定距離以下であるとか、各モデルの材質が所定の条件を満たしているなどの種々の関係をいい、モデル抽出部3による関係の検査は、現在の各モデルの状態を示すモデルデータを基に行われる。
【0033】
モデルAと主従関係を設定すべきモデルがモデル抽出部3により抽出されるとモデル抽出部3は抽出結果を主従関係設定部4に渡し、以下、主従関係設定部4により該当モデル間に主従関係が設定され、追従動作処理部5により追従動作が実行される。
【0034】
以上のように、この実施の形態2によれば、モデル抽出部3がモデル間の関係を基に主従関係を設定すべきモデルを自動で抽出するため、主従関係を設定すべきモデルを人手により設定する場合に起こるモデル指定の誤り等を減少させることができ、シミュレーション環境を計算機上に構築する際のミスを減らして、的確な動作のシミュレーションを行うことができる。
【0035】
なお、上記においてモデル抽出部3は、モデルAと他のモデルとの関係を検査してモデルAと主従関係を設定すべきモデルの抽出を行ったが、モデルA,B,C,D,EのうちのAの他のモデルまたはいくつかのモデルに注目し、それらと他のモデルとの関係を検査して、主従関係を設定されるべきモデルの抽出を行うようにしてもよい。
【0036】
実施の形態3.
図4はこの発明の実施の形態3による運動連鎖模擬システムのモデル抽出部3の動作を説明する概念図である。実施の形態3におけるモデル抽出部3は、モデル空間M内におけるモデル間の距離を基に主従関係を設定するモデルを抽出するものであり、その一例として、モデル間の接触を抽出の条件とした例を示す。
【0037】
次に動作について説明する。
図4においては、モデルAとモデルBとが接触しており、モデルCは他と接触していない。この状況において、モデル抽出部3は接触しているモデルAとモデルBとの間に主従関係を設定すべきものとしてこの2つのモデルを抽出する。
【0038】
図5はこの実施の形態3におけるモデルの接触状態を利用して主従関係を設定するモデルを抽出する具体的方法を示すフローチャートであり、図6は、この抽出方法の説明図である。まず、ステップST11において、図6(1)に示すように、ロボットAの末端に設けられたハンド等のエンド・エフェクタに設置されたロボットA固有の座標系を原点として、あらかじめ設定した範囲でロボットAのエンド・エフェクタを内包する概略モデルAsが構築され、同様にワークB,Cに設置されたワークB,C固有の座標系を原点としてあらかじめ設定した範囲でワークB,Cを内包する概略モデルBs,Csが構築され、各概略モデルの形状データがモデルデータメモリ1内にモデルデータとして格納される。
【0039】
モデル抽出部3は、AsとBs,Csが接触するまではAsとBs,Csの形状で接触を監視し(ステップST12)、AsとBsが接触したら図6(2)のようにロボットAとワークBの詳細な形状の接触を監視する(ステップST14)。監視を続けてロボットAとワークBが接触したらロボットAとワークBを主従関係を設定すべきモデルとして抽出して主従関係設定部4に渡す(ステップST16)。
【0040】
以上のように、この実施の形態3によれば、モデルの接触状態を利用して主従関係が設定されるため、主従関係が設定されるのが妥当なモデル同士に主従関係が設定されて追従動作が実行されることとなり、より現実的なシミュレーションを行うことが可能となる。また、接触状態の監視に概略モデルを用いているため、概略モデルが接触するまでの間の接触判定に要する計算を高速に行って監視処理の負担を軽減することができる。
【0041】
実施の形態4.
図7はこの発明の実施の形態4による運動連鎖模擬システムのモデル抽出部3の動作を説明する概念図である。実施の形態4におけるモデル抽出部3は、モデル空間M内におけるモデルの接触状態と、各モデルの持つ機能,性能等を示す仕様を表現する仕様データとに基づいて、主従関係を設定すべきモデルを抽出する。
【0042】
次に動作について説明する。
図7においては幾何的接触状態を、モデルAを内包するように作成した点線で表現された概略モデルにモデルAとは別のモデルBが干渉したときとする。モデル抽出部3は、図7に示すように、幾何的接触状態をチェックするとともに、接触した各々のモデルの持つ機能,性能等を示した仕様データを対照・比較し、この結果を考慮して主従関係を設定すべきモデルを抽出する。
【0043】
以上のように、この実施の形態4によれば、モデル抽出部3が、接触状態の判定に加え、モデルの持つ機能,性能を簡単に示した仕様データに基づく判定を用いてモデルを抽出するようにしたため、機能や性能等の仕様により結果の異なる物理現象を模擬することができ、より現実世界での物体間の関係に近いシミュレーションを行うことができる。
【0044】
実施の形態5.
図8はこの発明の実施の形態5による運動連鎖模擬システムのモデル抽出部3のモデル抽出方法の説明図である。この実施の形態5は、前記実施の形態4に示した、モデルの接触状態と各モデルの仕様を用いて主従関係を設定するモデルを抽出する方法の一例を示したものであり、各モデルの仕様を表現する仕様データとして、オン/オフ切り替え可能な動作属性を仕様データとして用いる。なお、この動作属性のオン/オフの切り替えは、動作命令指示部2においてプログラムや入力手段における入力等に従ってモデルに対して発行される動作命令に付随した命令により行われる。
【0045】
次に動作について説明する。
ロボットAのエンド・エフェクタに設置されたロボットA固有の座標系を原点として、あらかじめ設定した範囲が概略モデルAsとして構築され、同様にワークB,Cに設置されたワークB,C固有の座標系を原点としてあらかじめ設定した範囲が概略モデルBs,Csとして構築される。ここで各々のモデル、ロボットA,ワークB,ワークCは各々、モデル内部にいくつかの仕様データを有している。
【0046】
いくつかの仕様データのうち、ある仕様データとしてロボットAは「掴む」という属性を有しておりこの属性が有効であり、ワークBはある仕様データとして「拘束可能」という属性を有しておりこの属性が有効である場合を想定する。
【0047】
モデル抽出部3は、AsとBs,Cs間が接触するまではAsとBs,Csの形状で接触を監視し、AsとBsが接触したらロボットAとワークBの詳細な形状の接触を監視する。監視を続けてロボットAとワークBが接触し、さらに口ボットAとワークBの仕様データのうち前記の「掴む」と「拘束可能」の各属性が有効であれば、モデル抽出部3はロボットAとワークBを主従関係を設定すべきモデルとして抽出する。また、ロボットAの「掴む」という属性またはワークBの「拘束可能」という属性が有効にされていない場合は、モデル抽出部3はロボットAに幾何的に接触したワークBとの間に主従関係を設定するべきでないと判断し、ロボットAとワークBは抽出されない。図9は以上の動作を示すフローチャートである。
【0048】
次に、上記方法を用いてロボットAとワークBに主従関係がすでに設定されている場合に主従関係を解除する例を説明する。図10に示すように、ロボットAの仕様データのうち「掴む」という属性を無効にし、「放す」という属性を有効にすることにより、モデル抽出部3はロボットAとワークBの主従関係を解除する。なお、上記の「掴む」という属性と「放す」という属性は、個別の仕様データであるが、例えば「掴む」という属性がオン状態の時に「放す」という属性がオン状態にされると、自動的に「掴む」という属性がオフ状態にされるように、同時にオン状態またはオフ状態にならないような相互関係に設定されるものである。
【0049】
以上のように、この実施の形態5によれば、モデル抽出部3が行う主従関係を設定するモデルの抽出の判定を、所定の仕様データの動作属性のオン/オフを基に行うようにしたので、所定の仕様データの動作属性のオン/オフの設定および切り替えにより、モデルが主従関係を構築可能かどうかの設定および切り替えを状況に応じて動的に行って、現実世界での物体間の関係に近い動的なシミュレーションを行うことができる。
【0050】
実施の形態6.
前記実施の形態5においては、ワークBが仕様データとして「拘束可能」という属性を有している場合を示したが、例えばワークBに仕様データとして「拘束状態」という属性を持たせて、主従関係の従側に設定されて主側のモデルに拘束されている状態において仕様データとしての「拘束状態」という属性をオン状態にするようにしてもよい。
【0051】
この実施の形態6によれば、ワークBの「拘束状態」という属性がオン状態の時に例えば他のロボットDと接触状態になっても、ワークBは既に主従関係の従側に設定されているためにロボットDに従属しないようにすることができ、ワークBが2個以上の主に対して従属することがないようにすることができる。
【0052】
実施の形態7.
図11はこの発明の実施の形態7による運動連鎖模擬システムのモデル抽出部3のモデル抽出方法の説明図である。この実施の形態7は、前記実施の形態4に示した、モデルの接触状態と各モデルの仕様を用いて主従関係を設定するモデルを抽出する方法の他の一例を示したものである。
【0053】
図11においては、電磁石Aと、磁性体によるワークBとが、主従関係を構築するモデルとして抽出される。現実世界において電磁石と磁性体が接触状態に入るタイミングは必ずしも幾何的な接触時に起こるとは限らず、磁気力によって磁性体が電磁石に引き寄せられる場合があるが、この実施の形態7はこのような場合を想定して主従関係を設定すべきモデルの抽出を行うものである。
【0054】
次に動作について説明する。
電磁石Aのエンド・エフェクタに設置されたA固有の座標系を原点として、あらかじめ設定した範囲が概略モデルAsとして構築され、同様にワークBに設置されたワークB固有の座標系を原点としてあらかじめ設定した範囲が概略モデルBsとして構築される。
【0055】
ここで各々のモデル、電磁石A,磁性体のワークBは各々、そのモデル内部にいくつかの仕様データを有している。いくつかの仕様データのうち、ある仕様データとして電磁石Aが「電流ON」および「把持力」という仕様データを有しており、ワークBはある仕様データとして「重量」という属性を有している。なお、電磁石Aの「電流ON」という仕様データは前記実施の形態5において示したオン/オフ切り替え可能な動作属性である。
【0056】
図11(1)に示すように、モデル抽出部3は電磁石AとワークBの概略モデルであるAsとBsが接触するまではAsとBsの接触を監視する。その後図11(2)に示すようにAsとBsが接触すると、モデル抽出部3はさらに電磁石Aの仕様データのうち前記の「電流ON」属性が有効であり、ワークBの仕様データのうち前記の「重量」が電磁石Aの「把持力」以下であるかを検査し、各仕様データがこの条件を満たしている場合に、電磁石AとワークBを主従関係を設定すべきモデルとして抽出する。
【0057】
また、電磁石Aの「電流ON」という属性が有効にされていない場合や、ワークBの「重量」が電磁石Aの「把持力」を超えている場合には、モデル抽出部3は電磁石AとワークBとの間に主従関係を設定するべきでないと判断し、電磁石AとワークBは抽出されない。
【0058】
以上のように、この実施の形態7によれば、電磁石AおよびワークBより大きな外形の概略モデルであるAsとBsとの接触時に、電磁石Aの「電流ON」,「把持力」およびワークBの「重量」の各仕様データを用いて、モデル抽出部3が主従関係設定の判断を行うようにしたため、電磁石AとワークBとが実際に接触する以前に働く遠隔的相互作用を表現したシミュレーションを行うことができる。
【0059】
実施の形態8.
図12はこの発明の実施の形態8による運動連鎖模擬システムの主従関係設定部4の主従関係設定方法の説明図である。この実施の形態8における主従関係設定部4は、モデルが他のモデルを従属させる力の強さを示す特性を表現する特性データを用いて、モデル抽出部3により抽出されたモデル間に主従関係を設定する。
【0060】
次に動作について説明する。
図12において、モデルAとモデルBは互いに主従関係を設定されるモデルとしてモデル抽出部3により抽出されたものであるとする。このとき、どちらが作用する主であって、どちらが作用される従になるかを決定する手段として、主従関係設定部4は各々のモデルの特性データを参照することにより、モデルAを主とし、モデルBを従と設定している。ここで、特性データとは、運搬能力,把持能力等の有無,程度等を示したデータであり、各モデルのモデルデータに含まれるものである。
【0061】
ここでは、各モデルの特性を表現する特性データの使用の一例として、他のモデルを従属させる力の強さの優先順位を数量的に表現したプライオリティを各モデルに対して設定し、主従関係設定部4がこのプライオリティにより主従関係を自動設定する例を説明する。なお以下において、プライオリティの比較に符号および記号を用いる事にする。例えば、モデルAのプライオリティをA0 、モデルBのプライオリティをB0 とすると、モデルAの方がモデルBよりも他のモデルを支配する力が強いとき、モデルAの方がモデルBよりもプライオリティが高く、この関係をA0 >B0 と表現することとする。
【0062】
このように主従関係を設定するモデルとして抽出されたモデルA,B間で、主従関係設定部4はプライオリティA0 ,B0 の比較を行い、相対的にプライオリティの高い方を主、低い方を従として自動設定する。図12において、A0 >B0 であるため、モデルAが主,モデルBが従に設定される。
【0063】
以上のように、この実施の形態8によれば、主従関係設定部4において、モデルが他のモデルを従属させる力の強さを示す特性を基にモデル間に主従関係を設定するため、従来のシミュレーション・システムにおいて追従動作を行わせるために必要であったモデル間の主従関係や拘束関係のプログラミングを逐一必要とせず、他のモデルを従属させる力の強さを基に適切な主従関係を設定して追従動作を行わせることができる。
【0064】
また、主従関係や拘束関係のプログラミングが逐一必要なくなるため、現実世界における物体の動きと同様にモデル間の動作のみに注意を注いだ直感的な操作が可能となり、この直感的な操作によりシミュレーション環境の作成に要する時間を短縮し、人的ミスを削減することができる。
【0065】
さらに、各モデルの特性を表現する手段としてプライオリティを用いているため、追従動作させる際にどちらが他のモデルを従えるモデルで、どちらが従うモデルなのかを逐一設定する必要がなくなり、シミュレーション環境の作成に要する時間を短縮し、人的ミスを削減することができる。
【0066】
実施の形態9.
図13はこの発明の実施の形態9による運動連鎖模擬システムの主従関係設定部4の主従関係設定方法の説明図である。この実施の形態9における主従関係設定部4は、プライオリティを用いてモデル間の主従関係の変更を自動的に行う。
【0067】
次に動作について説明する。
図13(1)に示すようにモデル空間内でコンベアAがワークBを乗せている状態を初期状態とする。この状態ではコンベアAのプライオリティA0 がワークBのプライオリティB0 よりも高く(A0 >B0 )、コンベアAが主、ワークBが従に設定されている。図13(2)に示すように、このモデル空間にコンベアAのプライオリティA0 より高いプライオリティC0 を持つロボットCが存在し、ロボットCの「掴む」属性が有効になっており、ロボットCとワークBが接触状態に入ると、モデル抽出部3はロボットCとワークBを主従関係を設定すべきモデルとして抽出し、この抽出結果を主従関係設定部4に渡す。主従関係設定部4は、ワークBがコンベアAに従属しているため、現在ワークBの主であるコンベアAとこれからワークBと主従関係を設定されるべきモデルとして抽出されたロボットCのプライオリティを比較する。比較の結果がC0 >A0 であるため、主従関係設定部4によりワークBの主がロボットAに変更される。この結果、図13(3)に示すように以降ワークBはコンベアAの動作には従わず、ロボットAの動作に従う。
【0068】
図14はこの発明の運動連鎖模擬システムを操作するユーザーをモデル空間内で最も高いプライオリティを持つモデルとして存在させることにより、モデル空間の操作、モデルの操作等を行う方法を説明する説明図である。図14(1)はロボットAが主,ワークBが従となり主従関係を築いており、ロボットAのプライオリティをA0 ,ワークBのプライオリティをB0 ,A0 >B0 とする初期状態を示している。なお、矢印で示したユーザーUのプライオリティをU0 とする。ユーザーUのプライオリティU0 は、どのようなモデルがユーザーUの存在するモデル空間中にあろうとも自動的にそのモデル空間内の最も高いプライオリティを持つモデルのプライオリティより高く設定される。この例の場合はA0 >B0 であるため、U0 >A0 >B0 のように設定される。
【0069】
次に動作について説明する。
主従関係設定部4は、プライオリティの最も高いユーザーUを開始点として幾何的なつながりがなくなるロボットAまで順に、主−従,主−従となるように主従関係を設定する。この際には各モデルのプライオリティ比較による主従関係の設定は行われない。これにより、ユーザーUにワークBが従属し、ワークBにロボットAが従属することとなり、図14(2)に示すようにユーザーの意図したとおりにワークBを把持したロボットAを動作させることができる。
【0070】
以上のように、この実施の形態9によれば、主従関係設定部4においてプライオリティを基にモデル間の主従関係の変更を自動的に行うようにしたため、拘束関係や主従関係の変更に関するプログラムや、主従関係を変更するモデルを逐一選択する必要がなくなり、シミュレーション環境を作成するのに要する時間を短縮し、人的ミスを削減することができる。
【0071】
実施の形態10.
図15はこの発明の実施の形態10による運動連鎖模擬システムの主従関係設定部4の主従関係設定方法の説明図である。この実施の形態10における主従関係設定部4は、モデルの動作中に、モデルのプライオリティを所定の規則に従って変更し、モデル間の主従関係を自動的に調整する。
【0072】
次に動作について説明する。
図15(1)に示すように初期状態においてモデルA,B間に主従関係が設定されており、モデルA,Bの存在するモデル空間内に別のモデルCが存在している。ここで、モデルAのプライオリティをA0 ,モデルBのプライオリティをB0 ,モデルCのプライオリティをC0 とし、A0 =C0 >B0 とする。
【0073】
この状況において、次に図15(2)に示すように、既にモデルAとの主従関係が構築されているモデルBに対して新たにモデルCが接触状態に入り、モデル抽出部3がモデルBとモデルCを主従関係を設定すべきモデルとして抽出する。次に、主従関係設定部は、抽出されたモデルBが既に主従関係を構築しているモデルAを抽出し、モデルAのプライオリティA0 とこれからモデルBが主従関係を構築しうるモデルCのプライオリティC0 とを比較する。比較の結果、A0 =C0 であるため、モデルBはモデルA,モデルCのどちらにも従属しうる。
【0074】
この時、主従関係設定部4は、所定の規則に従ってプライオリティを自動変更して、主従関係を一意に決定する。例えば、図15のような状況において、モデルBとの主従関係を設定すべきモデルとして後で抽出されたモデルCのプライオリティをB0 よりも下げるという規則を用いれば、A0 >B0 >C0 として、先にモデルBと主従関係を築いていたモデルAを優先し、モデルCをモデルBに従属させることができる。3つのモデル全体としては、モデルAにモデルBが従属し、モデルAに従属するモデルBにモデルCが従属する結果となる。
【0075】
図16は所定の規則に従ってプライオリティを自動変更することにより、主従関係を設定する処理の一例を示すフローチャートである。ステップST21からステップST23において、主従関係が構築されているモデル群M中で最高のプライオリティを持つモデルSのプライオリティをS0 ,新たに主従関係に追加されるモデルNのプライオリティをN0 ,モデルNと主従関係となりうるモデル群M中のモデルOのプライオリティをO0 とし、ステップST24においてN0 とO0 を比較し、N0 <O0 であればプライオリティを変更せずにそのままNがOに従属するように主従関係を設定する(ステップST25)。N0 <O0 でなければステップST26においてN0 とS0 を比較し、N0 <S0 であればN0 をO0 より小さくしてこの場合もNがOに従属するように主従関係を設定する(ステップST27)。
【0076】
ステップST26の比較においてN0 <S0 でない場合、ステップST28においてN0 =S0 であるかを判定し、N0 =S0 であればステップST29において所定の規則によりN0 をS0 より大きくまたは小さく変更し、ステップST26からの処理を行う。ステップST28においてN0 =S0 でない場合、つまりN0 >S0 である場合は、一番高いプライオリティを持つNから幾何的につながるモデルに対して順に主−従,主−従となるように主従関係を設定する。
【0077】
以上に一例として示した規則によるプライオリティの変更によれば、主従関係が構築されているモデル群M中で最高のプライオリティS0 を持つモデルSより高いプライオリティを持つモデルがモデル群M中のモデルOを介して新しく主従関係に追加される場合には、この追加されるモデルを最高の主として幾何的につながるモデルが順に従属するように設定し、最高のプライオリティS0 を持つモデルSより低いプライオリティを持つモデルが追加される場合には、このモデルがモデルOに従属するように設定し、また、最高のプライオリティS0 を持つモデルSと等しいプライオリティを持つモデルが追加される場合には、所定の規則により前記どちらかの設定を行うようにすることができる。
【0078】
以上のように、この実施の形態10によれば、主従関係設定部4が、モデルの動作中に、モデルのプライオリティを所定の規則に従って変更し、モデル間の主従関係を自動的に調整するようにしたため、複数のモデル間,様々な状況下においてモデル間の主従関係を柔軟に変更することを可能として、固定したプライオリティでは実現不可能な複雑な動作を行うシミュレーション環境を適切に構築することができる効果がある。
【0079】
実施の形態11.
図17はこの発明の実施の形態11による運動連鎖模擬システムの主従関係設定部4の主従関係設定方法の説明図である。この実施の形態11においては、時間的条件を用いたプライオリティ変更のための規則の他の一例を説明する。
【0080】
図17(1)に示すように、あるモデル空間内でロボットAがワークBを把持している状態を初期状態とする。ここで、ロボットAとワークBには主従関係が設定され、ワークBはロボットAに従属しており、ロボットAのプライオリティをA0 ,ワークBのプライオリティをB0 ,A0 >B0 とする。さらに図17(2)に示すように同モデル空間内にロボットAとは別のロボットCが存在しており、図17(3)に示すようにロボットCがワークBと接触状態に入るとモデル抽出部3がワークBとロボットCを主従関係を設定すべきモデルとして抽出する。
【0081】
次に主従関係設定部4は、抽出されたワークBが既に主従関係を構築しているロボットAを抽出し、ロボットAのA0 とこれからワークBが主従関係を構築しうるロボットCのC0 とを比較する。この例においては比較の結果がA0 =C0 であるとする。
【0082】
ここで、主従関係を一意に決定するために、「主従関係が構築されているモデル群M中のモデルOと新たにあるモデルNが接触状態に入ったとき、モデルNのプライオリティN0 がモデル群M中のモデルのうち最もプライオリティの高いモデルSのプライオリティS0 と同じである場合は、N0 をそのS0 よりも高く設定する。」というプライオリティ変更のための規則を採用すると、図17の場合C0 >A0 となるように自動設定することができる。
【0083】
主従関係設定部4は、さらにこの後、例えば、モデルNを検索開始点として、幾何的なつながりがなくなるモデルPまで各モデルの接触相手データの検索によりモデルの幾何的なつながりを追跡し、図18に示すようにモデルNからモデルPまで順に、主−従,主−従となるように主従関係を設定する。この際には各モデルのプライオリティ比較による主従関係の設定は行われない。
【0084】
図17の場合には、図17(4)に示すように、ロボットC(主)→ワークB(従)の主従関係、ワークB(主)→ロボットA(従)の主従関係となり、後でワークBと主従関係を築いたロボットCを優先し、ワークBをロボットCに従属させることができる。3つのモデル全体としては、ロボットCにワークBが従属し、ロボットCに従属するワークBにロボットAが従属する結果となる。
【0085】
実施の形態12.
図19はこの発明の実施の形態12による運動連鎖模擬システムの主従関係設定部4の主従関係設定方法の説明図である。この実施の形態12においては、時間的条件を用いたプライオリティ変更のための規則の他の一例を説明する。
【0086】
図19(1)に示すように、あるモデル空間内でロボットAがワークBを把持している状態を初期状態とする。ここで、ロボットAとワークBには主従関係が設定され、ワークBはロボットAに従属しており、ロボットAのプライオリティをA0 ,ワークBのプライオリティをB0 ,A0 >B0 とする。同モデル空間内にはワークBとは別のワークCが存在しており、図19(2)に示すようにワークCがワークBと接触状態に入るとモデル抽出部3がワークBとワークCを主従関係を設定すべきモデルとして抽出する。
【0087】
次に主従関係設定部は、抽出されたワークBのB0 とこれからワークBが主従関係を構築しうるワークCのC0 とを比較する。この例においては比較の結果がB0 =C0 であるとする。
【0088】
ここで、主従関係を一意に決定するために、「主従関係が構築されているモデル群M中のモデルOと新たにあるモデルNが接触状態に入ったとき、モデルNのプライオリティN0 が、モデル群M中の最高のプライオリティを持つモデルより高くない場合、モデルNのプライオリティN0 をモデル群M中の最低のプライオリティを持つモデルより低く設定する。」というプライオリティ変更のための規則を採用すると、図19の場合B0 >C0 となるように自動設定することができる。主従関係設定部4はさらにこの後、モデルNを検索開始点として、幾何的なつながりがなくなるモデルPまで各モデルの接触相手データを検索する事によりモデルの幾何的なつながりを追跡し、モデルPまでに存在する2つずつのモデル間で主−従または従−主のどちらか一方のみとなるように主従関係を設定していく。この際には各モデルのプライオリティ比較による主従関係の設定は行われない。
【0089】
図19の場合には、ワークC(従)→ワークB(主)の主従関係,ワークB(従)→ロボットA(主)の主従関係の順序で主従関係の設定が行われ、3つのモデル全体としては、ロボットAにワークBが従属し、ロボットAに従属するワークBにワークCが従属する結果となる。
【0090】
実施の形態13.
実施の形態13においては、プライオリティを変更する規則の別の例として力学的条件を採用する例を説明する。ここでいう力学的条件とは、例えば出力機構を持つ物体のモデルなら仕様書にある最大出力等の大小比較等を指している。前記の図17のようなモデル間の状況を例に、力学的条件を採用したプライオリティの変更を説明する。
【0091】
図17(1)に示すように、あるモデル空間内でロボットAがワークBを把持している状態を初期状態とする。ここで、ロボットAとワークBには主従関係が設定され、ワークBはロボットAに従属し、ロボットAのプライオリティをA0 ,ワークBのプライオリティをB0 ,A0 >B0 ,ロボットAの出力値をAF とする。同モデル空間内にロボットAとは別のロボットCが存在しており、図17(2)の様にAF よりも大きい出力値CF を持つロボットCがワークBと接触状態に入るとモデル抽出部3がワークBとロボットCを主従関係を設定すべきモデルとして抽出する。
【0092】
次に、主従関係設定部4は、抽出されたワークBが既に主従関係を構築しているロボットAを抽出し、ロボットAのA0 とこれからワークBが主従関係を構築しうるロボットCのC0 とを比較する。比較の結果A0 =C0 となるので、主従関係を一意に決定するために、「主従関係が構築されているモデル群M中のモデルOと新たにある出力機構を持つモデルNが接触状態に入ったとき、モデルNのプライオリティN0 がモデル群M中の最もプライオリティの高いモデルSのプライオリティS0 と同じである場合は、モデルNの出力値NF とモデルSの出力値SF とを比較して、モデルNの出力値NF の方が大きければ、モデルNのプライオリティN0 をS0 より高く設定する。」というプライオリティ変更のための規則を採用すると、図17の場合には、CF >AF であるためC0 >A0 となるように自動的に変更することができる。さらにこの後、モデルNを検索開始点として、幾何的なつながりがなくなるモデルPまで各モデルの接触相手データを検索する事によりモデルの幾何的なつながりを追跡して主従関係を設定する。この際には各モデルのプライオリティ比較による主従関係の設定は行われない。以上により、出力値がロボットAより大きなロボットCを優先し、ワークBをロボットCに従属させることができる。3つのモデル全体としては、ロボットCにワークBが従属し、ロボットCに従属するワークBにロボットAが従属する結果となる。
【0093】
プライオリティを設定する場合、例えば、コンベアにはプライオリティ2,ロボットにはプライオリティ4,クレーンにはプライオリティ6というように、同一装置のモデルに対して同一のプライオリティを設定するケースが多い。この場合上記のような規則を採用することにより、主従関係が構築されているモデル群M中で最高のプライオリティを持つものが例えばロボットであり、新たにクレーンが接触状態に入った場合にはこのクレーンを主に設定し、新たにコンベアが接触状態に入った場合には、前記ロボットを主に設定し、新たにロボットが接触状態に入った場合には、モデル群M中で最高のプライオリティを持つロボットと新たに接触状態に入ったロボットとの内で出力値の大きなロボットの方を主に設定することができ、例えば同一装置のためプライオリティが同じで主の決定ができない場合でも、出力値の比較によりプライオリティを自動的に変更して主の決定を行うことができる。
【0094】
実施の形態14.
図20はこの発明の実施の形態14による運動連鎖模擬システム構成を示すブロック図であり、図において、11は規則データメモリ、12は規則選択部、13は入力部である。なお、図1に示した部分と同一または相当の部分については同一符号を付して重複説明を省略する。この実施の形態14は主従関係設定部がモデルのプライオリティを変更する際に利用する規則を、シミュレーションの状態に応じて変更可能としたものである。
【0095】
次に動作について説明する。
プライオリティを変更するいくつかの規則が規則データメモリ11に格納されており、どの規則を利用するかが規則選択部12に設定されており、通常は、主従関係設定部4がその設定されている規則を利用してプライオリティを変更して主従関係を設定する。
【0096】
現在利用している規則がユーザーの意図に沿わない場合等に、どの規則を利用するかの設定を変更するために、ユーザーは入力部13より変更を指示し、規則選択部12において異なる規則が選択される。
【0097】
以上のように、この実施の形態14によれば、主従関係設定部4がモデルのプライオリティを変更する際に利用する規則を、シミュレーションの状態に応じて変更可能に構成したので、現実世界における様々な作業ルールに対応したシミュレーションを行うことができる。
【0098】
実施の形態15.
図21はこの発明の実施の形態15による運動連鎖模擬システムの追従動作処理部5の追従動作処理方法の説明図である。この実施の形態15における追従動作処理部5は、主従関係が設定されたモデルをその主従関係で結ばれるグループに自動的にまとめることにより追従動作を行わせる。
【0099】
次に動作について説明する。
図22は、この実施の形態15における追従動作処理部5がモデルをグループ化する方法の一例を示す説明図である。2次元のワールド座標系ΣW中に3つの座標系Σ0,Σ1,Σ2があり、それぞれの座標系には図22(1)に示すような親子関係があるとする。つまり、座標系ΣWの中に座標系Σ0があり、座標系Σ0の中に座標系Σ1があり、座標系Σ1の中に座標系Σ2がある。そのため、図21(1)から図21(2)に示すように座標系ΣWの中で座標系Σ0を移動すると座標系Σ1と座標系Σ2も移動し、図21(2)から図21(3)に示すように座標系Σ0の中で座標系Σ1を移動すると座標系Σ2も移動し、図21(3)から図21(4)に示すように座標系Σ1の中で座標系Σ2を移動すると座標系Σ2のみが移動する。なお、座標系に親子関係をつけることは、座標系間の座標変換マトリクスを求め、この座標変換マトリクスを以降常時使用することに対応する。
【0100】
例えば図22(2)に示すように2つのモデルA,Bをワールド座標系ΣWの中で互いに独立の座標系Σm,Σnにおいて作成しており、座標系ΣnのモデルAに座標系ΣmのモデルBを従属させようとする場合には、座標系の親子関係を図22(3)に示すようにすることにより、座標系Σnを移動すると座標系Σmが移動し、モデルAを移動するとモデルBがモデルAに追従して移動するようにすることができる。
【0101】
以上のように、この実施の形態15によれば、主側のモデルに対して動作命令を出すのみにより従側のモデルを自動的に追従動作させることができ、必要なモデルデータを持つモデルがあれば、特別に追従動作を指示するプログラムを作成することなく追従動作を実行することができる。
【0102】
実施の形態16.
図23はこの発明の実施の形態16による運動連鎖模擬システムの追従動作処理部5の追従動作処理方法の説明図である。この実施の形態16における追従動作処理部5は、主従関係が設定された主側のモデルの配置位置を所定時間間隔毎に監視し、主側のモデルから見た従側のモデルの相対的配置位置が、主従関係が設定された時点の初期配置位置と等しくなるように従側のモデルの配置位置を移動させることにより追従動作を行わせる。
【0103】
次に動作について説明する。
この実施の形態16における追従動作処理部5の追従動作処理方法は、一例として以下のようにして実行することができる。まず、主従関係が設定された時点で、図23(1)に示すように主側のモデルの座標系Σnのワールド座標系ΣW中の配置位置から従側のモデルの座標系Σmのワールド座標系ΣW中の配置位置を求める座標変換マトリクスを求める。
【0104】
そして、主側のモデルの座標系Σnの配置位置を所定時間間隔毎に監視し、前記座標変換マトリクスを用いて従側のモデルの座標系Σmの配置位置を前記所定時間間隔毎に求める。これにより、図23(2)に示すように主側のモデルの座標系Σnが移動した場合、図23(3)に示すように従側のモデルも一定間隔で追従するようにすることができる。
【0105】
この実施の形態16によれば、特別に追従動作を指示するプログラムを作成することなく追従動作を実行することができるとともに、主側のモデルの配置位置を監視する時間間隔を適宜長くすることにより処理負荷を軽減したり、主側のモデルと従側のモデルを動作させるプログラムを分散化することにより処理負荷を分散化したりすることができる。
【0106】
実施の形態17.
図24はこの発明の実施の形態17による運動連鎖模擬システムの追従動作処理部5の追従動作処理方法の説明図である。この実施の形態17における追従動作処理部5は、主側のモデルへの動作命令に対し、主側のモデルを動作させず、動作命令における主側のモデルの動作分だけ従側のモデルを動作させることができるものである。
【0107】
次に動作について説明する。
各々のモデルの仕様データの中に、動作タイプを示す仕様データを予め入力しておき、追従動作処理部5にこの動作タイプを参照してモデルの追従動作を行わせるようにすることができる。この動作タイプとはモデルの動きを表現したものであり、例えば、ロボットが移動する動作を「移動する」,ハンドで掴む動作を「掴む」,放す動作を「放す」,コンベアが物を載せて運ぶ動作を「運ぶ」等で表現したものである。
【0108】
図24に示したようにワークBがコンベアAに運ばれていく追従動作を行わせるような場合において、コンベアAの動作タイプとしての「運ぶ」に対応する追従動作処理部5の追従動作処理は、通常「コンベアAの荷台をy軸方向に動かし、コンベアAに従属するワークBがあればワークBを追従動作させる」ようなものであり、図24(2)に示すようにコンベアAの荷台がy軸方向に動くとともに前記実施の形態15,16と同様に座標変換マトリクスを用いた処理によりワークBが追従動作するが、「運ぶ」に対応する追従動作処理部5の追従動作処理を、「コンベアAの荷台自身は動かさず、コンベアAに従属するワークBがあればワークBのみをy軸方向に動かす」ように設定することもでき、この場合には、シミュレーションプログラムのプログラミングの際にコンベアAの荷台を動作させるような複雑な動作のプログラミングを行うことを必要とせずに、コンベアAとワークBの追従動作を実行することができ、シミュレーション環境を作成するのに要する時間を短縮し、人的ミスを削減することができるとともに、CPU等の処理負荷を低減することができる。
【0109】
【発明の効果】
以上のように、請求項1記載の発明によれば、模擬対象の物体の形状及び位置、向きに関するデータを、当該物体をモデル化するモデルデータとして格納するモデルデータメモリと、前記物体について模擬させるべき動作を規定する動作命令に従って前記モデルデータを逐次更新し、前記物体の運動を模擬させる動作命令指示部と、前記動作命令指示部がモデルデータを更新するたびに、互いの距離が一定値以下となる物体のモデルを検索し、検索結果として得られたモデルを、作用するものと作用されるものとの主従関係を設定すべきモデルであると判定して、それらのモデルデータを抽出するモデル抽出部と、前記モデル抽出部が抽出したモデルデータに対応する物体のモデル間の関係に基づいて各モデルの主及び従を設定する主従関係設定部と、前記主従関係設定部が主従関係を設定した各モデルのモデルデータ及びこれらモデルについて前記動作命令指示部により設定された動作命令に基づいて、前記各モデルの主従関係に従った追従動作を模擬する追従動作処理部とを備えるように構成したので、シミュレーションを行っているモデルの中から主従関係を設定すべきモデルを自動的に抽出し、抽出されたモデル間のどちらのモデルを主および従にするかをモデル間の関係を基にして自動的に設定し、主従関係の設定されたモデルを主従関係に従って動作させることができるため、人手により逐一各モデルに対して主従関係の設定をプログラミングする必要なく主従関係に従って運動するモデルの運動連鎖を模擬することが可能となり、物体の追従動作を表現するシミュレーション・システムを迅速に構築することができる効果がある。
【0112】
請求項2記載の発明によれば、モデルデータメモリが、模擬対象の物体の形状及び位置、向きに関するデータを、当該物体をモデル化するモデルデータとして格納すると共に、前記物体の機能及びその性能を特定する仕様データを格納し、モデル抽出部は、互いの距離が一定値以下にあり、前記仕様データに基づいて関連する属性を有すると判断された物体のモデルを、主従関係を設定すべきモデルであると判定して、これらのモデルデータを抽出するように構成したので、機能や性能等の仕様により結果の異なる物理現象を模擬することができ、より現実世界での物体間の関係に近いシミュレーションを行うことができる効果がある。
【0113】
請求項3記載の発明によれば、モデルデータメモリが、模擬対象の物体の形状及び位置、向きに関するデータを、当該物体をモデル化するモデルデータとして格納すると共に、前記物体の機能及びその性能を特定するデータであって、動作命令指示部からの動作命令に付随した命令によって機能及び性能の有効又は無効が設定される仕様データを格納し、モデル抽出部は、互いの距離が一定値以下にあり、前記動作命令指示部からの付随命令によって有効に設定された仕様データに基づいて関連する動作属性を有すると判断された物体のモデルを、主従関係を設定すべきモデルであると判定して、それらのモデルデータを抽出するように構成したので、所定の仕様データの動作属性のオン/オフの設定および切り替えにより、モデルが主従関係を構築可能かどうかの設定および切り替えを状況に応じて動的に行って、現実世界での物体間の関係に近い動的なシミュレーションを行うことができる効果がある。
【0114】
請求項4記載の発明によれば、モデルデータメモリが、模擬対象の物体の形状及び位置、向きに関するデータを、当該物体をモデル化するモデルデータとして格納すると共に、前記物体の機能及びその性能に基づいて当該物体のモデルが他の物体のモデルを従属させる力の強さを指定する特性データを格納し、主従関係設定部は、モデル抽出部によって抽出されたモデルデータに対応する物体のモデル間の関係として前記特性データに基づいて各モデルの主及び従を設定するように構成したので、従来のシミュレーション・システムにおいて追従動作を行わせるために必要であったモデル間の主従関係や拘束関係のプログラミングを逐一必要とせず、他のモデルを従属させる力の強さを基に適切な主従関係を設定して追従動作を行わせることができる効果がある。また、主従関係や拘束関係のプログラミングが逐一必要なくなるため、現実世界における物体の動きと同様にモデル間の動作のみに注意を注いだ直感的な操作が可能となり、この直感的な操作によりシミュレーション環境を作成するのに要する時間を短縮し、人的ミスを削減することができる効果がある。
【0115】
請求項5記載の発明によれば、モデルデータメモリが、特性データとして模擬対象の物体のモデルが他の物体のモデルを従属させる優先順位を数値で表現したプライオリティを格納し、主従関係設定部は、モデル抽出部によって抽出されたモデルデータに対応する物体のモデル間の関係としてプライオリティに基づいて各モデルの主及び従を設定するように構成したので、追従動作させる際にどちらが他のモデルを従えるモデルで、どちらが従うモデルなのかを逐一設定する必要がなくなり、シミュレーション環境の作成に要する時間を短縮し、人的ミスを削減することができる効果がある。
【0116】
請求項6記載の発明によれば、主従関係設定部が、モデル抽出部によって追従動作処理部が追従動作を模擬している物体のモデルについて主従関係を設定すべきモデルが検索されると、それらのプライオリティに基づいて、前記追従動作が模擬されている前記モデルとの主従関係における主及び従の設定を変更するように構成したので、拘束関係や主従関係の変更に関するプログラムや、逐次変化する複数のモデル間の主従関係の変更を逐一指示する必要がなくなり、シミュレーション環境の作成に要する時間を短縮し、人的ミスを削減することができる効果がある。
【0117】
請求項7記載の発明によれば、プライオリティの大小関係を規定する規則が予め設定されており、主従関係設定部が、追従動作処理部によって追従動作が模擬されている物体のモデルについて主従関係を設定すべきモデルが検索された場合、前記規則に基づいて前記各モデルのプライオリティを変更してその主従関係における主及び従を設定するように構成したので、モデル間の主従関係を柔軟に変更することを可能とし、固定したプライオリティでは実現不可能な複雑な動作を行うシミュレーション環境を構築することができる効果がある。
【0119】
請求項8記載の発明によれば、プライオリティの大小関係を規定する異なる複数の規則を格納する規則データメモリと、前記規則データメモリに格納される複数の規則のうち、物体の運動の模擬状態に応じて主従関係設定部に設定すべき規則を選択する規則選択部とを備え、前記主従関係設定部は、前記規則選択部によって前記物体の運動の模擬状態に応じて選択された規則に基づいてプライオリティを変更するように構成したので、現実世界における様々な作業ルールに対応したシミュレーションを行うことができる効果がある。
【0120】
請求項9記載の発明によれば、追従動作処理部が、主従関係が設定された物体のモデルをその主従関係で結ばれるグループにまとめて追従動作を模擬するように構成したので、主側のモデルに対して動作命令を出すのみにより従側のモデルを自動的に追従動作させることができ、必要なモデルデータを持つモデルがあれば、特別に追従動作を指示するプログラムを作成することなく追従動作を実行することができる効果がある。
【0121】
請求項10記載の発明によれば、追従動作処理部が、主側のモデルの配置位置を所定時間間隔毎に監視し、前記主側のモデルから見た従側のモデルの相対的配置位置が、主従関係が設定された時点の初期配置位置と等しくなるように前記従側のモデルの配置位置を移動させることにより追従動作を模擬するように構成したので、特別に追従動作を指示するプログラムを作成することなく追従動作を実行することができる効果があるとともに、主側のモデルの配置位置を監視する時間間隔を適宜長くすることによる処理負荷の軽減や、主側のモデルと従側のモデルを動作させるプログラムの分散化による処理負荷の分散化を行うことができる効果がある。
【0122】
請求項11記載の発明によれば、追従動作処理部が、主側のモデルについての動作命令に対し、前記主側のモデルを動作させず、前記動作命令にて規定される前記主側のモデルの動作分だけ従側のモデルを動作させるように構成したので、シミュレーションプログラムのプログラミングの際に例えばコンベアの荷台を動作させるような複雑な動作のプログラミングを行うことを必要とせずに、コンベアとワーク間の追従動作等の追従動作を実行することができ、シミュレーション環境を作成するのに要する時間を短縮し、人的ミスを削減することができるとともに、CPU等の処理負荷を低減することができる効果がある。
【図面の簡単な説明】
【図1】この発明の実施の形態1による運動連鎖模擬システムの基本構成を示すブロック図である。
【図2】この発明の実施の形態1による運動連鎖模擬システムの基本動作を示すフローチャートである。
【図3】この発明の実施の形態2による運動連鎖模擬システムのモデル抽出部の動作を説明する概念図である。
【図4】図4はこの発明の実施の形態3による運動連鎖模擬システムのモデル抽出部の動作を説明する概念図である。
【図5】実施の形態3におけるモデルの接触状態を利用して主従関係を設定するモデルを抽出する具体的方法を示すフローチャートである。
【図6】図5の抽出方法の説明図である。
【図7】この発明の実施の形態4による運動連鎖模擬システムのモデル抽出部の動作を説明する概念図である。
【図8】この発明の実施の形態5による運動連鎖模擬システムのモデル抽出部のモデル抽出方法の説明図である。
【図9】実施の形態5のモデル抽出部のモデル抽出動作を示すフローチャートである。
【図10】動作属性のオン/オフによるロボットとワークの主従関係の解除を示す図である。
【図11】この発明の実施の形態7による運動連鎖模擬システムのモデル抽出部のモデル抽出方法の説明図である。
【図12】この発明の実施の形態8による運動連鎖模擬システムの主従関係設定部の主従関係設定方法の説明図である。
【図13】この発明の実施の形態9による運動連鎖模擬システムの主従関係設定部の主従関係設定方法の説明図である。
【図14】ユーザーをモデル空間内で最も高いプライオリティを持つモデルとして存在させることにより、モデル空間の操作、モデルの操作等を行う方法を説明する説明図である。
【図15】この発明の実施の形態10による運動連鎖模擬システムの主従関係設定部の主従関係設定方法の説明図である。
【図16】所定の規則に従ってプライオリティを自動変更することにより、主従関係を設定する処理の一例を示すフローチャートである。
【図17】この発明の実施の形態11による運動連鎖模擬システムの主従関係設定部の主従関係設定方法の説明図である。
【図18】実施の形態11の主従関係設定部のモデルの幾何的つながりを検索して主従関係を設定する方法の説明図である。
【図19】この発明の実施の形態12による運動連鎖模擬システムの主従関係設定部の主従関係設定方法の説明図である。
【図20】この発明の実施の形態14による運動連鎖模擬システムの基本構成を示すブロック図である。
【図21】この発明の実施の形態15による運動連鎖模擬システムの追従動作処理部の追従動作処理方法の説明図である。
【図22】実施の形態15における追従動作処理部5がモデルをグループ化する方法の一例を示す説明図である。
【図23】この発明の実施の形態16による運動連鎖模擬システムの追従動作処理部の追従動作処理方法の説明図である。
【図24】この発明の実施の形態17による運動連鎖模擬システムの追従動作処理部の追従動作処理方法の説明図である。
【符号の説明】
A,B,C,D,E,N,O,P モデル、3 モデル抽出部、4 主従関係設定部、5 追従動作処理部。
Claims (11)
- 模擬対象の物体の形状及び位置、向きに関するデータを、当該物体をモデル化するモデルデータとして格納するモデルデータメモリと、
前記物体について模擬させるべき動作を規定する動作命令に従って前記モデルデータを逐次更新し、前記物体の運動を模擬させる動作命令指示部と、
前記動作命令指示部がモデルデータを更新するたびに、互いの距離が一定値以下となる物体のモデルを検索し、検索結果として得られたモデルを、作用するものと作用されるものとの主従関係を設定すべきモデルであると判定して、それらのモデルデータを抽出するモデル抽出部と、
前記モデル抽出部が抽出したモデルデータに対応する物体のモデル間の関係に基づいて各モデルの主及び従を設定する主従関係設定部と、
前記主従関係設定部が主従関係を設定した各モデルのモデルデータ及びこれらモデルについて前記動作命令指示部により設定された動作命令に基づいて、前記各モデルの主従関係に従った追従動作を模擬する追従動作処理部と
を備えた運動連鎖模擬システム。 - モデルデータメモリは、模擬対象の物体の形状及び位置、向きに関するデータを、当該物体をモデル化するモデルデータとして格納すると共に、前記物体の機能及びその性能を特定する仕様データを格納し、
モデル抽出部は、互いの距離が一定値以下にあり、前記仕様データに基づいて関連する属性を有すると判断された物体のモデルを、主従関係を設定すべきモデルであると判定して、これらのモデルデータを抽出することを特徴とする請求項1記載の運動連鎖模擬システム。 - モデルデータメモリは、模擬対象の物体の形状及び位置、向きに関するデータを、当該物体をモデル化するモデルデータとして格納すると共に、前記物体の機能及びその性能を特定するデータであって、動作命令指示部からの動作命令に付随した命令によって機能及び性能の有効又は無効が設定される仕様データを格納し、
モデル抽出部は、互いの距離が一定値以下にあり、前記動作命令指示部からの付随命令によって有効に設定された仕様データに基づいて関連する動作属性を有すると判断された物体のモデルを、主従関係を設定すべきモデルであると判定して、これらのモデルデータを抽出することを特徴とする請求項1記載の運動連鎖模擬システム。 - モデルデータメモリは、模擬対象の物体の形状及び位置、向きに関するデータを、当該物体をモデル化するモデルデータとして格納すると共に、前記物体の機能及びその性能に基づいて当該物体のモデルが他の物体のモデルを従属させる力の強さを指定する特性データを格納し、
主従関係設定部は、モデル抽出部によって抽出されたモデルデータに対応する物体のモデル間の関係として前記特性データに基づいて各モデルの主及び従を設定することを特徴とする請求項1記載の運動連鎖模擬システム。 - モデルデータメモリは、特性データとして模擬対象の物体のモデルが他の物体のモデルを従属させる優先順位を数値で表現したプライオリティを格納し、
主従関係設定部は、モデル抽出部によって抽出されたモデルデータに対応する物体のモデル間の関係として前記プライオリティに基づいて各モデルの主及び従を設定することを特徴とする請求項4記載の運動連鎖模擬システム。 - 主従関係設定部は、モデル抽出部によって追従動作処理部が追従動作を模擬している物体のモデルについて主従関係を設定すべきモデルが検索されると、それらのプライオリティに基づいて、前記追従動作が模擬されている前記モデルとの主従関係における主及び従の設定を変更することを特徴とする請求項5記載の運動連鎖模擬システム。
- プライオリティの大小関係を規定する規則が予め設定されており、
主従関係設定部は、追従動作処理部によって追従動作が模擬されている物体のモデルについて主従関係を設定すべきモデルが検索された場合、前記規則に基づいて前記各モデルのプライオリティを変更してその主従関係における主及び従を設定することを特徴とする請求項5又は請求項6記載の運動連鎖模擬システム。 - プライオリティの大小関係を規定する異なる複数の規則を格納する規則データメモリと、
前記規則データメモリに格納される複数の規則のうち、物体の運動の模擬状態に応じて主従関係設定部に設定すべき規則を選択する規則選択部とを備え、
前記主従関係設定部は、前記規則選択部によって前記物体の運動の模擬状態に応じて選択された規則に基づいてプライオリティを変更することを特徴とする請求項5又は請求項6記載の運動連鎖模擬システム。 - 追従動作処理部は、主従関係が設定された物体のモデルをその主従関係で結ばれるグループにまとめて追従動作を模擬することを特徴とする請求項1記載の運動連鎖模擬システム。
- 追従動作処理部は、主側のモデルの配置位置を所定時間間隔毎に監視し、前記主側のモデルから見た従側のモデルの相対的配置位置が、主従関係が設定された時点の初期配置位置と等しくなるように前記従側のモデルの配置位置を移動させることにより追従動作を模擬することを特徴とする請求項1記載の運動連鎖模擬システム。
- 追従動作処理部は、主側のモデルについての動作命令に対し、前記主側のモデルを動作させず、前記動作命令にて規定される前記主側のモデルの動作分だけ従側のモデルを動作させることを特徴とする請求項10記載の運動連鎖模擬システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07076196A JP3568678B2 (ja) | 1996-03-26 | 1996-03-26 | 運動連鎖模擬システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07076196A JP3568678B2 (ja) | 1996-03-26 | 1996-03-26 | 運動連鎖模擬システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09258815A JPH09258815A (ja) | 1997-10-03 |
JP3568678B2 true JP3568678B2 (ja) | 2004-09-22 |
Family
ID=13440825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07076196A Expired - Fee Related JP3568678B2 (ja) | 1996-03-26 | 1996-03-26 | 運動連鎖模擬システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3568678B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6015282B2 (ja) * | 2012-09-21 | 2016-10-26 | オムロン株式会社 | シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム |
JP2016162205A (ja) * | 2015-03-02 | 2016-09-05 | ファナック株式会社 | 複数系統をグループ化することにより制御を一元管理できる制御装置 |
JP6458713B2 (ja) | 2015-11-18 | 2019-01-30 | オムロン株式会社 | シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム |
EP3330815B1 (en) | 2016-12-02 | 2019-02-06 | Omron Corporation | Simulator, simulation method, and simulation program |
-
1996
- 1996-03-26 JP JP07076196A patent/JP3568678B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09258815A (ja) | 1997-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12032366B2 (en) | Method and apparatus for simulating the machining on a machine tool using a self-learning system | |
US5526517A (en) | Concurrently operating design tools in an electronic computer aided design system | |
Yang et al. | Assembly operation process planning by mapping a virtual assembly simulation to real operation | |
EP3656513B1 (en) | Method and system for predicting a motion trajectory of a robot moving between a given pair of robotic locations | |
JP3568678B2 (ja) | 運動連鎖模擬システム | |
JP2023038338A (ja) | ロボット制御装置、ロボット制御方法、端末装置、端末制御方法、及びロボット制御システム | |
JP3636883B2 (ja) | シミュレーション装置,シミュレーション方法およびシミュレーションプログラムが記録されたコンピュータ読取可能な記録媒体 | |
US5490232A (en) | Computer-aided thought process simulation design system | |
Liu et al. | An augmented reality-assisted interaction approach using deep reinforcement learning and cloud-edge orchestration for user-friendly robot teaching | |
JPWO2019064919A1 (ja) | ロボット教示装置 | |
KR20170065405A (ko) | 원형 또는 폐곡선 형태의 도형을 이용한 반복적 루프 구조를 이용한 시인화와 조합 방식을 통한 그래픽스 기반 컴퓨터 언어 설계 및 사용자 인터페이스 장치 | |
Ramirez-Serrano et al. | A hybrid PC/PLC architecture for manufacturing-system control—theory and implementation | |
Ianni | A specification for human action representation | |
JP2004237364A (ja) | ロボットのティーチングデータの作成方法 | |
Valavanis et al. | Hardware and software for intelligent robotic systems | |
CN111158898B (zh) | 针对输变电工程场地布置标准化的bim数据处理方法及装置 | |
NAGAO et al. | Petri net based programming system for fms | |
JP2023003731A (ja) | 情報処理装置、情報処理方法、表示装置、表示方法、ロボットシステム、物品の製造方法、プログラム及び記録媒体 | |
JP2019114043A (ja) | ソフトウェア評価システム | |
KR100499997B1 (ko) | 플랜트 설계 및 관리 시스템에서의 간섭 관리 툴 | |
JP7099470B2 (ja) | ロボット教示装置 | |
JP7024795B2 (ja) | ロボット教示装置 | |
JP3854114B2 (ja) | シミュレーションシステム | |
Brunner et al. | The software design of a dynamic building model service | |
Sormaz et al. | Distributed integration of knowledge-based process planning with CAM software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040518 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040616 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080625 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080625 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090625 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120625 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130625 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |