(58)【調査した分野】(Int.Cl.,DB名)
ワークの特徴的部位の位置を検出する位置検出センサが取り外し可能に支持されているとともにツールが設けられたマニピュレータを備え、前記ワークに対する加工作業を実行するロボットの作業プログラム作成方法において、
前記ツールが複数のセンシング点の教示位置に位置する毎に、センシング命令が入力される第1ステップと、
前記センシング命令と前記センシング点の教示位置を関連づけて第1作業プログラムに記憶する第2ステップと、
前記第1作業プログラムのセンシング命令に基づき、前記センシング点の教示位置に前記ツールを移動させて前記位置検出センサを検出動作させる制御を、複数の前記センシング点の教示位置それぞれに対して順次行い、前記位置検出センサの検出結果に基づいて前記ワーク上の作業位置を取得し、この作業位置を第2作業プログラムに記憶又は第2作業プログラムから参照可能な外部変数に記憶する第3ステップとを含み、
前記位置検出センサが前記マニピュレータに取り付けられているか否かを判定し、前記位置検出センサが取り付けられていないと判定したときには、前記第3ステップで作業位置が記憶された第2作業プログラム又は前記第3ステップで作業位置が記憶された外部変数を参照可能な第2作業プログラムを再生することにより前記ツールを移動させ、前記加工作業を実行するようにしたことを特徴とするロボットの作業プログラム作成方法。
ワークの特徴的部位の位置を検出する位置検出センサが取り外し可能に支持されているとともに及びツールが設けられたマニピュレータを備え、前記ワークに対する加工作業を実行するロボットの作業プログラム作成装置において、
前記ツールが複数のセンシング点の教示位置に位置する毎に、センシング命令を入力するセンシング命令入力手段と、
該センシング命令と前記センシング点の教示位置を関連づけて第1作業プログラムに記憶する第1記憶手段と、
前記第1作業プログラムに記憶されたセンシング命令に基づき、前記ツールが複数の前記センシング点の教示位置に順次位置するように、前記ツールを移動制御する制御手段と、
前記各センシング点の教示位置に前記ツールが位置した際に、前記センシング命令に基づいて前記位置検出センサを検出動作させ、検出結果に基づいて前記ワーク上の作業位置を取得する取得手段と、
前記取得した作業位置を、第2作業プログラム又はこの第2作業プログラムから参照可能な外部変数に記憶する第2記憶手段を備え、
前記位置検出センサが前記マニピュレータに取り付けられているか否かを判定し、前記位置検出センサが取り付けられていないと判定したときには、前記第2記憶手段が作業位置を記憶した第2作業プログラム又は前記第2記憶手段が作業位置を記憶した外部変数を参照可能な第2作業プログラムを再生することにより前記ツールを移動させ、前記加工作業を実行するようにしたことを特徴とするロボットの作業プログラム作成装置。
【発明を実施するための形態】
【0032】
以下、本発明を、アーク溶接ロボットの作業プログラム作成方法、アーク溶接ロボットの作業プログラム作成装置、およびアーク溶接ロボット制御システムに具体化した一実施形態を
図1〜16を参照して説明する。なお、以下では、説明の便宜上、アーク溶接ロボットを単に溶接ロボットという。
【0033】
図1は溶接ロボット制御システムの構成を示すブロック図である。
図1に示すように溶接ロボット制御システム10は、ワーク(作業対象物)Wに対して溶接トーチ14の教示位置を教示するティーチペンダントTPと、溶接作業を行うマニピュレータM1を制御するロボット制御装置RCとを備えている。本実施形態の作業プログラム作成装置SCは、ティーチペンダントTP、及びロボット制御装置RCとにより構成されている。ロボット制御装置RCはロボット制御手段に相当する。
【0034】
マニピュレータM1は、フロア等に固定されるベース部材12と、複数の軸を介して連結された複数のアーム13とを備える。最も先端側に位置するアーム13(すなわち、手首部)の先端部には、溶接トーチ14が設けられる。溶接トーチ14は、溶加材としてのワイヤ15を内装し、図示しない送給装置によって送り出されたワイヤ15の先端とワークWとの間にアークを発生させ、その熱でワイヤ15を溶着させることによりワークWに対してアーク溶接を施す。アーム13間には複数のモータ(図示しない)が配設されており、モータの駆動によって溶接トーチ14を前後左右に自在に移動できるように構成されている。なお、前後とは、溶接トーチ14が溶接線に沿って進行する方向を前とし、その180度反対方向を後ろとする。又、左右とは前記進行する方向を人が向いたときを基準として、左右という。又、マニピュレータM1の先端には、ワークWの形状を検出する位置検出センサとしてのレーザセンサLSを備える。
【0035】
前記ロボット制御装置RCには、可搬式操作部としてのティーチペンダントTPが接続されている。
図3に示すようにティーチペンダントTPにはテンキー(図示しない)、位置決め命令キー(図示しない)、センシング命令キー31、及びモード選択キー32等の各種キーや、溶接トーチ14の姿勢を入力するための狙い角設定器33、前進後退角設定器34を有するキーボード(図示しない)を備えている。狙い角設定器33、前進後退角設定器34は、姿勢設定手段に相当する。又、ティーチペンダントTPには、液晶表示装置等からなるディスプレイ(図示しない)を備える。前記各種キー(図示しない)、狙い角設定器33、前進後退角設定器34の操作により、通信インターフェイス35を介して各種の教示データがロボット制御装置RCに数値入力される。ティーチペンダントTPは、教示モードにおいて、前記各種キーを手動操作すると、前記各種キー入力に基づいて、ロボット制御装置RCはマニピュレータM1を作動させ、溶接トーチ14を移動させることが可能である。センシング命令キー31は、センシング命令入力手段に相当する。
【0036】
ロボット制御装置RCは、
図3に示すようにコンピュータからなる。すなわち、ロボット制御装置RCはCPU(中央処理装置)20、マニピュレータM1を制御するための各種プログラムを記憶する書換可能なROM21や、作業メモリとなるRAM22、各種データを記憶する書換可能な不揮発性メモリからなる記憶部23を備える。CPU20は、制御手段、取得手段、座標設定手段、トーチ姿勢算出手段、及びモード種別変更手段に相当する。
【0037】
ロボット制御装置RCでは、ティーチペンダントTPの通信インターフェイス35から送信された各種の教示データがキーボードインターフェイス24を介して入力されるとともに、前記教示データが作業プログラムの作成に使用される。
【0038】
記憶部23は、第1記憶領域23a、及び第2記憶領域23b等の記憶領域を有する。記憶部23は、第1記憶手段及び第2記憶手段に相当する。
第1記憶領域23aは、レーザセンサLSにて視野範囲FOV(
図9参照)を測定して得られた距離情報(測距データ)を記憶するための領域である。
【0039】
第2記憶領域23bは、後述する教示モードで作成される第1作業プログラムと、センシングモードを経て作成される第2作業プログラムとを記憶するための領域である。
第1作業プログラム(以下では、単にセンシングプログラムという)には、次の教示データが格納される。
・センシング点等の各教示位置における位置データ
・狙い角設定器33、前進後退角設定器34から入力された狙い角、前進後退角の値
・各教示位置において入力された位置決め命令、センシング命令、溶接開始命令等の各種命令およびパラメータ
一方、第2作業プログラム(以下では、単に実行プログラムという)には、次の教示データが格納される。
・各センシング点でレーザセンサLSが取得したワークWの開先位置データ
・狙い角設定器33、前進後退角設定器34から入力された狙い角、前進後退角に基づいて算出される、各開先位置におけるトーチ姿勢データ
前記開先位置データ及びトーチ姿勢データ(位置姿勢座標値)は、実行プログラムに直接記憶しても良いし、実行プログラムから参照可能な外部変数に記憶するようにしてもよい。或いは、実行プログラムに直接記憶するか、外部変数に記憶するかのどちらを採用するかを作業者が選択できるように構成してもよい。これらの場合、外部変数も第2記憶領域23bに記憶される。以下では、前記開先位置データ及びトーチ姿勢データを、実行プログラムに直接記憶するようにした場合を例に説明する。
【0040】
ロボット制御装置RCは、前記モータ(図示しない)を駆動制御することにより、センシングモードでは上記センシングプログラムに従い、又、実行モードでは上記実行プログラムに従い、サーボドライバ25を介してマニピュレータM1を動作させる。又、ロボット制御装置RCは、溶接電流及び溶接電圧といった溶接条件を溶接電源WPS(
図1参照)に対して出力し、溶接電源WPSからパワーケーブルPKを通じて供給される電力によって溶接作業を行わせる。
【0041】
レーザセンサLSは、レーザの発光及び受光によりワークWまでの距離を測定する走査型のレーザ変位センサであり、マニピュレータM1の手首部の先端に搭載されている。レーザセンサLSは、レーザをワークWに向けて発光する発光部41と、ワークWで反射したレーザを受光する受光部42等を備える。前記発光部41で発光されたレーザは、ワークWで乱反射され、受光部42で受光される。受光部42は、例えばCCDラインセンサ(ラインレーザセンサ)により構成されており、視野範囲FOVにおけるレーザセンサLSからワークWまでの距離を測定するようにされている。
【0042】
レーザセンサLSは、レーザ照射方向がツール座標系のいずれかの軸と平行となるようにセンサヘッドLSaが配置されている。
図2(a)にはツールである溶接トーチ14が示されている。ここでツール座標系は
図2(a)のように、溶接トーチ14の軸心にZ軸を一致させたものとして表わされる。そして、本実施形態では、
図2(b)に示すように溶接トーチ14に対して、レーザセンサLSのセンサヘッドLSaはレーザ照射方向がZ−方向となるように、かつ、溶接トーチ14の溶接進行方向がツール座標系のX軸になるように設定され、レーザセンサLSが前記X軸に平行になるように取り付けされる。レーザセンサLS(すなわち、
図2(b)に示すセンサヘッドLSaは、溶接トーチ14の先端から溶接進行方向側に所定距離離間した位置にレーザ照射するようにされている。溶接トーチ14の先端と溶接進行方向側に所定距離離間したツール座標系上のレーザポイント間の距離をセンサの先見距離Tという。
【0043】
レーザセンサLSは、CPU43(中央処理装置)、ROM44、RAM45及び通信インターフェイス46を備えている。ROM44は、開先位置計測処理プログラム、開先基準各計測処理プログラム、及び開先形状認識処理プログラム等の各種プログラムが格納されている。又、RAM45は、前記プログラムの実行時の作業メモリである。
【0044】
レーザセンサLSは、通信インターフェイス46を介してセンサインターフェイスユニット51の通信HUB52に接続されている。又、通信HUB52には、センサコントローラ53の通信インターフェイス54が接続されている。又、前記通信HUB52には、ロボット制御装置RCの通信インターフェイス26がセンサヘッドケーブルHCを介して接続されている。
【0045】
センサコントローラ53は、CPU55、ROM56、図示しないRAM及び書き換え可能な記憶装置57を備えている。前記記憶装置57は、例えばハードディスク、或いは書き換え可能な半導体メモリ等から構成されるとともに、開先形状、及びワークWの板厚に応じた多数の開先認識のための開先認識データが格納されている。
【0046】
又、ROM56には、開先形状設定器の機能を実現するプログラム、板厚設定器の機能を実現するプログラム等の各種ソフトウェアプログラムが格納されている。そして、センサコントローラ53は、ティーチペンダントTPのキーボード(図示しない)が操作されて、通信インターフェイス35、26、通信HUB52及び通信インターフェイス54を介して開先形状及びワークの板厚の設定に関する要求がセンサコントローラ53に入力されると、その要求に応じた開先形状設定及び板厚設定がされる。又、その設定された開先形状及び板厚に応じた開先認識データが、通信インターフェイス54、通信HUB52、及び通信インターフェイス46を介してレーザセンサLSのRAM45に格納される。
【0047】
なお、以下では、特に断らない限り、「教示」とはティーチペンダントTPを使用して入力することをいう。
(作用)
上記のように構成された溶接ロボット制御システム10の作用を
図4〜8のフローチャートを参照して説明する。
図4は処理手順を示すフローチャートである。
【0048】
作業者によってティーチペンダントTPのモード選択キー32が操作されると、操作結果に応じてS10のモード選択実行処理が行われる。このモード選択実行処理により、S20の教示モード処理、S30のセンシングモード処理、或いはS40の実行モード処理への移行が許容される。
【0049】
ロボット制御装置RCのCPU20は、ROM21に格納したモード選択実行処理プログラムに従って、S12において、ティーチペンダントTPから入力されたモード選択キー32の入力結果、すなわち、モード種別に基づいて、前記モード選択キー32の入力がいずれのモードかを判定する。S12において、モード種別が「1」の場合、CPU20は、判定を「YES」と判定し、すなわち、モードは教示モードが選択されているものと判定してS20に移行し、モード種別が「1」でない場合には「NO」と判定してS14に移行する。
【0050】
S14では、CPU20は、ROM21に格納したセンサ接続確認処理プログラムに従ってレーザセンサLSがセンサインターフェイスユニット51を介して通信インターフェイス26に接続されているか否かを判定する。レーザセンサLSがセンサインターフェイスユニット51を介して通信インターフェイス26に接続されている場合には、S16に移行し、そうでない場合には、実行モードが選択されているものと判定して、S40に移行する。
【0051】
S16では、CPU20は、モード種別が「2」の場合、CPU20は、判定を「YES」と判定し、すなわち、センシングモードが選択されているものと判定してS30に移行する。又、CPU20は、モード種別が「2」でない場合には「NO」と判定し、すなわち、実行モードが選択されているものと判定して、S40に移行する。
【0052】
(教示モード処理:S20)
図6(a)に示すように、S21では、作業者がティーチペンダントTPの手動操作で、溶接トーチ14を移動させ、教示位置n(なお、最初はn=1)を決める。
【0053】
S22では、所望の教示位置に溶接トーチ14が位置した状態で、ティーチペンダントTPの図示しない位置決め命令キー、又はセンシング命令キー31がオン操作される。このS22において、センシング命令キー31がオン操作される場合は、第1ステップに相当する。
【0054】
位置決め命令キーが操作されると、CPU20は、「位置決め命令」がティーチペンダントTPから入力されるため、S22の判定を「NO」と判定し、S26に移行した後、前記「位置決め命令」に基づいて、教示位置nの位置座標を記憶部23の第2記憶領域23bに記憶する。
【0055】
又、センシング命令キー31がオン操作されると、「センシング命令」が「位置決め命令、及びセンシング点の記憶命令」としてティーチペンダントTPから入力されるため、CPU20は、S22の判定を「YES」と判定し、S23に移行する。
【0056】
S23では、CPU20は、入力された「センシング命令」とともに、該教示位置n(位置座標)をセンシング点として記憶部23の第2記憶領域23bに記憶する。S23のステップは、第2ステップに相当する。以下、「センシング命令(位置決め命令、及びセンシング点の記憶命令として機能)」があった教示位置をセンシング点の教示位置という。又、図示しない位置決め命令キーによる「位置決め命令」があった教示位置をアプローチ点の教示位置という。
【0057】
S24では、作業者は、所望の溶接の狙い角をティーチペンダントTPの狙い角設定器33から入力すると、CPU20はこの狙い角設定値をセンシング点の教示位置nに関連づけて記憶部23の第2記憶領域23bに記憶する。
【0058】
又、作業者は、所望の溶接の前進後退角をティーチペンダントTPの前進後退角設定器34から入力すると、CPU20はこの前進後退角設定値を前記教示位置nに関連づけて記憶部23の第2記憶領域23bに記憶する。なお、本実施形態では、狙い角及び前進後退角の両者を数値入力するようにしているが、狙い角及び前進後退角のいずれか一方を入力するようにしてもよい。このように狙い角及び前進後退角のいずれか一方を入力する場合、他方は、予めパラメータとして記憶部23に予め格納しておき、このS24のステップのときに、読み出すようにしてもよい。又、S24において、センシング点の教示位置において実行する他の命令がある場合は、ティーチペンダントTPの図示しない各種命令キーを作業者が入力操作することにより、CPU20は、センシング点の教示位置と関連づけて各種命令を第2記憶領域23bに記憶する。S24において、例えば、操作されるキーとしては、「溶接開始命令」、或いは「溶接終了命令」があるが、これらの命令に限定されるものではない。又、センシング点の教示位置において後述する実行モードの各種実行条件、例えば、溶接電流、溶接電圧等がテンキー等により作業者により入力されて設定され、該センシング点の教示位置に関連づけされて、第2記憶領域23bに記憶される。
【0059】
S25では、作業者は、次の教示位置がある場合は、S21に戻り、先ほどと同様に、ティーチペンダントTPの手動操作で溶接トーチ14を移動させ、次の教示位置を決める。以下、同様にS21では、作業者はティーチペンダントTPを操作して「位置決め命令」又は「センシング命令」を入力して、教示位置を第2記憶領域23bに記憶させる。
【0060】
S25において、次の教示位置がない場合は、作業者は、ティーチペンダントTPの教示モード終了の図示しない終了キーを操作する。
このとき、第2記憶領域23bには、教示順に教示位置(アプローチ点及びセンシング点の教示位置を含む)が記憶される。さらに、センシング点の教示位置における各種命令(溶接開始命令、溶接終了命令等を含む)並びに各種実行条件が該センシング点の教示位置に関連付けされて記憶されることにより、後述するセンシングプログラムとして形成される。
【0061】
又、上記終了キーの入力に基づいて、CPU20は、ROM21に格納したモード種別切替処理プログラムに従ってS60に移行して、以下に説明するモード種別の変更処理を行う。
【0062】
(モード種別の変更処理:S60)
次にモード種別の変更処理について説明する。
図8は、モード種別の変更処理のフローチャートである。S102では、CPU20は、前のモード処理におけるモード種別が「1」であるか否かを判定し、モード種別が「1」の場合、S104に移行してモード種別を「2」に更新した後、この処理を終了する。S102において、モード種別が「1」でない場合は、S106に移行してモード種別が「2」であるか否かを判定する。
【0063】
S106において、モード種別が「2」の場合は、S108に移行してモード種別を「3」に更新した後、処理を終了する。又、モード種別が「2」でない場合は、そのまま処理を終了する。
【0064】
(センシングモード処理:S30)
センシングモード処理を
図6(b)を参照して説明する。センシングモード処理は、教示モードで作成されたセンシングプログラムの再生処理である。
【0065】
S31では、CPU20は、各教示位置に関連づけされた「位置決め命令」、又は「センシング命令」に基づいてマニピュレータM1を移動制御する。すなわち、第2記憶領域23bに教示順に記憶した教示位置n(n=1,2…)を教示順に1つ読み出し、読み出したこの教示位置まで、溶接トーチ14を移動する。なお、教示位置nの初期値は、n=1である。S31は、第3ステップの一部を構成する。
【0066】
S32において、「センシング命令」がある場合、すなわち、移動した教示位置がセンシング点である場合には、S33に移行し、教示位置がアプローチ点である場合には、S35に移行する。
【0067】
S33では、「センシング命令」に基づいて移動したセンシング点の教示位置n(n=1)において、ROM21に格納したセンシング実行処理プログラムにより、レーザセンサLSにレーザ発光命令を発行する。レーザセンサLSのCPU43は、この命令に基づいてレーザ光を照射するように発光部41を制御する。そして、CPU43は受光部42にて受光した結果をレーザセンサLSの開先位置計測処理によりセンサ座標系の開先位置を計測する。又、開先基準角計測処理によりセンサ座標系の開先基準角θ
SAを計測する。なお、開先基準角θ
SAについては後述する。
【0068】
開先位置計測処理について説明する。
(開先位置計測処理)
開先位置計測処理は、
図9に示すように、センシング点PAにおいて、センサ座標系の開先位置Aの検出を行う処理である。
図9において、FOVは、レーザセンサLSの視野範囲を示している。レーザセンサLSは、この視野範囲FOVの測距データに基づいて、ワークの特徴的部位の位置である開先位置を検出(すなわち、計測)する。なお、開先検出中、すなわちセンシング点PAに溶接トーチ14が位置しているとき、マニピュレータM1は停止している。
【0069】
この開先位置計測処理は、例えば溶接開始点、及び溶接終了点を検出するために行われる。本実施形態では、センシング点PAは溶接開始点を検出する教示位置となる。
具体的には、CPU20は、センシング点PAを変換行列
TT
Cを使用して、センサ座標系に変換した後に、レーザセンサLSが出力した検出点座標分(すなわち、先見距離T分)をシフトした点を
図9に示すように開先位置A(サーチ1点目)とする。
【0070】
ここで、前記変換行列について説明する。
図12には、ツールとしての溶接トーチ14に関するツール座標系と、レーザセンサLS、センサ座標系及びメカニカルインターフェース座標系の関係を示している。なお、
図12において、溶接トーチ14はマニピュレータM1の出力フランジ40に対してブラケット50を介して取付けされている。又、レーザセンサLSはマニピュレータM1に設けられたブラケット50に対し取付金具70を介して取付られている。そして、取付金具70はボルト72によりブラケット50に対して取り外し可能に取付けられている。このことにより、マニピュレータM1からマニピュレータM1から取り外し可能である。
【0071】
レーザセンサLSで得られた開先位置に、指定したトーチ姿勢で移動できるロボットのポーズ(姿勢)を求めるためには、ツール座標系とセンサ座標系の前記変換行列
TT
Cが必要となる。
【0072】
図12において、マニピュレータM1が6軸ロボットを構成している場合、ロボットの第6軸の中心である出力フランジ40を原点とするメカニカルインターフェース座標系(X
M,Y
M,Z
M)から、センサ座標系(Xc,Yc,Zc)への変換行列は、J6TCである。又、メカニカルインターフェース座標系(X
M,Y
M,Z
M)から、ツール座標系(X
T,Y
T,Z
T)への変換行列は、
J6T
Tである。ツール座標系からセンサ座標系の変換行列は
TT
Cである。
【0073】
このとき、ツール座標系から見たセンサ座標系への変換行列
TT
Cは、以下のように、
【0075】
ここで、フローチャート(
図6(b))のS33に話を戻す。CPU43は、センサコントローラ53からRAM45に格納した開先認識データと、受光部42にて受光した結果とを照合することにより、開先形状認識処理を行う。なお、この開先形状認識処理は公知であるため説明を省略する。
【0076】
又、CPU43は、センサ座標系の開先位置A、開先基準角θ
SAをレーザセンサLSからロボット制御装置RCまで通信インターフェイス46、センサインターフェイスユニット51、通信インターフェイス26を介して送信する。ロボット制御装置RCのCPU20は、受信したセンサ座標系の開先位置A、開先基準角θ
SAを前記教示位置と関連づけて、第2記憶領域23bに保存する。
【0077】
なお、S33では、センシングプログラムには、教示モードのときに作成した各種実行条件、並びに、溶接開始命令、溶接終了命令等の各種命令が記述されている。しかし、センシングモードでは、「位置決め命令」、「センシング命令」以外の命令をCPU20は無視する。S33は、第3ステップの一部に相当する。
【0078】
S34では、CPU20は次の教示位置n+1があるか否かを判定し、ある場合には、S31に戻り、次の教示位置について先ほどと同様に処理を行う。
そして、例えば前記開先位置Aが検出されていて、S32からS33に移行した場合、S33では、センシング点PBにおいて、溶接終了点となるセンサ座標系の開先位置Bを検出するための開先位置計測処理が、サーチ1点目と同様に行われる。この場合、溶接終了点の検出が行われる場合は、後述する開先基準角計測処理は省かれる。前記開先位置Bは、
図9ではサーチ2点目となる。
【0079】
なお、本実施形態では、説明の便宜上、次の溶接区間がない場合としているため、溶接終了点の検出が行われる場合、開先基準角計測処理を省略しているが、次の溶接区間のトーチ姿勢を変更する場合は開先基準角計測処理を省略しないようにしてもよい。
【0080】
そして、CPU43は、計測結果の開先位置BをレーザセンサLSからロボット制御装置RCまで通信インターフェイス46、センサインターフェイスユニット51、通信インターフェイス26を介して送信する。ロボット制御装置RCのCPU20は、受信した前記開先位置Bを前記教示位置と関連づけて、第2記憶領域23bに保存する。又、S34において、CPU20は、次の教示位置がなければ、S35に移行する。
【0081】
S35では、CPU20は、S33の処理の結果、各センシング点PA,PBにおいて、それぞれセンシングデータ(すなわち、開先位置、開先基準角)がある場合、ツール座標系変換処理、溶接線座標系設定処理、狙い角姿勢値の算出処理、及び前進後退角姿勢値の算出処理を行う。以下の説明では、説明の便宜上、開先位置を2点とした場合について説明するが、開先位置を3点以上の場合も同様である。
【0082】
(ツール座標系変換処理)
CPU20は、センサ座標系の開先位置A、Bをツール座標系の開先位置座標A’、B’に変換する。そして、CPU20は、第2記憶領域23bに格納しているセンシングプログラムのコピーに対してセンシング点PA,PBの代わりに、ツール座標系の開先位置座標A’、B’をそれぞれ更新する。この更新中の作業プログラムは、更新後においては後述する実行プログラムとして使用する。
【0083】
(溶接線座標系設定処理)
次に溶接線座標系設定処理について説明する。
CPU20は、
図11(a)に示すように溶接進行方向として、開先位置座標A’、B’を含む進行方向ベクトル
【0084】
【数2】
を溶接線座標系のZ軸とし、X軸を前記Z軸を法線とする平面に対して前記測距データに基づいて公知の方法で求めた前記開先基準角θ
SAを投影したものとする。又、CPU20は、溶接線座標系のY軸を右手系で決定する。
【0085】
なお、レーザセンサLSのセンサ座標系Yc−Zc(
図12参照)から、Zcと開先法線との角度との角度である開先基準角θ
SAが算出される。
以上、重ね継手の算出方法について説明したが、他の継手についても公知の技術により算出は可能である。
【0086】
(狙い角姿勢値の算出処理)
狙い角姿勢値の算出処理について説明する。
図10に示すように、CPU20は、レーザセンサLSで撮影したワークWに対し、開先法線をX軸、ワークWの表面をY軸、溶接方向をZ軸となる座標系を設定する。
【0087】
CPU20は、
図10に示すように、狙い角姿勢値は、前記Y軸を基準(0度)として、Z軸左ネジ周りの角度で算出する。
すなわち、θ
UAを狙い角設定値とし、開先基準角θ
SAをセンサ座標系のZc軸に対する開先法線の前記平面に投影されたX軸の角度としたとき、CPU20は、溶接線座標系Z軸周りに狙い角姿勢値として-(θ
UA -θ
SA -90)を算出する。このようにして、溶接トーチ姿勢のうちの狙い角姿勢値が求められる。
【0088】
(前進後退角姿勢値の算出処理)
前進後退角姿勢値の算出処理では、CPU20は前進後退角姿勢値を算出する。具体的には、開先位置座標系A’のZ軸と垂直な姿勢を基準(0度)とし、Y軸右ネジ周りの角度で前進後退角姿勢値が求められる。
【0089】
すなわち、開先位置座標系A’(点)のツール座標系Z軸をZ
Aとし、Z
A軸を溶接線座標系XZ平面に投影した軸をZ
A’軸としたとき、前進後退角姿勢値は以下のようにして求められる。
【0090】
θ
ULを所望の前進後退角、すなわち、前進後退角設定値とし、θ
SLを溶接線座標系X軸に対するZ
A'のY軸周りの角度としたとき、CPU20は溶接線座標系Y軸周りに前進後退角姿勢値(θ
UL−θ
SL)を算出する。このようにして、溶接トーチ姿勢のうちの前進後退角姿勢値が求められる。
【0091】
CPU20は、前述した狙い角姿勢値、前進後退角姿勢値は、第2記憶領域23bに格納している前記更新中の作業プログラムにおいて、開先位置座標A’における溶接トーチの作業姿勢として関連づけして記述する。S35は第3ステップの一部に相当する。
【0092】
このとき、第2記憶領域23bには、後述する実行プログラムが生成される。実行プログラムには、センシング点の教示位置における各種命令(溶接開始命令、溶接終了命令等を含む)並びに各種実行条件が該センシング点の教示位置、開先位置(すなわち、開先位置座標A',B')に関連付けされて記憶される。
【0093】
上記のS35の処理が終了した後、CPU20は、S70のモード種別の変更処理に移行する。S70のモード種別の変更処理は、S60と同じであるため、説明を省略する。
(実行モード処理:S40)
次に、実行モード処理を
図7を参照して説明する。実行モード処理は、センシングモードで自動的に生成された実行プログラムの再生処理である。
【0094】
S42では、CPU20は、実行プログラムに従って「位置決め命令」、又は「センシング命令」に基づいてマニピュレータM1を移動制御し、アプローチ位置、又は開先位置に溶接トーチ14を移動させる。
【0095】
このとき、開先位置のときは、CPU20は、その開先位置に関連づけされた所望の狙い角姿勢値、及び前進後退角姿勢値の姿勢で溶接トーチ14を移動する。又、その開示位置に関連づけされた各種命令を実行させる。例えば、溶接開始命令、ウィービング開始命令が教示されていれば、該開先位置に関連付けされた各種実行条件でそれを実行することになる。
【0096】
S44では、実行プログラムに次のアプローチ点、又は開先位置があれば、S42に戻る。実行プログラムに次のアプローチ点、又は開先位置がなければ、CPU20は、S80のモード種別の変更処理に移行する。S80のモード種別の変更処理は、S60と同じであるため、説明を省略する。
【0097】
(実行プログラムの例)
次に、教示モードで教示が行われてCPU20が生成し、記憶部23に読み出し可能に記憶した実行プログラムの例を
図13〜16を参照して説明する。なお、説明の便宜上、ワークWとして、一対の鉄板がL字状に配置された隅肉継手の場合を説明するが、継手の種類は限定されるものではない。
【0098】
(教示モード)
教示モードでは、
図14に示すように、作業者はティーチペンダントTPを操作してマニピュレータM1をジョグ送りし、溶接トーチ14を原位置G、ワークWの開先を検出するセンシング点PA、センシング点PB、及び前記原位置Gの順に移動させる。そして、それぞれの位置を教示ステップとして記憶することによってセンシングプログラムを作成する。又、作業者は各教示ステップにおいて、必要な教示データを入力する。なお、各教示ステップで教示したデータについては後述する。
【0099】
図13において、教示ステップNo.の1〜7の命令の欄は、
図14のワークWに対して教示されたものである。
教示ステップ1は、
図14に示すようにワークWに対してアプローチするために設定される溶接トーチ14の原位置Gである。この位置に溶接トーチ14を位置させた後、作業者は、「位置決め命令」をティーチペンダントTPから入力する。なお、以下では、説明の便宜、ティーチペンダントTPを用いて入力する操作を、単に入力するという。
【0100】
教示ステップ2は、ワークWの開先における溶接開始点を検出するためのセンシング点PAである。センシング点PAに溶接トーチ14を位置させた後、「センシング命令」を入力する。次ぐ教示ステップ3では、「溶接開始命令」を入力する。
【0101】
教示ステップ4は、ワークWの開先における溶接終了点を検出するセンシング点PBである。センシング点PBに溶接トーチ14を位置させた後、「センシング命令」を入力する。次ぐ教示ステップ5では、「溶接終了命令」を入力する。
【0102】
又、教示ステップ6は、原位置Gと同一の位置とする。すなわち、
図14に示すように溶接トーチ14のワークWから離間した待避させるために設定される溶接トーチ14の位置である。この位置に溶接トーチ14を待避させた後、作業者は、「位置決め命令」を入力する。以上の作業によって、センシングプログラムが作成される。なお、この例において、前記命令の他に各種実行条件も併せて入力するが、説明を簡単にするために省略している。
【0103】
ここで、特徴的なことは、センシング点の教示は、レーザセンサLSの視野範囲FOV内に開先が位置すれば十分であることから、ラフに教示すればよくなることである。
次のセンシングモードでは、教示モードで作成された上記センシングプログラムに従って、CPU20は、マニピュレータM1を下記のように駆動制御する。
【0104】
(センシングモード)
図15に示す教示ステップ1では、CPU20は「位置決め命令」により原位置Gに溶接トーチ14を位置決め動作させる。
【0105】
教示ステップ2では、「センシング命令」により、CPU20は、
図15に示すように開先位置を検出するためのセンシング点PAに移動させる。
又、教示ステップ2では、「センシング命令」によりレーザセンサLSによってセンシング動作させて、その検出結果に基づいて、開先位置座標A’、及び開先基準角θ
SAを取得する。そして、CPU20は、ツール座標系変換処理、溶接線座標系設定処理、狙い角姿勢値の算出処理、及び前進後退角姿勢値の算出処理を、ROM21に記憶した各種プログラムに基づいて行う。続く教示ステップ3の溶接開始命令については、CPU20は、無視する。
【0106】
教示ステップ4では、「センシング命令」により、CPU20は、
図15に示すように開先位置を検出するためのセンシング点PBに移動させる。
又、教示ステップ4では、「センシング命令」によりレーザセンサLSによってセンシング動作させて、その検出結果に基づいて、開先位置座標B’を取得する。続く、ステップ5の溶接終了命令については、CPU20は、無視する。ステップ6ではCPU20は「位置決め命令」により原位置Gに溶接トーチ14を位置決め動作させる。以上の処理によって、実行プログラムが作成される。
【0107】
ここで、特徴的なことは、次の実行モードでは、センシングモードで自動作成された実行プログラムに従って、CPU20は、マニピュレータM1を下記のように駆動制御することである。
【0108】
なお、実行モードに移行する前に、一旦、作業者は、ティーチペンダントを操作してTPロボットを停止させた状態とし、
図12に示すレーザセンサLSを、ブラケット50から取り外しておく。これは、例えば、実行モードにおいて連続して加工するワークに位置ずれや寸法誤差等がほとんどない場合に適用できる。すなわち、センシングモードでのレーザセンサLSによる開先形状の取得と教示データ生成が完了したとき、レーザセンサを取り外してもよい。言い換えると、レーザセンサLSは、センシングモードにおいて、実行プログラムを作成するときにのみ使用する。このことによって、レーザセンサを、複数のロボットで使い回すことができるので、設備としての導入コストを大幅に低減することができる。
【0109】
(実行モード)
図16に示す教示ステップ1では、CPU20は「位置決め命令」により原位置Gに溶接トーチ14を位置決め動作させる。
【0110】
教示ステップ2では、「センシング命令」により、CPU20は、センシングモードで算出された狙い角姿勢値、前進後退角姿勢値の溶接トーチ姿勢で、溶接トーチ14の先端を開先位置A’に移動させる。
【0111】
溶接トーチ14の先端が開先位置A’に移動した後、続く教示ステップ3の溶接開始命令に基づいて、CPU20は溶接を開始する。
教示ステップ4では、「センシング命令」により、CPU20は開先位置A’に位置したときの姿勢で、溶接トーチ14の先端を開先位置B’に移動させる。溶接トーチ14の先端が開先位置A’に移動した後、続く教示ステップ5の溶接終了命令に基づいて、CPU20は溶接を終了する。
【0112】
教示ステップ6ではCPU20は「位置決め命令」により原位置Gに溶接トーチ14を位置決め動作させる。
本実施形態のロボットの作業プログラム作成方法、ロボットの作業プログラム作成装置及び溶接ロボット制御システム10によれば、下記の特徴がある。
【0113】
(1)本実施形態のロボットの作業プログラム作成方法は、第1ステップとしてのS22(
図6(a)参照)では、溶接トーチ14(ツール)がセンシング点PA,PBに位置する毎に、センシング命令が入力される。又、第2ステップとしてのS23では、センシング命令の入力に応じて、該センシング命令とセンシング点PA,PBの教示位置と関連づけて第1作業プログラムに記憶する。
【0114】
又、第3ステップでは、第1作業プログラムに記憶されたセンシング命令に基づいて該センシング命令に関連づけされたセンシング点PA,PBに、マニピュレータM1を移動させる(
図6(b)のS31参照)。又、センシング点PA,PBに溶接トーチ14が位置した際に、前記センシング命令に基づいてレーザセンサLSを検出動作させる(
図6(b)のS33参照)。そして、その検出結果に基づいて前記ワークの開先位置を取得するとともに、取得した前記ワークWの開先位置を前記センシング命令に関連づけて第2作業プログラムに記憶する(
図6(b)のS35参照)。そして、前記第2作業プログラムに含まれる前記センシング命令に応じて前記ワークWの開先位置にマニピュレータM1の溶接トーチ14を移動させる。
【0115】
この結果、ワークWに位置ずれが発生しない環境下において、教示作業をラフに教示できるため簡略化でき、後に行われる溶接トーチ14による溶接時(実作業時)には、レーザセンサLSの作業が必要でないため、実作業時のサイクルタイムを短くできる。又、溶接トーチ14の先端位置をワークWの開先位置に合わせる教示が不要になるため、溶接トーチ14の先端を丁寧にワークWの開先位置に合わせなくてもラフな教示だけでよくなるとともに、溶接トーチ14による溶接時には、溶接トーチ14の先端をワークW開先位置まで移動できる。
【0116】
又、本方法によれば、センシング命令は、(a)センシング点の教示位置の記憶、(b)センシング点への移動、(c)センシングした開先位置の取得と記憶を自動的に選択することができるため、モードの確認が不要であり、複雑な教示も不要であり、間違った作業プログラムを作成する心配も無く、教示作業が容易になる。
【0117】
(2)本実施形態のロボットの作業プログラム作成方法では、教示モードで作成した第1作業プログラムに基づいてセンシングモードでレーザセンサLS(位置検出センサ)による検出動作を行い、この検出結果に応じて第2作業プログラムを作成するようにしている。
【0118】
つまり、この第2作業プログラムでは、溶接トーチ14(ツール)の先端位置とワークWの特徴的部位の位置とが厳密に一致している。すなわち、第2作業プログラムを再生する実行モード(ツールによる実作業時)においては、レーザセンサLSによる検出動作を必要としないので、実作業時のサイクルタイムを短くすることができる。
【0119】
(3)本実施形態のロボットの作業プログラム作成方法では、第1ステップでは、溶接トーチ14がセンシング点に位置する際に、狙い角、前進後退角の両者が数値入力される。第2ステップでは、狙い角、前進後退角の両者が記憶部23に、該教示位置と関連づけて記憶される。又、第3ステップでは、取得した複数の特徴的部位に基づく方向ベクトル(進行方向ベクトル)により溶接線座標を設定し、前記狙い角、及び前記前進後退角に基づいて前記溶接線座標の溶接トーチの姿勢を算出する。そして、溶接トーチ14の姿勢を第2作業プログラムに記憶する。
【0120】
この結果、本実施形態の溶接ロボットの作業プログラム作成方法において、狙い角、前進後退角の両者が数値入力されることにより、数値入力された狙い角、前進後退角の両者に応じた所望の姿勢をとらせることができる。
【0121】
(4)本実施形態の作業プログラム作成装置は、溶接トーチ14がセンシング点に位置する毎にセンシング命令を入力するセンシング命令キー31(センシング命令入力手段)と、センシング命令に基づき該センシング命令と前記センシング点の教示位置を関連づけて記憶する記憶部23を備える。又、作業プログラム作成装置は、記憶部23に記憶された第1作業プログラムのセンシング命令に基づいて該センシング命令に関連づけされた前記センシング点の教示位置にマニピュレータM1を移動制御するCPU20(制御手段)を備える。又、前記センシング点の教示位置に溶接トーチ14が位置した際に、前記センシング命令に基づいてレーザセンサLSを検出動作させてその検出結果に基づいてワークWの開先位置を取得するCPU20(取得手段)を備える。
【0122】
そして、作業プログラム作成装置は、取得したワークWの開先位置を前記センシング命令に関連づけてロボットの第2作業プログラムに取り込んで記憶する記憶部23(第2記憶手段)を備える。
【0123】
この結果、ワークに位置ずれが発生しない環境下において、教示作業を簡略化でき、後に行われる溶接トーチ14による実作業時には、レーザセンサLSの作業が必要でないため、実作業時のサイクルタイムを短くできる。又、本実施形態によれば、溶接トーチ14の先端位置をワークの特徴的部位の位置に合わせる教示が不要になり、ツールの先端を丁寧にワークの特徴的部位の位置に合わせなくても、ラフな教示だけでよくなり、ツールによる実作業時には、ツールの先端をワークの特徴的部位の位置まで移動できる。
【0124】
又、本作成装置によれば、センシング命令は、(a)センシング点の教示位置の記憶、(b)センシング点への移動、(c)センシングした開先位置の取得と記憶を自動的に選択することができるため、モードの確認が不要であり、複雑な教示も不要であり、間違った作業プログラムを作成する心配も無く、教示作業が容易になる。
【0125】
(5)本作成装置によれば、教示モードで作成した第1作業プログラムに基づいてセンシングモードでレーザセンサLS(位置検出センサ)による検出動作を行い、この検出結果に応じて第2作業プログラムを作成するようにしている。つまり、この第2作業プログラムでは、溶接トーチ14(ツール)の先端位置とワークWの特徴的部位の位置とが厳密に一致している。すなわち、第2作業プログラムを再生する実行モード(ツールによる実作業時)においては、レーザセンサLSによる検出動作を必要としないので、実作業時のサイクルタイムを短くすることができる。
【0126】
(6)本実施形態の作業プログラム作成装置は、溶接トーチ14がセンシング点に位置する際に、溶接時の狙い角、前進後退角の両者を設定する狙い角設定器33,前進後退角設定器34(姿勢設定手段)を備える。又、記憶部23は、狙い角、前進後退角の両者を前記センシング点の教示位置と関連づけて記憶する。CPU20は取得した開先位置のツール系座標の位置間に基づく進行方向ベクトル(方向ベクトル)により溶接線座標を設定する座標設定手段として機能する。又、CPU20は、前記狙い角、及び/又は前記前進後退角に基づいて前記溶接線座標の溶接トーチ14の溶接トーチ姿勢を算出するトーチ姿勢算出手段として機能する。又、記憶部23は該溶接トーチの姿勢を記憶して前記第2作業プログラムに含ませる。
【0127】
この結果、本実施形態の作業プログラム作成装置によれば、狙い角、前進後退角の両者が数値入力されることにより、溶接トーチに所望の姿勢をとらせることができる。
(7)本実施形態の作業プログラム作成装置は、CPU20は、教示モードが終了した際に、モード種別をセンシングモードに自動的に変更するモード種別変更手段として機能する。この結果、センシングモードに自動的に移行することができ、作業者によるモード選択作業を省略することができる。
【0128】
(8)本実施形態の作業プログラム作成装置は、レーザセンサLSがマニピュレータM1に対して取り外し可能に支持されている。この結果、ワークWに位置ずれが発生しない環境下においては、教示モードでは教示作業を簡略化でき、ツールによる実作業時に位置検出センサが必要でないため、マニピュレータM1から位置検出センサを取り外しができる。従って、比較的高価なレーザセンサLSを複数のロボットで使い回すことができ、設備としての導入コストを大幅に低減することができる。
【0129】
又、従来は、レーザセンサ等の位置検出センサを常に取り付けておく必要があるために、マニピュレータの先端に取り付けた位置検出センサ自身が、ツールの取り得る実作業姿勢に制限を与えてしまう。すなわち、位置検出センサ自身が干渉物となり、所望の実作業姿勢を取れない場合がある。本実施形態では、レーザセンサ等の位置検出センサを常に取り付けておく必要がなくなるため、実作業姿勢に制限をなくすことができる。
【0130】
(9)本実施形態のロボット制御システムは、前記作業プログラム作成装置と、前記作業プログラムを実行するロボット制御装置RC(ロボット制御手段)とを含む。そして、ロボット制御装置RCが、実行モード時に前記第2作業プログラムに含まれるセンシング命令に応じてワークWの開先位置にマニピュレータM1の溶接トーチ14を移動させる。この結果、作業プログラム作成装置が作成した第2作業プログラムに従って実行モード時にワークの特徴的部位の位置に前記マニピュレータのツールを移動させることができる。
【0131】
又、本システムによれば、センシング命令は、(a)センシング点の教示位置の記憶、(b)センシング点への移動、(c)センシングした開先位置の取得と記憶、(d)センシングした開先位置への移動を自動的に選択することができる。このため、モードの確認が不要であり、複雑な教示も不要であり、間違った作業プログラムを作成する心配も無く、教示作業が容易になる。
【0132】
(8)本実施形態のロボット制御システムは、CPU20(モード種別変更手段)は、センシングモードが終了する際に、モード種別を実行モードに自動的に変更するものである。又、CPU20は、モード種別に基づいて前記ロボット制御手段による、実行モードの第2作業プログラムの実行を許容する。この結果、本実施形態によれば、CPU20の判定結果により、実行モードに自動的に移行することができる。
【0133】
(10)本実施形態では、教示/センシング/実行モードのモード種別、及びレーザセンサLSの接続の有無から、自動的に実行するべきモードを判断して、そのモードに応じて実行することができる。
【0134】
なお、本発明は前記実施形態に限定されるものではなく、下記のように構成してもよい。
・ 前記実施形態のレーザセンサLSは、ラインレーザセンサを使用したが、レーザをミラーに当てて走査するスキャニング型のレーザ変位センサに代えてもよい。
【0135】
・ 前記実施形態では、位置検出センサとしてレーザセンサLSを使用したが、汎用品の距離センサ、接触センサ等を利用しても良い。
・ 前記実施形態では、溶接ロボットの作業プログラム作成方法、ロボットの作業プログラム作成装置、及び、溶接ロボット制御システムに具体化したが、これらに限定するものではない。スポット溶接ロボットの作業プログラム作成方法、作業プログラム作成装置、及び、スポット溶接ロボット制御システムに具体化することも可能である。さらに、塗装ロボットの作業プログラム作成方法、ロボットの作業プログラム作成装置、及び、塗装ロボット制御システムに具体化してもよい。この場合、溶接トーチに代えて、塗装を行う塗装ガンがツールとなる。或いは、搬送ロボットの作業プログラム作成方法、搬送ロボットの作業プログラム作成装置、及び、搬送ロボット制御システムに具体化してもよい。この場合、前記実施形態と異なり、狙い角、前進後退角は必要でないため、これらの数値入力、記憶等の処理については省略することができる。
【0136】
さらに、ハンドリングロボットの作業プログラム作成方法、搬送ロボットの作業プログラム作成装置、及び、搬送ロボット制御システムに具体化してもよい。この場合、溶接トーチに代えて、ハンドリングを行うハンドがツールとなる。
【0137】
・ 前記実施形態では、いわゆる直接教示方式を採用した溶接ロボットの作業プログラム作成方法、ロボットの作業プログラム作成装置、及び溶接ロボット制御システムに具体化したが、直接教示方式に限定されるものではなく、オフライン教示方式であってもよい。オフライン教示方式とは、一般的に、CAD等で生成されたワークWのモデルデータをパーソナルコンピュータのCRTに表示させて、教示点を教示する(作業プログラムを作成する)方式である。教示手段としては、オフラインティーチングシステムと呼ばれる、パーソナルコンピュータ上で実行されるアプリケーションプログラムと、マウスやキーボード等の入力装置とが用いられる。オフライン教示された作業プログラムは、ロボット制御装置RCで再生可能にするため、データの変換を必要とする。このデータ変換の際に、変換誤差やマニピュレータM1の機体誤差等に起因して、教示された教示点の精度が落ちる(すなわち位置ズレが生じる)ことがある。位置ズレが生じると、実際のワークWに合わせた再教示が必要となるという課題を有している。この課題に対し、前記実施形態を次のように適宜修正することにより、解決することができる。すなわち、溶接トーチ14(ツール)がセンシング点に位置する毎に、センシング命令が入力される第1ステップと、センシング命令とセンシング点の教示位置を関連づけてセンシングプログラム(第1作業プログラム)に記憶する第2ステップとを、オフラインティーチングシステムを用いて実行する。言い換えると、オフラインティーチングシステムを用いてセンシングプログラムを作成する。
【0138】
次に、センシングプログラムのセンシング命令に基づき、センシング点の教示位置に溶接トーチ14を移動させてレーザセンサLS(位置検出センサ)を検出動作させ、検出結果に基づいてワークW上の作業位置を取得し、この作業位置を実行プログラム(第2作業プログラム)に記憶する。言い換えると、オフラインティーチングシステムを作成したセンシングプログラムを再生して、実行プログラムを作成する。そして、センシングプログラムを再生することにより溶接トーチ14を移動させ、加工作業を実行する。
【0139】
以上のように、前記実施形態は、直接教示方式に限定されるものではなく、オフライン教示方式に具体化してもよい。この場合、センシング命令入力手段は、パーソナルコンピュータに備えられた入力装置であり、第1記憶手段はパーソナルコンピュータに備えられたハードディスク等の記憶媒体となる。