(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-30
(45)【発行日】2022-09-07
(54)【発明の名称】動作素片作成装置、動作素片作成方法、及び動作素片作成プログラム
(51)【国際特許分類】
G05B 19/4093 20060101AFI20220831BHJP
B25J 9/22 20060101ALI20220831BHJP
【FI】
G05B19/4093 A
B25J9/22 A
(21)【出願番号】P 2018113181
(22)【出願日】2018-06-13
【審査請求日】2021-04-20
(73)【特許権者】
【識別番号】515086908
【氏名又は名称】株式会社トヨタプロダクションエンジニアリング
(74)【代理人】
【識別番号】110002516
【氏名又は名称】特許業務法人白坂
(72)【発明者】
【氏名】藤城 淳
【審査官】木原 裕二
(56)【参考文献】
【文献】特開2007-144538(JP,A)
【文献】特開2009-066692(JP,A)
【文献】特開2012-091304(JP,A)
【文献】特開2008-165543(JP,A)
【文献】特開平10-283010(JP,A)
【文献】国際公開第2011/039542(WO,A1)
【文献】米国特許出願公開第2014/0263225(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/4093
B25J 9/22
(57)【特許請求の範囲】
【請求項1】
溶接ロボットの溶接対象に対する処理工程を示す動作プログラムの一部である動作素片を作成する動作素片作成装置であって、
溶接対象の所定の溶接打点に対する前記溶接ロボットの溶接ガンの進入処理、溶接、前記所定の溶接打点からの退避処理とから成る動作素片を記憶している記憶部と、
複数の互いに異なる同種の溶接対象において、各溶接対象にお
ける、(1)前記進入処理における前記溶接ガンの進入角度が所定の範囲内の進入角であるか、(2)前記退避処理における前記溶接ガンの退避角度が所定の範囲内の退避角であるか、(3)前記溶接打点の位置情報が所定の距離内にあるか、のうち少なくともいずれか一つを満たす前記所定の溶接打点に対する動作素片を前記記憶部から取得する取得部と、
前記取得部が取得した複数の動作素片における進入処理を平均化するとともに、当該複数の動作素片における退避処理を平均化し、平均化された進入処理と、溶接と、平均化された退避処理とからなる動作素片を作成する作成部と、を備える動作素片作成装置。
【請求項2】
前記作成部は、作成した動作素片を前記記憶部に記憶させることを特徴とする請求項1に記載の動作素片作成装置。
【請求項3】
前記作成部は、前記作成した動作素片を、当該動作素片の対象となった打点位置と、前記溶接ロボットの進入角度と、前記溶接ロボットの退避角度と、溶接対象の金属の組み合わせを示す板組情報と、を対応付けて前記記憶部に記憶させることを特徴とする請求項2に記載の動作素片作成装置。
【請求項4】
前記溶接ロボットは、複数軸からなる多関節ロボットであり、
前記動作プログラムは、前記複数軸それぞれの軸角度の変化により前記処理工程を定義したものであり、
前記作成部は、複数の動作素片の進入処理で示される軸角度を平均化することにより、前記進入処理を平均化する
ことを特徴とする請求項1~3のいずれか一項に記載の動作素片作成装置。
【請求項5】
前記溶接ロボットは、複数軸からなる多関節ロボットであり、
前記動作プログラムは、前記複数軸それぞれの軸角度の変化により前記処理工程を定義したものであり、
前記作成部は、複数の動作素片の退避処理で示される軸角度を平均化することにより、前記退避処理を平均化する
ことを特徴とする請求項1~4のいずれか一項に記載の動作素片作成装置。
【請求項6】
前記動作素片作成装置は、更に、
新たな溶接対象に対する溶接打点の打点位置を示す情報と、当該打点位置への進入角度を示す情報と、当該打点位置からの退避角度を示す情報と、板組情報とのうちの少なくともいずれか一つの入力を受け付ける受付部と、
前記受付部が受け付けた情報が所定の条件を満たす動作素片を前記記憶部から検索し、新たな動作プログラムの一部として、提示する提示部と、を備える
請求項1から5のいずれか一項に記載の動作素片作成装置。
【請求項7】
溶接ロボットの溶接対象に対する処理工程を示す動作プログラムの一部である動作素片を作成する動作素片作成装置のコンピュータが前記動作素片を作成する動作素片作成方法であって、
溶接対象の所定の溶接打点に対する前記溶接ロボットの溶接ガンの進入処理、溶接、前記所定の溶接打点からの退避処理とから成る動作素片を記憶している前記動作素片作成装置の記憶部から、複数の互いに異なる同種の溶接対象において、各溶接対象にお
ける、(1)前記進入処理における前記溶接ガンの進入角度が所定の範囲内の進入角であるか、(2)前記退避処理における前記溶接ガンの退避角度が所定の範囲内の退避角であるか、(3)前記溶接打点の位置情報が所定の距離内にあるか、のうち少なくともいずれか一つを満たす前記所定の溶接打点に対する動作素片を前記記憶部から取得する取得ステップと、
前記取得ステップが取得した複数の動作素片における進入処理を平均化するとともに、当該複数の動作素片における退避処理を平均化し、平均化された進入処理と、溶接と、平均化された退避処理とからなる動作素片を作成する作成ステップと、を含む動作素片作成方法。
【請求項8】
溶接ロボットの溶接対象に対する処理工程を示す動作プログラムの一部である動作素片を作成する動作素片作成装置のコンピュータに、
溶接対象の所定の溶接打点に対する前記溶接ロボットの溶接ガンの進入処理、溶接、前記所定の溶接打点からの退避処理とから成る動作素片を記憶している前記動作素片作成装置の記憶部から、複数の互いに異なる同種の溶接対象において、各溶接対象にお
ける、(1)前記進入処理における前記溶接ガンの進入角度が所定の範囲内の進入角であるか、(2)前記退避処理における前記溶接ガンの退避角度が所定の範囲内の退避角であるか、(3)前記溶接打点の位置情報が所定の距離内にあるか、のうち少なくともいずれか一つを満たす前記所定の溶接打点に対する動作素片を前記記憶部から取得する取得機能と、
前記取得機能が取得した複数の動作素片における進入処理を平均化するとともに、当該複数の動作素片における退避処理を平均化し、平均化された進入処理と、溶接と、平均化された退避処理とからなる動作素片を作成する作成機能と、を実現させる動作素片作成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多関節ロボットを制御する動作プログラムの可否を判定する動作素片作成装置、動作素片作成方法及び動作素片作成プログラムに関する。
【背景技術】
【0002】
近年、各種のロボット、例えば、製造ラインに設置された多関節ロボットに対して、どのような動作をしてどのような処理を実行するのかを規定する動作プログラムを用いて、制御することが行われている。この動作プログラムを、PC上でユーザがプログラムを作成して、ロボットに転送され、実行する場合に、この処理をオフラインティーチングと呼称する。そして、このようなオフラインティーチングにより作成された動作プログラムをティーチングデータと呼称することがある。特許文献1には、作業点と退避点とを含むティーチングデータを作業点毎に分割し、関連性のある退避点を含ませて得られるグループを設定し、新規のティーチングデータを作成する際に作業点毎に設定したグループのいずれかを選択してティーチングデータを作成することが開示されている。また、特許文献2には、ベースワークモデルの作業経路情報を利用して、ベースワークモデルと形状が類似する類似ワークモデルの作業経路情報を生成する技術が開示されている。更に、特許文献3には、サンプルプログラムと教示点位置データとを登録したパターンライブラリから、プログラムするワークと形状が類似するサンプルプログラムを引用し、サンプルプログラムをもとに教示データを作成する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2007-144538号公報
【文献】特開2014-194658号公報
【文献】特開平7-311613号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記特許文献1~3に示す技術では、既存のデータを利用して新たな動作プログラムを作成することが開示されているが、対象となるワークによっては、既存のデータを利用できない可能性がある。そのため、動作プログラムの一部である動作素片について、より汎用性の高いものが求められている。
【0005】
そこで、本発明は上記問題に鑑みてなされたものであり、ロボットの動作プログラムを作成する上で利用可能な動作素片を作成するものであって、従来よりも汎用性の高い動作素片を作成する動作素片作成装置、動作素片作成方法、動作素片作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係る動作素片作成装置は、溶接ロボットの溶接対象に対する処理工程を示す動作プログラムの一部である動作素片を作成する動作素片作成装置であって、溶接対象の所定の溶接打点に対する溶接ロボットの溶接ガンの進入処理、溶接、所定の溶接打点からの退避処理とから成る動作素片を記憶している記憶部と、複数の互いに異なる同種の溶接対象において、各溶接対象において共通する所定の溶接打点に対する動作素片を記憶部から取得する取得部と、取得部が取得した複数の動作素片における進入処理を平均化するとともに、当該複数の動作素片における退避処理を平均化し、平均化された進入処理と、溶接と、平均化された退避処理とからなる動作素片を作成する作成部と、を備える。
【0007】
また、本発明の一態様に係る動作素片作成方法は、溶接ロボットの溶接対象に対する処理工程を示す動作プログラムの一部である動作素片を作成する動作素片作成装置のコンピュータが動作素片を作成する動作素片作成方法であって、溶接対象の所定の溶接打点に対する溶接ロボットの溶接ガンの進入処理、溶接、所定の溶接打点からの退避処理とから成る動作素片を記憶している動作素片作成装置の記憶部から、複数の互いに異なる同種の溶接対象において、各溶接対象において共通する所定の溶接打点に対する動作素片を記憶部から取得する取得ステップと、取得ステップが取得した複数の動作素片における進入処理を平均化するとともに、当該複数の動作素片における退避処理を平均化し、平均化された進入処理と、溶接と、平均化された退避処理とからなる動作素片を作成する作成ステップと、を含む。
【0008】
また、本発明の一態様に係る動作素片作成プログラムは、溶接ロボットの溶接対象に対する処理工程を示す動作プログラムの一部である動作素片を作成する動作素片作成装置のコンピュータに、溶接対象の所定の溶接打点に対する溶接ロボットの溶接ガンの進入処理、溶接、所定の溶接打点からの退避処理とから成る動作素片を記憶している動作素片作成装置の記憶部から、複数の互いに異なる同種の溶接対象において、各溶接対象において共通する所定の溶接打点に対する動作素片を記憶部から取得する取得機能と、取得機能が取得した複数の動作素片における進入処理を平均化するとともに、当該複数の動作素片における退避処理を平均化し、平均化された進入処理と、溶接と、平均化された退避処理とからなる動作素片を作成する作成機能と、を実現させる。
【0009】
また、上記動作素片作成装置において、作成部は、作成した動作素片を記憶部に記憶させることとしてもよい。
【0010】
また、上記動作素片作成装置において、作成部は、作成した動作素片を、当該動作素片の対象となった打点位置と、溶接ロボットの進入角度と、溶接ロボットの退避角度と、溶接対象の金属の組み合わせを示す板組情報と、を対応付けて記憶部に記憶させることとしてもよい。
【0011】
また、上記動作素片作成装置において、溶接ロボットは、複数軸からなる多関節ロボットであり、動作プログラムは、複数軸それぞれの軸角度の変化により処理工程を定義したものであり、作成部は、複数の動作素片の進入処理で示される軸角度を平均化することにより、進入処理を平均化することとしてもよい。
【0012】
また、上記動作素片作成装置において、溶接ロボットは、複数軸からなる多関節ロボットであり、動作プログラムは、複数軸それぞれの軸角度の変化により処理工程を定義したものであり、作成部は、複数の動作素片の退避処理で示される軸角度を平均化することにより、退避処理を平均化することとしてもよい。
【0013】
また、上記動作素片作成装置において、動作素片作成装置は、更に、新たな溶接対象に対する溶接打点の打点位置を示す情報と、当該打点位置への進入角度を示す情報と、当該打点位置からの退避角度を示す情報と、板組情報とのうちの少なくともいずれか一つの入力を受け付ける受付部と、受付部が受け付けた情報が所定の条件を満たす動作素片を記憶部から検索し、新たな動作プログラムの一部として、提示する提示部と、を備えることとしてもよい。
【発明の効果】
【0014】
動作素片作成装置は、多関節ロボットのための新たな動作プログラムを作成するにあたって、所定の溶接打点に対する動作素片を利用することにより、動作プログラムの作成を支援することができる。
【図面の簡単な説明】
【0015】
【
図1】動作素片作成装置の構成例を示すブロック図である。
【
図3】スニペットの一例を示すデータ概念図である。
【
図4】動作素片作成装置のスニペットの作成動作を示すフローチャートである。
【
図5】動作素片作成装置のスニペットの利用に係る動作を示すフローチャートである。
【
図6】(a)~(c)は、スニペットの作成の具体例を示す図である。
【
図7】(a)、(b)は、類似の溶接打点の具体例を示す図である。
【
図8】動作素片作成装置の他の構成例を示すブロック図である。
【発明を実施するための形態】
【0016】
以下、本発明の一実施態様に係る動作素片作成装置について、図面を参照しながら詳細に説明する。
【0017】
<実施形態1>
<構成>
図1に示すように、本発明に係る動作素片作成装置100は、受付部110と、記憶部120と、制御部130と、出力部140とを備える。動作素片作成装置100は、ユーザからの入力に従って、多関節ロボット1の動作を規定する動作プログラムを作成するための装置である。動作素片作成装置100において、ユーザは、所定の打点に対して、進入し、溶接を行って、退避するという一連の行動を示した動作素片(以下、スニペットと呼称する)を用いて動作プログラムを作成することができる。言い換えれば、動作素片は、所定の一連の処理を規定する部分プログラムであるとも言える。動作素片作成装置100は、当該所定の打点に対する一連の処理を示すスニペットを作成する装置である。ここで動作プログラムは、多関節ロボット1の動作を規定するものであって、その動作手順を規定するものである。当該動作手順には、例えば、多関節ロボットの各関節の回転や実質的処理(例えば、溶接、物体の把持、何らかの施工など)などが含まれる。
【0018】
ここで、多関節ロボット1について説明する。
図2は、多関節ロボット1の一例である。
図2には、多関節ロボット1が、6軸ロボットであって溶接ロボットである例を示している。本実施の形態における多関節ロボット1は、6軸ロボットであるとして説明するが、多関節ロボット1が6軸ロボットに限定されるものではないことは言うまでもない。6軸ロボットは、
図2に示すように、軸A1が、矢印R1で示される方向に回動し、軸A1に接続された軸A2が、矢印R2で示される方向に回動する。軸A2に接続されたアームM1が軸A2を中心に回動することで、当該アームM1の先に接続された軸A3も移動する。軸A3は、矢印R3で示される方向に回動する。軸A3に接続されたアームM2は、軸A3の回動に伴って、軸A3を中心に回動することで、当該アームM2の先に接続された軸A5も移動する。また、アームM2は、軸A4を中心に矢印R4で示される方向に回動する。これに伴い、軸A5もまた、軸A4を中心に回動することになる。軸A5は、矢印R5で示される方向に回動する軸であり、これに伴って、軸A5の先に接続されているアームM3も回動する。アームM3は、軸A6を中心に、矢印R6で示される方向に回動し、これに伴って、多関節ロボット1の先端部の溶接打点も回動する。なお、多関節ロボット1は、従来のものと同様であるとして、詳細な構成についての説明は割愛する。このような多関節ロボット1の場合、スニペットは、多関節ロボット1の先端の溶接ガンG1の進入処理(進入経路)と、溶接打点での打点処理と、打点からの溶接ガンG1の退避処理(退避経路)とを規定するものであってよい。
【0019】
これらの軸A1~軸A6の各軸の回動により、多関節ロボット1は、先端の溶接点を任意の位置に移動させることができる。動作素片作成装置100は、
図1に示すように多関節ロボット1と有線または無線により通信可能に接続されてよく、多関節ロボット1を制御できるように構成されてもよい。ここで多関節ロボット1を制御するとは、動作素片作成装置100で動作プログラムを作成して、出力部140から当該動作プログラムを多関節ロボット1に転送して、実行させることを意味する。
【0020】
図1に戻って、受付部110は、ユーザからの多関節ロボット1を制御する動作プログラムを作成するうえで、ユーザからの入力を受け付け、その入力内容を、制御部130に伝達する。受付部110は、例えば、ユーザからの入力を受け付けるためのタッチパネルやハードウェアキー、マウスなどのポインティングデバイスなどにより実現されるものであってよい。また、受付部110は、動作プログラムを作成するうえで、ユーザが記憶部120に記憶されているスニペットを利用する場合に、スニペットを特定するための情報として、溶接を行う打点位置、打点位置への多関節ロボット1の進入角度、打点位置からの多関節ロボット1の退避角度、溶接を行う金属の組み合わせを示す板組情報のうち、少なくともいずれか一つの入力を受け付けて、制御部130に伝達する。
【0021】
記憶部120は、動作素片作成装置100が動作上必要とする各種プログラム及び各種データを記憶する機能を有する。記憶部120は、各種の記録媒体により実現され、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリなどにより実現できる。記憶部120は、動作素片として、スニペットの情報を記憶している。ここで、記憶部120は、2種類のスニペットを記憶する。1種類目は、過去において、特定の対象の特定の溶接打点に対する一連の処理を規定したスニペットであり、もう一種類は、類似する対象において、類似する特定の溶接打点に対するスニペットを平均化した動作素片作成装置100が作成するスニペットである。ここで、スニペットとは、ある溶接打点に対して、多関節ロボット1の溶接ガンの進入、溶接、溶接ガンの溶接打点からの退避の一連の動作処理を定めたものであり、動作プログラムの一部となりえる部分プログラムとも読めるプログラム情報である。以降において、1種類目のスニペットを、既存スニペットと呼称し、既存スニペットに基づいて制御部130(作成部131)が作成したスニペットを平均化スニペットと呼称する。スニペットの詳細については、後述する。また、記憶部120は、既存スニペットから平均化スニペットを作成するための動作素片作成プログラムを記憶している。
【0022】
制御部130は、動作素片作成装置100の各部を制御する機能を有する。制御部130は、記憶部120に記憶されている動作素片作成プログラムを読み出して実行することにより、動作素片作成装置100としての機能を実行するプロセッサとして実現することができる。
【0023】
制御部130は、汎用性の高いスニペットを作成する作成部131として機能する。作成部131は、類似するワークの同様の位置に対する溶接を行ったスニペットを複数記憶部120から読み出し、当該複数のスニペットを平均化することで汎用性の高いスニペットを作成する。具体的には、作成部131は、記憶部120に記憶されている既存スニペットの中から、類似の作業対象であって、当該作業対象において類似する箇所に対して処理を行っているものを抽出する。一連のプログラム(溶接に係る一連の処理を示すプログラムであって、1以上のスニペットとなり得る要素を含むプログラム)は、記憶部120において、例えば、車両のフロントドアオープニングや、ルーフ回りなどの打点部位ごとに分類されてよく、更には、当該分類の中、例えば、フロントドアオープニング部分、ルーフ回りそれぞれだけでも、部位により、いくつかの打点グループに分類されていてもよい。即ち、一例として、フロントドアオープニング部分の場合であれば、フロントドアオープニング部分という大分類の下に、更に、フロントドアオープニング部分の中でも部分部分に分けた小分類が成されていてもよい。作成部131は、この打点記号の情報を用いて、既存スニペットの中でも、打点間の位置関係が近い既存スニペットを選択することにより、精度高く類似性が高いと目される既存スニペットを自動的に抽出する。ここで、打点間の位置関係とは、ある打点に対する既存スニペットがある場合に、この打点とその打点に隣接する打点の位置との配置関係を意味する。なお、ここで隣接するとは、隣の打点だけでなく、2つ向うの打点など複数の打点を含んでもよい。また、打点間の位置関係に基づく類似性とは、第1の既存スニペットと第2の既存スニペットとがあった場合に、第1の既存スニペットが対象とする打点とその打点に隣接する2以上の打点との位置関係である第1位置関係と、第2の既存スニペットが対象とする打点とその打点に隣接する2以上の打点との位置関係である第2位置関係と、の間の類似性のことをいう。また、類似性は、一例として、第1位置関係と第2位置関係との間の相関係数を算出することにより求めることができる。作成部131は、例えば、基準とする既存スニペットを1つ選択し、この既存スニペットに対して、打点記号の類似性が所定の閾値よりも高く、打点の位置関係の類似性が所定の閾値よりも高い他の既存スニペットを抽出する。そして、作成部131は、抽出した複数の既存スニペットについて、その処理工程を平均化する。例えば、既存スニペットが、特定の溶接打点に対して、多関節ロボット1を進入させ、溶接を実行し、溶接打点から多関節ロボット1を退避させるという一連の処理を行うものである場合に、まず、作成部131は、各既存スニペットについて、溶接打点の位置合わせを行う。これにより、各既存スニペットにおいて、進入経路の終点の位置合わせと、退避経路の始点の位置合わせとを実現することができる。そして、作成部131は、各既存スニペットの進入に係る処理の平均化を実行する。即ち、作成部131は、当該進入経路を形成する多関節ロボット1の各軸の軸値を平均化する(軸値を加算し、加算に用いた既存スニペットの数で除する)。また、同様に、作成部131は、各既存スニペットの退避に係る処理の平均化を実行する。即ち、作成部131は、当該退避経路を形成する多関節ロボット1の各軸の軸値を平均化する(軸値を加算し、加算に用いた既存スニペットの数で除する)。これにより、作成部131は、特定の溶接打点に対する、平均化した進入処理と、平均化した退避処理と、を得る。そして、作成部131は、平均化した進入処理と、溶接打点における溶接、平均化した退避処理と、を併せて平均化スニペットを作成する。作成部131は、作成した平均化スニペットを記憶部120に記憶させる。
【0024】
また、制御部130は、受付部110から伝達された平均化スニペットを検索するための情報を伝達されて、当該情報に合致する平均化スニペットを記憶部120から検索し、検索により得られた平均化スニペットを提示する提示部132として機能する。提示部132は、検索により得た平均化スニペットを出力部140に出力させることで、動作プログラムを作成するユーザに対して利用可能なスニペットを提供する。
【0025】
出力部140は、制御部130から指定された情報を出力する機能を有する。出力部140は、例えば、画像や文章を表示するためのモニターや、音声を出力するスピーカ、あるいは、外部のモニター等に情報を表示させるための表示情報を出力する出力ポートなどにより実現することができる。出力部140は、提示部132からの指示に従って、検索により得られた平均化スニペットの情報を出力する。
【0026】
以上が動作素片作成装置100の構成である。なお、ここでは、詳細には記載しなかったが、動作素片作成装置100は、従来のオフラインティーチングのための動作プログラムを作成するコンピュータシステムとして機能してよく、ユーザからの入力にしたがって、動作プログラムを作成する。
【0027】
<データ>
図3は、スニペットの一例を示す図であり、そのデータ概念図である。
【0028】
図3に示すように、スニペット300は、一例として、スニペットID301と、ステップ情報302と、行動情報303とが対応付けられた情報である。
【0029】
スニペットID301は、動作素片であるスニペットについて、複数のスニペットの中から各スニペットを一意に特定するための識別情報である。
【0030】
ステップ情報302は、スニペット300中で、多関節ロボット1が動作する処理の手順を示す情報であり、当該順序に従って、多関節ロボット1は動作することになる。
【0031】
行動情報303は、対応するステップ情報302で示されるステップ番号の処理を実行する際に、多関節ロボット1がとるべき行動を示す情報である。行動情報303においては、多関節ロボット1が移動する場合には、多関節ロボット1を構成する各軸の軸角度の情報が示され、溶接処理を行う際には、溶接を実行することが示される。多関節ロボット1を移動させる場合には、行動情報303で示される軸角度を出力することで、多関節ロボット1の各軸は、行動情報303で示される軸角度で示される角度に回転する。なお、ここでは、多関節ロボット1を一例として溶接ロボットとして説明するために、行動情報303として溶接を示しているが、これは、多関節ロボット1が、他の一例として、溶接ロボットではなく何らかの物品を移動させるものであれば、物品の把持、物品の載置といった行動を規定することになる。
【0032】
また、
図3には、図示できていないが、スニペット300には、更に、溶接を行う際の進入経路の多関節ロボット1の進入角度(
図3で言えば、step1_01~step1_03の処理を行う際の進入経路が、溶接打点に対してなす角度)の情報や、溶接対象における溶接打点の位置、溶接打点からの退避経路(
図3で言えば、step1_05以降の処理を行う際の退避経路が、溶接打点に対してなす角度)の情報や、溶接対象の2種類の金属の組み合わせを示す板組情報が対応づけられてよい。これらの情報がスニペット300に対応付けられていることにより、動作プログラムを作成するうえで、スニペット300を利用する際に、スニペット300を検索することができる。
【0033】
動作素片作成装置100の記憶部120には、
図3に示すような、互いに異なる溶接打点位置を対象としたスニペット300が複数記憶されており、動作素片作成装置100は、動作プログラムを作成するうえで、ユーザの利便性の向上に貢献することができる。
【0034】
<動作>
図4は、動作素片作成装置100による動作素片の作成処理を示すフローチャートである。以下、
図4を用いて、動作素片作成装置100の動作素片を作成する処理を説明する。
【0035】
(ステップS401)
ステップS401において、動作素片作成装置100の制御部130(作成部131)は、複数の互いに異なる種類の車両の共通する溶接打点を有する既存スニペットを特定する。そして、作成部131は、特定した既存スニペットを記憶部120から読み出す。その後に、動作素片作成装置100は、ステップS402の処理に移行する。
【0036】
(ステップS402)
ステップS402において、作成部131は、読み出した既存スニペットについて、溶接を行っている溶接打点の位置合わせを行う。そして、位置合わせ後に、作成部131は、溶接処理を行うまでのステップを、溶接打点への多関節ロボット1の進入処理であるとして、当該進入処理を構成する軸値を各既存スニペットから抽出する。そして、作成部131は、抽出した軸値を平均化する。これにより複数の既存スニペットの進入処理を平均化する。また、作成部131は、溶接処理を行った後のステップを、溶接打点からの多関節ロボット1の退避処理であるとして、当該退避処理を構成する軸値を各既存スニペットから抽出する。そして、作成部131は、抽出した軸値を平均化する。これにより複数の既存スニペットの退避処理を平均化する。その後に、動作素片作成装置100は、ステップS403の処理に移行する。
【0037】
(ステップS403)
ステップS403において、作成部131は、平均化した進入処理と、溶接処理と、平均化した退避処理とを併せた平均化スニペットとして記憶部120に記憶させる。このとき、作成部131は、この平均化スニペットに対して、作業対象における打点位置の情報と、平均化した進入処理から算出される打点位置への進入角度と、平均化した退避処理から算出される打点位置からの退避角度とを、対応付けて記憶部120に記憶させて、処理を終了する。
【0038】
図4に示す処理によって、動作素片作成装置100は、多関節ロボット1に対して入力する動作プログラムに利用可能な汎用性の高い動作素片を作成し、記憶部120に記憶することができる。
【0039】
図5は、動作素片作成装置100において、平均化スニペットを利用する際の処理を示すフローチャートである。
図5を用いて、ユーザが平均化スニペットを利用する際の、動作素片作成装置100の動作を説明する。
【0040】
(ステップS501)
ステップS501において、動作素片作成装置100の受付部110は、利用する平均化スニペットを特定するための、打点位置、打点位置に対して多関節ロボット1が進入する進入角度、打点位置から退避する退避角度、板組情報のうち、少なくともいずれか一つの入力を受け付ける。ここで、受け付ける情報が多いほど、制御部130は、ユーザが所望する平均化スニペットの絞り込みを行うことができる。受付部110は、受け付けた情報を、制御部130に伝達する。その後に、動作素片作成装置100は、ステップS502の処理に移行する。
【0041】
(ステップS502)
ステップS502において、制御部130は、条件に合致する平均化スニペットがあるか否か検索する。例えば、受付部110が打点位置についての情報を受け付けている場合には、制御部130は、受け付けた打点位置から所定距離内に存在する打点位置が対応付けられている平均化スニペットがあるか否かに基づいて、検索する。また、例えば、受付部110が進入角度についての情報を受け付けている場合には、制御部130は、受け付けた進入角度から、所定の範囲内の角度を示す進入角度が対応付けられている平均化スニペットがあるか否かに基づいて、検索する。また、例えば、受付部110が退避角度についての情報を受け付けている場合には、制御部130は、受け付けた退避角度から、所定の範囲内の角度を示す退避角度が対応付けられている平均化スニペットがあるか否かに基づいて、検索する。また、例えば、受付部110が板組情報を受け付けている場合には、制御部130は、受け付けた板組情報から、同種の組み合わせを示す板組情報が対応付けられている平均化スニペットがあるか否かに基づいて、検索する。受付部110が受け付けた条件に合致するスニペットを検索できた場合に(YES)、動作素片作成装置100は、ステップS503の処理に移行し、検索できなかった場合に(NO)、動作素片作成装置100は、ステップS504の処理に移行する。
【0042】
(ステップS503)
ステップS503において、提示部132は、検索結果の平均化スニペットを出力部140に出力するように指示して、処理を終了する。これにより、ユーザは、平均化スニペットを用いて、動作プログラムの作成を、自身で各ステップを定義する場合よりも容易に行うことができる。
【0043】
(ステップS504)
ステップS504において、提示部132は、検索の条件に合致する平均化スニペットがなかったことを示す情報を出力部140に出力するように指示して、処理を終了する。
【0044】
図5に示す処理によって、動作素片作成装置100は、多関節ロボット1に対して入力する動作プログラムの作成時に、平均をとることによって汎用性を高めた動作素片を利用することができる。
【0045】
<具体例>
スニペットの作成の一具体例を、
図6を用いて説明する。
図6においては、スニペットについて、進入開始位置、進入経路、溶接打点位置、退避経路、退避完了位置を模式的に2次元で示している。
【0046】
図6(a)は、複数の既存スニペット601~603の例を示している。既存スニペット601は、進入開始位置611から進入経路612で示される経路で溶接打点位置613まで多関節ロボット1を移動させ、溶接打点位置613にて溶接を行った後に溶接打点位置613から退避経路614で示される経路で、退避完了位置615まで多関節ロボット1を移動させる処理を示すスニペットである。同様に、既存スニペット602は、進入開始位置621から進入経路622で示される経路で溶接打点位置623まで多関節ロボット1を移動させ、溶接打点位置623にて溶接を行った後に溶接打点位置623から退避経路624で示される経路で、退避完了位置625まで多関節ロボット1を移動させる処理を示すスニペットである。また、既存スニペット603は、進入開始位置631から進入経路632で示される経路で溶接打点位置633まで多関節ロボット1を移動させ、溶接打点位置633にて溶接を行った後に溶接打点位置633から退避経路634で示される経路で、退避完了位置635まで多関節ロボット1を移動させる処理を示すスニペットである。各既存スニペット601~603は、類似の処理対象の類似の処理箇所に対する溶接処理であるとする。類似の処理対象とは、同種の機能を有し、類似するものの別の形状を有するものであればよく、例えば、異なる車種の似たような形状を有する車両であってよい。また、類似の処理箇所とは、例えば、各車両における同じ個所(例えば、車両のフロントドアのオープニング部分に対する溶接などのことをいい、一具体例を示すと、
図7(a)、(b)に示すように、互いに異なる車両において、共通する箇所の溶接の箇所のこと。
図7においては、黒点で溶接打点を示しているが、それらのうち、例えば、
図7(a)の溶接打点701aと
図7(b)の溶接打点701bとが類似の処理箇所といえ、
図7(a)の溶接打点702aと
図7(b)の溶接打点702bとが類似の処理箇所といえる。)のことをいう。
【0047】
図6(a)に示すような既存スニペット601~603があった場合に、作成部131は、
図6(b)に示すように溶接打点位置613、623、633の位置合わせを行う。位置合わせを行うとは、各溶接打点位置に対する各既存スニペットの進入開始位置、進入経路、退避経路、退避完了位置との位置関係を保ったまま、溶接打点位置を重ね合わせることをいう。
【0048】
作成部131は、
図6(b)に示すように溶接打点位置を重ね合わせた状態で、各進入経路612、622、623の平均化を行うとともに、各退避経路614、624、625の平均化を行う。これにより、作成部131は、
図6(c)に示すように、多関節ロボット1を、進入開始位置651から進入経路652で示される経路を通って溶接打点位置653にまで移動させて、溶接打点位置653において溶接を実行させ、溶接打点位置653から、退避経路654で示される経路を通って、退避完了位置655まで退避させる平均化スニペット605を作成する。
【0049】
<まとめ>
上記実施の形態に係る動作素片作成装置100によれば、形状が類似する処理対象の同様の処理箇所に対して、実行された複数の処理それぞれを示す既存スニペットから、当該処理箇所に対して、より汎用性が高い平均化スニペットを作成することができる。したがって、スニペットを平均化することで、同様の対象に対して同様の処理を行う場合に、スニペットの汎用性を向上させることができる。これにより、動作プログラムを作成するうえで、ユーザは、スニペットを利用しやすくなるので、動作プログラムの作成負担を軽減することができる。
【0050】
<補足>
上記実施形態に係る動作素片作成装置は、上記実施形態に限定されるものではなく、他の手法により実現されてもよいことは言うまでもない。以下、各種変形例について説明する。
【0051】
(1)上記実施の形態において、動作素片作成装置が作成する動作素片として、多関節ロボットを対象とした場合を一例として説明しているが、これは多関節ロボットに限定されるものではない。動作素片作成装置が作成する動作素片は、似たようなワークを対象に、似たような処理を実行するロボットであれば、どのようなロボットに対するものであってもよい。例えば、何らかの物体を運搬する運搬ロボットであっても、物体を保持する位置まで移動し、物体を把持し、把持した物体を所定の場所まで移動させるというような処理について、複数の同様の形状を利用する物体に対して生成した動作素片を複数記憶し、その平均をとって、汎用性の高い動作素片を作成することとしてよい。
【0052】
また、多関節ロボット1にしても、上記実施の形態においては、一例として6軸ロボットを用いて説明したが、多関節ロボット1は6軸ロボットに限るものではない。5軸ロボットや7軸ロボットなどであってもよいことは言うまでもない。
【0053】
(2)上記実施の形態においては、作成部131が、平均化スニペットを作成するタイミングについては、特に説明していない。作成部131は、平均化スニペットをどのようなタイミングで作成してもよく、例えば、ユーザが指定したタイミングであってもよいし、所定期間ごとに実行するようスケジューリングされていて、このスケジュールで指定されるタイミングであってもよいし、新たな既存スニペットが記憶部120に登録されたタイミングであってもよいし、所定数の新たな既存スニペットが記憶部120に登録されるごとのタイミングであってもよい。
【0054】
(3)上記実施の形態においては、平均化スニペットを作成するために用いる既存スニペットを作成部131が抽出することとしているが、平均化スニペットを作成するために用いる既存スニペットは、ユーザが受付部111を介して指定することとしてもよい。
【0055】
(4)上記実施形態においては、動作素片作成装置100を機能するプロセッサが動作素片作成プログラム等を実行することにより、動作素片を作成することとしているが、これは装置に集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって実現してもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、上記実施形態に示した複数の機能部の機能を1つの集積回路により実現されることとしてもよい。LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。すなわち、
図8に示すように、動作素片作成装置100を構成する各機能部は、物理的な回路により実現されてもよい。
図8に示すように、動作素片作成装置100は、受付回路110aと、記憶回路120aと、制御回路130a(作成回路131a、提示回路132a)と、出力回路140aとを備え、各回路は、上述の同名の機能部と同様の機能を有する。
【0056】
また、上記動作素片作成プログラムは、プロセッサが読み取り可能な記録媒体に記録されていてよく、記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記動作素片作成プログラムは、当該動作素片作成プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記プロセッサに供給されてもよい。本発明は、上記動作素片作成プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0057】
なお、上記動作素片作成プログラムは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
【0058】
(5)上記実施形態及び各補足に示した構成は、適宜組み合わせることとしてもよい。
【符号の説明】
【0059】
1 多関節ロボット
100 動作素片作成装置
110 受付部
120 記憶部
130 制御部
131 作成部
132 提示部
140 出力部