JP7192251B2 - 情報処理装置、ロボット動作プログラム生成補助方法及びロボット動作プログラム生成補助プログラム - Google Patents

情報処理装置、ロボット動作プログラム生成補助方法及びロボット動作プログラム生成補助プログラム Download PDF

Info

Publication number
JP7192251B2
JP7192251B2 JP2018102312A JP2018102312A JP7192251B2 JP 7192251 B2 JP7192251 B2 JP 7192251B2 JP 2018102312 A JP2018102312 A JP 2018102312A JP 2018102312 A JP2018102312 A JP 2018102312A JP 7192251 B2 JP7192251 B2 JP 7192251B2
Authority
JP
Japan
Prior art keywords
program
robot
divided
unit
common
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.)
Active
Application number
JP2018102312A
Other languages
English (en)
Other versions
JP2019206054A (ja
Inventor
大地 島田
左千夫 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018102312A priority Critical patent/JP7192251B2/ja
Publication of JP2019206054A publication Critical patent/JP2019206054A/ja
Application granted granted Critical
Publication of JP7192251B2 publication Critical patent/JP7192251B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明は、情報処理装置、ロボット動作プログラム生成補助方法及びロボット動作プログラム生成補助プログラムに関する。
従来、組立作業ロボットに製品組立作業を行わせるためには、ロボットにその作業を実施する動作(ロボット動作プログラム)を教示する必要がある。ロボット動作プログラムを生成する方法としては、例えば、3次元仮想空間でロボット動作プログラムを生成する方法が知られている。
特表2017-520415号公報
しかしながら、3次元仮想空間でロボット動作プログラムを生成する場合、専門的な知識が必要な上に多大な工数がかかる。また、実際の製造現場では、生産変動へ対応するために頻繁に作業順序の組換えや作業環境が変化することから、1つ1つのロボット動作プログラムを容易に生成できるようにすることが好ましい。
1つの側面では、本発明は、ロボット動作プログラムの生成に利用可能なテンプレートを自動的に生成することが可能な処理情報処理装置、ロボット動作プログラム生成補助方法及びロボット動作プログラム生成補助プログラムを提供することを目的とする。
一つの態様では、情報処理装置は、作業を行う箇所を経由して動作するロボットの位置と回転動作とを時系列に沿って並べた複数のロボット動作プログラムを前記作業を行う箇所に対応する記述を基準として分割して分割プログラムを生成し、生成した前記分割プログラムを、どの箇所を終点とするプログラムであるか、又はどの箇所を始点とするプログラムであるかを示す識別情報と関連付ける分割部と、前記分割プログラムに記述されているロボットの移動を単位ベクトルで記述するとともに前記ロボットの回転動作を回転軸で記述する処理と、該分割プログラムの座標系を共通の座標系に変換する処理と、を実行して、前記分割プログラムを正規化する正規化部と、前記識別情報が共通する正規化した前記分割プログラムにおいて共通する記述を抽出して、前記ロボット動作プログラムの生成に利用可能なテンプレートを生成する生成部と、を備えている。
ロボット動作プログラムの生成に利用可能なテンプレートを自動的に生成することができる。
一実施形態に係る情報処理装置のハードウェア構成を概略的に示す図である。 図1の情報処理装置の機能ブロック図である。 テンプレート生成部の一連の処理を示すフローチャートである。 図3のステップS12の詳細処理を示すフローチャートである。 図3のステップS14の詳細処理を示すフローチャートである。 図3のステップS16の詳細処理を示すフローチャートである。 図3のステップS18の詳細処理を示すフローチャートである。 図3のステップS20の詳細処理を示すフローチャートである。 サンプル1~4の動作イメージとロボットプログラムが示されている。 ロボットプログラムから作成されるファイル(分割プログラム)を示す図である。 図10の各ファイルを方向を示す単位ベクトル及び回転軸に変換した状態を示す図である。 図11の各ファイルの座標系をグローバル座標系に変換した状態を示す図である。 生成部の処理を説明するための図(その1)である。 図11の各ファイルの座標系を部品座標系に変換した状態を示す図である。 生成部の処理を説明するための図(その2)である。 図11の各ファイルの座標系をロボット座標系に変換した状態を示す図である。 生成部の処理を説明するための図(その3)である。 図11の各ファイルの座標系をツール座標系に変換した状態を示す図である。 生成部の処理を説明するための図(その4)である。 出力データ及びテンプレートを示す図である。
以下、情報処理装置の一実施形態について、図1~図20に基づいて詳細に説明する。本実施形態の情報処理装置は、組立作業ロボットを動作させるロボット動作プログラム(以下、ロボットプログラムと呼ぶ)を生成し、組立作業ロボットに対して生成したロボットプログラムを入力する装置である。
図1には、一実施形態に係る情報処理装置10の構成が概略的に示されている。情報処理装置10は、図1に示すように、CPU(Central Processing Unit)190、ROM(Read Only Memory)192、RAM(Random Access Memory)194、記憶部(ここではHDD(Hard Disk Drive))196、ネットワークインタフェース197、表示部193、入力部195、及び可搬型記憶媒体用ドライブ199等を備えている。これら情報処理装置10の構成各部は、バス198に接続されている。情報処理装置10では、ROM192あるいはHDD196に格納されているプログラム(ロボット動作プログラム生成補助プログラムを含む)、或いは可搬型記憶媒体用ドライブ199が可搬型記憶媒体191から読み取ったプログラム(ロボット動作プログラム生成補助プログラムを含む)をCPU190が実行することにより、図2に示す、各部の機能が実現される。なお、図2には、情報処理装置10のHDD196等に格納されている各種DB(database)も図示されている。なお、図2の各部の機能は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
図2は、情報処理装置10のCPU190がプログラムを実行することにより実現される機能を示す機能ブロック図である。
図2に示すように、情報処理装置10においては、CPU190がプログラムを実行することにより、データ取得部20、変数設定部21、作業状態生成部22、教示点導出部24、ロボット動作生成部26、及びテンプレート生成部28、としての機能が実現されている。
データ取得部20は、変数設定部21や作業状態生成部22、教示点導出部24で利用する各種データ(組立作業順序DB30に記憶されている順序データ、製品DB32に記憶されている製品データ、設備DB34に記憶されている組立設備データ、テンプレートDB36に記憶されているテンプレート等)を取得する。ここで、組立作業順序DB30には、ロボットにより組立対象製品を組み立てる際の一連の組立作業の順序データが記憶されている。製品DB32には、組立対象製品の製品データ、すなわち組立対象製品を形成する各部品の3次元(3D)データや組立対象製品の部品構成データ、が記憶されている。設備DB34には、組立対象製品を組み立てる設備に関するデータである組立設備データが記憶されている。また、テンプレートDB36には、組立対象製品に係るロボットプログラムの生成に利用することが可能なテンプレートが記憶されている。テンプレートは、教示点に係る情報を変数で表したロボットプログラムのひな形である。テンプレートは作業分類(組立作業の属性)ごとに用意される。作業分類は、例えばピック(Pick)、プレース(Place)、運搬、撮像、貼り付け等である。
変数設定部21は、ユーザからの入力に基づいて、テンプレートにおける各種変数を設定する。なお、ユーザからの入力は、入力部195を介して取得される。
作業状態生成部22は、順序データと、製品データとに基づいて、一連の組立作業に含まれる一の組立作業の開始時における製品の組み立て状態を生成(再現)し、再現データを生成する。
教示点導出部24は、一連の組立作業に含まれる一の組立作業ごとに、再現データに基づいて、一の組立作業に係る教示点を導出する。
ロボット動作生成部26は、一連の組立作業ごとに、教示点導出部24が導出した教示点に基づいて、一の組立作業に係る動作プログラムを生成する。ロボット動作生成部26は、一連の組立作業に含まれる各組立作業に対して、動作プログラムを生成し、各動作プログラムを組み合わせることで、最終的なロボットプログラムを生成する。ロボット動作生成部26は、最終的なロボットプログラムをネットワークインタフェース197を介してロボットに送信する。また、ロボット動作生成部26は、最終的なロボットプログラムをロボットプログラムDB38に格納する。
テンプレート生成部28は、ロボットプログラムDB38に格納されているロボットプログラムを用いてテンプレートを生成し、生成したテンプレートをテンプレートDB36に格納する。テンプレート生成部28は、分割部128A、正規化部128B、及び生成部128Cを有する。分割部128Aは、複数のロボットプログラムを分割したファイル(分割プログラム)を生成する。正規化部128Bは、各ファイルを正規化する処理を実行する。生成部128Cは、正規化したファイルから共通箇所を抽出してテンプレートを生成して出力する。以下、テンプレート生成部28(分割部128A、正規化部128B、及び生成部128C)の処理について、図3~図8のフローチャートに沿って、その他図面を適宜参照しつつ詳細に説明する。
(テンプレート生成部28の処理)
図3は、分割部128Aの一連の処理を示すフローチャートである。図3の処理では、まず、ステップS10において、テンプレート生成部28の分割部128Aが、ロボットプログラムDB38からロボットプログラムを取得する。なお、分割部128Aは、同一部品を扱うロボットプログラムをロボットプログラムDB38から取得する。ここで、ロボットプログラムは、教示点の座標値、回転動作、基準点(ピック、プレース、カメラ撮影位置、ハンド取り付け、ハンド取り外し等)を時系列に沿って並べたものである。
本実施形態では、一例として、図9に示す4つのサンプル(サンプル1~4)のロボットプログラムが取得されたものとする。なお、図9には、各サンプルの動作イメージとロボットプログラムが示されている。例えば、サンプル1は、ロボットが-Z方向に移動して、部品をピックして、+Z方向に移動し、X軸及びZ軸方向を含む方向に移動した後、-Z方向に移動して、部品をプレースし、+Z方向に移動するという動作を示すロボットプログラムである。なお、図9のXYZ座標系はグローバル座標系である。また、サンプル2は、ロボットが-Y方向に移動して、部品をピックして、+X方向、+Y方向、+X方向、-Y方向、+X方向に順に移動した後、部品をプレースして、+Y方向に移動するという動作を示すロボットプログラムである。サンプル3は、ピックとプレースの途中にカメラ撮影が含まれているロボットプログラムである。サンプル4は、ロボットが-Z方向、+X方向に移動して、部品をピックし、-X方向、+Z方向、X軸、Y軸、Z軸を含む方向、-Z方向、+X方向に順に移動した後、部品をプレースして、-X方向、+Z方向に移動するという動作を示すロボットプログラムである。なお、サンプル4では、ロボットが移動する途中に回転動作が適宜行われている。
図3に戻り、次のステップS12では、分割部128Aが、基準点間の教示点順序を基準点で分割し、方向ベクトルと回転軸の順序で表記する。このステップS12では、分割部128Aは、図4のフローチャートに沿った処理を実行する。
(ステップS12の処理について)
図4の処理では、まず、ステップS30において、分割部128Aが、選択していないロボットプログラムを1つ選択する。ここでは、例えば、分割部128Aは、図9のサンプル1のロボットプログラムを選択したものとする。
次いで、ステップS32では、分割部128Aが、選択できたか否かを判断する。このステップS32の判断が肯定されると、ステップS34に移行し、分割部128Aは、バッファを空にする。
次いで、ステップS36では、分割部128Aが、選択したロボットプログラムを1行読み込む。図9のサンプル1の例では、教示点(10,0,150)が読み込まれる。
次いで、ステップS38では、分割部128Aが、読み込む行がないか否かを判断する。このステップS38の判断が否定されると、ステップS40に移行し、分割部128Aは、基準点を読み込んだか否かを判断する。ここでは、教示点を読み込んでいるため、判断が否定され、ステップS42に移行する。
ステップS42に移行すると、分割部128Aは、読み込んだ教示点をバッファに追加する。その後は、分割部128Aは、ステップS36に戻る。ステップS36に戻ると、分割部128Aは、次の行(教示点(10,0,50))を読み込み、ステップS42において、読み込んだ教示点をバッファに追加して、ステップS36に戻る。
そして、分割部128Aは、ステップS36に戻って、次の行(Pick)を読み込む。この場合、次のステップS38の判断が否定された後、ステップS40の判断が肯定されるため、分割部128Aは、ステップS44に移行する。
ステップS44に移行すると、分割部128Aは、読み込んだ基準点がロボットプログラム内における最初の基準点であるか否かを判断する。本例では、最初の基準点であるため、ステップS44の判断は肯定され、分割部128AはステップS50に移行する。
ステップS50に移行すると、分割部128Aは、読み込んだ基準点の名前と読み込んだ基準点の前を示す(基準点を終点とする)ファイル(分割プログラム)を作成する。本例の場合、図10のサンプル1の[1]で示すように、「***→Pick」のファイルを作成する。
次いで、ステップS52では、分割部128Aが、バッファの内容をファイルに出力する。本例の場合、分割部128Aは、図10のサンプル1の「[1]***→Pick」のファイルに、教示点(10,0,150)、(10,0,50)を出力する。次いで、ステップS54に移行すると、分割部128Aは、バッファの最後の要素以外を削除する。すなわち、分割部128Aは、バッファに教示点(10,0,50)のみを残すこととする。その後は、分割部128Aは、ステップS36に戻る。なお、ステップS54に移行した際にバッファが空の場合には、分割部128Aは、そのままステップS36に戻る。
ステップS36に戻ると、分割部128Aは、ステップS36~S42を繰り返すことで、バッファに教示点(10,0,200)、(90,0,230)、(90,0,80)を追加する。そして、ステップS36において、基準点Placeを読み込むと、ステップS40の判断が肯定され、ステップS44に移行する。この場合、読み込んだ基準点は最初の基準点ではないため、ステップS44の判断は否定され、分割部128Aは、ステップS46に移行する。
ステップS46に移行すると、分割部128Aは、1つ前の基準点の名前と1つ前の基準点の後を示す(基準点を始点とするファイル)ファイルを作成する。本例の場合、分割部128Aは、図10のサンプル1の[2]で示すように、「Pick→***」のファイルを作成する。
次いで、ステップS48では、分割部128Aが、バッファの内容をファイルに出力する。本例の場合、分割部128Aは、図10のサンプル1の「[2]Pick→***」のファイルに、教示点(10,0,50)、(10,0,200)、(90,0,230)、(90,0,80)を出力する。
次いで、ステップS50では、分割部128Aが、読み込んだ基準点の名前と読み込んだ基準点の前を示すファイルを作成する。本例の場合、図10のサンプル1の[3]で示すように、「***→Place」のファイルを作成する。
次いで、ステップS52では、分割部128Aが、バッファの内容をファイルに出力する。本例の場合、分割部128Aは、図10のサンプル1の「[3]***→Place」のファイルに、教示点(10,0,50)、(10,0,200)、(90,0,230)、(90,0,80)を出力する。次いで、ステップS54に移行すると、分割部128Aは、バッファの最後の要素以外を削除する。すなわち、分割部128Aは、バッファに教示点(90,0,80)のみを残すこととする。その後は、分割部128Aは、ステップS36に戻る。
ステップS36に戻ると、分割部128Aは、ステップS36~S42を実行することで、バッファに教示点(90,0,180)を追加する。そして、ステップS38において、読み込む行がないと判断され、ステップS56に移行すると、分割部128Aは、1回でも基準点を読み込んだか否かを判断する。このステップS56の判断が否定された場合にはそのままステップS30に戻るが、ステップS56の判断が肯定された場合には、ステップS58に移行する。
ステップS58に移行すると、分割部128Aは、1つ前の基準点の名前と1つ前の基準点の後を示すファイルを作成する。本例の場合、分割部128Aは、図10のサンプル1の[4]で示すように、「Place→***」のファイルを作成する。次いで、ステップS60では、分割部128Aが、バッファの内容をファイルに出力する。本例の場合、分割部128Aは、図10のサンプル1の「[4]Place→***」のファイルに、教示点(90,0,80)、(90,0,180)を出力する。その後は、ステップS30に戻る。
ステップS30に戻ると、読み込んでいないロボットプログラムを読み込み、上述した処理を繰り返し実行する。これにより、図10に示すように、サンプル2~4それぞれに関するファイル(分割プログラム)が生成されるようになっている。
そして、読み込んでいないロボットプログラムがなくなり、ステップS32の判断が否定されると、図4の全処理を終了する。この場合、テンプレート生成部28は、図3のステップS14に移行する。
図3に戻り、次のステップS14では、テンプレート生成部28の正規化部128Bが、分割プログラムを方向を示す単位ベクトルと回転軸で記述して正規化する。このステップS14では、正規化部128Bは、図5のフローチャートに沿った処理を実行する。
(ステップS14の処理について)
図5の処理では、まず、ステップS70において、正規化部128Bが、選択していないファイル(図10のサンプル1~4に含まれるファイル([1]、[2]、[3]、…)のいずれか)を1つ選択する。本例では、正規化部128Bは、図10のサンプル1のファイル[1]を選択したものとする。次いで、ステップS72では、正規化部128Bが、ファイルを選択できたか否かを判断する。このステップS72の判断が肯定されると、ステップS74に移行する。
ステップS74に移行すると、正規化部128Bは、「prev」として選択したファイルの1行を読み込む。ここでは、正規化部128Bは、図10のサンプル1のファイル[1]の教示点(10,0,150)をprevとして読み込む。次いで、ステップS76では、正規化部128Bが、「cur」として選択したファイルの1行(次の行)を読み込む。ここでは、正規化部128Bは、図10のサンプル1のファイル[1]の教示点(10,0,50)をcurとして読み込む。
次いで、ステップS78では、正規化部128Bが、読み込む行がないか否かを判断する。このステップS78の判断が否定されると、正規化部128Bは、ステップS80に移行する。
ステップS80に移行すると、正規化部128Bは、回転情報を読み込んだか否かを判断する。このステップS80の判断が否定されると、ステップS82に移行し、正規化部128Bは、方向を示す単位ベクトル(cur-prev)/||cur-prev||を出力する。ここでは、図11のサンプル1のファイル[1]に示すように(cur-prev)/||cur-prev||として、(0,0,-1)が出力される。すなわち、ステップS82では、正規化部128Bは、ロボットの移動を大きさが1の方向ベクトルで記述していると言える。
次いで、ステップS84では、正規化部128Bが、curをprevとする。すなわち、prevが(10,0,50)となる。その後は、ステップS76に戻る。ステップS76に戻ると、正規化部128Bは次の1行を読み込もうとするが、読み込む行がないため、ステップS78の判断が肯定されて、ステップS70に戻る。
ステップS70に戻ると、正規化部128Bは、次のファイルとして、図10のサンプル1のファイル[2]を選択する。その後は、正規化部128Bは、図10のサンプル1のファイル[2]の各教示点から方向を示す単位ベクトルを算出し、図11に示すように出力する。
その後も、各ファイルについて同様の処理を実行する。この処理において、例えば、図10のサンプル4のファイル[1]の3行目に示すように、回転情報(-90°回転(Y軸))が読み込まれることがある。この場合、ステップS80の判断が肯定されるので、正規化部128Bは、ステップS86に移行する。ステップS86では、正規化部128Bが、回転軸を出力する。上記例では、回転軸として「回転(Y軸)」が出力されることになる(図11のサンプル4のファイル[1]の2行目参照)。すなわち、ステップS86では、正規化部128Bは、ロボットの回転動作を回転軸で記述していると言える。
以上の処理が実行され、すべてのファイルの選択が終了すると、ステップS72の判断が否定されるので、正規化部128Bは図5の全処理を終了して、図3のステップS16に移行する。
図3に戻り、次のステップS16では、正規化部128Bが、座標系を変換する処理を実行する。このステップS16では、正規化部128Bは、図6のフローチャートに沿った処理を実行する。
(ステップS16の処理について)
図6の処理では、まず、ステップS102において、正規化部128Bが、座標系を1つ選択する。この場合、正規化部128Bは、例えば、グローバル座標系、部品ごとに設定されている部品座標系、ロボットに設定されているロボット座標系、ロボットが利用するツールに設定されているツール座標系などの座標系のいずれかを選択するものとする。なお、本例では、一例として、グローバル座標系が選択されたものとする。
次いで、ステップS104では、正規化部128Bが、選択できたか否かを判断する。このステップS104の判断が肯定されると、ステップS106に移行し、正規化部128Bは、グローバル座標系から選択した座標系(グローバル座標系)への変換行列を作成する。
次いで、ステップS108では、正規化部128Bが、読み込んでいないファイルを1つ読み込む。例えば、正規化部128Bは、図11のサンプル1のファイル[1]を読み込んだものとする。
次いで、ステップS110では、正規化部128Bが、ファイルを読み込めたか否かを判断する。このステップS110の判断が肯定されると、正規化部128Bは、ステップS112に移行する。
ステップS112に移行すると、正規化部128Bは、読み込んだファイルの1行を読み込む。例えば、正規化部128Bは、図11のサンプル1のファイル[1]の方向を示す単位ベクトル(0,0、-1)が選択されたものとする。次いで、ステップS114では、正規化部128Bが、読み込めたか否かを判断する。このステップS114の判断が肯定されると、ステップS118に移行し、正規化部128Bは、回転情報を読み込んだか否かを判断する。ここでの判断が否定された場合には、ステップS120に移行し、正規化部128Bは、変換行列を用いて、方向を示す単位ベクトルを変換し、出力する(図12のサンプル1のファイル[1]参照)。
その後は、ステップS112に戻り、正規化部128Bは、次の1行を読み込むことになるが、ここでは、次の1行を読み込むことができないため、ステップS114の判断が否定されて、ステップS108に戻る。ステップS108に戻ると、正規化部128Bは、読み込んでいないファイル(例えば、サンプル1のファイル[2])を選択する。その後は、正規化部128Bは、すべてのファイルに対する処理が終了するまで、ステップS108~S120の処理を繰り返す。
ところで、ステップS112において読み込んだ情報が回転情報であった場合(図11のサンプル4のファイル[1]の2行目参照)には、ステップS118の判断が肯定される。ステップS118の判断が肯定された場合には、ステップS122に移行し、正規化部128Bは、変換行列を用いて、回転軸を変換して出力する。
以上の処理を繰り返し、すべてのファイルの座標系を変換した場合には、ステップS110の判断が否定されるため、正規化部128Bは、ステップS102に戻る。ステップS102に戻った段階では、図12に示すようなファイルが生成されるようになっている。ただし、図12の例は、グローバル座標系をグローバル座標系に変換する処理であるため、図11からの変更箇所はない。一方、例えば、ステップS102において部品座標系が選択され、以降の処理においてグローバル座標系から部品座標系への変換が行われた場合には、図11のファイルが図14に示すように変換されるようになっている。また、ステップS102においてロボット座標系が選択され、以降の処理においてグローバル座標系からロボット座標系への変換が行われた場合には、図11のファイルが図16に示すように変換されるようになっている。更に、ステップS102においてツール座標系が選択され、以降の処理においてグローバル座標系からツール座標系への変換が行われた場合には、図11のファイルが図18に示すように変換されるようになっている。
すべてのファイルの座標系の変換が終了すると、ステップS104の判断が否定される。この場合、テンプレート生成部28は、図6の全処理を終了し、図3のステップS18に移行する。なお、グローバル座標系をグローバル座標系に変換する処理については、ファイルに変更箇所が生じないため、図6の処理を省略してもよい。
図3に戻り、ステップS18では、テンプレート生成部28の生成部128Cが、方向ベクトルと回転軸の順序がすべてのロボットプログラムのうち閾値個以上一致する箇所を抽出する処理を実行する。具体的には、生成部128Cは、図7のフローチャートに沿った処理を実行する。
(ステップS18の処理について)
図7の処理では、まず、ステップS130において、生成部128Cが、未抽出の同一名称のファイルを図12の中から抽出する。例えば、生成部128Cは、名称が「***→Pick」であるファイルを図12の中からすべて抽出する。この場合、図13において太実枠線で示すファイルが抽出されることになる。なお、図13においては、図12において同一名称のファイルが1つしか存在しないもの(名称「***→camera」、「camera→***」のファイル)は処理に用いないため、削除した状態で示している。
次いで、ステップS132では、生成部128Cが、ファイルを抽出できたか否かを判断する。このステップS132の判断が肯定されると、生成部128Cは、ステップS134に移行する。
ステップS134では、生成部128Cが、抽出したファイルが基準点の前を示すファイル(基準点を終点とするファイル)であるか否かを判断する。ここでの判断が肯定されると、ステップS136に移行し、生成部128Cは、抽出した各ファイルを下から順に(時系列の逆順に)1行読み込む。図13の太実線枠で示すファイルにおいては、サンプル1の(0,0,-1)、サンプル2の(0,-1,0)、サンプル3の(0,0,-1)、サンプル4の(1,0,0)が読み込まれることになる。
次いで、ステップS138では、生成部128Cが、全てのファイルで読み込む行がないか否かを判断する。このステップS138の判断が否定されると、ステップS140に移行し、生成部128Cは、読み込んだ各行の内容が閾値個以上一致しているか否かを判断する。ここで、閾値が3であるとすると、読み込んだ情報は2つ一致するのみであり、閾値個以上一致していないため、ステップS140の判断は否定され、ステップS136に移行する。なお、閾値は、管理者等が決定してもよいし、サンプル数に応じて自動的に決定されるようになっていてもよい。その後、生成部128Cは、ステップS136~S140を繰り返すが、図13の太実線枠で示すファイルの例では、一度もステップS140の判断が肯定されずに、ステップS138の判断が肯定されることになる。ステップS138の判断が肯定されると、ステップS130に戻る。
ステップS130に戻ると、未抽出の同一名称のファイルを抽出する。例えば、生成部128Cは、名称が「Pick→***」であるファイルを図12の中からすべて抽出する。この場合、図13において太破線枠で示すファイルが抽出されることになる。
次いで、ステップS132では、生成部128Cが、ファイルを抽出できたか否かを判断する。このステップS132の判断が肯定されると、生成部128Cは、ステップS134に移行する。
ステップS134では、生成部128Cが、抽出したファイルが基準点の前を示すファイルであるか否かを判断する。ここでの判断が否定されると、ステップS146に移行し、生成部128Cは、抽出した各ファイルを上から順に(時系列順に)1行読み込む。図13の太破線枠で示すファイルにおいては、サンプル1の(0,0,1)、サンプル2の(1,0,0)、サンプル3の(0,0,1)、サンプル4の(-1,0,0)が読み込まれることになる。
次いで、ステップS148では、生成部128Cが、全てのファイルで読み込む行がないか否かを判断する。このステップS148の判断が否定されると、ステップS150に移行し、生成部128Cは、読み込んだ各行の内容が閾値個以上一致しているか否かを判断する。ここで、閾値が3であるとすると、読み込んだ情報は2つ一致するのみであり、閾値個以上一致していないため、ステップS150の判断は否定され、ステップS146に移行する。その後、生成部128Cは、ステップS146~S150を繰り返すが、図13の太破線枠で示すファイルの例では、一度もステップS150の判断が肯定されずに、ステップS148の判断が肯定されることになる。ステップS148の判断が肯定されると、ステップS130に戻る。
以降、図13の各ファイルに対して、図7の処理を実行しても、ステップS140及びステップS150の判断が肯定されることはないため、何も出力されずに、図14に示す部品座標系に変換されたファイルの処理に移行する。この場合、ステップS130では、生成部128Cは、図14の太実線枠で示すファイル(名称「***→pick」のファイル)を抽出するものとする。
次いで、ステップS132の判断が肯定されて、ステップS134に移行すると、生成部128Cは、抽出したファイルが基準点の前を示すファイルであるか否かを判断する。ここでの判断が肯定されると、ステップS136に移行し、生成部128Cは、抽出した各ファイルを下から順に1行読み込む。図14の太実線枠で示すファイルにおいては、サンプル1の(0,0,-1)、サンプル2の(0,0,-1)、サンプル3の(0,0,-1)、サンプル4の(0,0,-1)が読み込まれることになる。
次いで、ステップS138の判断が否定されて、ステップS140に移行すると、生成部128Cは、読み込んだ各行の内容が閾値個以上一致しているか否かを判断する。ここで、閾値が3であるとすると、読み込んだ情報は4つ一致しているためステップS140の判断は肯定され、ステップS142に移行する。
ステップS142では、生成部128Cが、一致している行の情報を出力する。この場合、図15の名称「***→pick」のファイルにおいて下線を付して示す(0,0,-1)が出力されることになる。その後は、ステップS136~S140を繰り返すが、他の情報が出力されることなく、ステップS138の判断が肯定されるため、生成部128Cは、ステップS130に戻る。
ステップS130に戻ると、未抽出の同一名称のファイルを抽出する。例えば、生成部128Cは、名称が「Pick→***」であるファイルを図14の中からすべて抽出する。この場合、図14において太破線枠で示すファイルが抽出されることになる。
次いで、ステップS132の判断が肯定され、ステップS134に移行すると、生成部128Cは、抽出したファイルが基準点の前を示すファイルであるか否かを判断する。ここでの判断が否定されると、ステップS146に移行し、生成部128Cは、抽出した各ファイルを上から順に1行読み込む。図14の太破線枠で示すファイルにおいては、サンプル1の(0,0,1)、サンプル2の(1,0,0)、サンプル3の(0,0,1)、サンプル4の(0,0,1)が読み込まれることになる。
次いで、ステップS148の判断が否定されると、ステップS150に移行し、生成部128Cは、読み込んだ各行の内容が閾値個以上一致しているか否かを判断する。ここで、閾値が3であるとすると、読み込んだ情報は3つ一致するため、ステップS150の判断が肯定され、ステップS152に移行する。
ステップS152では、生成部128Cが、一致している行の情報を出力する。この場合、図15の名称「pick→***」のファイルにおいて下線を付して示す(0,0,1)が出力されることになる。その後は、ステップS146~S150を繰り返すが、他の情報が出力されることなく、ステップS148の判断が肯定されるため、生成部128Cは、ステップS130に戻る。
以下、図14の各ファイルに対して同様の処理を実行することで、図15において下線を付して示す情報が出力されるようになっている。
また、図16に示すロボット座標系に変換されたファイルについても同様の処理を実行することで、図17において下線を付して示す情報が出力されるようになっている。更に、図18に示すツール座標系に変換されたファイルについても同様の処理を実行することで、図19において下線を付して示す情報が出力されるようになっている。
以上の処理により、出力される情報(出力データ)は、図20において符号50で示されている情報となる。そして、すべてのファイルについての処理が終了し、ステップS132の判断が否定されると、図7の全処理を終了し、図3のステップS20に移行する。
図3に戻り、ステップS20では、生成部128Cが、抽出した教示点順序と座標系を基準点ごとにまとめ、テンプレート化して出力する処理を実行する。このステップS20では、生成部128Cは、図8のフローチャートに沿った処理を実行する。
(ステップS20の処理)
図8の処理では、まず、ステップS170において、生成部128Cが、図20に示す出力データ50のうち、同一の座標系で同一の基準点を持つ出力データ(前後1つずつ)を抽出する。ここでは、一例として、部品座標系の「***→Pick」と、「Pick→***」が抽出されたものとする。
次いで、ステップS172では、生成部128Cが、抽出できたか否かを判断する。このステップS172の判断が肯定されると、ステップS174に移行し、生成部128Cが、基準位置情報を出力する。本例では、図20において矢印Aで示す「基準位置:ピック位置」が出力される。
次いで、ステップS176では、生成部128Cが、前工程を座標系と併せて出力する。本例では、図20において矢印Bで示す「[1]部品座標系,(0,0,-1)」が出力される。
次いで、ステップS178では、生成部128Cが、基準点の座標値を出力する。本例では、図20において矢印Cで示す「[2]部品座標系,(0,0,0)」が出力される。
次いで、ステップS180では、生成部128Cが、基準点での動作を出力する。本例では、図20において矢印Dで示す「[3]部品ピック」が出力される。
次いで、ステップS182では、生成部128Cが、後工程を座標系と併せて出力する。本例では、図20において矢印Eで示す「[4]部品座標系,(0,0,1)」が出力される。これにより、生成部128Cは、図20において矢印Fで示すテンプレートをテンプレートDB36に格納することができる。その後は、ステップS170に戻る。
ステップS170に戻ると、生成部128Cは、例えば、部品座標系の「***→Place」と、「Place→***」を抽出する。この場合、生成部128Cは、ステップS174~S182を実行することで、図20において矢印Gで示すテンプレートをテンプレートDB36に格納することができる。
その後は、生成部128Cは、ステップS172の判断が否定されるまで(ステップS170において出力データが抽出できなくなるまで)、ステップS170~S182の処理を繰り返すことで、ロボット座標系、ツール座標系の出力データからもテンプレートを生成する。そして、生成部128Cは、生成したテンプレートをテンプレートDB36に格納する。
以上により、図3の処理が終了する。図3の処理が行われることで、ロボットプログラムDB38に格納されているロボットプログラムから、ロボットプログラムの生成に利用可能なテンプレートを自動的に生成することができる。
以上、詳細に説明したように、本実施形態によると、テンプレート生成部28の分割部128Aは、基準点を経由して動作するロボットの位置と回転動作とを時系列に沿って並べた複数のロボットプログラムを基準点で分割してファイル(分割プログラム)を生成する(S12)。また、正規化部128Bは、各ファイルに記述されているロボットの移動を方向を示す単位ベクトルで記述するとともにロボットの回転動作を回転軸で記述する処理(S14)と、各ファイルの座標系を共通の座標系に変換する処理(S16)と、を実行する。また、生成部128Cは、基準点が共通する正規化したファイルから共通箇所を抽出してテンプレートを生成して出力する(S18、S20)。これにより、本実施形態では、ロボットプログラムを分割した後、正規化して、座標系を合わせた上で、同じ動きの部分を共通箇所として抽出することで、再利用性の高いテンプレートを自動的に生成することができる。
また、本実施形態では、生成部128Cは、基準点が共通する正規化したファイルのうち、閾値個以上のファイルにおいて共通する箇所を抽出する。これにより、わずかなファイルでのみ共通する箇所を抽出しないようにすることができる。したがって、この点からも再利用性の高いテンプレートを生成することが可能である。
また、本実施形態では、分割部128Aは、基準点を終点とするファイル(基準点よりも前を示すファイル)と、基準点を始点とするファイル(基準点よりも後を示すファイル)と、を生成する。そして、生成部128Cは、基準点よりも前を示すファイルからは、時系列順の逆順に沿って(下から)共通箇所を抽出し、基準点よりも後を示すファイルからは、時系列順に沿って(上から)共通箇所を抽出する。これにより、本実施形態では、基準点を基準として、共通箇所を適切に抽出することができる。
また、本実施形態では、正規化部128Bは、各ファイルの座標系を複数の座標系に変換するため、座標系ごとに適切なテンプレートを生成することができる。
また、本実施形態では、正規化部128Bは、方向ベクトルを単位ベクトルに変換するため、生成されたテンプレートにおける変数の設定が容易となる。
なお、上記実施形態では、正規化部128Bは、方向ベクトルを単位ベクトル(大きさが1のベクトル)に変換する場合について説明したが、これに限られるものではない。すなわち、正規化部128Bは、方向ベクトルを予め定められた所定大きさのベクトルに変換することとしてもよい。
なお、上記実施形態では、ステップS14、S16の実行順を逆にしてもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記憶媒体(ただし、搬送波は除く)に記録しておくことができる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD-ROM(Compact Disc Read Only Memory)などの可搬型記憶媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記憶媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記憶媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
(付記1) 基準点を経由して動作するロボットの位置と回転動作とを時系列に沿って並べた複数のロボット動作プログラムを基準点で分割して分割プログラムを生成する分割部と、
前記分割プログラムに記述されているロボットの移動を所定大きさの方向ベクトルで記述するとともに前記ロボットの回転動作を回転軸で記述する処理と、該分割プログラムの座標系を共通の座標系に変換する処理と、を実行して、前記分割プログラムを正規化する正規化部と、
前記基準点が共通する正規化した前記分割プログラムから共通箇所を抽出して、前記ロボット動作プログラムの生成に利用可能なテンプレートを生成する生成部と、
を備える情報処理装置。
(付記2) 前記生成部は、前記基準点が共通する正規化した前記分割プログラムのうち、閾値個以上の分割プログラムにおいて共通する箇所を抽出する、ことを特徴とする付記1に記載の情報処理装置。
(付記3) 前記分割部は、前記基準点を終点とする分割プログラムと、前記基準点を始点とする分割プログラムと、を生成し、
前記生成部は、前記基準点を終点とする正規化した分割プログラムからは、時系列の逆順に沿って共通箇所を抽出し、前記基準点を始点とする正規化した分割プログラムからは、時系列順に沿って共通箇所を抽出する、ことを特徴とする付記1又は2に記載の情報処理装置。
(付記4) 前記正規化部は、前記共通の座標系を異ならせて、前記分割プログラムを正規化する処理を複数回実行する、ことを特徴とする付記1~3のいずれかに記載の情報処理装置。
(付記5) 前記所定大きさの方向ベクトルは、単位ベクトルであることを特徴とする付記1~4のいずれかに記載の情報処理装置。
(付記6) 基準点を経由して動作するロボットの位置と回転動作とを時系列に沿って並べた複数のロボット動作プログラムを基準点で分割して分割プログラムを生成し、
前記分割プログラムに記述されているロボットの移動を所定大きさの方向ベクトルで記述するとともに前記ロボットの回転動作を回転軸で記述する処理と、該分割プログラムの座標系を共通の座標系に変換する処理と、を実行して、前記分割プログラムを正規化し、
前記基準点が共通する正規化した前記分割プログラムから共通箇所を抽出して、前記ロボット動作プログラムの生成に利用可能なテンプレートを生成する、
処理をコンピュータが実行することを特徴とするロボット動作プログラム生成補助方法。
(付記7) 前記生成する処理では、前記基準点が共通する正規化した前記分割プログラムのうち、閾値個以上の分割プログラムにおいて共通する箇所を抽出する、ことを特徴とする付記6に記載のロボット動作プログラム生成補助方法。
(付記8) 前記分割する処理では、前記基準点を終点とする分割プログラムと、前記基準点を始点とする分割プログラムと、を生成し、
前記生成する処理では、前記基準点を終点とする正規化した分割プログラムからは、時系列の逆順に沿って共通箇所を抽出し、前記基準点を始点とする正規化した分割プログラムからは、時系列順に沿って共通箇所を抽出する、ことを特徴とする付記6又は7に記載のロボット動作プログラム生成補助方法。
(付記9) 前記正規化する処理では、前記共通の座標系を異ならせて、前記分割プログラムを正規化する処理を複数回実行する、ことを特徴とする付記6~8のいずれかに記載のロボット動作プログラム生成補助方法。
(付記10) 前記所定大きさの方向ベクトルは、単位ベクトルであることを特徴とする付記6~9のいずれかに記載のロボット動作プログラム生成補助方法。
(付記11) 基準点を経由して動作するロボットの位置と回転動作とを時系列に沿って並べた複数のロボット動作プログラムを基準点で分割して分割プログラムを生成し、
前記分割プログラムに記述されているロボットの移動を所定大きさの方向ベクトルで記述するとともに前記ロボットの回転動作を回転軸で記述する処理と、該分割プログラムの座標系を共通の座標系に変換する処理と、を実行して、前記分割プログラムを正規化し、
前記基準点が共通する正規化した前記分割プログラムから共通箇所を抽出して、前記ロボット動作プログラムの生成に利用可能なテンプレートを生成する、
処理をコンピュータに実行させるためのロボット動作プログラム生成補助プログラム。
10 情報処理装置
128A 分割部
128B 正規化部
128C 生成部

Claims (6)

  1. 作業を行う箇所を経由して動作するロボットの位置と回転動作とを時系列に沿って並べた複数のロボット動作プログラムを前記作業を行う箇所に対応する記述を基準として分割して分割プログラムを生成し、生成した前記分割プログラムを、どの箇所を終点とするプログラムであるか、又はどの箇所を始点とするプログラムであるかを示す識別情報と関連付ける分割部と、
    前記分割プログラムに記述されているロボットの移動を単位ベクトルで記述するとともに前記ロボットの回転動作を回転軸で記述する処理と、該分割プログラムの座標系を共通の座標系に変換する処理と、を実行して、前記分割プログラムを正規化する正規化部と、
    前記識別情報が共通する正規化した前記分割プログラムにおいて共通する記述を抽出して、前記ロボット動作プログラムの生成に利用可能なテンプレートを生成する生成部と、
    を備える情報処理装置。
  2. 前記生成部は、前記識別情報が共通する正規化した前記分割プログラムのうち、閾値個以上の分割プログラムにおいて共通する記述を抽出する、ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記生成部は、前記作業を行う箇所を終点とするプログラムであることを示す識別情報と関連付けられた正規化した分割プログラムからは、時系列の逆順に沿って共通する記述を抽出し、前記作業を行う箇所を始点とするプログラムであることを示す識別情報と関連付けられた正規化した分割プログラムからは、時系列順に沿って共通する記述を抽出する、ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記正規化部は、前記共通の座標系を異ならせて、前記分割プログラムを正規化する処理を複数回実行する、ことを特徴とする請求項1~3のいずれか一項に記載の情報処理装置。
  5. 作業を行う箇所を経由して動作するロボットの位置と回転動作とを時系列に沿って並べた複数のロボット動作プログラムを前記作業を行う箇所に対応する記述を基準として分割して分割プログラムを生成し、生成した前記分割プログラムを、どの箇所を終点とするプログラムであるか、又はどの箇所を始点とするプログラムであるかを示す識別情報と関連付け、
    前記分割プログラムに記述されているロボットの移動を単位ベクトルで記述するとともに前記ロボットの回転動作を回転軸で記述する処理と、該分割プログラムの座標系を共通の座標系に変換する処理と、を実行して、前記分割プログラムを正規化し、
    前記識別情報が共通する正規化した前記分割プログラムにおいて共通する記述を抽出して、前記ロボット動作プログラムの生成に利用可能なテンプレートを生成する、
    処理をコンピュータが実行することを特徴とするロボット動作プログラム生成補助方法。
  6. 作業を行う箇所を経由して動作するロボットの位置と回転動作とを時系列に沿って並べた複数のロボット動作プログラムを前記作業を行う箇所に対応する記述を基準として分割して分割プログラムを生成し、生成した前記分割プログラムを、どの箇所を終点とするプログラムであるか、又はどの箇所を始点とするプログラムであるかを示す識別情報と関連付け、
    前記分割プログラムに記述されているロボットの移動を単位ベクトルで記述するとともに前記ロボットの回転動作を回転軸で記述する処理と、該分割プログラムの座標系を共通の座標系に変換する処理と、を実行して、前記分割プログラムを正規化し、
    前記識別情報が共通する正規化した前記分割プログラムにおいて共通する記述を抽出して、前記ロボット動作プログラムの生成に利用可能なテンプレートを生成する、
    処理をコンピュータに実行させるためのロボット動作プログラム生成補助プログラム。
JP2018102312A 2018-05-29 2018-05-29 情報処理装置、ロボット動作プログラム生成補助方法及びロボット動作プログラム生成補助プログラム Active JP7192251B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018102312A JP7192251B2 (ja) 2018-05-29 2018-05-29 情報処理装置、ロボット動作プログラム生成補助方法及びロボット動作プログラム生成補助プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018102312A JP7192251B2 (ja) 2018-05-29 2018-05-29 情報処理装置、ロボット動作プログラム生成補助方法及びロボット動作プログラム生成補助プログラム

Publications (2)

Publication Number Publication Date
JP2019206054A JP2019206054A (ja) 2019-12-05
JP7192251B2 true JP7192251B2 (ja) 2022-12-20

Family

ID=68767261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018102312A Active JP7192251B2 (ja) 2018-05-29 2018-05-29 情報処理装置、ロボット動作プログラム生成補助方法及びロボット動作プログラム生成補助プログラム

Country Status (1)

Country Link
JP (1) JP7192251B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7488036B2 (ja) * 2019-10-15 2024-05-21 ファナック株式会社 プログラミング補助装置およびプログラム作成方法
CN117601143B (zh) * 2023-11-23 2024-07-30 中建新疆建工集团第三建设工程有限公司 基于多传感器融合的智能巡检机器人及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004240966A (ja) 2003-01-17 2004-08-26 Fuji Electric Systems Co Ltd 加工仕様のパターン化方法、パターン化情報を用いた切削条件・サイクルタイム抽出方法、そのプログラム
JP2014232450A (ja) 2013-05-29 2014-12-11 日本電産サンキョー株式会社 データ処理装置およびデータ処理方法
JP2017102720A (ja) 2015-12-02 2017-06-08 株式会社安川電機 機械制御プログラム作成装置、機械制御システム、ライブラリ生成方法、機械制御プログラム追加方法及び制御方法
WO2017159562A1 (ja) 2016-03-14 2017-09-21 オムロン株式会社 動作情報生成装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61250705A (ja) * 1985-04-30 1986-11-07 Hitachi Ltd 産業用ロボツトの座標変換方式

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004240966A (ja) 2003-01-17 2004-08-26 Fuji Electric Systems Co Ltd 加工仕様のパターン化方法、パターン化情報を用いた切削条件・サイクルタイム抽出方法、そのプログラム
JP2014232450A (ja) 2013-05-29 2014-12-11 日本電産サンキョー株式会社 データ処理装置およびデータ処理方法
JP2017102720A (ja) 2015-12-02 2017-06-08 株式会社安川電機 機械制御プログラム作成装置、機械制御システム、ライブラリ生成方法、機械制御プログラム追加方法及び制御方法
WO2017159562A1 (ja) 2016-03-14 2017-09-21 オムロン株式会社 動作情報生成装置

Also Published As

Publication number Publication date
JP2019206054A (ja) 2019-12-05

Similar Documents

Publication Publication Date Title
JP6431302B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP5134664B2 (ja) アノテーション装置
JP6640060B2 (ja) ロボットシステム
JP7192251B2 (ja) 情報処理装置、ロボット動作プログラム生成補助方法及びロボット動作プログラム生成補助プログラム
WO2018173108A1 (ja) 関節位置推定装置、関節位置推定方法及び関節位置推定プログラム
Resig Using computer vision to increase the research potential of photo archives
KR102040525B1 (ko) 인공지능 기반 부품 검색 시스템
US20190354533A1 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
JP4650878B2 (ja) 3次元形状処理装置及び3次元形状処理方法
JP2017130049A (ja) 画像処理装置、画像処理方法及びプログラム
JP5933126B2 (ja) 解析用メッシュデータ生成方法および解析用メッシュデータ生成装置
JP7205646B2 (ja) 出力方法、出力プログラム、および出力装置
JP6143462B2 (ja) 画像検索装置、画像検索方法、検索元画像提供装置、検索元画像提供方法、及びプログラム
KR102382749B1 (ko) 조립 구조물 지원 장치와 방법
TWI780382B (zh) 微控制器更新系統和方法
Mishra et al. Adversarial Transfer Learning for Surgical Instrument Segmentation in Endoscopic Images
CN115428013A (zh) 信息处理装置和程序
EP3855363A1 (en) Computer implemented method and device for classifying data
JP2018083277A (ja) 組立作業ロボットの動作生成方法、動作生成プログラム、及び動作生成装置
CN113838177B (zh) 一种手部动画制作方法及系统
KR20190100529A (ko) 사용자의 얼굴을 인식하는 장치, 방법 및 컴퓨터 프로그램
JP7491678B2 (ja) 工作機械のパラメータ設定装置及びパラメータ設定システム
KR102449855B1 (ko) Vl 알고리즘을 이용한 실내 측위 장치 및 방법
WO2024176573A1 (ja) データ拡張装置、データ拡張方法、及びプログラム
US11393124B2 (en) Information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220707

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: 20221108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221121

R150 Certificate of patent or registration of utility model

Ref document number: 7192251

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150