(57)【要約】【課題】多関節ロボットを制御する動作プログラムを作成するときに利用可能な汎用性の高い動作素片を作成する動作素片作成装置を提供する。【解決手段】溶接ロボットの溶接対象に対する処理工程を示す動作プログラムの一部である動作素片を作成する動作素片作成装置であって、溶接対象の所定の溶接打点に対する溶接ロボットの溶接ガンの進入処理、溶接、所定の溶接打点からの退避処理とから成る動作素片を記憶している記憶部と、複数の互いに異なる同種の溶接対象において、各溶接対象において共通する所定の溶接打点に対する動作素片を記憶部から取得する取得部と、取得部が取得した複数の動作素片における進入処理を平均化するとともに、当該複数の動作素片における退避処理を平均化し、平均化された進入処理と、溶接と、平均化された退避処理とからなる動作素片を作成する作成部と、を備える。【選択図】図１
2019215760.tif 000002
【特許請求の範囲】
【請求項１】
溶接ロボットの溶接対象に対する処理工程を示す動作プログラムの一部である動作素片を作成する動作素片作成装置であって、
溶接対象の所定の溶接打点に対する前記溶接ロボットの溶接ガンの進入処理、溶接、前記所定の溶接打点からの退避処理とから成る動作素片を記憶している記憶部と、
複数の互いに異なる同種の溶接対象において、各溶接対象において共通する前記所定の溶接打点に対する動作素片を前記記憶部から取得する取得部と、
前記取得部が取得した複数の動作素片における進入処理を平均化するとともに、当該複数の動作素片における退避処理を平均化し、平均化された進入処理と、溶接と、平均化された退避処理とからなる動作素片を作成する作成部と、を備える動作素片作成装置。
【請求項２】
前記作成部は、作成した動作素片を前記記憶部に記憶させることを特徴とする請求項１に記載の動作素片作成装置。
【請求項３】
前記作成部は、前記作成した動作素片を、当該動作素片の対象となった打点位置と、前記溶接ロボットの進入角度と、前記溶接ロボットの退避角度と、溶接対象の金属の組み合わせを示す板組情報と、を対応付けて前記記憶部に記憶させることを特徴とする請求項２に記載の動作素片作成装置。
【請求項４】
前記溶接ロボットは、複数軸からなる多関節ロボットであり、
前記動作プログラムは、前記複数軸それぞれの軸角度の変化により前記処理工程を定義したものであり、
前記作成部は、複数の動作素片の進入処理で示される軸角度を平均化することにより、前記進入処理を平均化する
ことを特徴とする請求項１〜３のいずれか一項に記載の動作素片作成装置。
【請求項５】
前記溶接ロボットは、複数軸からなる多関節ロボットであり、
前記動作プログラムは、前記複数軸それぞれの軸角度の変化により前記処理工程を定義したものであり、
前記作成部は、複数の動作素片の退避処理で示される軸角度を平均化することにより、前記退避処理を平均化する
ことを特徴とする請求項１〜４のいずれか一項に記載の動作素片作成装置。
【請求項６】
前記動作素片作成装置は、更に、
新たな溶接対象に対する溶接打点の打点位置を示す情報と、当該打点位置への進入角度を示す情報と、当該打点位置からの退避角度を示す情報と、板組情報とのうちの少なくともいずれか一つの入力を受け付ける受付部と、
前記受付部が受け付けた情報が所定の条件を満たす動作素片を前記記憶部から検索し、新たな動作プログラムの一部として、提示する提示部と、を備える
請求項１〜５のいずれか一項に記載の動作素片作成装置。
【請求項７】
溶接ロボットの溶接対象に対する処理工程を示す動作プログラムの一部である動作素片を作成する動作素片作成装置のコンピュータが前記動作素片を作成する動作素片作成方法であって、
溶接対象の所定の溶接打点に対する前記溶接ロボットの溶接ガンの進入処理、溶接、前記所定の溶接打点からの退避処理とから成る動作素片を記憶している前記動作素片作成装置の記憶部から、複数の互いに異なる同種の溶接対象において、各溶接対象において共通する前記所定の溶接打点に対する動作素片を前記記憶部から取得する取得ステップと、
前記取得ステップが取得した複数の動作素片における進入処理を平均化するとともに、当該複数の動作素片における退避処理を平均化し、平均化された進入処理と、溶接と、平均化された退避処理とからなる動作素片を作成する作成ステップと、を含む動作素片作成方法。
【請求項８】
溶接ロボットの溶接対象に対する処理工程を示す動作プログラムの一部である動作素片を作成する動作素片作成装置のコンピュータに、
溶接対象の所定の溶接打点に対する前記溶接ロボットの溶接ガンの進入処理、溶接、前記所定の溶接打点からの退避処理とから成る動作素片を記憶している前記動作素片作成装置の記憶部から、複数の互いに異なる同種の溶接対象において、各溶接対象において共通する前記所定の溶接打点に対する動作素片を前記記憶部から取得する取得機能と、
前記取得機能が取得した複数の動作素片における進入処理を平均化するとともに、当該複数の動作素片における退避処理を平均化し、平均化された進入処理と、溶接と、平均化された退避処理とからなる動作素片を作成する作成機能と、を実現させる動作素片作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多関節ロボットを制御する動作プログラムの可否を判定する動作素片作成装置、動作素片作成方法及び動作素片作成プログラムに関する。
【背景技術】
【０００２】
近年、各種のロボット、例えば、製造ラインに設置された多関節ロボットに対して、どのような動作をしてどのような処理を実行するのかを規定する動作プログラムを用いて、制御することが行われている。この動作プログラムを、ＰＣ上でユーザがプログラムを作成して、ロボットに転送され、実行する場合に、この処理をオフラインティーチングと呼称する。そして、このようなオフラインティーチングにより作成された動作プログラムをティーチングデータと呼称することがある。特許文献１には、作業点と退避点とを含むティーチングデータを作業点毎に分割し、関連性のある退避点を含ませて得られるグループを設定し、新規のティーチングデータを作成する際に作業点毎に設定したグループのいずれかを選択してティーチングデータを作成することが開示されている。また、特許文献２には、ベースワークモデルの作業経路情報を利用して、ベースワークモデルと形状が類似する類似ワークモデルの作業経路情報を生成する技術が開示されている。更に、特許文献３には、サンプルプログラムと教示点位置データとを登録したパターンライブラリから、プログラムするワークと形状が類似するサンプルプログラムを引用し、サンプルプログラムをもとに教示データを作成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１４４５３８号公報
【特許文献２】特開２０１４−１９４６５８号公報
【特許文献３】特開平７−３１１６１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記特許文献１〜３に示す技術では、既存のデータを利用して新たな動作プログラムを作成することが開示されているが、対象となるワークによっては、既存のデータを利用できない可能性がある。そのため、動作プログラムの一部である動作素片について、より汎用性の高いものが求められている。
【０００５】
そこで、本発明は上記問題に鑑みてなされたものであり、ロボットの動作プログラムを作成する上で利用可能な動作素片を作成するものであって、従来よりも汎用性の高い動作素片を作成する動作素片作成装置、動作素片作成方法、動作素片作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る動作素片作成装置は、溶接ロボットの溶接対象に対する処理工程を示す動作プログラムの一部である動作素片を作成する動作素片作成装置であって、溶接対象の所定の溶接打点に対する溶接ロボットの溶接ガンの進入処理、溶接、所定の溶接打点からの退避処理とから成る動作素片を記憶している記憶部と、複数の互いに異なる同種の溶接対象において、各溶接対象において共通する所定の溶接打点に対する動作素片を記憶部から取得する取得部と、取得部が取得した複数の動作素片における進入処理を平均化するとともに、当該複数の動作素片における退避処理を平均化し、平均化された進入処理と、溶接と、平均化された退避処理とからなる動作素片を作成する作成部と、を備える。
【０００７】
また、本発明の一態様に係る動作素片作成方法は、溶接ロボットの溶接対象に対する処理工程を示す動作プログラムの一部である動作素片を作成する動作素片作成装置のコンピュータが動作素片を作成する動作素片作成方法であって、溶接対象の所定の溶接打点に対する溶接ロボットの溶接ガンの進入処理、溶接、所定の溶接打点からの退避処理とから成る動作素片を記憶している動作素片作成装置の記憶部から、複数の互いに異なる同種の溶接対象において、各溶接対象において共通する所定の溶接打点に対する動作素片を記憶部から取得する取得ステップと、取得ステップが取得した複数の動作素片における進入処理を平均化するとともに、当該複数の動作素片における退避処理を平均化し、平均化された進入処理と、溶接と、平均化された退避処理とからなる動作素片を作成する作成ステップと、を含む。
【０００８】
また、本発明の一態様に係る動作素片作成プログラムは、溶接ロボットの溶接対象に対する処理工程を示す動作プログラムの一部である動作素片を作成する動作素片作成装置のコンピュータに、溶接対象の所定の溶接打点に対する溶接ロボットの溶接ガンの進入処理、溶接、所定の溶接打点からの退避処理とから成る動作素片を記憶している動作素片作成装置の記憶部から、複数の互いに異なる同種の溶接対象において、各溶接対象において共通する所定の溶接打点に対する動作素片を記憶部から取得する取得機能と、取得機能が取得した複数の動作素片における進入処理を平均化するとともに、当該複数の動作素片における退避処理を平均化し、平均化された進入処理と、溶接と、平均化された退避処理とからなる動作素片を作成する作成機能と、を実現させる。
【０００９】
また、上記動作素片作成装置において、作成部は、作成した動作素片を記憶部に記憶させることとしてもよい。
【００１０】
また、上記動作素片作成装置において、作成部は、作成した動作素片を、当該動作素片の対象となった打点位置と、溶接ロボットの進入角度と、溶接ロボットの退避角度と、溶接対象の金属の組み合わせを示す板組情報と、を対応付けて記憶部に記憶させることとしてもよい。
【００１１】
また、上記動作素片作成装置において、溶接ロボットは、複数軸からなる多関節ロボットであり、動作プログラムは、複数軸それぞれの軸角度の変化により処理工程を定義したものであり、作成部は、複数の動作素片の進入処理で示される軸角度を平均化することにより、進入処理を平均化することとしてもよい。
【００１２】
また、上記動作素片作成装置において、溶接ロボットは、複数軸からなる多関節ロボットであり、動作プログラムは、複数軸それぞれの軸角度の変化により処理工程を定義したものであり、作成部は、複数の動作素片の退避処理で示される軸角度を平均化することにより、退避処理を平均化することとしてもよい。
【００１３】
また、上記動作素片作成装置において、動作素片作成装置は、更に、新たな溶接対象に対する溶接打点の打点位置を示す情報と、当該打点位置への進入角度を示す情報と、当該打点位置からの退避角度を示す情報と、板組情報とのうちの少なくともいずれか一つの入力を受け付ける受付部と、受付部が受け付けた情報が所定の条件を満たす動作素片を記憶部から検索し、新たな動作プログラムの一部として、提示する提示部と、を備えることとしてもよい。
【発明の効果】
【００１４】
動作素片作成装置は、多関節ロボットのための新たな動作プログラムを作成するにあたって、所定の溶接打点に対する動作素片を利用することにより、動作プログラムの作成を支援することができる。
【図面の簡単な説明】
【００１５】
【図１】動作素片作成装置の構成例を示すブロック図である。
【図２】多関節ロボットの一例を示す外観図である。
【図３】スニペットの一例を示すデータ概念図である。
【図４】動作素片作成装置のスニペットの作成動作を示すフローチャートである。
【図５】動作素片作成装置のスニペットの利用に係る動作を示すフローチャートである。
【図６】（ａ）〜（ｃ）は、スニペットの作成の具体例を示す図である。
【図７】（ａ）、（ｂ）は、類似の溶接打点の具体例を示す図である。
【図８】動作素片作成装置の他の構成例を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施態様に係る動作素片作成装置について、図面を参照しながら詳細に説明する。
【００１７】
＜実施形態１＞
＜構成＞
図１に示すように、本発明に係る動作素片作成装置１００は、受付部１１０と、記憶部１２０と、制御部１３０と、出力部１４０とを備える。動作素片作成装置１００は、ユーザからの入力に従って、多関節ロボット１の動作を規定する動作プログラムを作成するための装置である。動作素片作成装置１００において、ユーザは、所定の打点に対して、進入し、溶接を行って、退避するという一連の行動を示した動作素片（以下、スニペットと呼称する）を用いて動作プログラムを作成することができる。言い換えれば、動作素片は、所定の一連の処理を規定する部分プログラムであるとも言える。動作素片作成装置１００は、当該所定の打点に対する一連の処理を示すスニペットを作成する装置である。ここで動作プログラムは、多関節ロボット１の動作を規定するものであって、その動作手順を規定するものである。当該動作手順には、例えば、多関節ロボットの各関節の回転や実質的処理（例えば、溶接、物体の把持、何らかの施工など）などが含まれる。
【００１８】
ここで、多関節ロボット１について説明する。図２は、多関節ロボット１の一例である。図２には、多関節ロボット１が、６軸ロボットであって溶接ロボットである例を示している。本実施の形態における多関節ロボット１は、６軸ロボットであるとして説明するが、多関節ロボット１が６軸ロボットに限定されるものではないことは言うまでもない。６軸ロボットは、図２に示すように、軸Ａ１が、矢印Ｒ１で示される方向に回動し、軸Ａ１に接続された軸Ａ２が、矢印Ｒ２で示される方向に回動する。軸Ａ２に接続されたアームＭ１が軸Ａ２を中心に回動することで、当該アームＭ１の先に接続された軸Ａ３も移動する。軸Ａ３は、矢印Ｒ３で示される方向に回動する。軸Ａ３に接続されたアームＭ２は、軸Ａ３の回動に伴って、軸Ａ３を中心に回動することで、当該アームＭ２の先に接続された軸Ａ５も移動する。また、アームＭ２は、軸Ａ４を中心に矢印Ｒ４で示される方向に回動する。これに伴い、軸Ａ５もまた、軸Ａ４を中心に回動することになる。軸Ａ５は、矢印Ｒ５で示される方向に回動する軸であり、これに伴って、軸Ａ５の先に接続されているアームＭ３も回動する。アームＭ３は、軸Ａ６を中心に、矢印Ｒ６で示される方向に回動し、これに伴って、多関節ロボット１の先端部の溶接打点も回動する。なお、多関節ロボット１は、従来のものと同様であるとして、詳細な構成についての説明は割愛する。このような多関節ロボット１の場合、スニペットは、多関節ロボット１の先端の溶接ガンＧ１の進入処理（進入経路）と、溶接打点での打点処理と、打点からの溶接ガンＧ１の退避処理（退避経路）とを規定するものであってよい。
【００１９】
これらの軸Ａ１〜軸Ａ６の各軸の回動により、多関節ロボット１は、先端の溶接点を任意の位置に移動させることができる。動作素片作成装置１００は、図１に示すように多関節ロボット１と有線または無線により通信可能に接続されてよく、多関節ロボット１を制御できるように構成されてもよい。ここで多関節ロボット１を制御するとは、動作素片作成装置１００で動作プログラムを作成して、出力部１４０から当該動作プログラムを多関節ロボット１に転送して、実行させることを意味する。
【００２０】
図１に戻って、受付部１１０は、ユーザからの多関節ロボット１を制御する動作プログラムを作成するうえで、ユーザからの入力を受け付け、その入力内容を、制御部１３０に伝達する。受付部１１０は、例えば、ユーザからの入力を受け付けるためのタッチパネルやハードウェアキー、マウスなどのポインティングデバイスなどにより実現されるものであってよい。また、受付部１１０は、動作プログラムを作成するうえで、ユーザが記憶部１２０に記憶されているスニペットを利用する場合に、スニペットを特定するための情報として、溶接を行う打点位置、打点位置への多関節ロボット１の進入角度、打点位置からの多関節ロボット１の退避角度、溶接を行う金属の組み合わせを示す板組情報のうち、少なくともいずれか一つの入力を受け付けて、制御部１３０に伝達する。
【００２１】
記憶部１２０は、動作素片作成装置１００が動作上必要とする各種プログラム及び各種データを記憶する機能を有する。記憶部１２０は、各種の記録媒体により実現され、例えば、ＨＤＤ（Hard Disc Drive）、ＳＳＤ（Solid State Drive）、フラッシュメモリなどにより実現できる。記憶部１２０は、動作素片として、スニペットの情報を記憶している。ここで、記憶部１２０は、２種類のスニペットを記憶する。１種類目は、過去において、特定の対象の特定の溶接打点に対する一連の処理を規定したスニペットであり、もう一種類は、類似する対象において、類似する特定の溶接打点に対するスニペットを平均化した動作素片作成装置１００が作成するスニペットである。ここで、スニペットとは、ある溶接打点に対して、多関節ロボット１の溶接ガンの進入、溶接、溶接ガンの溶接打点からの退避の一連の動作処理を定めたものであり、動作プログラムの一部となりえる部分プログラムとも読めるプログラム情報である。以降において、１種類目のスニペットを、既存スニペットと呼称し、既存スニペットに基づいて制御部１３０（作成部１３１）が作成したスニペットを平均化スニペットと呼称する。スニペットの詳細については、後述する。また、記憶部１２０は、既存スニペットから平均化スニペットを作成するための動作素片作成プログラムを記憶している。
【００２２】
制御部１３０は、動作素片作成装置１００の各部を制御する機能を有する。制御部１３０は、記憶部１２０に記憶されている動作素片作成プログラムを読み出して実行することにより、動作素片作成装置１００としての機能を実行するプロセッサとして実現することができる。
【００２３】
制御部１３０は、汎用性の高いスニペットを作成する作成部１３１として機能する。作成部１３１は、類似するワークの同様の位置に対する溶接を行ったスニペットを複数記憶部１２０から読み出し、当該複数のスニペットを平均化することで汎用性の高いスニペットを作成する。具体的には、作成部１３１は、記憶部１２０に記憶されている既存スニペットの中から、類似の作業対象であって、当該作業対象において類似する箇所に対して処理を行っているものを抽出する。一連のプログラム（溶接に係る一連の処理を示すプログラムであって、１以上のスニペットとなり得る要素を含むプログラム）は、記憶部１２０において、例えば、車両のフロントドアオープニングや、ルーフ回りなどの打点部位ごとに分類されてよく、更には、当該分類の中、例えば、フロントドアオープニング部分、ルーフ回りそれぞれだけでも、部位により、いくつかの打点グループに分類されていてもよい。即ち、一例として、フロントドアオープニング部分の場合であれば、フロントドアオープニング部分という大分類の下に、更に、フロントドアオープニング部分の中でも部分部分に分けた小分類が成されていてもよい。作成部１３１は、この打点記号の情報を用いて、既存スニペットの中でも、打点間の位置関係が近い既存スニペットを選択することにより、精度高く類似性が高いと目される既存スニペットを自動的に抽出する。ここで、打点間の位置関係とは、ある打点に対する既存スニペットがある場合に、この打点とその打点に隣接する打点の位置との配置関係を意味する。なお、ここで隣接するとは、隣の打点だけでなく、２つ向うの打点など複数の打点を含んでもよい。また、打点間の位置関係に基づく類似性とは、第１の既存スニペットと第２の既存スニペットとがあった場合に、第１の既存スニペットが対象とする打点とその打点に隣接する２以上の打点との位置関係である第１位置関係と、第２の既存スニペットが対象とする打点とその打点に隣接する２以上の打点との位置関係である第２位置関係と、の間の類似性のことをいう。また、類似性は、一例として、第１位置関係と第２位置関係との間の相関係数を算出することにより求めることができる。作成部１３１は、例えば、基準とする既存スニペットを１つ選択し、この既存スニペットに対して、打点記号の類似性が所定の閾値よりも高く、打点の位置関係の類似性が所定の閾値よりも高い他の既存スニペットを抽出する。そして、作成部１３１は、抽出した複数の既存スニペットについて、その処理工程を平均化する。例えば、既存スニペットが、特定の溶接打点に対して、多関節ロボット１を進入させ、溶接を実行し、溶接打点から多関節ロボット１を退避させるという一連の処理を行うものである場合に、まず、作成部１３１は、各既存スニペットについて、溶接打点の位置合わせを行う。これにより、各既存スニペットにおいて、進入経路の終点の位置合わせと、退避経路の始点の位置合わせとを実現することができる。そして、作成部１３１は、各既存スニペットの進入に係る処理の平均化を実行する。即ち、作成部１３１は、当該進入経路を形成する多関節ロボット１の各軸の軸値を平均化する（軸値を加算し、加算に用いた既存スニペットの数で除する）。また、同様に、作成部１３１は、各既存スニペットの退避に係る処理の平均化を実行する。即ち、作成部１３１は、当該退避経路を形成する多関節ロボット１の各軸の軸値を平均化する（軸値を加算し、加算に用いた既存スニペットの数で除する）。これにより、作成部１３１は、特定の溶接打点に対する、平均化した進入処理と、平均化した退避処理と、を得る。そして、作成部１３１は、平均化した進入処理と、溶接打点における溶接、平均化した退避処理と、を併せて平均化スニペットを作成する。作成部１３１は、作成した平均化スニペットを記憶部１２０に記憶させる。
【００２４】
また、制御部１３０は、受付部１１０から伝達された平均化スニペットを検索するための情報を伝達されて、当該情報に合致する平均化スニペットを記憶部１２０から検索し、検索により得られた平均化スニペットを提示する提示部１３２として機能する。提示部１３２は、検索により得た平均化スニペットを出力部１４０に出力させることで、動作プログラムを作成するユーザに対して利用可能なスニペットを提供する。
【００２５】
出力部１４０は、制御部１３０から指定された情報を出力する機能を有する。出力部１４０は、例えば、画像や文章を表示するためのモニターや、音声を出力するスピーカ、あるいは、外部のモニター等に情報を表示させるための表示情報を出力する出力ポートなどにより実現することができる。出力部１４０は、提示部１３２からの指示に従って、検索により得られた平均化スニペットの情報を出力する。
【００２６】
以上が動作素片作成装置１００の構成である。なお、ここでは、詳細には記載しなかったが、動作素片作成装置１００は、従来のオフラインティーチングのための動作プログラムを作成するコンピュータシステムとして機能してよく、ユーザからの入力にしたがって、動作プログラムを作成する。
【００２７】
＜データ＞
図３は、スニペットの一例を示す図であり、そのデータ概念図である。
【００２８】
図３に示すように、スニペット３００は、一例として、スニペットＩＤ３０１と、ステップ情報３０２と、行動情報３０３とが対応付けられた情報である。
【００２９】
スニペットＩＤ３０１は、動作素片であるスニペットについて、複数のスニペットの中から各スニペットを一意に特定するための識別情報である。
【００３０】
ステップ情報３０２は、スニペット３００中で、多関節ロボット１が動作する処理の手順を示す情報であり、当該順序に従って、多関節ロボット１は動作することになる。
【００３１】
行動情報３０３は、対応するステップ情報３０２で示されるステップ番号の処理を実行する際に、多関節ロボット１がとるべき行動を示す情報である。行動情報３０３においては、多関節ロボット１が移動する場合には、多関節ロボット１を構成する各軸の軸角度の情報が示され、溶接処理を行う際には、溶接を実行することが示される。多関節ロボット１を移動させる場合には、行動情報３０３で示される軸角度を出力することで、多関節ロボット１の各軸は、行動情報３０３で示される軸角度で示される角度に回転する。なお、ここでは、多関節ロボット１を一例として溶接ロボットとして説明するために、行動情報３０３として溶接を示しているが、これは、多関節ロボット１が、他の一例として、溶接ロボットではなく何らかの物品を移動させるものであれば、物品の把持、物品の載置といった行動を規定することになる。
【００３２】
また、図３には、図示できていないが、スニペット３００には、更に、溶接を行う際の進入経路の多関節ロボット１の進入角度（図３で言えば、ｓｔｅｐ１＿０１〜ｓｔｅｐ１＿０３の処理を行う際の進入経路が、溶接打点に対してなす角度）の情報や、溶接対象における溶接打点の位置、溶接打点からの退避経路（図３で言えば、ｓｔｅｐ１＿０５以降の処理を行う際の退避経路が、溶接打点に対してなす角度）の情報や、溶接対象の２種類の金属の組み合わせを示す板組情報が対応づけられてよい。これらの情報がスニペット３００に対応付けられていることにより、動作プログラムを作成するうえで、スニペット３００を利用する際に、スニペット３００を検索することができる。
【００３３】
動作素片作成装置１００の記憶部１２０には、図３に示すような、互いに異なる溶接打点位置を対象としたスニペット３００が複数記憶されており、動作素片作成装置１００は、動作プログラムを作成するうえで、ユーザの利便性の向上に貢献することができる。
【００３４】
＜動作＞
図４は、動作素片作成装置１００による動作素片の作成処理を示すフローチャートである。以下、図４を用いて、動作素片作成装置１００の動作素片を作成する処理を説明する。
【００３５】
（ステップＳ４０１）
ステップＳ４０１において、動作素片作成装置１００の制御部１３０（作成部１３１）は、複数の互いに異なる種類の車両の共通する溶接打点を有する既存スニペットを特定する。そして、作成部１３１は、特定した既存スニペットを記憶部１２０から読み出す。その後に、動作素片作成装置１００は、ステップＳ４０２の処理に移行する。
【００３６】
（ステップＳ４０２）
ステップＳ４０２において、作成部１３１は、読み出した既存スニペットについて、溶接を行っている溶接打点の位置合わせを行う。そして、位置合わせ後に、作成部１３１は、溶接処理を行うまでのステップを、溶接打点への多関節ロボット１の進入処理であるとして、当該進入処理を構成する軸値を各既存スニペットから抽出する。そして、作成部１３１は、抽出した軸値を平均化する。これにより複数の既存スニペットの進入処理を平均化する。また、作成部１３１は、溶接処理を行った後のステップを、溶接打点からの多関節ロボット１の退避処理であるとして、当該退避処理を構成する軸値を各既存スニペットから抽出する。そして、作成部１３１は、抽出した軸値を平均化する。これにより複数の既存スニペットの退避処理を平均化する。その後に、動作素片作成装置１００は、ステップＳ４０３の処理に移行する。
【００３７】
（ステップＳ４０３）
ステップＳ４０３において、作成部１３１は、平均化した進入処理と、溶接処理と、平均化した退避処理とを併せた平均化スニペットとして記憶部１２０に記憶させる。このとき、作成部１３１は、この平均化スニペットに対して、作業対象における打点位置の情報と、平均化した進入処理から算出される打点位置への進入角度と、平均化した退避処理から算出される打点位置からの退避角度とを、対応付けて記憶部１２０に記憶させて、処理を終了する。
【００３８】
図４に示す処理によって、動作素片作成装置１００は、多関節ロボット１に対して入力する動作プログラムに利用可能な汎用性の高い動作素片を作成し、記憶部１２０に記憶することができる。
【００３９】
図５は、動作素片作成装置１００において、平均化スニペットを利用する際の処理を示すフローチャートである。図５を用いて、ユーザが平均化スニペットを利用する際の、動作素片作成装置１００の動作を説明する。
【００４０】
（ステップＳ５０１）
ステップＳ５０１において、動作素片作成装置１００の受付部１１０は、利用する平均化スニペットを特定するための、打点位置、打点位置に対して多関節ロボット１が進入する進入角度、打点位置から退避する退避角度、板組情報のうち、少なくともいずれか一つの入力を受け付ける。ここで、受け付ける情報が多いほど、制御部１３０は、ユーザが所望する平均化スニペットの絞り込みを行うことができる。受付部１１０は、受け付けた情報を、制御部１３０に伝達する。その後に、動作素片作成装置１００は、ステップＳ５０２の処理に移行する。
【００４１】
（ステップＳ５０２）
ステップＳ５０２において、制御部１３０は、条件に合致する平均化スニペットがあるか否か検索する。例えば、受付部１１０が打点位置についての情報を受け付けている場合には、制御部１３０は、受け付けた打点位置から所定距離内に存在する打点位置が対応付けられている平均化スニペットがあるか否かに基づいて、検索する。また、例えば、受付部１１０が進入角度についての情報を受け付けている場合には、制御部１３０は、受け付けた進入角度から、所定の範囲内の角度を示す進入角度が対応付けられている平均化スニペットがあるか否かに基づいて、検索する。また、例えば、受付部１１０が退避角度についての情報を受け付けている場合には、制御部１３０は、受け付けた退避角度から、所定の範囲内の角度を示す退避角度が対応付けられている平均化スニペットがあるか否かに基づいて、検索する。また、例えば、受付部１１０が板組情報を受け付けている場合には、制御部１３０は、受け付けた板組情報から、同種の組み合わせを示す板組情報が対応付けられている平均化スニペットがあるか否かに基づいて、検索する。受付部１１０が受け付けた条件に合致するスニペットを検索できた場合に（ＹＥＳ）、動作素片作成装置１００は、ステップＳ５０３の処理に移行し、検索できなかった場合に（ＮＯ）、動作素片作成装置１００は、ステップＳ５０４の処理に移行する。
【００４２】
（ステップＳ５０３）
ステップＳ５０３において、提示部１３２は、検索結果の平均化スニペットを出力部１４０に出力するように指示して、処理を終了する。これにより、ユーザは、平均化スニペットを用いて、動作プログラムの作成を、自身で各ステップを定義する場合よりも容易に行うことができる。
【００４３】
（ステップＳ５０４）
ステップＳ５０４において、提示部１３２は、検索の条件に合致する平均化スニペットがなかったことを示す情報を出力部１４０に出力するように指示して、処理を終了する。
【００４４】
図５に示す処理によって、動作素片作成装置１００は、多関節ロボット１に対して入力する動作プログラムの作成時に、平均をとることによって汎用性を高めた動作素片を利用することができる。
【００４５】
＜具体例＞
スニペットの作成の一具体例を、図６を用いて説明する。図６においては、スニペットについて、進入開始位置、進入経路、溶接打点位置、退避経路、退避完了位置を模式的に２次元で示している。
【００４６】
図６（ａ）は、複数の既存スニペット６０１〜６０３の例を示している。既存スニペット６０１は、進入開始位置６１１から進入経路６１２で示される経路で溶接打点位置６１３まで多関節ロボット１を移動させ、溶接打点位置６１３にて溶接を行った後に溶接打点位置６１３から退避経路６１４で示される経路で、退避完了位置６１５まで多関節ロボット１を移動させる処理を示すスニペットである。同様に、既存スニペット６０２は、進入開始位置６２１から進入経路６２２で示される経路で溶接打点位置６２３まで多関節ロボット１を移動させ、溶接打点位置６２３にて溶接を行った後に溶接打点位置６２３から退避経路６２４で示される経路で、退避完了位置６２５まで多関節ロボット１を移動させる処理を示すスニペットである。また、既存スニペット６０３は、進入開始位置６３１から進入経路６３２で示される経路で溶接打点位置６３３まで多関節ロボット１を移動させ、溶接打点位置６３３にて溶接を行った後に溶接打点位置６３３から退避経路６３４で示される経路で、退避完了位置６３５まで多関節ロボット１を移動させる処理を示すスニペットである。各既存スニペット６０１〜６０３は、類似の処理対象の類似の処理箇所に対する溶接処理であるとする。類似の処理対象とは、同種の機能を有し、類似するものの別の形状を有するものであればよく、例えば、異なる車種の似たような形状を有する車両であってよい。また、類似の処理箇所とは、例えば、各車両における同じ個所（例えば、車両のフロントドアのオープニング部分に対する溶接などのことをいい、一具体例を示すと、図７（ａ）、（ｂ）に示すように、互いに異なる車両において、共通する箇所の溶接の箇所のこと。図７においては、黒点で溶接打点を示しているが、それらのうち、例えば、図７（ａ）の溶接打点７０１ａと図７（ｂ）の溶接打点７０１ｂとが類似の処理箇所といえ、図７（ａ）の溶接打点７０２ａと図７（ｂ）の溶接打点７０２ｂとが類似の処理箇所といえる。）のことをいう。
【００４７】
図６（ａ）に示すような既存スニペット６０１〜６０３があった場合に、作成部１３１は、図６（ｂ）に示すように溶接打点位置６１３、６２３、６３３の位置合わせを行う。位置合わせを行うとは、各溶接打点位置に対する各既存スニペットの進入開始位置、進入経路、退避経路、退避完了位置との位置関係を保ったまま、溶接打点位置を重ね合わせることをいう。
【００４８】
作成部１３１は、図６（ｂ）に示すように溶接打点位置を重ね合わせた状態で、各進入経路６１２、６２２、６２３の平均化を行うとともに、各退避経路６１４、６２４、６２５の平均化を行う。これにより、作成部１３１は、図６（ｃ）に示すように、多関節ロボット１を、進入開始位置６５１から進入経路６５２で示される経路を通って溶接打点位置６５３にまで移動させて、溶接打点位置６５３において溶接を実行させ、溶接打点位置６５３から、退避経路６５４で示される経路を通って、退避完了位置６５５まで退避させる平均化スニペット６０５を作成する。
【００４９】
＜まとめ＞
上記実施の形態に係る動作素片作成装置１００によれば、形状が類似する処理対象の同様の処理箇所に対して、実行された複数の処理それぞれを示す既存スニペットから、当該処理箇所に対して、より汎用性が高い平均化スニペットを作成することができる。したがって、スニペットを平均化することで、同様の対象に対して同様の処理を行う場合に、スニペットの汎用性を向上させることができる。これにより、動作プログラムを作成するうえで、ユーザは、スニペットを利用しやすくなるので、動作プログラムの作成負担を軽減することができる。
【００５０】
＜補足＞
上記実施形態に係る動作素片作成装置は、上記実施形態に限定されるものではなく、他の手法により実現されてもよいことは言うまでもない。以下、各種変形例について説明する。
【００５１】
（１）上記実施の形態において、動作素片作成装置が作成する動作素片として、多関節ロボットを対象とした場合を一例として説明しているが、これは多関節ロボットに限定されるものではない。動作素片作成装置が作成する動作素片は、似たようなワークを対象に、似たような処理を実行するロボットであれば、どのようなロボットに対するものであってもよい。例えば、何らかの物体を運搬する運搬ロボットであっても、物体を保持する位置まで移動し、物体を把持し、把持した物体を所定の場所まで移動させるというような処理について、複数の同様の形状を利用する物体に対して生成した動作素片を複数記憶し、その平均をとって、汎用性の高い動作素片を作成することとしてよい。
【００５２】
また、多関節ロボット１にしても、上記実施の形態においては、一例として６軸ロボットを用いて説明したが、多関節ロボット１は６軸ロボットに限るものではない。５軸ロボットや７軸ロボットなどであってもよいことは言うまでもない。
【００５３】
（２）上記実施の形態においては、作成部１３１が、平均化スニペットを作成するタイミングについては、特に説明していない。作成部１３１は、平均化スニペットをどのようなタイミングで作成してもよく、例えば、ユーザが指定したタイミングであってもよいし、所定期間ごとに実行するようスケジューリングされていて、このスケジュールで指定されるタイミングであってもよいし、新たな既存スニペットが記憶部１２０に登録されたタイミングであってもよいし、所定数の新たな既存スニペットが記憶部１２０に登録されるごとのタイミングであってもよい。
【００５４】
（３）上記実施の形態においては、平均化スニペットを作成するために用いる既存スニペットを作成部１３１が抽出することとしているが、平均化スニペットを作成するために用いる既存スニペットは、ユーザが受付部１１１を介して指定することとしてもよい。
【００５５】
（４）上記実施形態においては、動作素片作成装置１００を機能するプロセッサが動作素片作成プログラム等を実行することにより、動作素片を作成することとしているが、これは装置に集積回路（ＩＣ（Integrated Circuit）チップ、ＬＳＩ（Large Scale Integration））等に形成された論理回路（ハードウェア）や専用回路によって実現してもよい。また、これらの回路は、１または複数の集積回路により実現されてよく、上記実施形態に示した複数の機能部の機能を１つの集積回路により実現されることとしてもよい。ＬＳＩは、集積度の違いにより、ＶＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩなどと呼称されることもある。すなわち、図８に示すように、動作素片作成装置１００を構成する各機能部は、物理的な回路により実現されてもよい。図８に示すように、動作素片作成装置１００は、受付回路１１０ａと、記憶回路１２０ａと、制御回路１３０ａ（作成回路１３１ａ、提示回路１３２ａ）と、出力回路１４０ａとを備え、各回路は、上述の同名の機能部と同様の機能を有する。
【００５６】
また、上記動作素片作成プログラムは、プロセッサが読み取り可能な記録媒体に記録されていてよく、記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記動作素片作成プログラムは、当該動作素片作成プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記プロセッサに供給されてもよい。本発明は、上記動作素片作成プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００５７】
なお、上記動作素片作成プログラムは、例えば、ActionScript、JavaScript（登録商標）などのスクリプト言語、Objective-C、Java（登録商標）などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
【００５８】
（５）上記実施形態及び各補足に示した構成は、適宜組み合わせることとしてもよい。
【符号の説明】
【００５９】
１  多関節ロボット
１００  動作素片作成装置
１１０  受付部
１２０  記憶部
１３０  制御部
１３１  作成部
１３２  提示部
１４０  出力部
【図１】
2019215760.tif 000003
【図２】
2019215760.tif 000004
【図３】
2019215760.tif 000005
【図４】
2019215760.tif 000006
【図５】
2019215760.tif 000007
【図６】
2019215760.tif 000008
【図７】
2019215760.tif 000009
【図８】
2019215760.tif 000010