(57)【要約】      （修正有）【課題】容易に作業線を水平に保ち、作業品質を向上させる。【解決手段】実施形態の一態様に係るティーチングシステムは、表示部と、画像生成部と、表示制御部と、作業線生成部（溶接線生成部）と、演算部（水平維持演算部）と、ジョブ生成部とを備える。画像生成部は、ロボット、該ロボットの作業対象であるワークおよびこのワークを保持するポジショナを含むロボットシステムの仮想画像を生成する。作業線生成部は、オペレータの溶接線選択操作を受け付けた場合に、かかる稜線におけるティーチングの目標点の各点を抽出し、目標点群である作業線を生成する。演算部は、上記目標点の各点における作業線のベクトル方向が水平方向に略平行となるように、上記各点ごとのポジショナの位置および姿勢についての教示値を演算する。ジョブ生成部は、演算部によって演算された教示値に基づいて実際のポジショナを動作させるジョブプログラムを生成する。【選択図】図２
2014161922.tif 000002
【特許請求の範囲】
【請求項１】
表示部と、
ロボット、該ロボットの作業対象であるワークおよび該ワークを保持するポジショナを含むロボットシステムの仮想画像を生成する画像生成部と、
前記画像生成部によって生成された前記仮想画像を前記表示部へ表示させる表示制御部と、
前記仮想画像における前記ワークの稜線に対するオペレータの選択操作を受け付けた場合に、該稜線におけるティーチングの目標点の各点を抽出し、目標点群である作業線を生成する作業線生成部と、
前記目標点の各点における前記作業線のベクトル方向が水平方向に略平行となるように、前記各点ごとの前記ポジショナの位置および姿勢についての教示値を演算する演算部と、
前記演算部によって演算された前記教示値に基づいて実際の前記ポジショナを動作させるジョブプログラムを生成するジョブ生成部と
を備えることを特徴とするティーチングシステム。
【請求項２】
前記演算部は、
前記オペレータの指定値に基づき、前記作業線のベクトル方向を、水平方向を基準とした任意の方向となるように調整すること
を特徴とする請求項１に記載のティーチングシステム。
【請求項３】
前記作業線のベクトル方向は、
水平方向を基準とした下進方向となるように調整されること
を特徴とする請求項２に記載のティーチングシステム。
【請求項４】
前記演算部によって演算された前記教示値に基づいて姿勢を変更した前記ポジショナを含む前記仮想画像を前記画像生成部に再生成させるシミュレート指示部
をさらに備えることを特徴とする請求項１、２または３に記載のティーチングシステム。
【請求項５】
ロボット、該ロボットの作業対象であるワークおよび該ワークを保持するポジショナを含むロボットシステムの仮想画像を生成する画像生成工程と、
前記画像生成工程によって生成された前記仮想画像を表示部へ表示させる表示制御工程と、
前記仮想画像における前記ワークの稜線に対するオペレータの選択操作を受け付けた場合に、該稜線におけるティーチングの目標点の各点を抽出し、目標点群である作業線を生成する作業線生成工程と、
前記目標点の各点における前記作業線のベクトル方向が水平方向に略平行となるように、前記各点ごとの前記ポジショナの位置および姿勢についての教示値を演算する演算工程と、
前記演算工程によって演算された前記教示値に基づいて実際の前記ポジショナを動作させるジョブプログラムを生成するジョブ生成工程と
を含むことを特徴とするティーチング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、ティーチングシステムおよびティーチング方法に関する。
【背景技術】
【０００２】
従来、３次元ＣＡＤ（Computer  Aided  Design）データ等に基づいて表示装置上にロボットシステムの３次元モデル画像をグラフィック表示し、かかる３次元モデル画像を操作することでロボットシステムの動作をシミュレート演算しながら教示データを作成するティーチングシステムが種々提案されている（たとえば、特許文献１参照）。
【０００３】
かかるティーチングシステムを用いることによって、オペレータは、ロボットやその外部軸などを実際に動作させることなく、ロボットが周辺機器に干渉しないかといった検証を行いながら教示データの作成を行うことができる。
【０００４】
たとえば、特許文献１に開示の「ロボットのティーチングシステム」は、溶接ロボットおよびワーク位置決め装置（以下、「ポジショナ」と記載する）からなる溶接ロボットシステムについての教示データの作成をオフラインにて行うものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２０１２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の従来のティーチングシステムには、溶接ロボットシステムのティーチングに関し、容易に溶接線を水平に保ち、溶接品質を向上させるという点で更なる改善の余地がある。
【０００７】
具体的に、溶接作業には従来から、溶接したビードが重力作用によって垂れないように、溶接線のうち、溶接作業を行っている部分を水平に保ちたいというニーズがある。そのためには、ポジショナに対して、多様な溶接線の形状などに応じワークの位置や姿勢を適切に変化させるきめ細かい動作のティーチングを行う必要がある。
【０００８】
ところが、たとえばポジショナが、傾動軸および回転軸の２軸といった多軸を有するような場合、かかる溶接線を水平に保つためのティーチングはきわめて難解なものとなる。したがって、まず、現場でオペレータに手作業で行わせるには負担が大きく、オフラインティーチングの場合であっても手順が複雑となる。
【０００９】
また、上述の従来のティーチングシステムには、かかる溶接線を水平に保つ点について開示も示唆もされていない。このため、溶接ロボットシステムの教示を行うにあたり、簡易に溶接線を水平に保ち、溶接品質を向上させることが望まれている。
【００１０】
また、溶接ロボットシステム以外に、たとえばシーリングロボットおよびポジショナからなるシーリングロボットシステムについても、同様にシール部分を水平に保ってシール材の塗布品質を向上させることが望まれる場合がある。
【００１１】
実施形態の一態様は、上記に鑑みてなされたものであって、容易に溶接線などの作業線を水平に保ち、溶接品質などの作業品質を向上させることができるティーチングシステムおよびティーチング方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
実施形態の一態様に係るティーチングシステムは、表示部と、画像生成部と、表示制御部と、作業線生成部と、演算部と、ジョブ生成部とを備える。前記画像生成部は、ロボット、該ロボットの作業対象であるワークおよび該ワークを保持するポジショナを含むロボットシステムの仮想画像を生成する。前記表示制御部は、前記画像生成部によって生成された前記仮想画像を前記表示部へ表示させる。前記作業線生成部は、前記仮想画像における前記ワークの稜線に対するオペレータの選択操作を受け付けた場合に、該稜線におけるティーチングの目標点の各点を抽出し、目標点群である作業線を生成する。前記演算部は、前記目標点の各点における前記作業線のベクトル方向が水平方向に略平行となるように、前記各点ごとの前記ポジショナの位置および姿勢についての教示値を演算する。前記ジョブ生成部は、前記演算部によって演算された前記教示値に基づいて実際の前記ポジショナを動作させるジョブプログラムを生成する。
【発明の効果】
【００１３】
実施形態の一態様によれば、オフラインティーチングにおいて容易に溶接線などの作業線を水平に保ってオペレータの負担を軽減し、さらに作業品質を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施形態に係るティーチングシステムを含むロボットシステムの全体構成を示す模式図である。
【図２】図２は、実施形態に係るティーチングシステムの構成を示すブロック図である。
【図３】図３は、ワークの稜線の選択操作の説明図である。
【図４Ａ】図４Ａは、表示部へ表示される仮想画像の一例を示す模式図である。
【図４Ｂ】図４Ｂは、目標点の各点を抽出して表示した仮想画像の一例を示す模式図である。
【図５Ａ】図５Ａは、ワークの矢視Ａ模式図ある。
【図５Ｂ】図５Ｂは、水平維持演算部の説明図（その１）である。
【図５Ｃ】図５Ｃは、水平維持演算部の説明図（その２）である。
【図５Ｄ】図５Ｄは、水平維持演算部の説明図（その３）である。
【図６Ａ】図６Ａは、第１の変形例に係る操作手順を示す図である。
【図６Ｂ】図６Ｂは、第１の変形例に係る表示例を示す図（その１）である。
【図６Ｃ】図６Ｃは、第１の変形例に係る表示例を示す図（その２）である。
【図６Ｄ】図６Ｄは、第２の変形例の説明図である。
【図６Ｅ】図６Ｅは、第２の変形例に係る操作手順を示す図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して、本願の開示するティーチングシステムおよびティーチング方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【００１６】
また、以下では、ディスプレイ等の表示部に対し、ロボットの３次元モデルのグラフィック画像を表示するティーチングシステムを例に挙げて説明を行う。なお、かかる３次元モデルのグラフィック画像については、以下、「仮想画像」と記載する場合がある。
【００１７】
また、以下では、溶接ロボットおよびポジショナを含む溶接ロボットシステムを例に挙げて説明を行うが、溶接ロボットシステムに限定されるものではなく、たとえばシーリングロボットおよびポジショナを含むシーリングロボットシステムにも置換可能である。以下では、溶接ロボットについては「ロボット」と、溶接ロボットシステムについては「ロボットシステム」と、それぞれ記載する。
【００１８】
図１は、実施形態に係るティーチングシステム１０を含むロボットシステム１の全体構成を示す模式図である。
【００１９】
図１に示すように、ロボットシステム１は、ティーチングシステム１０と、ロボット制御装置２０と、ロボット３０と、ポジショナ４０とを備える。また、ティーチングシステム１０は、ティーチング制御装置１１と、表示部１２と、操作部１３と、ジョブ情報ＤＢ（データベース）１４とを備える。
【００２０】
ティーチング制御装置１１は、ティーチングシステム１０全体を制御するコントローラであり、演算処理処置や記憶装置などを含んで構成される。また、ティーチング制御装置１１は、表示部１２をはじめとするティーチングシステム１０の各種装置と情報伝達可能に接続される。
【００２１】
また、ティーチング制御装置１１は、操作部１３を介したオペレータの操作に基づいてその動作をシミュレート演算したロボット３０およびポジショナ４０を含む仮想画像を表示部１２に対して出力する。
【００２２】
また、ティーチング制御装置１１は、同じく操作部１３を介したオペレータの操作に基づいて仮想画像からロボット３０およびポジショナ４０を動作させるジョブプログラムを生成し、ジョブ情報ＤＢ１４へ登録する。
【００２３】
表示部１２は、いわゆるディスプレイ等の表示デバイスである。また、操作部１３は、マウス等のポインティングデバイスである。なお、操作部１３は、必ずしもハードウェア部品として構成される必要はなく、たとえば、タッチパネルディスプレイに表示されたタッチキーなどのソフトウェア部品であってもよい。
【００２４】
ジョブ情報ＤＢ１４は、ロボット３０およびポジショナ４０を動作させるジョブプログラムやかかるジョブプログラムに含まれる「教示点」等、ティーチングに関する情報が登録されるデータベースである。
【００２５】
ここで、「教示点」とは、ロボット３０およびポジショナ４０を再生動作させる際にこれらの各関節や回転機構が経由するべき目標位置となる情報であり、たとえば、ロボット３０やポジショナ４０の各軸を駆動させるサーボモータに設けられた各エンコーダのパルス値として記憶される。ロボット３０およびポジショナ４０は、複数の教示点の情報に基づいて動作するため、ジョブ情報ＤＢ１４にはロボット３０やポジショナ４０の動き（ジョブ）毎に複数の教示点が関連付けられて記憶されている。
【００２６】
換言すると、ロボット３０およびポジショナ４０のジョブプログラムには、複数の教示点および各教示点間の補間動作命令やエンドエフェクタへの動作命令などの組合せ情報が含まれている。なお、ジョブ情報ＤＢ１４は、ロボット３０およびポジショナ４０のジョブプログラム毎にそれに含まれる教示点の情報を記憶するようになっており、たとえばロボット３０を再生動作させる際には、かかるジョブプログラムに基づいてロボット３０が動作される。
【００２７】
ジョブ情報ＤＢ１４は、実際のロボット３０およびポジショナ４０の動作を制御するコントローラであるロボット制御装置２０と情報伝達可能に接続されており、ロボット制御装置２０は、かかるジョブ情報ＤＢ１４に登録されたジョブプログラムに基づいてロボット３０およびポジショナ４０の各種動作を制御する。
【００２８】
なお、図１では、ジョブ情報ＤＢ１４（ティーチングシステム１０）とロボット制御装置２０とを接続しているが、ティーチングシステム１０にて生成されたジョブプログラムをロボット制御装置２０内の所定の記憶部（図示略）に保存できるよう構成されていれば、ジョブ情報ＤＢ１４（ティーチングシステム１０）とロボット制御装置２０とは必ずしも接続されている必要はない。
【００２９】
たとえば、ティーチングシステム１０にて生成されたジョブプログラムを、ＵＳＢ（Universal  Serial  Bus）メモリ等の媒体にコピーした後、かかる媒体をロボット制御装置２０に接続して、所定の操作によりロボット制御装置２０内の所定の記憶部（図示略）に保存するようにしてもよい。
【００３０】
なお、図１では、説明を分かりやすくする観点から、ジョブ情報ＤＢ１４とティーチング制御装置１１とを別体で構成した例を示しているが、ジョブ情報ＤＢ１４をティーチング制御装置１１内部の記憶部に記憶させることとしてもよい。
【００３１】
ロボット３０は、基台部３１と、第１アーム３２と、第２アーム３３と、手首部３４と、エンドエフェクタ３５とを備える。基台部３１は、床面などに固定され、第１アーム３２の基端部を軸Ｓまわりに回転可能に（図中の矢印１０１参照）、かつ、軸Ｌまわりに回転可能に（図中の矢印１０２参照）支持する。
【００３２】
第１アーム３２は、基端部を基台部３１に上述のように支持されるとともに、その先端部において、第２アーム３３の基端部を軸Ｕまわりに回転可能に支持する（図中の矢印１０３参照）。
【００３３】
第２アーム３３は、基端部を第１アーム３２に上述のように支持されるとともに、その先端部において、手首部３４の基端部を軸Ｂまわりに回転可能に支持する（図中の矢印１０５参照）。また、第２アーム３３は、軸Ｒまわりに回転可能に設けられている（図中の矢印１０４参照）。
【００３４】
手首部３４は、基端部を第２アーム３３に上述のように支持されるとともに、その先端部において、エンドエフェクタ３５の基端部を軸Ｔまわりに回転可能に支持する（図中の矢印１０６参照）。
【００３５】
本実施形態におけるエンドエフェクタ３５は溶接トーチであり、基端部を手首部３４に上述のように支持されている。
【００３６】
ポジショナ４０は、基台部４１と、載荷台４２とを備える。基台部４１は、床面などに固定され、載荷台４２を軸ＥＸ１まわりに傾動可能に支持する（図中の矢印１０７参照）。
【００３７】
載荷台４２は、溶接対象であるワークＷを載荷する荷台であり、軸ＥＸ２まわりに回転可能に設けられ（図中の矢印１０８参照）、載荷された状態のワークＷを回転させる。なお、ポジショナ４０の軸ＥＸ１、ＥＸ２は、ロボット３０の外部軸として取り扱われ、ロボット制御装置２０に制御される。
【００３８】
なお、ロボット３０の各関節や、ポジショナ４０の有する回転機構には、サーボモータのような駆動源が搭載されており、ロボット制御装置２０からの動作指示に基づいてロボット３０の各関節やポジショナ４０の回転機構を駆動する。
【００３９】
次に、実施形態に係るティーチングシステム１０のブロック構成について、図２を用いて説明する。図２は、実施形態に係るティーチングシステム１０のブロック図である。なお、図２では、ティーチングシステム１０の説明に必要な構成要素のみを示しており、一般的な構成要素についての記載を省略している。
【００４０】
また、図２を用いた説明では、主としてティーチング制御装置１１の内部構成について説明することとし、既に図１で示した表示部１２、操作部１３およびジョブ情報ＤＢ１４については説明を簡略化する場合がある。
【００４１】
図２に示すように、ティーチング制御装置１１は、制御部１１１と、記憶部１１２とを備える。制御部１１１は、画像生成部１１１ａと、表示制御部１１１ｂと、操作受付部１１１ｃと、溶接線生成部１１１ｄと、水平維持演算部１１１ｅと、シミュレート指示部１１１ｆと、ジョブ生成部１１１ｇとをさらに備える。記憶部１１２は、モデル情報１１２ａと、教示点情報１１２ｂとを記憶する。
【００４２】
画像生成部１１１ａは、モデル情報１１２ａに基づき、ロボット３０、ワークＷおよびかかるワークＷを保持するポジショナ４０を含むロボットシステム１の仮想画像を生成する。モデル情報１１２ａは、ロボット３０やポジショナ４０、ワークＷの種別ごとにあらかじめ定義された描画情報を含む情報である。
【００４３】
また、画像生成部１１１ａは、生成したロボットシステム１の仮想画像を表示制御部１１１ｂに対して出力する。表示制御部１１１ｂは、画像生成部１１１ａから受け取ったロボットシステム１の仮想画像を表示部１２へ表示させる。
【００４４】
操作受付部１１１ｃは、操作部１３を介して入力されるオペレータの入力操作を受け付け、かかる入力操作がシミュレート指示に関するものであれば、受け付けた入力操作を溶接線生成部１１１ｄに対して通知する。なお、ここに言うシミュレート指示に関する入力操作とは、表示部１２上のワークＷの稜線を選択する選択操作である。
【００４５】
ここで、ワークＷの稜線について述べておく。図３は、ワークＷの稜線の選択操作の説明図である。なお、図３に示すワークＷは、表示部１２へ表示された仮想画像のワークＷであるものとする。
【００４６】
一般的に「稜線」とは、図３にｒ１として示すような尾根に相当する部分を指すが、本実施形態では、面と面との継ぎ目部分も便宜上「稜線」と表現している。
【００４７】
よって、本実施形態における「稜線」は、たとえば、図３のｒ２のように尾根と尾根とに挟まれた谷に相当する継ぎ目（継ぎ手）部分であってもよい。また、図示していないが、面と面とが重なっている場合の継ぎ目部分であってもよい。
【００４８】
かかる稜線ｒ１およびｒ２は、表示部１２にワークＷの仮想画像が表示された際に、操作部１３等を用いて選択操作可能な形式で表示される。たとえば、マウスカーソルをワークＷに近づけた際に、すべての稜線の色がたとえば青色に変わったり、点滅などしたりしてもよい。
【００４９】
そして、オペレータが、稜線ｒ１およびｒ２のうち、たとえば、稜線ｒ２上の一点をクリックしたものとする。かかる場合、図３に示すように、稜線ｒ２が明らかに他の稜線に比べて太く表示されるなど、選択されたことが明示されるのが好ましい。また、太さを変えるのではなく、たとえば青色から黄色に変わるなど、色分けによって識別されてもよい。
【００５０】
なお、仮想画像からワークＷの稜線を抽出する処理は、モデル情報１１２ａを参照して制御部１１１にて行われるが、こうした処理は公知のものであるので詳細な説明は省略する。
【００５１】
また、図３に示すワークＷは、あくまで一例であって、その形状や稜線の数などを限定するものではない。また、本実施形態では、オペレータが、図３に示すワークＷの稜線ｒ２を選択したものとして説明を進める。
【００５２】
図２の説明に戻り、引き続き、操作受付部１１１ｃについて説明する。操作受付部１１１ｃはまた、入力操作がジョブ生成を指示するものであれば、受け付けた入力操作をジョブ生成部１１１ｇに対して通知する。なお、ここに言うジョブ生成を指示する入力操作とは、一例として、表示部１２へ表示された「ジョブ生成」ボタンといった操作部品をクリックする操作である。
【００５３】
溶接線生成部１１１ｄは、操作受付部１１１ｃからワークＷの稜線ｒ２の選択操作を受け付けた旨の通知を受けた場合に、かかる稜線ｒ２におけるティーチングの目標点の各点を抽出し、目標点群である溶接線を生成する。
【００５４】
また、水平維持演算部１１１ｅは、溶接線生成部１１１ｄによって生成された溶接線に基づき、上記目標点の各点における溶接線のベクトル方向が水平方向に略平行となるように、上記各点ごとのポジショナ４０の回転機構の各軸の位置についての教示値を演算する。
【００５５】
また、水平維持演算部１１１ｅは、演算した上記目標点の各点に対応するポジショナ４０の教示値を、教示点情報１１２ｂへ登録する。
【００５６】
なお、水平維持演算部１１１ｅは、たとえば、３次元座標系における上記目標点の各点の座標値をポジショナ４０の位置とし、各点における溶接線のベクトル方向をポジショナ４０の姿勢として、ポジショナ４０の姿勢が水平方向に略平行で、ポジショナ４０の位置がロボットによる溶接作業に適した位置になるよう、各点ごとに逆キネマティクス演算によって、ポジショナ４０の有する軸ＥＸ１、ＥＸ２に対する教示値を演算する。
【００５７】
さらに、水平維持演算部１１１ｅは、ポジショナ４０が各教示値をとった場合の、上記目標点の各点に溶接トーチ先端が到達するように、ロボット３０の各関節軸に対する教示値を逆キネマティクス演算によって演算し、演算した教示値を教示点情報１１２ｂへ登録する。
【００５８】
また、水平維持演算部１１１ｅは、シミュレーション動作を指示する入力操作を受け取った場合に、ポジショナ４０およびロボット３０の各教示値をシミュレート指示部１１１ｆに対して通知する。
【００５９】
シミュレート指示部１１１ｆは、水平維持演算部１１１ｅから通知された上記目標点の各点に対応するポジショナ４０の教示値に応じて姿勢を変更したポジショナ４０の仮想画像、およびポジショナ４０に対応して位置や姿勢を変更したロボット３０の仮想画像を再生成させるシミュレート指示を、画像生成部１１１ａに対して通知する。
【００６０】
そして、画像生成部１１１ａは、シミュレート指示部１１１ｆから受け取ったシミュレート指示に基づいてポジショナ４０およびロボット３０を含む仮想画像を再生成し、表示制御部１１１ｂを介して表示部１２へ表示させる。これにより、ポジショナ４０およびロボット３０を含む仮想画像が連続して変化するシミュレーション動作が表示されることとなる。
【００６１】
なお、稜線を選択する操作の際に、オペレータがクリックした稜線ｒ２上の点を含む線分が水平方向と略平行となるようなポジショナ４０の各軸位置をポジショナ４０の初期位置とし、オペレータが稜線を選択すると、ポジショナ４０の初期位置の仮想画像を生成して表示部１２へ表示するようにしてもよい。
【００６２】
次に、図４Ａ〜図５Ｄを用いて、上述した操作受付部１１１ｃ〜水平維持演算部１１１ｅまでの一連の処理について詳細に説明する。
【００６３】
まず、図４Ａを用いて、画像生成部１１１ａが生成し、表示制御部１１１ｂを介して表示部１２へ表示される仮想画像の一例について説明しておく。
【００６４】
図４Ａは、表示部１２へ表示される仮想画像の一例を示す模式図である。図４Ａに示すように、ロボット３０およびポジショナ４０を含むロボットシステム１の仮想画像は、表示部１２の表示領域の一つである表示ウィンドウ１２０上に表示される。
【００６５】
具体的には、仮想画像は、表示ウィンドウ１２０上の仮想画像領域１２１に表示される。また、表示ウィンドウ１２０は、ボタン１２２やダイアログボックス１２３などを含むＧＵＩ（Graphical  User  Interface）ウィジェットを有する。
【００６６】
なお、仮想画像領域１２１の左下には直交座標系が表示されているが、これは仮想画像内の基準座標系であり、前述の３次元座標系に相当し、水平方向や垂直方向の基準となる。具体的には、基準座標系のＸ軸とＹ軸とで規定されるＸＹ平面と平行な方向が水平方向となり、基準座標系のＺ軸と平行な方向が垂直方向となる。
【００６７】
オペレータは、かかるＧＵＩウィジェットや仮想画像上の操作可能部品（たとえば、ワークＷの稜線ｒ２）を操作することによって、ティーチングシステム１０に対する指示操作を行う。
【００６８】
ティーチングシステム１０は、オペレータの指示操作に従って、表示部１２上の仮想画像であるロボット３０の各関節やポジショナ４０の回転機構を駆動させたり、仮想画像をどの方向からみた状態で表示するかといった視点の変更や表示の拡大／縮小を行ったりすることができる。
【００６９】
また、仮想画像内の特定点にエンドエフェクタ３５（本実施形態では溶接トーチ先端）が到達するようなロボット３０の各関節位置を逆キネマティクス演算により求めて、到達した状態のロボット３０の仮想画像を生成、表示することも可能である。
【００７０】
さらに、オペレータの指示操作に従って、ジョブ情報ＤＢ１４に登録された教示点やジョブプログラムを読み出し、特定の教示点に到達した状態のロボット３０およびポジショナ４０の仮想画像を表示したり、ジョブプログラムによるロボット３０およびポジショナ４０の一連の動作を表示部１２上で再現したりすることもできる。
【００７１】
ただし、ロボットのオフラインティーチングシステムにおける、このような機能は公知のものであるので、本実施形態に係る部分以外の詳細な説明は省略する。
【００７２】
なお、上述した「ジョブ生成」ボタンなどは、たとえば、ダイアログボックス１２３のボタン１２３ａなどに設けてもよい。
【００７３】
ここで、オペレータが、ワークＷの稜線ｒ２を選択操作したものとする。かかる場合、上述の溶接線生成部１１１ｄで処理が実行され、稜線ｒ２におけるティーチングの目標点の各点を抽出し、目標点群である溶接線が生成される。
【００７４】
図４Ｂは、かかる目標点の各点を抽出して表示した仮想画像の一例を示す模式図である。図４Ｂに示すように、抽出された目標点の各点は、稜線ｒ２上に向けて表示された矢印によって指し示される。
【００７５】
なお、目標点の抽出は自動的に行われるが、その間隔は通常は一定ではなく、溶接線のベクトル方向が変化する部分（稜線の曲がり角部分）ではより短い間隔で抽出されるように構成されている。
【００７６】
また、溶接線のベクトル方向の変化に加え、あらかじめ入力された溶接条件（溶接速度、溶接電圧、溶接電流、溶接ワイヤの材質、径、送給速度など）に応じて間隔を決定するようになっていてもよい。
【００７７】
ここで、説明を分かりやすくするために、かかる矢印のうちの３本に符号ＴＰ１〜ＴＰ３を付し、つづく図５Ａ〜図５Ｄでは、かかる符号ＴＰ１〜ＴＰ３のみを目標点の例として挙げ、説明を続ける。また、図５Ａ〜図５Ｄは、図４Ｂに示す矢視Ａ図として示してある。
【００７８】
図５Ａは、ワークＷの矢視Ａ模式図ある。また、図５Ｂ〜図５Ｄは、水平維持演算部１１１ｅの説明図（その１）〜（その３）である。
【００７９】
図５Ａに示すように、ワークＷの稜線ｒ２の一部に沿って、目標点ＴＰ１〜ＴＰ３が抽出されたものとする。また、溶接される順序は、目標点ＴＰ１、ＴＰ２、ＴＰ３の順であるものとする。
【００８０】
この場合、図５Ｂに示すように、水平維持演算部１１１ｅはまず、目標点ＴＰ１における稜線ｒ２の接線方向ｔ１が水平方向と略平行となるように、ポジショナ４０が有する軸ＥＸ１、ＥＸ２の位置を求解する逆キネマティクス演算を行う。
【００８１】
さらに、水平維持演算部１１１ｅは、図５ＢにおけるＴＰ１に溶接トーチ先端が到達するように、ロボット３０の各関節軸の位置を求解する逆キネマティクス演算を行う。なお溶接トーチの姿勢は、あらかじめ設定した前進角や傾斜角となるように構成してもよい。
【００８２】
つづいて、図５Ｃに示すように、水平維持演算部１１１ｅは、目標点ＴＰ２における稜線ｒ２の接線方向ｔ２が水平方向と略平行となるように、ポジショナ４０が有する軸ＥＸ１、ＥＸ２の位置を求解する。
【００８３】
さらに、水平維持演算部１１１ｅは、図５ＣにおけるＴＰ２に溶接トーチ先端が到達するように、ロボット３０の各関節軸の位置を求解する。
【００８４】
同様に、図５Ｄに示すように、水平維持演算部１１１ｅは、目標点ＴＰ３における稜線ｒ２の接線方向ｔ３が水平方向と略平行となるように、ポジショナ４０が有する軸ＥＸ１、ＥＸ２の位置を求解する。なお、図５Ｄの例では、溶接トーチ先端がＴＰ２からＴＰ３へと到達するまでの間はポジショナ４０の軸を特に動作させなくても、接線方向ｔ３は水平方向と略平行となっている。
【００８５】
さらに水平維持演算部１１１ｅは、図５ＤにおけるＴＰ３に溶接トーチ先端が到達するように、ロボット３０の各関節軸の位置を求解する。
【００８６】
すなわち、水平維持演算部１１１ｅは、すべての目標点ＴＰ１〜ＴＰ３における稜線ｒ２の接線方向、言い換えれば、溶接線のベクトル方向がつねに水平方向に略平行となるように、ポジショナ４０の回転機構の位置の演算を行い、さらにはそれらに対応するロボット３０の各関節軸の位置についても演算を行う。
【００８７】
すなわち、本実施形態によれば、複雑な形状の溶接線に対する溶接作業をティーチングする場合であっても、現在の溶接箇所が水平方向と略平行となるように、ポジショナ４０の回転機構の各軸が自動的に駆動するジョブプログラムを生成することができ、オペレータのティーチングの負担を軽減するとともに、溶接品質を向上させることができる。
【００８８】
ところで、水平維持演算部１１１ｅの逆キネマティクス演算処理によって、複数の解が求まる場合がある。かかる場合の操作手順について、図６Ａ〜図６Ｃを用いて説明する。図６Ａは、第１の変形例に係る操作手順を示す図である。また、図６Ｂおよび図６Ｃは、第１の変形例に係る表示例を示す図（その１）および（その２）である。
【００８９】
かかる場合、図６Ａに示すように、たとえば、表示ウィンドウ１２０上にダイアログボックス１２３を表示し、かかるダイアログボックス１２３に複数個の解をそのままリスト形式で示せばよい。そして、オペレータにリストアップされたうちの一つを選択させればよい。
【００９０】
なお、図６Ａはポジショナ４０について２つの解が求まった場合の例である。この場合、リストアップされた解の１つをクリックすると、その解に対応するポジショナ４０の仮想画像を即座に表示するようにしてもよい。
【００９１】
たとえば、図６Ａの番号「１」をクリックすると、図６Ｂのようなポジショナ４０の仮想画像が表示され、図６Ａの番号「２」をクリックすると、図６Ｃのようなポジショナ４０の仮想画像が表示される。
【００９２】
これにより、水平維持演算部１１１ｅにおいて複数の解が求まってしまう場合でも、いずれの解が適切か、オペレータが仮想画像を見て即座に選択を行うことができる。
【００９３】
また、これまでは、水平維持演算部１１１ｅが、目標点ＴＰ１〜ＴＰ３の各点における溶接線のベクトル方向が水平方向に略平行となるように求解することとしたが、かかる溶接線のベクトル方向を調整することとしてもよい。
【００９４】
図６Ｄは、第２の変形例の説明図である。また、図６Ｅは、第２の変形例に係る操作手順を示す図である。なお、図６Ｄでは、溶接線のベクトル方向ｔの傾斜角θ１を、説明の便宜のために誇張して示している。
【００９５】
図６Ｄに示すように、目標点ＴＰから伸びる溶接線のベクトル方向ｔを、水平方向を基準とした任意の方向となるように調整することとしてもよい。たとえば、図６Ｄには、溶接線のベクトル方向ｔを、傾斜角θ１だけ下進方向にやや傾斜させた例を示している。
【００９６】
このように、下進方向にやや傾斜させた場合、重力作用を受けて溶接方向前方にビードが伸びるため、ビードが汚く残りにくいというメリットを得ることができる。なお、この点、上進方向にやや傾斜させることを妨げるものではない。
【００９７】
また、図６Ｄに示すように、溶接線のベクトル方向ｔを回転角θ２だけ回転させてもよい。この回転角θ２を調節することによって、重力方向に対する稜線（継ぎ手）の姿勢を適切に設定し、溶接品質を向上させるメリットを得ることができる。
【００９８】
この第２の変形例の場合、図６Ｅに示すように、たとえば、ダイアログボックス１２３に傾斜角θ１と回転角θ２の指定値入力欄を設け、オペレータに指定させればよい。
【００９９】
図２の説明に戻り、ティーチング制御装置１１のジョブ生成部１１１ｇについて説明する。ジョブ生成部１１１ｇは、操作受付部１１１ｃからジョブ生成を指示する入力操作を受け取った場合に、教示点情報１１２ｂに基づいて、実際のロボット３０およびポジショナ４０を動作させるジョブプログラムを生成し、ジョブ情報ＤＢ１４へ登録する。
【０１００】
記憶部１１２は、ハードディスクドライブや不揮発性メモリといった記憶デバイスであり、モデル情報１１２ａおよび教示点情報１１２ｂを記憶する。なお、モデル情報１１２ａおよび教示点情報１１２ｂの内容については既に説明したため、ここでの記載を省略する。
【０１０１】
また、図２を用いた説明では、ティーチング制御装置１１が、あらかじめ登録されたモデル情報１１２ａに基づいてロボット３０およびポジショナ４０を含む仮想画像を生成する例を示したが、ティーチング制御装置１１と相互通信可能に接続された上位装置から画像生成に必要となる情報を逐次取得することとしてもよい。
【０１０２】
上述してきたように、実施形態に係るティーチングシステムは、表示部と、画像生成部と、表示制御部と、溶接線生成部（作業線生成部）と、水平維持演算部（演算部）と、ジョブ生成部とを備える。
【０１０３】
画像生成部は、ロボット、かかるロボットの作業対象であるワークおよびこのワークを保持するポジショナを含むロボットシステムの仮想画像を生成する。表示制御部は、画像生成部によって生成された仮想画像を表示部へ表示させる。
【０１０４】
溶接線生成部は、仮想画像におけるワークの稜線に対するオペレータの選択操作を受け付けた場合に、かかる稜線におけるティーチングの目標点の各点を抽出し、目標点群である溶接線（作業線）を生成する。
【０１０５】
水平維持演算部は、上記各点における溶接線のベクトル方向が水平方向に略平行となるように、上記各点ごとのポジショナの位置および姿勢についての教示値を演算する。ジョブ生成部は、水平維持演算部によって演算された教示値に基づいて実際のポジショナおよびロボットを動作させるジョブプログラムを生成する。
【０１０６】
したがって、実施形態に係るティーチングシステムによれば、容易に溶接線を水平に保ってオペレータの負担を軽減し、さらに溶接品質を向上させることができる。
【０１０７】
なお、上述した実施形態では、ロボットが、６軸の単腕ロボットである例を示しているが、軸数や腕の数を限定するものではない。また、上述した実施形態では、ポジショナが２軸を有している例を示しているが、３軸以上を有していてもよい。
【０１０８】
また、上述した実施形態では、主に操作部としてマウスを用い、かかるマウスによってワークの稜線の選択操作や入力操作を行う場合を例に挙げたが、これに限られるものではない。たとえば、表示部をいわゆるマルチタッチ対応のタッチパネルなどで構成し、かかるタッチパネルに対するオペレータのマルチタッチ操作によってワークの稜線の選択操作などを行なってもよい。
【０１０９】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【０１１０】
１    ロボットシステム
１０    ティーチングシステム
１１    ティーチング制御装置
１２    表示部
１３    操作部
１４    ジョブ情報ＤＢ
２０    ロボット制御装置
３０    ロボット
３１    基台部
３２    第１アーム
３３    第２アーム
３４    手首部
３５    エンドエフェクタ（溶接トーチ）
４０    ポジショナ
４１    基台部
４２    載荷台
１１１    制御部
１１１ａ  画像生成部
１１１ｂ  表示制御部
１１１ｃ  操作受付部
１１１ｄ  溶接線生成部
１１１ｅ  水平維持演算部
１１１ｆ  シミュレート指示部
１１１ｇ  ジョブ生成部
１１２    記憶部
１１２ａ  モデル情報
１１２ｂ  教示点情報
１２０    表示ウィンドウ
１２１    仮想画像領域
１２２    ボタン
１２３    ダイアログボックス
１２３ａ  ボタン
Ｂ      軸
ＥＸ１  軸
ＥＸ２  軸
Ｌ      軸
Ｒ      軸
Ｓ      軸
Ｔ      軸
ＴＰ、ＴＰ１〜ＴＰ３  目標点
Ｕ      軸
Ｗ      ワーク
ｒ１、ｒ２  稜線
ｔ      ベクトル方向
ｔ１〜ｔ３  接線方向
θ１    傾斜角
θ２    回転角
【図１】
2014161922.tif 000003
【図２】
2014161922.tif 000004
【図３】
2014161922.tif 000005
【図４Ａ】
2014161922.tif 000006
【図４Ｂ】
2014161922.tif 000007
【図５Ａ】
2014161922.tif 000008
【図５Ｂ】
2014161922.tif 000009
【図５Ｃ】
2014161922.tif 000010
【図５Ｄ】
2014161922.tif 000011
【図６Ａ】
2014161922.tif 000012
【図６Ｂ】
2014161922.tif 000013
【図６Ｃ】
2014161922.tif 000014
【図６Ｄ】
2014161922.tif 000015
【図６Ｅ】
2014161922.tif 000016
【手続補正書】
【提出日】平成25年10月21日(2013.10.21)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2014161922.tif 000017
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2014161922.tif 000018