(57)【要約】【課題】対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行うことができるロボット制御装置を提供すること。【解決手段】対象物と、前記対象物に吐出物を吐出可能な吐出部との少なくとも一方を移動させることが可能な可動部を有するロボットを制御するロボット制御装置であって、前記吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて、前記可動部の位置に関する教示情報を生成する生成部を備える、ロボット制御装置。【選択図】図８
2018202501.tif 000002
【特許請求の範囲】
【請求項１】
対象物と、前記対象物に吐出物を吐出可能な吐出部との少なくとも一方を移動させることが可能な可動部を有するロボットを制御するロボット制御装置であって、
前記吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて、前記可動部の位置に関する教示情報を生成する生成部を備える、
ロボット制御装置。
【請求項２】
前記生成部は、
前記可動部に設けられた力検出部からの出力に基づいて前記第１位置を算出する、
請求項１に記載のロボット制御装置。
【請求項３】
前記教示情報は、３以上の前記第１位置に基づく形状に応じた情報を含む、
請求項１又は２に記載のロボット制御装置。
【請求項４】
前記形状は、平面である、
請求項３に記載のロボット制御装置。
【請求項５】
前記生成部は、ダイレクトティーチングによって前記教示情報を生成することが可能である、
請求項１から４のうちいずれか一項に記載のロボット制御装置。
【請求項６】
前記第１位置は、前記治具に設けられたマーカーの位置を含む、
請求項１から５のうちいずれか一項に記載のロボット制御装置。
【請求項７】
前記教示情報は、撮像部によって検出された前記マーカーの位置を用いて求められた位置関係であって前記吐出部の位置と前記可動部の位置との相対的な当該位置関係を示す情報を含む、
請求項６に記載のロボット制御装置。
【請求項８】
前記教示情報は、撮像部によって検出された前記マーカーの位置と当該撮像部によって検出された前記吐出物の着弾位置とを用いて求められた位置関係であって前記マーカーの位置と前記着弾位置との相対的な当該位置関係を示す情報を含む、
請求項６又は７に記載のロボット制御装置。
【請求項９】
前記吐出部が前記吐出物を吐出する方向である吐出方向における前記治具の長さは、可変である、
請求項１から８のうちいずれか一項に記載のロボット制御装置。
【請求項１０】
前記生成部は、前記可動部に設けられた距離検出部からの出力と、前記第１位置とに基づいて、前記教示情報を生成する、
請求項１から９のうちいずれか一項に記載のロボット制御装置。
【請求項１１】
請求項１から１０のうちいずれか一項に記載のロボット制御装置に制御される、
ロボット。
【請求項１２】
請求項１から１０のうちいずれか一項に記載のロボット制御装置と、
前記ロボット制御装置に制御されるロボットと、
前記吐出部と、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット制御装置、ロボット、及びロボットシステムに関する。
【背景技術】
【０００２】
吐出物を吐出する吐出部を備えたロボットに吐出物を対象物へ塗布する作業を行わせる技術の研究や開発が行われている。
【０００３】
これに関し、吐出部を対象物に接触させずに吐出物を対象物に吐出することが可能な非接触式の吐出部によって対象物の予め決められた位置に吐出物を塗布する作業を行うことが可能なロボットが知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３３４７８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、対象物の予め決められた位置に非接触式の吐出部によって吐出物を塗布する場合における当該吐出部の位置をロボットに教示する場合、ユーザーが吐出物を塗布したい所望の位置に吐出物を吐出可能な位置に吐出部の位置が一致しているか否かを判定する必要がある。しかしながら、従来のロボットでは、当該吐出可能な位置に吐出部の位置が一致しているか否かを精度よく判定することは、困難な場合があった。このため、ロボットは、対象物の予め決められた位置に吐出物を塗布する作業を精度よく行うことができない場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、対象物と、前記対象物に吐出物を吐出可能な吐出部との少なくとも一方を移動させることが可能な可動部を有するロボットを制御するロボット制御装置であって、前記吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて、前記可動部の位置に関する教示情報を生成する生成部を備える、ロボット制御装置である。
この構成により、ロボット制御装置は、吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて、可動部の位置に関する教示情報を生成する。これにより、ロボット制御装置は、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【０００７】
また、本発明の他の態様は、ロボット制御装置において、前記生成部は、前記可動部に設けられた力検出部からの出力に基づいて前記第１位置を算出する、構成が用いられてもよい。
この構成により、ロボット制御装置は、可動部に設けられた力検出部からの出力に基づいて第１位置を算出する。これにより、ロボット制御装置は、力検出部からの出力に基づいて算出した第１位置を用いて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【０００８】
また、本発明の他の態様は、ロボット制御装置において、前記教示情報は、３以上の前記第１位置に基づく形状に応じた情報を含む、構成が用いられてもよい。
この構成により、ロボット制御装置は、吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて、可動部の位置に関する教示情報であって３以上の第１位置に基づく形状に応じた情報を含む教示情報を生成する。これにより、ロボット制御装置は、３以上の第１位置に基づく形状に応じた情報を含む教示情報に基づいて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【０００９】
また、本発明の他の態様は、ロボット制御装置において、前記形状は、平面である、構成が用いられてもよい。
この構成により、ロボット制御装置は、吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて、可動部の位置に関する教示情報であって３以上の第１位置に基づく平面に応じた情報を含む教示情報を生成する。これにより、ロボット制御装置は、３以上の第１位置に基づく平面に応じた情報を含む教示情報に基づいて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【００１０】
また、本発明の他の態様は、ロボット制御装置において、前記生成部は、ダイレクトティーチングによって前記教示情報を生成することが可能である、構成が用いられてもよい。
この構成により、ロボット制御装置は、ダイレクトティーチングによって教示情報を生成することが可能である。これにより、ロボット制御装置は、ダイレクトティーチングによって生成された教示情報に基づいて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【００１１】
また、本発明の他の態様は、ロボット制御装置において、前記第１位置は、前記治具に設けられたマーカーの位置を含む、構成が用いられてもよい。
この構成により、ロボット制御装置は、吐出部に着脱可能に取り付けられた治具に基づいた第１位置であって治具に設けられたマーカーの位置を含む第１位置を用いて、可動部の位置に関する教示情報を生成する。これにより、ロボット制御装置は、治具に設けられたマーカーの位置を含む第１位置を用いて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【００１２】
また、本発明の他の態様は、ロボット制御装置において、前記教示情報は、撮像部によって検出された前記マーカーの位置を用いて求められた位置関係であって前記吐出部の位置と前記可動部の位置との相対的な当該位置関係を示す情報を含む、構成が用いられてもよい。
この構成により、ロボット制御装置は、吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて、撮像部によって検出されたマーカーの位置を用いて求められた位置関係であって吐出部の位置と可動部の位置との相対的な当該位置関係を示す情報を含む教示情報を生成する。これにより、ロボット制御装置は、撮像部によって検出されたマーカーの位置を用いて求められた位置関係であって吐出部の位置と可動部の位置との相対的な当該位置関係を示す情報を含む教示情報に基づいて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【００１３】
また、本発明の他の態様は、ロボット制御装置において、前記教示情報は、撮像部によって検出された前記マーカーの位置と当該撮像部によって検出された前記吐出物の着弾位置とを用いて求められた位置関係であって前記マーカーの位置と前記着弾位置との相対的な当該位置関係を示す情報を含む、構成が用いられてもよい。
この構成により、ロボット制御装置は、吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて、撮像部によって検出されたマーカーの位置と当該撮像部によって検出された吐出物の着弾位置とを用いて求められた位置関係であってマーカーの位置と着弾位置との相対的な当該位置関係を示す情報を含む教示情報を生成する。これにより、ロボット制御装置は、撮像部によって検出されたマーカーの位置と当該撮像部によって検出された吐出物の着弾位置とを用いて求められた位置関係であってマーカーの位置と着弾位置との相対的な当該位置関係を示す情報を含む教示情報に基づいて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【００１４】
また、本発明の他の態様は、ロボット制御装置において、前記吐出部が前記吐出物を吐出する方向である吐出方向における前記治具の長さは、可変である、構成が用いられてもよい。
この構成により、ロボット制御装置は、吐出部に着脱可能に取り付けられた治具であって吐出方向における長さが可変である治具に基づいた第１位置を用いて、可動部の位置に関する教示情報を生成する。これにより、ロボット制御装置は、吐出部に着脱可能に取り付けられた治具であって吐出方向における長さが可変である治具に基づいた第１位置を用いて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【００１５】
また、本発明の他の態様は、ロボット制御装置において、前記生成部は、前記可動部に設けられた距離検出部からの出力と、前記第１位置とに基づいて、前記教示情報を生成する、構成が用いられてもよい。
この構成により、ロボット制御装置は、可動部に設けられた距離検出部からの出力と、第１位置とに基づいて、教示情報を生成する。これにより、ロボット制御装置は、可動部に設けられた距離検出部からの出力と、第１位置とに基づいて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【００１６】
また、本発明の他の態様は、上記に記載のロボット制御装置に制御される、ロボットである。
この構成により、ロボットは、吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて生成された教示情報であって可動部の位置に関する教示情報に基づいて、制御される。これにより、ロボットは、対象物の予め決められた位置に吐出物を塗布する作業を精度よく行うことができる。
【００１７】
また、本発明の他の態様は、上記に記載のロボット制御装置と、前記ロボット制御装置に制御されるロボットと、前記吐出部と、を備えるロボットシステムである。
この構成により、ロボットシステムは、吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて、可動部の位置に関する教示情報を生成する。これにより、ロボットシステムは、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【００１８】
以上により、ロボット制御装置、及びロボットシステムは、吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて、可動部の位置に関する教示情報を生成する。これにより、ロボットシステムは、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
また、ロボットは、吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて生成された教示情報であって可動部の位置に関する教示情報に基づいて、制御される。これにより、ロボットは、対象物の予め決められた位置に吐出物を塗布する作業を精度よく行うことができる。
【図面の簡単な説明】
【００１９】
【図１】実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】ロボット２０の構成の一例を示す図である。
【図３】図１及び図２に示したロボット２０の側面図の一例を示す図である。
【図４】図３に示したロボット２０をロボット座標系ＲＣにおけるＹ軸の正方向から当該Ｙ軸の負方向に向かって見た場合のロボット２０の正面図の一例である。
【図５】マニピュレーターＭの動作のうちコンパクト状態を経る動作を説明するための図である。
【図６】治具Ｊが取り付けられた吐出部Ｄの一例を示す図である。
【図７】ロボット制御装置３０のハードウェア構成の一例を示す図である。
【図８】ロボット制御装置３０の機能構成の一例を示す図である。
【図９】ロボット制御装置３０が行う第１処理の流れの一例を示すフローチャートである。
【図１０】第１教示モードにおいてロボット制御装置３０が行う第２処理の流れの一例を示すフローチャートである。
【図１１】ロボット制御装置３０が行う第３処理の流れの一例を示すフローチャートである。
【図１２】ステップＳ３２０〜ステップＳ３９０の処理を説明するための図である。
【図１３】図１１に示したフローチャートの処理によって生成された第３教示情報に基づいてロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示す図である。
【図１４】ロボット制御装置３０が行う第４処理の流れの一例を示すフローチャートである。
【図１５】ステップＳ５３０〜ステップＳ５６０の処理を説明するための図である。
【図１６】図１４に示したフローチャートの処理によって生成された第４教示情報に基づいてロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示す図である。
【図１７】ロボット制御装置３０が行う第５処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００２０】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００２１】
＜ロボットシステムの構成＞
まず、図１〜図４を参照し、ロボットシステム１の構成について説明する。図１は、実施形態に係るロボットシステム１の構成の一例を示す図である。図２は、ロボット２０の構成の一例を示す図である。
【００２２】
ロボットシステム１は、例えば、架台ＢＳと、撮像部１０と、ロボット２０を備える。なお、ロボットシステム１は、これらに加えて、物体を搬送する搬送装置（例えば、搬送用の他のロボット、ベルトコンベア等）、撮像部（例えば、ロボット２０と別体のカメラ等）、距離検出部（例えば、レーザー変位計等）等の他の装置を備える構成であってもよい。
【００２３】
以下では、説明の便宜上、重力方向（鉛直下方向）を下方向又は下と称し、下方向と反対の方向を上方向又は上と称して説明する。以下では、一例として、下方向が、ロボット２０のロボット座標系ＲＣにおけるＺ軸の負方向と一致する場合について説明する。なお、下方向は、当該負方向と一致しない構成であってもよい。
【００２４】
架台ＢＳは、例えば、直方体形状の金属製の枠である。なお、架台ＢＳの形状は、直方体形状に代えて、円柱形状等の他の形状であってもよい。また、架台ＢＳの材質は、金属に代えて、樹脂等の他の材質であってもよい。架台ＢＳが有する端部のうち最も上側の端部である最上部には、天井板として平板が設けられている。架台ＢＳが有する端部のうち最も下側の端部である最下部には、床板として平板が設けられている。また、架台ＢＳは、設置面に設置される。設置面は、例えば、床面である。なお、設置面は、床面に代えて、壁面、地面、天井面等の他の面であってもよい。ロボットシステム１では、ロボット２０は、架台ＢＳの内側において所定の作業を行うことが可能なように架台ＢＳの天井板に設置される。なお、ロボットシステム１は、架台ＢＳを備えない構成であってもよい。この場合、ロボット２０は、架台ＢＳに代えて、床面、壁面等に設置される。
【００２５】
また、架台ＢＳの内側には、物体を載置可能な作業台ＴＢが設けられている。作業台ＴＢは、後述するロボット２０の作業領域の内側に含まれるように架台ＢＳに設けられる。図１に示した例では、作業台ＴＢの上面には、ロボット２０により作業が行われる対象の物体である対象物Ｏが載置されている。対象物Ｏは、製品に組み付ける産業用の部品や部材である。以下では、一例として、対象物Ｏが製品に組み付ける平板形状のプレートである場合について説明する。なお、対象物Ｏは、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。また、対象物Ｏの形状は、平板形状に代えて、円盤形状、直方体形状、円柱形状等の他の形状であってもよい。また、作業台ＴＢの上面のうち対象物Ｏが載置される面と異なる面には、撮像部１０が設けられている。
【００２６】
撮像部１０は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。この一例において、撮像部１０は、光軸に沿って撮像素子からレンズに向かう方向が上方向と一致するように、作業台ＴＢの上面のうち対象物Ｏが載置される面と異なる面に設けられる。撮像部１０は、撮像部１０が撮像可能な範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であってもよい。
【００２７】
撮像部１０は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。なお、撮像部１０は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００２８】
ロボット２０は、基台Ｂと、基台Ｂにより支持された可動部Ａと、ロボット制御装置３０を備える単腕ロボットである。単腕ロボットは、この一例における可動部Ａのような１本の腕を備えるロボットである。なお、ロボット２０は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、２本以上の腕（例えば、２本以上の可動部Ａ）を備えるロボットである。なお、複腕ロボットのうち、２本の腕を備えるロボットは、双腕ロボットとも称される。すなわち、ロボット２０は、２本の腕を備える双腕ロボットであってもよく、３本以上の腕（例えば、３本以上の可動部Ａ）を備える複腕ロボットであってもよい。また、ロボット２０は、スカラロボット（水平多関節ロボット）、直交座標ロボット、円筒型ロボット等の他のロボットであってもよい。直交座標ロボットは、例えば、ガントリロボットである。
【００２９】
基台Ｂの形状は、例えば、長手方向が上下方向に沿ったほぼ直方体形状である。基台Ｂは、中空となっている。基台Ｂが有する面のうちの１つには、フランジＢＦが設けられている。また、フランジＢＦには、可動部Ａが設けられている。すなわち、基台Ｂは、フランジＢＦによって可動部Ａを支持している。なお、基台Ｂの形状は、このような形状に代えて、可動部Ａを支持可能な形状であれば、立方体形状、円柱形状、多面体形状等の他の形状であってもよい。
【００３０】
以下では、説明の便宜上、基台Ｂが有する面のうちフランジＢＦが設けられている面を上面と称し、基台Ｂが有する面のうちフランジＢＦが設けられている面と反対側の面を下面と称して説明する。基台Ｂは、例えば、基台Ｂの下面から基台Ｂの上面に向かう方向が前述の下方向と一致するように、すなわち、ロボット２０の作業領域の全体が当該天井板よりも下側に位置するように当該天井板に設置される。具体的には、例えば、当該天井板には、上下方向に貫通し、基台Ｂを挿入可能な図示しない開口部が形成されている。当該開口部は、フランジＢＦよりも小さい。ユーザーは、フランジＢＦと当該天井板とを複数本のボルトによって固定することにより、基台Ｂを当該天井板に設置する（取り付ける）ことができる。すなわち、フランジＢＦと当該天井板のそれぞれには、複数のボルトのそれぞれが挿入される複数の貫通孔が形成されている。なお、基台Ｂは、架台ＢＳの他の位置に設置される構成であってもよい。また、フランジＢＦと当該天井板との固定方法は、他の方法であってもよい。
【００３１】
可動部Ａは、マニピュレーターＭと、エンドエフェクターＥと、力検出部２１と、吐出部Ｄを備える。
【００３２】
マニピュレーターＭは、６個のアームである第１アームＬ１〜第６アームＬ６と、６つの関節である関節Ｊ１〜関節Ｊ６を備える。基台Ｂと第１アームＬ１は、関節Ｊ１によって連結される。第１アームＬ１と第２アームＬ２は、関節Ｊ２によって連結される。第２アームＬ２と第３アームＬ３は、関節Ｊ３によって連結される。第３アームＬ３と第４アームＬ４は、関節Ｊ４によって連結される。第４アームＬ４と第５アームＬ５は、関節Ｊ５によって連結される。第５アームＬ５と第６アームＬ６は、関節Ｊ６によって連結される。すなわち、マニピュレーターＭを備える可動部Ａは、６軸垂直多関節型のアームである。なお、可動部Ａは、５軸以下の自由度で動作する構成であってもよく、７軸以上の自由度で動作する構成であってもよい。
【００３３】
第１アームＬ１は、関節Ｊ１の回動軸である第１回動軸ＡＸ１（例えば、図３参照）周りに回動可能である。第２アームＬ２は、関節Ｊ２の回動軸である第２回動軸ＡＸ２（例えば、図３参照）周りに回動可能である。第３アームＬ３は、関節Ｊ３の回動軸である第３回動軸ＡＸ３（例えば、図３参照）周りに回動可能である。第４アームＬ４は、関節Ｊ４の回動軸である第４回動軸ＡＸ４（例えば、図３参照）周りに回動可能である。第５アームＬ５は、関節Ｊ５の回動軸である第５回動軸ＡＸ５（例えば、図３参照）周りに回動可能である。第６アームＬ６は、関節Ｊ６の回動軸である第６回動軸ＡＸ６（例えば、図３参照）周りに回動可能である。
【００３４】
ここで、図３〜図５を参照し、マニピュレーターＭについてより詳しく説明する。図３は、図１及び図２に示したロボット２０の側面図の一例を示す図である。
【００３５】
図３に示したように、基台Ｂの下面から基台Ｂの上面に向かう方向が下方向と一致しているため、関節Ｊ２は、関節Ｊ１よりも下側に位置している。関節Ｊ２は、第１回動軸ＡＸ１の延長上に位置していない。これは、第１アームＬ１の形状が、屈曲した形状であるためである。この一例において、第１アームＬ１の形状は、ロボット座標系ＲＣにおけるＸ軸の正方向から負方向に向かってロボット２０を見た場合において、丸みを帯びてほぼＬ字型に湾曲した形状である。具体的には、第１アームＬ１は、４つの部位である部位Ｌ１１〜部位Ｌ１４によって構成されている。部位Ｌ１１は、図３において、第１アームＬ１を構成する４つの部位のうち、基台Ｂから第１回動軸ＡＸ１に沿って下方向に延伸している部位のことである。部位Ｌ１２は、当該４つの部位のうち、部位Ｌ１１の下端から第２回動軸ＡＸ２に沿ってロボット座標系ＲＣにおけるＹ軸の負方向に延伸する部位のことである。部位Ｌ１３は、当該４つの部位のうち、部位Ｌ１２の端部のうち部位Ｌ１１と反対側の端部から、第１回動軸ＡＸ１に沿って下方向に延伸している部位のことである。部位Ｌ１４は、当該４つの部位のうち、部位Ｌ１３の端部のうち部位Ｌ１２と反対側の端部から、第２回動軸ＡＸ２に沿って当該Ｙ軸の正方向に延伸する部位のことである。ここで、部位Ｌ１１〜部位Ｌ１４は、一体として第１アームＬ１を構成してもよく、別体として第１アームＬ１を構成してもよい。また、図３において、部位Ｌ１２と部位Ｌ１３は、ロボット座標系ＲＣにおけるＸ軸に沿ってロボット２０を見た場合、ほぼ直交している。
【００３６】
第２アームＬ２の形状は、長手形状である。第２アームＬ２は、第１アームＬ１の先端部、すなわち、部位Ｌ１４の端部のうち部位Ｌ１３と反対側の端部に接続されている。
【００３７】
第３アームＬ３の形状は、長手形状である。第３アームＬ３は、第２アームＬ２の端部のうち第１アームＬ１と接続されている端部と反対側の端部に接続されている。
【００３８】
第４アームＬ４は、第３アームＬ３の先端部、すなわち、第３アームＬ３の端部のうち第２アームＬ２が接続されている端部と反対側の端部に接続されている。第４アームＬ４には、互いに対向する一対の支持部である支持部Ｌ４１及び支持部Ｌ４２が形成されている。支持部Ｌ４１及び支持部Ｌ４２は、第４アームＬ４の第５アームＬ５との接続に用いられる。すなわち、第４アームＬ４は、第５アームＬ５を支持部Ｌ４１及び支持部Ｌ４２の間に位置させ、支持部Ｌ４１及び支持部Ｌ４２によって第５アームＬ５に接続されている。なお、第４アームＬ４は、これに限られず、１つの支持部によって第５アームＬ５を支持する構成（片持ち）であってもよく、３つ以上の支持部によって第５アームＬ５を支持する構成であってもよい。
【００３９】
第５アームＬ５は、前述したように、支持部Ｌ４１及び支持部Ｌ４２の間に位置し、支持部Ｌ４１及び支持部Ｌ４２に接続される。
【００４０】
第６アームＬ６の形状は、平板形状である。すなわち、第６アームＬ６は、フランジである。第６アームＬ６は、第５アームＬ５の端部のうち第４アームＬ４と反対側の端部に接続されている。また、第６アームＬ６には、当該端部に力検出部２１を介してエンドエフェクターＥが接続される。具体的には、第６アームＬ６とエンドエフェクターＥの間には、力検出部２１が設けられる。
【００４１】
また、この一例において、マニピュレーターＭが備える６つの関節それぞれの回動軸のうち第２回動軸ＡＸ２と第３回動軸ＡＸ３とは、互いに平行である。なお、第２回動軸ＡＸ２と第３回動軸ＡＸ３とは、互いに非平行であってもよい。
【００４２】
ここで、マニピュレーターＭでは、第１回動軸ＡＸ１の軸方向から見て、第１アームＬ１と第２アームＬ２とが重なることが可能である。また、マニピュレーターＭでは、第２回動軸ＡＸ２の軸方向から見て、第１アームＬ１と第２アームＬ２とが重なることが可能である。また、マニピュレーターＭでは、第２回動軸ＡＸ２の軸方向から見て、第２アームＬ２と第３アームＬ３とが重なることが可能である。また、マニピュレーターＭでは、第４回動軸ＡＸ４の軸方向から見て、第４アームＬ４と第５アームＬ５とが重なることが可能である。なお、本実施形態において、ある２つのアームをある方向から見た場合に当該２つのアームが重なるとは、当該２つのアームのうちの一方のアームが他方のアームに重なっている面積の割合が所定割合以上であることを示す。所定割合は、例えば、９割であるが、これに限られず、他の割合であってもよい。また、マニピュレーターＭは、第３回動軸ＡＸ３の軸方向から見て、第３アームＬ３と第４アームＬ４とが重なることが可能であるように構成されてもよい。また、マニピュレーターＭは、第５回動軸ＡＸ５の軸方向から見て、第５アームＬ５と第６アームＬ６とが重なることが可能であるように構成されてもよい。
【００４３】
ここで、マニピュレーターＭは、マニピュレーターＭの状態を、関節Ｊ２と関節Ｊ３のそれぞれを回動させることにより、コンパクト状態にすることができる。コンパクト状態は、この一例において、第１回動軸ＡＸ１に沿った方向において第２回動軸ＡＸ２と第５回動軸ＡＸ５との間の距離が最も短い状態、且つ第１回動軸ＡＸ１と第４回動軸ＡＸ４とが一致した状態のことである。すなわち、図３に示したマニピュレーターＭの状態は、コンパクト状態である。図３に示したロボット２０をロボット座標系ＲＣにおけるＹ軸の正方向から当該Ｙ軸の負方向に向かって見た場合、コンパクト状態におけるマニピュレーターＭでは、図４に示したように第１アームＬ１と第２アームＬ２と第３アームＬ３との３つのアームが重なる。図４は、図３に示したロボット２０をロボット座標系ＲＣにおけるＹ軸の正方向から当該Ｙ軸の負方向に向かって見た場合のロボット２０の正面図の一例である。
【００４４】
マニピュレーターＭの状態をコンパクト状態にすることができる理由は、第２アームＬ２が、関節Ｊ２の回動によって架台ＢＳの天井板、第１アームＬ１のそれぞれと干渉しない形状及び大きさに形成されているためである。
【００４５】
ここで、この一例において、マニピュレーターＭの状態がコンパクト状態である場合、第１回動軸ＡＸ１に沿った方向において、第１アームＬ１の長さは、第２アームＬ２の長さよりも長い。また、当該場合、当該方向において、第２アームＬ２の長さは、第３アームＬ３の長さよりも長い。また、当該場合、当該方向において、第４アームＬ４の長さは、第５アームＬ５の長さよりも長い。また、当該場合、当該方向において、第５アームＬ５の長さは、第６アームＬ６の長さよりも長い。なお、第１アームＬ１〜第６アームＬ６それぞれの長さは、これらに代えて、他の長さであってもよい。
【００４６】
また、マニピュレーターＭの状態をコンパクト状態にすることができるため、マニピュレーターＭは、図５に示したように、関節Ｊ１を回動させずに関節Ｊ２を回動させることにより、コンパクト状態を経て、関節Ｊ６の位置を、第１回動軸ＡＸ１周りに１８０°異なる位置に移動させることが可能である。図５は、マニピュレーターＭの動作のうちコンパクト状態を経る動作を説明するための図である。関節Ｊ６の位置は、この一例において、関節Ｊ６の重心の位置によって表される。なお、関節Ｊ６の位置は、関節Ｊ６の重心の位置に代えて、関節Ｊ６に対応付けられた他の位置によって表される構成であってもよい。より具体的には、マニピュレーターＭは、関節Ｊ１を回動させずに関節Ｊ２を回動させることにより、マニピュレーターＭの先端である第６アームＬ６を図５の左側に示す左側位置から、コンパクト状態を経て、第１回動軸ＡＸ１周りに１８０°異なる図５の右側に示す右側位置に移動させることが可能である。なお、図５に示した動作では、第６アームＬ６は、第１回動軸ＡＸ１に沿った方向からロボット２０を見た場合、直線上を移動する。
【００４７】
また、第３アームＬ３〜第６アームＬ６の長さの合計は、第２アームＬ２の長さよりも長い。これにより、第２回動軸ＡＸ２に沿った方向からロボット２０を見た場合にマニピュレーターＭの状態をコンパクト状態と一致させると、第２アームＬ２から第６アームＬ６の先端を突出させることができる。その結果、第６アームＬ６にエンドエフェクターＥを取り付けた場合において、エンドエフェクターＥが第１アームＬ１及び第２アームＬ２と干渉してしまうことを抑制することができる。
【００４８】
このようにマニピュレーターＭは、第１回動軸ＡＸ１を回動させずに第２回動軸ＡＸ２を回動させることにより、コンパクト状態を経て、エンドエフェクターＥを第１回動軸ＡＸ１周りに１８０°異なる位置に移動させることができる。その結果、ロボット２０は、エンドエフェクターＥを効率よく移動させることができるとともに、ロボット２０の一部が他の物体と干渉しないようにするために設ける空間を小さくすることができる。
【００４９】
図２に戻る。マニピュレーターＭが備える関節Ｊ１〜関節Ｊ６のそれぞれに備えられたアクチュエーターは、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置３０から取得される制御信号に基づいて、マニピュレーターＭを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、当該アクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００５０】
エンドエフェクターＥは、物体を空気によって吸着（保持）可能な吸着部を備えるエンドエフェクターである。なお、エンドエフェクターＥは、当該吸着部を備えるエンドエフェクターに代えて、物体を挟持可能な爪部（指部）を備えるエンドエフェクター等の他のエンドエフェクターであってもよい。
【００５１】
エンドエフェクターＥは、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、エンドエフェクターＥは、ロボット制御装置３０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、エンドエフェクターＥは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００５２】
力検出部２１は、エンドエフェクターＥとマニピュレーターＭの間に備えられる。力検出部２１は、例えば、力センサーである。力検出部２１は、エンドエフェクターＥ又はエンドエフェクターＥにより吸着された物体に作用した外力を検出する。当該外力には、エンドエフェクターＥ又はエンドエフェクターＥにより吸着された物体を並進させる並進力と、エンドエフェクターＥ又はエンドエフェクターＥにより吸着された物体を回転させる回転モーメント（トルク）とが含まれる。力検出部２１は、検出した外力の大きさを示す値を出力値として含む力検出情報を通信によりロボット制御装置３０へ出力する。
【００５３】
力検出情報は、ロボット制御装置３０によるロボット２０の制御のうちの力検出情報に基づく制御である力制御に用いられる。力制御は、力検出情報が示す外力が所定の終了条件を満たす状態を実現するようにエンドエフェクターＥとマニピュレーターＭの少なくとも一方を動作させる制御である。終了条件は、力制御によるロボット２０の動作をロボット制御装置３０が終了させるための条件である。すなわち、力制御は、例えば、インピーダンス制御等のコンプライアントモーション制御のことである。なお、力検出部２１は、トルクセンサー等のエンドエフェクターＥ又はエンドエフェクターＥにより吸着された物体に加わる力やモーメントの大きさを示す値を検出する他のセンサーであってもよい。また、力検出部２１は、エンドエフェクターＥとマニピュレーターＭの間に備えられる構成に代えて、マニピュレーターＭの他の部位に備えられる構成であってもよい。
【００５４】
力検出部２１は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、力検出部２１とロボット制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【００５５】
力検出部２１をロボット２０が備えていることにより、ユーザーは、ロボット制御装置３０にロボット２０の動作を記憶させる（教示する）際、ダイレクトティーチングによってロボット制御装置３０に当該動作を記憶させることができる。また、力検出部２１をロボット２０が備えていることにより、ロボット制御装置３０は、例えば、力制御によって物体を変形させてしまうことなくロボット２０に保持させることができる。
【００５６】
吐出部Ｄは、吐出物を吐出可能なディスペンサーである。また、吐出部Ｄは、吐出部Ｄを対象物に接触させずに吐出物を対象物Ｏに吐出することが可能な非接触式のディスペンサーである。吐出物は、液体、気体、粉粒体等の吐出可能な物質のことである。以下では、一例として、吐出物がグリース（潤滑材）である場合について説明する。吐出部Ｄは、図示しない吐出口と、図示しないシリンジ部と、シリンジ部の内部に空気を注入する図示しない空気注入部とを備える。吐出口は、シリンジ部に入っているグリースを吐出する孔である。シリンジ部は、内部にグリースを入れる空間を有する容器である。すなわち、吐出部Ｄは、空気注入部がシリンジ部の内部に空気を注入することにより、当該空気の圧力によってシリンジ部の内部に入っているグリースを吐出口から吐出する。この一例において、吐出部Ｄは、エンドエフェクターＥに備えられる。そのため、吐出部Ｄが吐出物を吐出可能な位置は、可動部Ａの動きに応じて変化する。
【００５７】
吐出部Ｄの形状は、この一例において、直方体形状である。なお、吐出部Ｄの形状は、直方体形状に代えて、円柱形状等の他の形状であってもよい。ここで、直方体形状である吐出部Ｄが有する６つの面のうちの１つには、前述の吐出口が形成されている。そして、吐出部Ｄが有する６つの面のうちの吐出口が形成された面である吐出面には、ボルト等の締結部材によって着脱可能な治具Ｊを取り付けることができる。図６は、治具Ｊが取り付けられた吐出部Ｄの一例を示す図である。また、図６は、直方体形状である吐出部Ｄが有する６つの面のうち吐出面に直交する４つの面のうちのいずれかの面に向かって吐出部Ｄを見た場合における吐出部Ｄ及び治具Ｊの側面図である。
【００５８】
図６に示した吐出口ＥＨは、前述の吐出口の一例である。吐出部Ｄは、吐出口ＥＨから吐出物を吐出する。この際、吐出部Ｄは、吐出面に直交する方向のうち吐出部Ｄの内側から吐出口ＥＨを通って吐出部Ｄの外側に向かう方向である吐出方向に向かって吐出物を吐出する。図６に示した直線ＥＸは、吐出口ＥＨの中心を通る軸であって吐出方向に沿った軸を示している。すなわち、吐出部Ｄは、直線ＥＸに沿って吐出物を吐出する。すなわち、直線ＥＸ上に物体の表面が位置している場合、当該表面と直線ＥＸとの交点に吐出物が塗布される。以下では、説明の便宜上、ロボット座標系ＲＣにおける当該交点の位置を着弾位置と称して説明する。
【００５９】
治具Ｊには、マーカーＭＫが設けられている。治具Ｊの形状は、治具Ｊが吐出部Ｄに取り付けられた場合において、吐出部Ｄの吐出面から最も遠い位置であって吐出方向における位置にマーカーＭＫが位置し、マーカーＭＫが直線ＥＸ上に位置する形状であれば如何なる形状であってもよい。図６に示した例では、治具Ｊの形状は、円錐台形状である。すなわち、円錐台形状である治具Ｊの先端、すなわち円錐台形状の上面の中心は、直線ＥＸ上に位置する。また、当該上面には、マーカーＭＫが設けられる。マーカーＭＫは、当該上面の中心の位置を示す印である。また、当該例では、吐出面から当該上面までの距離であって吐出方向における距離は、距離Ｈである。すなわち、マーカーＭＫは、吐出面から物体の表面までの吐出方向における距離が距離Ｈであった場合における着弾位置を示す印である。なお、マーカーＭＫの形状は、当該着弾位置を示すことができれば如何なる形状であってもよい。治具Ｊに設けられたマーカーＭＫが、当該着弾位置を示すため、治具Ｊの形状が円錐台形状である場合、円錐台形状である治具Ｊの先端、すなわち円錐台形状の上面の面積は、物体の表面上のある位置に吐出部Ｄが吐出物を塗布した際に吐出物が当該表面を覆う面積程度であることが望ましい。以下では、説明の便宜上、距離Ｈのことを治具Ｊの長さと称して説明する。
【００６０】
治具Ｊは、吐出面に動かないように取り付けられる。すなわち、治具Ｊは、吐出部Ｄの位置とマーカーＭＫが示す位置との相対的な位置関係が変化しないように吐出部Ｄに取り付けられる。なお、治具Ｊの長さ（図６に示した例では、距離Ｈ）は、可変であってもよく、可変でなくてもよい。治具Ｊの長さが可変である場合、治具Ｊは、当該長さを変更可能な機構を備える。
【００６１】
ここで、図１及び図２に示した吐出部Ｄは、治具Ｊが取り付けられている吐出部Ｄの一例である。また、図３〜図５に示した吐出部Ｄは、治具Ｊが取り付けられていない吐出部Ｄの一例である。
【００６２】
図１及び図２に戻る。ロボット制御装置３０は、ロボット２０を制御するコントローラーである。ロボット制御装置３０は、ユーザーにより予め記憶された動作プログラムに基づいてロボット２０を動作させる。これにより、ロボット制御装置３０は、ロボット２０に所定の作業を行わせることができる。所定の作業は、例えば、対象物Ｏの予め決められた位置に吐出物を塗布する作業である。なお、所定の作業は、これに代えて、他の作業であってもよい。
【００６３】
ロボット制御装置３０は、この一例において、基台Ｂの内側に設けられている（内蔵されている）。なお、ロボット制御装置３０は、これに代えて、ロボット２０と別体であってもよい。この場合、ロボットシステム１は、ロボット２０と、ロボット２０と別体のロボット制御装置３０とを少なくとも備える。
【００６４】
＜ロボットを動作させる際にロボット制御装置が行う処理の概要＞
以下、ロボット２０を動作させる際にロボット制御装置３０が行う処理の概要について説明する。
【００６５】
ロボット制御装置３０は、エンドエフェクターＥの予め決められた位置に、エンドエフェクターＥとともに動くＴＣＰ（Tool  Center  Point）である制御点Ｔを設定する。エンドエフェクターＥの予め決められた位置は、エンドエフェクターＥの重心の位置である。なお、エンドエフェクターＥの予め決められた位置は、これに代えて、エンドエフェクターＥに対応付けられた他の位置であってもよい。また、ロボット制御装置３０は、エンドエフェクターＥの予め決められた位置に制御点Ｔを設定する構成に代えて、可動部Ａに対応付けられた他の位置に制御点Ｔを設定する構成であってもよい。
【００６６】
制御点Ｔには、制御点Ｔの位置を示す情報である制御点位置情報と、制御点Ｔの姿勢を示す情報である制御点姿勢情報とが対応付けられている。なお、制御点Ｔには、これらに加えて、他の情報が対応付けられる構成であってもよい。ロボット制御装置３０は、制御点位置情報及び制御点姿勢情報のそれぞれを指定（決定）する。ロボット制御装置３０は、関節Ｊ１〜関節Ｊ６のうちの少なくとも１つを動作させることによって、指定した制御点位置情報が示す位置に制御点Ｔの位置を一致させるとともに、指定した制御点姿勢情報が示す姿勢に制御点Ｔの姿勢を一致させる。すなわち、ロボット制御装置３０は、制御点位置情報及び制御点姿勢情報を指定することにより、ロボット２０を動作させる。
【００６７】
この一例ではロボット２０が６軸垂直多関節型の可動部Ａを備えるため、制御点Ｔの位置は、関節Ｊ１〜関節Ｊ３のそれぞれを回動させることによっておおよそ決定される。なお、制御点Ｔの位置は、関節Ｊ４〜関節Ｊ６のそれぞれを回動させることによって微調整することもできる。また、当該一例では、制御点Ｔの姿勢は、関節Ｊ４〜関節Ｊ６のそれぞれを回動させることによって決定される。
【００６８】
この一例において、制御点Ｔの位置は、制御点座標系ＴＣの原点のロボット座標系ＲＣにおける位置によって表される。また、制御点Ｔの姿勢は、制御点座標系ＴＣの各座標軸のロボット座標系ＲＣにおける方向によって表される。制御点座標系ＴＣは、制御点Ｔとともに動くように制御点Ｔに対応付けられた三次元直交座標系である。なお、この一例において、可動部Ａの位置及び姿勢は、制御点Ｔの位置及び姿勢によって表される。
【００６９】
ここで、対象物Ｏの予め決められた位置に非接触式の吐出部である吐出部Ｄによって吐出物を塗布する場合における吐出部Ｄの位置をロボット制御装置３０に記憶させる（教示する）場合、ユーザーが吐出物を塗布したい所望の位置に吐出物を吐出可能な位置に吐出部Ｄの位置が一致しているか否かを判定する必要がある。しかしながら、ロボットシステム１と異なるロボットシステムＸ１（例えば、従来のロボットシステム）では、当該吐出可能な位置に吐出部Ｄの位置が一致しているか否かを精度よく判定することは、困難な場合があった。このため、ロボット制御装置３０は、対象物Ｏの予め決められた位置に吐出物を塗布する作業をロボット２０に精度よく行わせることができない場合があった。
【００７０】
そこで、この一例におけるロボット制御装置３０は、吐出部Ｄに着脱可能に取り付けられた治具Ｊに基づいた第１位置を用いて、可動部Ａの位置に関する教示情報を生成する。ロボット制御装置３０は、対象物Ｏの予め決められた位置に吐出物を塗布する作業をロボット２０に精度よく行わせることができる。
【００７１】
以下では、第１位置、教示情報のそれぞれの具体例とともに、ロボット制御装置３０が第１位置を用いて教示情報を生成する処理について詳しく説明する。
【００７２】
＜ロボット制御装置のハードウェア構成＞
以下、図７を参照し、ロボット制御装置３０のハードウェア構成について説明する。図７は、ロボット制御装置３０のハードウェア構成の一例を示す図である。
【００７３】
ロボット制御装置３０は、例えば、ＣＰＵ（Central  Processing  Unit）３１と、記憶部３２と、入力受付部３３と、通信部３４と、表示部３５を備える。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。また、ロボット制御装置３０は、通信部３４を介して撮像部１０、ロボット２０、吐出部Ｄのそれぞれと通信を行う。
【００７４】
ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
記憶部３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。なお、記憶部３２は、ロボット制御装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部３２は、ロボット制御装置３０が処理する各種情報（教示点情報を含む）、各種プログラム（動作プログラムを含む）、各種画像等を格納する。
【００７５】
入力受付部３３は、例えば、キーボードやマウス、タッチパッド、その他の入力装置である。なお、入力受付部３３は、これらに代えて、表示部３５と一体に構成されたタッチパネルであってもよい。また、入力受付部３３は、ロボット制御装置３０と別体であってもよい。この場合、入力受付部３３は、有線又は無線によってロボット制御装置３０と通信可能に接続される。
【００７６】
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部３５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。なお、表示部３５は、ロボット制御装置３０と別体であってもよい。この場合、表示部３５は、有線又は無線によってロボット制御装置３０と通信可能に接続される。
【００７７】
＜ロボット制御装置の機能構成＞
以下、図８を参照し、ロボット制御装置３０の機能構成について説明する。図８は、ロボット制御装置３０の機能構成の一例を示す図である。
【００７８】
ロボット制御装置３０は、記憶部３２と、表示部３５と、制御部３６を備える。
【００７９】
制御部３６は、ロボット制御装置３０の全体を制御する。制御部３６は、表示制御部３６１と、撮像制御部３６３と、吐出制御部３６５と、画像取得部３６７と、力検出情報取得部３６９と、生成部３７１と、ロボット制御部３７３を備える。制御部３６が備えるこれらの機能部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００８０】
表示制御部３６１は、ロボット制御装置３０が表示部３５に表示させる各種の画面（画像）を生成する。表示制御部３６１は、生成した画面を表示部３５に表示させる。
撮像制御部３６３は、撮像部１０が撮像可能な範囲を撮像部１０に撮像させる。
吐出制御部３６５は、吐出部Ｄが吐出可能な位置に対して吐出部Ｄに吐出物を吐出させる。
画像取得部３６７は、撮像部１０が撮像した撮像画像を撮像部１０から取得する。
力検出情報取得部３６９は、力検出部２１が検出した外力の大きさを示す値を出力値として含む力検出情報を力検出部２１から取得する。
生成部３７１は、前述の教示情報を生成する。
ロボット制御部３７３は、ロボット２０を制御する（動作させる）。
【００８１】
＜ロボット制御装置が第１位置を用いて教示情報を生成する処理＞
以下、第１位置、教示情報のそれぞれの具体例とともに、ロボット制御装置３０が第１位置を用いて教示情報を生成する処理について説明する。
【００８２】
教示情報は、前述した通り、可動部Ａの位置に関する情報である。また、教示情報は、ロボット制御装置３０に記憶させる（教示する）情報であり、ロボット制御装置３０がロボット２０を制御する（動作させる）ために用いる情報のことである。
【００８３】
＜教示情報の具体例１である第１教示情報を生成する処理＞
以下、前述した可動部Ａの位置に関する教示情報の具体例１である第１教示情報と、ロボット制御装置３０が第１教示情報を生成する処理である第１処理とのそれぞれについて説明する。
【００８４】
第１教示情報は、吐出部Ｄの位置と可動部Ａの位置との相対的な位置関係を示す情報である。ロボット制御装置３０は、第１教示情報を生成し、生成した第１教示情報を記憶部３２に記憶させることにより、可動部Ａを動かすことによって吐出部Ｄの位置をユーザーが所望する位置に精度よく移動させることができる。
【００８５】
ロボット制御装置３０が第１教示情報を生成する場合、吐出部Ｄに着脱可能に取り付けられた治具Ｊに基づいた第１位置は、治具Ｊに設けられたマーカーＭＫが示す位置のことである。以下では、説明の便宜上、マーカーＭＫが示す位置のことをマーカーＭＫの位置と称して説明する。すなわち、ロボット制御装置３０は、吐出部Ｄに着脱可能に取り付けられた治具Ｊに設けられたマーカーＭＫの位置を用いて、第１教示情報を生成する。
【００８６】
ここで、図９を参照し、ロボット制御装置３０が第１教示情報を生成する処理である第１処理について説明する。図９は、ロボット制御装置３０が行う第１処理の流れの一例を示すフローチャートである。なお、図９に示したフローチャートでは、ステップＳ１１０の処理が行われる前に、ロボット制御装置３０が第１処理を開始する操作をユーザーから予め受け付けた場合について説明する。ロボット制御装置３０は、例えば、表示制御部３６１が表示部３５に表示させた画面であってロボット制御装置３０がユーザーからの操作を受け付ける操作画面を介して、ユーザーから第１処理を開始する操作を受け付ける。なお、ロボット制御装置３０は、これに代えて、他の方法によってユーザーから第１処理を開始する操作を受け付ける構成であってもよい。
【００８７】
ロボット制御部３７３は、吐出部Ｄへ治具Ｊが取り付けられるまで待機する（ステップＳ１１０）。ロボット制御装置３０は、例えば、前述の操作画面を介して、吐出部Ｄへの治具Ｊの取り付けた終了したことを示す情報をユーザーから受け付けた場合、吐出部Ｄへ治具Ｊが取り付けられたと判定する。吐出部Ｄへ治具Ｊが取り付けられたと判定した場合（ステップＳ１１０−ＹＥＳ）、ロボット制御部３７３は、制御点Ｔを移動させ、可動部Ａの位置を予め決められた撮像位置と一致させるとともに可動部Ａの姿勢を予め決められた撮像姿勢と一致させる（ステップＳ１２０）。撮像位置は、可動部Ａの位置が一致した場合において、撮像部１０が撮像可能な撮像範囲に吐出部Ｄが含まれる位置であれば如何なる位置であってもよい。撮像姿勢は、可動部Ａの姿勢のうち、可動部Ａの位置が撮像位置と一致している状態において、撮像部１０の光軸に沿った方向と吐出方向とが平行になる姿勢であり、且つ、マーカーＭＫを撮像部１０が撮像可能な姿勢である。この一例において、撮像姿勢は、可動部Ａの姿勢のうち吐出部Ｄの吐出方向が下方向と一致する姿勢である。
【００８８】
次に、撮像制御部３６３は、撮像部１０が撮像可能な撮像範囲を撮像部１０に撮像させる（ステップＳ１３０）。次に、画像取得部３６７は、ステップＳ１３０において撮像部１０が撮像した撮像画像を撮像部１０から取得する（ステップＳ１４０）。次に、生成部３７１は、ステップＳ１４０において画像取得部３６７が取得した撮像画像に基づいて、マーカーＭＫの位置であってロボット座標系ＲＣにおけるマーカーＭＫの位置を前述の第１位置として算出する（ステップＳ１５０）。ここで、生成部３７１には、撮像画像上の位置とロボット座標系ＲＣにおける位置とを対応付けるキャリブレーションが予め行われている。また、生成部３７１が撮像画像に基づいてマーカーＭＫの位置を算出する方法は、例えば、パターンマッチング等の既知の方法であってもよく、これから開発される方法であってもよい。
【００８９】
次に、生成部３７１は、記憶部３２に予め記憶された第１対応情報を記憶部３２から読み出す。第１対応情報は、吐出部Ｄに治具Ｊが取り付けられた場合における位置関係であって吐出部Ｄの位置とマーカーＭＫの位置との相対的な位置関係を示す情報のことである。生成部３７１は、読み出した第１対応情報と、ステップＳ１５０において第１位置として算出したマーカーＭＫの位置とを用いて、ロボット座標系ＲＣにおける位置関係であって吐出部Ｄの位置と可動部Ａの位置との相対的な位置関係を算出する（ステップＳ１６０）。
【００９０】
次に、生成部３７１は、ステップＳ１６０において算出した位置関係を示す情報を第１教示情報として生成する（ステップＳ１７０）。次に、生成部３７１は、ステップＳ１７０において生成した第１教示情報を記憶部３２に記憶させ（ステップＳ１８０）、処理を終了する。
【００９１】
以上のように、ロボット制御装置３０は、第１処理、すなわち図９に示したフローチャートの処理を実行することにより、治具Ｊに基づいた第１位置（この一例において、マーカーＭＫの位置）を用いて、第１教示情報を生成する。これにより、ロボット制御装置３０は、可動部Ａを動かすことによって吐出部Ｄの位置をユーザーが所望する位置に精度よく移動させることができる。その結果、ロボット制御装置３０は、対象物Ｏの予め決められた位置に吐出物を塗布する作業をロボット２０に精度よく行わせることができる。
【００９２】
なお、ステップＳ１２０の処理が行われた後であってステップＳ１３０の処理が行われる前の間に、吐出部Ｄと撮像部１０との間に吐出方向に直交するように透明なガラス板を配置される構成であってもよい。この場合、当該間において、ロボット制御装置３０は、例えば、力制御によってガラス板に治具Ｊの先端を接触させる。ユーザーは、ガラス板に治具Ｊの先端が接触した状態において、吐出部Ｄから治具Ｊを取り外す。そして、ロボット制御装置３０は、吐出部Ｄに吐出物をガラス板に向かって吐出させる。その後、ロボット制御装置３０は、ステップＳ１３０において、撮像部１０が撮像可能な撮像範囲を撮像部１０に撮像させる。撮像部１０が撮像した撮像画像には、ガラス板に塗布された吐出物の着弾位置が撮像されている。ロボット制御装置３０は、ステップＳ１４０において、当該撮像画像を取得する。ロボット制御装置３０は、ステップＳ１５０において、取得した撮像画像に基づいて、当該着弾位置を第１位置として算出する。このようにガラス板を使用しても、ロボット制御装置３０は、第１教示情報を生成することができる。
【００９３】
＜教示情報の具体例２である第２教示情報を生成する処理＞
以下、可動部Ａの位置に関する教示情報の具体例２である第２教示情報と、ロボット制御装置３０が第２教示情報を生成する処理である第２処理とのそれぞれについて説明する。
【００９４】
第２教示情報は、１以上の教示点を示す教示点情報である。教示点は、ロボット制御装置３０が可動部Ａを動作させる際に制御点Ｔを移動させる目標となる仮想的な点のことである。教示点には、教示点位置情報と、教示点姿勢情報と、教示点識別情報とが対応付けられている。教示点位置情報は、教示点の位置を示す情報である。また、教示点姿勢情報は、教示点の姿勢を示す情報である。この一例において、教示点の位置は、教示点に対応付けられた三次元直交座標系である教示点座標系の原点のロボット座標系ＲＣにおける位置によって表される。また、教示点の姿勢は、教示点座標系の各座標軸のロボット座標系ＲＣにおける方向によって表される。教示点識別情報は、教示点を識別する情報であり、例えば、教示点を識別するＩＤである。なお、教示点には、教示点位置情報、教示点姿勢情報、教示点識別情報に加えて、他の情報が対応付けられる構成であってもよい。
【００９５】
ロボット制御装置３０が第２教示情報に基づいてロボット２０を制御する（動作させる）場合、ロボット制御装置３０は、例えば、ユーザーにより予め入力された動作プログラムと教示点識別情報とに基づいて、第２教示情報（すなわち、教示点情報）が示す１以上の教示点を順に指定する。ロボット制御装置３０は、指定した教示点の位置を示す教示点位置情報を制御点位置情報として指定するとともに、当該教示点の姿勢を示す教示点姿勢情報を制御点姿勢情報として指定する。そして、ロボット制御装置３０は、可動部Ａを動作させ、指定した制御点位置情報が示す位置に制御点Ｔの位置を一致させるとともに、指定した制御点姿勢情報が示す姿勢に制御点Ｔの姿勢を一致させる。すなわち、ロボット制御装置３０は、制御点Ｔの位置及び姿勢を当該教示点の位置及び姿勢と一致させる（制御点Ｔを当該教示点と一致させる）。これにより、ロボット制御装置３０は、可動部Ａに所望の動作を行わせることができる。その結果、ロボット制御装置３０は、ロボット２０に所定の作業を行わせることができる。
【００９６】
制御点Ｔの位置及び姿勢を変化させる際、ロボット制御装置３０は、ユーザーから受け付けた操作に基づいて予め記憶された動作プログラムと、第２教示情報（すなわち、教示点情報）とに基づいて、マニピュレーターＭのアクチュエーターを制御する信号を含む制御信号を生成する。当該制御信号には、エンドエフェクターＥを動かす信号等の他の信号も含まれる。そして、ロボット制御装置３０は、生成した制御信号をロボット２０に送信し、ロボット２０に所定の作業を行わせる。
【００９７】
このように、ロボット制御装置３０は、第２教示情報に基づいてロボット２０を制御する（動作させる）。ユーザーは、ダイレクトティーチング、オンラインティーチング等によって、第２教示情報をロボット制御装置３０に教示する（記憶させる）ことができる。すなわち、ロボット制御装置３０は、ユーザーがロボット制御装置３０に第２教示情報を記憶させる（教示する）ための動作モードとして、ユーザーがダイレクトティーチングによりロボット制御装置３０に第２教示情報を記憶させる（教示する）第１教示モードと、ユーザーがオンラインティーチングによりロボット制御装置３０に第２教示情報を記憶させる（教示する）第２教示モードとを有する。以下では、一例として、第１教示モードにおいてロボット制御装置３０が行う第２処理について説明する。なお、ダイレクトティーチングは、可動部Ａに対してユーザーが外力を加えることにより可動部Ａの位置及び姿勢を所望の位置及び姿勢に変化させた後、位置を変化させた後の可動部Ａの位置を示す教示点位置情報と、姿勢を変化させた後の可動部Ａの姿勢を示す教示点姿勢情報とが対応付けられた教示点を示す教示点情報を第２教示情報としてロボット制御装置３０に記憶させる（教示する）作業のことである。また、オンラインティーチングは、ロボット制御装置３０に対してユーザーが可動部Ａの位置及び姿勢を変化させる操作を行うことにより可動部Ａの位置及び姿勢を所望の位置及び姿勢に変化させた後、位置を変化させた後の可動部Ａの位置を示す教示点位置情報と、姿勢を変化させた後の可動部Ａの姿勢を示す教示点姿勢情報とが対応付けられた教示点を示す教示点情報を第２教示情報としてロボット制御装置３０に記憶させる（教示する）作業のことである。
【００９８】
ここで、図１０を参照し、第１教示モードにおいてロボット制御装置３０が第２教示情報を生成する処理である第２処理について説明する。図１０は、第１教示モードにおいてロボット制御装置３０が行う第２処理の流れの一例を示すフローチャートである。なお、図１０に示したフローチャートでは、ステップＳ２１０の処理が行われる前に、ロボット制御装置３０の動作モードを第１教示モードにする操作をロボット制御装置３０がユーザーから予め受け付けた場合について説明する。また、当該フローチャートでは、当該処理が行われる前に、ロボット制御装置３０が第２処理を開始する操作をユーザーから予め受け付けた場合について説明する。ロボット制御装置３０は、例えば、前述の操作画面を介して、動作モードを第１教示モードにする操作をユーザーから受け付けるとともに、ユーザーから第２処理を開始する操作を受け付ける。なお、ロボット制御装置３０は、これに代えて、他の方法によって動作モードを第１教示モードにする操作を受け付ける構成であってもよく、他の方法によってユーザーから第２処理を開始する操作を受け付ける構成であってもよい。
【００９９】
ロボット制御部３７３は、可動部Ａに外力が加えられるまで待機する（ステップＳ２１０）。具体的には、ロボット制御部３７３は、力検出情報取得部３６９に力検出情報を力検出部２１から取得させる。そして、ロボット制御部３７３は、力検出情報取得部３６９が取得した力検出情報に含まれる出力値に基づいて、可動部Ａに外力が加えられたか否かを判定する。可動部Ａに外力が加えられたと判定した場合（ステップＳ２１０−ＹＥＳ）、ロボット制御部３７３は、可動部Ａに加えられた外力に基づく力制御によって制御点Ｔを移動させ、可動部Ａの位置及び姿勢を変化させる（ステップＳ２２０）。この一例において、当該力制御は、前述した通り、インピーダンス制御である。
【０１００】
次に、生成部３７１は、第２教示情報をロボット制御装置３０に生成させる操作である第２教示情報生成操作をユーザーから受け付けたか否かを判定する（ステップＳ２３０）。例えば、生成部３７１は、前述の操作画面を介して第２教示情報生成操作をユーザーから受け付ける。なお、生成部３７１は、これに代えて、他の方法によってユーザーから第２教示情報生成操作を受け付ける構成であってもよい。第２教示情報生成操作をユーザーから受け付けていないと生成部３７１が判定した場合（ステップＳ２３０−ＮＯ）、ロボット制御部３７３は、ステップＳ２１０に遷移し、可動部Ａに外力が加えられるまで再び待機する。一方、第２教示情報生成操作をユーザーから受け付けたと判定した場合（ステップＳ２３０−ＹＥＳ）、生成部３７１は、現在の可動部Ａの位置を示す教示点位置情報と、現在の可動部Ａの姿勢を示す教示点姿勢情報とが対応付けられた教示点を示す教示点情報を第２教示情報として生成する（ステップＳ２４０）。この際、生成部３７１は、当該教示点を識別する教示点識別情報を、当該教示点位置情報及び当該教示点姿勢情報とともに対応付けた当該教示点を示す教示点情報を第２教示情報として生成する。次に、生成部３７１は、ステップＳ２４０において生成した第２教示情報を記憶部３２に記憶させる（ステップＳ２５０）。
【０１０１】
次に、ロボット制御部３７３は、第２処理を終了させる操作をユーザーから受け付けたか否かを判定する（ステップＳ２６０）。例えば、ロボット制御部３７３は、前述の操作画面を介して当該操作をユーザーから受け付ける。なお、ロボット制御部３７３は、これに代えて、他の方法によってユーザーからと当該操作を受け付ける構成であってもよい。当該操作をユーザーから受け付けていないと判定した場合（ステップＳ２６０−ＮＯ）、ロボット制御部３７３は、ステップＳ２１０に遷移し、可動部Ａに外力が加えられるまで再び待機する。一方、当該操作をユーザーから受け付けたと判定した場合（ステップＳ２６０−ＹＥＳ）、ロボット制御部３７３は、処理を終了する。
【０１０２】
ここで、ステップＳ２１０〜ステップＳ２２０の処理において、吐出部Ｄに治具Ｊが取り付けられている場合、ユーザーは、可動部Ａに外力を加えることによって可動部Ａをロボット制御装置３０による力制御によって動かし、対象物Ｏの予め決められた位置であってユーザーが吐出物を塗布したい所望の位置に治具Ｊの先端を接触させた状態における可動部Ａの位置及び姿勢を示す情報（すなわち、上記の教示点情報）を第２教示情報としてロボット制御装置３０に記憶させることができる。すなわち、治具Ｊの先端が対象物Ｏに接触している状態における当該先端の位置（すなわち、マーカーＭＫの位置）は、ユーザーが吐出物を塗布したい所望の位置であり、この一例における第１位置の一例である。また、ユーザーは、ユーザーが吐出物を塗布したい所望の位置に治具Ｊの先端を接触させながら（すなわち、吐出部Ｄの位置及び姿勢を当該所望の位置に吐出物を吐出可能な位置及び姿勢と一致させながら）、吐出部Ｄの位置及び姿勢をユーザーが所望する位置及び姿勢と一致させることができる。その結果、ユーザーは、ロボット制御装置３０に対して、ユーザーが吐出物を塗布したい所望の位置に吐出物を吐出可能な吐出部Ｄの位置及び姿勢であってユーザーが所望する位置及び姿勢を示す情報（すなわち、上記の教示点情報）を、第２教示情報として容易にロボット制御装置３０に記憶させることができる。
【０１０３】
以上のように、ロボット制御装置３０は、第２処理、すなわち図１０に示したフローチャートの処理を実行することにより、治具Ｊに基づいた第１位置（治具Ｊの先端が対象物Ｏに接触している状態における当該先端の位置）を用いて、第２教示情報を生成する。これにより、ロボット制御装置３０は、可動部Ａを動かすことによって吐出部Ｄの位置をユーザーが所望する位置に精度よく移動させることができる。その結果、ロボット制御装置３０は、対象物Ｏの予め決められた位置に吐出物を塗布する作業をロボット２０に精度よく行うことができる。
【０１０４】
＜教示情報の具体例３である第３教示情報を生成する処理＞
以下、可動部Ａの位置に関する教示情報の具体例３である第３教示情報と、ロボット制御装置３０が第３教示情報を生成する処理である第３処理とのそれぞれについて説明する。
【０１０５】
第３教示情報は、前述の作業台ＴＢに載置された対象物Ｏの上面における位置のうち吐出部Ｄに取り付けられた治具Ｊの先端を接触させた３以上の位置に基づく形状に応じた情報である。当該３以上の位置のそれぞれは、第１位置の一例である。以下では、一例として、ロボット制御装置３０が、当該３以上の位置に基づく形状として、当該３以上の位置に基づく平面に応じた情報を第３教示情報として生成する場合について説明する。すなわち、ロボット制御装置３０は、当該３以上の位置に基づく平面、すなわち対象物Ｏの上面を部分的な平面として含む平面に応じた情報を第３教示情報として生成する。なお、当該３以上の位置に基づく形状は、平面に代えて、曲面、球面等の他の形状であってもよい。
【０１０６】
また、作業台ＴＢに載置された対象物Ｏの上面における位置のうち吐出部Ｄに取り付けられた治具Ｊの先端を接触させた３以上の位置に基づく平面に応じた情報は、例えば、当該平面上の位置を示す三次元直交座標系である平面座標系ＦＣを示す情報である。平面座標系ＦＣにおけるＸ軸及びＹ軸は、互いに直交しており、当該平面、すなわち対象物Ｏの上面に平行である。また、平面座標系ＦＣにおけるＺ軸は、当該Ｘ軸及び当該Ｙ軸に直交しており、当該平面、すなわち対象物Ｏの上面に直交している。また、平面座標系ＦＣにおける位置のうち、当該Ｚ軸の座標であるＺ座標が０である位置の集合が表す平面は、対象物Ｏの上面を部分平面として含む平面である。
【０１０７】
ここで、作業台ＴＢの上面に対象物Ｏが載置される毎に対象物Ｏの上面に対するＸＹ平面の傾きが変化してしまう場合、ロボット制御装置３０と異なるロボット制御装置Ｘ２（例えば、従来のロボット制御装置）では、対象物Ｏの上面に沿って可動部Ａの位置を移動させることは、困難である。当該ＸＹ平面は、ロボット座標系ＲＣにおけるＸ軸及びＹ軸によって張られる平面のことである。この問題を解決するため、ロボット制御装置３０は、対象物Ｏの上面を部分的な平面として含む平面に応じた情報、すなわち平面座標系ＦＣを示す情報を生成し、生成した当該情報に基づいて、当該上面に沿って可動部Ａの位置を移動させる。これにより、ロボット制御装置３０は、吐出部Ｄの位置をユーザーが所望する位置に精度よく移動させることができる。その結果、ロボット制御装置３０は、対象物Ｏの予め決められた位置に吐出物を塗布する作業をロボット２０に精度よく行うことができる。
【０１０８】
ここで、図１１を参照し、ロボット制御装置３０が第３教示情報を生成する処理である第３処理について説明する。図１１は、ロボット制御装置３０が行う第３処理の流れの一例を示すフローチャートである。なお、図１１に示したフローチャートでは、ステップＳ３１０の処理が行われる前に、ロボット制御装置３０が第３処理を開始する操作をユーザーから予め受け付けた場合について説明する。ロボット制御装置３０は、例えば、前述の操作画面を介して、ユーザーから第３処理を開始する操作を受け付ける。なお、ロボット制御装置３０は、これに代えて、他の方法によってユーザーから第３処理を開始する操作を受け付ける構成であってもよい。
【０１０９】
ロボット制御部３７３は、作業台ＴＢの上面において予め決められた位置に対象物Ｏがユーザーにより載置されるまで待機する（ステップＳ３１０）。ロボット制御部３７３は、例えば、前述の操作画面を介して、当該位置に対象物Ｏが載置されたことを示す情報をユーザーから受け付けた場合、当該位置に対象物Ｏがユーザーにより載置されたと判定する。なお、ロボット制御部３７３は、これに代えて、他の方法によって当該位置に対象物Ｏがユーザーにより載置されたと判定する構成であってもよい。当該位置に対象物Ｏがユーザーにより載置されたと判定した場合（ステップＳ３１０−ＹＥＳ）、ロボット制御部３７３は、記憶部３２に予め記憶された開始位置情報を記憶部３２から読み出す。開始位置情報は、３以上の開始位置のそれぞれを示す情報である。開始位置は、ステップＳ３４０の処理を開始する際において可動部Ａの位置を一致させていきたい所望の位置であってロボット座標系ＲＣにおける位置のことである。この一例において、開始位置は、作業台ＴＢの上面の上側に位置する位置であって対象物Ｏに対して吐出部Ｄに取り付けられた治具Ｊが接触しない位置である。また、開始位置は、ロボット座標系ＲＣにおけるＺ軸の正方向から負方向に向かって対象物Ｏの上面を見た場合において、対象物Ｏの輪郭の内側に位置する位置である。また、開始位置情報には、３以上の開始位置のそれぞれに対応付けられる順序を示す順序情報が含まれている。なお、開始位置は、これに代えて、他の位置であってもよい。ロボット制御部３７３は、読み出した開始位置情報に含まれる順序情報に基づいて、順序が早い順に当該３以上の開始位置を１つずつ対象開始位置として選択し、選択した対象開始位置毎に、ステップＳ３３０〜ステップＳ３８０の処理を繰り返し行う（ステップＳ３２０）。以下では、一例として、開始位置情報が示す開始位置の数が３である場合について説明する。なお、当該数は、３以上であれば如何なる数であってもよい。
【０１１０】
ロボット制御部３７３は、制御点Ｔを移動させ、ステップＳ３２０において選択した対象開始位置に可動部Ａの位置を一致させる（ステップＳ３３０）。この際、ロボット制御部３７３は、可動部Ａの姿勢を、予め決められた開始姿勢と一致させる。開始姿勢は、ステップＳ３４０の処理を開始する際において可動部Ａの姿勢を一致させていきたい所望の姿勢のことである。この一例において、開始姿勢は、ロボット座標系ＲＣにおけるＺ軸の負方向と、前述の吐出方向とが一致する場合における可動部Ａの姿勢のことである。なお、開始姿勢は、これに代えて、当該負方向と当該吐出方向とが一致しない場合における可動部Ａの他の姿勢であってもよい。
【０１１１】
次に、ロボット制御部３７３は、力制御（この一例において、インピーダンス制御）を開始する（ステップＳ３４０）。具体的には、ロボット制御部３７３は、力検出部２１により検出される外力のうちロボット座標系ＲＣにおけるＺ軸の正方向に加わる力の大きさが予め決められた閾値以上となるように制御点Ｔを移動させ始める。すなわち、ロボット制御部３７３は、力制御によって、制御点Ｔを当該Ｚ軸の負方向に向かって移動させ始める。ここで、当該閾値は、例えば、０．１Ｎである。なお、当該閾値は、０．１Ｎに代えて、０．１Ｎより小さくてもよく、０．１Ｎより大きくてもよい。
【０１１２】
次に、ロボット制御部３７３は、吐出部Ｄに取り付けられた治具Ｊの先端が対象物Ｏの上面に接触したか否かを判定する（ステップＳ３５０）。ロボット制御部３７３は、力検出部２１により検出される外力のうちロボット座標系ＲＣにおけるＺ軸の正方向に加わる力の大きさが予め決められた閾値以上であると判定した場合、当該先端が当該上面に接触したと判定する。一方、ロボット制御部３７３は、力検出部２１により検出される外力のうちロボット座標系ＲＣにおけるＺ軸の正方向に加わる力の大きさが予め決められた閾値未満であると判定した場合、当該先端が当該上面に接触していないと判定する。具体的には、ロボット制御部３７３は、力検出情報取得部３６９に力検出部２１から力検出情報を取得させる。そして、ロボット制御部３７３は、力検出情報取得部３６９が取得した力検出情報に含まれる出力値が示す外力のうち当該正方向に加わる力の大きさが予め決められた閾値未満であると判定した場合（ステップＳ３５０−ＮＯ）、当該先端が当該上面に接触していないと判定し、ステップＳ３３０の処理を継続する。一方、ロボット制御部３７３は、力検出情報取得部３６９が取得した力検出情報に含まれる出力値が示す外力のうち当該正方向に加わる力の大きさが予め決められた閾値以上であると判定した場合（ステップＳ３５０−ＹＥＳ）、ロボット制御部３７３は、当該先端が当該上面に接触したと判定し、ステップＳ３４０において開始した力制御を終了し、制御点Ｔの移動を停止させる（ステップＳ３６０）。
【０１１３】
次に、生成部３７１は、現在のマーカーＭＫのロボット座標系ＲＣにおける位置を基準位置として特定する（ステップＳ３７０）。ここで、生成部３７１は、例えば、現在の可動部Ａのロボット座標系ＲＣにおける位置と、前述の第１対応情報と、前述の第１教示情報とに基づいて、マーカーＭＫのロボット座標系ＲＣにおける位置を算出する。また、生成部３７１は、算出した当該位置のうちロボット座標系ＲＣのＺ軸方向における位置と、現在の可動部Ａの位置のうち当該Ｚ軸方向における位置との相対的な位置関係を示す情報である相対高さ情報を生成する。生成部３７１は、生成した相対高さ情報を記憶部３２に記憶させる。なお、生成部３７１は、他の方法によって当該位置を算出する構成であってもよい。また、当該相対高さ情報は、この一例において、図１３において説明する処理に用いる情報であるため、図１１に示したフローチャートの処理で用いられることはない。基準位置は、第１位置の一例である。
【０１１４】
次に、生成部３７１は、ステップＳ３７０において特定した基準位置を示す基準位置情報を生成し、生成した基準位置情報を記憶部３２に記憶させる（ステップＳ３８０）。ここで、生成部３７１は、基準位置情報を記憶部３２に記憶させる際、ステップＳ３２０において選択された対象開始位置に対応付けられた順序を示す順序情報を基準位置情報に対応付ける。そして、ロボット制御部３７３は、ステップＳ３２０に遷移し、次の対象開始位置を選択する。なお、ステップＳ３２０において未選択の開始位置が存在しない場合、ロボット制御部３７３は、ステップＳ３９０に遷移する。
【０１１５】
ステップＳ３２０〜ステップＳ３８０の繰り返し処理が行われた後、生成部３７１は、記憶部３２に記憶された３つの基準位置情報のそれぞれが示す基準位置に基づいて、これら３つの基準位置の全てを含む平面に応じた情報として、当該平面上の位置を示す平面座標系ＦＣを示す情報を第３教示情報として生成する（ステップＳ３９０）。この際、生成部３７１は、平面座標系ＦＣの原点のロボット座標系ＲＣにおける位置を、３つの当該基準位置のうち最も早い順序が対応付けられた基準位置と一致させる。これにより、ロボット制御部３７３は、平面座標系ＦＣにおける位置がロボット座標系ＲＣにおける位置に対応付けられるため、平面座標系ＦＣにおける位置をロボット座標系ＲＣにおける位置に変換することができる。また、生成部３７１は、平面座標系ＦＣのＸ軸及びＹ軸が当該平面と平行になるように平面座標系ＦＣを示す情報を第３教示情報として生成する。これにより、平面座標系ＦＣにおける位置のうちＺ座標が０である位置の集合は、対象物Ｏの上面を部分平面として含む平面を表す。生成部３７１は、生成した第３教示情報を記憶部３２に記憶させ（ステップＳ４００）、処理を終了する。
【０１１６】
ここで、図１２を参照し、ステップＳ３２０〜ステップＳ３９０の処理について説明する。図１２は、ステップＳ３２０〜ステップＳ３９０の処理を説明するための図である。図１２は、ステップＳ３３０の処理によって可動部Ａの位置が、順序が１番目の基準位置と一致した状態における可動部Ａと対象物Ｏとの位置関係を示している。また、図１２に示した例では、対象物Ｏの上面は、ロボット座標系ＲＣにおけるＸＹ平面と平行ではない。
【０１１７】
ロボット制御部３７３は、順序が１番目の基準位置が対象基準位置として選択されている場合におけるステップＳ３４０の処理において、力制御により可動部Ａを矢印ＭＡが示す方向、すなわち、この一例における下方向に移動させる。これにより、ロボット制御部３７３は、治具Ｊの先端を対象物Ｏの上面に接触させる。図１２に示した点Ｐ１は、当該処理によって治具Ｊの先端が接触する位置を示している。また、図１２に示した点Ｐ２は、当該上面における位置のうち、順序が２番目の基準位置が対象基準位置として選択された場合におけるステップＳ３４０の処理によって治具Ｊの先端が接触位置を示している。また、図１２に示した点Ｐ３は、当該上面における位置のうち、順序が３番目の基準位置が対象基準位置として選択された場合におけるステップＳ３４０の処理によって治具Ｊの先端が接触する位置を示している。
【０１１８】
生成部３７１は、点Ｐ１〜点Ｐ３のそれぞれが示す基準位置に基づいて、前述の平面座標系ＦＣを示す情報を第３教示情報として生成する。図１２に示した平面座標系ＦＣは、このようにして生成部３７１が生成した第３教示情報が示す平面座標系ＦＣである。なお、図１２では、平面座標系ＦＣの原点は、図が煩雑になるのを避けるため、点Ｐ１が示す位置とは一致させていない。図１２に示したように、点Ｐ１〜点Ｐ３のそれぞれが示す基準位置の全てを含む平面、すなわち対象物Ｏの上面を部分平面として含む平面がロボット座標系ＲＣにおけるＸＹ平面と平行ではないため、平面座標系ＦＣにおけるＸＹ平面は、ロボット座標系ＲＣにおけるＸＹ平面と平行ではない。しかし、図１２に示した例のように、これらのＸＹ平面が互いに平行ではない場合であっても、ロボット制御装置３０は、第３教示情報に基づいて、対象物Ｏの上面に沿って可動部Ａを移動させることができ、その結果、ロボット制御装置３０は、当該上面に塗布される吐出物に塗り斑（塗りムラ、塗布ムラ）が生じてしまうことを抑制することができる。
【０１１９】
次に、図１３を参照し、図１１に示したフローチャートの処理によって生成された第３教示情報に基づいてロボット制御装置３０がロボット２０に所定の作業を行わせる処理について説明する。図１３は、図１１に示したフローチャートの処理によって生成された第３教示情報に基づいてロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示す図である。この一例における所定の作業は、対象物Ｏの上面に沿って可動部Ａを予め決められた軌跡を描くように移動させながら当該上面に吐出物を塗布する作業である。なお、当該所定の作業は、これに代えて、他の作業であってもよい。また、図１３に示したフローチャートでは、ステップＳ４１０の処理が行われる前に、吐出部Ｄから治具Ｊが取り外されている場合について説明する。
【０１２０】
ロボット制御部３７３は、記憶部３２に予め記憶された第３教示情報を記憶部３２から読み出す（ステップＳ４１０）。次に、ロボット制御部３７３は、記憶部３２に予め記憶された第１軌跡情報を記憶部３２から読み出す（ステップＳ４２０）。第１軌跡情報は、ロボット制御装置３０がロボット２０に行わせる所定の作業における可動部Ａの位置及び姿勢の変化を表す軌跡を示す情報である。この一例において、当該軌跡は、ロボット座標系ＲＣにおけるＸＹ平面に沿って動く可動部Ａの位置の変化を表す。また、当該軌跡上の各点の位置は、ロボット座標系ＲＣにおけるＸ座標とＹ座標との組み合わせによって表される。すなわち、当該軌跡は、ロボット座標系ＲＣにおけるＺ軸方向の位置について規定されていない。また、当該軌跡は、この一例において、ロボット座標系ＲＣにおけるＺ軸の正方向から負方向に向かって対象物Ｏの上面を見た場合において、対象物Ｏの輪郭の内側に含まれる。なお、当該軌跡の一部は、当該輪郭の内側に含まれない構成であってもよい。また、当該軌跡上の各点の姿勢は、ロボット座標系ＲＣにおけるＵ座標とＶ座標とＷ座標との組み合わせによって表される。Ｕ座標は、ロボット座標系ＲＣにおけるＸ軸周りの回動軸を示す座標である。Ｖ座標は、ロボット座標系ＲＣにおけるＹ軸周りの回動軸を示す座標である。Ｗ座標は、ロボット座標系ＲＣにおけるＺ軸周りの回動軸を示す座標である。
【０１２１】
次に、生成部３７１は、記憶部３２に予め記憶された前述の相対高さ情報を読み出す。生成部３７１は、読み出した相対高さ情報と、ステップＳ４１０において記憶部３２から読み出した第３教示情報と、ステップＳ４２０において記憶部３２から読み出した第１軌跡情報とに基づいて、ロボット２０に行わせる所定の作業における可動部Ａの位置の変化を表す軌跡であって平面座標系ＦＣにおけるＸＹ平面上に沿った軌跡である平面上軌跡を生成する（ステップＳ４３０）。具体的には、生成部３７１は、当該第３教示情報が示す平面座標系ＦＣにおける位置のうちＺ座標が平面座標系ＦＣの原点のＺ座標と一致している位置の集合を、対象物Ｏの上面を部分平面として含む平面として特定する。また、生成部３７１は、当該第１軌跡情報が示す軌跡を、平面座標系ＦＣにおける位置のうちＺ座標が０（すなわち、原点と同じＺ座標）の位置の集合が表す平面に沿った軌跡に変換する。また、生成部３７１は、変換した当該軌跡と、当該相対高さ情報が示す位置関係とに基づいて、当該軌跡に沿ったマーカーＭＫの位置の変化に伴う可動部Ａの位置の変化を表す軌跡を平面上軌跡として生成する。
【０１２２】
次に、ロボット制御部３７３は、制御点Ｔを移動させ、ステップＳ４３０において生成した平面上軌跡上の各点のうちの始点の位置に可動部Ａの位置を一致させる（ステップＳ４４０）。次に、ロボット制御部３７３は、吐出制御部３６５を制御して吐出部Ｄに吐出物を吐出させるとともに当該軌跡に沿って可動部Ａの位置を変化させ、ロボット２０に所定の作業を行わせる（ステップＳ４５０）。これにより、ロボット制御装置３０は、対象物Ｏの上面に沿った軌跡に基づいて可動部Ａの位置を変化させることができ、その結果、対象物Ｏの予め決められた位置に吐出物を塗布する作業をロボット２０に精度よく行うことができる。また、当該上面に沿って可動部Ａ及び吐出部Ｄを動かすことができるため、ロボット制御装置３０は、当該上面に塗布された吐出物に塗り斑（塗りムラ、塗布ムラ）が生じてしまうことを抑制することができる。ステップＳ４５０の処理が行われた後、ロボット制御部３７３は、処理を終了する。
【０１２３】
＜教示情報の具体例４である第４教示情報を生成する処理＞
以下、可動部Ａの位置に関する教示情報の具体例４である第４教示情報と、ロボット制御装置３０が第４教示情報を生成する処理である第４処理とのそれぞれについて説明する。
【０１２４】
この一例では、ロボット２０が作業を行う対象である対象物が、前述の対象物Ｏに代えて、対象物Ｏ２である場合について説明する。対象物Ｏ２は、対象物Ｏと同様に平板形状のプレートであるが、対象物Ｏと異なり上面に凹凸が形成されている。
【０１２５】
また、ロボット制御装置３０が第４処理を行う際、エンドエフェクターＥには、吐出部Ｄとともに動く距離検出部（図１５参照）が設けられる。距離検出部は、例えば、レーザー変位計である。距離検出部は、物体の表面にレーザーを照射し、当該表面において反射されたレーザーが受光されるまでの時間に基づいて、当該表面上の位置のうちレーザーが照射された位置から距離検出部の位置までの距離を検出する。なお、距離検出部は、当該距離を検出可能であれば、タッチセンサー、ロードセル等のレーザー変位計以外の他のセンサーであってもよい。距離検出部は、検出した距離を示す距離情報をロボット制御装置３０に出力する。距離情報は、距離検出部からの出力の一例である。距離検出部の位置は、例えば、距離検出部の重心の位置によって表される。なお、距離検出部の位置は、当該重心の位置に代えて、距離検出部に応じた他の位置によって表される構成であってもよい。
【０１２６】
以下では、一例として、距離検出部がレーザーを照射する方向が、前述の吐出方向と一致している場合について説明する。なお、距離検出部がレーザーを照射する方向は、これに代えて、吐出方向と異なる方向と一致する構成であってもよい。
【０１２７】
ここで、エンドエフェクターＥに距離検出部が設けられる場合、ロボット制御装置３０が備える制御部３６は、距離検出部に距離を検出させる図示しない距離検出制御部を備える。距離検出制御部は、距離検出部が検出した距離を示す距離情報を距離検出部から取得する。
【０１２８】
第４教示情報は、対象物Ｏ２の上面に形成された凹凸に応じた軌跡であってロボット２０が所定の作業を行う際における可動部Ａの位置及び姿勢の変化を表す軌跡を示す情報である。すなわち、ロボット制御装置３０は、第４処理によって、当該凹凸に応じた軌跡であってロボット２０が所定の作業を行う際における可動部Ａの位置の変化を表す軌跡を示す情報を第４教示情報として生成する。第４教示情報が示す軌跡上の各点の位置は、ロボット座標系ＲＣにおけるＸ座標とＹ座標とＺ座標との組み合わせによって表される。
【０１２９】
対象物Ｏの場合と同様に、対象物Ｏ２の予め決められた位置に非接触式の吐出部である吐出部Ｄによって吐出物を塗布する場合における吐出部Ｄの位置をロボット制御装置３０に記憶させる（教示する）場合、ユーザーが吐出物を塗布したい所望の位置に吐出物を吐出可能な位置に吐出部Ｄの位置が一致しているか否かを判定する必要がある。このため、ロボット制御装置３０は、対象物Ｏ２の予め決められた位置に吐出物を塗布する作業をロボット２０に行わせる際において可動部Ａの位置及び姿勢の変化を表す軌跡であってユーザーが所望する軌跡を示す第４教示情報を精度よく生成することができない場合があった。そこで、ロボット制御装置３０は、以下において説明する処理において、吐出部Ｄに着脱可能に取り付けられた治具Ｊに基づいた第１位置を用いて第４教示情報を生成する。
【０１３０】
ロボット制御装置３０が第４教示情報を生成する場合、吐出部Ｄに着脱可能に取り付けられた治具Ｊに基づいた第１位置は、吐出部Ｄに取り付けられた治具Ｊの先端が対象物Ｏ２の表面に接触している状態における可動部Ａの位置である。この一例において、ロボット制御装置３０は、距離検出部が検出した距離を示す距離情報と、当該第１位置とに基づいて、第４教示情報を生成する。
【０１３１】
ここで、図１４を参照し、ロボット制御装置３０が第４教示情報を生成する処理である第４処理について説明する。図１４は、ロボット制御装置３０が行う第４処理の流れの一例を示すフローチャートである。ここで、図１４に示したフローチャートでは、ステップＳ５１０の処理が行われる前に、ロボット制御装置３０が第４処理を開始する操作をユーザーから予め受け付けた場合について説明する。ロボット制御装置３０は、例えば、前述の操作画面を介して、ユーザーから第４処理を開始する操作を受け付ける。また、当該フローチャートでは、ステップＳ５１０の処理が行われる前に、吐出部Ｄに治具Ｊが予め取り付けられている場合について説明する。なお、ロボット制御装置３０は、これに代えて、他の方法によってユーザーから第４処理を開始する操作を受け付ける構成であってもよい。
【０１３２】
ロボット制御部３７３は、作業台ＴＢの上面において予め決められた位置に対象物Ｏ２がユーザーにより載置されるまで待機する（ステップＳ５１０）。ロボット制御装置３０は、例えば、前述の操作画面を介して、当該位置に対象物Ｏ２が載置されたことを示す情報をユーザーから受け付けた場合、当該位置に対象物Ｏ２がユーザーにより載置されたと判定する。当該位置に対象物Ｏ２がユーザーにより載置されたと判定した場合（ステップＳ５１０−ＹＥＳ）、ロボット制御部３７３は、制御点Ｔを移動させ、ロボット座標系ＲＣにおいて予め決められた待機位置及び待機姿勢に可動部Ａの位置及び姿勢を一致させる（ステップＳ５２０）。待機位置は、この一例において、下方向に制御点Ｔを移動させることによって吐出部Ｄに取り付けられた治具Ｊの先端が対象物Ｏ２の上面に接触することが可能な位置であれば如何なる位置であってもよい。この一例において、待機位置は、上から下に向かって待機位置を見た場合における待機位置を表すＸ座標及びＹ座標であってロボット座標系ＲＣにおけるＸ座標及びＹ座標が、ステップＳ５８０においてロボット制御部３７３が記憶部３２から読み出す第２軌跡情報が示す軌跡の始点の位置を表すＸ座標及びＹ座標であってロボット座標系ＲＣにおけるＸ座標及びＹ座標と一致している位置であり、待機位置のロボット座標系ＲＣにおけるＺ軸方向の位置が予め決められた位置であって治具Ｊが対象物Ｏ２に接触しない位置である。待機姿勢は、この一例において、吐出方向と下方向とが一致する場合における可動部Ａの姿勢のことである。
【０１３３】
次に、ロボット制御部３７３は、力制御を開始する（ステップＳ５３０）。具体的には、ロボット制御部３７３は、力検出部２１により検出される外力のうちロボット座標系ＲＣにおけるＺ軸の正方向に加わる力の大きさが予め決められた閾値以上となるように制御点Ｔの位置を移動させ始める。すなわち、ロボット制御部３７３は、力制御によって、制御点Ｔの位置を当該Ｚ軸の負方向に向かって移動させ始める。ここで、当該閾値は、例えば、０．１Ｎである。なお、当該閾値は、０．１Ｎに代えて、０．１Ｎより小さくてもよく、０．１Ｎより大きくてもよい。
【０１３４】
次に、ロボット制御部３７３は、吐出部Ｄに取り付けられた治具Ｊの先端が対象物Ｏ２の上面に接触したか否かを判定する（ステップＳ５４０）。ロボット制御部３７３は、力検出部２１により検出される外力のうちロボット座標系ＲＣにおけるＺ軸の正方向に加わる力の大きさが予め決められた閾値以上であると判定した場合、当該先端が当該上面に接触したと判定する。一方、ロボット制御部３７３は、力検出部２１により検出される外力のうちロボット座標系ＲＣにおけるＺ軸の正方向に加わる力の大きさが予め決められた閾値未満であると判定した場合、当該先端が当該上面に接触していないと判定する。具体的には、ロボット制御部３７３は、力検出情報取得部３６９に力検出部２１から力検出情報を取得させる。そして、ロボット制御部３７３は、力検出情報取得部３６９が取得した力検出情報に含まれる出力値が示す外力のうち当該正方向に加わる力の大きさが予め決められた閾値未満であると判定した場合（ステップＳ５４０−ＮＯ）、当該先端が当該上面に接触していないと判定し、ステップＳ５３０の処理を継続する。一方、ロボット制御部３７３は、力検出情報取得部３６９が取得した力検出情報に含まれる出力値が示す外力のうち当該正方向に加わる力の大きさが予め決められた閾値以上であるとロボット制御部３７３が判定した場合（ステップＳ５４０−ＹＥＳ）、生成部３７１は、当該先端が当該上面に接触したと判定し、ステップＳ５３０の処理によって開始した力制御を終了し、可動部Ａを停止させる（ステップＳ５５０）。
【０１３５】
次に、前述の距離検出制御部は、距離検出部にレーザーを照射させ、対象物Ｏ２の表面上の位置うち距離検出部からレーザーが照射された位置と距離検出部の位置との間の距離を検出させる（ステップＳ５６０）。そして、距離検出制御部は、距離検出部が検出した当該距離を示す距離情報を距離検出部から取得する。距離検出制御部は、取得した距離情報を記憶部３２に記憶させる。
【０１３６】
ここで、図１５を参照し、ステップＳ５３０〜ステップＳ５６０の処理について説明する。図１５は、ステップＳ５３０〜ステップＳ５６０の処理を説明するための図である。また、図１５は、ステップＳ５３０〜ステップＳ５５０の処理によって吐出部Ｄに取り付けられた治具Ｊの先端が対象物Ｏ２の上面に接触した状態における可動部Ａと対象物Ｏ２との位置関係を示している。図１５に示した例では、対象物Ｏ２の上面には、前述した通り、凹凸が形成されている。また、図１５に示した距離検出部ＬＴは、前述の距離検出部の一例である。また、矢印ＬＺは、距離検出部から照射されるレーザーを示している。当該状態において、距離検出制御部は、対象物Ｏ２の表面上の位置のうち距離検出部からレーザーが照射された位置ＰＴ１と距離検出部の位置ＰＴ２との間の距離を検出させる。なお、当該距離は、ロボット座標系ＲＣのＺ軸方向における距離である。
【０１３７】
ステップＳ５６０の処理が行われた後、ロボット制御部３７３は、現在の可動部Ａの位置及び姿勢を示す位置姿勢情報を記憶部３２に記憶させる。ここで、当該位置は、第１位置の一例である。その後、ロボット制御部３７３は、可動部Ａを動かし、前述の待機位置及び待機姿勢に可動部Ａの位置及び姿勢を一致させる。そして、ロボット制御部３７３は、吐出部Ｄに取り付けられた治具Ｊが吐出部Ｄから取り外されるまで待機する（ステップＳ５７０）。ロボット制御部３７３は、例えば、前述の操作画面を介して、治具Ｊを吐出部Ｄから取り外したことを示す情報をユーザーから受け付けた場合、治具Ｊが吐出部Ｄから取り外されたと判定する。なお、ロボット制御部３７３は、これに代えて、他の方法によって当該情報をユーザーから受け付ける構成であってもよい。治具Ｊが吐出部Ｄから取り外されたと判定した場合（ステップＳ５７０−ＹＥＳ）、ロボット制御部３７３は、記憶部３２に予め記憶された第２軌跡情報を記憶部３２から読み出す（ステップＳ５８０）。第２軌跡情報は、ロボット制御装置３０がロボット２０に行わせる所定の作業における可動部Ａの位置及び姿勢の変化を表す軌跡を示す情報である。この一例において、当該軌跡は、ロボット座標系ＲＣにおけるＸＹ平面に沿って動く可動部Ａの位置の変化を表す。また、当該軌跡上の各点の位置は、ロボット座標系ＲＣにおけるＸ座標とＹ座標との組み合わせによって表される。すなわち、当該軌跡は、ロボット座標系ＲＣにおけるＺ軸方向の位置について規定されていない。また、当該軌跡は、この一例において、ロボット座標系ＲＣにおけるＺ軸の正方向から負方向に向かって対象物Ｏ２の上面を見た場合において、対象物Ｏ２の輪郭の内側に含まれる。なお、当該軌跡上の各点の姿勢は、ロボット座標系ＲＣにおけるＵ座標とＶ座標とＷ座標との組み合わせによって表される。
【０１３８】
次に、ロボット制御部３７３及び生成部３７１は、第４教示情報生成処理を行う（ステップＳ５９０）。具体的には、ロボット制御部３７３は、記憶部３２に記憶された位置姿勢情報を読み出す。ロボット制御部３７３は、読み出した位置姿勢情報が示す位置及び姿勢に可動部Ａの位置及び姿勢を一致させる。そして、ロボット制御部３７３は、ステップＳ５６０において記憶部３２に記憶された距離情報を読み出す。ロボット制御部３７３は、ステップＳ５６５において記憶部３２から読み出した第２軌跡情報が示す軌跡に沿って可動部Ａの位置を変化させるとともに、吐出制御部３６５を制御して吐出部Ｄに吐出物を吐出させる。この際、ロボット制御部３７３は、距離検出制御部を制御しながら可動部Ａを制御し、距離検出部にレーザーを照射させ、対象物Ｏ２の表面上の位置うち距離検出部からレーザーが照射された位置と距離検出部の位置との間の距離が、記憶部３２から読み出した距離情報が示す距離を保つように当該軌跡に沿って可動部Ａの位置を変化させる。ここで、生成部３７１は、ロボット制御部３７３による制御による可動部Ａの位置及び姿勢の変化を示す軌跡を示す情報を第４教示情報として生成する。
【０１３９】
次に、生成部３７１は、ステップＳ５９０において生成した第４教示情報を記憶部３２に記憶させ（ステップＳ６００）、処理を終了する。
【０１４０】
以上のように、ロボット制御装置３０は、第４処理、すなわち図１４に示したフローチャートの処理を実行することにより、距離検出部が検出した距離を示す距離情報と、治具Ｊに基づいた第１位置（この一例において、位置姿勢情報が示す位置及び姿勢のうちの位置）とに基づいて、第４教示情報を生成する。これにより、ロボット制御装置３０は、ロボット座標系ＲＣにおけるＸＹ平面に沿ったある軌跡に沿って可動部Ａを動かしながら当該上面の凹凸に応じて可動部Ａのロボット座標系ＲＣにおけるＺ軸方向の位置を変化させ、吐出部Ｄから吐出物を吐出した際の着弾位置から吐出口ＥＨまでの距離をほぼ保持したまま対象物Ｏ２の上面に吐出物を当該軌跡に沿って塗布することができる。その結果、ロボット制御装置３０は、当該上面に塗布された吐出物に塗り斑（塗りムラ、塗布ムラ）が生じてしまうことを抑制することができる。
【０１４１】
次に、図１６を参照し、図１４に示したフローチャートの処理によって生成された第４教示情報に基づいてロボット制御装置３０がロボット２０に所定の作業を行わせる処理について説明する。図１６は、図１４に示したフローチャートの処理によって生成された第４教示情報に基づいてロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示す図である。当該所定の作業は、対象物Ｏ２の上面に沿って可動部Ａを予め決められた軌跡を描くように移動させながら当該上面に吐出物を塗布する作業である。なお、当該所定の作業は、これに代えて、他の作業であってもよい。また、図１６に示したフローチャートでは、ステップＳ６１０の処理が行われる前に、吐出部Ｄから治具Ｊが取り外されている場合について説明する。
【０１４２】
ロボット制御部３７３は、記憶部３２に予め記憶された第４教示情報を記憶部３２から読み出す（ステップＳ６１０）。次に、ロボット制御部３７３は、ステップＳ６１０において記憶部３２から読み出した第４教示情報が示す軌跡上の各点のうちの始点の位置に可動部Ａの位置を一致させる。そして、ロボット制御部３７３は、吐出制御部３６５を制御して吐出部Ｄに吐出物を吐出させるとともに当該軌跡に沿って可動部Ａの位置を変化させ、ロボット２０に所定の作業を行わせる（ステップＳ６２０）。これにより、ロボット制御装置３０は、ロボット座標系ＲＣにおけるＸＹ平面に沿ったある軌跡に沿って可動部Ａを動かしながら対象物Ｏ２の上面の凹凸に応じて可動部Ａのロボット座標系ＲＣにおけるＺ軸方向の位置を変化させ、吐出部Ｄから吐出物を吐出した際の着弾位置から吐出口ＥＨまでの距離をほぼ保持したまま当該上面に吐出物を当該軌跡に沿って塗布することができる。その結果、ロボット制御装置３０は、当該上面に塗布された吐出物に塗り斑（塗りムラ、塗布ムラ）が生じてしまうことを抑制することができる。
【０１４３】
＜教示情報の具体例５である第５教示情報を生成する処理＞
以下、可動部Ａの位置に関する教示情報の具体例５である第５教示情報と、ロボット制御装置３０が第５教示情報を生成する処理である第５処理とのそれぞれについて説明する。
【０１４４】
この一例では、ロボット２０が作業を行う対象である対象物が、教示情報の具体例４の場合と同様に、対象物Ｏ２である場合について説明する。ただし、この一例では、当該具体例４と異なり、エンドエフェクターＥには、距離検出部が設けられていない。このため、ロボット制御装置３０の制御部３６は、距離検出制御部を備えていない。
【０１４５】
第５教示情報は、対象物Ｏ２の上面に形成された凹凸に応じた軌跡であってロボット２０が所定の作業を行う際における可動部Ａの位置及び姿勢の変化を表す軌跡を示す情報である。また、第５教示情報は、ダイレクトティーチングによって記憶される情報である。すなわち、ロボット制御装置３０は、ダイレクトティーチングに基づく第５処理によって、当該凹凸に応じた軌跡であってロボット２０が所定の作業を行う際における可動部Ａの位置及び姿勢の変化を表す軌跡を示す情報を第５教示情報として生成する。第５教示情報が示す軌跡上の各点の位置は、ロボット座標系ＲＣにおけるＸ座標とＹ座標とＺ座標との組み合わせによって表される。また、第５教示情報が示す軌跡上の各点の姿勢は、ロボット座標系ＲＣにおけるＵ座標とＶ座標とＷ座標との組み合わせによって表される。
【０１４６】
ここで、図１７を参照し、ロボット制御装置３０が第５教示情報を生成する処理である第５処理について説明する。図１７は、ロボット制御装置３０が行う第５処理の流れの一例を示すフローチャートである。ここで、図１７に示したフローチャートでは、ステップＳ７１０の処理が行われる前に、ロボット制御装置３０が第５処理を開始する操作をユーザーから予め受け付けた場合について説明する。ロボット制御装置３０は、例えば、前述の操作画面を介して、ユーザーから第５処理を開始する操作を受け付ける。また、当該フローチャートでは、ステップＳ７１０の処理が行われる前に、吐出部Ｄに治具Ｊが予め取り付けられている場合について説明する。なお、ロボット制御装置３０は、これに代えて、他の方法によってユーザーから第５処理を開始する操作を受け付ける構成であってもよい。
【０１４７】
ロボット制御部３７３は、第５教示情報をロボット制御装置３０に生成させる操作である第５教示情報生成操作をユーザーから受け付けるまで待機する。例えば、ロボット制御部３７３は、前述の操作画面を介して第５教示情報生成操作をユーザーから受け付ける。なお、ロボット制御部３７３は、これに代えて、他の方法によってユーザーから第５教示情報生成操作を受け付ける構成であってもよい。第５教示情報生成操作をユーザーから受け付けたとロボット制御部３７３が判定した場合（ステップＳ７１０−ＹＥＳ）、生成部３７１は、ステップＳ７５０において第５教示情報生成処理を終了させる操作を受け付けたと判定するまでの間において生じた変化であって可動部Ａの位置及び姿勢の変化を表す軌跡を示す情報を第５教示情報として生成する第５教示情報生成処理を開始する（ステップＳ７２０）。
【０１４８】
次に、ロボット制御部３７３は、可動部Ａに外力が加えられるまで待機する（ステップＳ７３０）。具体的には、ロボット制御部３７３は、力検出情報取得部３６９に力検出情報を力検出部２１から取得させる。そして、ロボット制御部３７３は、力検出情報取得部３６９が取得した力検出情報に含まれる出力値に基づいて、可動部Ａに外力が加えられたか否かを判定する。可動部Ａに外力が加えられたと判定した場合（ステップＳ７３０−ＹＥＳ）、ロボット制御部３７３は、可動部Ａに加えられた外力に基づく力制御によって制御点Ｔを移動させ、可動部Ａの位置及び姿勢を変化させる（ステップＳ７４０）。この一例において、当該力制御は、前述した通り、インピーダンス制御である。
【０１４９】
次に、ロボット制御部３７３は、第５教示情報生成処理を終了させる操作をユーザーから受け付けたか否かを判定する（ステップＳ７５０）。例えば、ロボット制御部３７３は、前述の操作画面を介して当該操作をユーザーから受け付ける。なお、ロボット制御部３７３は、これに代えて、他の方法によってユーザーからと当該操作を受け付ける構成であってもよい。当該操作をユーザーから受け付けていないと判定した場合（ステップＳ７５０−ＮＯ）、ロボット制御部３７３は、ステップＳ７３０に遷移し、可動部Ａに外力が加えられるまで再び待機する。一方、当該操作をユーザーから受け付けたとロボット制御部３７３が判定した場合（ステップＳ７５０−ＹＥＳ）、生成部３７１は、ステップＳ７２０において第５教示情報生成処理を開始してから現在までの間において生じた変化であって可動部Ａの位置及び姿勢の変化を表す軌跡を示す情報を第５教示情報として生成する。そして、生成部３７１は、生成した第５教示情報を記憶部３２に記憶させ（ステップＳ７６０）、処理を終了する。
【０１５０】
ここで、ステップＳ７２０〜ステップＳ７５０の処理において、吐出部Ｄに治具Ｊが取り付けられている場合、ユーザーは、可動部Ａに外力を加えることによって可動部Ａをロボット制御装置３０による力制御によって動かし、対象物Ｏの予め決められた位置であってユーザーが吐出物を塗布したい所望の位置に治具Ｊの先端を接触させた状態における可動部Ａの位置及び姿勢の変化を表す軌跡を示す情報を第５教示情報としてロボット制御装置３０に記憶させることができる。すなわち、治具Ｊの先端が対象物Ｏ２に接触している状態における当該先端の位置（すなわち、マーカーＭＫの位置）は、ユーザーが吐出物を塗布したい所望の位置であり、この一例における第１位置の一例である。また、ユーザーは、ユーザーが吐出物を塗布したい所望の位置に治具Ｊの先端を接触させながら（すなわち、吐出部Ｄの位置及び姿勢を当該所望の位置に吐出物を吐出可能な位置及び姿勢と一致させながら）、吐出部Ｄの位置及び姿勢の変化をユーザーが所望する位置及び姿勢の変化と一致させることができる。その結果、ユーザーは、ロボット制御装置３０に対して、ユーザーが吐出物を塗布したい所望の位置に吐出物を吐出可能な吐出部Ｄの位置及び姿勢の変化であってユーザーが所望する位置及び姿勢の変化を表す軌跡を示す情報を、第５教示情報として容易にロボット制御装置３０に記憶させることができる。
【０１５１】
このように、ロボット制御装置３０は、第５処理、すなわち図１７に示したフローチャートの処理を実行することにより、治具Ｊに基づいた第１位置（この一例において、）を用いて、第２教示情報を生成する。これにより、ロボット制御装置３０は、可動部Ａを動かすことによって吐出部Ｄの位置をユーザーが所望する位置に精度よく移動させることができる。その結果、ロボット制御装置３０は、対象物Ｏ２の予め決められた位置に吐出物を塗布する作業をロボット２０に精度よく行うことができる。
【０１５２】
なお、上記における説明では、吐出部Ｄは、非接触式のディスペンサーであったが、これに代えて、ニードルを有する接触式のディスペンサーであってもよい。この場合において治具Ｊを用いる場合、吐出部Ｄには、ニードルの代わりに治具Ｊが取り付けられる。このようにすることで、吐出部Ｄが接触式のディスペンサーであっても、ロボット制御装置３０は、上記において説明した処理を行うことができる。
【０１５３】
また、上記における説明では、可動部Ａが対象物Ｏ（又は対象物Ｏ２）に対して相対的に吐出部Ｄを移動させる場合、ロボット制御装置３０は、制御点Ｔを移動させることによって可動部Ａに備えられた吐出部Ｄを移動させたが、これに代えて、予め決められた位置において動かないように固定された吐出部Ｄに対してエンドエフェクターＥにより吸着された対象物Ｏ（又は対象物Ｏ２）を移動させる構成であってもよい。なお、ロボット２０が双腕ロボットの場合、ロボット制御装置３０は、双腕ロボットが備える２つの可動部のうちの第１可動部によって吐出部Ｄを移動させ、当該２つの可動部のうちの第２可動部によって対象物Ｏ（又は対象物Ｏ２）を移動させ、可動部Ａと対象物Ｏ（又は対象物Ｏ２）の相対的な位置関係を変化させる構成であってもよい。
また、ロボット制御装置３０は、上記の第１教示情報〜第５教示情報の一部を生成することが可能な構成であってもよく、上記の第１教示情報〜第５教示情報の全部を生成することが可能な構成であってもよい。また、ロボット制御装置３０は、上記の第１教示情報〜第５教示情報の一部又は全部に代えて、他の第１位置を用いて他の教示情報を生成する構成であってもよく、当該全部に加えて、他の第１位置を用いて他の教示情報を生成する構成であってもよい。
また、上記において説明した治具Ｊは、マーカーＭＫに代えて、特徴的な形状を有する構成であってもよい。
【０１５４】
以上のように、ロボット制御装置３０は、吐出部（この一例において、吐出部Ｄ）に着脱可能に取り付けられた治具（この一例において、治具Ｊ）に基づいた第１位置を用いて、可動部（この一例において、可動部Ａ）の位置に関する教示情報（この一例において、第１教示情報〜第５教示情報のそれぞれ）を生成する。これにより、ロボット制御装置３０は、対象物（この一例において、対象物Ｏ、対象物Ｏ２）の予め決められた位置に吐出物を塗布する作業をロボット（この一例において、ロボット２０）に精度よく行わせることができる。
【０１５５】
また、ロボット制御装置３０は、可動部に設けられた力検出部（この一例において、力検出部２１）からの出力（この一例において、力検出情報）に基づいて第１位置を算出する。これにより、ロボット制御装置３０は、力検出部からの出力に基づいて算出した第１位置を用いて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【０１５６】
また、ロボット制御装置３０は、吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて、可動部の位置に関する教示情報であって３以上の第１位置に基づく形状に応じた情報を含む教示情報（この一例において、第３教示情報）を生成する。これにより、ロボット制御装置３０は、３以上の第１位置に基づく形状に応じた情報を含む教示情報に基づいて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【０１５７】
また、ロボット制御装置３０は、吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて、可動部の位置に関する教示情報であって３以上の第１位置に基づく平面に応じた情報を含む教示情報（この一例において、平面座標系ＦＣを示す情報である第３教示情報）を生成する。これにより、ロボット制御装置３０は、３以上の第１位置に基づく平面に応じた情報を含む教示情報に基づいて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【０１５８】
また、ロボット制御装置３０は、ダイレクトティーチングによって教示情報（この一例において、第２教示情報、第４教示情報のそれぞれ）を生成することが可能である。これにより、ロボット制御装置３０は、ダイレクトティーチングによって生成された教示情報に基づいて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【０１５９】
また、ロボット制御装置３０は、吐出部に着脱可能に取り付けられた治具に基づいた第１位置であって治具に設けられたマーカー（この一例において、マーカーＭＫ）の位置を含む第１位置を用いて、可動部の位置に関する教示情報（この一例において、第１教示情報）を生成する。これにより、ロボット制御装置３０は、治具に設けられたマーカーの位置を含む第１位置を用いて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【０１６０】
また、ロボット制御装置３０は、吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて、撮像部によって検出されたマーカーの位置を用いて求められた位置関係であって吐出部の位置と可動部の位置との相対的な当該位置関係を示す情報を含む教示情報（この一例において、第１教示情報）を生成する。これにより、ロボット制御装置３０は、撮像部（この一例において、撮像部１０）によって検出されたマーカーの位置を用いて求められた位置関係であって吐出部の位置と可動部の位置との相対的な当該位置関係を示す情報を含む教示情報に基づいて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【０１６１】
また、ロボット制御装置３０は、吐出部に着脱可能に取り付けられた治具に基づいた第１位置を用いて、撮像部によって検出されたマーカーの位置と当該撮像部によって検出された吐出物の着弾位置とを用いて求められた位置関係であってマーカーの位置と着弾位置との相対的な当該位置関係を示す情報を含む教示情報（この一例において、第１教示情報）を生成する。これにより、ロボット制御装置３０は、撮像部によって検出されたマーカーの位置と当該撮像部によって検出された吐出物の着弾位置とを用いて求められた位置関係であってマーカーの位置と着弾位置との相対的な当該位置関係を示す情報を含む教示情報に基づいて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【０１６２】
また、ロボット制御装置３０は、吐出部に着脱可能に取り付けられた治具であって吐出方向における長さが可変である治具に基づいた第１位置を用いて、可動部の位置に関する教示情報（この一例において、第１教示情報〜第５教示情報のそれぞれ）を生成する。これにより、ロボット制御装置３０は、吐出部に着脱可能に取り付けられた治具であって吐出方向における長さが可変である治具に基づいた第１位置を用いて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【０１６３】
また、ロボット制御装置３０は、可動部に設けられた距離検出部からの出力（この一例において、距離情報）と、第１位置とに基づいて、教示情報（この一例において、第４教示情報）を生成する。これにより、ロボット制御装置は、可動部に設けられた距離検出部からの出力と、第１位置とに基づいて、対象物の予め決められた位置に吐出物を塗布する作業をロボットに精度よく行わせることができる。
【０１６４】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１６５】
また、以上に説明した装置（例えば、ロボット制御装置３０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１６６】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１６７】
１…ロボットシステム、１０…撮像部、２０…ロボット、２１…力検出部、３０…ロボット制御装置、３１…ＣＰＵ、３２…記憶部、３３…入力受付部、３４…通信部、３５…表示部、３６…制御部、３６１…表示制御部、３６３…撮像制御部、３６５…吐出制御部、３６７…画像取得部、３６９…力検出情報取得部、３７１…生成部、３７３…ロボット制御部、Ｄ…吐出部
【図１】
2018202501.tif 000003
【図２】
2018202501.tif 000004
【図３】
2018202501.tif 000005
【図４】
2018202501.tif 000006
【図５】
2018202501.tif 000007
【図６】
2018202501.tif 000008
【図７】
2018202501.tif 000009
【図８】
2018202501.tif 000010
【図９】
2018202501.tif 000011
【図１０】
2018202501.tif 000012
【図１１】
2018202501.tif 000013
【図１２】
2018202501.tif 000014
【図１３】
2018202501.tif 000015
【図１４】
2018202501.tif 000016
【図１５】
2018202501.tif 000017
【図１６】
2018202501.tif 000018
【図１７】
2018202501.tif 000019