(57)【特許請求の範囲】
【請求項１】
ロボットおよび該ロボットの加工対象である被加工面を有するワークを含む仮想画像を生成する画像生成部と、
前記仮想画像上で選択された前記被加工面の任意の一点につき、該一点の面直方向に直交する投影面を生成し、該投影面へ前記被加工面を投影する投影部と、
前記投影面を介して受け付けた設定内容に基づき、前記ロボットの目標点群である作業線を生成する作業線生成部と、
前記目標点の各点における前記ロボットの位置および姿勢を含む教示値を演算する演算部と、
前記演算部によって演算された前記教示値に基づいて実際の前記ロボットを動作させるジョブプログラムを生成するジョブ生成部と
を備え、
前記画像生成部は、
前記投影部により前記投影面へ前記被加工面が投影された場合に、前記仮想画像を表示する表示部の平面方向と前記投影面とが平行となるように視点変更し、かつ、前記投影面を前記ロボットおよび前記ワークよりも手前側に配置した前記仮想画像を再生成することを特徴とするティーチングシステム。
【請求項２】
前記画像生成部は、
前記作業線を含む前記仮想画像を生成可能であること
を特徴とする請求項１に記載のティーチングシステム。
【請求項３】
前記作業線の生成対象は前記被加工面と前記投影面とで選択可能であって、
前記作業線生成部は、
前記生成対象に前記投影面が選択された場合に、該投影面に対し前記作業線を生成し、
前記ジョブ生成部は、
前記投影面に対し生成された前記作業線から前記演算部が演算した前記教示値に基づき、前記ジョブプログラムを生成すること
を特徴とする請求項１または２に記載のティーチングシステム。
【請求項４】
前記投影部は、
前記被加工面を前記面直方向から視た場合に、少なくとも前記被加工面をすべて覆う略矩形を前記投影面として生成すること
を特徴とする請求項１、２または３に記載のティーチングシステム。
【請求項５】
前記投影部は、
前記設定内容に基づき、前記被加工面から前記投影面までの距離を指定可能であること
を特徴とする請求項１〜４のいずれか一つに記載のティーチングシステム。
【請求項６】
前記投影部は、
前記設定内容に基づき、前記面直方向を回転軸として前記投影面を回転可能であること
を特徴とする請求項１〜５のいずれか一つに記載のティーチングシステム。
【請求項７】
前記投影部は、
前記任意の一点が複数個選択された場合に、該一点の各点についての前記投影面を複数個生成可能であること
を特徴とする請求項１〜６のいずれか一つに記載のティーチングシステム。
【請求項８】
前記ロボットは、塗装用途であり、
前記被加工面は、塗装面であること
を特徴とする請求項１〜７のいずれか一つに記載のティーチングシステム。
【請求項９】
ロボットおよび該ロボットの加工対象である被加工面を有するワークを含む仮想画像を生成する画像生成工程と、
前記仮想画像上で選択された前記被加工面の任意の一点につき、該一点の面直方向に直交する投影面を生成し、該投影面へ前記被加工面を投影する投影工程と、
前記投影面を介して受け付けた設定内容に基づき、前記ロボットの目標点群である作業線を生成する作業線生成工程と、
前記目標点の各点における前記ロボットの位置および姿勢を含む教示値を演算する演算工程と、
前記演算工程によって演算された前記教示値に基づいて実際の前記ロボットを動作させるジョブプログラムを生成するジョブ生成工程と
を含み、
前記画像生成工程は、
前記投影工程により前記投影面へ前記被加工面が投影された場合に、前記仮想画像を表示する表示部の平面方向と前記投影面とが平行となるように視点変更し、かつ、前記投影面を前記ロボットおよび前記ワークよりも手前側に配置した前記仮想画像を再生成することを特徴とするティーチング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、ティーチングシステムおよびティーチング方法に関する。
【背景技術】
【０００２】
従来、３次元ＣＡＤ（Computer  Aided  Design）データ等に基づいて表示装置上にロボットシステムの３次元モデル画像をグラフィック表示し、かかる３次元モデル画像を操作することでロボットシステムの動作をシミュレート演算しながら教示データを作成するティーチングシステムが種々提案されている（たとえば、特許文献１参照）。
【０００３】
かかるティーチングシステムを用いることによって、オペレータは、ロボットを実際に動作させることなく、教示データを作成することができる。
【０００４】
たとえば、特許文献１に開示の「塗装ロボットの教示方法および塗装方法」は、自動車のボディ等を塗装する塗装ロボットについての教示データの作成をオフラインにて行うものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−００５６１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術には、塗装用途に関するティーチングを容易に行うという点で更なる改善の余地がある。
【０００７】
具体的には、自動車のボディ等を塗装するような場合、塗装ロボットに対するティーチングは、塗装面に複数個の目標点を設定し、かかる目標点を結ぶ軌跡を塗装ロボットに取り付けられた塗装ガンが辿るように行われる。
【０００８】
しかし、従来技術によれば、上述の目標点の設定は、自動車のボディのように塗装面が広範囲に渡る場合でも、オペレータ等によって逐一指定する必要があり、手順が煩雑であった。また、塗装面は、曲面や凹凸面を多分に含む場合があるため、表示装置に表示された３次元モデルに対して、オペレータに目視で適切に目標点を設定させるのは困難な場合があった。
【０００９】
なお、このような課題は、塗装用途に限らず、ブラスト加工や研磨加工、肉盛り加工といった面加工を含む加工用途全般に共通する課題である。
【００１０】
実施形態の一態様は、上記に鑑みてなされたものであって、面加工に対するティーチングを容易に行うことができるティーチングシステムおよびティーチング方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
実施形態の一態様に係るティーチングシステムは、画像生成部と、投影部と、作業線生成部と、演算部と、ジョブ生成部とを備える。前記画像生成部は、ロボットおよび該ロボットの加工対象である被加工面を有するワークを含む仮想画像を生成する。前記投影部は、前記仮想画像上で選択された前記被加工面の任意の一点につき、該一点の面直方向に直交する投影面を生成し、該投影面へ前記被加工面を投影する。前記作業線生成部は、前記投影面を介して受け付けた設定内容に基づき、前記ロボットの目標点群である作業線を生成する。前記演算部は、前記目標点の各点における前記ロボットの位置および姿勢を含む教示値を演算する。前記ジョブ生成部は、前記演算部によって演算された前記教示値に基づいて実際の前記ロボットを動作させるジョブプログラムを生成する。また、前記画像生成部は、前記投影部により前記投影面へ前記被加工面が投影された場合に、前記仮想画像を表示する表示部の平面方向と前記投影面とが平行となるように視点変更し、かつ、前記投影面を前記ロボットおよび前記ワークよりも手前側に配置した前記仮想画像を再生成する。
【発明の効果】
【００１２】
実施形態の一態様によれば、面加工に対するティーチングを容易に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施形態に係るティーチングシステムを含むロボットシステムの全体構成を示す模式図である。
【図２】図２は、実施形態に係るティーチングシステムの構成を示すブロック図である。
【図３Ａ】図３Ａは、投影面の説明図（その１）である。
【図３Ｂ】図３Ｂは、投影面の説明図（その２）である。
【図４】図４は、表示部へ表示される仮想画像の一例を示す模式図である。
【図５Ａ】図５Ａは、塗装面を決定する操作の説明図（その１）である。
【図５Ｂ】図５Ｂは、塗装面を決定する操作の説明図（その２）である。
【図６Ａ】図６Ａは、作業線を生成する操作の説明図（その１）である。
【図６Ｂ】図６Ｂは、作業線を生成する操作の説明図（その２）である。
【図６Ｃ】図６Ｃは、作業線を生成する操作の説明図（その３）である。
【図６Ｄ】図６Ｄは、作業線を生成する操作の説明図（その４）である。
【図６Ｅ】図６Ｅは、作業線を生成する操作の説明図（その５）である。
【図６Ｆ】図６Ｆは、作業線を生成する操作の説明図（その６）である。
【図６Ｇ】図６Ｇは、作業線を生成する操作の説明図（その７）である。
【図６Ｈ】図６Ｈは、作業線を生成する操作の説明図（その８）である。
【図７】図７は、変形例に係る投影面の説明図である。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して、本願の開示するティーチングシステムおよびティーチング方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【００１５】
また、以下では、ディスプレイ等の表示部に対し、ロボットの３次元モデルのグラフィック画像を表示するティーチングシステムを例に挙げて説明を行う。なお、かかる３次元モデルのグラフィック画像については、以下、「仮想画像」と記載する場合がある。
【００１６】
また、以下では、塗装ロボットを含む塗装ロボットシステムを例に挙げて説明を行うが、塗装ロボットシステムに限定されるものではなく、たとえばブラスト加工や研磨加工、肉盛り加工といった面加工が可能な加工ロボットを含む加工ロボットシステムにも置換可能である。以下では、塗装ロボットについては「ロボット」と、塗装ロボットシステムについては「ロボットシステム」と、それぞれ記載する。
【００１７】
図１は、実施形態に係るティーチングシステム１０を含むロボットシステム１の全体構成を示す模式図である。
【００１８】
図１に示すように、ロボットシステム１は、ティーチングシステム１０と、ロボット制御装置２０と、ロボット３０とを備える。また、ティーチングシステム１０は、ティーチング制御装置１１と、表示部１２と、操作部１３と、ジョブ情報ＤＢ（データベース）１４とを備える。
【００１９】
ティーチング制御装置１１は、ティーチングシステム１０全体を制御するコントローラであり、演算処理処置や記憶装置などを含んで構成される。また、ティーチング制御装置１１は、表示部１２をはじめとするティーチングシステム１０の各種装置と情報伝達可能に接続される。
【００２０】
また、ティーチング制御装置１１は、操作部１３を介したオペレータの操作に基づいてその動作をシミュレート演算したロボット３０を含む仮想画像を表示部１２に対して出力する。ここで、仮想画像には、ロボット３０の加工対象である被加工面を有するワークＷがさらに含まれる。なお、本実施形態では、被加工面とはワークＷの被塗装面を指し、ワークＷは自動車のドアパネルであるものとする。
【００２１】
また、ティーチング制御装置１１は、同じく操作部１３を介したオペレータの操作に基づいて仮想画像からロボット３０を動作させるジョブプログラムを生成し、ジョブ情報ＤＢ１４へ登録する。
【００２２】
表示部１２は、いわゆるディスプレイ等の表示デバイスである。また、操作部１３は、マウス等の入力デバイスである。なお、操作部１３は、必ずしもハードウェア部品として構成される必要はなく、たとえば、タッチパネルディスプレイに表示されたタッチキーなどのソフトウェア部品であってもよい。
【００２３】
ジョブ情報ＤＢ１４は、ロボット３０を動作させるジョブプログラムやこのジョブプログラムに含まれる「教示点」等、ティーチングに関する情報が登録されるデータベースである。
【００２４】
ここで、「教示点」とは、ロボット３０を再生動作させる際に、ロボット３０の各関節が経由するべき目標位置となる情報であり、たとえば、ロボット３０の各軸を駆動させるサーボモータに設けられた各エンコーダのパルス値として記憶される。ロボット３０は、複数の教示点の情報に基づいて動作するため、ジョブ情報ＤＢ１４にはロボット３０の動き（ジョブ）毎に複数の教示点が関連付けられて記憶されている。
【００２５】
換言すると、ロボット３０のジョブプログラムには、複数の教示点および各教示点間の補間動作命令やエンドエフェクタへの動作命令などの組合せ情報が含まれている。なお、ジョブ情報ＤＢ１４は、ロボット３０のジョブプログラム毎にそれに含まれる教示点の情報を記憶するようになっており、たとえばロボット３０を再生動作させる際には、かかるジョブプログラムに基づいてロボット３０が動作される。
【００２６】
ジョブ情報ＤＢ１４は、実際のロボット３０の動作を制御するコントローラであるロボット制御装置２０と情報伝達可能に接続されており、ロボット制御装置２０は、かかるジョブ情報ＤＢ１４に登録されたジョブプログラムに基づいてロボット３０の各種動作を制御する。
【００２７】
なお、図１では、ジョブ情報ＤＢ１４（ティーチングシステム１０）とロボット制御装置２０とを接続しているが、ティーチングシステム１０にて生成されたジョブプログラムをロボット制御装置２０内の所定の記憶部（図示略）に保存できるよう構成されていれば、ジョブ情報ＤＢ１４（ティーチングシステム１０）とロボット制御装置２０とは必ずしも接続されている必要はない。
【００２８】
たとえば、ティーチングシステム１０にて生成されたジョブプログラムを、ＵＳＢ（Universal  Serial  Bus）メモリ等の媒体にコピーした後、かかる媒体をロボット制御装置２０に接続して、所定の操作によりロボット制御装置２０内の所定の記憶部（図示略）に保存するようにしてもよい。
【００２９】
なお、図１では、説明を分かりやすくする観点から、ジョブ情報ＤＢ１４とティーチング制御装置１１とを別体で構成した例を示しているが、ジョブ情報ＤＢ１４をティーチング制御装置１１内部の記憶部に記憶させることとしてもよい。
【００３０】
ロボット３０は、基台部３１と、第１アーム３２と、第２アーム３３と、フランジ部３４と、エンドエフェクタ３５とを備える。基台部３１は、床面などに固定され、第１アーム３２の基端部を軸Ｓまわりに回転可能に支持する（図中の軸Ｓまわりの矢印参照）。あわせて、基台部３１は、第１アーム３２の基端部を軸Ｌまわりに回転可能に支持する（図中の軸Ｌまわりの矢印参照）。
【００３１】
第１アーム３２は、基端部を基台部３１に上述のように支持されるとともに、その先端部において、第２アーム３３の基端部を軸Ｕまわりに回転可能に支持する（図中の軸Ｕまわりの矢印参照）。
【００３２】
第２アーム３３は、基端部を第１アーム３２に上述のように支持されるとともに、その先端部において、フランジ部３４の基端部を軸Ｂまわりに回転可能に支持する（図中の軸Ｂまわりの矢印参照）。また、第２アーム３３は、軸Ｒまわりに回転可能に設けられている（図中の軸Ｒまわりの矢印参照）。
【００３３】
フランジ部３４は、基端部を第２アーム３３に上述のように支持されるとともに、その先端部において、エンドエフェクタ３５の基端部を軸Ｔまわりに回転可能に支持する（図中の軸Ｔまわりの矢印参照）。
【００３４】
本実施形態におけるエンドエフェクタ３５は塗装ガンであり、基端部をフランジ部３４に上述のように支持されている。
【００３５】
なお、ロボット３０の各関節には、サーボモータのような駆動源が搭載されており、各駆動源は、ロボット制御装置２０からの動作指示に基づいてロボット３０の各関節を駆動する。
【００３６】
次に、実施形態に係るティーチングシステム１０のブロック構成について、図２を用いて説明する。図２は、実施形態に係るティーチングシステム１０のブロック図である。なお、図２では、ティーチングシステム１０の説明に必要な構成要素のみを示しており、一般的な構成要素についての記載を省略している。
【００３７】
また、図２を用いた説明では、主としてティーチング制御装置１１の内部構成について説明することとし、既に図１で示した表示部１２、操作部１３およびジョブ情報ＤＢ１４については説明を簡略化する場合がある。
【００３８】
図２に示すように、ティーチング制御装置１１は、制御部１１１と、記憶部１１２とを備える。制御部１１１は、画像生成部１１１ａと、表示制御部１１１ｂと、操作受付部１１１ｃと、投影部１１１ｄと、作業線生成部１１１ｅと、教示値演算部１１１ｆと、ジョブ生成部１１１ｇとをさらに備える。教示値演算部１１１ｆは、演算部の一例である。記憶部１１２は、モデル情報１１２ａと、教示点情報１１２ｂとを記憶する。
【００３９】
画像生成部１１１ａは、モデル情報１１２ａに基づき、ロボット３０およびワークＷを含む仮想画像を生成する。モデル情報１１２ａは、ロボット３０やワークＷの種別ごとにあらかじめ定義された描画情報を含む情報である。
【００４０】
また、画像生成部１１１ａは、生成した仮想画像を表示制御部１１１ｂに対して出力する。表示制御部１１１ｂは、画像生成部１１１ａから受け取った仮想画像を表示部１２へ表示させる。
【００４１】
操作受付部１１１ｃは、操作部１３を介して入力されるオペレータの入力操作を受け付け、かかる入力操作がロボット３０の目標点群である作業線の生成に関するものであれば、受け付けた入力操作を投影部１１１ｄや作業線生成部１１１ｅに対して通知する。
【００４２】
なお、ここに言う作業線の生成に関する入力操作とは、仮想画像上でワークＷの塗装面を決定し、かかる塗装面の任意の一点を選択する操作や、作業線生成のための各種設定内容を入力する操作等である。これら操作の具体的な内容等については、図５Ａ以降を用いて後述する。
【００４３】
また、操作受付部１１１ｃは、入力操作がジョブ生成を指示するものであれば、受け付けた入力操作をジョブ生成部１１１ｇに対して通知する。なお、ここに言うジョブ生成を指示する入力操作とは、一例として、表示部１２へ表示された「ジョブ生成」ボタンといった操作部品をクリックする操作である。
【００４４】
投影部１１１ｄは、操作受付部１１１ｃから、仮想画像上でワークＷの塗装面を決定し、かかる塗装面の任意の一点を選択する操作を受け付けた旨の通知を受けた場合に、この一点の面直方向に直交する投影面を生成し、かかる投影面へ塗装面を投影する。
【００４５】
また、投影部１１１ｄは、かかる投影面を画像生成部１１１ａへ出力し、画像生成部１１１ａに投影面を含んだ仮想画像を再生成させ、表示制御部１１１ｂを介して表示部１２へ表示させる。
【００４６】
ここで、投影面について述べておく。図３Ａおよび図３Ｂは、投影面ＰＰの説明図（その１）および（その２）である。なお、ここでは、仮想画像上で、ワークＷの一部が図３Ａおよび図３Ｂに示す形状に塗装面Ｐとして決定されているものとする。
【００４７】
図３Ａおよび図３Ｂに示すように、投影面ＰＰは、仮想画像上で選択（以下、「ピック」と言う場合がある）された塗装面Ｐの任意の一点である点Ｐ１につき、かかる点Ｐ１の面直方向に直交する仮想的な面として生成される。このとき、投影面ＰＰは、塗装面Ｐを点Ｐ１の面直方向から視た場合に、少なくとも塗装面Ｐをすべて覆う略矩形をなすように生成される。
【００４８】
すなわち、投影部１１１ｄは、オペレータにより仮想画像上で塗装面Ｐの任意の点Ｐ１がピックされた場合に、かかる点Ｐ１の面直方向を視点方向として投影面ＰＰを生成し、かかる投影面ＰＰに対して塗装面Ｐを２次元投影することとなる。
【００４９】
このように、本実施形態では、任意にピックされた点Ｐ１の面直方向視点の投影面ＰＰに対して塗装面Ｐを２次元的に投影する。これにより、オペレータに所望の視点で塗装面Ｐの形状を単純化して容易に把握させることができる。
【００５０】
そして、オペレータは、このように投影面ＰＰに投影された塗装面Ｐを目視しながら、すなわち投影面ＰＰを介しながら、ロボット３０の目標点群である作業線を生成するための各種設定内容を入力する操作を行う。これにより、オペレータが目視で適切に目標点を設定するのを支援することができる。
【００５１】
図２の説明に戻り、作業線生成部１１１ｅについて説明する。作業線生成部１１１ｅは、オペレータから投影面ＰＰを介して受け付けた設定内容に基づいて作業線を生成する。
【００５２】
具体的には、作業線生成部１１１ｅは、操作受付部１１１ｃから作業線生成のための各種設定内容を入力する操作を受け付けた旨の通知を受けた場合に、その設定内容に基づいてロボット３０の目標点の各点を抽出し、目標点群である作業線を生成する。
【００５３】
また、作業線生成部１１１ｅは、生成した作業線を画像生成部１１１ａへ出力し、画像生成部１１１ａに作業線を含んだ仮想画像を再生成させ、表示制御部１１１ｂを介して表示部１２へ表示させる。
【００５４】
教示値演算部１１１ｆは、作業線生成部１１１ｅによって生成された作業線に基づき、上記目標点の各点におけるロボット３０の位置および姿勢を含む教示値を演算する。
【００５５】
また、教示値演算部１１１ｆは、演算した上記目標点の各点に対応する教示値を、教示点情報１１２ｂへ登録する。
【００５６】
なお、教示値演算部１１１ｆは、たとえば、３次元座標系における上記目標点の各点の座標値をロボット３０の先端部のエンドエフェクタ３５の位置とし、各点における作業線のベクトル方向と直交する方向をエンドエフェクタ３５の姿勢として、塗装作業に適するように各点ごとに逆キネマティクス演算によって、ロボット３０の有する各関節軸に対する教示値を演算する。
【００５７】
ここで、図４〜図６Ｈを用いて、上述した操作受付部１１１ｃ〜教示値演算部１１１ｆまでの一連の処理について詳細に説明する。
【００５８】
まず、図４を用いて、画像生成部１１１ａが生成し、表示制御部１１１ｂを介して表示部１２へ表示される仮想画像の一例について説明しておく。
【００５９】
図４は、表示部１２へ表示される仮想画像の一例を示す模式図である。なお、本図（図４）以降に示すロボットおよびワークは表示部１２へ表示される仮想画像上のものであるが、符号についてはこれまで同様「３０」および「Ｗ」をそれぞれ付して説明を進める。図４に示すように、ロボット３０およびワークＷを含む仮想画像は、表示部１２の表示領域の一つである表示ウィンドウ１２０上に表示される。
【００６０】
具体的には、仮想画像は、表示ウィンドウ１２０上の仮想画像領域１２１に表示される。また、表示ウィンドウ１２０は、ボタン１２２やダイアログボックス１２３などを含むＧＵＩ（Graphical  User  Interface）ウィジェットを有する。
【００６１】
なお、仮想画像領域１２１の左下には直交座標系が表示されているが、これは仮想画像内の基準座標系であり、前述の３次元座標系に相当し、水平方向や垂直方向の基準となる。具体的には、基準座標系のＸ軸とＹ軸とで規定されるＸＹ平面と平行な方向が水平方向となり、基準座標系のＺ軸と平行な方向が垂直方向となる。
【００６２】
オペレータは、かかるＧＵＩウィジェットや仮想画像上の操作可能部品（たとえば、ワークＷの塗装面Ｐ）を操作することによって、ティーチングシステム１０に対する指示操作を行う。
【００６３】
ティーチングシステム１０は、オペレータの指示操作に従って、表示部１２上の仮想画像であるロボット３０の各関節を駆動させたり、仮想画像をどの方向からみた状態で表示するかといった視点の変更や表示の拡大／縮小を行ったりすることができる。
【００６４】
また、仮想画像内の特定点にエンドエフェクタ３５（本実施形態では塗装ガン）の先端が到達するようなロボット３０の各関節位置を逆キネマティクス演算により求めて、到達した状態のロボット３０の仮想画像を生成、表示することも可能である。
【００６５】
さらに、オペレータの指示操作に従って、ジョブ情報ＤＢ１４に登録された教示点やジョブプログラムを読み出し、特定の教示点に到達した状態のロボット３０の仮想画像を表示したり、ジョブプログラムによるロボット３０の一連の動作を表示部１２上で再現したりすることもできる。
【００６６】
ただし、ロボットのオフラインティーチングシステムにおけるこのような機能は公知のものであるので、本実施形態に係る部分以外の詳細な説明は省略する。
【００６７】
なお、上述した「ジョブ生成」ボタンなどは、たとえば、ダイアログボックス１２３のボタン１２３ａなどに設けてもよい。
【００６８】
次に、オペレータが、仮想画像上でワークＷの塗装面Ｐを決定する操作について図５Ａおよび図５Ｂを用いて説明する。図５Ａおよび図５Ｂは、塗装面Ｐを決定する操作の説明図（その１）および（その２）である。
【００６９】
図５Ａに示すように、塗装面Ｐを決定する場合、ダイアログボックス１２３には、塗装面Ｐの決定のための操作部品群が表示される。ここで、操作部品の一つである「面ピック」チェックボックスをＯＮにした場合、ワークＷの塗装対象となる各面を選択することが可能となる。
【００７０】
なお、このとき、各面は複数個選択することが可能である。たとえば、操作部１３にキーボードが含まれる場合には、所定のキーを押下しつつ、図５Ａに示すように、面Ｐ’１およびＰ’２をカーソルＣでつづけてクリックすることで（図中の矢印５０１参照）、これら面Ｐ’１およびＰ’２がともに選択される。
【００７１】
塗装対象となる各面が選択されたならば、操作部品の一つである「結合」ボタンが押下されることで、各面は結合されて１つの塗装面として扱われるようになる。
【００７２】
なお、結合された面は、不要な箇所を除去することが可能である。たとえば、図５Ｂに示すように、操作部品の一つであるトリミングの「矩形」チェックボックスをＯＮにすることによって、矩形のトリミングツールＴ１が表示可能となる。
【００７３】
かかるトリミングツールＴ１では、たとえば操作部１３を用いて仮想画像上で矩形の対角を指定することで不要な箇所を取り囲むことによって、その箇所（たとえば、図中の不要箇所Ｅ１およびＥ２）を除去することができる。なお、図示していないが、「自由」チェックボックスをＯＮにした場合には、カーソルＣで任意に取り囲んだ領域を除去することができる。
【００７４】
そして、不要な箇所の除去後、「ＯＫ」ボタンが押下されることによって、塗装対象となる塗装面Ｐが決定される。このように簡易な操作で塗装面Ｐを決定可能とすることによって、オペレータに、面加工に対するティーチングを容易に行わせることができる。
【００７５】
つづいて、塗装面Ｐの任意の点Ｐ１をピックする操作や、作業線生成のための各種設定値を入力する操作等について、図６Ａ〜図６Ｈを用いて説明する。図６Ａ〜図６Ｈは、作業線を生成する操作の説明図（その１）〜（その８）である。
【００７６】
図６Ａに示すように、塗装面Ｐの決定後には、ダイアログボックス１２３には作業線生成のための操作部品群が表示される。ここで、操作部品の一つである「投影方向指定」チェックボックスをＯＮにした場合、塗装面Ｐの任意の点Ｐ１をピックすることが可能となる。
【００７７】
そして、点Ｐ１がピックされたならば、上述のように投影部１１１ｄが、かかる点Ｐ１の面直方向に直交する投影面ＰＰを生成し、かかる投影面ＰＰへ塗装面Ｐを投影する。なお、このとき、オペレータが目視にて視認しやすいように、点Ｐ１の面直方向が、たとえばディスプレイの平面方向と略直交するように自動的に仮想画像の視点の変更を行い、投影面ＰＰが表示されることが好ましい。
【００７８】
そして、オペレータが、ダイアログボックス１２３上で、「方向」や「切断開始位置」を示すラジオボタンを選択したり、「塗装ピッチ」を指定する指定値等を入力したりした後に「投影面表示」ボタンが押下されることによって、これらの設定内容に基づく作業線ＷＣが、投影面ＰＰに投影された塗装面Ｐ上に表示される。
【００７９】
ダイアログボックス１２３においては、「方向」内のラジオボタンによって塗装の方向を縦または横に指定することができる。また「切断開始位置」内のラジオボタンによって塗装面Ｐのどの位置から塗装を開始するか選択することができる。
【００８０】
「塗装設定」では、塗装面Ｐを塗装するに際し、その塗装ピッチを数値で指定するか、または塗装ガンの折り返し動作の回数によって指定するかを選択することができる。さらには塗装ピッチの値を入力したり、折り返し動作の回数（分割数）を入力したりすることができる。
【００８１】
その他、「オプション設定」では、塗装開始位置を塗装面Ｐの端からどの程度オフセットさせるかや、塗装終了位置を塗装面Ｐの端からどの程度オフセットさせるかを指定することができる。
【００８２】
なお、図６Ａには、「方向」が「縦」で、「切断開始位置」が「左上」で、「塗装ピッチ」が「６０．０」ｍｍである場合の表示例を示している。
【００８３】
これにより、実際に生成されることとなる作業線ＷＣをオペレータに把握しやすく示すことができるので、面加工に対するティーチングを容易に行うのに資することができる。
【００８４】
なお、投影部１１１ｄは、図６Ｂに示すように、たとえばダイアログボックス１２３の操作部品「回転角指定」等における設定内容に基づき、点Ｐ１の面直方向を回転軸として投影面ＰＰを回転させることが可能である（図中の矢印６０１参照）。
【００８５】
このとき、図６Ｂに示すように、投影面ＰＰに対して、塗装面Ｐ、ロボット３０およびワークＷといった投影面ＰＰ以外の部分を相対的に回転させることが好ましい。この場合、オペレータに作業線ＷＣの方向を変えることなく同一方向で示すことができるので、オペレータに作業線ＷＣを把握させやすくすることができる。すなわち、面加工に対するティーチングを容易に行うのに資することができる。
【００８６】
なお、このような回転に際し、投影面ＰＰは、その向きと大きさを逐次再計算され、画像生成部１１１ａおよび表示制御部１１１ｂによって表示部１２へ再表示される。
【００８７】
また、作業線ＷＣの生成につき、作業線生成部１１１ｅは、たとえばダイアログボックス１２３の操作部品等における設定内容に基づき、投影面ＰＰまたは実際の塗装面Ｐのいずれに作業線ＷＣを生成するかを選択可能である。
【００８８】
一例として、図６Ｃに示すように、ダイアログボックス１２３の「投影面上に教示点生成」チェックボックスをＯＦＦにするものとする（図中の閉曲線６０２に囲まれた部分参照）。
【００８９】
この場合、図６Ｄに示すように、作業線生成部１１１ｅは、ワークＷの実際の塗装面Ｐ上に目標点群が配置されるように作業線ＷＣを生成する。
【００９０】
図６Ｅに示すのは、かかる実際の塗装面Ｐ上に目標点群が配置される場合の、仮想画像上の描画イメージの一例である。なお、作業線ＷＣ上の矢印は、その位置が目標点の各点の位置を、その向きがエンドエフェクタ３５である塗装ガンの向きを、それぞれ示している。また、各矢印に付与された番号は、塗装ガンの移動順を示すものである。
【００９１】
一方、図６Ｆに示すように、ダイアログボックス１２３の「投影面上に教示点生成」チェックボックスをＯＮにするものとする（図中の閉曲線６０３に囲まれた部分参照）。また、この場合に、あわせて「ｄ」ｍｍの指定値を指定したものとする（図中の閉曲線６０４に囲まれた部分参照）。
【００９２】
かかる場合、図６Ｇに示すように、作業線生成部１１１ｅは、ワークＷの実際の塗装面Ｐ上ではなく、投影面ＰＰ上に目標点群が配置されるように作業線ＷＣを生成する。また、このとき、投影面ＰＰは、点Ｐ１から面直方向に距離「ｄ」を隔てた位置に生成される。
【００９３】
図６Ｈに示すのは、かかる投影面ＰＰ上に目標点群が配置される場合の、仮想画像上の描画イメージの一例である。
【００９４】
このように、投影面ＰＰまたは実際の塗装面Ｐのいずれに作業線ＷＣを生成するかを選択可能とすることによって、実際の塗装面Ｐの形状等に応じた適切なティーチングを容易に行うことが可能となる。
【００９５】
たとえば、実際の塗装面Ｐの形状が比較的変化に乏しく、略均一にならした塗装が可能であるような場合、オペレータは、投影面ＰＰ上に作業線ＷＣを生成するパターンを選んでもよい。逆に、実際の塗装面Ｐの形状が変化に富み、略均一にならした塗装が不向きであるような場合、オペレータは、実際の塗装面Ｐ上に作業線ＷＣを生成するパターンを選んでもよい。
【００９６】
言い換えれば、オペレータは、塗装面Ｐの形状等から求められる塗装品質に応じたティーチングを、簡易な操作で容易に行うことが可能となる。
【００９７】
図２の説明に戻り、ティーチング制御装置１１のジョブ生成部１１１ｇについて説明する。ジョブ生成部１１１ｇは、操作受付部１１１ｃからジョブ生成を指示する入力操作を受け取った場合に、教示点情報１１２ｂに基づいて、実際のロボット３０を動作させるジョブプログラムを生成し、ジョブ情報ＤＢ１４へ登録する。
【００９８】
記憶部１１２は、ハードディスクドライブや不揮発性メモリといった記憶デバイスであり、モデル情報１１２ａおよび教示点情報１１２ｂを記憶する。なお、モデル情報１１２ａおよび教示点情報１１２ｂの内容については既に説明したため、ここでの記載を省略する。
【００９９】
また、図２を用いた説明では、ティーチング制御装置１１が、あらかじめ登録されたモデル情報１１２ａに基づいてロボット３０を含む仮想画像を生成する例を示したが、ティーチング制御装置１１と相互通信可能に接続された上位装置から画像生成に必要となる情報を逐次取得することとしてもよい。
【０１００】
上述してきたように、実施形態に係るティーチングシステムは、画像生成部と、投影部と、作業線生成部と、演算部と、ジョブ生成部とを備える。
【０１０１】
上記画像生成部は、ロボットおよびこのロボットの加工対象である被加工面を有するワークを含む仮想画像を生成する。上記投影部は、上記仮想画像上で選択された上記被加工面の任意の一点につき、この一点の面直方向に直交する投影面を生成し、この投影面へ上記被加工面を投影する。
【０１０２】
上記作業線生成部は、上記投影面を介して受け付けた設定内容に基づき、上記ロボットの目標点群である作業線を生成する。上記演算部は、上記目標点の各点における上記ロボットの位置および姿勢を含む教示値を演算する。上記ジョブ生成部は、上記演算部によって演算された上記教示値に基づいて実際の上記ロボットを動作させるジョブプログラムを生成する。
【０１０３】
したがって、実施形態に係るティーチングシステムによれば、面加工に対するティーチングを容易に行うことができる。
【０１０４】
なお、上述した実施形態では、投影部が、塗装面の任意の一点につき、かかる一点の面直方向に直交する投影面を一つ生成する場合を例に挙げたが、任意の一点が複数個選択された場合に、かかる一点の各点についての投影面を複数個生成可能としてもよい。
【０１０５】
かかる変形例を分かりやすく図７に示す。図７は、変形例に係る投影面ＰＰ１〜ＰＰ３の説明図である。すなわち、図７に示すように、ワークＷの塗装面に対し、任意の点Ｐ１〜Ｐ３を複数個まとめて選択し、これら点Ｐ１〜Ｐ３の各点についての投影面ＰＰ１〜ＰＰ３を複数個あわせて生成可能としてもよい。
【０１０６】
これにより、オペレータは、多方向から同時に分かりやすくワークＷの塗装面の形状を把握することができるので、やはり面加工に対するティーチングを容易に行うことができる。また、多方向の塗装面に対するティーチングを並列に行うことが可能となるので、ティーチングにかかる作業工数の低減に資することができる。
【０１０７】
また、上述した実施形態では、ロボットが、６軸の単腕ロボットである例を示しているが、軸数や腕の数を限定するものではない。
【０１０８】
また、上述した実施形態では、オペレータが、主に操作部としてマウスを用い、オペレータはかかるマウスによって入力操作等を行う場合を例に挙げたが、これに限られるものではない。たとえば、表示部をいわゆるマルチタッチ対応のタッチパネルなどで構成し、かかるタッチパネルに対するマルチタッチ操作を含むこととしてもよい。
【０１０９】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【０１１０】
１    ロボットシステム
１０    ティーチングシステム
１１    ティーチング制御装置
１２    表示部
１３    操作部
１４    ジョブ情報ＤＢ
２０    ロボット制御装置
３０    ロボット
３１    基台部
３２    第１アーム
３３    第２アーム
３４    フランジ部
３５    エンドエフェクタ（塗装ガン）
１１１    制御部
１１１ａ  画像生成部
１１１ｂ  表示制御部
１１１ｃ  操作受付部
１１１ｄ  投影部
１１１ｅ  作業線生成部
１１１ｆ  教示値演算部
１１１ｇ  ジョブ生成部
１１２    記憶部
１１２ａ  モデル情報
１１２ｂ  教示点情報
１２０    表示ウィンドウ
１２１    仮想画像領域
１２２    ボタン
１２３    ダイアログボックス
１２３ａ  ボタン
Ｂ      軸
Ｃ      カーソル
Ｅ１、Ｅ２  不要箇所
Ｌ      軸
Ｐ      塗装面
Ｐ’１、Ｐ’２  面
ＰＰ、ＰＰ１〜ＰＰ３  投影面
Ｒ      軸
Ｓ      軸
Ｔ      軸
Ｔ１    トリミングツール
Ｕ      軸
Ｗ      ワーク
ＷＣ    作業線
【図１】
0005975010.tif 000002
【図２】
0005975010.tif 000003
【図３Ａ】
0005975010.tif 000004
【図３Ｂ】
0005975010.tif 000005
【図４】
0005975010.tif 000006
【図５Ａ】
0005975010.tif 000007
【図５Ｂ】
0005975010.tif 000008
【図６Ａ】
0005975010.tif 000009
【図６Ｂ】
0005975010.tif 000010
【図６Ｃ】
0005975010.tif 000011
【図６Ｄ】
0005975010.tif 000012
【図６Ｅ】
0005975010.tif 000013
【図６Ｆ】
0005975010.tif 000014
【図６Ｇ】
0005975010.tif 000015
【図６Ｈ】
0005975010.tif 000016
【図７】
0005975010.tif 000017