(57)【要約】【課題】移動命令に付随した複数の制御命令をもつロボットの教示プログラムを編集して、往復動作を実現するための教示プログラムを作成する。【解決手段】ロボットの教示プログラムを展開するためのＲＡＭ領域上には、時系列に連続して並べられた複数の制御命令からなるプログラムが展開されている。このプログラムを基本プログラムとし、このプログラム中に時系列ごとに並べられた複数の制御命令を選択して、制御命令群を作る。これらの制御命令群には少なくとも１つの第１種制御命令と１つの第２種制御命令が含まれている。また、少なくとも３個以上で構成されている必要がある。この制御命令群の単位ごとに順次処理を行うことで、基本プログラムを往路動作とした、復路動作の教示プログラムを作成する。【選択図】図１
2008310557.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶領域に格納された時系列に連続して並べられた複数の制御命令からなるプログラムから、時系列に連続して並べられた複数の制御命令からなる基本プログラムを選択し、この基本プログラムを、少なくとも第１種類制御命令と第２種類制御命令を備えたｎ（ｎは３以上の整数）個の制御命令群単位で順次処理して新たなプログラムを作成するプログラム作成方法であって、
前記基本プログラムのうち、前記基本プログラムの先頭から時系列に連続して並べられた複数の制御命令からなる第１番目の制御命令群を選択して第２の記憶領域に格納する第１のステップと、
前記第１の制御命令群を構成する時系列に並べられた第１種類制御命令と第２種類制御命令と第３種類制御命令のうち、前記第２種類制御命令の指令値を第３の記憶領域に記憶する第２のステップと、
前記基本プログラムのうち、１つ前の順番の制御命令群である前記第１番目の制御命令群の最終の制御命令の次の制御命令から時系列に連続して並べられた複数の制御命令からなる第２番目の制御命令群を選択し、この第２番目の制御命令群を、前記第２の記憶領域のうち、１つ前の順番の制御命令群である前記第１番目の制御命令群と重複せず、前記第１番目の制御命令群よりも時系列的に前の領域に格納する第３のステップと、
前記第２番目の制御命令群を構成する時系列に並べられた第１種類制御命令と第２種類制御命令のうち、前記第２種類制御命令を前記第３の記憶領域に記憶されている制御命令と入れ替える第４のステップと、
前記第３のステップと前記第４のステップとを、第ｎ−１番目の制御命令群まで繰り返す第５のステップと、
前記基本プログラムのうち、前記第ｎ−１番目の制御命令群の最終の制御命令の次の制御命令から時系列に連続して並べられた複数の制御命令からなる第ｎ番目の制御命令群を選択して、この第ｎ番目の制御命令群を、前記第２の記憶領域のうち、１つ前の順番の制御命令群である前記第ｎ−１番目の制御命令群と重複せず、前記第ｎ−１番目の制御命令群よりも時系列的に前の領域に格納する第６のステップと、
前記第３の記憶領域に記憶されている制御命令を、前記第１番目の制御命令群の第２種類制御命令に替えて格納する第７のステップと、
前記第ｎ番目の制御命令群を構成する時系列に並べられた第１種類制御命令と第２種類制御命令と第４種類制御命令のうち、前記第２種類制御命令を、前記第１番目の制御命令群の第２種類制御命令と入れ替え、前記第４種類制御命令を、前記第１番目の制御命令群の第３種類制御命令と入れ替える第８のステップと
からなるプログラム作成方法。
【請求項２】
請求項１に記載のプログラム作成方法により作成したプログラムを、基本プログラムに続けて一体として、新たなプログラムを作成する請求項１記載のプログラム作成方法。
【請求項３】
第１種類制御命令は溶接トーチ移動命令であり、第２種類制御命令は溶接条件命令であり、第３種類制御命令はアーク発生命令であり、第４種類制御命令はアーク停止命令である請求項１または２記載のプログラム作成方法。
【請求項４】
ｎ個の制御命令群のうち第ｎ番目の制御命令群を構成する第２種類制御命令は、クレータ処理条件命令である請求項１から３のいずれか１項に記載のプログラム作成方法。
【請求項５】
時系列的に連続して並べられた複数の制御命令のうち、ある第１種類制御命令から次の第１種類制御命令を検索するステップと、
前記ある第１種類制御命令から前記次の第１種類制御命令の１つ前の制御命令までを、基本プログラムから、１つの制御命令群として選択するステップとからなる請求項１から４のいずれか１項に記載のプログラム作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主に、産業用ロボットの動作に係わるプログラムの作成方法に関するものである。
【背景技術】
【０００２】
近年、人間に代わって塗装や溶接、重量物のハンドリング等の作業をロボットが行うようになっている。こうしたロボットは制御プログラムを変更することによって多様な動作が可能となり、複雑な作業にも対応できる。ロボットを制御するためのプログラムは、人間がロボットを操作してその動作を教示することで作成する。ロボットのコントローラには、作成した教示プログラムを再利用したり、特定のポイントのみ位置を変えたりできるように、教示プログラムの編集機能が備えられている。そして、この編集機能を用いることで、ロボットの繰り返し動作を行う場合に、ロボットを再教示することなく教示プログラムの編集を行うだけで容易に作成することが可能となっている。
【０００３】
従来の教示プログラムの編集方法の１つとして、塗装用ロボットの往復動作に関し、先ず往路動作の教示を行い、復路に関しては、教示した往路動作の教示プログラムを反転させることで作成し、このようにして往復動作のプログラムを容易に作成することができる教示プログラム作成方法が知られている（例えば、特許文献１参照）。
【特許文献１】特開平２−２１８５７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記した従来の教示プログラム作成方法に開示されているように、ロボットの往復動作を教示プログラムの編集によって作成することは可能である。しかしながら、この方法ではロボットに移動動作に加えて移動命令に付随する動作指示命令（例えば、溶接や切断などの作業）をもつ経路の往復動作プログラムを作成することはできない。つまり、ロボットへの動作指示命令が移動動作に付随した１命令であれば往復動作ができるが、それ以外の動作命令がある場合には往復動作を作成できないという課題を有していた。
【０００５】
本発明の目的とするところは、産業用ロボットの往復動作プログラム作成時に、移動命令のみではなく、移動動作以外の動作命令があった場合でも、往復動作を容易に作成することができるプログラム作成方法を提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のプログラム作成方法は、第１の記憶領域に格納された時系列に連続して並べられた複数の制御命令からなるプログラムから、時系列に連続して並べられた複数の制御命令からなる基本プログラムを選択し、この基本プログラムを、少なくとも第１種類制御命令と第２種類制御命令を備えたｎ（ｎは３以上の整数）個の制御命令群単位で順次処理して新たなプログラムを作成するプログラム作成方法であって、前記基本プログラムのうち、前記基本プログラムの先頭から時系列に連続して並べられた複数の制御命令からなる第１番目の制御命令群を選択して第２の記憶領域に格納する第１のステップと、前記第１の制御命令群を構成する時系列に並べられた第１種類制御命令と第２種類制御命令と第３種類制御命令のうち、前記第２種類制御命令の指令値を第３の記憶領域に記憶する第２のステップと、前記基本プログラムのうち、１つ前の順番の制御命令群である前記第１番目の制御命令群の最終の制御命令の次の制御命令から時系列に連続して並べられた複数の制御命令からなる第２番目の制御命令群を選択し、この第２番目の制御命令群を、前記第２の記憶領域のうち、１つ前の順番の制御命令群である前記第１番目の制御命令群と重複せず、前記第１番目の制御命令群よりも時系列的に前の領域に格納する第３のステップと、前記第２番目の制御命令群を構成する時系列に並べられた第１種類制御命令と第２種類制御命令のうち、前記第２種類制御命令を前記第３の記憶領域に記憶されている制御命令と入れ替える第４のステップと、前記第３のステップと前記第４のステップとを、第ｎ−１番目の制御命令群まで繰り返す第５のステップと、前記基本プログラムのうち、前記第ｎ−１番目の制御命令群の最終の制御命令の次の制御命令から時系列に連続して並べられた複数の制御命令からなる第ｎ番目の制御命令群を選択して、この第ｎ番目の制御命令群を、前記第２の記憶領域のうち、１つ前の順番の制御命令群である前記第ｎ−１番目の制御命令群と重複せず、前記第ｎ−１番目の制御命令群よりも時系列的に前の領域に格納する第６のステップと、前記第３の記憶領域に記憶されている制御命令を、前記第１番目の制御命令群の第２種類制御命令に替えて格納する第７のステップと、前記第ｎ番目の制御命令群を構成する時系列に並べられた第１種類制御命令と第２種類制御命令と第４種類制御命令のうち、前記第２種類制御命令を、前記第１番目の制御命令群の第２種類制御命令と入れ替え、前記第４種類制御命令を、前記第１番目の制御命令群の第３種類制御命令と入れ替える第８のステップとからなるものである。
【０００７】
また、本発明のプログラム作成方法は、上記のプログラム作成方法により作成したプログラムを、基本プログラムに続けて一体として、新たなプログラムを作成するものである。
【０００８】
また、本発明のプログラム作成方法は、上記に加えて、第１種類制御命令は溶接トーチ移動命令であり、第２種類制御命令は溶接条件命令であり、第３種類制御命令はアーク発生命令であり、第４種類制御命令はアーク停止命令としたものである。
【０００９】
また、本発明のプログラム作成方法は、上記に加えて、ｎ個の制御命令群のうち第ｎ番目の制御命令群を構成する第２種類制御命令をクレータ処理条件命令としたものである。
【００１０】
また、本発明のプログラム作成方法は、上記に加えて、時系列的に連続して並べられた複数の制御命令のうち、ある第１種類制御命令から次の第１種類制御命令を検索するステップと、前記ある第１種類制御命令から前記次の第１種類制御命令の１つ前の制御命令までを、基本プログラムから、１つの制御命令群として選択するステップとからなるものである。
【発明の効果】
【００１１】
以上のように、本発明のプログラム作成方法によれば、産業用ロボットの往復動作プログラムを容易に作成することができる。また、この方法では、単なるロボットの往復動作だけではなく、補助動作（例えば、溶接ロボットの溶接条件や溶接開始・終了命令の指定、塗装ロボットの塗装開始・終了など）をも含めた往復動作も作成可能である。このことにより、ロボットの補助動作を含めた往復動作プログラムを作成したい場合、往路のプログラムを作成しておけば、教示を行う等して復路のプログラムを作成する必要がなくなり、作業者がロボットへの教示にかける工数を削減できるとともに、復路プログラム作成時の教示間違いも無くすことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について、図面を用いて説明する。
【００１３】
なお、本実施の形態は、主に、溶接や切断などのハンドリング動作以外の作業を行う産業用ロボットの往復動作プログラム作成する際に、往路プログラムを作成しておくだけで、そのプログラムを編集して往復動作プログラムを作成することができるプログラム作成方法に関するものである。
【００１４】
図１は、産業用ロボットの概略構成を示す図である。図１において、１は６軸を有するマニピュレータ、２はマニピュレータを制御するための主制御装置であり、３はマニピュレータや主制御装置を操作するためのディスプレイ兼入力装置であり、例えばティーチングペンダントである。操作者がこのディスプレイ兼入力装置３のディスプレイを見ながら、マニピュレータ１の操作を行うことで教示プログラムを作成する。４は主制御装置２を制御するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。５は起動プログラムやＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）を格納している読込みのみ可能なＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）であり、６はロボットの操作者が例えばディスプレイ兼入力装置３によって作成したマニピュレータ１の教示プログラムや、産業用ロボットの機能設定を格納するための読み取り・書込み可能なＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。７はマニピュレータ駆動装置であり、ＣＰＵ４はこのマニピュレータ駆動装置７を介してマニピュレータ１の制御を行う。
【００１５】
図２は、主制御装置２に設けられたＲＡＭ６の中のＲＡＭ領域８に用意すべき領域を示したものである。８はＲＡＭ領域全体を示し、９はロボットの教示プログラムを展開するための記憶領域である第１領域を示す。また、１０はその教示プログラムを編集する際に必要となる、第１領域と同等の大きさを持つ記憶領域である第２領域であり、１１は教示プログラムで使用される命令の設定値のみを保存するための記憶領域である第３領域、１２は命令の入替を実行する際に命令や指令値を保存するための記憶領域である第４領域である。以上の第２領域から第４領域は教示プログラムの編集中、ＲＡＭ６上に一時的に確保された領域であり、編集作業終了で確保された領域は開放される。
【００１６】
図３はＲＡＭ領域８の第１領域９に用意するロボットの教示プログラム例を示したものである。このプログラムは第１種〜第４種の制御命令を含んだＮ個（Ｎ≧３）の制御命令群により構成されている。これら制御命令群はそれぞれ少なくとも１つの第１種命令・第２種制御命令を含んでおり、先頭の第１命令群には第３種制御命令が、最終命令群である第Ｎ命令群にのみ第４種制御命令が含まれるものとする。また、教示プログラムに示されている複数の命令群は処理される順に並べられており、プログラムの先頭から順に逐次処理されるものである。
【００１７】
なお、本来の教示プログラムは複数の制御命令が用意されているが、この教示プログラムでは、ロボット動作命令を簡易的に扱えるように第１種制御命令・第２種制御命令・第３種制御命令・第４種制御命令の４種に分類している。
【００１８】
第１種制御命令はロボットの位置・動作速度情報を含んだ命令であり、ロボットはその命令により指定された速度で指定された位置に移動する。第２種制御命令は第３種制御命令の実行時の条件を設定する命令であり、第３種制御命令は第２種制御命令の条件で実行される。第３種制御命令はロボットに移動動作以外の動作を開始させる命令であり、第４種制御命令はその動作を停止させる命令である。第２種制御命令は複数回呼び出された場合、ロボットは呼び出された条件で第３種制御命令により開始された動作を実行する。
【００１９】
以上のような構成とプログラムを前提として、ロボットの動作プログラムから反転動作プログラムを作成する方法について述べる。
【００２０】
図４はこれから述べるプログラム作成方法の一連の処理の流れを示したフローチャートであり、各ステップの要点を以下に述べる。
【００２１】
ステップＳＴ１において、制御命令群番号Ｋに１を代入し、ステップＳＴ２に進む。
【００２２】
ステップＳＴ２において、ＲＡＭ上の教示プログラム展開領域（第１領域）に展開されているプログラムの中で、先頭から時系列順に並べられている複数の制御命令群のうち、第Ｎ番目の制御命令群を選択し、制御命令群に含まれる複数の制御命令を、一時記憶領域であるＲＡＭ領域８の先頭に時系列順にコピーしてステップＳＴ３に進む。
【００２３】
ステップＳＴ３において、第Ｎ制御命令群内に時系列に並べられている、第１種制御命令と、第２種制御命令と、第３種制御命令のうち、第２種制御命令を実行するための指令値をＲＡＭ６上の一時記憶領域である第３領域にコピーしてステップＳＴ４に進む。
【００２４】
ステップＳＴ４において、制御命令群番号ＫにＫ＋１を代入して、ステップＳＴ５に進む。
【００２５】
ステップＳＴ５において、第２領域に展開されている教示プログラム中、第（Ｋ−１）番目の制御命令群の最終制御命令の後に続けて並べられた第Ｋ番目の制御命令群を選択し、この制御命令群を前記第２領域のうち、時系列的に１つ前の第（Ｋ−１）番目の制御命令群の制御命令に重複しないように、領域２の先頭から時系列ごとに選択した命令を並べ、ステップＳＴ６に進む。
【００２６】
ステップＳＴ６において、領域２にコピーした第Ｎ番目の制御命令群内の、第２種制御命令の指令値のみをＲＡＭ上の領域４にコピーする。さらに、前記領域３に格納された、第（Ｋ−１）番目の制御命令群の第２種制御命令指令値を、第Ｋ番目の制御命令群の第２種制御命令指令値とする。続けて、領域４にコピーされた第Ｋ番目の制御命令群の第２種制御命令指令値を前記領域３に格納して、ステップＳＴ７に進む。
【００２７】
ステップＳＴ７において、制御命令番号Ｋに１を加えて、ステップＳＴ８に進む。
【００２８】
ステップＳＴ８において、制御命令番号がＮであれば、ステップＳＴ９に進み、そうでなければ、ステップＳＴ５に進む。
【００２９】
ステップＳＴ９において、教示プログラム中、第（Ｋ−１）番目の制御命令群の最終制御命令の後に続けて並べられた、第Ｎ制御命令群を選択し、この制御命令群を前記領域２のうち、時系列的に１つ前の第（Ｋ−１）番目の制御命令群の制御命令に重複しないように、領域２の先頭から時系列ごとに選択した命令を並べ、ステップＳＴ１０に進む。
【００３０】
ステップＳＴ１０において、前記第２領域にコピーした第Ｋ番目の制御命令群内の、第２種制御命令指令値を第４領域にコピーする。さらに、第３領域に存在する第（Ｋ−１）番目の第２種制御命令指令値を、第１番目の制御命令群の第２種制御命令の指令値とする。続けて、第４領域にコピーされた第２種制御命令の指令値を前記領域３に格納し、ステップＳＴ１１に進む。
【００３１】
ステップＳＴ１１において、第Ｋ番目の制御命令群を構成する第１種制御命令、第２種制御命令、第４種制御命令のうち、第２種制御命令を選択し、第４領域にコピーする。前記第１番目の制御命令群の第２種制御命令を第Ｋ番目の制御命令群の第２種制御命令に上書き後に、第４の領域に格納されている第Ｋ番目の制御命令群の第２種制御命令を第１番目の制御命令群の第２種制御命令に上書きする。同様の方法で、第Ｋ番目の制御命令群の第４種制御命令と、第１番目の制御命令群の第３種制御命令群とを入れ替え、ステップＳＴ１２に進む。
【００３２】
以上のステップにより第４領域に作成されたプログラムは、前記第１領域の編集元教示プログラムとは、第１種制御命令の並びが時系列的に逆となっているにも関わらず、第２種・第３種・第４種制御命令により指示される補助動作は、第１領域の教示プログラムが指示した条件と一致するものとなる。
【００３３】
さらに、この第４領域に並べられた制御命令群の全てを選択し、第２領域の教示プログラムの最終制御命令の後に、第１領域の教示プログラムに重ならないようにして、時系列ごとに選択した命令を並べることで、新たなプログラムを作成できる。このプログラムは前記第１領域の教示プログラムを往路とした往復動作プログラムとなる。
【００３４】
また、第１種制御命令を溶接トーチ先端の移動命令、第２種類制御命令を溶接条件指定命令、第３種類制御命令をアーク発生命令、第４種類制御命令にはアーク停止命令を指定しても成り立つ。この場合、第１種制御命令により指令された移動方向にしたがって進行しながら、第２種制御命令により指定された溶接条件にて、第３種制御命令により溶接を開始し、第４種制御命令によって溶接を終了させることにより、ロボットの往復溶接動作を行うことができる。
【００３５】
また、第２種類制御命令に溶接終了時にのみ使用するクレータ処理条件命令を用いてもかまわない。クレータ処理条件も溶接条件を指定する命令であるので、他の溶接条件指定命令と同様に扱うことが可能である。
【００３６】
また、１つの制御命令群を特定する方法として、第１領域の教示プログラムの先頭から時系列順に並べられている制御命令を先頭から順に第１種制御命令が見付かるまで検索、さらに次の第１種制御命令が見付かるまで順に検索し、こうして見付かった第１種制御命令の直前の制御命令までを１つの制御命令群として選択することで行う。最後に教示プログラムの最終命令まできた場合は、そこまでを１つの制御命令群とする。
【産業上の利用可能性】
【００３７】
本発明によるプログラム作成方法を用いることで、産業用ロボットの往復動作プログラムを容易に作成することができるので、ロボットの教示にかかる工数を削減でき、往復動作を多用する、塗装・溶接ロボット等のプログラム作成方法として産業上有用である。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施の形態におけるの概略構成を示す図
【図２】本発明の実施の形態におけるプログラム作成領域を示す図
【図３】本発明の実施の形態におけるプログラム作成領域を示す図
【図４】本発明の実施の形態におけるフローチャート
【符号の説明】
【００３９】
１    マニピュレータ
２    主制御装置
３    ディスプレイ兼入力装置
４    ＣＰＵ
５    ＲＯＭ
６    ＲＡＭ
７    マニピュレータ駆動装置
８    ＲＡＭ領域
９    第１領域（教示プログラム展開用領域）
１０  第２領域（教示プログラム編集用領域）
１１  第３領域（命令指令値格納領域）
１２  第４領域（命令格納領域）
【図１】
2008310557.tif 000003
【図２】
2008310557.tif 000004
【図３】
2008310557.tif 000005
【図４】
2008310557.tif 000006