(57)【要約】【課題】マニピュレータ、周辺装置、ワークに重力たわみが発生してもオフライン教示段階で事前に補正する。【解決手段】本発明に係るロボットのオフライン教示装置２０は、与えられた全教示点Ｐiについて、ロボットマニピュレータ１１、周辺装置１３，１４、ワーク１５の重力たわみを考慮した補正教示点Ｐ'(i)を算出するステップと、補正後の移動経路を計算するステップと、補正後の移動経路における重力たわみ量を算出して、経路途中で重力たわみ量が予め定められた許容値を超えた場合に、経路途中に新たな教示点を挿入するステップとを含む、教示点挿入処理を実行する。【選択図】図１
2010231575.tif 000002
【特許請求の範囲】
【請求項１】
マニピュレータとワークとを含む３次元データモデルと、
前記マニピュレータの姿勢変化に伴って発生する当該マニピュレータの重力たわみ量を、前記３次元データモデルに基づいて算出するたわみ量算出手段と、
前記算出された重力たわみ量に基づいて、教示点を補正する教示点補正手段と、
教示点の補正後に、教示点間の移動経路における前記重力たわみ量を算出して、経路途中で前記重力たわみ量が予め定められた許容値を超えた場合に、経路途中に新たな教示点を挿入する教示点挿入手段と、
を有することを特徴とするロボットのオフライン教示装置。
【請求項２】
前記３次元データモデルでワークがポジショナに搭載されている際には、前記たわみ量算出手段は、前記ポジショナの姿勢変化に伴って発生する前記ワークの重力たわみ量も算出することを特徴とする請求項１に記載のロボットのオフライン教示装置。
【請求項３】
前記３次元データモデルでマニピュレータが移動装置に搭載されている際には、前記たわみ量算出手段は、前記移動装置に対するマニピュレータの位置及び姿勢の変化に伴って発生する当該移動装置の重力たわみ量も算出することを特徴とする請求項１又は２に記載のロボットのオフライン教示装置。
【請求項４】
マニピュレータと、ワークを把持するポジショナと、前記マニピュレータ及びポジショナを制御する制御装置と、請求項２又は３に記載のオフライン教示装置を備えたロボットシステム。
【請求項５】
マニピュレータとポジショナと該ポジショナに搭載されたワークを含む３次元データモデルを用いて、前記マニピュレータの姿勢変化に伴って発生する当該マニピュレータの重力たわみ量及び前記ポジショナの姿勢変化に伴うワークの重力たわみ量を算出し、
算出された重力たわみ量に基づいて、予め設定されている教示点を補正し、
教示点の補正後に、教示点間の移動経路における前記重力たわみ量を算出して、経路途中で前記重力たわみ量が予め定められた許容値を超えた場合に、経路途中に新たな教示点を挿入することを特徴とするロボットのオフライン教示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボット（以下、単にロボットと記載する場合がある）のオフライン教示に関し、特に、重力等の影響によって生じる誤差を補正する機能を備えたロボットのオフライン教示に関する。
【背景技術】
【０００２】
近年、産業用ロボットに所定の作業・動作を行なわせるように教示する教示方法として、実際のロボットおよびワークを用いて教示するのではなく、パソコンなどの計算機を使用して教示データを作成し、作成された教示データをロボットに与えるようにするオフライン教示（オフラインティーチング）が、省力化および生産性向上の観点から注目されるようになってきている。
このようなオフラインティーチングは、パーソナルコンピュータ（パソコン）のみの操作により教示データを作成することができるため、教示作業を行なう際にも生産ラインを停止させる必要がなく、生産性向上のために有効であるとともに、作業点が多数に存在する場合にも、比較的短時間で教示データを作成できるために、教示作業を効率化できるという利点がある。
【０００３】
この反面、実際のワークとロボットとを用いて現物合わせで各作業点を教示するものではないため、マニピュレータ、ワーク、周辺装置（スライダ、ポジショナ）等は、理想的な３次元データモデルとして、無限大の剛性を持ち、加工誤差・設置誤差も全くないものとして扱われている。
そのため、オフライン教示で作成したプログラムで実際のロボットを動作させる際には、以下のような誤差を補正する必要があった。
すなわち、（１）ワークの設置誤差、（２）機械寸法・加工精度のばらつき、（３）ツール取り付け誤差、（４）重力によるたわみ、等の要因によって、教示データと各作業点の実際の位置・方向との間に誤差を生じるのが通常であり、このような誤差を排除するために教示データを補正する必要があるという問題がある。
【０００４】
上述した誤差要因の（１）〜（３）は静的なものであり、センサによる誤差計測やキャリブレーション等の公知の静的補正方法が行なわれている。その一方で、誤差要因の（４）の重力たわみは、重力により機械やワークが弾性変形することが原因であるために、各装置の動作位置により誤差は動的に変化するため、上述した静的補正方法では十分に補正できないという問題がある。
なお、重力たわみの補正に関する従来技術としては、以下のようなものがある。
特開平４−３３００６号公報（特許文献１）は、ロボットのたわみ誤差と幾何学的誤差とを分離して扱うことにより、ロボット手先の絶対位置決め精度を向上させるロボットシステムの制御方法を開示する。このロボットシステムの制御方法は、作業座標系に置かれたロボット実機のロボット座標系における理想モデルとの手先位置決め誤差を幾何学的誤差とたわみ誤差に起因するものに分離する第１工程と、ロボットの関節位置及び手先負荷条件と、たわみ誤差に起因する関節位置誤差の関係づけ及び幾何学的誤差の同定を行なう第２工程と、ロボット手先の動作軌道に対応する関節位置指令を、幾何学的誤差に基づき修正生成された関節位置指令と、第２工程に基づき算出されたたわみ誤差に起因する関節位置誤差との差として生成する第３工程と、第３工程により生成される関節位置指令を受信することによりロボット関節駆動エネルギを生成する第４工程とからなり、ロボット関節駆動エネルギによりロボットを駆動することを特徴とする。
【０００５】
また、特開平１１−１３４０１２号公報（特許文献２）は、重力に起因した回転機構部の歪み、アームの撓み、あるいはそれに加えて慣性力によるアームの撓み、回転機構部のバックラッシュのガタ、遊び等の影響に由来する軌跡誤差がリアルタイムで自動的に補正されるロボットを開示する。このロボットは、動作プログラムの再生運転時に、少なくとも一つのロボット軸について、動作プログラムに基づいて作成された指令を補正してサーボ制御系へ渡すようにした、軌跡誤差補正機能を有するロボットであって、この補正は、少なくともロボット軸にかかる重力モーメントによって発生する誤差を補償する。
【０００６】
上述した特許文献１、特許文献２に開示されているのは、マニピュレータ姿勢によって変化するアーム・関節部の弾性変形量を実時間で計算し補正するものであり、補正対象はマニピュレータに限定されている。
一方、大型構造物の溶接等、重量物を対象としたロボットシステムでは、マニピュレータ以外の周辺装置（スライダ、ポジショナ）、ワークの重力たわみ量が無視できない誤差として加工品質に影響を与える可能性がある。この重力たわみを無視できる程度に低減するためには、周辺装置の駆動部に高価な減速機を用い、リンク構造も強化する必要があり、装置は大型化・コスト高となる。
【０００７】
ワークの重力たわみを補正する技術として、特開２００２−３５１５３１号公報（特許文献３）は、ワークの変形に起因する各作業点の位置および各作業点における作業方向のずれを合理的に検出・推定するようにして、効率的にかつ適正な作業精度でオフライン教示データを補正する教示データ補正方法を開示する。この教示データ補正方法は、ワークに設けられる２つの計測点の位置および方向を検出し、該検出された各計測点の位置データおよび方向データに基づいて各作業点の実際の位置データおよび方向データを推定し、該推定された各作業点の位置データおよび方向データに基づいて教示データを補正することを特徴とする。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平４−３３００６号公報
【特許文献２】特開平１１−１３４０１２号公報
【特許文献３】特開２００２−３５１５３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した特許文献１、特許文献２に開示された技術は、補正対象がマニピュレータに限定され、ワーク、周辺機器を含めた補正ができない。また、特許文献３に開示された技術は、以下に示すような問題が生じる。
特許文献３に開示された技術では、教示データ補正のための特殊なセンサ装置及びマーキング作業が必要であって、対象物が複雑で教示位置点数が多数必要な場合、マーキング作業に時間を要するばかりでなく、センサによる検出処理のためタクトタイムが増大するという問題点がある。加えて、経路移動中の補正ができず、線作業用ロボットで使用できない。
【００１０】
すなわち、特許文献３においては、航空機翼への穿孔作業について言及しているが、穿孔作業のように作業が教示点毎で完結する「点作業型」である場合はよいが、アーク溶接・塗装・シーリング等の教示点間を移動しながら加工作業を継続する「線作業型」ロボットシステムの場合、経路移動中にも重力たわみ誤差が変化するため、十分に補正することができない。特に、教示点間距離が長い場合や、経路移動中にポジショナによってワークが回転される場合は、経路移動中に重力たわみ量が大きく変化し誤差が増大し、高い精度を確保できない。
【００１１】
そこで、本発明は、上記問題点を鑑み、ロボットのオフライン教示において、ロボット、周辺装置(スライダ・ポジショナ)、対象ワークの重力たわみ量を、３次元データモデル（３次元ＣＡＤデータ等）から計算し、教示位置データをオフライン教示段階で事前に補正して、誤差を許容範囲内に抑えることができるロボットのオフライン教示装置、ロボットのオフライン教示方法、及び当該オフライン教示装置を備えたロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述の目的を達成するため、本発明においては以下の技術的手段を講じた。
すなわち、本発明に係るロボットオフライン教示装置は、マニピュレータとワークとを含む３次元データモデルと、前記マニピュレータの姿勢変化に伴って発生する当該マニピュレータの重力たわみ量を、前記３次元データモデルに基づいて算出するたわみ量算出手段と、前記算出された重力たわみ量に基づいて、教示点を補正する教示点補正手段と、教示点の補正後に、教示点間の移動経路における前記重力たわみ量を算出して、経路途中で前記重力たわみ量が予め定められた許容値を超えた場合に、経路途中に新たな教示点を挿入する教示点挿入手段と、を有することを特徴とする。
【００１３】
この教示装置によると、３次元データモデルに基づいて算出されたマニピュレータのツール先端の動的な重力たわみ量を用いて教示点が補正される。補正された教示点の移動経路における重力たわみ量が算出されて、移動経路中において重力たわみ量が増大して許容値を超えると、経路途中に新たな教示点が挿入される。このため、マニピュレータの移動に伴い変化する重力たわみに起因する誤差が解消されて、溶接・塗装・シーリング等の線作業型ロボットにおいても、オフライン教示データの精度を向上させることが可能となる。
【００１４】
好ましくは、前記３次元データモデルでワークがポジショナに搭載されている際には、前記たわみ量算出手段は、前記ポジショナの姿勢変化に伴って発生する前記ワークの重力たわみ量も算出するとよい。
ワークがポジショナに搭載されている場合、ポジショナの姿勢変化に伴いワークの姿勢が変化する。このワークの姿勢変化によりワーク自体に重力たわみ量が生じる。また、ポジショナの姿勢変化に伴い、ポジショナ自体にも重力たわみ量が生じるが、このポジショナ自体の重力たわみ量は、ワークの重力たわみ量に加算されるものとなる。
【００１５】
本発明の教示装置によれば、このようなワークの重力たわみ量を算出して考慮すると共にツール先端の重力たわみも考慮して、教示点が補正されるものとなっている。移動経路中における重力たわみ量が許容値を超えると、経路途中に新たな教示点が挿入される。このため、マニピュレータの移動及びポジショナ上のワークの移動に伴い変化する重力たわみに起因する誤差が解消されて、ワークを載置したポジショナを含むロボットシステムのオフライン教示データの精度を向上させることが可能となる。
さらに好ましくは、前記３次元データモデルでマニピュレータが移動装置に搭載されている際には、前記たわみ量算出手段は、前記移動装置に対するマニピュレータの位置及び姿勢の変化に伴って発生する当該移動装置の重力たわみ量も算出するとよい。
【００１６】
マニピュレータが移動装置に搭載されている場合、移動装置に対するマニピュレータの位置及び姿勢の変化に伴って、移動装置に重力たわみ量が発生する。この移動装置の重力たわみ量は、マニピュレータのツール先端の重力たわみ量となるが、本発明の教示装置によれば、このような移動装置の重力たわみ量も考慮して、教示点が補正されるものとなっている。移動経路中における重力たわみ量が許容値を超えると、経路途中に新たな教示点が挿入される。このため、マニピュレータの移動に伴い変化する重力たわみに起因する誤差が解消されて、ロボットシステムのオフライン教示データの精度を向上させることが可能となる。
【００１７】
また、本発明に係るロボットシステムは、マニピュレータと、ワークを把持するポジショナと、前記マニピュレータ及びポジショナを制御する制御装置と、上述したオフライン教示装置を備えることを特徴とする。
一方、本発明に係るロボットのオフライン教示方法は、マニピュレータとポジショナと該ポジショナに搭載されたワークを含む３次元データモデルを用いて、前記マニピュレータの姿勢変化に伴って発生する当該マニピュレータの重力たわみ量及び前記ポジショナの姿勢変化に伴うワークの重力たわみ量を算出し、算出された重力たわみ量に基づいて、予め設定されている教示点を補正し、教示点の補正後に、教示点間の移動経路における前記重力たわみ量を算出して、経路途中で前記重力たわみ量が予め定められた許容値を超えた場合に、経路途中に新たな教示点を挿入することを特徴とする。
【００１８】
この教示方法により、モデルに基づいて算出されたマニピュレータのツール先端の重力たわみとポジショナの姿勢変化に伴うワークの重力たわみ（作業位置の変化）との両方を基にして、教示点が補正される。補正された教示点の移動経路における重力たわみ量が算出されて、移動経路中において重力たわみ量が増大して許容値を超えると、経路途中に新たな教示点が挿入される。このため、マニピュレータ及びポジショナの移動に伴い変化する重力たわみに起因する誤差が解消されて、溶接・塗装・シーリング等の線作業型ロボットにおいても、オフライン教示データの精度を向上させることが可能となる。
【発明の効果】
【００１９】
本発明に係るロボットのオフライン教示装置、ロボットのオフライン教示方法、及び当該オフライン教示装置を備えたロボットシステムによると、教示点を重力たわみ量に基づき補正した後に、教示点間の移動経路における重力たわみ量を算出して、経路途中で重力たわみ量が予め定められた許容値を超えると経路途中に新たな教示点を挿入するので、教示点をオフライン教示段階で事前に補正して、誤差を許容範囲内に抑えることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係るオフライン教示装置で制御されるロボットシステムの全体構成図である。
【図２】ポジショナの姿勢変化に伴ってワークに生じる重力たわみ量を説明するための図である。
【図３】重力たわみの補正を説明するための図である。
【図４】教示点挿入処理のフローチャート（その１）である。
【図５】教示点挿入処理のフローチャート（その２）である。
【図６】教示点ごとの重力たわみの状態、教示点間の補正後軌跡の状態、教示点間に挿入された教示点の状態を示す模式図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態を、図を基に説明する。
なお、以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
本実施形態に係るロボットオフライン教示装置によりオフラインティーチングされるロボットシステムについて説明する。なお、以下に示すロボットシステムでは、マニピュレータを取り付けベースごと移動させる移動装置及びワークの姿勢を変更するポジショナを備えるものとして説明するが、移動装置及びポジショナの一方又は双方を備えないロボットシステムへの本技術の適用を積極的に除外するものではない。
【００２２】
図１に示すように、このロボットシステム１は、溶接ロボットシステムであって、実機ロボット１０とオフライン教示用計算機２０（オフライン教示装置）とで構成される。実機ロボット１０は、６軸垂直多関節マニピュレータ１１（以下、単にマニピュレータ１１と記載する場合がある）（関節角θm＝θm1〜θm6）と、溶接トーチ１２（ツール）と、６軸垂直多関節マニピュレータ１１の取り付けベースごと移動させる１軸の移動装置１３と、溶接対象ワーク１５（以下、単にワーク１５と記載する）の姿勢を変更する２軸のポジショナ１４と、ロボット制御装置１６とから構成される。移動装置１３はＳx軸方向のみの移動を行うものであり、ポジショナ１４は傾斜軸θp1、回転軸θp2を有している。
【００２３】
ロボット制御装置１６は、６軸垂直多関節マニピュレータ１１、移動装置１３及びポジショナ１４を制御する。溶接対象ワーク１５は、ポジショナ１４の回転テーブルに固定され、ポジショナ１４により傾斜されたり回転されたりする。なお、図１においては、紙面の鉛直下向きを重力方向としている。
オフライン教示用計算機２０は、マニピュレータ１１とワーク１５を含む３次元データモデルと、３次元データモデルに基づいて、マニピュレータ１１のツール先端の重力たわみ量を算出するたわみ量算出手段と、算出された重力たわみ量に基づいて、教示点を補正する教示点補正手段と、教示点の補正後に、教示点間の移動経路における重力たわみ量を算出して、経路途中で重力たわみ量が予め定められた許容値を超えた場合に、経路途中に新たな教示点を挿入する教示点挿入手段とを有している。
【００２４】
具体的には、オフライン教示用計算機２０は、パソコンであって、本体２１と、表示部２２と、入力部２３とから構成される。上述したたわみ量算出手段、教示点補正手段、教示点挿入手段はプログラムとして実現されている。さらに、オフライン教示用計算機２０には、ＣＡＤ等によりマニピュレータ１１、移動装置１３、ポジショナ１４の３次元データモデルと、重力たわみの計算に必要な設計パラメータが設定されて記憶されている。これら設計パラメータは、リンクの重心や質量、弾性係数、関節のバネ定数等であり、これらの値は各装置の機械仕様から決定される。また、ワーク１５に対する加工具先端位置のズレ許容量△Ｅ［ｍｍ］も設定済みである。なお、ズレ許容量△Ｅは、換言すれば「ロボットの先端位置精度」であり、例えばアーク溶接では１ｍｍ以下の精度が要求される。
【００２５】
オフライン教示用計算機２０は、ロボット制御装置１６に接続されており、ロボット制御装置１６へオフライン教示データを送信する。ロボット制御装置１６は、教示データに従って、マニピュレータ１１、移動装置１３及びポジショナ１４の各関節のサーボモータの位置を制御する。なお、本実施形態においてはロボット制御装置１６側での重力たわみ補正は行なわないものとする。
本実施形態においては、以下の重力たわみを補正対象とする。
（１）マニピュレータ１１の重力たわみδm（マニピュレータ１１の位置によって変化）
（２）移動装置１３の重力たわみδs（マニピュレータ１１及び移動装置１３の位置によって変化）
（３）ポジショナ１４の姿勢変化に伴ってワーク１５に生じる重力たわみ量δp（ポジショナ１４の位置によって変化）
この他に、溶接トーチ１２自身及びワーク１５自身の重力たわみがあるが、本実施形態においては無視できるものと考える。しかしながら、これらが無視できない場合には、本発明は、ツールである溶接トーチ１２及び／又はワーク１５に対する重力たわみを補正対象とする。このため、オフライン教示用計算機２０は、これらの重力たわみを算出できるように、ツール及びワークの３次元データモデル及び／又はパラメータも記憶している。
【００２６】
まず、マニピュレータ１１の重力たわみδmの計算方法について述べる。
６軸垂直多関節マニピュレータ１１の主な重力たわみは各関節の減速機での弾性変形であり、弾性変形を計算するために、先端ツールの重量及び重心位置、マニピュレータ１１の各リンクの長さ、重量、重心位置及び各関節のばね定数Ｋ［Ｎ・ｍ／ｒａｄ］が、３次元モデル又はパラメータとして必要になる。ここで、マニピュレータの１１の運動方程式が式（１）で表わされる。
【００２７】
【数１】
2010231575.tif 000003
【００２８】
パラメータを用いて、この式（１）の重力項ｇ(θ)［Ｎ・ｍ］が計算でき、各関節の重力によるたわみ量Δθm［ｒａｄ］は、Δθm＝ｇ(θ)／Ｋにより算出できる。
補正前のツール先端位置Ｐtcpから逆運動学計算によって各関節角θを求め、Δθm＝ｇ(θ)／Ｋにより、たわみ量Δθmを計算する。重力たわみ量を補正した関節角θ'＝θ−Δθmを順運動学計算でツール先端位置Ｐtcp'に変換することにより、マニピュレータたわみ量δmは、δm＝Ｐtcp−Ｐtcp'で算出できる。
次に、移動装置１３の重力たわみδsの計算方法について述べる。
【００２９】
図１に示すように、本実施形態に係るロボットシステム１の移動装置１３を「片持ち梁モデル」とみなすと、移動装置１３の縦弾性係数Ｅ［Ｎ／ｍｍ2］、移動装置１３の寸法(張り出し長さＬ［ｍｍ］、横幅ｂ［ｍｍ］、厚さｄ［ｍｍ］)が３次元データモデル又はパラメータとして必要になる。
移動装置１３に加わる荷重は、式（１）で算出済みのマニピュレータ重力項ｇ(θ)であり、移動装置１３の位置がＳx［ｍｍ］の位置における移動装置たわみδs［ｍｍ］は、以下の式（２）により算出できる。
【００３０】
【数２】
2010231575.tif 000004
【００３１】
次に、ポジショナ１４の重力たわみδpの計算方法について述べる。
図２に示すように、本実施形態に係るロボットシステム１のポジショナ１４を「片持ち型２軸型ポジショナ」とする。マニピュレータ１１と同様に、ポジショナ１４においても、主な重力たわみは各関節の減速機での弾性変形であるとみなし、弾性変形を計算するため、ポジショナ１４のリンク構造と各リンク毎の重心・質量、各関節のばね定数Ｋ＝（Ｋ1、Ｋ2)［Ｎ・ｍ／ｒａｄ］、搭載しているワーク１５の重心・質量が、３次元モデル又はパラメータとして必要になる。
【００３２】
１軸→２軸の回転行列及び２軸からワーク重心Ｐwへの回転行列が式(３)により表わされるので、図２（ｂ）のＸ1−Ｙ2−Ｚ3座標系から見たワーク重心位置Ｐw（Ｘw、Ｙw、Ｚw）は、式（４）で表わされる。
【００３３】
【数３】
2010231575.tif 000005
【００３４】
重力によって、ポジショナ１４の傾斜軸にかかるトルクτ1、回転軸にかかるトルクτ2は、それぞれ、式（５）に示すようにして算出できる。
【００３５】
【数４】
2010231575.tif 000006
【００３６】
このトルクから、ポジショナたわみ量δp＝（δp1、δp2）［ｒａｄ］が、δp1＝Ｋ1／τ1、δp2＝Ｋ2／τ2と求めることができる。
さてここで、本実施形態においては、ロボットシステム１における重力たわみを以下のように補正する。
上述したように、本実施形態における補正対象の重力たわみは、マニピュレータ１１の重力たわみ量δm、移動装置１３の重力たわみ量δs、ポジショナ１４の重力たわみ量δpであるので、これらのたわみ量の合計δ＝δm＋δs＋δpが溶接トーチ１２先端のワーク１５に対するズレであり、溶接トーチ１２先端位置ＰtをＰt'＝Ｐt'−δにより補正することができる。
【００３７】
詳しくは、操作者は、オフライン教示用計算機２０を用いて、溶接開始位置〜中間位置〜溶接終了位置を教示点Ｐiとして指定し、オフライン教示用計算機２０はこれを記憶する。教示点Ｐiとして、直交座標系での溶接トーチ１２の先端位置・姿勢角Ｐt（Ｘ、Ｙ、Ｚ、α、β、γ)と、移動装置１３の位置Ｓx、ポジショナ１４の関節角度（θp1、θp2）とが記憶されている。
溶接トーチ１２の位置ＰtをＰt'に補正する方法に関しては、ポジショナ１４の重力たわみδpは溶接対象ワーク１５のズレであり、マニピュレータ１１及び移動装置１３のたわみ（δm＋δs）は加工具先端位置のズレであることから、符号に注意して、δ＝δp−（δm＋δs）、Ｐt'＝Ｐt＋δ*g（gは重力方向の単位ベクトル）となる。
【００３８】
図３（ａ）に、ポジショナ１４の重力たわみ量δpによりワーク１５が下にずれて、教示位置もδp下げる場合を、図３（ｂ）に、マニピュレータと移動装置の重力たわみ（δm＋δs）により溶接トーチ１２が下にずれて、教示位置を（δm＋δs）上げる場合を、それぞれ示す。
さらに、本実施形態においては、与えられた全教示点Ｐ(i)をＰt'＝Ｐt＋δ*gを用いて補正して補正教示点Ｐ'(i)を算出した上で、補正後のツールの移動経路を計算し、移動経路中にたわみδが増大し、位置誤差が許容範囲以上となった際に、経路途中に新たな教示点を挿入することを特徴とする。
【００３９】
図４及び図５に示すフローチャートを参照して、上述の教示点挿入処理について詳しく説明する。この処理はオフライン教示用計算機２０にて行われる。
まず、ステップ（以下、ステップをＳと記載する）１００にて、教示点データとしてＰ(i)（i＝１〜ｎ：ｎは２以上の整数）が入力され、補間方法として直線補間が、移動速度としてＶ［ｍｍ／ｓ］が指定される。
Ｓ１０２にて、全ての教示点Ｐ(i)（i＝１〜ｎ）について、教示点ごとにマニピュレータたわみ量δm、移動装置たわみ量δs、ポジショナたわみ量δpを算出する。Ｓ１０４にて、補正教示点Ｐ'(i)＝Ｐ(i)＋δ*g（i＝１〜ｎ）を算出する。なお、δ＝δm−（δs＋δp）である。
【００４０】
Ｓ１０６にて、最初の教示点として、Ｐ（1）を指定する。Ｓ１０８にて、計算機２０は、指定された補間方法及び移動速度並びに教示点Ｐ(i)に基づいて、Ｐ(i)からＰ(i＋1)までの経路における元軌跡Ｐ(t)を算出するとともに、指定された補間方法及び移動速度並びに教示点Ｐ'(i)に基づいて、Ｐ'(i)からＰ'(i＋1)までの経路における補正軌跡Ｐ'(t)を算出する。
Ｓ１１０にて、時間ｔをリセットする（ｔ＝０）。Ｓ１１２にて、計算機２０は、時間ｔ＝ｔ＋ΔＴ（ΔＴは制御周期、演算周期）とする。
【００４１】
Ｓ１１４にて、時刻ｔでの元軌跡上の位置Ｐ(t)と補正軌跡上の位置Ｐ'(t)との差ΔＰをΔＰ＝｜Ｐ'(t)−Ｐ(t)｜により算出する。Ｓ１１６にて、計算機２０は、位置Ｐ(t)における、マニピュレータたわみ量δm、移動装置たわみ量δs、ポジショナたわみ量δpを算出する。Ｓ１１８にて、計算機２０は、誤差ｅ＝｜ΔＰ＋δ*g｜を算出する。なお、δ＝δm−(δs＋δp)である。
Ｓ１２０にて、誤差ｅは許容範囲内であるか否かを判断する。誤差ｅ＜ズレ許容量△Ｅであると誤差ｅは許容範囲内であると判定されて（Ｓ１２０にてＹＥＳ）、処理はＳ１２４へ移される。もし、誤差ｅ≧ズレ許容量△Ｅであると誤差ｅは許容範囲内であると判定されないで（Ｓ１２０にてＮＯ）、処理はＳ１２２へ移される。
【００４２】
Ｓ１２２にて、挿入する教示点ＰをＰ(t)＋δ*gとして算出する。なお、δ＝δm−（δs＋δp）である。その後、処理はＳ１２４へ移される。
Ｓ１２４にて、次の教示点Ｐ(i＋1)に到達したか否かを判定する。次の教示点Ｐ(i＋1)に到達したと判定されると（Ｓ１２４にてＹＥＳ）、処理はＳ１２６へ移される。もしそうでないと（Ｓ１２４にてＮＯ）、処理はＳ１１２へ戻されて、さらなる挿入教示点の要否が判定される。
Ｓ１２６にて、最後の教示点Ｐ(n)に到達したか否かを判定する。最後の教示点Ｐ(n)に到達したと判定されると（Ｓ１２６にてＹＥＳ）、処理はＳ１２８へ移される。もしそうでないと（Ｓ１２６にてＮＯ）、処理はＳ１３０へ移される。
【００４３】
Ｓ１２８にて、挿入教示点を含めて補正軌跡を決定する。
Ｓ１３０にて、次の教示点の処理を行なうために、i＝i＋１の演算を行なう。このＳ１３０の後、処理はＳ１０８へ戻されて、次の教示点間における挿入教示点が処理される。
図６を基に以上の処理を説明すると、まず、図６（ａ）に示す如く、全ての教示点Ｐ(i)（i＝１〜ｎ）について、教示点ごとにマニピュレータたわみ量δm、移動装置たわみ量δs、ポジショナたわみ量δpが算出されて（Ｓ１０２）、補正教示点Ｐ'(i)＝Ｐ(i)＋δ*g（i＝１〜ｎ）が算出される（Ｓ１０４）。この処理は、たわみ量算出手段で行われる。
【００４４】
次に、図６（ｂ）に示す如く、指定された補間方法（直線補間）及び移動速度（Ｖ［ｍｍ／ｓ］）並びに教示点Ｐ(i)に基づき、Ｐ(i)からＰ(i＋1)までの経路における元軌跡Ｐ(t)が算出される（Ｓ１０８）。さらに、指定された補間方法（直線補間）及び移動速度（Ｖ［ｍｍ／ｓ］）並びに教示点Ｐ'(i)に基づいて、Ｐ'(i)からＰ'(i＋1)までの経路における補正軌跡Ｐ'(t)が算出される（Ｓ１０８）。この処理は教示点補正手段で行われる。
その後、図６（ｃ）に示すように、時刻ｔでの元軌跡上の位置Ｐ(t)と補正軌跡上の位置Ｐ'(t)との差ΔＰが、ΔＰ＝｜Ｐ'(t)−Ｐ(t)｜として算出される（Ｓ１１４）。位置Ｐ(t)における、マニピュレータたわみ量δm、移動装置たわみ量δs、ポジショナたわみ量δpが算出されて、誤差ｅ＝｜ΔＰ＋δ*g｜が算出される（Ｓ１１６、Ｓ１１８）。誤差ｅが許容範囲内であるときには（Ｓ１２０にてＹＥＳ）、挿入教示点Ｐについての処理は行なわれない。
【００４５】
一方、図６（ｄ）に示すように、誤差ｅが許容範囲内にないときには（Ｓ１２０にてＮＯ）、挿入教示点ＰをＰ(t)＋δ*gとして算出して（Ｓ１２２）、挿入教示点を含めて補正軌跡が決定される（Ｓ１２８）。これらの処理は、教示点挿入手段で行われる。
以上のようにして、本実施形態に係るロボットオフライン教示装置（オフライン教示用計算機２０）によると、対象ワークが大型の重量物で、「重力たわみ」による誤差が問題となる場合であっても、適正に教示位置を補正することができる。
より具体的には、
（１）実機ロボット側の補正用手段が不要
重力たわみ補正を、実機ではなくオフライン教示段階で行なうことにより、従来のようなロボット実機側での補正手段(センサ計測装置、マーキング作業、計測・補正動作)が不要となり、大幅なコスト低減およびタクトタイム低減が図れる。また、オフライン教示用計算機の追加のみで本実施形態に係る補正機能を実現することができるので、既存生産ラインへの導入が迅速かつ円滑に行なうことができる。
（２）線加工型ロボットでも使用可能
各装置の移動に伴い変化する重力たわみ誤差も解消し、溶接・塗装・シーリング等の線作業型ロボットにおいても加工精度の向上が可能となる。
（３）オフライン教示での事前検証による精度向上
重力たわみをオフライン教示段階で考慮することにより、シミュレーションにおいて、より実機に近いロボット動作を模擬させることができ、タクトタイム算定や、ロボットとワークとの衝突の有無等について、より精度の高い事前検証が行なえ、実機側での位置修正工数が大幅に低減する。
（４）高剛性な装置が不要
重力たわみ補正により、剛性の低い（すなわち、重力たわみが大きい）移動装置又はポジショナ等であっても高い精度を確保でき、移動装置又はポジショナ等の大型周辺装置の軽量化及び低コスト化が図れる。
【００４６】
今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００４７】
１      ロボットシステム
１０    実機ロボット
１１    マニピュレータ
１２    溶接トーチ
１３    移動装置
１４    ポジショナ
１５    溶接対象ワーク
１６    ロボット制御装置
２０    オフライン教示用計算機
【図４】
2010231575.tif 000007
【図５】
2010231575.tif 000008
【図１】
2010231575.tif 000009
【図２】
2010231575.tif 000010
【図３】
2010231575.tif 000011
【図６】
2010231575.tif 000012