(57)【特許請求の範囲】
【請求項１】
研削ツールを把持してワーク表面を研削するロボットの制御装置であって、
（ａ）前記研削ツールに供給される負荷電流を検知する負荷電流検知手段、
（ｂ）前記研削ツールに供給される負荷電流の変化量を検知する負荷電流変化量検知手段、
（ｃ）前記負荷電流検知手段により検知される負荷電流に応じて前記研削ツールの前記ワークへの切り込み量を制御する切り込み量制御手段、
（ｄ）前記負荷電流検知手段により検知される負荷電流に応じて前記研削ツールの研削速度を制御する研削速度制御手段および
（ｅ）前記負荷電流変化量検知手段により検知される負荷電流の変化量が所定の閾値以下のときには前記切り込み量制御手段による制御を実行し、前記負荷電流変化量検知手段により検知される負荷電流の変化量が所定の閾値を越えるときには前記研削速度制御手段による制御を実行するように、これら切り込み量制御手段と研削速度制御手段とを切り換える切換手段
を備えることを特徴とするロボットの制御装置。
【請求項２】
前記切り込み量制御手段は、前記負荷電流が大きいときには前記切り込み量が小さくなるように、前記負荷電流が小さいときには前記切り込み量が大きくなるように制御し、前記研削速度制御手段は、前記負荷電流が大きいときには前記研削速度が小さくなるように、前記負荷電流が小さいときには前記研削速度が大きくなるように制御することを特徴とする請求項１に記載のロボットの制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ロボットの制御装置に関し、より詳しくは研削ツールを把持してワーク表面を研削するロボットの制御装置に関するものである。
【０００２】
【従来の技術】
従来より、産業用ロボット（以下、単に「ロボット」という。）に、溶接，研削，塗装，組立，検査等の各作業に必要なツールを把持させてそれら作業を自動的に行うことが提案され、また実用化されている。このうち、研削作業に関して、溶接余盛を研削除去したり、ガス切断後の溶接開先面を研削仕上げしたり、あるいは鋳造物品の表面を研削仕上げしたりする作業の自動化のために、ロボットにグラインダを把持させてそれら研削作業を行うことが試みられている。ところが、このような研削作業を単にロボットにグラインダを把持させて行うというだけでは、ワークの形状または位置のばらつき、および除去すべきバリ等の研削対象の大きさのばらつきにより、削り過ぎまたは削り残しが生じるという問題を解消することができない。
【０００３】
このような問題点に対処するために、次の各公報に開示されているようなロボットを用いる自動研削装置が提案されている。
▲１▼特開平３−６０９６３号公報
グラインダモータへの負荷電流が一定になるようにグラインダとワークとの間の距離を制御して母材表面に倣って研削するようにしたもの。
▲２▼特開平３−１４２１５９号公報
ロボットの手首にワークからの反力を検出する力センサを設け、この力センサからの情報によりワークに対する押圧力が一定になるようにロボットの位置と力とを制御するようにし、これに加えて目標位置と現在位置との偏差により押圧力の設定値を変えるようにしたもの。
【０００４】
ところで、前述のような研削作業のみならず、互いに類似する複数の作業もしくは同一の作業を一台のロボットで行う場合に、これら作業内容に応じて各作業用ツールハンドを自動交換して各作業に対応することも行われている。この場合、ロボットの基本機能であるティーチングプレイバックのみでは対応できない作業については、当該作業に固有の適応制御機能を付加することで対応することがなされている。
【０００５】
【発明が解決しようとする課題】
しかしながら、ロボットを用いて研削作業を行う場合に、前記▲１▼の公報に開示されている研削装置では、ワーク母材面に倣うように押圧力を一定にして研削するために、除去すべきバリ等を含む研削前の被研削物の形状が研削後に反映してしまい、ワークの相対的な凹凸は少なくなっても凹凸は依然として残ることとなる。したがって、この研削装置は研磨作業には適しているが、溶接余盛の研削除去または鋳造物品の研削仕上げのように成形を伴う研削には適さないという問題点がある。
【０００６】
また、前記▲２▼の公報に開示されている研削装置では、ロボットの手首に力センサを付加する必要があるとともに、この力センサからの出力情報を処理する装置が別途必要となって装置全体が複雑になってしまうという問題点がある。
【０００８】
本発明は、前述のような問題点を解消するためになされたもので、ロボットに研削ツールを把持させてワーク表面を研削する際に、装置を複雑にすることなく、成形性を伴った研削作業を自動的にかつ高精度に行うことができるようにすることを目的とするものである。
【０００９】
【課題を解決するための手段および作用・効果】
前述の目的を達成するために、本発明によるロボットの制御装置は、
研削ツールを把持してワーク表面を研削するロボットの制御装置であって、
（ａ）前記研削ツールに供給される負荷電流を検知する負荷電流検知手段、
（ｂ）前記研削ツールに供給される負荷電流の変化量を検知する負荷電流変化量検知手段、
（ｃ）前記負荷電流検知手段により検知される負荷電流に応じて前記研削ツールの前記ワークへの切り込み量を制御する切り込み量制御手段、
（ｄ）前記負荷電流検知手段により検知される負荷電流に応じて前記研削ツールの研削速度を制御する研削速度制御手段および
（ｅ）前記負荷電流変化量検知手段により検知される負荷電流の変化量が所定の閾値以下のときには前記切り込み量制御手段による制御を実行し、前記負荷電流
変化量検知手段により検知される負荷電流の変化量が所定の閾値を越えるときには前記研削速度制御手段による制御を実行するように、これら切り込み量制御手段と研削速度制御手段とを切り換える切換手段
を備えることを特徴とするものである。
【００１０】
本発明においては、研削ツールに供給される負荷電流の変化量が所定の閾値以下のときに、この負荷電流に応じて前記研削ツールのワークへの切り込み量が制御され、またその負荷電流の変化量が所定の閾値を越えるときに、この負荷電流に応じて前記研削ツールの研削速度が制御される。こうして、ワークの形状変化が大きい部位に対しては研削ツールの研削速度が制御されてその部位が削り残しなく成形され、形状変化の小さい部位に対しては研削ツールの切り込み量が制御されてその部位の母材面に沿う仕上げ加工が行われる。したがって、ワークが例えば鋳物のせきまたは湯口等の大きな凸部であっても成形しながら滑らかに仕上げることができる。このように、研削対象であるワークの形状または位置のばらつきがあっても、装置を複雑にすることなく、所望の形状に高精度に成形を行うことができる。また、負荷電流を基に制御するようにしているので、研削状況を直に監視することができ、砥石の研削能力の変化に対応することが可能となる。
【００１１】
本発明において、前記切り込み量制御手段は、前記負荷電流が大きいときには前記切り込み量が小さくなるように、前記負荷電流が小さいときには前記切り込み量が大きくなるように制御するものとされ、前記研削速度制御手段は、前記負荷電流が大きいときには前記研削速度が小さくなるように、前記負荷電流が小さいときには前記研削速度が大きくなるように制御するものとされるのが好ましい。
【００１９】
本発明の他の目的は、後述される詳細な説明から明らかにされる。しかしながら、詳細な説明および具体的実施例は最も好ましい実施態様について説明するが、本発明の精神および範囲内の種々の変更および変形はその詳細な説明から当業者にとって明らかであることから、具体例として述べるものである。
【００２０】
【実施例】
次に、本発明によるロボットの制御装置の具体的実施例につき、図面を参照しつつ説明する。
【００２１】
（第１実施例）
本実施例は研削作業用のロボットシステムに適用したものである。図１に示されているように、本実施例のロボットシステムにおいては、回転砥石１が所要回転数で回転可能に取り付けられてなるグラインダ２を有するとともに、ワークの研削面に対して所定速度で移動される複数のアーム３ａ，３ｂ，３ｃを有する多関節のロボット４と、このロボット４の駆動制御、詳しくは回転砥石１の回転制御、アーム３ａ，３ｂ，３ｃの位置および移動速度の制御等を行うロボットコントローラ（ロボット駆動制御部）５とが備えられ、このロボットコントローラ５にはオペレータが各種条件の設定（教示）を行うための操作器６が接続されている。
【００２２】
前記グラインダ２のモータ（図示せず）は電源（グラインダ用電源）７により駆動される。このモータの負荷電流は電流センサ８によって検出され、この電流センサ８からの負荷電流信号がロボットコントローラ５に入力されるようになっている。また、ロボットコントローラ５には、ロボット４の適所に設けられている図示されない位置センサからのロボット４の現在位置に係る位置信号と、やはり図示されない速度センサからのロボット４の現在速度に係る速度信号とが入力される。これら各入力信号に基づきロボットコントローラ５は所定の演算処理を行い、ロボット４に対して駆動信号を出力する。
【００２３】
本実施例のロボットコントローラ５の具体的構成が図２に示されている。図示のように、このロボットコントローラ５においては、操作器６によりオペレータが設定するツール種別および仕上目標等の作業条件が記憶部９に記憶され、この記憶部９に記憶されているデータからの例えば荒加工であるか仕上加工であるかといった仕上目標値に係るデータと、予めデータベース部１０に登録されている登録データとが負荷制御パターン設定部１１に入力されるようになっている。なお、前記データベース部１０には、種々のワーク形状または用途に対応できるように、ツール種別および仕上目標毎に制御パターンおよび負荷設定値（目標電流値，閾値等）が登録されている。また、教示によって記憶部９に記憶される位置目標値に係るデータおよび速度目標値に係るデータはその記憶部９から位置指令演算部１２に入力される。
【００２４】
一方、電流センサ８からの負荷電流信号は入力部１３を介して負荷信号処理部１４に入力される。この負荷信号処理部１４では、入力された負荷電流信号に基づき位置補正値および速度補正値を算出してそれら算出値を位置指令演算部１２に出力する。そして、位置指令演算部１２においては、ロボット４の現在位置に係る位置信号と、ロボット４の現在速度に係る速度信号と、記憶部９より入力される位置目標値および速度目標値と、負荷信号処理部１４より入力される位置補正値および速度補正値との各データを基に駆動信号が算出され、この算出された駆動信号がロボット４に出力される。なお、ロボットコントローラ５と電源７との間では、起動信号およびエラー信号などのやり取りがなされる。
【００２５】
次に、前述のように構成されるロボットコントローラ５によるグラインダ２の適応制御の制御動作について図３に示されている基本プログラムのフローチャートに基づき詳述する。
【００２６】
Ａ〜Ｂ：電流センサ８からの負荷電流に係るデータを所定のサンプリングタイム毎に取り込み、取り込まれたｎ個のサンプリングデータＩｉｎ（ｉ）・・・Ｉｉｎ（ｎ）のスムージング処理を次式により行う。
Ｉｓｍｔ  （ｋ）＝〔Ｉｉｎ（ｉ）＋・・・＋Ｉｉｎ（ｎ）〕／ｎ
Ｃ：スムージング処理後のサンプリングデータ（スムージングデータ）より電流差分値ΔＩ（ｍ）を次式により計算する。
ΔＩ（ｍ）＝〔Ｉｓｍｔ  （ｋ）−Ｉｓｍｔ  （ｋ−１）〕／２
Ｄ：過去ｋ回分のスムージングデータＩｓｍｔ  （ｋ）および過去ｋ回分の差分値ΔＩ（ｋ）を平均化し、次式により平均化後電流Ｉａｖｇ  および平均化後電流差分値ΔＩａｖｇ  をそれぞれ得る。
Ｉａｖｇ  ＝〔Ｉｓｍｔ  （ｉ）＋・・・＋Ｉｓｍｔ  （ｋ）〕／ｋ
ΔＩａｖｇ  ＝〔ΔＩ（ｉ）＋・・・＋ΔＩ（ｋ）〕／ｋ
Ｅ〜Ｇ：現在の電流差分値ΔＩａｖｇ  と速度制御を行う際の電流差分の目標値ΔＩｓｐとの差の絶対値が所定の閾値Ｔｈｓｐより大きい場合、言い換えれば負荷電流の時間的変化割合が大きい場合には図４によって後述する速度制御実行ルーチンへ進み、負荷電流の時間的変化割合が小さい場合には図５によって後述する切り込み制御実行ルーチンへ進む。
【００２７】
次に、前述の速度制御実行ルーチン（ステップＦ）を図４に示されているフローチャートによって説明する。
【００２８】
Ｆ１〜Ｆ２：平均化後電流Ｉａｖｇ  が予め設定される最大許容負荷電流ＩＥ  を越えているときには研削速度ＳＰを零に設定する。
Ｆ３〜Ｆ４：平均化後電流Ｉａｖｇ  が予め設定される最大許容負荷電流ＩＥ  以下であって目標電流の上限値ＩＨ  を越えているときには、現在の研削速度ＳＰからＳＰ０  ／４（ＳＰ０  ：初期研削速度）を減算した値（ＳＰ−ＳＰ０  ／４）を新たな研削速度ＳＰとする。
Ｆ５〜Ｆ６：平均化後電流Ｉａｖｇ  が目標電流の上限値ＩＨ  以下であって目標電流の下限値ＩＬ  未満であるときには、現在の研削速度ＳＰにＳＰ０  ／４を加算した値（ＳＰ＋ＳＰ０  ／４）を新たな研削速度ＳＰとする。また、平均化後電流Ｉａｖｇ  が目標電流の上限値ＩＨ  以下であって目標電流の下限値ＩＬ  以上であるときには、現在の研削速度ＳＰをそのまま採用する。
【００２９】
このような速度制御実行ルーチンによって、グラインダ２に加わる負荷電流が目標電流の上限値ＩＨと下限値ＩＬとの間に収まるように研削速度が制御される。この速度制御による制御パターンは単位時間当たりのワークの除去体積を調整することができるので、例えば凹凸の大きい部位を平らに仕上げるといった成形性を重視する加工の場合に、除去断面積が変化してもティーチング通りに削り残しなく研削することができる。
【００３０】
次に、前述の切り込み制御実行ルーチン（ステップＧ）を図５に示されているフローチャートによって説明する。
【００３１】
Ｇ１〜Ｇ２：平均化後電流Ｉａｖｇ  が目標電流の上限値ＩＨ  を越えているときには、現在の切り込み量Ｔから切り込み補正量Ｔｉを除算した値（Ｔ−Ｔｉ）を新たな切り込み量Ｔとする。
Ｇ３〜Ｇ４：平均化後電流Ｉａｖｇ  が目標電流の上限値ＩＨ  以下であって目標電流の下限値ＩＬ  未満であるときには、現在の切り込み量Ｔに切り込み補正量Ｔｉを加算した値（Ｔ＋Ｔｉ）を新たな切り込み量Ｔとする。また、平均化後電流Ｉａｖｇ  が目標電流の上限値ＩＨ  以下であって目標電流の下限値ＩＬ  以上であるときには、現在の切り込み量Ｔをそのまま採用する。
【００３２】
このような切り込み制御実行ルーチンによって、グラインダ２に加わる負荷電流が目標電流の上限値ＩＨ  と下限値ＩＬ  との間に収まるように切り込み量が制御される。ところで、単位時間当たりのワークの除去体積は、グラインダ２の速度が一定の場合には切り込み量が大きい程大きくなる。したがって、前述の切り込み制御による制御パターンおいては、グラインダ２に加わる負荷電流が一定となるように切り込み量を調整して除去体積を一定にすることができるので、母材面に沿って滑らかに仕上げるといった加工の場合に有効である。
【００３３】
前述のようなロボットシステムにおいて例えば図６（ａ）に示されているような断面形状を有するワークの研削加工を行うと、電流センサ８によって検出される負荷電流値および電流差分値はそれぞれ図６（ｂ）および（ｃ）に示されるような曲線となる。したがって、このようなワークに対して本実施例の制御を実行すると、（ａ）において符号Ｐで示される領域では速度制御が実行され、符号Ｑで示される領域では切り込み制御が実行されることとなる。この結果、ワークの形状変化が大きい部位に対してはその部位が削り残しなく成形され、形状変化の小さい部位に対してはその部位の母材面に沿う仕上げ加工が行われる。こうして、ワークが例えば鋳物のせきまたは湯口等の大きな凸部であっても成形しながら滑らかに仕上げることができる。
【００３４】
本実施例においては、グラインダ２に加わる負荷電流の変化量の大小によって速度制御と切り込み制御とを自動的に切り換えるものについて説明したが、本実施例のロボットシステムにおいて、ティーチング時におけるオペレータの指定によって、例えば荒加工の後に仕上加工を行うというように成形性を重視する加工と滑らかな仕上げを重視する加工とを別工程で行うことができるのは言うまでもない。
【００３５】
（第２実施例）
本実施例は、作業用ツールとして溶接トーチを把持して溶接作業を行った後、この作業用ツールをグラインダに持ち換えて引き続いて研削作業を行うマルチ作業ロボットシステムに適用したものである。
【００３６】
図７に示されているように、本実施例のマルチ作業ロボットシステムにおいて、複数のアーム３ａ，３ｂ，３ｃを有するロボット４の本体構成は第１実施例と基本的に異なるところがない。本実施例においては、自動ツール交換装置（Ａｕｔｏｍａｔｉｃ  Ｔｏｏｌ  Ｃｈａｎｇｅｒ）２０によって作業用ツールを溶接トーチ２１からグラインダ２に自動交換するようにされている。また、前記第１実施例に記載のようなグラインダ２の適応制御および後述の溶接トーチ２１の適用制御を実行するためのロボットコントローラ２２が備えられ、このロボットコントローラ２２にはオペレータが各種条件の設定（教示）を行うための操作器２３が接続されている。
【００３７】
前記グラインダ２のモータ（図示せず）はグラインダ用電源７により駆動される。このモータの負荷電流は電流センサ８によって検出され、この電流センサ８からのグラインダ負荷電流信号がロボットコントローラ２２に入力されるようになっている。一方、前記溶接トーチ２１には溶接電源２４から溶接電流が供給される。この溶接電源２４から供給される溶接電流は電流センサ２５によって検出され、この電流センサ２５からの溶接電流信号がやはりロボットコントローラ２２に入力されるようになっている。また、前記第１実施例と同様、ロボットコントローラ２２には、ロボット４の適所に設けられている図示されない位置センサからのロボット４の現在位置に係る位置信号と、やはり図示されない速度センサからのロボット４の現在速度に係る速度信号とが入力される。これら各入力信号に基づきロボットコントローラ２２は所定の演算処理を行い、ロボット４に対して駆動信号を出力する。なお、ロボットコントローラ２２とグラインダ用電源７および溶接電源２４との間では、起動信号およびエラー信号などのやり取りがなされる。
【００３８】
本実施例のロボットコントローラ２２の具体的構成が図８に示されている。図示のように、このロボットコントローラ２２においては、ロボット４の基本的な位置および速度の制御を行う位置制御部２６と、作業種別に応じた適用制御を行う適応制御部２７とが備えられるとともに、作業種別（ツール種別）毎の適応制御の制御パターン，パラメータおよび入出力設定等が登録されるデータベース部２８が備えられている。
【００３９】
操作器２３によりオペレータが設定する作業種別およびステップ毎の位置，速度等の命令は、このロボットコントローラ２２内の命令記憶部２９に一旦記憶され、これら命令は位置制御部２６におけるメイン制御部２６ａにて解析され、各作業種別に応じた適用制御が必要な場合にそのメイン制御部２６ａから適応制御部２７の適応制御設定部２７ａに作業開始命令とその作業種別とが通知される。作業開始命令が出されると、この適応制御設定部２７ａでは、データベース部２８より作業種別に応じた適応制御パターンおよびパラメータを呼び出して設定を行うとともに、入出力設定を行う。この適応制御設定部２７ａでの設定が終了すると、適応制御部２７内の補正値計算部２７ｂにて、入力部３０を介してグラインダ負荷電流信号，溶接電流信号等に基づき位置補正値および速度補正値が逐次計算され、これら計算値が位置制御部２６内の位置指令演算部２６ｂに出力されるとともに、出力部３１を介して周辺装置へ出力される。この位置指令演算部２６ｂにおいては、ロボット４の現在位置に係る位置信号と、ロボット４の現在速度に係る速度信号と、メイン制御部２６ａより入力される位置目標値および速度目標値と、補正値計算部２７ｂより入力される位置補正値および速度補正値との各データを基に駆動信号が算出され、この算出された駆動信号がロボット４に出力される。また、これら位置補正値および速度補正値は補正値記憶部３２に記憶されるとともに、前記駆動信号の算出に際し必要に応じてその補正値記憶部３２に記憶されている補正値が呼び出される。
【００４０】
ここで、グラインダ２の適応制御の制御動作は第１実施例において詳述した通りである。一方、溶接トーチ２１の適応制御においては、次のようにして水平方向（進行方向に向かって左右方向）位置制御と高さ方向位置制御との二種類の制御が同時に行われる。
【００４１】
水平方向位置制御においては、図９に示されるように、溶接トーチ２１が被溶接材３３，３４の接合部に沿って移動される際にその溶接トーチ２１に対し左右に正弦波状にウィービング運動が付与され、このウィービング時に電流センサ２５によって検出される溶接トーチ２１の左端位置および右端位置での溶接電流（アーク電流）の偏差が０になるようにその溶接トーチ２１の水平方向位置が制御される。なお、図９（ａ）は、溶接トーチ２１が左方にずれることによって左端位置での溶接電流のピーク値が右端位置での溶接電流のピーク値に比べて偏差ｐだけ大きな値になっている状態を示しており、図９（ｃ）は、溶接トーチ２１が右方にずれることによって右端位置での溶接電流のピーク値が左端位置での溶接電流のピーク値に比べて偏差ｑだけ大きな値になっている状態を示している。このように左右端位置での溶接電流のピーク値に偏差が生じた場合に、図９（ｂ）に示されるようにその偏差を０にするように溶接トーチ２１の位置制御が行われる。
【００４２】
また、高さ方向位置制御においては、溶接電流の低周波成分を取り出すことによって溶接トーチ２１の高さ方向の平均位置が検出され、この平均位置が予め設定される基準値と比較されてその基準値との偏差が０になるようにその溶接トーチ２１の高さ方向位置が制御される。
【００４３】
本実施例のマルチ作業ロボットシステムにおいては、主にオペレータの教示時との位置ずれを自動的に補正するための適応制御を溶接とグラインダとの各作業毎に切り換えて適用するために、溶接トーチ２１の適応制御において補正値記憶部３２に記憶されている補正値がグラインダ２の適応制御において利用され、これによって、グラインダ２の適応制御において補正不能な研削平面上で研削線と直角方向の位置ずれの補正を行うことが可能とされている。次に、溶接作業に引き続いて研削作業を行う際の制御動作を図１０〜図１４に示されているフローチャートに基づき詳述する。
【００４４】
図１０は基本プログラムを示すフローチャートである。この基本プログラムにおいては、まず溶接ルーチンの呼び出し処理が行われ（ステップＳ）、この後グラインダルーチンの呼び出し処理が行われる（ステップＴ）。
【００４５】
前記溶接ルーチンにおいては図１１に示されるフローチャートにしたがって処理が実行される。
Ｓ１：初期化を行う。この初期化においては、ツール要求信号を１（溶接トーチ）に設定するとともに、ツールパラメータテーブルより溶接トーチのツールパラメータを読み出し、この読み出したツールパラメータを設定する。以後、このツールパラメータで示される点に制御点を移す。ここで、このツールパラメータは、ツールの長さおよび角度等をロボット４の６軸フランジ面に固定される座標で表した数値である。
【００４６】
Ｓ２〜Ｓ４：図１３のフローチャートによって後述するＡＴＣルーチンを呼び出して溶接トーチ２１をロボット４に装着し、この後そのロボット４をサーチポイントＰ０  （予め教示したｚ方向のワーク位置）へ移動させる。次いで、溶接開始点の位置ずれを補正するためにサーチルーチンを呼び出す。このサーチルーチンにおいては、教示時におけるワークＷの端面位置Ｐ０  （ｚ方向），Ｐ１  （ｙ方向），Ｐ２  （ｘ方向）をサーチ開始点（図１５参照）として、ロボット４のベース座標で示されるワークＷの現在位置（Ｐ０１，Ｐ１１，Ｐ２１）を得るために、予め教示した方向にサーチ動作を行う。なお、このサーチ動作は、例えば溶接トーチ２１の通電状態を監視しながらワークＷ方向に接近し、通電時にその溶接トーチ２１を停止させることにより行われる。こうして得られるワークＷの現在位置と教示位置との差分をとることで、溶接開始点Ｐ３  の位置ずれ補正が次式により得られる。ただし、この溶接開始点Ｐ３  の補正後の値をＰ３ｎｅｗ，補正前の値をＰ３ｏｌｄとする。
Ｐ３ｎｅｗ，ｘ＝Ｐ３ｏｌｄ，ｘ＋（Ｐ２１ｘ  −Ｐ２ｘ）
Ｐ３ｎｅｗ，ｙ＝Ｐ３ｏｌｄ，ｙ＋（Ｐ１１ｙ  −Ｐ１ｙ）
Ｐ３ｎｅｗ，ｚ＝Ｐ３ｏｌｄ，ｚ＋（Ｐ０１ｚ  −Ｐ０ｚ）
【００４７】
Ｓ５〜Ｓ６：溶接トーチ２１を溶接開始点Ｐ３  へ移動させ、データベース部２８より溶接条件を読み出し、溶接電源２４への指令値および適応制御の設定を行う。
Ｓ７：溶接開始処理を行う。すなわち、溶接電源２４へ電流，電圧の指令および起動指令を送るとともに、適応制御部２７内で適応制御処理を開始する。この適応制御処理においては、前述のように補正値計算部２７ｂにて溶接電流を基にｘ方向（水平方向）の補正値を計算し（ｚ方向（高さ方向）についても同様）、この補正値を位置指令演算部２６ｂへ送る。この位置指令演算部２６ｂでは、受け取った補正値をロボット４のベース座標に変換し、現在目標値に積算して新たな目標値とする。さらに、図１６に示されているように、補正値を折り込んだ目標値Ｐｎ，ｎｅｗ  と教示時の目標値Ｐｎ，ｏｌｄ  との差（積算補正値のロボットベース座標での値）ΔＷｎ  ＝Ｐｎ，ｎｅｗ  −Ｐｎ，ｏｌｄ  を１回分記憶しておき、前回までのその値ΔＷｎ−１  との差（前回までの積算値と今回積算値との差）ΔＰｎ  ＝ΔＷｎ  −ΔＷｎ−１  を補正値記憶部３２に逐次記憶する。
【００４８】
Ｓ８〜Ｓ１０：適応制御処理と補正値の記憶処理を実行しながら溶接終了点Ｐ４  へ直線移動する。そして、溶接終了点Ｐ４  へ到達したら溶接終了処理、すなわち溶接電源２４への終了命令および適応制御の停止等を行う。この後、予め教示された待機点へ移動して溶接ルーチンを終了する。
【００４９】
次に、前記グラインダルーチンにおいては図１２に示されるフローチャートにしたがって処理が実行される。
Ｔ１：初期化を行う。この初期化は、溶接ルーチンにおける初期化と同様の処理であって、ツール要求信号を２（グラインダ）に設定するとともに、ツールパラメータテーブルよりグラインダのツールパラメータを読み出し、この読み出したツールパラメータを設定する。以後、このツールパラメータで示される点に制御点を移す。
【００５０】
Ｔ２〜Ｔ４：図１３のフローチャートによって後述するＡＴＣルーチンを呼び出し、溶接トーチ２１を切り離してグラインダ２を装着する。この後、前記溶接ルーチンにおいて位置ずれ補正のなされた開始点（グラインダ開始点）Ｐ３  へロボット４を移動させる。次いで、データベース部２８よりグラインダ作業条件を読み出し、グラインダ用電源７への指令値および適応制御の設定を行う。
【００５１】
Ｔ５：グラインダの作業開始処理を行う。すなわち、グラインダ用電源７へ起動指令を送るとともに、適応制御部２７内で適応制御処理を開始する。この適応制御処理においては、前記第１実施例において詳述されているように、電流センサ８からの負荷電流信号を基に補正値計算部２７ｂにてｚ方向の補正値が計算され、位置指令演算部２６ｂに送られる。この位置指令演算部２６ｂでは、記憶値の再生処理のために、まず溶接トーチ２１の適応制御において記憶された記憶補正値ΔＰｎ  を補正値記憶部３２より逐次読み出し、この読み出された記憶補正値ΔＰｎ  を教示データを基にした目標値Ｐｎ，ｏｌｄ  に積算して新たな目標値Ｐｎ，ｎｅｗ  とする。さらに、補正値計算部２７ｂにて計算された補正値をロボットベース座標に変換し、今回計算された目標値に積算して真の目標値Ｐｎ，ｒｅａｌとする。
【００５２】
このグラインダ２の適応制御処理において、真の目標値Ｐｎ，ｒｅａｌの計算手順の具体例が図１７に示されている。この図１７に示される例は、溶接トーチ２１の適応制御においてｘ方向の記憶補正値ΔＰｎ  のみが記憶され、グラインダ２の適応制御においてｚ方向のみの補正が行われる場合である。図１７（ａ）に示されるように、記憶補正値を折り込んだ目標値Ｐｎ，ｎｅｗ  は教示データを基にした目標値Ｐｎ，ｏｌｄ  に対して次式により求められる。
Ｐｎ，ｎｅｗ  ＝Ｐｎ，ｏｌｄ  ＋ΔＰ
ΔＰ：記憶補正値積算値
次いで、図１７（ｂ）に示されているように、前式にて得られる目標値Ｐｎ，ｎｅｗ  に対し、グラインダ適応制御による補正値ΔＧｎ  を積算することで真の目標値Ｐｎ，ｒｅａｌが次式により得られる。
Ｐｎ，ｒｅａｌ＝Ｐｎ，ｎｅｗ  ＋ΔＧｎ  
【００５３】
Ｔ６〜Ｔ８：適応制御処理と補正値の再生処理を実行しながら終了点（グラインダ終了点）Ｐ４  へ直線移動する。そして、終了点Ｐ４  に到達したら作業終了処理、すなわちグラインダ２への終了命令および適応制御の停止等を行う。この後、予め教示された待機点へ移動してグラインダルーチンを終了する。
【００５４】
次に、前述のＡＴＣルーチン（図１１のステップＳ２，図１２のステップＴ２）における処理手順を図１３に示されるフローチャートによって説明する。
【００５５】
Ｕ１〜Ｕ４：ツール判別信号が０（無し）の場合に、ツール要求信号が１（溶接トーチ）であればそのツール１（溶接トーチ）を装着し、ツール要求信号が２（グラインダ）であればそのツール２（グラインダ）を装着する。
【００５６】
Ｕ５〜Ｕ７：ツール判別信号が１（溶接トーチ）の場合に、ツール要求信号が１（溶接トーチ）であればツール交換の必要がないのでそのままフローを終了し、ツール要求信号が２（グラインダ）であれば現在装着されているツール１（溶接トーチ）を切り離してツール２（グラインダ）を装着する。
【００５７】
Ｕ８〜Ｕ１０：ツール判別信号が２（グラインダ）の場合に、ツール要求信号が２（グラインダ）であればツール交換の必要がないのでそのままフローを終了し、ツール要求信号が１（溶接トーチ）であれば現在装着されているツール２（グラインダ）を切り離してツール１（溶接トーチ）を装着する。
【００５８】
図１４には、ツール切り離しのためのルーチン（ａ）およびツール装着のためのルーチン（ｂ）が示されている。図１８に示されているように、ツール交換は、グラインダ２および溶接トーチ２１の各ツールが保持されているツールスタンド３５に対してロボット４の先端アーム（手首）３ｃを移動させるとともに、現在保持しているツールを切り離して新たなツールを装着することにより行われる。次に、図１４に示されるフローチャートを図１８を参照しながら説明する。
【００５９】
Ｖ１〜Ｖ４：ツール１（溶接トーチ２１）を切り離す際には、アーム３ｃをＰｔ１１  へ移動した後Ｐｔ１２  へ直線移動し、次いでＡＴＣクランプ信号をオフにしてツール１をツールスタンド３５に保持させ、この後Ｐｔ１３  へ直線移動する。同様に、ツール２（グラインダ２）を切り離す際には、アーム３ｃをＰｔ２１  へ移動した後Ｐｔ２２  へ直線移動し、次いでＡＴＣクランプ信号をオフにしてツール２をツールスタンド３５に保持させ、この後Ｐｔ２３  へ直線移動する。
【００６０】
Ｗ１〜Ｗ４：ツール１（溶接トーチ２１）を装着する際には、アーム３ｃをＰｔ１１  へ移動した後Ｐｔ１２  へ直線移動し、次いでＡＴＣクランプ信号をオンにしてツールスタンド３５に保持されているツール１を把持し、この後Ｐｔ１３  へ直線移動する。同様に、ツール２（グラインダ２）を装着する際には、アーム３ｃをＰｔ２１  へ移動した後Ｐｔ２２  へ直線移動し、次いでＡＴＣクランプ信号をオンにしてツールスタンド３５に保持されているツール２を把持し、この後Ｐｔ２３  へ直線移動する。
【００６１】
本実施例のマルチ作業ロボットシステムによれば、溶接作業およびグラインダ作業の各作業毎の適応制御間でデータを共有することが可能となる。これにより、グラインダ作業中の情報，適応制御では原理的に行えない研削面上で研削線と直角方向（進行方向に対し左右方向）の位置制御を容易に行うことができる。このように各作業の適応制御で対応できない制御を相互に補うことができるという利点がある。また、制御システムが大掛かりになることがなく、一台のロボットで異種の作業を連続的に行う際にそれら作業を極めて効率的に行うことができる。
【００６２】
本実施例においては、溶接作業に引き続いてグラインダ作業を行うものについて説明したが、本発明は、これら作業に限定されるものではなく、ロボットのアーム軌跡を補償する作業を順次に行う場合、例えば溶接作業の後にその溶接部の欠陥を検査する作業（例；超音波探傷）を行うものなどに適用することができる。
【００６３】
前述のように、本発明は、種々に変更可能なことは明らかである。このような変更は本発明の精神および範囲に反することなく、また当業者にとって明瞭な全てのそのような変形、変更は、請求の範囲に含まれるものである。
【図面の簡単な説明】
【図１】図１は、第１実施例による研削作業用のロボットシステムの構成図である。
【図２】図２は、第１実施例におけるロボットコントローラの構成図である。
【図３】図３は、第１実施例によるロボットシステムの基本プログラムのフローチャートである。
【図４】図４は、速度制御実行ルーチンのフローチャートである。
【図５】図５は、切り込み制御実行ルーチンのフローチャートである。
【図６】図６は、第１実施例のロボットシステムによるワーク加工の一例を示すグラフである。
【図７】図７は、第２実施例によるマルチ作業ロボットシステムの構成図である。
【図８】図８は、第２実施例におけるロボットコントローラの構成図である。
【図９】図９は、溶接トーチの水平方向位置制御を説明する図である。
【図１０】図１０は、第２実施例によるマルチ作業ロボットシステムの基本プログラムを示すフローチャートである。
【図１１】図１１は、溶接ルーチンを示すフローチャートである。
【図１２】図１２は、グラインダルーチンを示すフローチャートである。
【図１３】図１３は、ＡＴＣルーチンを示すフローチャートである。
【図１４】図１４は、ツール切り離しのためのルーチン（ａ）を示すフローチャートおよびツール装着のためのルーチン（ｂ）を示すフローチャートである。
【図１５】図１５は、溶接作業を説明する斜視図である。
【図１６】図１６は、溶接作業における補正値の記憶を説明する図である。
【図１７】図１７は、グラインダ作業における記憶補正値の再生を説明する図である。
【図１８】図１８は、ツール交換動作を説明する図である。
【符号の説明】
１  回転砥石
２  グラインダ
３ａ，３ｂ，３ｃ  アーム
４  ロボット
５，２２  ロボットコントローラ
６，２３  操作器
７  グラインダ用電源
８，２５  電流センサ
９  記憶部
１０  データベース部
１１  負荷制御パターン設定部
１２，２６ｂ  位置指令演算部
１３，３０  入力部
１４  負荷信号処理部
２０  自動ツール交換装置
２１  溶接トーチ
２４  溶接電源
２６  位置制御部
２６ａ  メイン制御部
２７  適応制御部
２７ａ  適応制御設定部
２７ｂ  補正値計算部
２８  データベース部
２９  命令記憶部
３２  補正値記憶部
【図１】
0003628071.tif 000002
【図２】
0003628071.tif 000003
【図３】
0003628071.tif 000004
【図４】
0003628071.tif 000005
【図５】
0003628071.tif 000006
【図６】
0003628071.tif 000007
【図７】
0003628071.tif 000008
【図８】
0003628071.tif 000009
【図９】
0003628071.tif 000010
【図１０】
0003628071.tif 000011
【図１１】
0003628071.tif 000012
【図１２】
0003628071.tif 000013
【図１３】
0003628071.tif 000014
【図１４】
0003628071.tif 000015
【図１５】
0003628071.tif 000016
【図１６】
0003628071.tif 000017
【図１７】
0003628071.tif 000018
【図１８】
0003628071.tif 000019