(57)【要約】【課題】オフラインで教示点の追加や位置姿勢が修正されたとき、ロボットへの適用時の位置ずれの修正作業を簡単にする。【解決手段】オフラインプログラミング装置１０で作成されたプログラムＰ１をロボットに適用し、位置ずれの修正がなされたプログラムＰ２をロボット制御装置２１から読み込む。プログラムＰ１，Ｐ２の対応する教示点の位置姿勢の差より修正量Ｅを求める。プログラムＰ１に対して教示点の追加、修正を行いプログラムＰ３を得る。追加、修正した教示点の位置に近い既存の教示点の修正量から、この追加、修正した教示点の予想修正量を算出する。プログラムＰ３の教示点に対応する修正量を補正したプログラムＰ４をロボット制御装置２１に出力する。ロボット制御装置２１では、追加、修正した教示点に対しても予想修正量で補正されているから、実際の位置姿勢のずれの修正が容易にできる。【選択図】      図１
2004299013.tif 000002
【特許請求の範囲】
【請求項１】
ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、
オフラインプログラミング装置で作成され記憶する第１のプログラムに対応する教示点の位置姿勢の誤差補正がなされ修正された第２のプログラムを入力する手段と、
入力した前記第２のプログラムと前記第１のプログラムから、前記第１のプログラムの教示点の位置姿勢の修正量を求めて記憶する手段と、
前記第１のプログラムの修正により追加された教示点及び／又は位置姿勢が修正された教示点の近傍における既存の複数の教示点の位置姿勢の修正量から、追加及び／又は位置姿勢を修正した教示点での位置姿勢の予想修正量を計算して記憶する手段と、
前記第１のプログラムに教示点を追加及び／又は教示点の位置姿勢を修正して得られた第３のプログラムの教示点に、前記記憶手段に記憶された対応する修正量を補正してプログラムを出力する手段と、
を有することを特徴とする、誤差修正フィードバック機能を有するロボットオフラインプログラミング装置。
【請求項２】
ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、
オフラインプログラミング装置で作成され記憶する第１のプログラムに対応する教示点の位置姿勢の誤差補正がなされ修正された第２のプログラムを入力する手段と、
入力した前記第２のプログラムと前記第１のプログラムから、前記第１のプログラムの教示点の位置姿勢の修正量を求めて記憶する手段と、
前記第１のプログラムの修正により教示点が修正されたプログラムの教示点に、前記記憶手段に記憶された対応する修正量を補正してプログラムを出力する手段と、
を有することを特徴とする、誤差修正フィードバック機能を有するロボットオフラインプログラミング装置。
【請求項３】
ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、
オフラインプログラミング装置で作成され記憶する第１のプログラムに対応する教示点の位置姿勢の誤差補正がなされ修正された第２のプログラムを入力する手段と、
入力した前記第２のプログラムと前記第１のプログラムから、前記第１のプログラムの教示点の位置姿勢の修正量を求めて記憶する手段と、
前記第１のプログラムの修正により追加された教示点及び／又は位置姿勢が修正された教示点の近傍における既存の複数の教示点の位置姿勢の修正量から、追加及び／又は位置姿勢を修正した教示点での位置姿勢の予想修正量を計算して記憶する手段と、
前記第１のプログラムに教示点を追加及び／又は教示点の位置姿勢を修正して得られた第３のプログラムと、前記記憶手段に記憶された教示点に対応する修正量を別のファイルで出力する手段と、
を有することを特徴とする、誤差修正フィードバック機能を有するロボットオフラインプログラミング装置。
【請求項４】
ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、
オフラインプログラミング装置で作成され記憶する第１のプログラムに対応する教示点の位置姿勢の誤差補正がなされ修正された第２のプログラムを入力する手段と、
入力した前記第２のプログラムと前記第１のプログラムから、前記第１のプログラムの教示点の位置姿勢の修正量を求めて記憶する手段と、
前記第１のプログラムの修正により教示点の位置姿勢を修正して得られた第３のプログラムと、前記記憶手段に記憶された教示点に対応する修正量を別のファイルとして出力する手段と、
を有することを特徴とする、誤差修正フィードバック機能を有するロボットオフラインプログラミング装置。
【請求項５】
ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、
オフラインプログラミング装置で作成されたプログラムの教示点に対して位置姿勢の誤差補正の修正量を記憶する記憶手段と、
前記プログラムの修正により追加された教示点及び／又は位置姿勢が修正された教示点の近傍における既存の複数の教示点の前記記憶手段に記憶する修正量から、追加及び／又は位置姿勢を修正した教示点での位置姿勢の予想修正量を計算して記憶する手段と、
教示点を追加及び／又は教示点の位置姿勢を修正したプログラムの教示点に、前記記憶手段に記憶された対応する修正量を補正してプログラムを出力する手段と、
を有することを特徴とする、誤差修正フィードバック機能を有するロボットオフラインプログラミング装置。
【請求項６】
ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、
オフラインプログラミング装置で作成されたプログラムの教示点に対して位置姿勢の誤差補正の修正量を記憶する記憶手段と、
前記プログラムの修正により教示点の位置姿勢が修正されたプログラムの教示点に前記記憶手段に記憶された修正量それぞれ補正してプログラムを出力する手段と、
を有することを特徴とする、誤差修正フィードバック機能を有するロボットオフラインプログラミング装置。
【請求項７】
ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、
オフラインプログラミング装置で作成されたプログラムの教示点に対して位置姿勢の誤差補正の修正量を記憶する記憶手段と、
前記プログラムの修正により追加された教示点及び／又は位置姿勢が修正された教示点の近傍における既存の複数の教示点の前記記憶手段に記憶する修正量から、追加及び／又は位置姿勢を修正した教示点での位置姿勢の予想修正量を計算して記憶する手段と、
前記プログラムに教示点を追加及び／又は教示点の位置姿勢を修正して得られたプログラムと、前記記憶手段に記憶された教示点に対応する修正量を別のファイルで出力する手段と、
を有することを特徴とする、誤差修正フィードバック機能を有するロボットオフラインプログラミング装置。
【請求項８】
ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、
オフラインプログラミング装置で作成されたプログラムの教示点に対して位置姿勢の誤差補正の修正量を記憶する記憶手段と、
前記プログラムの教示点の位置姿勢を修正して得られたプログラムと前記記憶手段に記憶された修正量を別のファイルとして出力する手段と、
を有することを特徴とする、誤差修正フィードバック機能を有するロボットオフラインプログラミング装置。
【請求項９】
ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、
オフラインプログラミング装置で作成され記憶するプログラムの教示点に対する位置姿勢の誤差補正の修正量を、ロボット制御装置から入力して記憶する手段と、
前記プログラムの修正により追加された教示点及び／又は位置姿勢が修正された教示点の近傍における既存の複数の教示点の位置姿勢の修正量から、追加及び／又は位置姿勢を修正した教示点での位置姿勢の予想修正量を計算して記憶する手段と、
前記プログラムに教示点を追加及び／又は教示点の位置姿勢を修正して得られたプログラムの教示点に、前記記憶手段に記憶された対応する修正量を補正してプログラムを出力する手段と、
を有することを特徴とする、誤差修正フィードバック機能を有するロボットオフラインプログラミング装置。
【請求項１０】
ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、
オフラインプログラミング装置で作成され記憶するプログラムの教示点に対する位置姿勢の誤差補正の修正量を、ロボット制御装置から入力して記憶する手段と、
前記プログラムの修正により教示点が修正されたプログラムの教示点に、前記記憶手段に記憶された対応する修正量を補正してプログラムを出力する手段と、
を有することを特徴とする、誤差修正フィードバック機能を有するロボットオフラインプログラミング装置。
【請求項１１】
ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、
オフラインプログラミング装置で作成され記憶するプログラムの教示点に対する位置姿勢の誤差補正の修正量を、ロボット制御装置から入力して記憶する手段と、
前記プログラムの修正により追加された教示点及び／又は位置姿勢が修正された教示点の近傍における既存の複数の教示点の位置姿勢の修正量から、追加及び／又は位置姿勢を修正した教示点での位置姿勢の予想修正量を計算して記憶する手段と、
前記プログラムに教示点を追加及び／又は教示点の位置姿勢を修正して得られたプログラムと、前記記憶手段に記憶された教示点の修正量を別のファイルとして出力する手段と、
を有することを特徴とする、誤差修正フィードバック機能を有するロボットオフラインプログラミング装置。
【請求項１２】
ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、
オフラインプログラミング装置で作成され記憶するプログラムの教示点に対する位置姿勢の誤差補正の修正量を、ロボット制御装置から入力して記憶する手段と、
前記プログラムの教示点の位置姿勢を修正して得られたプログラムと、前記記憶手段に記憶された教示点の修正量を別のファイルとして出力する手段と、
を有することを特徴とする、誤差修正フィードバック機能を有するロボットオフラインプログラミング装置。
【請求項１３】
予想修正量を計算して記憶する手段は、プログラム修正により追加した教示点及び／又は位置姿勢を修正した教示点の位置と前記プログラムに教示されている教示点の中で近い距離の複数の教示点間の距離を求める手段と、この求めた距離が所定距離以上か判断する手段を備え、この求めた距離が所定距離以上の場合には、追加及び／又は位置姿勢を修正した追加した教示点に対する前記予想補正量をゼロとする請求項１，請求項３，請求項５，請求項７，請求項９又は請求項１１に記載のロボットオフラインプログラミング装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボットオフラインプログラミング装置に関する。特に、教示点の位置修正に関するものである。
【０００２】
【従来の技術】
ロボットの動作プログラムを作成方法としては、実際にロボットを動作させ作業位置等を教示する方法と、ロボットや作業対象物等のモデルを用いてプログラムを作成するオフラインプログラミング装置により作成方法がある。オフラインプログラミング装置で作成したプログラムは、各種の誤差（ロボット、作業対象物の設置誤差、部品歪み、ロボットのたわみ誤差）が存在することによって、実際のロボットに適用しても、ロボットに指令されている作業対象位置と作業対象物との間で位置ずれが生じ、そのまま実行することはできない。また、この各種誤差は、理論的な計算で求めることが非常に難しいものである。このため、オフラインプログラミング装置で作成されたプログラムを実際のロボットに適用するとき、全教示点の指令位置姿勢と目標とする位置姿勢の誤差を補正し修正する必要があった。
【０００３】
さらに、オフラインプログラミング装置で作成されたプログラムを実際のロボットを用いて教示点の位置姿勢の誤差を補正し修正した後、この修正したプログラムに対して、オフラインプログラミング装置で再度教示点の追加や修正を行い、この修正、追加したプログラムを実際のロボットで使用できるようにするためには、再度上述したような、実際のロボットを使用して同様な教示点の位置姿勢誤差補正の修正が必要である。
【０００４】
【発明が解決しようとする課題】
オフラインプログラミング装置で作成したプログラムを実際のロボットを用いてその教示位置を修正したプログラムを得ていても、オフラインプログラミング装置で再度教示点の追加や修正を行うと、再度実際のロボットを用いて教示点の位置姿勢の修正が必要となり、オフラインプログラミング装置をプログラムの修正に効果的に活用することが難しかった。
【０００５】
そこで、本発明の目的は、オフラインプログラミング装置で教示点の追加や位置姿勢の修正を行ったプログラムを、実際のロボットで実行するときに必要となる教示修正作業を簡単にすることにある。
【０００６】
【課題を解決するための手段】
ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、本願請求項１に係わる発明は、オフラインプログラミング装置で作成され記憶する第１のプログラムに対応する教示点の位置姿勢の誤差補正がなされ修正された第２のプログラムを入力する手段と、入力した前記第２のプログラムと前記第１のプログラムから、前記第１のプログラムの教示点の位置姿勢の修正量を求めて記憶する手段と、前記第１のプログラムの修正により追加された教示点及び／又は位置姿勢が修正された教示点の近傍における既存の複数の教示点の位置姿勢の修正量から、追加及び／又は位置姿勢を修正した教示点での位置姿勢の予想修正量を計算して記憶する手段と、前記第１のプログラムに教示点を追加及び／又は教示点の位置姿勢を修正して得られた第３のプログラムの教示点に記憶された対応する修正量を補正してプログラムを出力する手段とを有し、誤差修正フィードバック機能を有することを特徴とするものである。
【０００７】
又、請求項２に係わる発明は、ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、オフラインプログラミング装置で作成され記憶する第１のプログラムに対応する教示点の位置姿勢の誤差補正がなされ修正された第２のプログラムを入力する手段と、入力した前記第２のプログラムと前記第１のプログラムから、前記第１のプログラムの教示点の位置姿勢の修正量を求めて記憶する手段と、前記第１のプログラムの修正により教示点が修正されたプログラムの教示点に、前記記憶された対応する修正量を補正してプログラムを出力する手段とを有し、プログラム教示点の位置姿勢の修正に伴う、教示した位置姿勢と目標とする位置姿勢の誤差補正を容易にしたものである。
【０００８】
又、請求項３に係わる発明は、前述した請求項１に係わる発明における、教示点の追加及び／又は位置姿勢の修正を行い得られた第３のプログラムの教示点に記憶された対応する修正量を補正してプログラムを出力する手段の代わりに、教示点を追加及び／又は教示点の位置姿勢を修正して得られた第３のプログラムと記憶された教示点に対応する修正量を別のファイルで出力する手段を備えるものである。さらに、請求項４に係わる発明は、前述した請求項２に係わる発明における、第１のプログラム修正した教示点をその修正量で補正して得られたプログラムを出力する手段の代わりに、第１のプログラムの修正により教示点の位置姿勢を修正して得られた第３のプログラムと記憶された教示点に対応する修正量を別のファイルとして出力する手段を備えるものである。
【０００９】
請求項５に係わる発明は、ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、オフラインプログラミング装置で作成されたプログラムの教示点に対して位置姿勢の誤差補正の修正量を記憶する記憶手段と、前記プログラムの修正により追加された教示点及び／又は位置姿勢が修正された教示点の近傍における既存の複数の教示点の前記記憶手段に記憶する修正量から、追加及び／又は位置姿勢を修正した教示点での位置姿勢の予想修正量を計算して記憶する手段と、教示点を追加及び／又は教示点の位置姿勢を修正したプログラムの教示点に、前記記憶手段に記憶された対応する修正量を補正してプログラムを出力する手段とを備え、誤差修正フィードバック機能を有するロボットオフラインプログラミング装置である。
【００１０】
又、請求項６に係わる発明は、ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、オフラインプログラミング装置で作成されたプログラムの教示点に対して位置姿勢の誤差補正の修正量を記憶する記憶手段と、前記プログラムの修正により教示点の位置姿勢が修正されたプログラムの教示点に前記記憶手段に記憶する修正量それぞれ補正してプログラムを出力する手段とを備え、誤差修正フィードバック機能を有するロボットオフラインプログラミング装置である。
【００１１】
請求項７に係わる発明は、請求項５に係わる発明における、教示点を追加及び／又は教示点の位置姿勢を修正したプログラムの教示点に、修正量を補正してプログラムを出力する手段の代わりに、教示点を追加及び／又は教示点の位置姿勢を修正して得られたプログラムと教示点に対応する修正量を別のファイルで出力する手段を設けたものである。又、請求項８に係わる発明は、請求項６に係わる発明における、教示点の位置姿勢が修正されたプログラムの教示点に修正量それぞれ補正してプログラムを出力する手段の代わりに、教示点の位置姿勢を修正して得られたプログラムと修正量を別のファイルとして出力する手段を設けたものである。
【００１２】
請求項９に係わる発明は、ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、オフラインプログラミング装置で作成され記憶するプログラムの教示点に対する位置姿勢の誤差補正の修正量を、ロボット制御装置から入力して記憶する手段と、前記プログラムの修正により追加された教示点及び／又は位置姿勢が修正された教示点の近傍における既存の複数の教示点の位置姿勢の修正量から、追加及び／又は位置姿勢を修正した教示点での位置姿勢の予想修正量を計算して記憶する手段と、前記プログラムに教示点を追加及び／又は教示点の位置姿勢を修正して得られたプログラムの教示点に、記憶された対応する修正量を補正してプログラムを出力する手段とを備え、誤差修正フィードバック機能を有するロボットオフラインプログラミング装置である。
【００１３】
又、請求項１０に係わる発明は、ロボットプログラムを作成・修正する機能を有するオフラインプログラミング装置において、オフラインプログラミング装置で作成され記憶するプログラムの教示点に対する位置姿勢の誤差補正の修正量を、ロボット制御装置から入力して記憶する手段と、前記プログラムの修正により教示点が修正されたプログラムの教示点に、前記記憶された対応する修正量を補正してプログラムを出力する手段とを備えるものである。
【００１４】
又、請求項１１に係わる発明は、請求項９に係わる発明における、教示点を追加及び／又は教示点の位置姿勢を修正して得られたプログラムの教示点に対応する修正量を補正してプログラムを出力する手段の代わりに、教示点を追加及び／又は位置姿勢を修正して得られたプログラムと教示点の修正量を別のファイルとして出力する手段を設けたものである。さらに、請求項１２に係わる発明は、請求項１０に係わる発明における、教示点が修正されたプログラムの教示点に対応する修正量を補正してプログラムを出力する手段の代わりに、教示点の位置姿勢を修正して得られたプログラムと教示点の修正量を別のファイルとして出力する手段を設けたものである。
【００１５】
又、請求項１３に係わる発明は、前述した請求項に係わる発明における予想修正量を計算して記憶する手段を、プログラム修正により追加した教示点及び／又は位置姿勢を修正した教示点の位置と前記プログラムに教示されている教示点の中で近い距離の複数の教示点間の距離を求める手段と、この求めた距離が所定距離以上か判断する手段を備えるものとし、この求めた距離が所定距離以上の場合には、追加及び／又は位置姿勢を修正した追加した教示点に対する前記予想補正量をゼロとするようにした。
【００１６】
【発明の実施の形態】
図１は本発明の第１の実施形態の概要説明図である。
オフラインプログラミング装置１０でロボット２０の動作プログラムＰ１を作成し、このプログラムＰ１をロボット２０に適用し、ロボット制御装置２１及びロボット機構部２２を用いて、指令位置姿勢と目標とする位置姿勢の誤差補正を行い、プログラムされている教示点の位置姿勢を修正し、この修正されたプログラムＰ２がすでにロボット制御装置２１内に記憶されている。
【００１７】
このように、オフラインプログラミング装置１０でプログラムＰ１が作成され、実際のロボットに適用されてその教示点の位置が修正されたプログラムＰ２を得ている状態で、このプログラムに対して教示点の追加や位置姿勢の修正等のプログラムの修正を行う場合、この第１の実施形態では、まず、オフラインプログラミング装置１０にロボット制御装置２１から修正されたプログラムＰ２を読み込み、オフラインプログラミング装置１０に記憶する元のプログラムＰ１と誤差補正され修正されたプログラムＰ２の教示点の位置姿勢の差、すなわち修正量Ｅを求める。
【００１８】
又、オフラインで作成されたプログラムＰ１に対して教示点の追加、位置姿勢の修正がなされると、この追加された教示点、又は位置姿勢が修正された教示点に対する予想補正量を、この追加、修正された教示点の位置に近い複数の教示点の補正量より求める。そして、オフラインで作成されたプログラムＰ１に対して教示点が追加又は位置姿勢が修正され更新されたプログラムＰ３の教示点に対してすでに求められている補正量Ｅを補正し、補正されたプログラムＰ４を求めロボット制御装置２１に出力する。
【００１９】
追加した教示点や位置姿勢が修正された教示点に対する補正量は、その教示点位置に近い教示点の修正量に基づいて予想され求められたものであるから、その予想補正量は本来必要な補正量から大きくかけ離れたものとはならない。そのため、ロボット２０を用いて、補正されたプログラムＰ４の教示点の位置姿勢の誤差補正の修正を行う場合、追加、修正された教示点に対しても、目標とする位置姿勢から、大きくかけ離れることはなく、この修正作業が容易となる。
【００２０】
そして、追加、修正された教示点の位置姿勢もロボット２０を実際に駆動して修正されると、その位置姿勢が修正されたプログラムはロボット制御装置２１に記憶される。さらに教示点の追加や修正があれば、この更新されたプログラム（新たなプログラムＰ２）がオフラインプログラミング装置１０読み出され、オフラインで作成され、追加、修正された元のプログラムＰ３とにより前述したと同様に教示点の修正量が求められ、追加、修正する教示点の予想修正量も前述同様にして求められることになる。以下、満足のいくまでこの動作が繰り返し実行される。
【００２１】
図２は、本発明の第２の実施形態の概要説明図である。この第２の実施形態は、ロボット制御装置２１に出力するデータが上述した第１の実施形態と相違する点のみである。すなわち、第１の実施形態では、オフラインで作成されたプログラムＰ１に対して、教示点の追加、位置姿勢の修正等を行ったプログラムＰ３の教示点に対して修正量Ｅを加算して修正し、この修正されたプログラムＰ４をロボット制御装置２１に出力したが、この第２の実施形態では、教示点の追加、位置姿勢の修正等を行ったプログラムＰ３と、この追加、修正した教示点に対する予想修正量をも含めて教示点の修正量Ｅを別ファイルとしてロボット制御装置２１に出力するようにしたものである。
【００２２】
ロボット制御装置２１は、この送られてきたプログラムＰ３を実行する際、送られてきている修正量Ｅに基づいて教示点の位置姿勢を補正してロボット機構部を駆動することになる。そして、ロボット２０を実際に駆動して教示点の位置姿勢が修正されれば、修正量のファイルＥｆの対応する教示点の修正量が書き替えられて更新されることになる。再度、教示点の追加、位置姿勢の修正を行う場合には、この修正された修正量ファイルＥｆをオフラインプログラミング装置１０に送出し、この修正量ファイルＥｆを使用して新たに行う追加、修正の教示点の予測修正量も求められることになる。この点は後述する第５、第６実施形態参照。
【００２３】
図３は、本発明の第３の実施形態の概要説明図である。この第３の実施形態は、オフラインプログラミング装置１０にすでに教示点の修正量Ｅが記憶されている場合に、この修正量Ｅを利用して追加、修正した教示点の位置姿勢の予想修正量を求めるものであり、他は第１の実施形態と同一で、教示点を追加、修正して得られたプログラムＰ３の教示点にそれぞれ修正量を補正して、補正されたプログラムＰ４をロボット制御装置２１に出力するものである。
【００２４】
この第３の実施形態の場合、オフラインプログラミング装置１０で作成されたプログラムＰ１を修正して、教示点の追加、教示点の位置姿勢の修正を行ったとき、修正後のプログラムの教示点に対する修正量、予想修正量は求められている。この修正されたプログラムをロボット２０で実行した際、さらに教示点の追加、修正等のプログラムの修正が必要な場合、第１の実施形態のように、再度ロボット制御装置２１よりロボット２０により修正量が調整されたロボットプログラムを読み込み修正量を求め、プログラムを修正するよりことができるが、これよりも、前回のプログラム修正における追加、修正の教示点が少ないような場合には、すでに記憶する修正量を用いて、今回追加、修正する教示点の予想推定量を求めてロボット制御装置２１に出力し、前回と今回のプログラム修正に伴う追加、修正された教示点に対して修正量の調整作業を行う方が、作業効率がよいような場合に適用するものである。
【００２５】
図４は、本発明の第４の実施形態の概要説明図である。この第４の実施形態は、オフラインプログラミング装置１０にすでに教示点の修正量Ｅが記憶されている場合で、この修正量Ｅを利用して追加、修正した教示点の位置姿勢の予想修正量を求め、この記憶していた教示点の修正量Ｅ及び追加、修正した教示点に対する予想修正量をも含めた修正量のファイルをロボット制御装置２１に送出すると共に、追加、修正したプログラムＰ３もロボット制御装置２１に出力するようにしたものである。この第４の実施形態においても、ロボット制御装置２１はプログラムＰ３と修正量ファイルの修正量Ｅに基づいて動作させ、教示点の位置姿勢の誤差が補正され修正されれば、修正量ファイルＥｆの対応する教示点の修正量Ｅも訂正更新されることになる。
【００２６】
図５は、本発明の第５の実施形態の概要説明図である。この第５の実施形態は、教示点の追加、修正を行うプログラムＰ１に対する修正量Ｅをロボット制御装置２１が記憶しているとき（前述した第２、第４の実施形態等）、この修正量Ｅを利用して追加、修正した教示点に対しての予想修正量を求めるようにしたものである。
【００２７】
すなわち、図２、図４に示した第２、第４の実施形態等のように、ロボット制御装置２１に、オフラインで作成されたプログラムＰ３の教示点に対する修正量Ｅをロボット制御装置２１が記憶している。この修正量Ｅを用いて、オフラインで作成されたプログラムＰ３に対して教示点を追加、修正しようとする場合等にこの実施形態は適用されるものである。図２、図３に示すプログラムＰ３がロボット２０によって実行さるものであり、そのプログラムＰ３の教示点の修正量が記憶されているものであるから、図５のプログラムＰ１は図２、図３に示すプログラムＰ３に対応する。
【００２８】
プログラムＰ１に対して教示点の追加、教示点の位置姿勢の修正を行い新たなプログラムＰ３を作成する場合、この追加、修正した教示点に対する予想修正量をこのロボット制御装置２１から読み込まれた修正量Ｅに基づいて求め、教示点を追加、修正して得られたプログラムＰ３の教示点の位置姿勢を修正量Ｅ又は求めた予想修正量で補正し、新たなプログラムＰ４を作成してロボット制御装置に出力するようにしたものである。
【００２９】
図６は、本発明の第６の実施形態の概要説明図である。この第６の実施形態は、第５の実施形態と同様にロボット制御装置２１に記憶する修正量を利用して追加、修正した補正点の修正量を求めるものである。図５に示す第５の実施形態と相違する点は、教示点を追加、修正したプログラムＰ３と、追加、修正した教示点に対する予想修正量をも含む修正量ＥのファイルＥｆが別々にロボット制御装置２１に出力される点のみである。この点はすでに第２、第４の実施形態でも述べているので、説明は省略する。
【００３０】
図７は、上述した各実施形態を実施するオフラインプログラミング装置１０の要部ブロック図である。プロセッサ（ＣＰＵ）１１には、バス１８を介して、Ｒ０Ｍ１２，ＲＡＭ１３，不揮発性ＲＡＭ１４，ディスクドライバ１５，表示器／ＭＤＩ１６，通信インタフェース１７が接続されている。
【００３１】
プロセッサ１１はＲＯＭ１２に記憶されたシステムプログラムに基づいてこの装置全体を制御する。又、ＲＡＭ１３はデータの一時記憶等に利用される。不揮発性ＲＡＭ１４には、このオフラインプログラミング装置で作成されたロボット動作プログラム等を記憶する。ディスクドライバ１５は、ロボット制御部２１が記憶するプログラムＰ２や修正量Ｅを格納したフレキシブルディスク１９が装着される。
【００３２】
表示器／ＭＤＩ１６は、ＣＲＴ又は液晶等のディスプレイを備え、キーボード、マウス等のデータ入力、各種指令を与える手動データ入力手段を備える。又、通信インタフェース１７は、イーサネット（登録商標）等の通信回線を介してロボット制御装置２１と接続される。
【００３３】
なお、この実施形態では、記憶媒体としてフレキシブルディスク１９を用いた例を示したが、コンパクトディスク等の他の記憶媒体を用いてもよい。コンパクトディスクを用いた場合にはディスクドライバ１５は、該コンパクトディスクからデータを読み出すＣＤドライバーで構成されることになる。
【００３４】
上述したオフラインプログラミング装置１０の構成は従来から公知のオフラインプログラミング装置の構成と差異はない。相違する点は、ロボット動作プログラムの教示点の追加、修正を行うソフトウェアが相違するものである。
図８は、第１の実施形態におけるオフラインプログラミング装置１０が実施するロボット動作プログラムの教示点の追加、修正処理のフローチャートである。
プログラムの修正指令が入力されると、プロセッサ１１は通信インタフェース１７、通信回線を介してロボット制御装置２１より教示点の位置姿勢が修正されているプログラムＰ２を読み込む。又は、ロボット制御装置２１に記憶されていたプログラムＰ２をフレキシブルディスク（記憶媒体）１９に書き込み、該フレキシブルディスク（記憶媒体）１９に記憶されたプログラムＰ２をディスクドライバ１５を介して読み込む（ステップ１００）。
【００３５】
そして指標ｉを「１」にセットし（ステップ１０１）、該プログラムＰ２に対応しオフラインで作成されたプログラムＰ１（プログラムＰ１の教示点の位置姿勢と実際に目標とする位置姿勢の誤差を補正し修正されたものがプログラムＰ２である）と、プログラムＰ２における対応する指標ｉで示される教示点Ｐ１ｉ，Ｐ２ｉを読み込む（ステップ１０２）。そして、その差より修正量Ｅｉを求めて記憶する（ステップ１０３）。教示点Ｐ１ｉ，Ｐ２ｉの位置姿勢がそれぞれ
Ｐ１ｉ＝（ｘ１ｉ，ｙ１ｉ，ｚ１ｉ，ｗ１ｉ，ｐ１ｉ，ｒ１ｉ）
Ｐ２ｉ＝（ｘ２ｉ，ｙ２ｉ，ｚ２ｉ，ｗ２ｉ，ｐ２ｉ，ｒ２ｉ）
とすると、修正量Ｅｉは、
2004299013.tif 000003
１ｉ）
として求められる。
次に、指標ｉに「１」加算し（ステップ１０４）、教示点が修了か判断し（ステップ１０５）、修了してなければ、ステップ１０２〜ステップ１０５の処理を教示点修了まで繰り返し実行し、教示点の修正量Ｅｉを求める。
【００３６】
次に、教示点の追加、修正処理及びこの追加修正した教示点に対する予想修正量の算出処理を行う（ステップ１０６）。この処理は図１４に示す処理であり、作業者が教示点の追加、及びすでに教示されている教示点の位置姿勢の修正を行うと（ステップＳＢ１）、この追加、修正された教示点に対する予想修正量算出処理を開始する。
まず、既存の教示点の中で、追加、修正した教示点位置Ｐｘにその位置が１番近い教示点と、次に近い教示点Ｐｊ，Ｐｋを求める（ステップＳＢ２）。なお、教示点の位置姿勢の修正の場合は、この位置姿勢を修正する元の教示点も既存の教示点の中に含む。そして、この２つの教示点位置間の距離Ｌｊｋと、追加、修正した教示点位置Ｐｘと求めた２つの教示点間の距離Ｌｘｊ，Ｌｘｋを求める（ステップＳＢ３）。
Ｌｊｋ＝｜Ｐｊ−Ｐｋ｜
Ｌｘｊ＝｜Ｐｘ−Ｐｊ｜
Ｌｘｋ＝｜Ｐｘ−Ｐｋ｜
なお、この距離は、教示点の位置（ｘ，ｙ，ｚ）の各軸の差を２乗しその和の平方根で求められる。
【００３７】
そして、求めた追加、修正した教示点位置Ｐｘとそれに近い２つの教示点Ｐｊ，Ｐｋ間の距離Ｌｘｊ，Ｌｘｋが共に設定値Ｌｍａｘ  以下か判断する（ステップＳＢ４，ＳＢ５）。追加修正した教示点の位置が既存の教示点の位置より設定距離Ｌｍａｘ  以上離れている場合は、あまりにも距離が離れすぎているから、既存の教示点に対して求められている修正量は参考にならないとして、この追加、修正した教示点に対する修正量Ｅｘは「０」とし（ステップＳＢ９）、ステップＳＢ８に移行する。
【００３８】
一方、追加、修正した教示点位置Ｐｘと２つの教示点Ｐｊ，Ｐｋ間の距離Ｌｘｊ，Ｌｘｋが設定値Ｌｍａｘ  以下の場合には、この２つの教示点Ｐｊ，Ｐｋに対して記憶されている位置姿勢の修正量Ｅｊ，Ｅｋを読み込み（ステップＳＢ６）、追加、修正した教示点位置Ｐｘに対する予想修正量Ｅｘを、次の１式の演算により求めて、追加、修正した教示点に対応して記憶する（ステップＳＢ７）。
Ｅｘ＝（Ｅｊ＊Ｌｘｊ／Ｌｊｋ）＋（Ｅｋ＊Ｌｘｋ／Ｌｊｋ）    …（１）
次に、教示点の追加、修正の完了指令が入力されているか判断し（ステップＳＢ８）、入力されてなければステップＳＢ１に戻り、ステップＳＢ１以下の教示点の追加、修正処理及びその教示点に対する予想補正量Ｅｘの算出処理を実行する。
全ての教示点の追加、修正が修了し、教示点の追加、修正がなされたプログラムＰ３が得られ、完了指令が入力されると（ステップＳＢ８）、図８に示すメイン処理に戻り、プログラムＰ１に対して教示点の追加、修正を行い得られたプログラムＰ３の教示点に対して、教示点が追加、修正されたものであれば、ステップ１０６で求めた修正量Ｅｘ、又、既存の教示点であれば、ステップ１０３で求めた修正量Ｅｉに基づいて、それぞれその教示点の位置姿勢を補正し、補正されたプログラムＰ４を作成する（ステップ１０７）。そして、この補正されたプログラムＰ４を通信インタフェース１７を介してロボット制御装置２１に出力する（ステップ１０８）。もしくは、ディスクドライバ１５を介してフレキシブルディスク１９に格納し、該フレキシブルディスク１９を介してロボット制御装置２１に送るようにする。
【００３９】
なお、図示していないが、オフラインプログラミング装置１０は、教示点が追加、修正されたプログラムＰ３をプログラムＰ１の代わりに記憶しておく（又、プログラムＰ１も残しておいてもよい）。再度、教示点のの追加、修正を行うときに利用できる。また、プログラムＰ３は、修正量が補正されたものではなく、オフラインプログラミング装置１０のモデルに基づいて、教示点の位置姿勢が決定され、それを記憶するものであるから、このプログラムＰ３で該プログラムでのロボット動作のシミュレーションを行っても、ロボットや作業対象物等のモデル間で干渉が発生してシミュレーション不能となることはない。教示点に対して修正量が補正されたプログラム（Ｐ２やＰ４）は、オフラインプログラミング装置１０で作成されたプログラムの教示点に対して修正量による補正がされていることから、このプログラムを用いてオフラインプログラミング装置１０でロボット動作のシミュレーションを行うと、オフラインプログラミング装置内のロボットや作業対象物のモデルには誤差が存在しないため、プログラムとロボット・作業対象物間の整合性が失われてしまい、シミュレーションが不可能になる。
【００４０】
図９は、本発明の第２の実施形態における教示点の追加、修正とその追加、修正した教示点の予想修正量Ｅｘを求めて、修正量を出力する処理のフローチャートである。
ステップ２００〜ステップ２０６の処理は、図８に示した第１の実施形態のステップ１００〜ステップ１０６の処理と同一である。ステップ２０７の処理が図８に示す第１の実施形態とは異なるのみである。
【００４１】
すなわち、教示点が追加され、又は既存の教示点の位置姿勢が修正されて新たなプログラムＰ３が作成される。さらに、この追加、修正した教示点に対する予想修正量Ｅｘが既存の教示点に対する修正量より予想されて求められるまでは第１の実施形態と同一である。この第２実施形態では、この新たなプログラムＰ３と該プログラムＰ３の教示点に対応して記憶された修正量Ｅｉ及び予想修正量Ｅｘを別ファイルとしてロボット制御装置２１又は記憶媒体（フレキシブルディスク）に出力するものであり、この点が相違するのみである。
【００４２】
図１０は、本発明の第３の実施形態の処理フローチャートである。この第３の実施形態は、オフラインプログラミング装置１０にすでに教示点に対する修正量Ｅを記憶しているときにおける教示点の追加、修正、その予想修正量の算出処理である。
教示点修正指令が入力されるとプロセッサ１１は、まず、対象のプログラムＰ１に対する修正量の記憶がなされている判断する（ステップ３００）。記憶されていなれば、この処理は修了する。記憶されていれば、教示点の追加、教示点の位置姿勢の修正処理及び、この追加、修正された教示点に対する予想修正量の算出処理を実行する（ステップ３０１）。この処理は第１、第２の実施形態と同一で図１４に示す処理が実行される。そして、オフラインで作成されたプログラムＰ１に対して教示点が追加され、又、教示点の位置姿勢が修正されて作成された新たなプログラムＰ３に対して、教示点に対応する修正量Ｅｉ及び予想修正量Ｅｘがそれぞれ補正されて、教示点に対して修正量が補正されたプログラムＰ４を作成する（ステップ３０２）。この作成したプログラムＰ４をロボット制御装置２１へ又はフレキシブルディスク１９へ出力する（ステップ３０３）。
【００４３】
図１１は、本発明の第４の実施形態での処理フローチャートである。この第４の実施形態は図１０に示した第３の実施形態の処理とほぼ同一であり、ステップ４００，４０１は、第３の実施形態のステップ３００、３０１と同じである。相違する点は、ステップ４０２の処理だけである。この第４の実施形態では、プログラムＰ１に対して教示点を追加、及び教示点の位置姿勢を修正して得られたプログラムＰ３と、該プログラムＰ３の教示点に対する修正量Ｅ（追加、修正した教示点に対して求めた予想修正量Ｅｘと、変更のない教示点に対する記憶されていた補正量Ｅｉ）をロボット制御装置２１若しくはフレキシブルディスク１９に出力する点で第３の実施形態と相違するのみである。
【００４４】
図１２は、本発明の第５の実施形態のフローチャートである。この第５の実施形態は、教示点の位置姿勢の修正量がロボット制御装置２１若しくはフレキシブルディスク１９を介して読み込まれるステップ５００処理の点が図１０に示した第３の実施形態と相違するのみでステップ５０１〜５０３の処理は、第３の実施形態の図１０に示すステッ３０１〜３０３と同一である。
【００４５】
図１３は、本発明の第６の実施形態のフローチャートである。この第６の実施形態も、教示点の位置姿勢の修正量がロボット制御装置２１若しくはフレキシブルディスク１９を介して読み込まれるステップ６００処理の点が図１１に示した第４の実施形態と相違するのみでステップ６０１，６０２の処理は、第４の実施形態の図１１に示すステップ４０１，４０２と同一である。
【００４６】
以上のように、本発明の各実施形態では、オフラインプログラミング装置１０で作成したロボットの動作プログラムに対し、新たな教示点を追加したり、すでに教示されている教示点の位置姿勢を修正したとき、その追加、修正した教示点に対する予想修正量を、すでに求められている既存の教示点に対する修正量より予測し、その追加、修正した教示点の修正量とするものであるから、この予想修正量及び修正されなかった既存の教示点に対する修正量に基づいてロボット動作プログラムを実行させたとき、新たに追加、補正された教示点に対する位置姿勢の修正が極めて簡単となる。予想修正量に基づいて、ロボットは目標とする位置姿勢に近い状態となっていることから、指令位置姿勢と目標とする位置姿勢の誤差は小さく、最終的なその位置姿勢の修正が容易となるものである。
【００４７】
上述した各実施形態においては、教示点を追加したときも、既存の教示点の位置姿勢を修正したときも、その予想修正量を求めるようにした。しかし、教示点の位置姿勢を修正する場合は、その位置姿勢を大幅に変えることが少ないので、教示点の位置姿勢の修正に対しては、予想修正量を求めずに、位置姿勢を修正する前の教示点に対して記憶する修正量を、この修正後の教示点に対する修正量としてもよい。この場合、図１４に示す処理では、ステップＳＢ１の後に、入力された処理が教示点の追加か、位置姿勢の追加か判断し、教示点の追加であれば、ステップＳＢ２以下の処理を実施し、教示点の位置姿勢の修正であれば、ステップＳＢには移行せず、ステップＳＢ８に移行するようにすればよい。
【００４８】
【発明の効果】
オフラインプログラミング装置で作成したプログラムを現場へ適用する時にかかる工数を大幅に削減し、オフラインプログラミング装置を実際のロボットのプログラムの修正に効果的に活用できるようになる。ロボットや作業対象物の設置誤差、部品歪み、ロボットのたわみ誤差等各種誤差は理論的な計算で求めることが非常に難しいことから、本発明では、一旦これらの誤差を修正した時の修正量をオフラインプログラミング装置にフィードバックしてこの修正量を用いて、追加、修正した教示点に対して予想修正量を予測したので、これらの各種誤差を包括的に補正することができる。さらに、オフラインプログラミング装置内のプログラムには補正を加えないので、プログラムを修正した後でもオフラインプログラミング装置でプログラムのシミュレーションを行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態の概要説明図である。
【図２】本発明の第２の実施形態の概要説明図である。
【図３】本発明の第３の実施形態の概要説明図である。
【図４】本発明の第４の実施形態の概要説明図である。
【図５】本発明の第５の実施形態の概要説明図である。
【図６】本発明の第６の実施形態の概要説明図である。
【図７】本発明の各実施形態を実施するオフラインプログラミング装置の要部ブロック図である。
【図８】本発明の第１の実施形態の動作処理フローチャートである。
【図９】本発明の第２の実施形態の動作処理フローチャートである。
【図１０】本発明の第３の実施形態の動作処理フローチャートである。
【図１１】本発明の第４の実施形態の動作処理フローチャートである。
【図１２】本発明の第５の実施形態の動作処理フローチャートである。
【図１３】本発明の第６の実施形態の動作処理フローチャートである。
【図１４】各実施形態の動作処理における教示点の追加、修正処理とその予想補正量算出処理のフローチャートである。
【符号の説明】
１０  オフラインプログラミング装置
２０  ロボット
２１  ロボット制御装置
２２  ロボット機構部
【図１】
2004299013.tif 000004
【図２】
2004299013.tif 000005
【図３】
2004299013.tif 000006
【図４】
2004299013.tif 000007
【図５】
2004299013.tif 000008
【図６】
2004299013.tif 000009
【図７】
2004299013.tif 000010
【図８】
2004299013.tif 000011
【図９】
2004299013.tif 000012
【図１０】
2004299013.tif 000013
【図１１】
2004299013.tif 000014
【図１２】
2004299013.tif 000015
【図１３】
2004299013.tif 000016
【図１４】
2004299013.tif 000017