(57)【要約】【課題】現場での調整作業に必要な精度を有する動作軌道を表示することのできるロボットシステム、及びロボットのティーチング方法を提供する。【解決手段】ロボットシステム１０は、アーム２１を有するロボット２０と、カメラ４４及びディスプレイ４２を有するティーチングペンダント４０と、予め設定されたプログラム及びペンダント４０の操作に基づいて、アーム２１の動作を制御するロボットコントローラ３０と、を備える。コントローラ３０は、カメラ４４による撮影画像をディスプレイ４２に表示させ、表示されるアーム２１の動作開始位置を始点としてアーム２１の軌道をディスプレイ４２に表示させ、プログラム及びペンダント４０の操作に基づいて、軌道上の所定位置を目標としてアーム２１を動作させ、動作が終了した場合に、アーム２１の実位置と所定位置とのずれ量を算出し、実位置を動作開始位置に設定し、アーム２１の軌道をずれ量だけ修正する。【選択図】      図１
2014065100.tif 000002
【特許請求の範囲】
【請求項１】
被駆動部を有するロボットと、
撮影により画像を取得するカメラ、及び画像を表示する表示部を有し、前記被駆動部の動作を使用者の操作により設定する操作器と、
予め設定されたプログラム及び前記操作器の操作に基づいて、前記被駆動部の動作を制御する制御部と、
を備えるロボットシステムであって、
前記制御部は、
前記カメラによる撮影で取得される画像を、前記表示部に表示させる画像表示手段と、
前記画像表示手段により前記表示部に表示される前記被駆動部の動作開始位置を始点として、前記プログラムに基づいて前記被駆動部を動作させる際の軌道を前記表示部に表示させる軌道表示手段と、
前記軌道表示手段により前記表示部に前記軌道が表示された後に、前記プログラム及び前記操作器の操作に基づいて、前記軌道上の所定位置を目標として前記被駆動部を動作させる動作手段と、
前記動作手段による動作が終了した場合に、前記画像表示手段により前記表示部に表示された前記被駆動部の実位置と前記所定位置とのずれ量を算出するずれ量算出手段と、
前記実位置を前記動作開始位置に設定し、前記プログラムに基づいて前記被駆動部を動作させる際の前記軌道を、前記ずれ量算出手段により算出された前記ずれ量だけ修正して、前記軌道表示手段により前記軌道を前記表示部に表示させる軌道修正手段と、
を備えることを特徴とするロボットシステム。
【請求項２】
前記ずれ量算出手段は、前記ロボットを含む３次元空間における前記実位置と前記所定位置とのずれ量を算出し、
前記軌道修正手段は、前記３次元空間において、前記プログラムに基づいて前記被駆動部を動作させる際の前記軌道を、前記ずれ量算出手段により算出された前記ずれ量だけ修正する請求項１に記載のロボットシステム。
【請求項３】
前記ずれ量算出手段は、前記表示部に表示された画像における前記実位置と前記所定位置とのずれ量を算出し、
前記軌道修正手段は、前記表示部に表示された画像において、前記プログラムに基づいて前記被駆動部を動作させる際の前記軌道を、前記ずれ量算出手段により算出された前記ずれ量だけ修正する請求項１に記載のロボットシステム。
【請求項４】
前記所定位置は、前記プログラムに基づいて前記被駆動部を動作させる際に、前記被駆動部の目標として順に設定された複数の教示点である請求項１〜３のいずれか１項に記載のロボットシステム。
【請求項５】
前記軌道表示手段は、前記軌道と共に前記教示点を前記表示部に表示させる請求項４に記載のロボットシステム。
【請求項６】
前記軌道表示手段は、前記軌道を前記表示部に表示させる際に、それ以前に前記表示部に表示された前記軌道を消去する請求項１〜５のいずれか１項に記載のロボットシステム。
【請求項７】
前記軌道表示手段は、前記軌道及び前記教示点を前記表示部に表示させる際に、それ以前に前記表示部に表示させた前記軌道及び前記教示点を消去する請求項５に記載のロボットシステム。
【請求項８】
請求項１〜７のいずれか１項に記載のロボットシステムを用いて前記ロボットをティーチングする方法であって、
前記軌道修正手段により、前記実位置を前記動作開始位置に設定し、前記プログラムに基づいて前記被駆動部を動作させる際の前記軌道を、前記ずれ量算出手段により算出された前記ずれ量だけ修正した後に、
前記使用者による前記操作器の操作により前記プログラムを変更して、前記被駆動部を動作させる際の軌道を調整することを特徴とするロボットのティーチング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステム、及びロボットシステムを用いたロボットのティーチング方法に関する。
【背景技術】
【０００２】
従来、ロボットのティーチングでは、ＣＡＤ等を用いたシミュレーションモデルによりロボットの基本的な動作プログラムを作成し、現場において現実のロボット及び設備等との差を調整している。
【０００３】
しかしながら、ロボットの動作先の座標が分かったとしても、現実のロボットの動作軌道を予測することは困難であるため、現場での調整作業に多くの手間が掛かっている。そこで、特許文献１に記載のものでは、カメラにより撮影したロボットの画像に重ねて、コンピュータにより計算されたロボットの動作軌道を表示させている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２４３５１６
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１に記載のものでは、コンピュータにより計算されたロボットの動作軌道を表示しているものの、その動作軌道と現実のロボットの動作軌道とは必ずしも一致しない。その理由として、現実のロボットには、シミュレーションモデルには存在しなかった「組立公差」や「部品交差」といった設計値からのずれが存在するため、計算された動作軌道をそのまま表示するだけでは現実の動作軌道を正しく表示することはできない。このため、特許文献１に記載のものは、現場での調整作業に適していない。
【０００６】
ここで、計算された動作軌道に設計値からのずれを反映させることも考えられる。例えば、キャリブレーションにより動作全体の平均として、ずれ量をある程度把握することはできる。しかしながら、ずれ量はロボットの動作する軌道やロボットの姿勢等により少しずつ変動するので、動作全体の平均的なずれ量を把握したとしても、個々の動作位置において調整作業に必要な精度を有する動作軌道を得ることはできない。
【０００７】
本発明は、こうした実情に鑑みてなされたものであり、その主たる目的は、現場での調整作業に必要な精度を有する動作軌道を表示することのできるロボットシステム、及びそのロボットシステムを用いたロボットのティーチング方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、上記課題を解決するために、以下の手段を採用した。
【０００９】
第１の手段は、被駆動部を有するロボットと、撮影により画像を取得するカメラ、及び画像を表示する表示部を有し、前記被駆動部の動作を使用者の操作により設定する操作器と、予め設定されたプログラム及び前記操作器の操作に基づいて、前記被駆動部の動作を制御する制御部と、を備えるロボットシステムであって、前記制御部は、前記カメラによる撮影で取得される画像を、前記表示部に表示させる画像表示手段と、前記画像表示手段により前記表示部に表示される前記被駆動部の動作開始位置を始点として、前記プログラムに基づいて前記被駆動部を動作させる際の軌道を前記表示部に表示させる軌道表示手段と、前記軌道表示手段により前記表示部に前記軌道が表示された後に、前記プログラム及び前記操作器の操作に基づいて、前記軌道上の所定位置を目標として前記被駆動部を動作させる動作手段と、前記動作手段による動作が終了した場合に、前記画像表示手段により前記表示部に表示された前記被駆動部の実位置と前記所定位置とのずれ量を算出するずれ量算出手段と、前記実位置を前記動作開始位置に設定し、前記プログラムに基づいて前記被駆動部を動作させる際の前記軌道を、前記ずれ量算出手段により算出された前記ずれ量だけ修正して、前記軌道表示手段により前記軌道を前記表示部に表示させる軌道修正手段と、を備えることを特徴とする。
【００１０】
上記構成によれば、使用者が操作器のカメラによりロボットを撮影すると、撮影で取得されたロボットの画像が操作器の表示部に表示される。そして、表示部に表示されたロボットの被駆動部の動作開始位置を始点として、予め設定されたプログラムに基づいて被駆動部を動作させる際の軌道が表示部に表示される。表示部に軌道が表示された後に、プログラム及び操作器の操作に基づいて、軌道上の所定位置を目標として被駆動部が動作させられる。このとき、現実のロボットには、「組立公差」や「部品交差」といった設計値からのずれが存在するため、表示部に表示された軌道と現実の軌道とにずれが生じることとなる。
【００１１】
この点、上記動作が終了した場合に、表示部に表示された被駆動部の実位置と上記所定位置とのずれ量が算出される。そして、実位置が次の動作開始位置に設定され、プログラムに基づいて被駆動部を動作させる際の軌道が、算出されたずれ量だけ修正される。そして、被駆動部の実位置を始点として、修正された軌道が表示部に表示される。
【００１２】
ここで、算出されたずれ量は、当初の動作開始位置から所定位置を目標として被駆動部が動作された際に、実際に生じたずれ量である。このため、このずれ量は、被駆動部の直近の動作における軌道やロボットの姿勢等の影響を受けたものであり、所定位置よりも先の目標へ被駆動部が動作する際に生じる軌道のずれに近いものとなる。したがって、修正された軌道は、実位置から被駆動部を移動させる際の軌道として、現場での調整作業に必要な高い精度を有している。
【００１３】
第２の手段では、前記ずれ量算出手段は、前記ロボットを含む３次元空間における前記実位置と前記所定位置とのずれ量を算出し、前記軌道修正手段は、前記３次元空間において、前記プログラムに基づいて前記被駆動部を動作させる際の前記軌道を、前記ずれ量算出手段により算出された前記ずれ量だけ修正する。
【００１４】
上記構成によれば、所定位置を目標とした動作が終了した場合に、表示部に表示された被駆動部の実位置と上記所定位置とのずれ量として、ロボットを含む３次元空間における上記実位置と上記所定位置とのずれ量が算出される。そして、上記３次元空間において、プログラムに基づいて被駆動部が動作させられる際の軌道が、算出されたずれ量だけ修正される。したがって、ロボットを含む３次元空間におけるずれ量を反映して、修正された軌道を正確に表示部に表示させることができる。
【００１５】
第３の手段では、前記ずれ量算出手段は、前記表示部に表示された画像における前記実位置と前記所定位置とのずれ量を算出し、前記軌道修正手段は、前記表示部に表示された画像において、前記プログラムに基づいて前記被駆動部を動作させる際の前記軌道を、前記ずれ量算出手段により算出された前記ずれ量だけ修正する。
【００１６】
上記構成によれば、所定位置を目標とした動作が終了した場合に、表示部に表示された被駆動部の実位置と上記所定位置とのずれ量として、表示部に表示された画像における上記実位置と上記所定位置とのずれ量が算出される。そして、上記表示部に表示された画像において、プログラムに基づいて被駆動部が動作させられる際の軌道が、算出されたずれ量だけ修正される。したがって、表示部に表示された画像におけるずれ量を反映して、修正された軌道を容易に表示部に表示させることができる。
【００１７】
第４の手段では、前記所定位置は、前記プログラムに基づいて前記被駆動部を動作させる際に、前記被駆動部の目標として順に設定された複数の教示点である。
【００１８】
上記構成によれば、被駆動部の目標として順に設定された複数の教示点のうち、直近の教示点を目標として被駆動部が動作させられる。そして、この動作が終了した場合に、上記実位置と上記所定位置とのずれ量が算出され、実位置が動作開始位置に設定されるとともに、プログラムに基づいて被駆動部を動作させる際の軌道がずれ量だけ修正される。以後、次の教示点を目標とした被駆動部の動作と、この動作で生じたずれ量による軌道の修正とが繰り返し行われる。したがって、被駆動部の目標として複数の教示点が設定されている場合に、各教示点を動作開始位置とした動作において、常に被駆動部の直近の動作により生じたずれ量を反映して軌道を修正することができる。その結果、各教示点において常に高い精度を有する軌道を表示させることができる。
【００１９】
第５の手段では、前記軌道表示手段は、前記軌道と共に前記教示点を前記表示部に表示させる。
【００２０】
上記構成によれば、軌道と共に教示点が表示部に表示されるため、被駆動部が動作させられる際に次の目標を容易に把握することができる。
【００２１】
第６の手段では、前記軌道表示手段は、前記軌道を前記表示部に表示させる際に、それ以前に前記表示部に表示された前記軌道を消去する。
【００２２】
所定位置を目標とした被駆動部の動作が終了した場合に、被駆動部の実位置を始点として、修正された軌道が表示部に表示されると、それ以前に表示部に表示されていた軌道が邪魔になることがある。また、使用者が被駆動部の軌道を調整する際には、現在位置よりも先の軌道が重要であり、現在位置までの軌道は重要ではない。
【００２３】
この点、上記構成によれば、軌道を表示部に表示させる際に、それ以前に表示部に表示された軌道が消去される。このため、調整において重要でない軌道を消去して、調整において重要である修正された軌道の視認性を向上させることができる。
【００２４】
第７の手段では、前記軌道表示手段は、前記軌道及び前記教示点を前記表示部に表示させる際に、それ以前に前記表示部に表示させた前記軌道及び前記教示点を消去する。
【００２５】
上記構成によれば、第６の手段と同様にして、調整において重要でない軌道及び教示点を消去して、調整において重要である修正された軌道及び教示点の視認性を向上させることができる。
【００２６】
第８の手段は、第１〜第７の手段のいずれか１つのロボットシステムを用いて前記ロボットをティーチングする方法であって、前記軌道修正手段により、前記実位置を前記動作開始位置に設定し、前記プログラムに基づいて前記被駆動部を動作させる際の前記軌道を、前記ずれ量算出手段により算出された前記ずれ量だけ修正した後に、前記使用者による前記操作器の操作により前記プログラムを変更して、前記被駆動部を動作させる際の軌道を調整することを特徴とする。
【００２７】
上記工程によれば、所定位置を目標とした被駆動部の動作が終了した場合に、被駆動部の実位置を始点として、修正された軌道が表示部に表示される。このため、使用者は、上記動作が終了した時点で、被駆動部の実位置と所定位置とのずれ量、及びこのずれ量を反映した軌道を把握することができる。したがって、その後に使用者による操作器の操作によりプログラムを変更すれば、被駆動部を動作させる際の軌道を正確に調整することができる。
【図面の簡単な説明】
【００２８】
【図１】ロボットシステムの概要を示す斜視図。
【図２】ロボット及び動作軌道を表示するディスプレイ画面。
【図３】第２教示点を目標として動作したロボットを表示するディスプレイ画面。
【図４】ロボット及び修正された動作軌道を表示するディスプレイ画面。
【図５】第２教示点を目標とした動作後に修正された動作軌道を示す模式図。
【図６】第３教示点を目標とした動作後に修正された動作軌道を示す模式図。
【図７】第４教示点を目標とした動作後に修正された動作軌道を示す模式図。
【図８】各教示点で修正された動作軌道を示す模式図。
【発明を実施するための形態】
【００２９】
以下、一実施形態について、図面を参照しつつ説明する。本実施形態は、機械組立工場等において、機械等の組み立てを行うロボットシステムとして具体化している。
【００３０】
図１は、ロボットシステムの概要を示す斜視図である。同図に示すように、ロボットシステム１０は、ロボット２０、ロボットコントローラ３０、及びティーチングペンダント４０を備えている。
【００３１】
ロボット２０は、垂直多関節型のロボットであり、６つ（複数）の関節を有するアーム２１、及び基台２２を備えている。アーム２１（被駆動部）は、先端にハンド部２１ａを有している。アーム２１の各関節には、それぞれモータが設けられており、これらのモータの回転によりアーム２１が駆動される。各モータには、その出力軸を制動する電磁ブレーキと、出力軸の回転角度に応じたパルス信号を出力するエンコーダとがそれぞれ設けられている。ロボット２０は、アーム２１を動作させることにより、ワークに対する部品の組付けやワークの搬送等の作業を行う。
【００３２】
コントローラ３０（制御部）は、ＣＰＵ、ＲＯＭ、ＲＡＭ、データ記憶部、駆動回路、位置検出回路等を備えている。ＲＯＭは、ロボット２０のシステムプログラムや動作プログラム等を記憶している。ＲＡＭは、これらのプログラムを実行する際にパラメータの値等を記憶する。データ記憶部は、後述するカメラから入力される画像データ等を記憶する。位置検出回路には、各エンコーダの検出信号がそれぞれ入力される。位置検出回路は、各エンコーダの検出信号に基づいて、各関節に設けられたモータの回転角度を検出する。ＣＰＵは、予め設定された動作プログラム（プログラム）を実行することにより、位置検出回路から入力される位置情報に基づいて、アーム２１の各関節の回転角度（アーム２１の姿勢）を目標回転角度（目標姿勢）にフィードバック制御する。
【００３３】
ティーチングペンダント４０（操作機）は、ＣＰＵ、ＲＯＭ、及びＲＡＭを含むマイクロコンピュータ、各種の手動操作キー、ディスプレイ４２、並びにカメラ４４を備えている。ペンダント４０は、コントローラ３０に接続されており、コントローラ３０と通信可能となっている。オペレータ（使用者）は、このペンダント４０を手動操作して、ロボット２０の動作プログラムの作成、修正、登録、各種パラメータの設定を行うことができる。動作プログラムの修正等を行うティーチングでは、作業においてアーム２１のハンド部２１ａが通過する教示点（位置座標）を教示する。そして、オペレータは、コントローラ３０を通じて、ティーチングされた動作プログラムに基づきロボット２０を動作させることができる。換言すれば、コントローラ３０は、予め設定された動作プログラム及びペンダント４０の操作に基づいて、ロボット２０のアーム２１の動作を制御する。
【００３４】
カメラ４４は、ＣＣＤカメラであり、信号増幅部、Ａ／Ｄ変換部等を備えている。カメラ４４は、ペンダント４０の背面側の上部に配置されており、オペレータの操作に基づきロボット２０及びその周辺領域を撮影する。信号増幅部は、ＣＣＤカメラの出力信号を増幅する。Ａ／Ｄ変換部は、この増幅された信号をデジタル信号（撮影画像データ）に変換する。
【００３５】
ディスプレイ４２（表示部）は、ロボット２０に関する情報や、カメラ４４により取得された撮影画像を表示する。ロボット２０に関する情報としては、ロボット２０の型式、ロボット２０の動作状況、動作コマンド等が表示される。
【００３６】
ロボット２０は、固有のロボット座標系（Ｘ，Ｙ，Ｚ軸からなる三次元直交座標系）を有して構成され、コントローラ３０により、そのロボット座標系に基づいて、Ｘ軸方向（左右方向）及びＹ軸方向（前後方向）並びにＺ軸方向（上下方向）に自在に動作される。ロボット座標系は、例えば、基台２２の中心を原点として、床（作業台）の上面（水平面）をＸ−Ｙ平面とし、床に垂直な座標軸をＺ軸とし、基台２２の正面が向く方向を前方（Ｙ軸の＋方向）とするように定義される。ティーチングによって教示された教示点は、そのロボット座標系に基づく位置座標（位置ベクトル）にて記憶される。
【００３７】
上記ペンダント４０を用いたティーチング時（ロボット２０のマニュアル動作時）に、Ｘ，Ｙ，Ｚ方向の動作に関して、オペレータによるペンダント４０の操作で指示されるロボット２０（ハンド部２１ａ）の動作方向と、ロボット２０の実際の動作方向とを対応（シンクロ）させている。この手法の詳細については、特開２０１１−１８９４３１号公報に記載されているが、概要は以下の通りである。
【００３８】
カメラ４４は、ペンダント４０の背面側（裏面側）の上部に位置して、前方を撮影可能となっている。カメラ４４の光軸は、ペンダント４０の背面に対し直交する方向に延びている。ペンダント４０においては、ティーチングの開始時（及び作業中の周期的）に、自動で（或いはオペレータによるスイッチ操作に基づいて）、カメラ４４によるロボット２０全体の撮影画像が取込まれる。取込まれた撮影画像（画像データ）は、コントローラ３０に入力される。そして、コントローラ３０（画像表示手段）により、この撮影画像がディスプレイ４２に表示させられる。
【００３９】
ティーチングの開始時及び実行中において、コントローラ３０は、そのソフトウエア（コンピュータプログラム）により、ペンダント４０のカメラ４４によりロボット２０の撮影画像データを取込むと共に、ロボット２０におけるアーム２１の現在の位置情報（姿勢情報）から、ロボット２０の３次元画像モデル（以下、「３Ｄモデル」という）を作成する。
【００４０】
このとき、コントローラ３０が保有するロボット座標系を基準にした３Ｄモデルを作り、それをカメラ４４によるロボット２０の撮影画像と最も類似性が高くなるまで視点変更して自在に動かし、最も類似性の高い視点をペンダント視点とする。そして、基準となったロボット座標系と、そのペンダント視点におけるペンダント４０のディスプレイ４２の上下左右軸系との差をずれ量として設定する。その上で、オペレータによるペンダント４０の操作により指示される動作方向及び動作量を、設定されたずれ量に応じて、基準となるロボット座標系での動作方向及び動作量に変換する。これにより、ロボット２０の動作方向が、オペレータにより指示される動作方向に同期させられる。
【００４１】
また、ティーチングの開始時だけでなく、ティーチング作においても、例えば周期的にカメラ４４が撮影したロボット２０の画像から、上記と同様の処理により、ペンダント視点の検出に基づくずれ量の設定を行う。このため、ペンダント４０の操作により指示される動作方向と、実際のロボット２０の動作方向との対応関係が常に更新される。
【００４２】
本実施形態では、コントローラ３０（軌道表示手段）は、ディスプレイ４２に表示されるアーム２１の動作開始位置を始点として、動作プログラムに基づいてアーム２１を動作させる際の軌道をディスプレイ４２に表示させる。図２は、ロボット２０及び動作軌道を表示するディスプレイ４２の画面である。
【００４３】
まず、オペレータは、ペンダント４０を操作して動作プログラムを起動させ、アーム２１のハンド部２１ａを最初の教示点Ａ１（第１教示点）に移動させる。オペレータは、ペンダント４０を操作して、カメラ４４によりロボット２０を撮影する。コントローラ３０は、カメラ４４により取得された撮影画像を、ディスプレイ４２に表示させる。なお、カメラ４４により撮影される画像は動画であってもよいし、各教示点での静止画であってもよい。
【００４４】
ここで、上述したように、コントローラ３０は、ペンダント視点とロボット座標系との関係を把握しており、ディスプレイ４２の画面上での各教示点の位置を算出する。コントローラ３０は、アーム２１におけるハンド部２１ａの先端位置を教示点Ａ１として、教示点Ａ１以後の教示点Ｂ１〜Ｇ１をディスプレイ４２に表示させる。そして、コントローラ３０は、教示点Ａ１を始点として、教示点Ａ１〜Ｇ１を通過するアーム２１のハンド部２１ａの軌道ＯＢ１を、ディスプレイ４２に表示させる。オペレータは、この表示された軌道ＯＢ１で問題がないか否か、周囲の設備等との位置関係を確認する。
【００４５】
続いて、オペレータは、動作プログラムに基づいてハンド部２１ａを教示点Ｂ１（第２教示点）へ移動させるように、ペンダント４０を操作する。コントローラ３０（動作手段）は、動作プログラム及びオペレータによるペンダント４０の操作に基づいて、軌道ＯＢ１上の教示点Ｂ１（所定位置）を目標としてアーム２１を動作させる。
【００４６】
このとき、図３に示すように、ディスプレイ４２の画面上において、教示点Ａ１を始点として表示した軌道ＯＢ１上の教示点Ｂ１と、アーム２１のハンド部２１ａの実位置Ｂ２とにずれが生じることがある。コントローラ３０（ずれ量算出手段）は、教示点Ｂ１を目標とした動作が終了した場合に、ディスプレイ４２に表示されたアーム２１のハンド部２１ａの実位置Ｂ２と教示点Ｂ１とのずれ量を算出する。具体的には、コントローラ３０は、ペンダント視点とロボット座標系との関係に基づいて、ロボット２０を含む３次元空間における実位置Ｂ２と教示点Ｂ１との３次元座標のずれ量ＥＲ１を算出する。
【００４７】
続いて、図４に示すように、コントローラ３０（軌道修正手段）は、実位置Ｂ２を次の動作開始位置に設定する。そして、動作プログラムに基づいてアーム２１を動作させる際の以後の教示点Ｃ１〜Ｇ１（Ｃ１，Ｄ１のみ表示）を、算出されたずれ量ＥＲ１だけ修正して教示点Ｃ２〜Ｇ２（Ｃ２，Ｄ２のみ表示）とする。具体的には、教示点Ｃ１〜Ｇ１の３次元座標を、３次元座標のずれ量ＥＲ１だけ平行移動させる。そして、修正された教示点Ｃ２〜Ｇ２の３次元座標をペンダント視点に反映させて、ディスプレイ４２に教示点Ｃ２〜Ｇ２を表示させる。これに伴い、コントローラ３０は、教示点Ｂ１〜Ｇ１を通過するアーム２１のハンド部２１ａの軌道ＯＢ１を、教示点Ｂ２〜Ｇ２を通過する軌道ＯＢ２に修正する。
【００４８】
以後同様にして、オペレータは、動作プログラムに基づいてハンド部２１ａを次の教示点Ｃ２（所定位置）へ移動させるように、ペンダント４０を操作する。そして、コントローラ３０は、教示点Ｃ２を目標とした動作が終了した場合に、アーム２１のハンド部２１ａの実位置Ｃ３と教示点Ｃ２とのずれ量を算出し、教示点Ｄ２〜Ｇ２及び軌道ＯＢ２を算出されたずれ量だけ修正する。
【００４９】
オペレータは、アーム２１のハンド部２１ａの軌道が修正された後に、ペンダント４０の操作により各教示点（動作プログラム）を変更して、アーム２１を動作させる際の軌道を調整する。すなわち、オペレータは、修正された軌道が問題ないか判断したり、修正された軌道をより適切な軌道に修正したりすることができる。
【００５０】
次に、各教示点を目標とした動作と、修正された教示点及び軌道との関係について説明する。図５〜７は、それぞれ第２〜第４教示点を目標とした動作後に修正された動作軌道を示す模式図である。
【００５１】
図５に示すように、教示点Ａ１が動作開始点であり、教示点Ｂ１を目標としたアーム２１の動作終了後に、アーム２１のハンド部２１ａが実位置Ｂ２に移動している。そして、実位置Ｂ２を始点として、修正された教示点Ｃ２，Ｄ２及び軌道ＯＢ２がディスプレイ４２に表示されている。
【００５２】
ここで、修正された教示点Ｂ２〜Ｄ２及び軌道ＯＢ２がディスプレイ４２に表示されると、それ以前にディスプレイ４２に表示されていた教示点Ａ１〜Ｄ１及び軌道ＯＢ１が邪魔になることがある。また、オペレータがアーム２１のハンド部２１ａの軌道を調整する際には、現在位置よりも先の軌道が重要であり、現在位置までの軌道は重要ではない。このため、コントローラ３０は、修正された教示点Ｂ２〜Ｄ２及び軌道ＯＢ２をディスプレイ４２に表示する際に、それ以前にディスプレイ４２に表示されていた教示点Ａ１〜Ｄ１及び軌道ＯＢ１を消去する。
【００５３】
図６，７に示すように、同様にして、それぞれ教示点Ｃ２，Ｄ３を目標としてアーム２１を動作させた場合も、それ以前にディスプレイ４２に表示されていた教示点Ｂ２〜Ｄ２及び軌道ＯＢ２、並びに教示点Ｃ３〜Ｄ３及び軌道ＯＢ３が消去される。なお、図８に示すように、各教示点を動作開始位置とした場合に、軌道ＯＢ１〜ＯＢ３（及び各教示点）がディスプレイ４２に表示される。そして、各軌道ＯＢ１〜ＯＢ３において、実線部分が次の教示点を目標としたアーム２１の動作における予測軌道であり、破線部分は次の動作開始位置からの動作では表示されない軌道である。
【００５４】
以上詳述した本実施形態は以下の利点を有する。
【００５５】
・教示点Ｂ１を目標としたアーム２１の動作が終了した場合に、ディスプレイ４２に表示されたアーム２１のハンド部２１ａの実位置Ｂ２と教示点Ｂ１とのずれ量が算出される。そして、実位置Ｂ２が次の動作開始位置に設定され、動作プログラムに基づいてアーム２１を動作させる際の軌道が、算出されたずれ量ＥＲ１だけ修正される。これにより、アーム２１の実位置Ｂ２を始点として、修正された軌道ＯＢ２がディスプレイ４２に表示される。
【００５６】
ここで、算出されたずれ量ＥＲ１は、当初の動作開始位置である教示点Ａ１から教示点Ｂ１を目標としてアーム２１が動作された際に、実際に生じたずれ量である。このため、このずれ量ＥＲ１は、アーム２１の直近の動作における軌道ＯＢ１やロボット２０の姿勢等の影響を受けたものであり、教示点Ｂ１よりも先の目標である教示点Ｃ１へアーム２１のハンド部２１ａが動作する際に生じる軌道のずれに近いものとなる。したがって、修正された軌道ＯＢ２は、実位置Ｂ２からアーム２１のハンド部２１ａを移動させる際の軌道として、現場での調整作業に必要な高い精度を有している。
【００５７】
・教示点Ｂ１を目標とした動作が終了した場合に、ディスプレイ４２に表示されたアーム２１のハンド部２１ａの実位置Ｂ２と教示点Ｂ１とのずれ量ＥＲ１として、ロボット２０を含む３次元空間における実位置Ｂ２と教示点Ｂ１とのずれ量が算出される。そして、上記３次元空間において、動作プログラムに基づいてアーム２１が動作させられる際の軌道が、算出されたずれ量ＥＲ１だけ修正される。したがって、ロボット２０を含む３次元空間におけるずれ量ＥＲ１を反映して、修正された軌道ＯＢ２を正確にディスプレイ４２に表示させることができる。
【００５８】
・アーム２１のハンド部２１ａ目標として順に設定された複数の教示点Ａ１〜Ｇ１のうち、直近の教示点Ｂ１を目標としてアーム２１が動作させられる。そして、この動作が終了した場合に、実位置Ｂ２と教示点Ｂ１とのずれ量ＥＲ１が算出され、実位置Ｂ２が動作開始位置に設定されるとともに、動作プログラムに基づいてアーム２１を動作させる際の軌道がずれ量ＥＲ１だけ修正される。以後、次の教示点を目標としたアーム２１の動作と、この動作で生じたずれ量による軌道の修正とが繰り返し行われる。したがって、アーム２１のハンド部２１ａの目標として複数の教示点Ａ１〜Ｇ１が設定されている場合に、各教示点を動作開始位置とした動作において、常にアーム２１の直近の動作により生じたずれ量を反映して軌道を修正することができる。その結果、各教示点において常に高い精度を有する軌道を表示させることができる。
【００５９】
・軌道ＯＢ２と共に修正された教示点Ｂ２〜Ｇ２がディスプレイ４２に表示されるため、アーム２１が動作させられる際に次の目標を容易に把握することができる。
【００６０】
・軌道ＯＢ２をディスプレイ４２に表示させる際に、それ以前にディスプレイ４２に表示された軌道ＯＢ１が消去される。このため、以後の調整において重要でない軌道ＯＢ１を消去して、以後の調整において重要である修正された軌道ＯＢ２の視認性を向上させることができる。同様にして、以後の調整において重要でない教示点Ａ１〜Ｇ１を消去して、以後の調整において重要である修正された教示点Ｂ２〜Ｇ２の視認性を向上させることができる。
【００６１】
・教示点Ｂ１を目標としたアーム２１の動作が終了した場合に、アーム２１のハンド部２１ａの実位置Ｂ２を始点として、修正された軌道ＯＢ２がディスプレイ４２に表示される。このため、オペレータは、上記動作が終了した時点で、アーム２１のハンド部２１ａの実位置Ｂ２と教示点Ｂ１とのずれ量ＥＲ１、及びこのずれ量ＥＲ１を反映した軌道ＯＢ２を把握することができる。したがって、その後にオペレータによるペンダント４０の操作により動作プログラムを変更すれば、アーム２１を動作させる際の軌道を正確に調整することができる。
【００６２】
上記実施形態を、以下のように変形して実施することもできる。
【００６３】
・上記実施形態では、教示点Ｂ２〜Ｇ２及び軌道ＯＢ２をディスプレイ４２に表示させる際に、それ以前にディスプレイ４２に表示された教示点Ａ１〜Ｇ１及び軌道ＯＢ１を消去した。しかしながら、以前にディスプレイ４２に表示された教示点Ａ１〜Ｇ１及び軌道ＯＢ１を消去しないようにすることもできる。あるいは、以前にディスプレイ４２に表示された教示点Ａ１〜Ｇ１及び軌道ＯＢ１の一方を消去しないようにすることもできる。
【００６４】
・上記実施形態では、軌道ＯＢ２と共に教示点Ｂ２〜Ｇ２をディスプレイ４２に表示したが、軌道ＯＢ２及び教示点Ｂ２〜Ｇ２の一方のみを表示することもできる。
【００６５】
・上記実施形態では、動作プログラムに基づいてアーム２１を動作させる際の以後の教示点Ｃ１〜Ｇ１を、算出されたずれ量ＥＲ１だけ修正する際に、教示点Ｃ１〜Ｇ１の３次元座標をずれ量ＥＲ１だけ平行移動させた。しかしながら、教示点Ｃ１〜Ｇ１を算出されたずれ量ＥＲ１だけ修正する際に、ロボット座標の座標軸を、３次元座標のずれ量ＥＲ１に対応して平行移動させてもよい。
【００６６】
・上記実施形態では、ディスプレイ４２に表示されたアーム２１のハンド部２１ａの実位置Ｂ２と教示点Ｂ１とのずれ量として、ロボット２０を含む３次元空間における実位置Ｂ２と教示点Ｂ１との３次元座標のずれ量ＥＲ１を算出した。しかしながら、アーム２１のハンド部２１ａの実位置Ｂ２と教示点Ｂ１とのずれ量として、ディスプレイ４２の画面上（ディスプレイ４２に表示された画像）における実位置Ｂ２と教示点Ｂ１との２次元座標のずれ量ＥＲ２を算出することもできる。そして、ロボットコントローラ３０（軌道修正手段）は、ディスプレイ４２に表示された画像において、動作プログラムに基づいてアーム２１を動作させる際の軌道を、算出された２次元座標のずれ量ＥＲ２だけ修正することもできる。
【００６７】
上記構成によれば、教示点Ｂ１を目標とした動作が終了した場合に、ディスプレイ４２に表示されたアーム２１のハンド部２１ａの実位置Ｂ２と教示点Ｂ１とのずれ量として、ディスプレイ４２に表示された画像における実位置Ｂ２と教示点Ｂ１とのずれ量ＥＲ２が算出される。そして、ディスプレイ４２に表示された画像において、動作プログラムに基づいてアーム２１が動作させられる際の軌道が、算出されたずれ量ＥＲ２だけ修正される。したがって、ディスプレイ４２に表示された画像における２次元座標のずれ量ＥＲ２を反映して、修正された軌道を容易にディスプレイ４２に表示させることができる。
【００６８】
・ティーチングペンダント４０に代えて、同等のカメラ機能や操作機能、制御機能を有するスマートフォン（操作器）を採用することもできる。
【００６９】
・垂直多関節型のロボット２０に代えて、水平多関節型のロボットを採用することもできる。
【符号の説明】
【００７０】
１０…ロボットシステム、２０…ロボット、２１…アーム（被駆動部）、２１ａ…ハンド部、３０…ロボットコントローラ（制御部）、４０…ティーチングペンダント（操作器）、４２…ディスプレイ（表示部）、４４…カメラ。
【図１】
2014065100.tif 000003
【図２】
2014065100.tif 000004
【図３】
2014065100.tif 000005
【図４】
2014065100.tif 000006
【図５】
2014065100.tif 000007
【図６】
2014065100.tif 000008
【図７】
2014065100.tif 000009
【図８】
2014065100.tif 000010