(57)【要約】【課題】ロボット言語の表示・編集を行う際に教示装置やプログラミングペンダントに表示されるのは、従来、ロボット言語の中間コードをキャラクタ表現に変換したものだけであり、ロボットの動作を直感的に把握することができず、言語の習得に時間を要し、教示後にロボットを実際に動かして作成したプログラムの正当性を確認する必要があった。【解決手段】グラフィカル表示が可能でありポインティングデバイスによってその表示画面中の位置を指定できる表示装置と、ロボットプログラムを格納するメモリと、ロボットプログラムを参照して、作業区間及びエアーカット区間を連続した線として表示装置に表示し、ポインティングデバイスにより表示画面に表示中のいずれかの線が指定されたときには、その線における作業内容の種類を表示画面に表示するグラフィカル言語処理部とを設け、グラフィカル・ユーザ・インタフェースに基づく教示を可能にする。【選択図】図４
2007242054.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも３自由度以上を有する産業用ロボットの教示に用いるプログラミングペンダントにおいて、
グラフィカル表示が可能であるとともにポインティング手段によってその表示画面中の位置を指定できる表示手段と、
ロボットの目標位置データを移動命令によって記述した作業プログラムを格納する格納手段と、
作業に関する条件を格納したデータベースと、
教示された軌跡のグラフィカルな３次元表示を前記表示手段で行うとともに、表示された前記軌跡の中の任意の２つの移動命令を結ぶ直線あるいは曲線が前記ポインティング手段により指定されたときに、作業施工条件を表わすアイコン群を前記表示手段に表示し、前記ポインティング手段で指定された位置及びアイコンに基づいて定められる第１の作業施工条件群と、前記ロボットを含むシステムについて予め設定されている第２の作業施工条件群とに基づいて、前記データベースを検索して適正な作業条件群を取り出し、取り出した作業条件群を前記ロボットの作業命令に変換して前記作業プログラムの指定された位置に自動的に組み込む言語処理手段と、を備えたことを特徴とするプログラムミングペンダント。
【請求項２】
前記言語処理手段が、前記データベースから取り出した作業条件群の中のロポットの姿勢を指定するデータにしたがい、教示された移動命令の姿勢情報を変更する請求項１に記載のプログラミングペンダント。
【請求項３】
前記言語処理手段が、前記データベースから取り出した作業条件群の中のロボットの姿勢を指定するデータにしたがい、教示された移動命令の姿勢構報を変更するとともに、作業対象と作業ツールの相対姿勢を出来るだけ前記データベースの示す姿勢に保つように、教示された移動命令の前後に姿勢変更点を自動追加する、請求項１に記載のプログラミングペンダント。
【請求項４】
産業用ロボットの教示に用いるプログラミングペンダントにおいて、
グラフィカル表示が可能であるとともにポインティング手段によってその表示画面中の位置を指定できる表示手段と、
ロボットの目標位置データを移動命令によって記述した作業プログラムを格納する格納手段と、
前記作業プログラムを表象するシンボルを前記表示手段に表示するとともに、そのシンボルと作業プログラムの対応関係を前記格納手段に格納し、前記ポインティング手段でいずれかのシンボルが指定されたときには対応する作業プログラムを処理対象とする言語処理手段とを有することを特徴とするプログラミングペンダント。
【請求項５】
前記シンボルが、前記ポインティング手段を用いて前記表示手段の画面に対して手書き入力されたものである請求項４に記載のプログラミングペンダント。
【請求項６】
前記言語処理手段は、前記作業プログラムに記述された移動命令の時系列的な番号を前記表示手段上に重畳して表示するとともに、前記ポインティング手段によって前記時系列的な番号の範囲が指定されたときには、対応する移動命令区間の軌跡のみを前記表示手段に表示する、請求項１に記載のプログラミングペンダント。
【請求項７】
前記言語処理手段は、前記移動命令の連続な二つの教示位置から作業対象物の二つの教示位置を通る直線と地面とのなす角を計算し、前記第１の作業施工条件群の要素として登録する、請求項１に記載のプログラミングペンダント。
【請求項８】
前記ロボットの位置データが３次元データである参照点として前記作業プログラムに記述され、前記言語処理手段が、前記格納手段に格納された前記参照点の３次元データを前記表示手段に表示する、請求項１に記載のプログラミングペンダント。
【請求項９】
前記言語処理手段は、前記移動命令の連続な二つの教示位置と前記格納手段に格納された前記参照点の３次元データとから、作業対象物の前記二つの教示位置を通る直線を軸として、前記軸回りに前記作業対象物が回転している角度を計算し、前記第１の作業施工条件群の要素として登録する、請求項１に記載のプログラミングペンダント。
【請求項１０】
前記言語処理手段は、前記第１の作業施工条件群と前記第２の作業施工条件群とに基づいて作業対象物の形状寸法を自動で設定し、設定された前記形状寸法から、前記移動命令の連続な二つの教示位置間に前記作業対象物の形状を３次元表示で前記表示手段に表示する請求項１に記載のプログラミングペンダント。
【請求項１１】
前記言語処理手段は、前記姿勢変更点を自動追加する際に、予め教示されている移動命令と関連づけた情報を、追加する姿勢変更点の移動命令に付随させて前記格納手段に格納する、請求項３に記載のプログラミングペンダント。
【請求項１２】
予め教示されている移動命令を削除する場合に、当該移動命令を削除した後、前記言語処理手段が、前記格納手段内を検索し、削除した移動命令と関連づけた情報が付随した姿勢変更点の移動命令も合わせて削除する請求項１１に記載のプログラミングペンダント。
【請求項１３】
予め教示されている移動命令に位置を変更する場合に、当該移動命令の位置の変更を行った後、前記言語処理手段が、前記格納手段内を検索し、変更した移動命令と関連づけた情報が付随した姿勢変更点の移動命令に位置情報を適切な位置に修正する請求項１１に記載のプログラミングペンダント。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は産業用ロボットの教示に用いられるプログラム表示装置や教示装置、プログラミングペンダントなどのロボット言語処理装置に関し、特に、プログラミング内容をグラフィカルに表示でき、また、プログラムの編集やロボットの教示を容易に行うことができる、ロボット言語処理装置に関する。
【背景技術】
【０００２】
産業用ロボット、特に３自由度以上のティーチング・プレイバック方式の産業用ロボットの教示には、ロボットの制御装置に接続されたプログラミングペンダントあるいはティーチングボックスとよばれる小型のユーザ・インタフェース装置を用いることが多い。また、ロボット制御用のプログラミング言語を用いてアプリケーションプログラムを作成し、そのアプリケーションプログラムを用いてロボットを動作させることもある。
【０００３】
オフランでアプリケーションプログラムを作成し、それに基づいてロボットを動作させる場合でも、実際のワーク形状などに即した細かい動作をアプリケーションプログラムによって正確に記述することは難しく、プログラミングペンダントなどを用いてロボットを実際に動かしながらアプリケーションプログラムを修正することが多い。すなわち、大まかな動きはアプリケーションプログラムで予め記述し、細かい動きはプログラミングペンダントを用いて実際にロボットを動かしながら教示するというのが、一般的である。アプリケーションプログラムの修正の際には、ユーザに対して何らかの形でアプリケーションプログラムを表示する必要があるので、プログラミングペンダントなどをプログラム表示装置として用いている。
【０００４】
以下、ティーチング・プレイバック方式の産業用ロボットとして溶接用ロボットを例に挙げて説明するが、本発明が溶接用ロボットに限定されるものでないことはいうまでもない。
【０００５】
従来のティーチングプレイバック方式の溶接用ロボットのプログラム表示装置としては、図１に示す通り、典型的には、プログラミングペンダント９０として構成されている。プログラミングペンダント９０には、ユーザに対して各種の表示を行うために、一般にはジョブ（ＪＯＢ）画面と呼ばれる表示スクリーン９１が設けられるともに、コマンドや数値、方向情報などを入力するための複数の入力キー９４が設けられている。プログラミングペンダント９０は、信号線及び電力線を含むケーブル９６によってロボットの制御装置に接続され、また、ポインティングデバイスなどの他の情報入力手段９７も接続されている。プログラミングペンダント９０は、ケーブル９６を介して制御装置側から電力が供給され、制御装置と情報のやり取りを行うとともに、入力キー９４及び他の情報入力手段９７によって情報が入力される。そして、こうしてやり取りされた情報に基づいて、表示スクリーン９１上にロボットプログラム言語を書き出している。図示した例では、「ＪＯＢ−４０」から「ＥＮＤ」までの４行分のプログラムがキャラクタベースで表示されている。
【０００６】
ところで、産業用ロボットの制御を行うためのプログラム言語としては、コンパイラタイプのものとインタプリタタイプのものとがある。コンパイラタイプのロボット言語は、高級言語形態のものであって、予めソースプログラムをコンパイルして実行形式に変換してから実際のロボットの動作制御に使用するものである。一方、インタプリタタイプのロボット言語は、プリミティブな命令群から構成されている。インタプリタタイプのロボット言語を使用してロボットの動作制御を行う場合には、命令をプログラミングペンダントから入力し同時にロボットの動作位置を記憶させ、これらの命令をインタープリタによって逐次実行する。いずれのタイプのロボット言語の場合も、ユーザが参照及び編集する場合には、文字の羅列としてアプリケーションプログラムが表示されるようになっている。
【０００７】
しかしながら、上述した従来のプログラム表示装置では、ロボットの行う作業内容をロボット言語によるプログラムリストとして表示しているので、実際の作業内容を把握するのが難しいという問題点がある。また、キャラクタベースでの言語表現が用いられているので、プログラム表示装置やプログラミングペンダントを用いてプログラムの作成や編集を行おうとする場合には、教示作業者はそのロボット言語で定義された命令とその意味を理解しておく必要がある。しかしながら、非熟練者には、ロボット言語の命令群を使いこなすことが難しく、またその習得にも多大の時間を要していた。また、ロボット言語のキャラクタベースでの表現ではロボット特有の動作に関しては表現できないため、ロボットの移動命令教示が正しいかどうかや、周辺機器の制御プログラム記述においてどこに具体的な命令を記述すべきか、等が、実際のロボットを動作させなければ分からないという問題点がある。作成した作業プログラムの確認する時にも、どの位置でどのような指示を周辺機器に対して行っているか等も、実際に動作させてみなくては分からない。
【０００８】
例えば、溶接用ロボットでは、キャラクタベースでプログラムを表示させた場合に、平行シフト動作の開始、終了や、溶接の開始や終了など、区間を表すような命令がある場合、その区間がどこからどこまでかは、命令の羅列の中で開始命令と終了命令を探して認識するしかなかった。区間を設定するときも、開始命令と終了命令のどちらか一方だけを入力できるため、区間が完成していないプログラムを作成してしまう可能性があった。以上の理由から、教示作業時には、プログラム作成と、作成したプログラムの実行によるロボットの動作確認とを平行して行う必要があり、教示作業に多大な時間がかかっていた。
【０００９】
さらに、キャラクタベースの表現による場合には、作成済みの作業プログラムを参照しても、ロボットの動作を把握しにくく、そのプログラムによる作業内容は、実際にロボットコントローラで実行しないと分からないことが多い。
【００１０】
本発明では、ユーザとのインタフェース機能を備え、産業用ロボットの教示のために使用される装置であって、プログラムの表示、プログラムの作成や編集、教示内容の作業プログラムへの変換などを行う装置を総称して、ロボット言語処理装置と呼ぶことにする。ロボット言語処理装置の範疇には、具体的には、プログラム表示装置、プログラミングペンダント、ティーチングボックス、教示装置などが挙げられる。もっとも、教示装置あるいはプログラミングペンダントも一般にはプログラムを表示する機能を有し、また、教示装置のうち特に小型で手持ちに適したものをプログラミングペンダントと称するのであるから、プログラム表示装置やプログラミングペンダント、教示装置といった分類は、択一的なものではない。
【００１１】
以下、上述したようなプログラム表示装置ないしプログラミングペンダントを用いた教示作業の従来のやり方について、具体的に検討する。
【００１２】
従来、教示作業は、プログラミングペンダントなどを教示装置として用い、まず、プログラミングペンダントを操作することによってロボットを操作しながらロボット言語による命令や専門的な用語を使用して位置教示を行う。その後、経験豊富な作業者が、経験に基づいて蓄積してきた情報を元に、プログラミングペンダントから作業命令をロボット言語での命令や専門的な用語として入力している。
【００１３】
このような教示方法には、キャラクタベースでロボット言語を扱う必要があり、かつ専門的な用語も扱わなければならないから、初心者には習得が難しいという問題点がある。さらには、作業を実現するためには位置教示として適切な位置と姿勢を教示する必要があるが、作業者が十分な技能を備えていない場合には、ロボットの適切な位置と姿勢が分からず、結果として位置教示が行えない。作業を実現するための適切な位置と姿勢が分かっている場合でも、プログラムペンダントの軸操作キーによるロボット操作方式に慣ていない人には、ロボットを思い通りに操作することが難しい。さらに、軸キー操作とロボットの動作方向との関係についての感覚がつかめても、ロボット固有の動作リミットやロボット自身と作業ツールの干渉などを回避する方法が分からないことが多く、この問題を解決するために多大の時間を浪費しがちである。
【００１４】
位置教示が完了した後の条件教示についても、周辺機器にどういうタイミングでどのような指令（例えば溶接の電流、電圧など）を与えればよいか、またロボットの動作速度はどのくらいが最適かが分からないと作業教示が完了しない。また、位置教示の終了後、実際動作させてみたときに、ロボットの各軸の最高許容速度を超える場合には、設定速度を小さくする必要があり、これに伴って、既に設定された作業条件も調整する必要も生じるため、これらの調整に時間がかかる。さらに、作業対象物（ワーク）が複雑な形状であり、作業対象物に傾斜角や回転角が存在する場合の条件教示は、相当な熟練が必要とされるともに、適切な条件を選定することが難しい。
【００１５】
結局、プログラムペンダントを用いたロボットの作業プログラムの教示は、これまで、ロボットそのものに対する操作スキルと作業を実現するための作業スキルの両方を兼ね備えた熟練技術者にしかできなかった。このような熟練技術者は不足しており、またこのような熟練技術者の育成も難しいため、ロボットの普及を妨げる要因ともなっている。
【００１６】
そこで、プログラミングペンダントを用いた教示を簡単に行えるようにするために、いくつかの技術が提案されている。例えば、特開平７−１００６４５号公報（特許文献１）には、アーク溶接ロボット装置として、ロボットの動作教示確認のその場で溶接条件確認ができるように、さらに目視で加重平均値の読み取りと変動幅から溶接安定性を推定できるようにしたものが開示されている。このアーク溶接ロボットでは、ティーチングペンダントに溶接電流や溶接電圧をリアルタイムで表示し、しかもこれらの表示をデジタルでなくアナログ形式で表示する構成として、ティーチングハンドで全ての操作確認ができ、作業負担が軽減するようにしている。つまり、この公報に開示のアーク溶接ロボットは、ロボット本体と、このロボット本体の動作情報を入力するティーチングペンダントと、ロボット本体に接続したアーク溶接機とを有し、溶接中の少なくとも溶接電流を含む実溶接条件を表示する表示器をティーチングペンダントに設けたアーク溶接ロボット装置である。また、この公報には、溶接中の少なくとも一つの実溶接条件をティーチングペンダントにアナログ表示することも開示している。しかしながら、このアーク溶接ロボットは、ティーチングペンダントにリアルタイムで溶接中の溶接電流や溶接電圧をアナログ表示するだけであり、単に数値的な表示を行ったものの域を出るものではない。
【００１７】
特開平４−３２２３０５号公報（特許文献２）は、表示装置として、ロボットを直接教示位置に動かすことなくロボットの動作位置を表示する装置を開示している。この表示装置は、電波または音波信号を発信する小型の発信器と、位置が確定している複数個の受信器と、演算部とを備え、信号受信の時間差データを用いて演算部が発信器の位置を算出し、動作位置として教示する。発信器内部の２箇所に発信部を備えている表示装置も開示されている。しかしながらこの表示装置は、信号受信の時間差からロボットの位置を演算部で算出するものであるから、例えば溶接軌跡およびその溶接条件等をグラフィカルな線図などによって分かりやすく表示することはできない。
【特許文献１】特開平７−１００６４５号公報
【特許文献２】特開平４−３２２３０５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
そこで本発明の第１の目的は、ロボット言語に対する在来のキャラクタベースでの言語表現及び編集方法をグラフィカルな表現に変えることで、教示内容の把握を容易にするとともに、初心者にも容易にプログラミングや作業プログラムの教示を行えるようなロボット言語処理装置を提供することにある。
【００１９】
本発明の第２の目的は、３自由度以上のティーチング・プレイバック方式の産業用ロボットのプログラミングペンダントにおいて、特にティーチング時に、作成したロボットプログラムの内容を画像で表現し、作業内容の作成・修正・確認が簡単にできるようにすることにある。
【課題を解決するための手段】
【００２０】
本発明の目的は、少なくとも３自由度以上を有する産業用ロボットの教示に用いるプログラミングペンダントにおいて、グラフィカル表示が可能であるとともにポインティング手段によってその表示画面中の位置を指定できる表示手段と、ロボットの目標位置データを移動命令によって記述した作業プログラムを格納する格納手段と、作業に関する条件を格納したデータベースと、教示された軌跡のグラフィカルな３次元表示を前記表示手段で行うとともに、表示された前記軌跡の中の任意の２つの移動命令を結ぶ直線あるいは曲線が前記ポインティング手段によって指定されたときに、作業施工条件を表わすアイコン群を前記表示手段に表示し、前記ポインティング手段で指定された位置及びアイコンに基づいて定められる第１の作業施工条件群と、前記ロボットを含むシステムについて予め設定されている第２の作業施工条件群とに基づいて、前記データベースを検索して適正な作業条件群を取り出し、取り出した作業条件群を前記ロボットの作業命令に変換して前記作業プログラムの指定された位置に自動的に組み込む言語処理手段と、を備えたことを特徴とするプログラムミングペンダントによって達成される。
【００２１】
本発明の目的は、産業用ロボットの教示に用いるプログラミングペンダントにおいて、グラフィカル表示が可能であるとともにポインティング手段によってその表示画面中の位置を指定できる表示手段と、ロボットの目標位置データを移動命令によって記述した作業プログラムを格納する格納手段と、前記作業プログラムを表象するシンボルを前記表示手段に表示するとともに、そのシンボルと作業プログラムの対応関係を前記格納手段に格納し、前記ポインティング手段でいずれかのシンボルが指定されたときには対応する作業プログラムを処理対象とする言語処理手段とを有することを特徴とするプログラミングペンダントによっても達成される。
【００２２】
本発明において、ポインティング手段としては、マウス、入力ペン、トラッグボールなどが使用される。特に、表示装置の表示面上に透明なタブレットを配置したものを表示手段として使用するのであれば、入力ペンやスタイラスなどをポインティング手段として用いることが好ましい。また、タッチパネル形式の表示手段を使用するのであれば、操作者の指自体がポインティング手段となる。
【００２３】
また、発明において、表示手段としては、ＣＲＴ、液晶表示パネル、プラズマディスプレイなどを使用できる。ペンなどのポインティング手段によって表示面に接触することにより、表示画面での位置を直接指示できるものが好ましい。マウスやトラックボールを使用する場合には、位置の指定のために操作者がこれらポインティングデバイスを操作するところと、表示画面とが物理的に離れており、ロボット設置現場での教示という観点からは、直接位置を指定できるものに比べ、操作性に劣ることがある。
【発明の効果】
【００２４】
本発明によれば、溶接作業などのプログラムで表わされたロボットの作業内容が一目で確認できるという特段の効果を泰するようになる。すなわち、従来はキャラクタベースであったロボットの作業プログラムの参照、および編集作業が、絵文字（アイコン）をベースにしたものとなるため初心者にも習得しやすくなる。
【００２５】
さらに本発明では、教示された移動命令群の位置データの軌道を任意の視点からの３次元表現した線で表現し、さらにこの線に関連づけて、付随するパラメータや作業命令を絵文字などによりグラフィカルに表現するとともに、ロボットや工具の姿勢も確認できるようにしている。このため、実際に作業プログラムを実行してロボットを動作させることなしに、作業内容の碓認ができるようになる。従来は、プログラム作成と作成したプログラムの実行によるロボットの動作確認を平行して行っていたが、本発明によれば、動作確認を行う必要がなくなって、教示作業時間の大幅な短縮が可能になる。また作業命令を追加変更する場合も、ロボットを動作させることによって挿入箇所や変更箇所を確認する必要がなくなり、編集作業時間が短縮される。
【００２６】
また、溶接の開始及び溶接の終了など、区間を表わす作業命令がある場合には、グラフィカル表示された軌道での線の色や線種を変えて表現するため、作業区間が容易に分かるようになる。このため、従来の技術での、開始命令と終了命令を探さないと作業区間かどうかが分からないという問題点が解決される。しかも、作業区間の設定時には、開始位置と終了位置の双方がともに設定されることになるので、開始命令だけあるいは終了命令だけした登録されていないといった不正な作業プログラムを作成する可能性がなくなる。局所的な位置や姿勢の修正もグラフィカルにできるため、姿勢や位置の微少な変更などを行う場合に、ロボットを動作させて変更する必要がなくなり編集作業時間が短縮される。
【００２７】
さらに本発明では、溶接条件データベースなどの作業データベースを備えることで、表示されている線に関連づけて施工条件をグラフィカル言語画面上で設定するだけで、作業データベースの検索結果が作業命令に変換されて適正箇所に追加される。施工条件そのものは作業の初心者にも分かるものであるから、結局、作業に関するスキルが無い初心者でもロボット作業プログラムが作成可能となる。さらに、一度設定した施工条件や作業条件が作業プログラムごとに保存されているため、例えば溶接作業などの作業専用のスキルが蓄積でき、同じような作業の作業プログラムを作成する際には作業条件の選定が簡単になり、結果として、作業プログラムの作成が短時間で行える。
【００２８】
溶接ロボットに本発明を適用した場合、作業に応じた適正な姿勢が自動設定されると共に変極点の前後に必要な姿勢変更点が自動的に追加され、またこれらの点について自動干渉回避が施されることにより、位置の教示に関して作業スキルが不要なだけでなく、開始点、終了点、変曲点だけの位置教示でよいため、ロボット操作に不慣れな初心者でも短時間で位置教示が可能になる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の好ましい実施態様について、図面を参照して説明する。各図面において、同一符号は同一もしくは相当部材を表わしている。
【００３０】
第１の実施態様
まず、第１の実施態様として、本発明の原理的概念を説明する。図２は、本発明の原理的概念に基づきロボットプログラムを表示するロボット言語処理装置の一例としての、この第１の実施態様のプログラミングペンダント１０を示している。このプログラミングペンダント１０は、ロボットの教示作業に使用されるものである。このプログラミングペンダント１０は、いわゆるジョブ画面として、グラフィカル表示可能な表示スクリーン１と、選択ボタン２と、溶接速度ボタン３と、命令の入力などに用いる複数個の入力キー４と、ポインティングデバイスとしての入力ペン５とを備えており、ケーブル６によって、ロボットの制御装置に接続している。ケーブル６内には電力線と信号線とが設けられており、制御装置側からプログラミングペンダント１０に電力が供給されるとともに、制御装置とプログラミングペンダント１０との間で必要な情報が送受信できるようになっている。また、このプログラミングペンダント１０では、入力ペン５によって表示スクリーン１上の任意の位置をクリックすることにより、表示スクリーン１でのその位置（座標）をプログラミングペンダント１０に入力できるようになっている。これは、パーソナルコンピュータやワークステーションなどの情報処理機器において、グラフィカル・ユーザ・インタフェース（ＧＵＩ）に基づき、マウスなどのポインティングデバイスによって位置や命令を入力するのと同等の機構である。ただし、産業用ロボットのプログラミングペンダントという条件を考慮し、本実施の形態では、ポインティングデバイスとして入力ペン５を使用している。
【００３１】
本発明では、ロボットとして、３自由度以上のティーチング・プレイバック方式の産業用ロボットを想定している。ここでは、このような産業用ロボットの一例として、アーク溶接用のロボットを用いて説明を行うが、当然のことながら、本発明は溶接用ロボット以外のロボットにも適用できるものである。
【００３２】
図３ａ、図３ｂは、表示スクリーン１での表示画面例を示しており、ここでは、溶接作業区間識別図として表示されるものを示している。具体的には、図３ａは、プログラム内容をグラフィカルな表現で示した表示画面１０１を示しており、図３ｂは、さらにその一部の溶接条件等を定数で併せて表示した表示画面１０２を示している。すなわち図３ａは全区間の溶接作業区間識別図を示し、図３ｂは一部区間についての詳細な溶接作業に内容を表示した識別図を示している。
【００３３】
入力キー４や各ボタン２，３が配置されている領域の中で左上にある選択ボタン２は、ティーチング内容を表示スクリーン１上に、図１に示すのと同様にプログラム言語（キャラクタベース）の形で表示させるか、それとも図３ａに示すようにグラフィカルな表現で表示させるかの選択を行うためのものである。選択ボタン２を操作することによって、キャラクタベースの表示モードとグラフィカル表現の表示モードとの間で遷移する。ティーチング内容の確認を行う際には、この選択ボタン２を押して、グラフィカル表現の表示モードに切り替える。このプログラミングペンダント１０では、表示モードがグラフィカル表現のモードに切り替わると、表示スクリーン１では、図３ａに示すように、溶接作業がいくつかの溶接区間（実線）ｐ１→ｐ２，ｐ３→ｐ４と、エアーカット区間（点線）ｐ２→ｐ３，ｐ４→ｐ１に分けられて表示される。そして、溶接する順番で点の番号ｐ１，ｐ２，ｐ３，ｐ４が付記される。
【００３４】
各区間の作業情報を詳しく見たいときは、表示スクリーン１上で、詳しく見たいと思う溶接作業区間（例えばｐ３→ｐ４）の部分を入力ペン５でクリックすることにより溶接作業区間を指定する。また、通常（ノーマル）の溶接線とウィービングによる溶接線とが、表示色あるいは表示線種の違いによって区別される。
【００３５】
一方、溶接速度については、選択ボタン２の隣にある溶接速度ボタン３を押すことによって行う。溶接速度ボタン３を押すと、表示スクリーン１上に、溶接スポットに相当する輝点が表われ、この輝点が、実際の溶接速度に基づいて、表示中の溶接線上を移動する。溶接電圧、溶接電流、突き出し長さ、溶接速度、パス数、層数などの具体的な数値は、図３ｂに示すように、対象となっている溶接線の上部に表示される。
【００３６】
本発明では、上述の原理的な実施態様に見られるように、キャラクタベースでのプログラム表示とグラフィカルな表示とを切り替えることにより、プログラムに対応する作業内容を一目で確認することができるようになる。
【００３７】
第２の実施態様
次に、実際の溶接作業プログラムの教示環境として構成された実施態様について説明する。図４に示す溶接ロボットシステムは、アームの先端に溶接トーチ４１が作業工具として装備されたロボット４０と、溶接電力線３１を介して溶接トーチ４１に溶接用の電力を供給する溶接機３０と、溶接機３０及びロボット４０を制御するための制御装置２０と、ロボットプログラムを表示しロボット４０を教示するためのプログラミングペンダント１１と、によって構成されている。制御装置２０と溶接機３０とは溶接機制御線３２によって接続され、制御装置２０とロボット４０とはロボット制御線２１によって接続されている。さらに、プログラミングペンダント１１と制御装置２０とは、データのシリアル伝送を行うためのケーブル６によって接続されている。実際には、ケーブル６の内部には、制御装置２０からプログラミングペンダント１１に電力を供給するための電力線と、データのシリアル伝送を行うための信号線とが設けられる。
【００３８】
プログラミングペンダント１１の外観が図５に示され、内部構造が図６に示されている。このプログラミングペンダント１１は、ロボット言語処理装置としての機能を有するものである。
【００３９】
このプログラミングペンダント１１は、図２に示すプログラミングペンダント１０と比べ、メカニカルな機構としての入力キーや各種のボタン類が設けられていない点で相違し、その代りに、プログラミングペンダントの上面のほぼ全面に及ぶような表示スクリーン１２が設けられている。このプログラミングペンダント１１では、いわゆるソフトキー、ソフトボタンが採用されており、キーやボタンを表象するアイコンが表示スクリーン１２に表示されているときに、その入力ペン５によってそのアイコンを指定することによって、該当するキーやボタンへの操作が行われたものとされる。このような表示スクリーンは、液晶表示パネル上に透明タブレットを配置することによって実現される。この表示スクリーンの構成は、例えば、いわゆる携帯情報端末（ＰＤＡ）などでは一般的な形態であるので、当業者は容易に理解できるであろう。プログラミングペンダント１１の側面には、入力ペン５を保持するためのホルダ５ａが設けられている。
【００４０】
さて、プログラミングペンダント１１の内部には、制御装置２０側との通信を行うための通信部１３と、表示スクリーン１２への表示の制御やプログラム編集の際の制御などを行うグラフィカル言語処理部１４と、中間コードとして表わされるプログラムや一時的なデータを格納するメモリ１５と、データベース処理部１６と、ロボットの位置や姿勢を生成する位置姿勢生成部１７と、各種の溶接条件を格納した溶接条件データベース１８とが設けられている。このうち、グラフィカル言語処理部１４は、このプログラミングペンダント１１の全体の動作の制御も行い、表示スクリーン１２、通信部１３、メモリ１５、データベース処理部１６及び位置姿勢作成部１７とデータの送受を行えるようになっている。また、データベース処理部１６は、グラフィカル言語処理部１４からの指示に基づいて、溶接条件データベース１８の検索やその他のデータベース処理を実行するものである。
【００４１】
以上、プログラミングペンダント１１の内部構成を説明したが、実際には、このプログラミングペンダント１１は、コンピュータとこのコンピュータで動作するソフトウェアとから構成することができる。具体的には、グラフィカル処理部１４、データベース処理部１６及び位置姿勢生成部１７は、コンピュータ上のソフトウェアによって実現でき、また、通信部１３での通信制御に関わる部分も、ソフトウェアによって実現できる。特に、グラフィカル処理部１４は、オペレーティングシステム（ＯＳ）としての機能を有するものであり、本実施態様では、グラフィカル・ユーザ・インタフェース（ＧＵＩ）として、表示スクリーン１２に対してマルチウィンドウでの表示を可能とするものである。
【００４２】
次に、作業者の操作とプログラミングペンダント１１での表示内容の変化を説明することにより、本実施態様のシステムについて説明する。ここでは、既に移動命令が教示されている作業プログラムに対して、このプログラミングペンダント１１を用いて参照および編集作業を行い、溶接作業プログラムとして完成させる場合を例に挙げて説明する。図７は、既に移動命令が教示されている作業プログラム１０２の一例を示すものである。ここでは、この作業プログラムを、キャラクタベースによる従来の表現方法にしたがって表示している。なお図７において、点線の右側に付記されているものは、各行の命令に対する注釈である。また、「ＮＯＰ」は何も実行しないというノーオペレーション命令を、「ＭＯＶＪ」はジョイント動作での移動命令を、「ＭＯＶＬ」は直線補間動作での移動命令を、「ＥＮＤ」はプログラムの終了を示す命令である。
【００４３】
このプログラミングペンダント１１では、キャラクタベースでのプログラムの表示と、グラフィカルな表現による表示とを切り替えられるようになっている。まず、グラフィカルな表示を行うモードなっているときの、基本的な教示軌道や、トーチやロボットの表示形態について、説明する。
【００４４】
教示された移動命令群は、グラフィカル言語処理部１４により、任意の視点から見た３次元軌跡として表示される。図８は、このときの表示画面１０４を示す図である。表示画面１０４において、図示上端のバーの部分に「グラフィカル言語画面」と表示されているが、これは、移動命令群の表示が、マルチウィンドウ表示における１つの表示窓（ウィンドウ）内で行われることを示している。このとき、ジョイント動作区間、すなわちポイント間を各軸が同時スタート、同時停止で補間制御なしに動作するモードの区間は破線で表示されている。また、直線補間及び円弧補間動作区間は実線で表示されており、移動命令群での各教示位置が○印で示され、これら教示位置に対して時系列にしたがって付与される番号が、対応する教示位置の近傍に表示されている。図示した例では、番号として、ｐ１〜ｐ８までが示されている。ジョイント動作区間では、実際に動作する溶接トーチ先端の軌道を表示する。
【００４５】
一方、ロボットおよびトーチの表示モードでの表示状態は、図９に示す通りである。すなわち、図８に示すように移動命令群がグラフィカルに表示されているとして、この表示中での教示位置を示す番号を入力ペン５でクリックすることなどにより指示することによって、図９に示す表示画面１０５が表示されるようになる。この表示画面１０５では、トーチ４１およびロボット４０のサーフェースモデルが、実線及び点線による移動命令群の表示に重畳して表示される。また、表示スクリーン１２の片隅に、ソフトスイッチとして表示モードスイッチを表示させておき、これを入力ペン５で操作することによって、ロボットやトーチのサーフェースモデルの表示と非表示とを切り替えることもできる。
【００４６】
溶接ロボットの場合、位置教示を終えた後に、作業教示として溶接区間を教示しなければならない。このプログラミングペンダント１１における溶接区間の指定について説明する。
【００４７】
図８に示すようにグラフィカル表示が行われているとして、作業者は、この表示に対して入力ペン５により、溶接区間を指定する。例えば、溶接開始区間が点ｐ３−点ｐ４、溶接終了区間がｐ５−ｐ６であるととして、作業者は、点ｐ３−点ｐ４の線と、点ｐ５−点ｐ６の線とを入力ペン５でクリックして指定するだけで、溶接区間の指定を行える。このような指定が行われると、グラフィカル言語処理部１４によって、メモリ１５に中間コードとして格納されている作業プログラムに対し、点ｐ２への動作命令の直後に溶接開始命令が追加され、ｐ６への動作命令の直後に溶接終了命令が追加される。これと同時に、グラフィカル言語処理部１４は、画面の表示において、点ｐ２〜点ｐ６の区間の線の色を黒（非溶接区間）から赤（溶接区間）に変更する。図１０は、図７に示す作業プログラムに対してこのような操作を行なった後のロボット作業プログラム１０６を示している。
【００４８】
次に、溶接施工条件の設定について説明する。図１１は、溶接施工条件の設定用の表示画面１０７を示している。この表示画面１０７は、図８に示した表示画面１０４と同様のものであるが、溶接施工条件を選択するためのフローティングウィンドウ１０８が表示されている点で異なっている。
【００４９】
作業者は、表示スクリーン１２上のソフトキーの操作によって、溶接施工条件の設定開始操作を行う。その後、溶接区間の設定のときと同様に、施工条件の設定区間を入力ペン５で指定する。その結果、フローティングウィンドウ１０８が表示されるようになる。このフローティングウィンドウ１０８内には、継ぎ手形状、板厚、母材の種類などが、アイコンあるいは文字として表示されているから、作業員は、所望のものを選択して入力ペン５でクリックすることによって、施工条件の設定を行うことができる。設定された内容は、グラフィカル言語処理部１４により、メモリ１５に格納された作業プログラムにおいて、溶接開始命令の直後に、内部制御コード（内部コード）として記載される。このようにして溶接施工条件が設定されたロボット作業プログラム１０８が、図１２に示されている。図示した例では、継ぎ手形状として重ねが設定され、板厚として３．２ｍｍが設定されている。
【００５０】
以上の設定処理により、一応の作業教示は終えたことになるが、この段階では最適な溶接条件が設定されているわけではない。そこで、作業プログラムの自動最適化を実行する。
【００５１】
表示スクリーン１２上でのソフトキー操作によって作業プログラムの自動最適化操作が指示されると、グラフィカル言語処理部１４は、作業プログラム中で内部制御コードとしてデータ群を読み出し、データベース処理部１６によって溶接データベース１８を検索し、溶接電流、溶接電圧、溶接速度、溶接トーチ姿勢等の作業条件群を取り出し、溶接電流、溶接電圧、溶接速度をそれぞれロボットの作業命令に変換して、作業プログラムの適切な位置に自動設定する。このような作業プログラムの自動最適化が行われた後のロボット作業プログラム１０９が、図１３に示されている。
【００５２】
以上の操作により、自動最適化が行われたことになる。ここでは溶接条件の最適化だけを説明しているが、実際には、溶接条件の最適化のほかに、後述するように、姿勢の自動変更と姿勢変更点の自動追加、動作リミット及び干渉回避による位置の最適化、動作速度の確認と自動修正、溶接条件の再変更の各最適化処理を行っている。
【００５３】
このような自動最適化が終了すれば、次に、自動最適化での設定内容を確認する。本実施態様のプログラミングペンダント１１では、グラフィカル言語表示として表示されている表示画面において、溶接区間の線を入力ペン５で指定するだけで、設定内容表示・編集画面が表示され、またその内容の調整もこの画面で実現できる。図１４は、設定内容表示・編集画面１１０を示している。設定内容表示・編集画面１１０は、図８に示した表示画面１０４と同様のものであるが、指定された線での溶接条件を表示するフローティングウィンドウ１１１が開いていることで相違する。このフローティングウィンドウ１１１では、継ぎ手形状がアイコンで示され、板厚が数値で示されるとともに、溶接電流、溶接速度及び溶接速度が数値で表示されている。溶接電流、溶接速度及び溶接速度については、これらの表示エリアの横に配置された微調整ボタン１１２により、設定内容の調整が可能である。すなわち微調整ボタン１１２を入力ペン５で操作することにより、数値が増減し増減後の数値が改めて設定されるようになっている。
【００５４】
以上の説明は、位置教示済みの作業プログラムに対する作業教示に関するものであったが、既に教示されている位置や姿勢を調整したいこともある。次に、位置や姿勢の調整について説明する。
【００５５】
移動命令の位置・姿勢データを修正する場合には、表示スクリーン１２においてソフトスイッチとして表示されている修正モードスイッチを入力ペン５によって操作するにより、プログラミングペンダント１１を修正モードに移行させる。そして、表示スクリーン１２上の、移動命令に対応した番号表示を入力ペン５で指定することで位置・姿勢修正対象を定める。図１５は、位置・姿勢の変更画面１１３を示している。この変更画面１１３は、図８に示す表示画面１０４と同様のものであるが、位置や姿勢を変更するためのフローティングウィンドウ１１４が開設される点で異なっている。このフローティングウィンドウ１１４は、位置・姿勢修正対象の指定とともに表示される。フローティングウィンドウ１１４では、作業対象物の座標もしくはロボット原点からの座標上で現在の教示位置のグラフィカルな３次元表示を行うとともに、位置・姿勢を連続的に変化させることのできる変更スイッチが設けられている。図示した例では、トーチの狙い角及び進み角、また、溶接位置の上下及び前後方向へのオフセット、トーチのエクステンション（ワイヤ方向）の調整が可能であって、それぞれの現在の数値が表示されるとともに、これらの表示エリアの横に配置された微調整ボタン１１５により、数値の調整が可能である。すなわち所望の項目に対応する微調整ボタン１１５を入力ペン５で操作することにより、数値が増減し増減後の数値が改めてその項目に設定され、教示された位置及び姿勢の変更が行われる。そして、表示ウィンドウ１２に表示されている実行ボタンをクリックすることなどによって修正完了の操作を行うことにより、メモリ１５中に格納されている中間コードにおいて、指定された箇所の移動命令の位置・姿勢データにその修正結果が反映されることになる。ここでは、表示スクリーン１２上のソフトボタンとして表示されている微調整ボタン１１５の操作に連動して、変更画面１１３上に表示されている位置と姿勢が変化するようになっており、設定の変更を容易に行うことができる。
【００５６】
以上、溶接用ロボットの場合における作業員の操作と表示画面との関係について、基本的な作業の場合について説明した。本実施態様のプログラミングペンダント１１によれば、上述した種類以外の作業内容を教示することも可能である。以下、タイマ待ち命令、入力待ち命令及び条件分岐命令にかかる教示について説明する。
【００５７】
まず、タイマ待ち命令の場合について説明する。図１６は、タイマ待ち命令を含むロボット作業プログラム１１６を従来のキャラクタベースでの表現形式にしたがって示した図である。このロボット作業プログラム１１６は、図１０に示すロボット作業プログラム１０６において、ＡＲＣＯＮ命令の直後にタイマ待ち命令を追加した構成となっている。これに対応して、グラフィカル言語画面として、図１７に示すような表示画面１１７が、表示スクリーン１２上に表示される。この表示画面１１２は、図８に示す表示画面１０４に対し、時計を表象したアイコンを教示位置ｐ２の近傍に配した構成のものであり、時計のアイコンによって、タイマ待ち命令がそこに存在していることを示している。さらに、時計のアイコンに付随して、何秒のタイマ待ちかが数値として表示されている。
【００５８】
以下、作業教示としてタイマ待ち命令を追加する場合の手順について説明する。
【００５９】
表示スクリーン１２にソフトボタンとして表示されている命令追加ボタンを入力ペン５によってクリックすると、命令の追加モードに移行し、図１８ａに示すような命令編集画面１２１が表示される。命令編集画面１２１は、当初は、図８に示す表示画面１０４に、命令編集用のサブウィンドウ１２２が配置した構成となっている。そしてサブウィンドウ１２２には、「追加」、「変更」、「消去」の各ソフトボタンが配置しており、入力ペン５でこれらソフトボタンのいずれかを指定することによって、所望の編集操作を行うことができる。ここでは、命令の追加を行おうとしているので、「追加」のボタンをクリックする。そして、命令を追加したい位置の番号を入力ペン５で指定する。
【００６０】
すると、図１８ｂに示すように、命令編集画面１２１には、追加すべき命令を表示したポップアップウィンドウ形式のサブウィンドウ１２３が現れる。ここでは、サブウィンドウ１２３内には、タイマ待ち命令のための時計のアイコンと、入力待ち命令のための交通信号機のアイコンと、条件分岐命令のための道標のアイコンとが表示される。道標のアイコンは、右矢印と左矢印とが表示された看板の形状である。そして、時計のアイコンを入力ペン５で選択する。その結果、命令編集画面１２１には、図１８ｃに示すように、時間設定用のポップアップウィンドウ形式のサブウィンドウ１２４が現れる。このサブウィンドウ１２４には、停止時間の表示エリアと、微調整ボタン１２５とが表示されており、微調整ボタン１２５を操作して所望の数値が表示エリア内に表示されるようにすることにより、タイマ待ち時間の設定を行える。
【００６１】
次に、入力待ち命令の場合について説明する。図１９は、入力待ち命令を含むロボット作業プログラム１１８を従来のキャラクタベースでの表現形式にしたがって示した図である。このロボット作業プログラム１１８は、図７に示すロボット作業プログラム１０３において、ｐ１点動作命令の直後に入力待ち命令を追加した構成となっている。これに対応して、グラフィカル言語画面として、図２０に示すような表示画面１１９が、表示スクリーン１２上に表示される。この表示画面１１９は、図８に示す表示画面１０４に対し、交通信号機を表象したアイコンを教示位置ｐ１の近傍に配した構成のものであり、交通信号機のアイコンによって、入力待ち命令がそこに存在していることを示している。さらに、交通信号機のアイコンに付随して、どの周辺機器からの入力待ちかが文字列として表示されている。
【００６２】
次に、入力待ち命令を追加するための手順について説明する。上述のタイマ待ち命令を追加する場合と同様に、命令の追加モードに遷移し、命令編集画面１２１を表示させ、命令を追加したい位置の番号を指示する。そして、サブウィンドウ１２３中で、時計のアイコンではなく交通信号機のアイコンを選択する。すると、図２１に示すように、待ち条件設定のためのポップアップウィンドウ形式のサブウィンドウ１２６が現れるから、入力ペン５を用い、このサブウィンドウ１２６中で、外部入力名称、待ち論理及び許容待ち時間（タイムアウト）時間を設定すればよい。
【００６３】
次に、条件分岐命令の場合について説明する。ここでは図示しないが、条件分岐命令がある場合には、タイマ待ち命令あるいは入力待ち命令の場合と同様に、グラフィカル言語画面としての表示画面においてその条件分岐命令は道標のアイコンで表現される。また、条件分岐命令を追加する場合には、タイマ待ち命令を追加する場合と同様に、命令の追加モードに遷移し、命令編集画面を表示させ、命令を追加したい位置の番号を指示する。そして、命令選択用のサブウィンドウ中で、道標のアイコンを選択する。すると、分岐条件設定のためのサブウィンドウが現れるから、入力ペン５を用い、このサブウィンドウの中で、外部入力名称、分岐論理、許容待ち時間及び表示パス指定を設定すればよい。ここで表示パス指定は、分岐のどちら側をグラフィカル言語画面で表示するかの指定である。
【００６４】
なお、上述したサブウィンドウ１２２は、「追加」のほかに、「変更」と「消去」のボタンがあるから、これらについて説明する。
【００６５】
「変更」のボタンは作業命令の変更に使用される。作業命令を変更する場合、まず、画面上に表示された命令アイコン（例えば図１７の表示画面１１７でのタイマ命令のアイコン）の中で変更したいものを入力ペン５で指定し、編集対象とする。次に、「変更」のボタンを操作することにより作業命令の変更モードに移行する。その結果、表示画面上にポップアップウィンドウが開設され、このポップアップウィンドウ中に、変更可能な作業命令を表わすアイコン群が表示される。そこで、変更後の作業命令のアイコンを入力ペン５で指定する。変更後の作業命令に付随するパラメータがある場合には、パラメータ設定用のウィンドウが開設されるから、そのウィンドウ中でパラメータを設定すればよい。その結果、グラフィカル言語処理部１４は、変更後の作業命令およびパラメータを内部の中間コードに変換し、メモリ１５中の対応する箇所の命令を自動的に変更し、さらに変更内容に基づいてグラフィカル言語画面を表示する。
【００６６】
一方、「消去」のボタンは、作業命令の消去に使用される。作業命令を消去する場合、まず、画面上に表示された命令アイコンの中で消去したいものを入力ペン５で指定し、編集対象とする。次に、「消去」のボタンを操作することにより作業命令の消去を行う。この指定によって、グラフィカル言語処理部１４により、メモリ１５中の作業プログラムから指定された命令が消去され、また、消去内容に基づいてグラフィカル言語画面が更新される。
【００６７】
また、本実施態様のプログラミングペンダント１１は、グラフィカル言語画面で移動命令群を線として表示するときに他の作業プログラムを呼び出す命令が存在する場合、移動命令のポイントに関連づけて、呼び出しを意味するアイコンを表示する。そして、このアイコンを入力ペン５で指定されると、ポップアップウィンドウが開設され、呼び出す作業プログラムの表示および変更を可能にしている。また、呼び出し先を表示するかどうかの切り替えスイッチも表示され、このスイッチを入力ペン５で切り替えることで、呼び出し先の作業プログラムの表示に切り替えることができる。
【００６８】
以上、本実施態様のプログラミングペンダント１１について、主として、作業員の操作と表示画面の変化との関係の側面から説明したが、以下では、ソフトウェアによる処理の観点から、本実施態様を説明する。
【００６９】
上述したように、このプログラミングペンダント１１は、ハードウェアとしてのコンピュータに、簡単教示を実現するためのソフトウェアをインストールしたものである。ハードウェアとしては、携帯型パーソナルコンピュータのハードウェハと同様のものを使用できる。そして、基本ＯＳ（オペレーティングシステム）として、例えば、マイクロソフト社のＭＳ−ＷＩＮＤＯＷＳ（エム  エス  ウインドウズ）（登録商標）を採用することにより、グラフィカル・ユーザ・インターフェースに基づくプログラミングペンダントの開発を容易にした。
【００７０】
プログラミングペンダント１１の内部構成は図６に示す通りであり、このプログラミングペンダント１１は、ケーブル６を介したシリアル伝送によって、制御装置２０と、ロボット４０の作業プログラムやその他のデータの送受を行っている。作業者がこのプログラミングペンダント１１により作業プログラムの新規作成操作を行った場合には、作成された作業プログラムの枠組みが、通信部１３を介して制御装置１０側に送られる。
【００７１】
以下、作業対象物に対する教示作業の流れと各ソフトウエア機能との関連を説明する。
【００７２】
まず、移動命令の教示について説明する。図２２は、作業プログラムでの作業対象物８と教示ポイントｐ１〜ｐ８が、実際の空間においてどのように配置しているかを示している。図示した例では作業対象物８は直方体である。
【００７３】
プログラミングペンダント１１には、ロボットリモートコントロールスイッチが備えられており、作業者はこのロボットリモートコントロールスイッチを操作することで、非溶接区間（以降、エアカット区間と呼ぶ）の位置命令ｐ１，ｐ２，ｐ７，ｐ８をジョイント動作として、溶接区間の位置命令ｐ３，ｐ４，ｐ５，ｐ６を直線補間動作として教示する。この操作により、プログラミングペンダント１１から制御装置２０に移動命令の追加指令が送られ、制御装置２０は作業プログラムにこれらの移動指令を順次追加していく。この時、作業者は、溶接区間に関しては、溶接開始点と変極点と溶接終了点だけを教示すればよい。姿勢に関しては特に留意する必要がなく、ラフな教示を行えばよい。
【００７４】
次に、作業プログラムの自動最適化での処理を説明する。
【００７５】
（１）  溶接条件の自動設定：
作業者が作業プログラムの自動最適化操作を行うことにより、まず、溶接条件の自動設定が行われる。このときメモリ１５内には、上述したように溶接施工条件が内部制御コードとして設定された作業プログラム５２と、初期設定を行ったときに設定されたシステムコンフィグレーションデータ５２とが、格納されている。システムコンフィギュレーションデータとは、この溶接ロボットシステムで使用されるロボットの性能（各軸の動作可能範囲や最高動作速度など）、溶接機の種類や定格、溶接ワイヤの種類や規格、溶接雰囲気を構成するガスの種類など、ロボットの運転中には基本的には変化しないパラメータのことである。
【００７６】
グラフィカル言語処理部１４は、自動最適化の指示の入力を受けて、メモリ１５内に格納されたデータのうち、作業プログラム５１の内部制御コードとして記載されたデータと教示ポイントを結ぶベクトル群のデータとから、第１の作業施工条件群のデータをデータベース処理部１６に送り、溶接条件データベース１８の検索を依頼する。図２３は、このときのデータの流れを示す図である。ここで第１の作業施工条件群のデータとは、継ぎ手形状、板厚、母材材質、及び教示位置間のベクトルの対地角度である。データベース処理部１６は、システムコンフィギュレーションデータ５２内の第２の作業施工条件群（溶接機，ワイヤ，ガス）のデータと第１の作業施工条件群のデータとを基に溶接データベース１８を検索し、検索結果として、溶接電流、溶接電圧、溶接速度、溶接トーチ姿勢等の作業条件群をグラフィカル言語処理部１４に返す。その結果、グラフィカル言語処理部１４は、溶接電流、溶接電圧及び溶接速度をそれぞれロボットの作業命令に変換して、作業プログラム５１中の適切な位置に設定する。
【００７７】
（２）  姿勢の自動変更と姿勢変更点の自動追加：
溶接条件の自動設定に引き続いて、姿勢変更点の自動追加と姿勢の自動変更が行われる。背景技術の欄でも述べたように、ロボットに対して最適な姿勢を教示することには熟練を要する。そこで本実施態様のプログラミングペンダントでは、与えられた条件からトーチ位置や姿勢を計算する位置姿勢生成部１７を設け、姿勢の自動変更と姿勢変更点の自動追加が行えるようになっている。姿勢の自動変更や姿勢変更点の自動追加の処理は、移動命令及び指定する溶接トーチ姿勢データをグラフィカル言語処理部１４が位置姿勢生成部１７に送ることによって開始する。このようなデータを受け取った位置姿勢生成部１７は、以下のように生成処理を行う。ここで、姿勢変更点とは、作業対象に対する適正姿勢をできるだけ保ちながら、姿勢を滑らかにつなぐために配置される補助的な位置であり、溶接の場合には、一般には、変極点の両側に１つずつ必要であるとされている。
【００７８】
まず、溶接区間に含まれる教示点である点ｐ３〜点ｐ７での姿勢を指定のトーチ姿勢に変更する。そして、ｐ３〜ｐ４の線上での点ｐ４の近傍に、点ｐ３と同じ姿勢で姿勢変更点ｐ４ｐｒｅを追加する。ここでｐｒｅ点とは、教示点前位置（ｐｒｅ−ｔｅａｃｈｉｎｇ  ｐｏｓｉｔｉｏｎ）を意味し、ロボットの姿勢の変化を滑らかにするために既存の教示点の前に設けられる教示点のことである。続いて、ｐ４〜ｐ５の線上での点ｐ５の近傍に、点ｐ４と同じ姿勢で姿勢変更点ｐ５ｐｒｅを追加する。同様に、ｐ５〜ｐ６での線上で点ｐ６の近傍に点ｐ５と同じ姿勢で姿勢変更点ｐ６ｐｒｅを追加する。
【００７９】
次に、ｐ４〜ｐ５の線上での点ｐ４の近傍に、ｐ４点と同じ姿勢で姿勢変更点ｐ４ｐｏｓｔを追加する。ここでｐｏｓｔ点とは、教示点後位置（ｐｏｓｔ−ｔｅａｃｈｉｎｇ  ｐｏｓｉｔｉｏｎ）を意味し、ロボットの姿勢の変化を滑らかにするために既存の教示点の後に設けられる教示点のことである。また、ｐ５〜ｐ６での線上の点ｐ５の近傍に、点ｐ５と同じ姿勢で姿勢変更点ｐ５ｐｏｓｔを追加する。
【００８０】
次に、点ｐ４と点ｐ５での姿勢を次の手順で変更する。なお、これら両方の点ｐ４，ｐ５に対して同様のアルゴリズムを適用しているので、ここでは、点ｐＮと一般化して説明する。
【００８１】
ベクトルｐＮｐｒｅ〜ｐＮをベクトルｖ１、ベクトルｐＮ〜ｐＮｐｏｓｔをベクトルｖ２とし、ベクトルｖ３をｖ１とｖ２の外積の単位ベクトルとする。
【００８２】
ｖ３＝ｖ１×ｖ２
１８０度からｖ１とｖ２のなす角を引いた角をαとする。
【００８３】
α＝π−∠ｖ１ｖ２
ｐＮｐｒｅでの姿勢を表わす３×３行列をＯとし、行列Ｏをｖ３回りにα／２だけ回転させた姿勢を表わす行列をＯ’とする。そして、点ｐＮでの姿勢をＯ’に置き換える。以上のようにして、姿勢の自動変更と姿勢変更点の自動追加が行われる。
【００８４】
（３）  動作リミット及び干渉回避による位置の最適化：
姿勢の自動変更や姿勢変更点の自動追加に引き続いて、動作リミットおよび干渉回避による位置の最適化が行われる。本実施態様では、トーチのアプローチ方向の冗長性を利用した動作リミットおよび干渉回避を行うものとする。
【００８５】
まず、作業プログラムでの溶接区間の各ポイントのアプローチ方向回りに±９０度の範囲で５度ずつ回転させた位置姿勢データ群を作成する。そして、それぞれの位置姿勢データを直交空間座標からジョイント座標に変換し、本体との溶接ケーブルと本体が干渉するデータや軸の動作リミットにかかるデータを除外する。次に、それぞれのポジションで実際に動作させた場合に各軸の変化が最も少なくなるような位置姿勢データを、各ポイント毎に１つ選定する。そして、各ポイントの位置を、このようにして選定した位置姿勢データ群に置き換えることにより、最適化が行われる。
【００８６】
（４）  動作速度の確認と自動修正：
動作リミット及び干渉回避による位置の最適化が行われると、引き続いて、動作速度の確認と自動修正が行われる。
【００８７】
データベース検索により導出された速度で作成した作業プログラムを動作シミュレーションし、各軸の動作速度が、許容最大動作速度を超えないかどうかチェックする。もし、動作速度が許容最大動作速度を超えている位置がある場合には、指定速度でその点へ動作させた場合の最大速度を超えた軸のシミュレーション最大速度と許容最大速度の比だけ、設定速度を下げる。この動作シミュレーションの実行時には、図９に示すロボットのサーフェースモデルがアニメーションのように動いて表示され、これにより、作業者が各軸の動作速度を直観的に理解できるようになる。
【００８８】
（５）  溶接条件の再変更：
動作速度の確認と自動修正により、設定速度が変更された場合には、その変更に対応して溶接条件の再変更が行われる。
【００８９】
グラフィカル言語処理部１４は、位置姿勢生成部１７から設定速度を低下させたとの通達を受けた場合、変更した速度をデータベース検索のための第１の作業条件群に加え、データベース処理部１６によって再検索を行う。そして、再検索によって得られた溶接電流、溶接電圧及び溶接速度に、設定済みの作業命令のパラメータを置き換える。
【００９０】
以上のようにして、一連の自動最適化の処理が行われる。
【００９１】
本実施態様では、上述した各処理を実行することにより、一連の作業プログラムが完成する。一般には、このような作業プログラムは、対象となるワークの種類によって複数個作成しておくことになる。従来、このような作業プログラムは、ファイル名すなわち文字による名称を付けて制御装置内に記憶させていたが、操作者自身が、どのような名称を付けたか忘れてしまったりして、その作業プログラムを即座に引き出すことができないことが往々にしてあった。そこで本実施態様では、プログラミングペンダント１１上でのペンタッチ操作により操作者が絵や文字からなるシンボル（アイコン）を作成し、そのアイコンと作業プログラム名を対応づけて記憶させている。この対応付けは、プログラミングペンダント１１中のメモリ１５に記憶される。
【００９２】
図２４は、６つの作業プログラムを、それに対応するシンボルとして表示しているプログラム選択画面１３０を示している。このプログラム選択画面１３０は、プログラミングペンダント１１の表示スクリーン１２上に表示され、ここに表示されている所望のアイコンを入力ペン５で選択することにより、対応する作業プログラムをを選択できるようにしている。図示した例では、シンボルは描画が行われた四角い枠であり、作業プログラムとして「テスト−１」、「テスト−２」、「作業−１」、「作業−２」、「作業−３」及び「作業−４」が、それぞれ、作業プログラム名の上側に配置されたシンボルと対応付けられている。
【００９３】
このようにすれば、操作者が描いた絵や、操作者の筆跡が表示されるので、作業プログラムの内容の識別が極めて容易になる。なお、操作者の手書き入力に代えて、カメラで撮像した画像情報をシンボルに表示してもよい。
【００９４】
第３の実施態様
次に、本発明の第３の実施態様を説明する。上述した第２の実施態様では、グラフィカル言語画面には作業対象物は表示されていなかったが、ここでは、グラフィカル言語画面に作業対象物を表示し、さらに、作業対象物に傾斜角や回転角がある場合でも簡単に教示を行えるようにした。
【００９５】
本実施態様は、上述の第２の実施態様と同じ溶接ロボットシステムを対象とするものであって、第２の実施態様で使用されるものと同じプログラミングペンダント１１を使用する。ただし、グラフィカル言語処理部１４は、移動命令での連続する二つの教示位置から、作業対象物の二つの教示位置を通る直線と地面とのなす角（以下、傾斜角と呼ぶ）を計算し、その計算結果を第１の作業施工条件群の要素として自動的に登録し、また、移動命令での連続する二つの教示位置とメモリ１５に記憶されている参照点の３次元データから、作業対象物の二つの教示位置を通る直線を軸として、軸回りに作業対象物が回転している角度（以下、回転角と呼ぶ）を計算し、その計算結果を第１の作業施工条件群の要素として自動で登録することができるように構成されている。さらに、グラフィカル言語処理部１４は、第１の作業施工条件群のデータなどから作業対象物の形状寸法を自動的に設定し、ロボットの工具（本実施態様では溶接トーチ）に軌跡とともに作業対象物の形状をワイヤフレームやサーフェスモデルやシェーディングモデルとしてグラフィカル言語画面として表示できるようになっている。
【００９６】
また、上述したように、移動命令での各教示点ごとに時系列に基づく番号が付与されているが、本実施態様では、この番号で特定される区間を指定することによって、グラフィカル言語画面としてその区間だけの表示画面が表示できるようになっている。
【００９７】
図２５は、本実施態様における実際の空間での作業対象物と教示ポイントの配置の一例を説明する図である。ここでは、作業対象物８が回転角及び傾斜角をもって配置されている。以下、このような作業対象物８に対して溶接用ロボットのための教示を行う場合について、説明する。
【００９８】
第２の実施態様の場合と同様に、プログラミングペンダント１１に付随したロボットリモートコントロールスイッチを操作することで、エアーカット区間の位置命令ｐ１，ｐ２，ｐ７，ｐ８をジョイント動作として教示し、溶接区間の位置命令ｐ３，ｐ４，ｐ５，ｐ６を直線補間動作として教示する。この操作により、プログラミングペンダント１１から制御装置２０に移動命令の追加指令が送られ、制御装置２０は、これらの移動指令を作業プログラムに順次追加する。この際、溶接区間に関しては、溶接開始点、変極点及び溶接終了点だけを教示すればよい。この教示による作業プログラムの内容は、上述の図７に示すものと同じである。
【００９９】
このように教示された内容は、グラフィカル言語処理部１４により、表示スクリーン１２上に、任意の視点から見た３次元軌跡として表示される。このとき、ジョイント動作区間は破線で、直線補間動作区間及び円弧補間動作区間は実線で表示される。図２６は、このときに、表示スクリーン１２上にグラフィカル言語画面として表示される表示画面１４１を示している。ここでは、作業対象物のサーフェースモデルも、教示点や教示点間を結ぶ線分とともに表示されている。
【０１００】
次に、作業者は、図２６に示すようにグラフィック表示された表示に対して、溶接区間を指定する。溶接区間の指定のやり方や、指定後の表示の変化は、上述の第２の実施態様の場合と同様である。この操作後のロボット作業プログラムの状態は、図１０に示すものと同じである。
【０１０１】
次に、作業者は、溶接施工条件を設定する。設定区間の指定は入力ペン５によって行われ、また、各区間での溶接施工条件の設定も、第２の実施態様と同様に、設定画面にアイコンまたは文字として表示された継ぎ手形状、板厚、母材の種類を選択することによって行われる。設定された内容は、グラフィカル言語処理部１４により、自動的に作業形状寸法として処理され、設定区間の継ぎ手形状に適応した作業対象物モデルが、図２６に示すものと同じように、サーフェスモデルとして表示スクリーン１２上に表示される。さらに、設定された内容は、グラフィカル言語処理部１４により、作業プログラム内の溶接開始命令の直後に内部制御コードとして記載される。設定されたロボット作業プログラムは、図１２に示すものと同様である。
【０１０２】
続いて、作業プログラムの自動最適化処理を実行する。ここでは、第２の実施態様と同様に、第１の作業施工条件群及び第２の作業施工条件群に応じて溶接条件が自動設定される。ただし、第１の作業施工条件群として、継ぎ手形状、板厚、母材材質、教示位置間の傾斜角及び回転角が使用される。
【０１０３】
次に、本実施態様での表示範囲の指定について説明する。このプログラミングペンダントでは、表示スクリーン１２にグラフィカル言語画面としての表示画面が表示されている状態で、入力ペン５のダブルクリックを行うことで、表示範囲の指定画面を画面上に表示させ、この表示範囲の指定画面で表示開始点と表示終了点とを指定することができる。表示開始点及び表示終了点として入力された指定された教示点番号は、グラフィカル言語処理部１４に送られ、これによりグラフィカル言語処理部１４は、指定された教示点番号の範囲内の教示情報を画面に表示する。図２７は、表示範囲の指定画面１４２を示しており、ここでは、表示開始点と表示終了点を入力するためのサブウィンドウ１４３が開設されている。図示した例では、表示開始点としてｐ３、表示終了点としてｐ６が指定されているので、点ｐ３から点ｐ６までの区間のみが表示されている。必要に応じて拡大表示がなされるようにしてもよい。
【０１０４】
このように、作業プログラムに記述された移動命令の時系列的な番号を指定することによって範囲を指定した際に、その範囲に対応する移動命令区間を詳細に表示するようにすることにより、細部にわたって作業プログラムの確認ができるようになり、作業対象物に顔を直接近付けて確認作業を行う場合に比べ、安全に確認作業ができることになる。また、本実施態様では、作業対象物の傾斜角や回転角が自動的に計算されて作業施工条件に登録され、その登録にしたがって作業対象物に適した作業条件が選定されるので、作業対象物の形状の複雑さに関係なく、作業プログラムの作成が短時間で行えるようになる。
【０１０５】
第４の実施態様
次に、本発明の第４の実施態様を説明する。上述した第２の実施態様では、単に教示点間を線分で結んだ表現でグラフィカル言語画面での工具軌跡の表示がなされていたが、本実施態様では指定された補間方法に基づく軌跡の表示を可能としている。また、不適切な補間指示がなされた場合にはその旨を警告するとともに教示点を自動追加できるようにしている。さらに、各教示位置でのロボット全体像や工具姿勢もグラフィカルに表示できるようにしている。
【０１０６】
本実施態様は、上述の第２の実施態様と同じ溶接ロボットシステムを対象とするものであって、第２の実施態様で使用されるものと同じプログラミングペンダント１１を使用する。ただし、グラフィカル言語処理部１４は、メモリ１５に中間コードとして格納された作業プログラムを解読して、時系列的に記憶された移動命令群の直交空間位置をその移動命令の補間種類に従って直線もしくは曲線でつなぎ、その線群を任意の視点から見た表示スクリーン１２上の座標に変換して、その変換後の線群を表示スクリーン１２に表示でき、また、各教示位置での工具の姿勢を全て表示でき、各移動命令の教示位置でのロボットの全体像をワイヤフレームやサーフェースモデルやシェーディングモデルによって表示できる。グラフィカル言語処理部１４は、作業対象物間の隙間が入力されたとき、その隙間に対応して間隔が変化する二重線でグラフィカル言語表示を行う。
【０１０７】
さらに、グラフィカル言語処理部１４は、中間コードでの移動命令の補間種別が不適切なものである場合には、その旨を表示スクリーン１２に警告表示するとともに、教示点を自動追加する機能も有する。具体的には、グラフィカル言語画面で線を表示する際に、中間コードで表現されている移動命令の補間種類が円弧動作であり、かつ教示が円弧動作を行う場合に必要な教示点の数（最低３点）に満たない場合には、表示スクリーン１２上での線種を波線などに変えて、その区間ではロボットが円弧動作できないことを表示する。その際、円弧補間の時系列的な教示点が１点の場合には、作業プログラムの作成時に自動的に直線補間となるようにする。また、円弧補間の時系列的な教示点が２点であって、２つ目の円弧補間教示点の次に円弧補間以外の教示点がある場合には、作業プログラムの作成時に、円弧補間教示点以外の教示点の位置、姿勢で、円弧補間の教示点を自動的にその２つ目の円弧補間教示点の次に追加する。
【０１０８】
以下、本実施態様での教示作業について、既に移動命令が教示されている作業プログラムに関し、本実施態様でプログラミングペンダント１１を用いて参照および編集作業を行い溶接作業プログラムとして完成させる場合を例に挙げ、作業者の操作と表示内容の変化との関係により説明する。ここでは、図２８で示される作業プログラム１５１が既に教示されているものとする。この作業プログラム１５１は、図７に示す作業プログラム１０３と比べ、３つの連続する教示点ｐ４，ｐ５，ｐ６に対する動作命令が円弧補間動作で指定されている点で相違する。
【０１０９】
このように教示された移動命令群は、グラフィカル言語処理部１４により、表示スクリーン１２上に、任意の視点から見た３次元軌跡として表示される。このとき、ジョイント動作区間は破線で、直線補間動作区間及び円弧補間動作区間は実線で表示される。図２９は、このときに、表示スクリーン１２上にグラフィカル言語画面として表示される表示画面１５１を示している。点ｐ４，ｐ５，ｐ６に対する補間方法が円弧補間であることにより、図示されるように、点ｐ４から点ｐ６までの区間は、円弧として表示されていている。また、移動命令群の時系列な番号が教示位置の近傍に表示される。このとき、ジョイント動作区間は実際に動作するトーチ先端の軌道を表示する。
【０１１０】
本実施態様では、第２の実施態様と同様に、教示位置に対して表示されている番号の部分を入力ペン５で指示するだけで、トーチおよびロボットのサーフェースモデルが表示される。また、表示スクリーン１２上のソフトスイッチである表示モードスイッチにより、これらサーフェースモデルの表示・非表示の切り替えが可能である。図３０は、ロボットおよびトーチを表示するモードでの表示画面１５３を示している。また、表示モードスイッチにより別の表示モードを選択すると、各教示位置でのトーチ姿勢が表示スクリーン１２上に全て表示される。これも表示モードスイッチにより表示・非表示の切り替えが可能である。図３１は、各教示位置でのトーチ姿勢を全て表示するモードでの表示画面１５４を示している。
【０１１１】
ところで、図２８に示す作業プログラムにおいて、教示点ｐ５が円弧補間であり、点ｐ４，ｐ６のいずれか一方が円弧補間でもう一方が直線補間であるとすると、連続する３教示点が円弧補間であるという条件を満たさなくなり、ロボットは円弧動作を行うことができなくなる。このような場合には、グラフィカル表示画面として、円弧動作を行えない区間を波線で示したい表示画面１５５が表示される。図３２はこのときの表示画面１５５を示している。
【０１１２】
なお、この場合、２つの円弧補間教示点が連続しているので、作業者からの指示に従い、上述した教示点の自動追加の原則にしたがって、円弧補間の教示点を自動追加させることができる。
【０１１３】
さらに本実施態様では、２つの隣接する教示点間、例えば教示点ｐ４と教示点ｐ５を結ぶ線を入力ペン５で指示することにより、母材間の隙間量を入力する画面を表示させることができる。図３３は、隙間量を設定するための表示画面１５６を示しており、この表示画面１５６には、隙間量を入力するためのフローティングウィンドウ１５７が開設されている。フローティングウィンドウ１５７に対して隙間量を入力することで、先に指定した線、例えば教示点ｐ４とｐ５を結ぶ線が二重線になり、入力した隙間量に連動して二重線間の間隔が変化するように表示される。
【０１１４】
このように、隙間量の設定と表示とをグラフィカルに行えるようにすることにより、導出された作業条件が画面上で確認でき、また、その隙間量が設定されている箇所の確認が容易にできるため、作成されたロボット作業プログラムの確認、修正が短時間で行えるようになる。
【０１１５】
また、本実施態様では、補間動作の種類に応じて適切に表示を行うとともに、移動命令の補間種類が円弧動作の場合において３点の円弧補間の教示点がない場合には、円弧補間では時系列的な教示点が３点以上必要であることをグラフィカルに画面で表示するため、作業者による作業条件の選定間違いが極端に減少し、適正な作業プログラムの作成が支援される。具体的には、補間種類が円弧動作の場合において、円弧補間の時系列的な教示点が１点の場合、その教示点が作業プログラム作成時に自動的に直線補間の移動命令になるため、ロボットが作業できなくなることがなくなる。また、移動命令の補間種類が円弧動作の場合において、円弧補間の時系列的な教示点が２点の場合、作業プログラムの作成時に、３点目の円弧補間の点を自動的に追加するため、ロボットが作業できなくなることがなくなる。
【０１１６】
第５の実施態様
第２の実施態様では、作業プログラムの自動作成の過程において、作業プログラムの自動最適化として、姿勢の自動変更と姿勢変更点の自動追加を行っている。姿勢変更点を移動命令として自動追加する際、作業プログラム中に単純に追加するだけであると、そもそも教示されていた移動命令を消去したりその移動命令による位置を変更し、作業プログラムの自動作成を再度行った場合に、その消去、変更された移動命令に関連して自動追加された移動命令（すなわち姿勢変更点の移動命令）がどれなのかが識別できないので、消去、変更された移動命令と、自動追加による移動命令との間で矛盾を生じるおそれがある。そこで本実施態様では、自動追加による移動命令には作業プログラム中に追加する際に、対応付けを表わす情報を付加し、矛盾が生じないようにしている。
【０１１７】
具体的には、姿勢変更点を自動追加する際には、予め教示されている移動情報と関連づけた情報を、追加する姿勢変更点の移動命令に付随させて記憶されるようにする。また、このようにして自動作成された作業プログラムに対し、予め行った教示による移動命令を削除する場合には、プログラムの自動作成を再度行う際に、既に記憶してある情報に基づいて、削除する移動命令に関連して自動追加された姿勢変更点である移動命令を識別し、この移動命令も削除する。同様に、予め行った教示による移動命令の位置を移動する場合には、プログラムの自動作成を再度行う際に、既に記憶してある情報に基づいて、削除する移動命令に関連して自動追加された姿勢変更点である移動命令を識別して削除し、その後、適切な姿勢変更位置を求めて自動的に再更新するようにしている。
【０１１８】
以下、具体例に即して本実施態様を説明する。ここでは、第２の実施態様と同じ溶接ロボットシステムを想定し、第２の実施態様と同じプログラミングペンダント１１が使用されるものとする。第２の実施態様における自動最適化は、要約していえば、溶接条件データベース１８から適切な作業姿勢を導き出し、その姿勢に合わせて移動命令群の位置情報を修正するとともに、作業対象物との相対姿勢が、溶接条件データベースから検索された姿勢にできるだけ近くなるようする処理である。このため、自動最適化では姿勢変更点を教示点の前後に自動追加している。
【０１１９】
そこで本実施態様では、教示点の前に追加する姿勢変更点、すなわち上述のｐｒｅ点については、自動追加による移動命令の前に、擬似命令“’ｐｒｅ”を付加している。同様に、教示点の後に追加する姿勢変更点、すなわち上述のｐｏｓｔ点については、自動追加による移動命令の前に、擬似命令“’ｐｏｓｔ”を付加している。これら擬似命令“’ｐｒｅ”と“’ｐｏｓｔ”は、コメント命令“’”を応用したものであり、元来存在した移動命令と関連付けた情報である。なお、コメント命令“’”は、この命令に続く文字列がコメントであることを示すものであって、ロボットの制御装置での解釈では何もしない命令であって、作業プログラムの実行自体には何も影響を与えない命令である。ただし、本実施態様では、グラフィカル言語処理部１４は、コメント命令の引き続く文字列を、処理中の判断に際して使用する。また、擬似命令“’ｐｒｅ”と“’ｐｏｓｔ”は、直後の１命令に対してのみ有効と位置付ける。
【０１２０】
図３４は、姿勢変更点の自動追加を行う前の作業プログラムの一例を示している。図３４に示す作業プログラム１６１に対して、姿勢変更点の自動追加を行うとともに、上述したようにして擬似命令“’ｐｒｅ”と“’ｐｏｓｔ”を付随させた作業プログラム１６２が、図３５に示されている。なお、図３５において、セミコロン“；”以後の記述は、プログラムリストに対するコメントであり、また、ステップ１からステップ１５までの表示は、プログラム中の特定の命令を指示するために、プログラムリストに付加されているものである。
【０１２１】
次に、既に自動生成された作業プログラムに対して教示された位置の削除が行われた後、再度、作業プログラムの自動生成が行われた場合の処理を、図３６のフローチャートにしたがって説明する。グラフィカル言語処理部１４は、まず、ステップ１７１において、擬似命令“’ｐｒｅ”、“’ｐｏｓｔ”の示す移動命令によって挟まれた移動命令が存在するかどうかを識別する。存在する場合には、そのままステップ１７３に移行し、存在しない場合には、ステップ１７２において、擬似命令“’ｐｒｅ”、“’ｐｏｓｔ”とこれら擬似命令“’ｐｒｅ”、“’ｐｏｓｔ”に対応した移動命令を削除し、ステップ１７３に移行する。ステップ１７３では、第２の実施態様で説明したような、作業プログラムの通常の自動生成処理を実行する。
【０１２２】
一方、既に自動生成された作業プログラムに対して教示された位置の変更が行われた後、再度、作業プログラムの自動生成が行われた場合には、グラフィカル言語処理部１４は、擬似命令“’ｐｒｅ”、“’ｐｏｓｔ”が付随しない移動命令を予め教示された移動命令とみなし、全ての姿勢変更点を再度演算し直す。
【０１２３】
本実施態様によれば、自動生成処理によって追加された姿勢変更点の移動命令が識別できるため、予め教示された移動命令の削除や位置変更などの編集操作後も、自動作成を再度実行するにより、既に登録されている姿勢変更点の移動命令が自動的に適正に編集されるようになる。
【図面の簡単な説明】
【０１２４】
【図１】従来のプログラム表示装置を示す概略平面図である。
【図２】本発明の第１の実施態様でのプログラミングペンダントを示す概略平面図である。
【図３ａ】第１の実施態様において溶接作業区間識別図として表示される表示画面の例を示す図である。
【図３ｂ】第１の実施態様において溶接作業区間識別図として表示される表示画面の別の例を示す図である。
【図４】第２の実施態様での溶接ロボットシステムの構成を示すブロック図である。
【図５】第２の実施態様で使用されるプログラミングペンダントの概略斜視図である。
【図６】図５に示すプログラミングペンダントの内部構成を示すブロック図である。
【図７】移動命令が教示済みのロボット作業プログラムの一例を説明する図である。
【図８】図７に示した作業プログラムに対応して移動命令群をグラフィカル表示させたときの表示画面を説明する図である。
【図９】ロボットおよびトーチを表示するモードでの表示画面の一例を説明する図である。
【図１０】第２の実施態様において、溶接区間を設定した後のロボット作業プログラムの一例を説明する図である。
【図１１】第２の実施態様における溶接施工条件の設定のための表示画面の一例を説明する図である。
【図１２】第２の実施態様において、溶接施工条件を設定した後のロボット作業プログラムの一例を説明する図である。
【図１３】第２の実施態様において、溶接条件の自動設定が行われた後のロボット作業プログラムの一例を説明する図である。
【図１４】第２の実施態様における設定内容表示・編集画面の一例を説明する図である。
【図１５】第２の実施態様における位置・姿勢の変更画面の一例を説明する図である。
【図１６】タイマ待ち命令を含んだロボット作業プログラムの一例を説明する図である。
【図１７】タイマ待ち命令をアイコンとして表示した表示画面の一例を説明する図である。
【図１８ａ】命令編集画面の一例を説明する図である。
【図１８ｂ】命令を追加したい位置を指定しているところを説明する図である。
【図１８ｃ】タイマの待ち時間を設定する画面の一例を説明する図である。
【図１９】入力待ち命令を含んだロボット作業プログラムの一例を説明する図である。
【図２０】入力待ち命令をアイコンとして表示した表示画面の一例を説明する図である。
【図２１】入力待ち条件を設定する画面の一例を説明する図である。
【図２２】実際の空間での作業対象物と教示ポイントの配置の一例を説明する図である。
【図２３】作業プログラムの自動最適化でのデータの流れを説明する図である。
【図２４】作業プログラムをそれに対応するシンボルによって表示した作業プログラム選択画面の一例を説明する図である。
【図２５】第３の実施態様における実際の空間での作業対象物と教示ポイントの配置の一例を説明する図である。
【図２６】第３の実施態様において移動命令群をグラフィカル表示させたときの表示画面を説明する図である。
【図２７】区間を指定して移動命令群をグラフィカル表示させたときの表示画面を説明する図である。
【図２８】第４の実施態様での、移動命令が教示済みのロボット作業プログラムの一例を説明する図である。
【図２９】図２８に示した作業プログラムに対応して移動命令群をグラフィカル表示させたときの表示画面を説明する図である。
【図３０】第４の実施態様において、ロボット及びトーチを表示するモードでの表示画面の一例を説明する図である。
【図３１】第４の実施態様において、各教示位置でのトーチの姿勢を全て表示するモードでの表示画面の一例を説明する図である。
【図３２】円弧補間を行えない場合の表示画面の一例を説明する図である。
【図３３】隙間量を設定する画面の一例を説明する図である。
【図３４】第５の実施態様での、移動命令が教示済みのロボット作業プログラムの一例を説明する図である。
【図３５】図３４に示すロボット作業プログラムに対して教示を行い、自動生成を行って得られた作業プログラムの一例を説明する図である。
【図３６】第５の実施態様において、位置の削除を行った後、自動生成を再度行う場合の手順を示すフローチャートである。
【符号の説明】
【０１２５】
１，１２，９１    表示スクリーン
２    選択ボタン
３    溶接速度ボタン
４，９４    入力キー
５    入力ペン
５ａ    ホルダ
６，９６    ケーブル
８    作業対象物
１０，１１，９０    プログラミングペンダント
１３    通信部
１４    グラフィカル言語処理部
１５    メモリ
１６    データベース処理部
１７    位置姿勢生成部
１８    溶接条件データベース
２０    制御装置
２１    ロボット制御線
３０    溶接機
３１    溶接電力線
３２    溶接機制御線
４０    ロボット
４１    溶接トーチ
【図１】
2007242054.tif 000003
【図２】
2007242054.tif 000004
【図３ａ】
2007242054.tif 000005
【図３ｂ】
2007242054.tif 000006
【図４】
2007242054.tif 000007
【図５】
2007242054.tif 000008
【図６】
2007242054.tif 000009
【図７】
2007242054.tif 000010
【図８】
2007242054.tif 000011
【図９】
2007242054.tif 000012
【図１０】
2007242054.tif 000013
【図１１】
2007242054.tif 000014
【図１２】
2007242054.tif 000015
【図１３】
2007242054.tif 000016
【図１４】
2007242054.tif 000017
【図１５】
2007242054.tif 000018
【図１６】
2007242054.tif 000019
【図１７】
2007242054.tif 000020
【図１８ａ】
2007242054.tif 000021
【図１８ｂ】
2007242054.tif 000022
【図１８ｃ】
2007242054.tif 000023
【図１９】
2007242054.tif 000024
【図２０】
2007242054.tif 000025
【図２１】
2007242054.tif 000026
【図２２】
2007242054.tif 000027
【図２３】
2007242054.tif 000028
【図２４】
2007242054.tif 000029
【図２５】
2007242054.tif 000030
【図２６】
2007242054.tif 000031
【図２７】
2007242054.tif 000032
【図２８】
2007242054.tif 000033
【図２９】
2007242054.tif 000034
【図３０】
2007242054.tif 000035
【図３１】
2007242054.tif 000036
【図３２】
2007242054.tif 000037
【図３３】
2007242054.tif 000038
【図３４】
2007242054.tif 000039
【図３５】
2007242054.tif 000040
【図３６】
2007242054.tif 000041