(57)【要約】【課題】本発明は、組立作業用ロボットに対する組立作業の教示を自動で行う自動教示システムを提供することを目的とする。【解決手段】  複数ワークの組立作業手順を組立作業用ロボットに教示する教示システムを対象に、ワークの単体情報であるワーク情報（ワーク内オブジェクト情報を含む）（D1）、複数のワークの組み合わせである組立ワークセットの相互配置情報（D2）、及び組立補足情報（D3）を格納する格納手段（１）と、上記組立ワークセットの内、所定の種類の組み合わせからなる複数のワークの集合で且つ各々のワークがワーク領域に所定の状態に並べられた組立ワークセットの組立作業内容を、上記ワーク情報、上記相互配置情報、及び上記組立補足情報を基に決定する決定手段（２）と、上記組立作業内容（D4）を上記組立作業用ロボットの組立作業手順（D5）に変換する変換手段（３）と、を構成する。【選択図】  図１
2008009899.tif 000002
【特許請求の範囲】
【請求項１】
複数ワークの組立作業手順を組立作業用ロボットに教示するシステムであって、
ワークの単体情報であるワーク情報、複数のワークの組み合わせである組立ワークセットの相互配置情報、及び組立補足情報を格納する格納手段と、
上記組立ワークセットの内、所定の種類の組み合わせからなる複数のワークの集合で且つ各々のワークがワーク領域に所定の状態に並べられた組立ワークセットの組立作業内容を、上記ワーク情報、上記相互配置情報、及び上記組立補足情報を基に決定する決定手段と、
上記組立作業内容を上記組立作業用ロボットの組立作業手順に変換する変換手段と、
を有することを特徴とする自動教示システム。
【請求項２】
上記ワーク領域に置かれた各ワークの種類を認識する第一の認識手段を更に有し、
上記決定手段は、上記相互配置情報がある全ての組立ワークセットを範囲として、上記第一の認識手段により認識された種類のワークからなる組立ワークセットの組立作業内容を上記ワーク情報、上記相互配置情報、及び上記組立補足情報を基に決定する、
ことを特徴とする請求項１に記載の自動教示システム。
【請求項３】
上記ワーク領域に置かれた各ワークの状態を認識する第二の認識手段を更に有し、
上記変換手段は、上記ワーク領域からの上記組立作業用ロボットによるワーク取得の動作手順を上記第二の認識手段により認識された各ワークの状態を基準に求めるようにして、上記組立作業内容を上記組立作業用ロボットの組立作業手順に変換する、
ことを特徴とする請求項２に記載の自動教示システム。
【請求項４】
上記組立作業用ロボットのハンド部に撮像手段を更に有し、
上記第一の認識手段は、上記撮像手段で得られた画像情報を基に、ワーク領域に置かれた複数のワークの種類を認識し、
上記第二の認識手段は、上記撮像手段で得られた画像情報及び上記組立作業用ロボットのハンド部の状態情報を基に、ワーク領域上の各ワークの状態を認識する、
ことを特徴とする請求項３に記載の自動教示システム。
【請求項５】
更に、
上記ワーク情報及び上記組立ワークセットの相互配置情報をCADデータから抽出して上記格納手段に与える抽出手段と、
上記組立補足情報を上記格納手段に入力する入力手段と、
を有することを特徴とする請求項１から４の内の何れか一つに記載の自動教示システム。
【請求項６】
上記組立補足情報は、ワークの組み合わせを示す情報とそれらのワークの組み合わせでワーク間結合に使用する手段の情報とを対応付けた結合手段選択補足情報、及び、ワーク情報と該ワークをハンドリングする手段の情報とを対応付けたハンドリング手段選択補足情報であり、
上記決定手段は、少なくとも、上記認識された各ワークの種類の組み合わせに基づいて上記結合手段選択補足情報の中からワーク間結合手段を選択し、該選択されたワーク間結合手段に基づいて上記ハンドリング手段選択補足情報の中から使用工具及びエンドエフェクタを選択する、
ことを特徴とする請求項１から５の内の何れか一つに記載の自動教示システム。
【請求項７】
上記組立作業内容には、組立ワークセットに含まれている各ワークの組立順序、該各ワークの組立方向、該各ワーク間の結合手段、及び、上記組立ワークセットを組み立てるときの使用工具及びエンドエフェクタが含まれ、
上記組立作業手順には、上記使用工具及びエンドエフェクタの交換、及び、上記組立ワークセットの全てのワークを範囲とした、各ワークの、ワーク領域と作業領域間の組立作業用ロボットによる一連の組立動作手順が含まれる、
ことを特徴とする請求項１から６の内の何れか一つに記載の自動教示システム。
【請求項８】
複数ワークの組立作業手順を組立作業用ロボットに教示する方法であって、
ワークの単体情報であるワーク情報、複数のワークの組み合わせである組立ワークセットの相互配置情報、及び組立補足情報をメモリに記憶させ、
上記組立ワークセットの内、所定の種類の組み合わせからなる複数のワークの集合で且つ各々のワークがワーク領域に所定の状態に並べられた組立ワークセットの組立作業内容を、上記ワーク情報、上記相互配置情報、及び上記組立補足情報を基に決定し、
上記組立作業内容を上記組立作業用ロボットの組立作業手順に変換する、
ことを特徴とする教示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数ワークの組立作業手順をロボットに教示するためのシステムとその方法に関する。
【背景技術】
【０００２】
従来より、複数のワーク（部品）を一つに自動的に組み立てる装置として組立作業用ロボットが使用されている。この組立作業用ロボットには、例えばその用途に応じて様々な動きを可能にする複数関節を備えた多関節ロボットなどがあり、このような組立作業用ロボットはその組立動作を予め教示しておくことにより利用される。
【０００３】
この組立作業用ロボットによる複数ワークの組み立ては、オペレータが、予め、組立に使用するワークの置き場（ワーク領域）に置かれた一つ一つのワークを対象に、ワーク領域からのワークの拾い上げや組立て作業を行う場所（作業領域）での組立の流れをロボットに教示しておくことにより、その手順で実施される。具体的に例を挙げるならば、組立順番にワークを取得していくワーク取得動作や、取得したワークを作業領域に配置する際の、他のワークとの相互配置関係に従った配置動作や、各ワーク間を結合する際の使用工具やエンドエフェクタの指定及びそれを使用したときの動作などをロボットに教示しておく。
【０００４】
この教示作業は、一般的に手間のかかるもので、現場で教示作業を行うダイレクトティーチングで教示作業を行うときには、その作業中、生産ラインを一時的に止める必要が生じる。そのため、現実の生産ラインの環境をコンピュータ上に作り上げ、現実の教示作業と同様な操作をそのコンピュータ上でシミュレーションできるようにしたオフラインティーチングが登場してきた。このオフラインティーチングの登場が、生産ラインを止めることなく教示作業を行うことを可能にした。
【０００５】
このオフラインティーチング技術を利用したものの内、現実の作業を更に簡略化させた技術がある。モニタ画面上のワークの輪郭をなぞることで教示作業を完了するオフライン教示装置である。このオフライン教示装置は、モニタ画面に表示された加工対象のワークの輪郭をマウスでなぞり、そのなぞられた位置と順番をそのマウスを通じてデータ入力させることにより、予め決められた動作を行う装置においてその入力された位置と順番による加工動作を可能にしている（特許文献１）。
【特許文献１】特開平10-58363号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、教示作業を行う技術の一つに、オフラインティーチングが登場してきた。
しかし、通常のオフラインティーチングは、現実の環境をコンピュータ上に構築しただけのものであるため、ロボットを動かすときなどの動作スピードは速まるがその教示作業手順はダイレクトティーチングと略変わらない要領で行われ、教示作業に人の手が多く介在することになる。
【０００７】
また、上述の特許文献にある装置は、特に面取りを行うワークの位置やその面取りの順番の指定をモニタ画面上のマウス操作で行い、その指定どおりの加工を予め決められた単純な動作を行う専用の加工装置に教示する自動化装置である。このため、より汎用的に用いられ且つ複雑な動作が要求されるような装置の教示作業、例えばワークの種類に応じて複数動作を任意に組み合わせて該ワークの組立を実行しなければならない組立作業用ロボットなどの教示作業には、不向きである。
【０００８】
そこで本発明は、複数動作を任意に組み合わせて動作させる組立作業用ロボットへ組立用の複数のワークの組み合わせに対応した組立作業の教示を自動で行う自動教示システム、及びその教示方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は上記課題を解決するために以下のように構成する。
本発明の自動教示システムの態様の一つは、複数ワークの組立作業手順を組立作業用ロボットに教示することを前提に、ワークの単体情報であるワーク情報（ワーク内オブジェクト情報を含む）、複数のワークの組み合わせである組立ワークセットの相互配置情報、及び組立補足情報を格納する格納手段と、上記組立ワークセットの内、所定の種類の組み合わせからなる複数のワークの集合で且つ各々のワークがワーク領域に所定の状態に並べられた組立ワークセットの組立作業内容を、上記ワーク情報、上記相互配置情報、及び上記組立補足情報を基に決定する決定手段と、上記組立作業内容を上記組立作業用ロボットの組立作業手順に変換する変換手段と、を有する。
【００１０】
なお、上記構成を前提に、上記ワーク領域に置かれた各ワークの種類を認識する第一の認識手段を更に有し、上記決定手段は、上記相互配置情報がある全ての組立ワークセットを範囲として、上記第一の認識手段により認識された種類のワークからなる組立ワークセットの組立作業内容を上記ワーク情報、上記相互配置情報、及び上記組立補足情報を基に決定する、ように構成することが好ましい。
【００１１】
また、この構成では、上記ワーク領域に置かれた各ワークの状態（位置及び姿勢）を認識する第二の認識手段を更に有し、上記変換手段は、上記ワーク領域からの上記組立作業用ロボットによるワーク取得の動作手順を上記第二の認識手段により認識された各ワークの状態を基準に求めるようにして、上記組立作業内容を上記組立作業用ロボットの組立作業手順に変換する、ように構成することがより好ましい。
【００１２】
また、以上の構成では、上記組立作業用ロボットのハンド部に撮像手段を更に有し、上記第一の認識手段は、上記撮像手段で得られた画像情報を基に、ワーク領域に置かれた複数のワークの種類を認識し、上記第二の認識手段は、上記撮像手段で得られた画像情報及び上記組立作業用ロボットのハンド部の状態情報を基に、ワーク領域上の各ワークの状態（位置及び姿勢）を認識する、ように構成することが望ましい。
【００１３】
また、以上の各構成では、更に、上記ワーク情報及び上記組立ワークセットの相互配置情報をCADデータから抽出して上記格納手段に与える抽出手段と、上記組立補足情報を上記格納手段に入力する入力手段と、を有するように構成しても良い。
【００１４】
また、以上の各構成において、上記組立補足情報は、ワークの組み合わせを示す情報とそれらのワークの組み合わせでワーク間結合に使用する手段の情報とを対応付けた結合手段選択補足情報、及び、ワーク情報と該ワークをハンドリングする手段の情報とを対応付けたハンドリング手段選択補足情報であり、上記決定手段は、少なくとも、上記認識された各ワークの種類の組み合わせに基づいて上記結合手段選択補足情報の中からワーク間結合手段を選択し、該選択されたワーク間結合手段に基づいて上記ハンドリング手段選択補足情報の中から使用工具及びエンドエフェクタを選択する、ように構成することが好ましい。
【００１５】
また、以上の各構成において、上記組立作業内容には、組立ワークセットに含まれている各ワークの組立順序、該各ワークの組立方向、該各ワーク間の結合手段、及び、上記組立ワークセットを組み立てるときの使用工具及びエンドエフェクタが含まれ、上記組立作業手順には、上記使用工具及びエンドエフェクタの交換、及び、上記組立ワークセットの全てのワークを範囲とした、各ワークの、ワーク領域と作業領域間の組立作業用ロボットによる一連の組立動作手順が含まれる、ことが好ましい。
【００１６】
本発明の教示方法の態様の一つは、複数ワークの組立作業手順を組立作業用ロボットに教示することを前提に、ワークの単体情報であるワーク情報、複数のワークの組み合わせである組立ワークセットの相互配置情報、及び組立補足情報をメモリに記憶させ、上記組立ワークセットの内、所定の種類の組み合わせからなる複数のワークの集合で且つ各々のワークがワーク領域に所定の状態に並べられた組立ワークセットの組立作業内容を、上記ワーク情報、上記相互配置情報、及び上記組立補足情報を基に決定し、上記組立作業内容を上記組立作業用ロボットの組立作業手順に変換する、ようにする。
【００１７】
本発明では、組立補足情報を構成すると共に組み立てに必要とされる一連の組立作業内容を自動で決定できるようにした。そして、この決定した組立作業内容を、ロボットが可能な部分動作を任意に組み合わせて組立作業用ロボットの組立作業手順に変換させている。このため、組立ワークセットに応じた組立動作を自動でロボットに教示できる。
【発明の効果】
【００１８】
本発明により、組立用のワークの組み合わせに応じた組立動作を自動でロボットに教示できるようになる。このため、オペレータによる教示作業が大幅に短縮されるようになる。
【００１９】
更に、ワーク領域に置かれたワークの種類及び状態を認識できる構成とした場合は、ワークがワーク領域内にランダムに置かれた場合であっても、それらのワークを自動的に見極め、それらの組立動作をロボットに対して自動で教示できるようになる。このため、任意の組み合わせのワークよりなる組立ワークセットの教示作業を全自動化でき、多品種小ロットの製品を頻繁に入れ替えして組立てるような場合や、飛び込みで入ってきた製品を生産途中に入れ替えして組立てる場合などにおいて、スムーズに組立動作の変更が可能となり、生産効率を高めることができるようになる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を実施するための最良の形態について、図面を参照しながら詳細に説明する。
本発明に係る自動教示システムは、組立作業用ロボットを教示の対象とする。代表的な組立作業用ロボットの例としては、複数関節をもつ多関節ロボットがある。この多関節ロボットによる一連の動作では、複数のワーク（部品）が置かれたワーク領域からそれらのワークを拾い上げ、ワーク領域とは異なる作業領域でそれらの組立を行う。
【００２１】
以下では、製品を構成する主要部品や接続用部品（例えばネジなど）などのワークが任意に寄せ集められてなる組立ワークセットの組立作業手順をロボットへ自動教示するための自動教示システムについて説明する。
【００２２】
図１は、本発明に係る自動教示システムの要部を示したものである。
同図の格納手段1は、各ワーク単体の形状情報や材質情報などの一般情報や例えばビス穴などのような該ワーク単体に特有の構成情報（オブジェクト情報）などを含むワーク情報D1と、複数のワークの組み合わせである組立ワークセットの、例えば組立てを行うワークの順番やワーク間の相互の組立位置などを示す相互配置情報D2と、そして、ワーク間の結合手段（例えばビス止めや、接着固定など）や使用工具などの決定に必要な情報を含む組立補足情報D3とを格納している。
【００２３】
上記図１の決定手段2は、上記組立ワークセットの内の、予め決めておいた種類のワークの組み合わせ又は外部入力により特定されたワークの組み合わせでなる複数のワークの集合で且つそれぞれのワークが上記ワーク領域に所定の状態で並べられた（例えば、それぞれ正立させて所定位置に置いた状態の）組立ワークセットの組立作業内容を決定する。上記ワーク情報D1、上記相互配置情報D2、及び上記組立補足情報D3には、組立ワークセットに含まれている各ワークをロボットで順次組立てていくために必要な一連の情報（例えば、各ワークをどの順番でどのような位置に相互配置し、そしてどのような結合手段でどのような工具を使用して結合するかなどを、論理だてて決めるための情報）が含まれている。このため、上記決定手段2では、上記ワーク情報D1、上記相互配置情報D2、及び上記組立補足情報D3を基に、例えば組立ワークセットに含まれている各ワークの組立順序、該各ワークの組立方向、該各ワーク間の結合手段、及び、上記組立ワークセットを組み立てるときのエンドエフェクタ（及び使用工具）などの一連の組立作業内容を論理だてて構成でき、組立作業内容決定情報D4を作成することができる。
【００２４】
上記図１の変換手段3は、上記確定した組立作業内容の情報D4を、組立作業用ロボットがスムーズに動作できる組立作業手順情報D5に変換する。ここでは、組立作業用ロボットにおいて可能な部分動作の命令を適切な順番に整列し、上記組立作業内容をその命令の系列情報へと変換していく。なお、エンドエフェクタの交換や工具が必要な場合は、上記系列情報の適切な位置にその命令を加えていく。
【００２５】
上記各手段1、2、3は、格納手段1には上記各情報D1,D2,D3の記憶領域を割り当てたROM（Read Only Memory）やRAM（Random Access Memory）などのメモリ、決定手段２及び変換手段3には上述の機能を実現するアルゴリズムを組み込んだASICや或いはこれに対応したプログラムの実行が可能なように構成された汎用コンピュータを上記メモリとバス接続させるなどして構成できる。そして、例えば不図示の入力手段などから上記処理の開始信号を入力することにより上記教示処理を開始し、上記変換手段3から、組立作業用ロボットが実行する組立作業手順情報（命令プログラム）D5を出力させる。この命令プログラムを通信または可搬型記録媒体を介して組立作業用ロボットの制御部へ登録されるようにしておけば、組立作業用ロボットに対するその組立ワークセットの組立動作の教示を自動的に完了することができる。
【００２６】
以上のように、本自動教示システムは、組み立てに必要となる全ての組立作業内容を自動決定し、この組立作業内容を組立作業用ロボットの組立作業手順に自動変換することができる。これにより、組立ワークセットに応じた組立動作を自動でロボットに教示できる。
【００２７】
このように、本自動教示システムは、組立用のワークの種類に応じた組立動作を自動でロボットに教示できるため、オペレータによる教示作業が大幅に短縮されるようになる。
なお、以上では、組立ワークセットに含まれているワークの種類を予め決めておく（又は例えばキーボードなどから外部入力してワークの種類を特定させる）ようにした構成を示した。しかし、更に認識手段を構成するなどしてワーク領域に置かれた組立ワークセットの各ワークの種類を自動認識できるように構成しても良く、この場合であれば、ワーク領域に複数のワークを任意の組み合わせでランダムに置いた場合であっても、それらのワークを自動的に見極め、それらの組立動作をロボットに対して全自動で教示できるようになる。この構成とした場合、多品種小ロットの製品を頻繁に入れ替えして組立てるような場合や、飛び込みで入ってきた製品を生産途中に入れ替えして組立てる場合などにおいて、スムーズに組立動作の変更が可能となり、生産効率を高めることができるようになる。
（実施例１）
本実施例では、多関節を備えた関節ロボットへ組立作業手順を全自動で教示する全自動教示システムを示す。
【００２８】
図２は、本実施例における全自動教示システムの全体構成図である。
本全自動教示システム５には、ワークの設計情報を記憶した３D−CAD装置５０、多関節を備えた関節ロボットで構成されている組立作業用ロボット５１、組立作業用ロボットに組立動作を教示する教示装置５２が構成されている。
【００２９】
３D−CAD装置５０は、各ワーク単体の形状情報や材質情報や更にそのワークに構成されている例えばビス穴などのオブジェクト情報などからなるワーク情報、及び、組立ワークセットの、例えば組立て時の組立順番やワーク間の相互の組立位置などの情報からなる相互配置情報を含む、ワーク一般の設計情報（CADデータ）D6を記憶している。
【００３０】
組立作業用ロボット５１は、多関節（本例では３つの関節）を備えたアーム５１０とその先端（ハンド部）にエンドエフェクタを装着するための装着部５１２とロボット制御装置５１４とを備えた関節ロボットである。このロボットは、各関節点に複数のモータ（サーボモータやステッピングモータなど）を内蔵し、関節点から先端方向のアームをアーム軸中心に３６０度回転自在且つ各関節点で屈曲動作自在に構成されている。上記の各モータは、その組立作業用ロボット５１のロボット制御装置５１４と信号線５１６−１で接続されており、ロボット制御装置５１４から制御信号を送信することにより上記モータを回転駆動させて、アーム先端の位置や向きや進行方向等の動作を適宜変える。この制御信号は各モータのフィードバック信号から求まるハンド部の位置或いは姿勢などの状態を基準にそのハンド部を目標状態に制御する正回転や逆回転及び回転角を示す信号である。組立作業用ロボット５１は、３つの関節を備えていることにより、その作業空間内において様々な動きが可能である。
【００３１】
本例では、このアーム先端（ハンド部）に更に、CCD（Charge Coupled Device）などの撮像素子を備えた従来型のカメラ（撮像カメラ）５１８が取り付けられている。この撮像カメラ５１８は、アーム先端の向き（つまり、アーム先端の回転軸方向）と撮像カメラの光軸の向きとが一致するようにアーム先端に固定され、信号線５１６−２により上記ロボット制御装置５１４と接続されている。
【００３２】
上記ロボット制御装置５１４は、予め登録されている命令プログラムや外部から取り込まれた命令プログラムを内蔵コンピュータで順次実行させるなどして組立作業用ロボット５１の動作を制御する。また、本例のロボット制御装置５１４には、ワーク認識命令の入力を受けるとワーク領域上のワークを上記撮像カメラで所定手順で多方向から撮影する機能が内蔵されている。ロボット制御装置５１４は、そのワーク認識命令を受けると、組立作業用ロボット５１のアーム５１０を動作させ、そのワーク領域を撮影範囲として例えばそのワーク領域内の所定位置に対して上方から、角度４５度の方向から、側方から、正面の方向から、という具合に所定の順序及び配置で多方向から撮像カメラ５１８を向ける。ロボット制御装置５１４は、各向きに撮像カメラ５１８が配置されたときのそれぞれのタイミングで撮像カメラ５１８を動作させて撮像カメラ５１８から画像信号を受信し、受信した画像信号を不図示の信号線を介して教示装置５２へ転送する。
【００３３】
教示装置５２は、抽出手段５２０、入力手段５２１、格納手段５２２、決定手段５２３、変換手段５２４、画像処理手段５２５、及び多方向撮影指示手段５２６を備え、上記ロボット制御装置５１４に組立動作を教示する。
【００３４】
同図の構成は、教示装置５２に搭載されているシステムボードを手段分けして示した図であり、このシステムボードは、ROM（Read Only Memory）やRAM（Random Access Memory）などのメモリや、後述のアルゴリズム（組立作業手順算出シーケンスなど）を組み込んで形成したASICや或いはこれに対応した機能を実現するプログラムの実行が可能なように構成された汎用コンピュータを上記メモリとバス接続させるなどして構成されたものである。
【００３５】
上記格納手段５２２は、ワーク情報（ワーク内オブジェクト情報も含む）D1、相互配置情報D2、及び組立補足情報D3の記憶領域M1,M2,M3が割り当てられたROMやRAMなどのメモリであり、それらの各種情報を記憶する。ここに記憶される情報の内、ワーク情報D1及び相互配置情報D2は、３D−CAD装置５０に格納されているCADデータ（設計情報）D6の中から上記抽出手段５２０を介して抽出して、格納手段５２２に与える（記憶させる）。例えば、CADデータD6を不図示の信号ケーブルを介して取得して、CADデータD6から必要な情報のみ抽出し、そして、後述の決定手段５２３での読み取りが可能なフォーマットにして所定の記憶領域M1,M2に記憶させる。
【００３６】
また、組立補足情報D3は、所定の記憶領域M3に上述のフォーマットで予め記憶させておいても良いし、或いは、例えばキーボードなどが接続された入力手段５２１を介して（或いは記憶媒体から読込ませるなどして）メモリの所定領域M3へ上述のフォーマットで記憶させるようにしても良い。
【００３７】
本例の場合、上記組立補足情報D3は、ワークの組み合わせを示す情報とそれらのワークの組み合わせのときにワーク間結合に使用する手段（ネジ止めや接着固定など）の情報とを対応付けた結合手段選択補足情報と、ワーク情報と該ワークをハンドリングする手段（エンドエフェクタや使用工具など）の情報とを対応付けたハンドリング手段選択補足情報とで構成されている。上記結合手段選択補足情報はワーク間の結合手段を決定するために利用され、上記ハンドリング手段選択補足情報はロボットが装着するエンドエフェクタや使用工具を決定するために利用される。
【００３８】
上記画像処理手段５２５は、ワーク領域に置かれた各ワークの種類を画像解析により認識する第一認識手段５２５−１と、そのワーク領域に置かれた各ワークの状態（位置及び姿勢）を画像解析により認識する第二認識手段５２５−２で構成されている。上記各認識手段には撮影カメラ５１８で撮影した画像の信号が不図示の信号線を介してロボット制御装置５１４から転送され、第一認識手段５２５−１はその画像信号を基にワークの種類を認識し、そのワークの種類を示す情報をデータバスを介して決定手段５２３に転送する。また、第二認識手段５２５−２は上記画像信号とこれと共にロボット制御装置５１４から送信される撮影カメラの位置信号（ロボットのハンド部の位置信号）を基にワークの状態を認識し、そのワークの状態を示す情報をデータバスを介して変換手段５２４に転送する。
【００３９】
上記決定手段５２３は、格納手段５２２に格納されているワーク情報（ワーク内オブジェクト情報も含む）D1、相互配置情報D2、及び組立補足情報D3を利用することにより、第一認識手段５２５−１で認識された種類のワークからなる組立ワークセットの組立作業内容を決定する。この場合、相互配置情報D2がある全ての組立ワークセットを範囲に上記組立作業内容が決定される。
【００４０】
上記変換手段５２４は、決定手段５２３で決定した組立作業内容の情報（組立作業内容決定情報）D4を、組立作業用ロボット５１がスムーズに動作できる組立作業手順情報D5に変換して、ロボット制御装置５１４へ不図示の信号線を介して出力する。本例の変換処理では、ワーク領域からの組立作業用ロボット５１によるワーク取得の動作手順を上記第二認識手段５２５−２により認識された各ワークの状態を基準に求め、組立作業用ロボット５１において可能な部分動作の命令を適切な順番に整列しながら上記組立作業内容をそれらの命令からなる系列情報へと変換していく。なお、エンドエフェクタの交換や工具が必要な場合は、上記系列情報の適切な位置にその命令を加えていく。
【００４１】
上記多方向撮影指示手段５２６は、ロボット制御装置５１４に不図示の信号線を介してワーク認識命令を送信する。ここは例えばキーボードなどのユーザインタフェースから所定の入力を受けるとロボット制御装置５１４に上記ワーク認識命令を送信する。また、ワーク領域にセンサを設置しておき、ワーク領域上に組立ワークセットなどの物体が置かれたことをそのセンサで検知したときに、その多方向撮影指示手段５２６によりロボット制御装置５１４へワーク認識命令を送信させるようにしても良い。
【００４２】
以下、組立ワークセットの一例を挙げて、上記全自動教示システムの動作説明を行う。
図３は、組立ワークセットの一例である。
後述の説明で、同図に示すワークA、ワークB、及びワークCで組み合わされた組立ワークセットを例に挙げて、組立作業用ロボットへの教示方法を詳しく述べる。
【００４３】
ワークAは、ビス穴が２つ構成された留め台（トメダイ）である。このビス穴はワークAのAX面上の位置H1に形成されている。ワークBは、ビス用の貫通孔が２つ構成された留め金具（トメカナグ）である。この貫通孔はワークBの上面（BX面）から下面（BY面）に貫通している。ワークCは、２つのビス（ビスC１及びビスC2）である。このワークCは、頭の下面（CY面）から締め付け部が突出している。この組立ワークセットでは、ワークA及びワークBが主要部品で、ワークCが接続部品に相当する。
【００４４】
図４から図６は、上記格納手段５２２に格納された各種情報D1、D2、D3のデータフォーマット例である。
図４は、ワーク情報D1の内容を表形式で示した図であり、同図（a）にその一般情報を示し、同図（ｂ）にそのオブジェクト情報を示している。
【００４５】
各図では、そのデータ構成がわかりやすいように、左にそのデータを構成するデータ項目を並べ、右にこのデータ項目に含まれるデータの内容を示している。
なお、同図（a）のデータ例においては、そのデータが対応するワークを、直ぐ右隣にワーク記号を記して表わすことにしている。
【００４６】
また、同図（ｂ）のオブジェクト情報は、ワークAに付属する情報である。
図５は、相互配置情報（アセンブリ情報）D2の内容を表形式で示した図である。
同図も図４と同様に、そのデータ構成がわかりやすいように、左にそのデータを構成するデータ項目を並べ、右にこのデータ項目に含まれるデータの内容を示している。
【００４７】
本相互配置情報D2は、ワークA、ワークB、及びワークCとなるビスCの間で成立するものであり、同図のデータ項目の「組立順序」や「組付位置」や「公差」の内容からも分かるように、それぞれが相互に配置されるときの特有の制限情報が記述されている。
【００４８】
図６は、組立補足情報D3の内容を表形式で示した図である。
同図（a）には結合手段選択補足情報が示されている。そして、ハンドリング手段選択補足情報として、同図（ｂ）にエンドエフェクタ選択補足情報、同図（ｃ）に使用工具選択補足情報が示されている。
【００４９】
同図（a）の結合手段選択補足情報では、左の欄に選択対象となる結合手段の種類を示し、その右の欄にその結合手段の詳しい結合方法及びその結合手段を選択する場合の条件を列記した。
【００５０】
同図（ｂ）のエンドエフェクタ選択補足情報では、左の欄に選択対象となるエンドエフェクタ名を示し、その右の欄にそのエンドエフェクタを選択する場合の条件となる仕様を列記した。
【００５１】
同図（ｃ）の使用工具選択補足情報では、左の欄に選択対象となる使用工具名を示し、その右の欄にその使用工具を選択する場合の条件（本例では結合手段及び使用部品）を列記した。
【００５２】
図７は、上記構成下で行われる本自動教示システムの教示方法の一例を示した図である。
キーボードなどの入力装置（入力手段）５２１からの入力により組立補足情報D3を格納手段５２２としてのメモリの所定の記憶領域M3に格納し、及びCAD装置５０の設計情報D6からワーク情報D1と相互配置情報D2とを抽出してメモリの所定領域M1,M2に格納した状態で、本自動教示システムにおける処理を開始する。
【００５３】
先ず、ワーク領域上に組立に必要なワークのセット（組立ワークセット）をランダムに配置し、センサ検知又は外部入力指示により多方向撮影指示手段５２６を介してワーク認識命令信号をロボット制御装置５１４へ送信させるなどして、撮像カメラ５１８による多方向撮影を実行させて画像信号を画像処理手段５２５に取り込み、その画像を画像解析する（S1）。この画像解析では、第一認識手段５２５-１では、各ワークの外形形状を示すエッジを画像から抽出して、各ワークの一つ一つに対し、上記メモリに格納されたワーク情報D1中の適合するワークの種類を形状マッチングで選択して、その選択された種類ごとに統計をとり、その画像中に含まれている各ワークの種類及び各種の数を求める。また、第二認識手段５２５-２では、第一認識手段５２５-１で得られた種類の各ワークがどのような状態にあるか（ワーク領域中でどのような位置及び姿勢にあるか）を求める。そのうちのワーク領域内におけるワークの位置は、例えばワーク領域中の所定の座標に所定のマークを付けておき、ワーク領域中の各ワークをそのマークと共に画像に取り込むようにするなどして、そのマークを基準に画像解析でワーク位置を特定させれば良い。また、姿勢は、第一認識手段５２５-１で認識された種類のワークのエッジがその画像中でどのような配置（傾きなど）をとっているかなどを解析して求めれば良い。以上の画像解析では、取り込んだ複数画像の内の各画像から個別にワーク領域内の上記ワークの情報を求めることができ、一枚の画像から上記ワークの情報が得られない場合は、その他の方向から撮影された他の画像の利用により、上記ワークの情報を得る事ができる。またこれら複数の画像を使用することにより正確に上記ワークの情報を得る事ができるようになる。この場合、撮影する方向により各ワークの写り込み方が異なるため、組立作業用ロボット５１の撮影時のハンド位置をロボット制御装置５１４から取得して各画像の撮影方向を特定するようにして画像解析を行う。
【００５４】
次に、第一認識手段５２５-１で特定されたワークの組み合わせを対象に、メモリ５２２に格納されている各種情報（ワーク情報D1、相互配置情報D2、及び組立補足情報D3）を使用して組立作業内容を決定手段で決定する（S2）。
【００５５】
図８は、その組立作業内容を決定するときの処理フローである。
ここでは、図３の組立てワークセットを例に説明する。
先ず、第一認識手段５２５-１で特定された組立ワークセットに接続部品が含まれているか否かチェックする（S2-1）。第一認識手段５２５-１ではワークA、ワークB、ワークCが認識されるため、決定手段５２３は、ワーク情報D1内の上記各ワークの情報を検索し、それらのワークに接続部品（例えばビスやネジやシール、或いは接着指定された部品などがその接続部品のグループに属する）が含まれているか否かを調べる。本例の組立ワークセットではビスが含まれているため、接続部品ありと判定される。
【００５６】
そして、接続部品があった場合、結合手段選択補足情報の条件を参照し、その条件に適合する結合手段を選択する（S2-2）。本例では、接続部品がビスであるため、図６（a）の結合手段選択捕捉情報の一列目に記載の条件「使用部品にビスがある」に合致する。これに対応する結合手段「ビス締め」が当てはまるには、更にその条件である「使用部品にビス穴がある」を満たさなければならなので、第一認識手段５２５-１で特定された組立ワークセットのワーク情報に「ビス穴有り」の部品があるか否かを更にチェックする。本例の組立てワークセットでは、ワークAのオブジェクト情報に「ビス穴有り」の情報を有しているため、結合手段「ビス締め」の条件は全て満たされ、ワークCをワークAに結合する手段として「ビス締め」が選択される。
【００５７】
次に、相互配置情報D2の「組立順序」からワークを組立てる順番を示す情報を抽出する（S2-3）。相互配置情報D2が組立ワークセットごとに複数種類ある場合は、第一認識手段５２５-１で認識された組立ワークセットに属する相互配置情報D2から組立順序を示す情報を抽出する。対応する相互配置情報D2の抽出は、例えば各相互配置情報にそれが対応するワークの組み合わせの情報を関連付けておき、第一認識手段５２５-１で得られた全てのワークに属する相互配置情報D2を一つに絞り込めるようにして、そこから組立順序を示す情報を抽出する。
【００５８】
次に上記組立順序でワークを組み立てるときの各ワークの組立方向を決定する（S2-4）。ここでは、相互配置情報D2の「組付位置」に設定されているワークの組立位置に相互にワークを組み合わせたときの組み合わせ面の方向を決定していく。本例ではその組み合わせ面が水平方向に多くなるように組立方向を決定していく。
【００５９】
先ず、１番目及び２番目に組立が行われるワークA及びワークBには、相互配置情報D2の「組付位置」項目に「ワークAのAX面とワークBのBY面が合致」、「ワークAの中心点とワークBの中心点が合致」という二つの条件がある。そこで、そのAX面とBY面とが水平になる向きを組み合わせ面の方向として決定する。
【００６０】
次に、２番目及び３番目に組立が行われるワークB及びビスC1には、相互配置情報D2の「組付位置」項目に「ワークBのBX面とビスCの頭のCY面が合致」、という条件がある。そこで、そのワークBのBX面とビスC1の頭のCY面とが水平になる向きを組み合わせ面の方向として決定する。
【００６１】
次に、４番目に組立が行われるビスC2には、相互配置情報D2の「組付位置」項目に「ワークBのBX面とビスCの頭のCY面が合致」、という条件がある。そこで、そのワークBのBX面とビスC2の頭のCY面とが水平になる向きを組み合わせ面の方向として決定する。
【００６２】
次に、上記決定された結合手段で接続部品を接続するために使用する使用工具を決定する（S2-5）。ここでは、決定した結合手段及びその結合に使用される接続部品（使用部品）をキーに工具選択補足情報から対応の使用工具を抽出する。本例の場合、結合手段として「ビス締め」が選択され且つ使用部品は「ビス」であるため、工具選択捕捉情報において「ビットCのドライバ」が選択されることになる。
【００６３】
次に、エンドエフェクタを選択する（S2-6）。第一認識手段５２５-１で特定された組立ワークセットの各ワークごとに、ワーク情報D1から「形状」、「材質」、「質量」、「表面粗さ」、「表面処理」等の所定情報を抽出し、エンドエフェクタ選択補足情報の「仕様」に適合するエンドエフェクタを選択する。なお、ステップS2-5で使用工具が抽出されたワークについては、この使用工具に対応する「形状」、「材質」、「質量」、「表面粗さ」、「表面処理」等の所定情報を不図示の工具情報テーブルから抽出し、エンドエフェクタ選択補足情報の「仕様」に適合するエンドエフェクタを選択する。
【００６４】
図９は、上記組立作業内容を決定するフローで選択及び抽出された作業内容情報の管理テーブルの一例である。
本例では、ワークA、ワークB、ビスC1、及びビスC2からなる組立ワークセットの作業内容情報が示されている。これらの情報を用いれば、組立作業用ロボット５１にその組立ワークセットを組み立てさせる動作手順をコンピュータ上で論理的に決定できる。
【００６５】
ここで図７のフローに戻り、組立作業用ロボット５１に上記組立ワークセットを組み立てさせる動作手順をコンピュータ上で決定する処理を説明する。
上記ステップS2に続く処理では、上記組立作業内容情報を組立作業用ロボット５１の組立作業手順情報へ変換する（S3）。本例では、第二認識手段５２５-２で得られたワークの状態情報をそのワークを動かすときの基準にして、それらのワークの取得から組立までのロボットの動作軌跡を順番に決定し、各種のパラメータ情報を取得してロボットに動作を実行させるメインプログラムと共にロボット制御装置５１４へ出力する。
【００６６】
例えば、図９に示す管理テーブルにより、先ず、組立順序パラメータを「１」にセットし、組立作業内容情報の組立順序「１」に該当するワークの座標値（ワーク領域上の座標値）及び姿勢情報（例えば組立て時の接合面のワーク領域上での配置を示す情報）を取得する。
【００６７】
更に、組立順序「１」に該当のエンドエフェクタの形状情報を不図示の情報テーブルから取得し、そのエンドエフェクタを装着してそのワークを取得する動作軌跡（定点からワーク取得位置及びこの位置から定点に戻るまでの各モータの回転情報）と、そのワークを組み立てる動作軌跡（定点から作業領域上の組立位置にワークを置いて定点に戻るまでの各モータの回転情報）を算出して組立作業内容情報に追加する。
【００６８】
また、使用工具がある場合は、ワーク間の結合動作（定点から組立位置に移動して所定の結合動作を行い定点に戻るまでの各モータの回転情報）を算出して組立作業内容情報に追加する。
【００６９】
図１０は、上記メインプログラムの処理工程であり、図１１は、そのメインプログラムが参照するパラメータ情報である。
これらの情報は、ロボット制御装置５１４に出力され、本組立ワークセットの組立作業時に実行される。
【００７０】
先ず、初期化処理を行う（MS1）。この初期化処理では、組立作業用ロボットのハンド部に装着されている使用エンドエフェクタや使用工具を所定の収納場所（チェンジャー）に戻してそのハンド部を定点に移動させる。
【００７１】
次に、組立順序パラメータに「N（N＝1、2、3、4・・・）」をセットする（MS2）。このNは、最初１がセットされ、後述のステップMS-7の終了のたびに１ずつインクリメントされる。
【００７２】
次に、組立順序「N」に対応するエンドエフェクタをチェンジャーでハンド部に装着し、定点に戻る（MS3）。
次に、組立順序「N」の「ワークを取得する動作軌跡」（「ワーク取得の動作軌跡」に相当する）の情報に従ってロボットを駆動することにより、定点からワーク領域に移動してその座標位置でランダムな向き（姿勢）のワークをエンドエフェクタで取得し、そして定点に戻る（MS4）。
【００７３】
次に、組立順序「N」の「ワークを組み立てる動作軌跡」（「ワーク組立の動作軌跡」に相当する）の情報に従ってロボットを駆動することにより、定点から作業領域に移動してその座標位置で組立向き（姿勢）にしてワークを置き、そして定点に戻る（MS5）。
【００７４】
次に、組立順序「N」の「使用工具」に使用工具の情報がある場合、これに対応する使用工具をチェンジャーで装着し、定点に戻る（MS6）。
次に、「結合動作」（「ワーク間結合動作」に相当する）の情報に従ってロボットを駆動することにより、定点から作業領域に移動してワーク間の結合を行い、そして定点に戻る（MS7）。
【００７５】
そして、ステップMS-2の処理に戻り、上記同様に処理を繰り返す。
本例では、組立順序「４」までの処理が繰り返される。そして、ステップMS6およびMS7の処理は、組立順序「３」と「４」のときのみ実行され、その他では省略される。
【００７６】
図１２は、上記組立作業手順で組立ワークセットが組み立てられる様子を順に図示したものである。
同図（a）は、組立順序「１」のときの、ステップMS-5の処理後の様子である。同図に示されるように、ワークAが作業領域の座標位置に組立向き（姿勢）にして、AX面を上面にして配置される。
【００７７】
同図（ｂ）は、組立順序「２」のときの、ステップMS-5の処理後の様子である。同図に示されるように、ワークBがワークAのAX面上にBX面を合わせて配置される。
同図（ｃ）は、組立順序「３」のときの、ステップMS-5の処理途中の様子である。同図に示されるように、ワークAのビス穴にビスC1が挿入される。
【００７８】
同図（ｄ）は、組立順序「４」のときの、ステップMS-7の処理後の様子である。同図に示されるように、ワークAの二つのビス穴にワークBの貫通孔を介してビスC1及びビスC2がビス締めされ、本組立ワークセットの組立てが完了する。
【００７９】
以上のように本実施形態では、組立用のワークの組み合わせに応じた組立動作を自動でロボットに教示できるようになる。このため、オペレータによる教示作業が大幅に短縮されるようになる。
【００８０】
更に、ワーク領域に置かれたワークの種類及び状態を認識できる構成としたため、ワークがワーク領域内にランダムに置かれた場合であっても、それらのワークを自動的に見極め、それらの組立動作をロボットに対して自動で教示できるようになる。このため、任意の組み合わせのワークよりなる組立ワークセットの教示作業を全自動化でき、多品種小ロットの製品を頻繁に入れ替えして組立てるような場合や、飛び込みで入ってきた製品を生産途中に入れ替えして組立てる場合などにおいて、スムーズに組立動作の変更が可能となり、生産効率を高めることができるようになる。
【図面の簡単な説明】
【００８１】
【図１】本発明に係る自動教示システムの要部を示したものである。
【図２】本実施例における全自動教示システムの全体構成図である。
【図３】組立ワークセットの一例である。
【図４】ワーク情報D1の内容を表形式で示した図である。
【図５】相互配置情報（アセンブリ情報）D2の内容を表形式で示した図である。
【図６】組立補足情報D3の内容を表形式で示した図である。
【図７】本自動教示システムの教示方法の一例を示した図である。
【図８】組立作業内容を決定するときの処理フローである。
【図９】作業内容情報の管理テーブルの一例である。
【図１０】メインプログラムの処理工程である。
【図１１】メインプログラムが参照するパラメータ情報である。
【図１２】組立ワークセットの組立順である。
【符号の説明】
【００８２】
１  格納手段
２  決定手段
３  変換手段
D1  ワーク情報
D2  相互配置情報
D3  組立補足情報
D4  組立作業内容情報
D5  組立作業手順情報
【図１】
2008009899.tif 000003
【図２】
2008009899.tif 000004
【図７】
2008009899.tif 000005
【図８】
2008009899.tif 000006
【図９】
2008009899.tif 000007
【図１０】
2008009899.tif 000008
【図１１】
2008009899.tif 000009
【図３】
2008009899.tif 000010
【図４】
2008009899.tif 000011
【図５】
2008009899.tif 000012
【図６】
2008009899.tif 000013
【図１２】
2008009899.tif 000014