JP2022165170A - 情報処理装置、情報処理方法、制御プログラム、記録媒体、プログラム生成方法、物品の製造方法 - Google Patents
情報処理装置、情報処理方法、制御プログラム、記録媒体、プログラム生成方法、物品の製造方法 Download PDFInfo
- Publication number
- JP2022165170A JP2022165170A JP2021070411A JP2021070411A JP2022165170A JP 2022165170 A JP2022165170 A JP 2022165170A JP 2021070411 A JP2021070411 A JP 2021070411A JP 2021070411 A JP2021070411 A JP 2021070411A JP 2022165170 A JP2022165170 A JP 2022165170A
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- processing method
- information
- element models
- collision determination
- 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.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 84
- 238000003672 processing method Methods 0.000 title claims description 39
- 238000000034 method Methods 0.000 title claims description 32
- 238000004519 manufacturing process Methods 0.000 title claims description 15
- 238000012545 processing Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 11
- 238000003860 storage Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000004088 simulation Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 240000004050 Pentaglottis sempervirens Species 0.000 description 1
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】仮想空間でロボット等の装置モデルの動作をシミュレーションして干渉の有無を判定する際に、干渉判定を実行する要素モデルの組み合わせを、予め容易に設定することが困難であった。【解決手段】表示部と入力部と制御部とを備え、前記制御部は、前記表示部に、仮想空間上で取り扱われる要素モデルに係る情報を表示し、前記入力部から入力される情報と、所定の条件とに従って、前記仮想空間上で取り扱われる要素モデルの中から2つの要素モデルを選択し、前記2つの要素モデルどうしの干渉の有無を判定する、情報処理装置である。【選択図】図1
Description
本発明は、情報処理装置、情報処理方法等に関する。
生産装置等の分野では、その装置の設計を開始してから、その装置を実際に稼働させて実用するまでに要する期間(立ち上げリードタイム)の短縮が求められている。そのため、その生産装置等を実際に制作してから実機を用いてメカ機構の設計ミスや動作プログラムのバグ等を検証するのではなく、設計段階において仮想空間上で装置を動作させて設計ミスやバグを検証する方法が行われている。また、生産装置等を制作した後であっても、動作プログラムの変更や修正をする際には、実動作させる前にメカ機構の設計ミスや動作プログラムのバグ等を仮想空間上で検証する方法が行われることがある。
また、例えば組立・搬送・塗布といった動作をロボット装置に教示する際にも、仮想空間上でモデルを動作させて教示動作を検証することにより、教示作業における作業者の負担を軽減することが行われている。こうした種々の動作検証の中でも、動作させる装置と他の物体との間で干渉が生じないかや、動作させる装置の構成要素どうしが干渉しないかを仮想空間上で調べる、いわゆる干渉判定は有益性が高い。
ところで、例えば実際のロボット装置がリンク、アーム、ハンドなどの多数の要素から構成されていることからわかるように、仮想空間上で取り扱う装置や物体の仮想モデルは、それぞれが多数の要素モデルから構成されている。このため、前述した干渉判定を実施する際には、仮想装置や仮想物体を構成する要素モデルどうしが互いに干渉しないかを仮想空間上で調べてゆくことになる。しかし、多数の要素モデルで構成される複雑な仮想装置や仮想物体を取り扱う場合には、干渉判定をする要素モデルの組み合わせの数が大きくなり、シミュレーションに要する演算量や時間が膨大になる。
特許文献1には、明らかに衝突し得ない物体の組み合わせを、予めテーブル等に登録しておき、シミュレーションによる衝突判定を行う時には、登録された物体を判定対象から外すことにより、判定に要する時間を短縮する衝突判定装置が記載されている。
特許文献1に記載されたように、明らかに衝突(干渉)し得ない物体の組み合わせを予め判定対象から除外することができれば、シミュレーションに要する演算量や時間を短縮することが可能である。
しかしながら、特許文献1には、明らかに衝突(干渉)し得ない物体の組み合わせを予め登録する方法については詳細な検討がなく、表形式で示された組み合わせを判定物体テーブル記憶部に格納することが記載されている程度の開示に留まっている。
しかしながら、特許文献1には、明らかに衝突(干渉)し得ない物体の組み合わせを予め登録する方法については詳細な検討がなく、表形式で示された組み合わせを判定物体テーブル記憶部に格納することが記載されている程度の開示に留まっている。
仮想空間で取り扱う装置や物体の構造が複雑であったり、数が多い場合には、要素モデルどうしの多数の組み合わせの中で、干渉判定をする必要がない組み合わせを抽出して登録する作業が煩雑になり、作業者への負担が極めて大きくなってしまう。その結果、シミュレーションを開始する前の準備作業に時間と手間がかかり、設計、デバッグ、教示などにおいて干渉判定を活用する有用性が低減してしまうことになっていた。
本発明の第1の態様は、表示部と入力部と制御部とを備え、前記制御部は、前記表示部に、仮想空間上で取り扱われる要素モデルに係る情報を表示し、前記入力部から入力される情報と、所定の条件とに従って、前記仮想空間上で取り扱われる要素モデルの中から2つの要素モデルを選択し、前記2つの要素モデルどうしの干渉の有無を判定する、情報処理装置である。
また、本発明の第2の態様は、表示部と入力部と制御部とを備える情報処理装置を用いた情報処理方法であって、前記制御部は、前記表示部に、仮想空間上で取り扱われる要素モデルに係る情報を表示し、前記入力部から入力される情報と、所定の条件とに従って、前記仮想空間上で取り扱われる要素モデルの中から2つの要素モデルを選択し、前記2つの要素モデルどうしの干渉の有無を判定する、情報処理方法である。
本発明によれば、仮想空間でロボット等の装置モデルの動作をシミュレーションして干渉の有無を判定する際に、干渉判定を実行する要素モデルの組み合わせを、容易に設定することができる。
図面を参照して、本発明の実施形態である情報処理装置、情報処理方法、等について説明する。以下に示す実施形態はあくまでも例示であり、本発明の趣旨を逸脱しない範囲において当業者が適宜変更できる。
尚、以下の実施形態の説明において参照する図面では、特に但し書きがない限り、同一の参照番号を付して示す要素は、同様の機能を有するものとする。
尚、以下の実施形態の説明において参照する図面では、特に但し書きがない限り、同一の参照番号を付して示す要素は、同様の機能を有するものとする。
(情報処理装置の構成)
実施形態に係る情報処理装置の構成を説明する。図5は、本実施形態に係る情報処理装置1の構成を示すブロック図である。情報処理装置1は、CPU10、ROM11、RAM12、HDD13、ディスクドライブ14、インターフェース15、16、17、及びバス18を備え、各要素はバス18を介して相互通信可能に接続されている。また、インターフェース15は入力装置19と、インターフェース16はディスプレイ20と、インターフェース17は書き換え可能な外部記憶装置21と接続されている。尚、入力装置19、ディスプレイ20、外部記憶装置21を、情報処理装置1の一部として取り扱ってもよい。
実施形態に係る情報処理装置の構成を説明する。図5は、本実施形態に係る情報処理装置1の構成を示すブロック図である。情報処理装置1は、CPU10、ROM11、RAM12、HDD13、ディスクドライブ14、インターフェース15、16、17、及びバス18を備え、各要素はバス18を介して相互通信可能に接続されている。また、インターフェース15は入力装置19と、インターフェース16はディスプレイ20と、インターフェース17は書き換え可能な外部記憶装置21と接続されている。尚、入力装置19、ディスプレイ20、外部記憶装置21を、情報処理装置1の一部として取り扱ってもよい。
ROM11には、干渉判定に係る処理を実行するためのプログラムが格納されており、CPU10は、ROM11に格納されたプログラムを読み出して実行することができる。RAM12は、処理中のデータを一時的に格納しておく記憶領域である。HDD13は、モデル、シミュレーションプログラム、教示された動作に係る制御情報、あるいはそれらに関係する情報を記憶している。また、HDD13は、情報処理プログラムによる処理結果を記憶することができる。ディスクドライブ14は、記録媒体の一例である記録ディスクに記録されたデータを読み出すことができ、記録ディスクには、モデル、シミュレーションプログラム、あるいはそれらに関係する情報を書き込むことができる。
CPU10(制御部)は、インターフェース15を介して入力装置19(入力部)から入力される命令やデータを受け付けることができる。また、CPU10(制御部)は、インターフェース16を介してディスプレイ20(表示部)の画面に各種の情報を表示することができる。入力装置19には、例えばキーボード、ジョグダイアル、マウス、ポインティングデバイス、音声入力機などの入力デバイスが用いられ、ディスプレイ20には、例えば液晶ディスプレイや有機ELディスプレイなどの表示デバイスが用いられる。また、CPU10は、インターフェース17を介して、書き換え可能な外部記憶装置21に、モデル、シミュレーションプログラムあるいはそれらに関係する情報を格納したり読み出したりすることができる。
(情報処理方法)
次に、情報処理装置1により実行される情報処理方法、すなわち干渉判定を実行する要素モデルを設定し、設定された要素モデルの組み合わせについて干渉判定を実行する手順について説明する。尚、仮想空間中で取り扱う装置や物体は、多くの場合はそれぞれ複数の要素モデルから構成されているが、例えば単純な形状の物体のように単体のモデルで取り扱いが可能な場合もある。以下では、説明の便宜上、特に支障がない限り、こうした単体で取り扱いが可能なモデルについても、要素モデルという用語を用いて説明することとする。
次に、情報処理装置1により実行される情報処理方法、すなわち干渉判定を実行する要素モデルを設定し、設定された要素モデルの組み合わせについて干渉判定を実行する手順について説明する。尚、仮想空間中で取り扱う装置や物体は、多くの場合はそれぞれ複数の要素モデルから構成されているが、例えば単純な形状の物体のように単体のモデルで取り扱いが可能な場合もある。以下では、説明の便宜上、特に支障がない限り、こうした単体で取り扱いが可能なモデルについても、要素モデルという用語を用いて説明することとする。
図1に、本実施形態の情報処理方法を実施する際に、ディスプレイ20(図5)に表示されるGUI(グラフィカル・ユーザ・インターフェース)画面の一例を示す。GUI画面100には、要素モデル設定部30、モデル表示部40、モデル情報表示部50が含まれている。
要素モデル設定部30は、干渉判定を行う要素モデルを設定する際に、301、303、307等のユーザが操作可能なボタン(情報選択部)や、302、304、306等のユーザが編集可能な情報を表示する領域を含んで構成されている。
モデル表示部40は、仮想空間上で取り扱われる仮想装置や仮想物体を、3Dグラフィック表示する部分である。図1の例では、モデル表示部40には、要素モデル400~要素モデル407で構成されるロボット1、要素モデル410~要素モデル417で構成されるロボット2、ワーク421~ワーク424、架台420、等が俯瞰的に表示されている。
モデル情報表示部50は、要素モデルの接続関係や階層構造等を表示する部分である。図1の例では、モデル情報表示部50には、ロボット1に関するモデル情報500~507、ロボット2に関するモデル情報510~517、ワーク等に関するモデル情報520~524が表示されている。
本実施形態では、上記のGUI画面100を用いて、情報処理が実行される。
本実施形態では、上記のGUI画面100を用いて、情報処理が実行される。
図2は、本実施形態に係る情報処理方法の全体の手順を示すフローチャートである。情報処理が開始されると、ステップ1において、仮想空間中で取り扱う全要素モデルの中から、干渉判定を行う要素モデルを設定する。続いて、ステップ2において、ステップ1で設定された要素モデルについて、干渉が発生しないかを仮想空間上でシミュレーションし、干渉の有無を判定する。そして、ステップ3にて、判定結果を出力する。以下、ステップ1~ステップ3について、詳細に説明してゆく。
図3は、ステップ1の処理手順を詳細に説明するためのフローチャートである。ステップ1が開始されると、ステップ1-1にて、干渉判定グループ作成処理が実行される。
仮想空間上で取り扱う装置や物体の中には、例えば動作するロボット装置のように干渉発生の有無を確認する必要があるものと、例えば離間して配置された静止物体どうしのように干渉発生の有無を確認する必要が無いものが存在する。そこで、干渉判定が必要なものを選定する必要があるが、例えば要素モデル400~要素モデル407で構成されるロボット1を1つのグループとして取り扱えれば便利な場合がある。同様に、要素モデル410~要素モデル417で構成されるロボット2や、近接した位置に配置されたワーク421~ワーク424も、それぞれ1つのグループとして取り扱えれば便利な場合がある。
仮想空間上で取り扱う装置や物体の中には、例えば動作するロボット装置のように干渉発生の有無を確認する必要があるものと、例えば離間して配置された静止物体どうしのように干渉発生の有無を確認する必要が無いものが存在する。そこで、干渉判定が必要なものを選定する必要があるが、例えば要素モデル400~要素モデル407で構成されるロボット1を1つのグループとして取り扱えれば便利な場合がある。同様に、要素モデル410~要素モデル417で構成されるロボット2や、近接した位置に配置されたワーク421~ワーク424も、それぞれ1つのグループとして取り扱えれば便利な場合がある。
そこで、干渉判定を行う際に、1つのグループとして取り扱う要素モデル群を便宜的に干渉判定グループとして設定し、それぞれの干渉判定グループには作業者が識別するのに便利な任意の名称を設定する。尚、単独の物体であってもロボット装置の近傍に配置された物体などのように干渉判定が必要なものは、単体であっても1つの干渉判定グループとして扱う。
図6(a)~図6(b)を参照して、ステップ1-1の処理について説明する。処理が開始されると、図6(a)に示すように、CPU10は、GUI画面の要素モデル設定部30内に配置された新規作成ボタン301がオンされるのを受け付けることができる状態になる。作業者が入力装置19を介して新規作成ボタン301をオンする操作をすると、CPU10は、グループ名称設定部304に名称が入力されるのを受け付けることができる状態になる。作業者は、識別するのに便利な任意の名称を、入力装置19を介して干渉判定グループに付与することができる。干渉判定グループを複数生成する際に、他の干渉判定グループと重複しないユニークな名称を設定するため、すでに設定済の名称が再入力された場合には、作業者に警告を表示するようにしてもよい。また、作成した干渉判定グループを選択した状態で干渉判定グループ有効化チェックボックス305を操作することで、作成した干渉判定グループの有効、無効を切り替えることができる。図6(b)は、ROBOT1という名称の干渉判定グループの作成が終了し、有効な干渉判定グループとして干渉判定グループリスト表示部302に表示された状態を示している。尚、編集の都合等で、一旦作成した干渉判定グループを干渉判定グループリストから削除したい場合には、作業者は干渉判定グループ削除ボタン303をオンする操作をすればよい。
干渉判定グループの設定が完了すると、図3のステップ1-2に進み、CPU10は要素モデルの登録処理を実行する。すなわち、ステップ1-1で作成した干渉判定グループの各々について、CPU10は作業者による要素モデルの登録操作を受け付ける。
図7に模式的に示すように、作業者は、入力装置19を操作して、干渉判定グループリスト表示部302に表示されている干渉判定グループに登録しようとする要素モデルを、ノードリスト表示部306に入力する。具体的には、モデル表示部40またはモデル情報表示部50に表示された中から登録しようとする要素モデルを、例えばマウスを用いてノードリスト表示部306にドラッグアンドドロップすればよいように、CPU10の処理プログラムは構成されている。あるいは、登録しようとする要素モデルを作業者がキーボードによりノードリスト表示部306に入力できるようにCPU10の処理プログラムを構成してもよいし、他の入力方法を受け付けるようにCPU10の処理プログラムを構成してもよい。尚、作業者の一度の操作により、同時に複数の要素モデルを登録することもできるようにCPU10の処理プログラムを構成すれば便宜である。
図7に模式的に示すように、作業者は、入力装置19を操作して、干渉判定グループリスト表示部302に表示されている干渉判定グループに登録しようとする要素モデルを、ノードリスト表示部306に入力する。具体的には、モデル表示部40またはモデル情報表示部50に表示された中から登録しようとする要素モデルを、例えばマウスを用いてノードリスト表示部306にドラッグアンドドロップすればよいように、CPU10の処理プログラムは構成されている。あるいは、登録しようとする要素モデルを作業者がキーボードによりノードリスト表示部306に入力できるようにCPU10の処理プログラムを構成してもよいし、他の入力方法を受け付けるようにCPU10の処理プログラムを構成してもよい。尚、作業者の一度の操作により、同時に複数の要素モデルを登録することもできるようにCPU10の処理プログラムを構成すれば便宜である。
また、作業者の入力負荷を軽くするため、例えばロボット1やロボット2のように、モデル情報表示部50において要素モデルが連結して表示されている対象については、その一部を入力するだけで対象全体が一括して登録されるように構成してもよい。ロボット1のように、要素モデルが階層的に連結している場合には、例えば階層構造の最も基点に近い要素モデル(ROBOT1_J0)を入力した場合には、ロボット1全体を登録するように構成してもよい。一方、(ROBOT1_J0)のみを登録したい場合にも対応可能にするため、図8に示すようにダイアログボックス308(情報選択部)を表示し、当該要素モデルのみか、連結している要素モデル群全体かを作業者が選択できるように構成してもよい。この例では、作業者がダイアログボックス308の「1件登録」を選択した場合には、図8右上に示すように要素モデル(ROBOT1_J0)のみが登録される。また、作業者がダイアログボックス308の「子系列も登録」を選択した場合には、図8右下に示すように、(ROBOT1_J0)と連結した要素モデルが一括して登録される。
登録された要素モデルは、ノードリスト表示部306に表示される。また、ノードリスト表示部306に表示された要素モデルを選択した状態でノード削除ボタン307をオンする操作をすることにより、当該要素モデルを干渉判定グループから削除することができる。尚、登録する要素モデルと他の要素モデルとが混同されるのを防止するため、ユニークなモデル名称やモデルIDなど、識別性のある情報を各要素モデルに付与して登録するものとする。登録した情報は、例えばHDD13(図5)に記憶される。
以上により、ステップ1-2(図3)の要素モデル登録処理が完了する。
以上により、ステップ1-2(図3)の要素モデル登録処理が完了する。
次に、ステップ1-3にて、干渉チェックリストを生成または編集する処理を行う。ここで、干渉チェックリストとは、干渉判定を実行する要素モデルの組み合わせ(要素モデルペア)を列挙したリストである。CPU10は、ステップ1-2にて登録された干渉判定グループに関する情報を用いて、干渉チェックリストを自動的に生成あるいは編集する。干渉チェックリストを生成するための処理プログラムは、以下のアルゴリズムに準じて処理を実行できるように構成される。
まず、CPU10は、全ての干渉判定グループに含まれる要素モデルの中から任意の要素モデルを2つ選ぶ組み合わせの中で、所定の条件に合致する要素モデルペアだけを干渉チェックリストに登録する。以下、所定の条件について説明する。
第1の条件として、登録済の干渉判定グループの中から選ばれた2つの要素モデルの組み合わせでなければ、干渉チェックリストには登録され得ない。言い換えれば、仮想空間上で取り扱われる装置や物体を構成している要素モデルであっても、干渉判定グループに登録されていない要素モデルについては、その要素モデルを含む要素モデルペアは、干渉チェックリストには登録されない。
例えば、図9に示すように、仮想空間上で取り扱うモデルとして、干渉判定グループAとして登録されたロボット装置、干渉判定グループBとして登録されたロボット装置、干渉判定グループには登録されていない物体Cの各モデルが存在するとする。この場合には、干渉判定グループAまたは干渉判定グループBの中から選ばれた要素モデルを組み合わせた要素モデルペアでなければ干渉チェックリストには登録されず、物体Cを構成する要素モデルを含む要素モデルペアは登録され得ない。
第2の条件として、異なる干渉判定グループに含まれる要素モデルを組合わせた要素モデルペアでなければ、干渉チェックリストには登録され得ない。言い換えれば、同じ干渉判定グループに含まれる要素モデルどうしを組み合わせた要素モデルペアは、干渉チェックリストには登録されない。
例えば、図10の上段に示すように、ステップ1-2において、干渉判定グループAとして要素モデル1~要素モデル5を含むロボット1が登録され、干渉判定グループBとして要素モデル6~要素モデル10を含むロボット2が登録されているとする。この場合には、CPU10は、干渉判定グループAのノードリストと干渉判定グループBのノードリストに基づき、図10の下段に示すような干渉チェックリストを自動的に生成する。その際、干渉判定グループAに含まれる要素モデル1~要素モデル5だけを組合わせた要素モデルペアや、干渉判定グループBに含まれる要素モデル6~要素モデル10だけを組合わせた要素モデルペアは、干渉チェックリストには登録されない。
第3の条件として、異なる干渉判定グループに同じ要素モデルが共通して含まれている場合には、当該共通する要素モデルを含む要素モデルペアは、干渉チェックリストには登録されない。
例えば、図11(a)に示すように、干渉判定グループAとして、ロボットとそれを支持している架台が登録され、干渉判定グループBとして、ワークとそれを支持している架台が登録されているとする。この場合、干渉判定グループAと干渉判定グループBには、同一の架台が共通して含まれているが、この架台の要素モデルを含んだ要素モデルペアは、干渉チェックリストには登録されない。ロボットを構成する要素モデルと、ワークを構成する要素モデルと、を組合わせた要素モデルペアのみが干渉チェックリストに登録され得る。
尚、これらの条件により干渉判定の対象から除外される要素モデルが存在する場合には、作業者による確認作業の便宜のため、それをGUI画面100に示すのが望ましい。例えば、図11(b)に示すように、要素モデル設定部30に、除外要素モデルリスト309を表示するようにCPU10の処理プログラムを構成してもよい。
以上説明したように、ステップ1-3(図3)の処理を実行することにより、所定の条件に合致する組み合わせ(要素モデルペア)だけが干渉チェックリストに登録され、ステップ1(図2)の処理全体が終了する。
ステップ1の処理が終了すると、CPU10は、ステップ2(図2)、すなわち干渉判定処理を実行する。図4のフローチャートを参照して、ステップ2の処理内容を説明する。
ステップ2が開始されると、まずステップ2-1にて、CPU10は登録済の干渉チェックリストから、要素モデルペアを1つ読み出す(干渉チェックリスト参照処理)。
ステップ2が開始されると、まずステップ2-1にて、CPU10は登録済の干渉チェックリストから、要素モデルペアを1つ読み出す(干渉チェックリスト参照処理)。
次に、ステップ2-2に進み、ステップ2-1にて読み出された要素モデルペアを構成する各々の要素モデルが仮想空間上で占有する領域を検出する(占有領域検出処理)。例えば、要素モデルがロボットの一部を構成する部材であるなら、CPU10は、当該ロボットに教示された位置・姿勢の情報に基づき、その要素モデルの仮想空間上の位置・姿勢を算出する。そして、その要素モデルの形状に関する情報をHDD13(図5)から読み出し、算出した位置・姿勢に基づいてその要素モデルを仮想空間に配置し、当該要素モデルが占有する領域の座標を検出する。また、例えば要素モデルが架台上に載置されたワークであるなら、CPU10は、当該ワークの位置・姿勢の情報を取得するとともに、形状に関する情報をHDD13(図5)から読み出し、その要素モデルが占有する領域の座標を検出する。尚、要素モデルが仮想空間上で占有する領域を検出する手法は、前述した手法に限られるわけではなく、適宜の手法を用いることができる。
次に、ステップ2-3に進み、ステップ2-2にて検出された2つの要素モデルの各々が占有している領域に、互いに重複している部分が存在しないかを判定する(干渉判定処理)。領域の重複を検出する手法は、例えば仮想空間上における座標を比較するなど、種々の方法が知られているが、適宜の手法を選んで実施することができる。CPU10は、互いに重複している部分が存在する場合には「干渉あり」、存在しない場合には「干渉なし」と判定する。ステップ2-3の判定結果、すなわち干渉チェックリスト中の1つの要素モデルペアに関する干渉の有無は、例えばHDD13(図5)に記録される。
次に、ステップ2-4に進み、CPU10は、干渉チェックリストに登録された全ての要素モデルペアについての干渉判定が終了したか否かをチェックする。全ての要素モデルペアについての干渉判定が終了していない(ステップ2-4:NO)の場合には、CPU10は、ステップ2-1の処理に戻り、干渉チェックリストから判定未完了の要素モデルペアを読み出し、ステップ2-2以下の処理を実行する。全ての要素モデルペアについての干渉判定が終了した(ステップ2-4:YES)場合には、CPU10は、ステップ2の処理を終了する。
ステップ2の処理が終了したら、CPU10は、ステップ3の処理(図2)を実行する。すなわち、CPU10は、HDD13(図5)に記録された判定結果を読み出し、GUI画面100に表示する。
干渉チェックリスト中の全ての要素モデルペアについて、「干渉なし」と判定された場合には、例えばGUI画面100に「干渉なし」というメッセージを表示する。あるいは、モデル表示部40に表示されているモデルの中で、干渉判定を行った要素モデルペアに該当する部位を、「干渉なし」を表す色(例えばグリーン)に着色してグラフィック表示してもよい。あるいは、「干渉なし」というメッセージを音声合成で出力してもよい。
干渉チェックリスト中に、「干渉あり」と判定された要素モデルペアが存在する場合には、例えばGUI画面100に「干渉あり」というメッセージを表示する。あるいは、モデル表示部40に表示されているモデルの中で、干渉ありと判定された要素モデルペアに該当する部位を、「干渉あり」を表す色(例えばレッド)に着色してグラフィック表示してもよい。あるいは、「干渉あり」というメッセージを音声合成で出力してもよい。また、干渉判定グループリスト表示部302に表示された干渉判定グループ、および/またはノードリスト表示部306に表示された要素モデルのうち、「干渉あり」に該当するものを「干渉あり」を表す色(例えばレッド)に着色して示してもよい。
また、判定結果の出力方法は、GUI画面100に表示することには限られず、干渉判定結果をテキスト形式などのログデータという形で外部記憶装置21(図5)に記録したり、ネットワークを介して外部のコンピュータに出力してもよい。
本実施形態によれば、作業者は、干渉チェックの対象となる部分を設定する作業を、GUI画面100を用いて簡単に遂行することができる。その際、干渉チェック対象として設定しなかった要素モデルを、例えば図11(b)のようにGUI画面100に表示することで、作業者は干渉チェック対象に漏れがないかを容易に確認することができる。しかも、所定の条件に合致した要素モデルの組み合わせを干渉チェック対象として簡単に設定できるため、仮想空間上の全ての要素モデルの組み合わせを干渉チェック対象にする場合と比べて、干渉判定処理の演算負荷を大幅に低減できる。
[他の実施形態]
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。
例えば、実施形態では、干渉判定に係る処理を実行する制御プログラムが、コンピュータ読み取り可能な記録媒体であるROM11に格納される場合について説明したが、これに限定するものではない。制御プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、CPU10にプログラムを供給するための記録媒体として、HDD13や外部記憶装置21などのデバイスを用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、光ディスク、光磁気ディスク、磁気テープ、USBメモリ等の不揮発性メモリ、SSD等を用いることができる。
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。
例えば、実施形態では、干渉判定に係る処理を実行する制御プログラムが、コンピュータ読み取り可能な記録媒体であるROM11に格納される場合について説明したが、これに限定するものではない。制御プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、CPU10にプログラムを供給するための記録媒体として、HDD13や外部記憶装置21などのデバイスを用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、光ディスク、光磁気ディスク、磁気テープ、USBメモリ等の不揮発性メモリ、SSD等を用いることができる。
本発明の情報処理方法や情報処理装置は、生産設備をはじめ、産業用ロボット、サービス用ロボット、コンピュータによる数値制御で動作する加工機械、等の様々な機械や設備のソフト設計、デバッグ、教示等に適用することが可能である。例えば、制御装置に設けられる記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を自動的に行うことができる機械や設備の干渉チェックに広く適用可能である。
本発明の情報処理方法を用いて、仮想空間上で製造装置のモデルを動作させて干渉の有無を判定し、判定結果に基づいて製造装置の動作プログラムを生成するプログラム生成方法も、本発明の実施形態に含まれる。
また、実施形態の情報処理装置を、実際の産業用ロボット装置等と接続してもよい。その場合には、実施形態の情報処理装置にて仮想空間上で干渉判定を行った動作プログラムを、実機を用いてオンラインシミュレーションしたり、干渉判定によるデバッグ後の動作プログラムを用いて実機を稼働させて物品の製造等を行ってもよい。その場合には、自動機の制御装置として実施形態の情報処理装置を用いることが可能であり、実施形態の情報処理方法で干渉判定を行った動作プログラムを自動機の制御プログラムとして用いることができる。例えば、ロボット装置による物品の組立て、加工、搬送、検査などの動作プログラムを仮想空間上で実行しながら本発明による干渉判定を行う。そして、動作プログラムのうち、干渉ありと判定された部分については、制御部が自動的に経路変更をして動作プログラムを修正し、修正後の動作プログラムについて再度干渉判定を行ってもよい。このようにして、干渉判定の結果を用いて干渉なしと判定されるまで動作プログラムをデバッグし、生成した動作プログラムを用いてロボット装置を動作させて物品を製造する物品の製造方法として本発明を実施してもよい。
本発明は、実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
1・・・情報処理装置/10・・・CPU/11・・・ROM/12・・・RAM/13・・・HDD/14・・・ディスクドライブ/15~17・・・インターフェース/18・・・バス/19・・・入力装置/20・・・ディスプレイ/21・・・外部記憶装置/30・・・要素モデル設定部/40・・・モデル表示部/50・・・モデル情報表示部/100・・・GUI画面/301・・・新規作成ボタン/302・・・干渉判定グループリスト表示部/303・・・干渉判定グループ削除ボタン/304・・・グループ名称設定部/305・・・干渉判定グループ有効化チェックボックス/306・・・ノードリスト表示部/307・・・ノード削除ボタン/308・・・ダイアログボックス/309・・・除外要素モデルリスト/400~407、410~417・・・要素モデル/420・・・架台/421~424・・・ワーク/500~507、510~517、520~524・・・モデル情報
Claims (28)
- 表示部と入力部と制御部とを備え、
前記制御部は、
前記表示部に、仮想空間上で取り扱われる要素モデルに係る情報を表示し、
前記入力部から入力される情報と、所定の条件とに従って、前記仮想空間上で取り扱われる要素モデルの中から2つの要素モデルを選択し、
前記2つの要素モデルどうしの干渉の有無を判定する、
ことを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置において、
前記制御部は、
前記入力部から入力される情報に基づいて、1つのグループとして取り扱う要素モデルから成る干渉判定グループを複数生成し、
前記干渉判定グループを構成する要素モデルの中から、前記所定の条件に従って前記2つの要素モデルを選択する、
ことを特徴とする情報処理装置。 - 請求項2に記載の情報処理装置において、
前記所定の条件は、前記2つの要素モデルの各々は、異なる干渉判定グループに属する要素モデルであることを含む、
ことを特徴とする情報処理装置。 - 請求項2または3に記載の情報処理装置において、
前記所定の条件は、異なる干渉判定グループに同一の要素モデルが含まれている場合に、前記2つの要素モデルに当該同一の要素モデルは含まれないことを含む、
ことを特徴とする情報処理装置。 - 請求項2乃至4のいずれか1項に記載の情報処理装置において、
前記制御部は、前記干渉判定グループを生成する際に、前記仮想空間上で取り扱われる要素モデルを3Dグラフィック表示するモデル表示部を前記表示部に表示させる、
ことを特徴とする情報処理装置。 - 請求項2乃至5のいずれか1項に記載の情報処理装置において、
前記制御部は、前記干渉判定グループを生成する際に、作業者が前記入力部を介して操作可能な情報選択部を、前記表示部に表示させる、
ことを特徴とする情報処理装置。 - 請求項6に記載の情報処理装置において、
前記情報選択部は、ボタンおよび/またはダイアログボックスである、
ことを特徴とする情報処理装置。 - 請求項2乃至7のいずれか1項に記載の情報処理装置において、
前記制御部は、前記干渉判定グループを生成する際に、前記仮想空間上で取り扱われる要素モデルの接続関係や階層構造を示すモデル情報表示部を、前記表示部に表示させる、
ことを特徴とする情報処理装置。 - 請求項2乃至8のいずれか1項に記載の情報処理装置において、
前記制御部は、前記干渉判定グループを生成する際に、前記表示部に表示された前記仮想空間上で取り扱われる要素モデルに係る情報に対して、作業者が前記入力部を介して行う操作を受け付ける、
ことを特徴とする情報処理装置。 - 請求項9に記載の情報処理装置において、
前記操作は、前記表示部に表示された前記仮想空間上で取り扱われる要素モデルに係る情報を、前記干渉判定グループのノードリストにドラッグアンドドロップする操作である、
ことを特徴とする情報処理装置。 - 請求項2乃至10のいずれか1項に記載の情報処理装置において、
前記制御部は、前記干渉判定グループを生成する際に、連結した複数の要素モデルの全体を1つの干渉判定グループとするか、連結した要素モデルの一部のみを1つの干渉判定グループとするか、を作業者が選択するための情報を前記表示部に表示させる、
ことを特徴とする情報処理装置。 - 請求項1乃至11のいずれか1項に記載の情報処理装置において、
前記制御部は、干渉の有無を判定した結果を、前記表示部に表示する、
ことを特徴とする情報処理装置。 - 表示部と入力部と制御部とを備える情報処理装置を用いた情報処理方法であって、
前記制御部は、
前記表示部に、仮想空間上で取り扱われる要素モデルに係る情報を表示し、
前記入力部から入力される情報と、所定の条件とに従って、前記仮想空間上で取り扱われる要素モデルの中から2つの要素モデルを選択し、
前記2つの要素モデルどうしの干渉の有無を判定する、
ことを特徴とする情報処理方法。 - 請求項13に記載の情報処理方法において、
前記制御部は、
前記入力部から入力される情報に基づいて、1つのグループとして取り扱う要素モデルから成る干渉判定グループを複数生成し、
前記干渉判定グループを構成する要素モデルの中から、前記所定の条件に従って前記2つの要素モデルを選択する、
ことを特徴とする情報処理方法。 - 請求項14に記載の情報処理方法において、
前記所定の条件は、前記2つの要素モデルの各々は、異なる干渉判定グループに属する要素モデルであることを含む、
ことを特徴とする情報処理方法。 - 請求項14または15に記載の情報処理方法において、
前記所定の条件は、異なる干渉判定グループに同一の要素モデルが含まれている場合に、前記2つの要素モデルに当該同一の要素モデルは含まれないことを含む、
ことを特徴とする情報処理方法。 - 請求項14乃至16のいずれか1項に記載の情報処理方法において、
前記制御部は、前記干渉判定グループを生成する際に、前記仮想空間上で取り扱われる要素モデルを3Dグラフィック表示するモデル表示部を前記表示部に表示させる、
ことを特徴とする情報処理方法。 - 請求項14乃至17のいずれか1項に記載の情報処理方法において、
前記制御部は、前記干渉判定グループを生成する際に、作業者が前記入力部を介して操作可能な情報選択部を、前記表示部に表示させる、
ことを特徴とする情報処理方法。 - 請求項18に記載の情報処理方法において、
前記情報選択部は、ボタンおよび/またはダイアログボックスである、
ことを特徴とする情報処理方法。 - 請求項14乃至19のいずれか1項に記載の情報処理方法において、
前記制御部は、前記干渉判定グループを生成する際に、前記仮想空間上で取り扱われる要素モデルの接続関係や階層構造を示すモデル情報表示部を、前記表示部に表示させる、
ことを特徴とする情報処理方法。 - 請求項14乃至20のいずれか1項に記載の情報処理方法において、
前記制御部は、前記干渉判定グループを生成する際に、前記表示部に表示された前記仮想空間上で取り扱われる要素モデルに係る情報に対して、作業者が前記入力部を介して行う操作を受け付ける、
ことを特徴とする情報処理方法。 - 請求項21に記載の情報処理方法において、
前記操作は、前記表示部に表示された前記仮想空間上で取り扱われる要素モデルに係る情報を、前記干渉判定グループのノードリストにドラッグアンドドロップする操作である、
ことを特徴とする情報処理方法。 - 請求項14乃至22のいずれか1項に記載の情報処理方法において、
前記制御部は、前記干渉判定グループを生成する際に、連結した複数の要素モデルの全体を1つの干渉判定グループとするか、連結した要素モデルの一部のみを1つの干渉判定グループとするか、を作業者が選択するための情報を前記表示部に表示させる、
ことを特徴とする情報処理方法。 - 請求項13乃至23のいずれか1項に記載の情報処理方法において、
前記制御部は、干渉の有無を判定した結果を、前記表示部に表示する、
ことを特徴とする情報処理方法。 - 請求項13乃至24のいずれか1項に記載の情報処理方法を、コンピュータに実行させるための制御プログラム。
- 請求項25に記載の制御プログラムを記録した、コンピュータ読み取り可能な記録媒体。
- 請求項13乃至24のいずれか1項に記載の情報処理方法を用いて、仮想空間上で製造装置のモデルを動作させて干渉の有無を判定し、判定結果に基づいて前記製造装置の動作プログラムを生成する、
ことを特徴とするプログラム生成方法。 - 請求項27に記載のプログラム生成方法を用いて生成した動作プログラムを用いて、前記製造装置を動作させ、物品を製造する、
ことを特徴とする物品の製造方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021070411A JP2022165170A (ja) | 2021-04-19 | 2021-04-19 | 情報処理装置、情報処理方法、制御プログラム、記録媒体、プログラム生成方法、物品の製造方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021070411A JP2022165170A (ja) | 2021-04-19 | 2021-04-19 | 情報処理装置、情報処理方法、制御プログラム、記録媒体、プログラム生成方法、物品の製造方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022165170A true JP2022165170A (ja) | 2022-10-31 |
JP2022165170A5 JP2022165170A5 (ja) | 2024-05-15 |
Family
ID=83845803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021070411A Pending JP2022165170A (ja) | 2021-04-19 | 2021-04-19 | 情報処理装置、情報処理方法、制御プログラム、記録媒体、プログラム生成方法、物品の製造方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022165170A (ja) |
-
2021
- 2021-04-19 JP JP2021070411A patent/JP2022165170A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9976852B2 (en) | Inspection program editing environment providing user defined collision avoidance volumes with integral modification properties | |
JP7095262B2 (ja) | プログラミング支援装置、ロボットシステム及びプログラム生成方法 | |
EP3353491B1 (en) | System and method for programming workpiece feature inspection operations for a coordinate measuring machine | |
CN104070265B (zh) | 焊缝信息设定装置、程序、自动示教系统以及焊缝信息设定方法 | |
US20140214203A1 (en) | Operating program writing system | |
US11106196B2 (en) | Method and apparatus for shaping a production process for producing a product made up of multiple subproducts | |
JP4312481B2 (ja) | シミュレーション装置,シミュレーション方法及びシミュレーションプログラム | |
US20200009724A1 (en) | Robot program generation apparatus | |
JP2019171498A (ja) | ロボットプログラム実行装置、ロボットプログラム実行方法、プログラム | |
JP2008142788A (ja) | 動作プログラム作成支援方法および動作プログラム作成装置。 | |
JP2011238041A (ja) | プログラム作成装置及びプログラム作成方法 | |
US20060044308A1 (en) | Surface selecting method and information processing apparatus | |
JP4707946B2 (ja) | 工程シミュレーションシステム | |
JP2016059989A (ja) | ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 | |
JP2022165170A (ja) | 情報処理装置、情報処理方法、制御プログラム、記録媒体、プログラム生成方法、物品の製造方法 | |
JP2018020406A (ja) | シミュレーション装置 | |
Bulej et al. | Simulation of manipulation task using iRVision aided robot control in Fanuc RoboGuide software | |
US11709584B2 (en) | User interface development assistance device, user interface development assistance method, and non-transitory computer-readable recording medium | |
JP3940389B2 (ja) | 検査装置及びプログラミングツール | |
JP2019101757A (ja) | 生産システム検証方法、生産システム検証装置、および生産システム | |
US20230173670A1 (en) | Information processing apparatus, system, information processing method, method of manufacturing products, and recording medium | |
JPH10247142A (ja) | プロセス制御プログラムのプログラミングシステムおよびプログラミング方法 | |
JP7322099B2 (ja) | 情報処理方法、情報処理装置、ロボット装置、プログラム、およびコンピュータ読み取り可能な記録媒体 | |
JP2008234379A (ja) | ソフトウェア生成装置ならびにソフトウェア生成方法 | |
TW202327831A (zh) | 機器人或工具機的模擬裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240415 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240430 |