(57)【要約】      （修正有）【課題】ロボット交換時におけるデータ設定の誤りを防ぐ。【解決手段】交換前のロボットが制御装置に接続された状態で、補助記憶装置に記憶された交換前ロボットの幾何学的誤差データを制御装置の主記憶装置にロードし、かつ幾何学的誤差データに付記されたＩＤ情報と交換前ロボットのＩＤ情報とを照合し（S101）、次にロボットを制御装置から外して交換し（S102）、交換後ロボットが制御装置に接続された状態で、補助記憶装置に記憶された交換後ロボットの幾何学的誤差データを主記憶装置にロードし、かつ幾何学的誤差データに付記されたＩＤ情報と交換後ロボットのＩＤ情報とを照合し（S103）、交換前及び交換後のロボットの幾何学的誤差データを反映したツール先端位置間の誤差が十分小さくなるように動作プログラムに含まれる角度データを変換し、変換された角度データを含むように動作プログラムを上書き保存する（S104）、工程を備える。【選択図】図１
2012011494.tif 000002
【特許請求の範囲】
【請求項１】
制御装置に接続されている実機ロボットを交換する際に、交換前のロボットの動作を交換後のロボットで正確に再現できるように、交換前のロボットの角度データを前記制御装置内で変換する方法であって、
（１）交換前のロボットが前記制御装置に接続されている状態で、補助記憶装置に記憶されている該交換前ロボットの幾何学的誤差データを前記制御装置の主記憶装置にロードし、かつ、該幾何学的誤差データに付記されたＩＤ情報と前記交換前ロボットから取得したＩＤ情報とを照合し、
（２）前記制御装置に接続されているロボットを交換し、
（３）交換後のロボットが前記制御装置に接続されている状態で、補助記憶装置に記憶されている該交換後ロボットの幾何学的誤差データを前記主記憶装置にロードし、かつ、該幾何学的誤差データに付記されたＩＤ情報と前記交換後ロボットから取得したＩＤ情報とを照合し、
（４）前記交換前ロボットの前記幾何学的誤差データを反映したツール先端位置と前記交換後ロボットの前記幾何学的誤差データを反映したツール先端位置との間の誤差が十分小さくなるように、前記主記憶装置に保存されている動作プログラムに含まれる角度データを変換し、変換された角度データを含むように前記動作プログラムを上書き保存する、
各工程を備えることを特徴とする、角度データ変換方法。
【請求項２】
制御装置に接続されている実機ロボットを交換する際に、交換前のロボットの動作を交換後のロボットで正確に再現できるように、交換前のロボットの角度データを前記制御装置内で変換する方法であって、
（１）交換前のロボットが前記制御装置に接続されている状態で、補助記憶装置に記憶されている該交換前ロボットの幾何学的誤差データを前記制御装置の主記憶装置にロードし、かつ、該幾何学的誤差データに付記されたＩＤ情報と前記交換前ロボットから取得したＩＤ情報とを照合し、
（２）前記交換前ロボットの前記幾何学的誤差データを反映したツール先端位置と幾何学的誤差が存在しないものと想定されたノミナルロボットモデルのツール先端位置との間の誤差が十分小さくなるように、前記主記憶装置に保存された動作プログラムに含まれる角度データを変換し、変換された角度データを含むノミナル動作プログラムを補助記憶装置にセーブし、
（３）前記制御装置に接続されているロボットを交換し、
（４）交換後のロボットが前記制御装置に接続されている状態で、補助記憶装置に記憶されている該交換後ロボットの幾何学的誤差データを前記主記憶装置にロードし、かつ、該幾何学的誤差データに付記されたＩＤ情報と前記交換後ロボットから取得したＩＤ情報とを照合し、
（５）前記ノミナルロボットモデルのツール先端位置と前記交換後ロボットの前記幾何学的誤差データを反映したツール先端位置との間の誤差が十分小さくなるように、前記補助記憶装置に保存されている前記ノミナル動作プログラムに含まれる角度データを変換し、変換された角度データを含む動作プログラムを前記主記憶装置にロードする、
各工程を備えることを特徴とする、角度データ変換方法。
【請求項３】
前記照合工程において前記幾何学的誤差データに付記されたＩＤ情報と前記実機ロボットから取得したＩＤ情報とが一致しないとき、前記幾何学的誤差データは前記主記憶装置にはロードされず、照合エラーが表示されることを特徴とする、請求項１又は２に記載の角度データ変換方法。
【請求項４】
前記実機ロボットを特定可能なID情報は、前記実機ロボットから接続ケーブルを介して取得されることを特徴とする、請求項１乃至３のいずれか１項に記載の角度データ変換方法。
【請求項５】
前記ID情報は、ロボット各関節軸のエンコーダ製造番号を含むことを特徴とする、請求項４に記載の角度データ変換方法。
【請求項６】
前記制御装置には、可搬式教示操作盤が接続されており、
前記補助記憶装置は、前記可搬式教示操作盤に内蔵されているメモリ又は該可搬式教示操作盤に着脱可能なメモリデバイスであることを特徴とする、請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
実機ロボットを制御するため該ロボットに接続される制御装置であって、
主記憶装置と、
ロボットが前記制御装置に接続されている状態で、補助記憶装置に記憶されている該ロボットの幾何学的誤差データを前記主記憶装置にロードし、かつ、該幾何学的誤差データに付記されたＩＤ情報と前記ロボットから取得したＩＤ情報とを照合する、ロード照合手段と、
前記ロード照合手段によりロード／照合された幾何学的誤差データを記憶する誤差データ記憶部と、
変換元の動作プログラムを読み込むための変換元動作プログラム読込手段と、
２つのロボットの幾何学的誤差データを反映したツール先端位置の間の誤差が十分小さくなるように、前記変換元動作プログラムに含まれる角度データを変換する角度データ変換手段と、
前記角度データ変換手段により角度データが変換された動作プログラムを前記主記憶装置に書き込むための変換先動作プログラム書込み手段と、
を備えることを特徴とする、制御装置。
【請求項８】
前記制御装置に接続されているロボットの動作プログラムが前記主記憶装置に保存され、前記ロボットの幾何学的誤差データが前記幾何学的誤差データ記憶部に記憶されている状態で、前記制御装置に接続されているロボットを交換するとき、
前記ロード照合手段は、交換後のロボットが前記制御装置に接続されている状態で、補助記憶装置に記憶されている交換後のロボットの幾何学的誤差データを前記主記憶装置にロードし、かつ、該幾何学的誤差データに付記されたＩＤ情報と前記交換後ロボットから取得したＩＤ情報とを照合し、
前記変換元動作プログラム読込手段は、前記主記憶装置に保存されている交換前のロボットの角度データを含む動作プログラムを変換元プログラムとして読み込み、
前記角度データ変換手段は、前記交換前ロボットの幾何学的誤差データを反映したツール先端位置と前記交換後ロボットの幾何学的誤差データを反映したツール先端位置との間の誤差が十分小さくなるように、前記変換元動作プログラムに含まれる角度データを変換し、
前記変換先動作プログラム書込み手段は、前記角度データ変換手段により角度データが変換された動作プログラムを前記主記憶装置に書き込むことを特徴とする、請求項７に記載の制御装置。
【請求項９】
前記制御装置に接続されている交換前のロボットの動作プログラムが前記主記憶装置に保存され、前記ロボットの幾何学的誤差データが前記幾何学的誤差データ記憶部に記憶されている状態で、
前記変換元動作プログラム読込手段は、前記主記憶装置に保存されている前記交換前ロボットの角度データを含む動作プログラムを変換元プログラムとして読み込み、
前記角度データ変換手段は、前記交換前ロボットの幾何学的誤差データを反映したツール先端位置と幾何学的誤差が存在しないものと想定されたノミナルロボットモデルのツール先端位置との間の誤差が十分小さくなるように、前記変換元動作プログラムに含まれる角度データを変換し、
前記変換先動作プログラム書込み手段は、前記変換された角度データを含むノミナル動作プログラムを補助記憶装置にセーブすることを特徴とする、請求項７に記載の制御装置。
【請求項１０】
ロボットを交換するとき、
前記ロード照合手段は、交換後のロボットが前記制御装置に接続されている状態で、補助記憶装置に記憶されている交換後のロボットの幾何学的誤差データを前記主記憶装置にロードし、かつ、該幾何学的誤差データに付記されたＩＤ情報と前記交換後ロボットから取得したＩＤ情報とを照合し、
前記変換元動作プログラム読込手段は、前記補助記憶装置に保存されている前記ノミナル動作プログラムを変換元プログラムとして読み込み、
前記角度データ変換手段は、前記ノミナルロボットモデルのツール先端位置と前記交換後ロボットの前記幾何学的誤差データを反映したツール先端位置との間の誤差が十分小さくなるように、前記ノミナル動作プログラムに含まれる角度データを変換し、
前記変換先動作プログラム書込み手段は、前記角度データ変換手段により角度データが変換された動作プログラムを前記主記憶装置に書き込むことを特徴とする、請求項９に記載の制御装置。
【請求項１１】
前記ロード照合手段による照合において、前記幾何学的誤差データに付記されたＩＤ情報と前記ロボットから取得したＩＤ情報とが一致しないとき、前記幾何学的誤差データは前記主記憶装置にはロードされず、照合エラーが表示されることを特徴とする、請求項７乃至１０のいずれか１項に記載の制御装置。
【請求項１２】
前記実機ロボットを特定可能なID情報は、前記実機ロボットから接続ケーブルを介して取得されることを特徴とする、請求項７乃至１１のいずれか１項に記載の制御装置。
【請求項１３】
前記ID情報は、ロボット各関節軸のエンコーダ製造番号を含むことを特徴とする、請求項１２に記載の制御装置。
【請求項１４】
前記制御装置には、可搬式教示操作盤が接続されており、
前記補助記憶装置は、前記可搬式教示操作盤に内蔵されているメモリ又は該可搬式教示操作盤に着脱可能なメモリデバイスであることを特徴とする、請求項７乃至１３のいずれか１項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製造ラインで稼働しているロボットを交換する際、交換前のロボットの動作を、教示修正なしで直ちに交換後のロボットで正確に再現するための動作プログラム内の角度データ変換方法及びこの方法を実施するための制御装置に関する。
【背景技術】
【０００２】
産業用ロボットは、アーク溶接、スポット溶接、ハンドリング、塗装など主に自動車製造ラインで多数稼働している。
まず、現状の産業用ロボットについて簡単に説明する。
【０００３】
図９は、一般的な産業用ロボットの構成図である。図９において、１０１は、複数の関節軸とリンクとを有するマニピュレータとして構成されたロボットである。各関節軸には、エンコーダつきの駆動モータが内蔵されており、各関節を独立に駆動することができる。１０２はロボット１０１の制御装置であり、該制御装置１０２は、各関節軸駆動モータのエンコーダ信号に基づいてフィードバック制御（位置制御系）を行うことにより、ロボット１０１の運動を制御する。ロボット１０１と制御装置１０２とは接続ケーブル１０１ａを介して接続されている。１０３は可搬式教示操作盤であり、教示者がロボットを手動（JOG）操作したり、動作プログラムを作成・編集したりするためのインターフェイスである。可搬式教示操作盤１０３は主に操作ボタン群１０３ａと表示画面１０３ｂで構成されている。１０１ｂはロボット１０１の手首部に設けられたエンドエフェクタである。エンドエフェクタにはアプリケーションに応じて様々なツールが取り付けられている。
【０００４】
製造ラインで稼動中のロボットが、何らかの原因で故障した場合、故障したロボットを取り外し、正常な同種ロボットを同じ場所に設置して、ロボットを交換する。故障の程度にもよるが、故障したロボットをその場で修理するよりは、ロボットごと入れ替えたほうが、製造ラインを早く復旧できる。ところが、ロボットには機械的な個体差（理想の運動学モデルに対する幾何学的な誤差）があり、同じ動作プログラム（角度データ）を与えても、ツール先端の位置姿勢が大きくずれるため、教示点の修正が必要になり、ライン復旧までに時間がかかる。ラインの停止時間は、製造メーカにとって多大な損失であるため、ロボット交換時のツール先端位置精度（ロボットの交換精度）を向上させて教示修正作業をできるだけ少なくしたいという要望がある。
【０００５】
さらに、ロボットが故障していなくても、製造ラインの改善のため、障害物や関節角度リミット回避などの理由でボトルネックとなっているロボットを、より自由度の大きな異種ロボット（冗長自由度ロボット）に置換え、短時間でラインを復旧したいという要望もある。
【０００６】
上記要望に鑑み、従来では下記特許文献１に記載の技術が提案されている。
特許文献１には、ロボット交換時にロボット間で動作プログラムを授受するとき、変換元ロボットの制御装置に記憶された変換元ロボットの角度データを、設定誤差のない理想ロボットの角度データによる理想プログラムに変換して変換先ロボットの制御装置に与え、変換先ロボットの制御装置で理想プログラムの角度データを変換先ロボットの角度データに変換することにより、同じ動作を再現できるようにした動作プログラム変換方式が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平９−１２８０２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１のプログラム変換方式では、ロボットを交換する際、制御装置も一緒に交換することを前提としており、制御装置の予備も必要になるという問題があった。制御装置のデータだけを入れ替えれば、制御装置のハードを交換する必要は必ずしもないが、誤った幾何学的誤差データを設定してプログラム変換してしまった場合には、位置精度が保証されなくなるばかりか、場合によってはツールやロボット自身がワークや周辺設備と干渉して破損させてしまうという甚大な問題が発生する。特許文献１にはデータ設定の誤りを防ぐ具体的方法については全く言及されていない。
【０００９】
本発明はこのような問題点に鑑みてなされたものであり、ロボット交換時において制御装置を交換する必要を無くすと共に、ロボット交換時における幾何学的誤差データ設定の誤りを防ぐことが可能となる角度データ変換方法、並びに、該角度データ変換方法を実施するための制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記問題を解決するため、本発明の第１の態様に係る角度データ変換方法は、
（１）交換前のロボットが前記制御装置に接続されている状態で、補助記憶装置に記憶されている該交換前ロボットの幾何学的誤差データを前記制御装置の主記憶装置にロードし、かつ、該幾何学的誤差データに付記されたＩＤ情報と前記交換前ロボットから取得したＩＤ情報とを照合し、
（２）前記制御装置に接続されているロボットを交換し、
（３）交換後のロボットが前記制御装置に接続されている状態で、補助記憶装置に記憶されている該交換後ロボットの幾何学的誤差データを前記主記憶装置にロードし、かつ、該幾何学的誤差データに付記されたＩＤ情報と前記交換後ロボットから取得したＩＤ情報とを照合し、
（４）前記交換前ロボットの前記幾何学的誤差データを反映したツール先端位置と前記交換後ロボットの前記幾何学的誤差データを反映したツール先端位置との間の誤差が十分小さくなるように、前記主記憶装置に保存されている動作プログラムに含まれる角度データを変換し、変換された角度データを含むように前記動作プログラムを上書き保存する、
各工程を備えて構成したものである。
【００１１】
本発明の第１の態様によれば、実機ロボットが制御装置に接続されている状態で、幾何学的誤差データを補助記憶装置からロードを照合するようにしたので、誤差データの簡単かつ確実な照合が可能となり、データ設定の誤りを確実に防ぐことができる。
【００１２】
また、本発明の第２の態様に係る角度データ変換方法は、
（１）交換前のロボットが前記制御装置に接続されている状態で、補助記憶装置に記憶されている該交換前ロボットの幾何学的誤差データを前記制御装置の主記憶装置にロードし、かつ、該幾何学的誤差データに付記されたＩＤ情報と前記交換前ロボットから取得したＩＤ情報とを照合し、
（２）前記交換前ロボットの前記幾何学的誤差データを反映したツール先端位置と幾何学的誤差が存在しないものと想定されたノミナルロボットモデルのツール先端位置との間の誤差が十分小さくなるように、前記主記憶装置に保存された動作プログラムに含まれる角度データを変換し、変換された角度データを含むノミナル動作プログラムを補助記憶装置にセーブし、
（３）前記制御装置に接続されているロボットを交換し、
（４）交換後のロボットが前記制御装置に接続されている状態で、補助記憶装置に記憶されている該交換後ロボットの幾何学的誤差データを前記主記憶装置にロードし、かつ、該幾何学的誤差データに付記されたＩＤ情報と前記交換後ロボットから取得したＩＤ情報とを照合し、
（５）前記ノミナルロボットモデルのツール先端位置と前記交換後ロボットの前記幾何学的誤差データを反映したツール先端位置との間の誤差が十分小さくなるように、前記補助記憶装置に保存されている前記ノミナル動作プログラムに含まれる角度データを変換し、変換された角度データを含む動作プログラムを前記主記憶装置にロードする、
各工程を備えて構成したものである。
【００１３】
第２の態様によれば、交換前ロボットの角度データを一度全てノミナルロボットモデルの角度データに変換して補助記憶装置にセーブしておくため、ロボット交換の間に相当なタイムラグがあり、その間、制御装置の同一性が必ずしも保証されない場合であっても、交換後のロボットを正しく動作させることが可能となる。
【００１４】
好ましくは、上記第１及び第２の態様において前記照合工程において前記幾何学的誤差データに付記されたＩＤ情報と前記実機ロボットから取得したＩＤ情報とが一致しないとき、前記幾何学的誤差データは前記主記憶装置にはロードされず、照合エラーが表示されるのがよい。
【００１５】
前記実機ロボットを特定可能なID情報は、前記実機ロボットから接続ケーブルを介して取得されるようにしてもよい。また、ID情報は、ロボット各関節軸のエンコーダ製造番号を含むようにすることができる。
【００１６】
好ましくは、上記第１及び第２の態様の前記制御装置には、可搬式教示操作盤が接続されており、前記補助記憶装置は、前記可搬式教示操作盤に内蔵されているメモリ又は該可搬式教示操作盤に着脱可能なメモリデバイスである。
【００１７】
本発明の角度変換方法を実行するための制御装置は、以下の通り構成される。即ち、本発明の制御装置は、主記憶装置と、ロボットが前記制御装置に接続されている状態で、補助記憶装置に記憶されている該ロボットの幾何学的誤差データを前記主記憶装置にロードし、かつ、該幾何学的誤差データに付記されたＩＤ情報と前記ロボットから取得したＩＤ情報とを照合する、ロード照合手段と、前記ロード照合手段によりロード／照合された幾何学的誤差データを記憶する誤差データ記憶部と、変換元の動作プログラムを読み込むための変換元動作プログラム読込手段と、２つのロボットの幾何学的誤差データを反映したツール先端位置の間の誤差が十分小さくなるように、前記変換元動作プログラムに含まれる角度データを変換する角度データ変換手段と、前記角度データ変換手段により角度データが変換された動作プログラムを前記主記憶装置に書き込むための変換先動作プログラム書込み手段と、を備えて構成したものである。
【００１８】
本発明の制御装置のうち第１の態様によれば、前記制御装置に接続されているロボットの動作プログラムが前記主記憶装置に保存され、前記ロボットの幾何学的誤差データが前記幾何学的誤差データ記憶部に記憶されている状態で、前記制御装置に接続されているロボットを交換するとき、前記ロード照合手段は、交換後のロボットが前記制御装置に接続されている状態で、補助記憶装置に記憶されている交換後のロボットの幾何学的誤差データを前記主記憶装置にロードし、かつ、該幾何学的誤差データに付記されたＩＤ情報と前記交換後ロボットから取得したＩＤ情報とを照合し、前記変換元動作プログラム読込手段は、前記主記憶装置に保存されている交換前のロボットの角度データを含む動作プログラムを変換元プログラムとして読み込み、前記角度データ変換手段は、前記交換前ロボットの幾何学的誤差データを反映したツール先端位置と前記交換後ロボットの幾何学的誤差データを反映したツール先端位置との間の誤差が十分小さくなるように、前記変換元動作プログラムに含まれる角度データを変換し、前記変換先動作プログラム書込み手段は、前記角度データ変換手段により角度データが変換された動作プログラムを前記主記憶装置に書き込む。
【００１９】
また、本発明の制御装置のうち第２の態様によれば、前記制御装置に接続されている交換前のロボットの動作プログラムが前記主記憶装置に保存され、前記ロボットの幾何学的誤差データが前記幾何学的誤差データ記憶部に記憶されている状態で、前記変換元動作プログラム読込手段は、前記主記憶装置に保存されている前記交換前ロボットの角度データを含む動作プログラムを変換元プログラムとして読み込み、前記角度データ変換手段は、前記交換前ロボットの幾何学的誤差データを反映したツール先端位置と幾何学的誤差が存在しないものと想定されたノミナルロボットモデルのツール先端位置との間の誤差が十分小さくなるように、前記変換元動作プログラムに含まれる角度データを変換し、前記変換先動作プログラム書込み手段は、前記変換された角度データを含むノミナル動作プログラムを補助記憶装置にセーブする。
【００２０】
更に、第２の態様の制御装置において、ロボットを交換するとき、前記ロード照合手段は、交換後のロボットが前記制御装置に接続されている状態で、補助記憶装置に記憶されている交換後のロボットの幾何学的誤差データを前記主記憶装置にロードし、かつ、該幾何学的誤差データに付記されたＩＤ情報と前記交換後ロボットから取得したＩＤ情報とを照合し、前記変換元動作プログラム読込手段は、前記補助記憶装置に保存されている前記ノミナル動作プログラムを変換元プログラムとして読み込み、前記角度データ変換手段は、前記ノミナルロボットモデルのツール先端位置と前記交換後ロボットの前記幾何学的誤差データを反映したツール先端位置との間の誤差が十分小さくなるように、前記ノミナル動作プログラムに含まれる角度データを変換し、前記変換先動作プログラム書込み手段は、前記角度データ変換手段により角度データが変換された動作プログラムを前記主記憶装置に書き込む。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１実施例に係わる角度データ変換方法のフローチャートである。
【図２】本発明の第２実施例に係わる角度データ変換方法のフローチャートである。
【図３】本発明の角度データ変換の動作原理を示すフローチャートである。
【図４】角度補正ベクトルの修正処理のフローチャートである。
【図５】本発明の角度データ変換方法を実装したシステムの構成図である。
【図６】補助記憶装置の具体例を示す図である。
【図７】幾何学的誤差データの具体例を示す図である。
【図８】角度補正ベクトルの修正の動作原理を示す図である。
【図９】産業用ロボットの構成図である。
【発明を実施するための形態】
【００２２】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００２３】
図１は、本発明に係わる第１実施例におけるロボットの角度データ変換方法のフローチャートを示している。
交換前の実機ロボットをロボットA、交換後の実機ロボットをロボットBとして、本実施例による角度データ変換方法の概要を説明する。
【００２４】
まず、ロボットAが制御装置に接続されている状態で、ロボットAの幾何学的誤差データ（ロボットの機械的な設計値と機械的な寸法誤差との間の固体差を示すデータで、当該寸法誤差により生じるロボットの動作の固体差を解消するために必要となるデータ。以下、単に「誤差データ」と称することもある）を補助記憶装置から制御装置内の主記憶装置にロードして、かつ、当該誤差データに付記されているＩＤ情報と実機ロボットＡから取得したＩＤ情報とを照合する（S101）。誤差データのＩＤ情報と実機ロボットＡのＩＤ情報とが一致した場合、即ち、主記憶装置にロードされた誤差データがロボットＡのものであると判定された場合、ロボットAを製造ラインから取り外し、ロボットBを同じ場所に正確に設置し、同じ制御装置に接続してロボットを交換する（S102）。ロボット交換後、ロボットBの幾何学的誤差データを補助記憶装置にコピーし、さらに補助記憶装置から制御装置内の主記憶装置にロードして、かつ、当該誤差データに付記されているＩＤ情報と実機ロボットＢから取得したＩＤ情報とを照合する（S103）。誤差データのＩＤ情報と実機ロボットＢのＩＤ情報とが一致した場合、即ち、主記憶装置にロードされた誤差データがロボットＢのものであると判定された場合、主記憶装置に保存されているロボットA用の動作プログラムについて、その角度データをロボットB用に変換して、動作プログラムを上書き保存する（S104）。ここで、ロボットＡの誤差データを反映するロボットＡのツール先端位置とロボットＢの誤差データを反映するロボットＢのツール先端位置との間の誤差が十分小さくなるように、角度データを変換する。
【００２５】
図５は、本発明の角度データ変換方法を実装したシステムの構成図を示している。なお図５のうち点線で示されている部分は、後述する第２実施例に係る部分である。図５に示すように、本システムは、ロボット１０１と、ロボット１０１を制御するための制御装置１０２と、ロボット１０１を制御・教示するため教示者により操作入力可能な可搬式教示操作盤１０３と、を備えている。なお、図９に示すように、ロボット１０１と制御装置１０２とは、接続ケーブル１０１ａを介して接続されている。
【００２６】
可搬式教示操作盤１０３には補助記憶装置１０３ｃが内蔵されている。補助記憶装置１０３ｃのメモリ領域には、少なくともロボット１０１の幾何学的誤差データを記憶する幾何学的誤差データ記憶部１０３ｃ１が割り当てられている。補助記憶装置１０３ｃとしては、図６に示すように、CFカードやUSBメモリなど簡単に着脱できるデバイスが適している。
【００２７】
補助記憶装置１０３ｃを着脱式にすることで、ロボットＡの幾何学誤差データを主記憶装置にロードした後、補助記憶装置１０３ｃを可搬式教示操作盤１０３から一旦取り外し、パソコンなどを用いてロボットBの幾何学誤差データを補助記憶装置１０３ｃにコピーして、再度補助記憶装置１０３ｃを可搬式教示操作盤１０３に取り付けて主記憶装置にロボットBの幾何学誤差データをロードするという手順をとることができる。
【００２８】
制御装置１０２は、主記憶装置１０２ａと、ロボット１０１が制御装置１０２に接続されている状態で、補助記憶装置１０３ｃに記憶されているロボット１０１の幾何学的誤差データを主記憶装置１０２ａにロードし、かつ、該幾何学的誤差データに付記されたＩＤ情報とロボット１０１から取得したＩＤ情報とを照合する、幾何学的誤差データロード・照合手段１０２ｂと、を備えている。主記憶装置１０２ａのメモリ領域には、ロード照合手段１０２ｂによりロード／照合された幾何学的誤差データを記憶する誤差データ記憶部１０２ａ１と、ロボット１０１を動作させる動作プログラムを記憶する動作プログラム記憶部１０２ａ２と、が割り当てられている。主記憶装置１０２ａとしては不揮発性のメモリが適している。
【００２９】
更に、制御装置１０２は、動作プログラム記憶部１０２ａ２に記憶されている動作プログラムを変換元動作プログラムとして読み込むための変換元動作プログラム読込手段１０２ｃと、２つのロボットの幾何学的誤差データを反映したツール先端位置の間の誤差が十分小さくなるように、前記変換元動作プログラムに含まれる角度データを変換する角度データ変換手段１０２ｄと、角度データ変換手段１０２ｄにより角度データが変換された動作プログラムを動作プログラム変換部１０２ａ２に上書きするための変換先動作プログラム書込み手段１０２ｅと、を備えている。
【００３０】
幾何学的誤差データロード・照合手段１０２ｂは、幾何学的誤差データに付記してあるロボットのID情報と、制御装置１０２に接続された実機ロボット１０１から接続ケーブル１０１ａ（図９）を介して取得したID情報を比較して照合する。万一、ID情報に不一致があり、照合エラーとなった場合は、幾何学的誤差データは主記憶装置１０２ａにはコピー（ロード）されず、照合エラーとなったことがユーザ（操作者）に通知される。この通知方法としては、例えば可搬式教示操作盤１０３の表示画面にエラーを表示する。具体的なID情報としては、図７に示すようにエンコーダシリアル番号（製造番号）を利用すると簡単かつ確実に照合できる。なぜなら、実機ロボット１０１と制御装置１０２の接続ケーブル１０１ａには、各軸エンコーダ信号ケーブルが必ず含まれており、エンコーダパルス値に加えてエンコーダのステータスやシリアル番号が常時通信されているからである。幾何学的誤差データ記憶部１０２ａ１には、照合済みの幾何学的誤差データが複数格納される。その際、格納された順序も併せて記憶することにより、交換前ロボット（変換元）の誤差データと交換後ロボット（変換先）誤差データを確実に特定できる。
【００３１】
このように、実機ロボットが制御装置に接続されている状態で、幾何学的誤差データを補助記憶装置からロードするようにしたので、誤差データの簡単かつ確実な照合が可能となり、データ設定の誤りを確実に防ぐことができる。
【００３２】
つぎに、図１のS104あるいは、図５の１０２ｄにおける角度データ変換処理の詳細（変換原理）を説明する。
図３は、ロボット間における角度データ変換処理の詳細フローチャートを示している。
【００３３】
図３において、ロボット１は変換元（交換前）のロボット、ロボット２は変換先（交換後）のロボットを示している。
まず、S300でロボット１の角度データθ1（関節角度ベクトル）が入力される。つぎに、ロボット１の幾何学的誤差データを考慮した順運動学（順キネマティクス）演算により、ツール先端の位置姿勢ベクトルPtcp1（θ1）を計算する（S301）。つぎに、ロボット２の角度データθ2を初期化する（S302）。ロボット１とロボット２が同種のロボットの場合は、θ1をθ2にコピーすればよい。S303では、S301と同様にして、ロボット２の幾何学的誤差データを考慮した順運動学（順キネマティクス）演算により、ツール先端の位置姿勢ベクトルPtcp2（θ2）を計算する。S304では、ロボット１とロボット２のツール先端位置姿勢の誤差ベクトルΔPtcp＝Ptcp1（θ1）− Ptcp2（θ2）を計算する。S305では、誤差ベクトルΔPtcpの絶対値を計算し、S306では、その絶対値が予め設定した閾値未満かどうかが判断される。閾値未満の場合は、ロボット２の角度データθ2を出力して処理を終了する（S311）。閾値以上の場合は、以下で説明するS307からS310の処理を実行してS303に戻る。
【００３４】
S307では、ロボット２の幾何学的誤差データを考慮してヤコビ行列J2（θ2）を計算する。ロボット２の手先位置姿勢のベクトルP2は、ロボット２の関節角ベクトルθ2の関数と幾何学的誤差データαを用いて、一般的にP2＝ｆ（θ2，α）のように表せる。S307では、次式のように、ｆ（θ2，α）をθ2で偏微分することによってヤコビ行列J2（θ2）を計算する。
【００３５】
J2（θ2）＝∂ｆ（θ2，α）/∂θ2
S308では、ロボット２の角度補正ベクトルΔθ2＝Inv（J2（θ2））・ΔPtcpを計算する。ここで、Inv（J2（θ2））はヤコビ行列J2（θ2）の逆行列もしくは擬似逆行列である。
【００３６】
S309では、ロボット２が冗長自由度ロボットの場合に、後述する方法に従って、関節角度リミット回避や障害物回避を考慮して角度補正ベクトルΔθ2をΔθ2´に修正する。ロボット２が冗長自由度でない場合において、関節角度リミットまで十分余裕があり、かつ、障害物との衝突の恐れがない場合は、修正はなされない。S310では、ロボット２の角度データθ2に、S309までに計算された角度補正ベクトルΔθ2´またはΔθ2が加算される。すなわち、角度データθ2は、θ2＝θ2＋Δθ2´またはθ2＝θ2＋Δθ2のように補正される。
【００３７】
S310で角度データθ2が補正されると、再びS303に戻り、補正された角度データθ2に対して同様の処理が、S306で誤差ベクトルの絶対値が閾値未満となるまで実行される。S303からS310の処理を繰り返すことにより、ロボット交換前のツール先端位置姿勢とロボット交換後のツール先端位置姿勢を計算上限りなく一致させることができる。順キネマティクス演算およびヤコビ行列の演算ともに、各リンクに固定された関節座標系間の相対関係を記述したサイズ４×４の同次変換行列を使用して計算できる。同次変換行列では、全てのDHパラメータ（リンクねじれ含む）、回転角度のオフセット（エンコーダ原点）、関節軸のコンプライアンスを考慮することができ、理想の幾何学モデルからの誤差データが正確（事前に計測）であれば、実機ロボットのツール先端位置姿勢も高精度に一致する。
【００３８】
図４は、図３に示したS309の処理の詳細フローチャートを示している。
S401では、関節角度リミット回避や障害物回避を考慮した評価関数Kを計算する。通常、この評価関数は、関節角度リミットまたは障害物までの距離に応じたポテンシャル関数の線形結合として計算する。すなわち、K＝c1・U1＋c2・U2＋・・・・＋cn・Unである。U1からUnは距離が小さくなるほど大きな値を持つポテンシャル関数である。また、c1からcnは評価関数の重み係数である。
【００３９】
S402では、評価関数Kの最大増加勾配ベクトルφ＝∇Kを計算する。ここで、∇はベクトル微分演算子であり、ポテンシャル関数の勾配ベクトルを計算することができる。図８（ａ）において、８０１は評価関数（ポテンシャル関数）の等高線、８０２は評価関数の最大値、８０３は最大増加勾配ベクトルφ、８０４は角度補正ベクトルΔθ2を示している。図８（ａ）に示すように勾配ベクトルφ（８０３）の方向は関節空間におけるポテンシャル関数の最も急な増加方向を示し、φの大きさはその最大勾配を与える。ここで、φn＝∇Unとおくと、φ＝c1・φ1＋c2・φ2＋・・・cn・φnと表せ、φは各ポテンシャル関数Unの最大増加勾配ベクトルφnの線形結合（c1からcnがその重み係数）で表される。
【００４０】
S403では、角度補正ベクトルΔθ2と最大増加勾配ベクトルφとのなす角αを内積に基づいて計算する。
S404では、なす角αが９０度未満かどうか判断される。図８（ａ）のようになす角が９０度以上の場合は、角度補正ベクトルΔθ2は評価関数Kを増加させることがないので、Δθ2に修正を加えることなく終了する（S408）。図８（ｂ）のようになす角が９０度未満の場合、なす角αが予め設定した閾値（通常、ごく小さな値）未満かどうか判断される（S405）。閾値以上の場合、S406で、角度補正ベクトルΔθ2から最大増加勾配ベクトルφ方向の成分を除去する。すなわち、
Δθ2 ’ ＝ Δθ2 −（Δθ2・φ）φ／|φ|
に基づいてΔθ2は修正され、終了する。図８（ｂ）において、８０５は角度補正ベクトルΔθ2の最大増加勾配ベクトルφ方向の成分を示しており、上式の右辺第2項に相当する。また、８０６は修正された角度補正ベクトルΔθ2 ’である。
【００４１】
このようにΔθ2を修正することによって、評価関数Kを増加させることなく（関節角度リミットに達したり、障害物と衝突したりすることなく）、ツール先端位置姿勢の誤差ΔPtcpを減少させることができる。
【００４２】
ただし、図８（ｃ）のようになす角αが閾値未満の場合、評価関数Kを増加させることなく、誤差補正することが困難（デッドロック状態）なので、S407で評価関数Kの重み係数c1からcnを変更してS401に戻る。図８（ｄ）に示すように、重み係数の値を変更することよって、最大増加勾配ベクトルφの方向が変化するので、デッドロック状態を回避できる。図８（ｄ）の８０３は重み係数を変更する前の最大増加勾配ベクトルφであり、おおよそ、φ＝0.8φ1＋0.2φ2と表せる（便宜上、φ＝c1・φ1＋c2・φ2としている）。８０７は重み係数を変更後の最大増加勾配ベクトルφ’であり、おおよそ、φ＝0.2φ1＋0.8φ2と表せる。
【００４３】
評価関数Ｋの係数は絶対的なものではなくある程度の範囲で変更可能であり、一定の範囲内で評価関数の係数を変更しても、安全面（障害物との衝突の危険の回避）は十分に保証される。係数変更時の制約条件としては、たとえばΣＣｎ＝const（一定）としたり、或いは、所定値＜Ｃｎ＜所定値の範囲で変更してもよい。また、予めＣ１〜Ｃｎを複数セット用意しておき、適宜選択するようにしてもよい。
【００４４】
以上、説明したように、幾何学的誤差データを反映したヤコビ行列の擬似逆行列を使用して角度補正ベクトルを計算するので、冗長自由度ロボットに対しても高精度な誤差補正が可能になる。また、関節角度リミット回避や障害物回避に関するポテンシャル関数の線形結合を評価関数とし、評価関数の重み係数を適切に変更しながら、評価関数値を増加させない方向に角度補正ベクトルを修正するので、ツール先端位置誤差の補正と関節角度リミット回避や障害物回避との両立が可能になる。
【実施例２】
【００４５】
図２は、本発明に係わる第２実施例におけるロボットの角度データ変換方法のフローチャートを示している。交換前のロボットをロボットA、交換後のロボットをロボットBとすることは第１実施例と同様である。
【００４６】
第２の実施例に係る角度データ変換方法を実行するためのシステムに関しては、図５に示すシステム構成とほぼ同様であるが、以下の点で異なっている。即ち、図５に示すように、補助記憶装置１０３ｃのメモリ領域には、幾何学的誤差データ記憶部１０３ｃ１の他に、動作プログラム記憶部１０３ｃ２が更に割り当てられる。また、制御装置１０２の変換元動作プログラム読込手段１０２ｃは、動作プログラム記憶部１０２ａ２に記憶された動作プログラムを読み込むことができるだけでなく、補助記憶装置の動作プログラム記憶部１０３ｃ２に記憶されているノミナル動作プログラムを変換元プログラムとして読み込むことが可能である。更に、変換先動作プログラム書込み手段１０２ｅは、動作プログラムを動作プログラム記憶部１０２ａ２に書き込むことができるだけではなく、補助記憶装置の動作プログラム記憶部１０３ｃ２にもセーブすることが可能となっている。他の点については、第１の実施例と同様であるので、同様の参照番号を使用して第２の実施例を説明する。
【００４７】
図２において、S201、S203、S204はそれぞれ図１のS101、S102、S103に相当するので詳細な説明を省略する。第１実施例との相違はS202とS205の処理にある。まず、S202では、主記憶装置の動作プログラム記憶部１０２ａ２に保存されているロボットAの動作プログラムの角度データをノミナルロボットの角度データに変換して、補助記憶装置の動作プログラム記憶部１０３ｃ２に、変換された角度データを持つノミナル動作プログラムをセーブする。ここで、ノミナルロボットは、幾何学的誤差データが全て零の理想のロボットであり、ロボットシミュレータ上のロボットモデルである。
【００４８】
そして、S205では、補助記憶装置の動作プログラム記憶部１０３ｃ２に保存されていたノミナル動作プログラム内の角度データをS204でロードしたロボットＢの幾何学的誤差データに基づいてノミナルロボットからロボットBに変換して主記憶装置の動作プログラム記憶部１０２ａ２にロードする。
【００４９】
このように第２の実施例では、ロボットAからロボットBに角度データを直接変換するのではなく、ノミナルロボットを介在させて変換する。
ロボットAからロボットBへの交換に大きなタイムラグが生じる場合に、このような変換が適している。例えば、生産ライン１でロボットCが故障したのでこれを取り外し、休止中の生産ライン２からロボットAを持ってきて、生産ライン１のロボットCのあった場所に設置する（ロボットCは修理に出される）。しばらくして生産量が増加したため、休止中の生産ライン２を再稼働することになり、ロボットBを工面して持ってきて、ロボットAがあった場所に設置する。このような場合、生産ライン２におけるロボットAからロボットBへの交換には相当なタイムラグがあり、その間、ロボットAが接続されていた制御装置が他に流用される可能性があり、制御装置の同一性が必ずしも保証されない。したがって、幾何学的誤差データの照合が正しくできないので、ロボットAの角度データを一度全てノミナルロボットに変換して外部の補助記憶装置にセーブしておく。ロボットAからノミナルロボットへの角度データの変換は、図３におけるロボット１の幾何学的誤差データをロボットAの幾何学的誤差データとし、ロボット２の幾何学的誤差データを全て零とするだけで、全く同様の手順で実行できる。ノミナルロボットからロボットBへの角度データの変換についても同じ要領で実行できる。
【００５０】
このように、本発明の角度データ変換方法では、実機ロボットとノミナルロボットの区別なく、同様の手順で角度変換できるので、汎用性があり、様々な変換形態を選択できる。
【００５１】
以上が本発明の各実施例であるが、本願発明は、上記例に限定されるものではなく、本願発明の範囲内で任意好適に変更可能である。
【産業上の利用可能性】
【００５２】
ロボットシミュレータで作成した動作プログラムを、実機ロボットに初期投入する際にも利用できる。
【符号の説明】
【００５３】
１０１      ロボット
１０１ａ    接続ケーブル
１０１ｂ    ツール
１０２      制御装置
１０２ａ    主記憶装置
１０２ａ１  幾何学的誤差データ記憶部
１０２ａ２  動作プログラム記憶部
１０２ｂ    幾何学的誤差データロード・照合手段
１０２ｃ    変換元動作プログラム読み込み手段
１０２ｄ    角度データ変換手段
１０２ｅ    変換先動作プログラム書き込み手段
１０３      可搬式教示操作盤
１０３ａ    操作ボタン群
１０３ｂ    表示画面
１０３ｃ    補助記憶装置
１０３ｃ１  幾何学的誤差データ記憶部
１０３ｃ２  動作プログラム記憶部
８０１      評価関数の等高線
８０２      評価関数が最大となる点
８０３      評価関数の最大増加勾配ベクトル
８０４      角度補正ベクトル
８０５      角度補正ベクトルの最大増加勾配ベクトル方向成分
８０６      修正された角度補正ベクトル
８０７      重み係数が変更された最大増加勾配ベクトル
【図１】
2012011494.tif 000003
【図２】
2012011494.tif 000004
【図３】
2012011494.tif 000005
【図４】
2012011494.tif 000006
【図５】
2012011494.tif 000007
【図６】
2012011494.tif 000008
【図７】
2012011494.tif 000009
【図８】
2012011494.tif 000010
【図９】
2012011494.tif 000011