(57)【要約】      （修正有）【課題】より効率的かつ柔軟にロボットアーム等の組立機構の動作を教示する。【解決手段】部品把持手段２２を備える組立機構２０を用いて複数の部品１０を順次組みつけて所定の組立対象物を構成する自動組立システムにおいて、前記組立機構の動作を教示する方法であって、各部品１０の組み付け時の動きを定義するステップと、定義した各部品１０の動きが実現されるように、組立機構２０の動作を決定するステップとを含む。【選択図】図１
2006350620.tif 000002
【特許請求の範囲】
【請求項１】
部品把持手段を備える組立機構を用いて複数の部品を順次組みつけて所定の組立対象物を構成する自動組立システムにおいて、前記組立機構の動作を教示する方法であって、
前記各部品の組み付け時の動きを定義するステップと、
前記定義した各部品の動きが実現されるように、前記組立機構の動作を決定するステップと、
を含むことを特徴とする自動組立システムにおける組立機構の動作教示方法。
【請求項２】
前記各部品の組み付け時の動きを定義するステップは、前記各部品の寸法とそれらの部品の組立図を含む電子データを使用した三次元ＣＡＤによって前記各部品の組み付け時の動きを定義することを特徴とする請求項１に記載の自動組立システムにおける組立機構の動作教示方法。
【請求項３】
前記各部品の組み付け時の動きを定義するステップは、前記組立機構の部品把持手段による前記各部品に対しての把持位置と、前記各部品の組付け前の姿勢および位置と、前記各部品の組付け完了後の姿勢および位置と、前記各部品の移動経路と、を定義することを特徴とする請求項１または２に記載の自動組立システムにおける組立機構の動作教示方法。
【請求項４】
前記組立機構の部品把持手段による前記各部品に対しての実際の把持位置を計測するステップと、前記定義された把持位置に対する前記実際の把持位置の誤差を得るステップとを更に含み、
前記組立機構の動作を決定するステップは、前記誤差を補正量として前記組立機構の動作を決定することを特徴とする請求項３に記載の自動組立システムにおける組立機構の動作教示方法。
【請求項５】
前記各部品は、前記組立機構によって所定の部品配置場所から順次所定の
組付け初期位置まで移動された後、その初期位置から所定の経路を通って組みつけられ、
前記各部品の組み付け時の動きを定義するステップは、前記所定の組付け初期位置以降の前記各部品の動きを定義し、前記部品配置場所から前記組付け初期位置までの前記組立機構の動作は前記各部品の動きに基づくことなく任意に設定されること特徴とする請求項１に記載の自動組立システムにおける組立機構の動作教示方法。
【請求項６】
前記組立機構として、アームと該アームの先端に設けたハンドとを備えるロボット使用することを特徴とする請求項１に記載の自動組立システムにおける組立機構の動作教示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、部品把持手段を備える組立機構を用いて複数の部品を順次組みつけて所定の組立対象物を構成する自動組立システムにおいて、前記組立機構の動作を教示する方法に関するものである。
【背景技術】
【０００２】
従来、オフラインプログラムによりロボットの動作プログラムを作成する技術、具体的には、組立等の作業に用いられるロボットアームの動きを三次元ＣＡＤ（３Ｄ−ＣＡＤ）を用いて視覚的に定義し、これにしたがってロボットの動作プログラムを自動生成する技術が提案されている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開昭６２−２７７２８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記特許文献１に係る技術は、単にロボットアームの動きを図形上で視覚的に定義するものに過ぎないので、複数の部品を順次組み付けて所定の組立対象物を構成する作業をロボットアームに行わせるためのプログラムの生成には不向きである。
【０００５】
すなわち、複数の部品を順次組み付けて所定の組立対象物を構成する作業をロボットアームに行わせる場合には、各部品をそれぞれ所定の位置関係が満足される形態で組み付けねばならない。
したがって、このような部品組立用ロボットの動作プログラムの生成に上記従来技術を適用しようとすると、３Ｄ−ＣＡＤの操作者が各部品の寸法、姿勢、およびロボットアームによる当該部品の把持位置を考慮してロボットアームの動きを逆算せねばならず、このため、動作定義の負担が極めて大きくなるとともに、その動作定義の確実性にも問題を生じる。
【０００６】
一方、一般にロボットアームの動作教示には多大な時間、労力を要するので、多種多様な組立対象物への対応が現実的に困難となっている。このため、結果的にロボットの導入が妨げられることが多く、これは産業上の非効率を招いている。
【０００７】
本発明の課題は、上述のような従来の問題点に鑑み、より効率的かつ柔軟にロボットアーム等の組立機構の動作を教示することが可能な自動組立システムにおける組立機構の動作教示方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、組み付けるべき部品の動きを定義し、ロボットアーム等の組立機構を上記定義した部品の動きの実現手段として捉えることによって上記の課題を達成するものである。
すなわち、本発明は、部品把持手段を備える組立機構を用いて複数の部品を順次組みつけて所定の組立対象物を構成する自動組立システムにおいて、前記組立機構の動作を教示する方法であって、前記各部品の組み付け時の動きを定義するステップと、前記定義した各部品の動きが実現されるように、前記組立機構の動作を決定するステップと、を含むことによって上記の課題を達成している。
【０００９】
前記各部品の組み付け時の動きを定義するステップでは、例えば、前記各部品の寸法とそれらの部品の組立図を含む電子データを使用した三次元ＣＡＤによって前記各部品の組み付け時の動きが定義される。
【００１０】
前記各部品の組み付け時の動きを定義するステップでは、例えば、前記組立機構の部品把持手段による前記各部品に対しての把持位置と、前記各部品の組付け前の姿勢および位置と、前記各部品の組付け完了後の姿勢および位置と、前記各部品の移動経路と、が定義される。
【００１１】
前記組立機構の部品把持手段による前記各部品に対しての実際の把持位置を計測するステップと、前記定義された把持位置に対する前記実際の把持位置の誤差を得るステップとを更に含み、前記組立機構の動作を決定するステップは、前記誤差を補正量として前記組立機構の動作を決定することができる。
【００１２】
実施形態において、前記各部品は、前記組立機構によって所定の部品配置場所から順次所定の組付け初期位置まで移動された後、その初期位置から所定の経路を通って組みつけられる。この場合、前記各部品の組み付け時の動きを定義するステップにおいて、前記所定の組付け初期位置以降の前記各部品の動きを定義し、前記部品配置場所から前記組付け初期位置までの前記組立機構の動作を前記各部品の動きに基づくことなく任意に設定しても良い。
【００１３】
前記組立機構としては、例えば、アームと該アームの先端に設けたハンドとを備えるロボット使用することが好ましい。
【発明の効果】
【００１４】
本発明によれば、自動組立システムにおいてある組立対象物の組立動作を定義する際、上記組立対象物に固有の事項である部品の動きさえ定義すれば良いので、ロボットアーム等の組立機構の動きを意識する必要が基本的には無くなる。このため、組立機構の動作教示の手間が大幅に軽減され、またその確実性を高めることができる。
さらに、本発明によれば、多種多様な組立対象物の組立にも対応し易くなるので、結果的に、ロボット等の自動組立機構の導入を促して、効率的生産に寄与することができる。
【発明を実施するための最良の形態】
【００１５】
図１は、本発明に係る動作教示方法が適用される自動組立システムと、組み付けるべき部品１０の移動態様とを示す概念的である。
ここでは、組立機構の代表例として、アーム２１の先端にハンド２２を取付けたロボット２０を示しているが、本発明に適用する組立機構はこのロボット２０に限定されない。
ロボット２０は、図１（ａ）に示す部品配置場所におかれた部品１０群中から次に組み付けるべき所定の部品１０を把持し、その部品１０を図１（ｂ）に示す組み付け初期位置まで移動した後、図１（ｃ）に示す組立途中の構成物３０に組み付けるという動作を繰り返し実行するものである。
【００１６】
ここで、組立途中の構成物３０に部品１０を組み付けて行く際の該部品１０の動きは、ある組立対象物について一意に定めることができる。これは、組立作業における部品１０の動きが本質的にロボットアーム２１の動き（ハンド２２の移動軌跡）を規定すべき事項になることを意味している。
したがって、まず各部品１０の組付け時の動きを定義し、ついで、その定義した部品１０の動作が実現されるようにロボット２０の動作を決定する、という主従関係に基づいてシステムを構成すれば、効率的にロボット２０ヘの動作教示を行うことが可能になる。
【００１７】
以下、上記主従関係に基づく組立ロボット２０の動作プログラムの生成手順について図２を参照して説明する。なお、この動作プログラムの生成手順は、ロボットコントローラ４０を用いて実行される。
ステップ１０１
「各部品寸法と組立図の電子データを用意」
通常の機械設計においても同様に実施されることである。
【００１８】
ステップ１０２
「３Ｄ−ＣＡＤにて、組立時の各部品の動きを定義」
組立対象物の組立手順をディスプレイ４１上で視覚的に決定する。例えば、ある部品１０（Ａ部品という）を別の部品１０（Ｂ部品という）に組み付ける場合、組み付け前のＡ部品およびＢ部品の初期状態（初期位置および初期姿勢）を定義して、組み付け時のＡ部品の移動軌跡、および必要に応じて姿勢の変化を定め、最後に組み付け完了状態を定義する。あるいは、前記初期状態と組み付け完了状態のみを定義し、その途中の移動軌跡と姿勢の変化は計算機によって自動的に決定する。なお、上記Ａ部品の初期位置は、図１（ｂ）の部品１０の位置に対応する。
【００１９】
ステップ１０３
「ロボットハンド２２による各部品の把持部位を設定」
各部品１０は、ロボットアーム２１の先端にあるロボットハンド２２で把持されて組み付けられる。組み付けに際しては、各部品１０について適切な把持部位を設定する必要がある。
例えば、Ａ部品をＢ部品に組み付ける場合、Ａ部品におけるＢ部品との結合面をロボットハンド２２が把持していると、その組み付けが不可能になる。したがって、ロボットハンド２２は、Ａ部品を無理なくＢ部品に組み付けでき、かつＡ部品が所定の姿勢となる部位を把持しなければならない。
そこで、上記のような条件が満たされる適切な把持部位を設定する。
【００２０】
ステップ１０４
「各部品の動きをアニメーションで確認」
ステップ１０２で動きが定義され、ステップ１０３で把持部位が設定された各部品１０について、ロボットハンド２２で把持した状態での動きをディスプレイ４１上で三次元的に表示し、各部品１０の動きについての問題点の有無や、組立効率の良否等を確認する。部品１０の動きをこのように三次元的に表示することによって、その動きの状態を簡便に確認することができる。
【００２１】
ステップ１０５
「修正要？」
ステップ１０４での確認結果に基づいて、各部品１０の動きについての修正の要、不要を判断する。そして、修正の必要がある場合には修正を実行する。
【００２２】
ステップ１０６
「各部品の動きを実現するためのロボットの動作を計算」
上記のようにして各部品１０についての把持位置、姿勢、並びに組立時の各部品１０の動きが定義されるので、組立作業時のロボットアーム２１の動作を決定することができる。
すなわち、各部品１０についての把持位置と姿勢、および動きに基づいてロボットハンド２２の動きが規定されるので、このロボットハンド２２の動きに基づいてロボットアーム２１の動きが決定される。
上記のようにロボットアーム２１の動きを決定する手法は、ロボットハンド２２の動きを結果的に実現するためのロボットアーム２１の駆動アクチュエータの操作量を決定するという、いわゆる「逆運動学」の手法に対応するものである。この「逆運動学」に基づく解法は一般に知られており、例えば、松日楽、大明：「わかりやすいロボットシステム入門」、ｐ．９３、オーム社、ＩＳＢＮ４−２７４−０８６８５−２に示されている。
【００２３】
ステップ１０７
「ロボットプログラムを自動生成」
ロボットアーム２１の動きが規定されているため、その動きを実現するための動作プログラムを容易に自動生成することができる。
【００２４】
以上の手順によれば、各部品１０の動きを起点としてロボット２０の動きを規定し、このロボット２０の動きからその動きを実現するロボット２０の動作プログラムを自動生成するので、この動作プログラムを効率的に生成することが可能になり、その結果、組立作業の自動化が容易になる。
【００２５】
実際の組立に用いる組立機構としては、様々な形態のものを使用することが可能であるが、その中でも、上述したアーム２１を備えるロボット２０は様々な組立作業に柔軟に対応できることから、本発明に用いる組立機構として好適である。
ロボット２０のアーム２１の本数は１本でもよい。しかし、複数本のアーム２１を備える図示の多関節ロボット２０は、例えば持ち替えによって部品姿勢の変更を容易に行うことが可能であり、また、組立途中の構成物３０のある部位を保持しながら別の部品を組み付けるといったより高度な組立作業にも対応することが可能になる。
【００２６】
一般に、複数の部品１０を組合せて構成される組立対象物の組立手順は、該部品１０の把持と組み付けの繰り返しとなる。
ここで、ある部品１０の組み付けは、組み付け対象物（他部品１０または組立途中の構成物３０）から至近距離となる形態で該部品１０の初期位置を決定し、その初期位置から所定の経路を通って上記部品１０を移動させる行為と言える。そして、上記初期位置からの部品１０の組み付け動作を実現するロボット２０の動作プログラムが上述のプログラム生成手順によって効率的に生成されることになる。
【００２７】
一方、図１（ａ）の部品配置場所に置かれた部品１０は、ロボットハンド２２で把持されて同図（ｂ）の初期位置まで移動される。この移動は、把持前の部品１０の位置および姿勢を予め条件として固定するとシステムとしての柔軟性が得られないこと、また、その移動の経路の任意性が高いことから、予めプログラムせずに作業中に軌道を生成して行われることが望ましい。
【００２８】
上記の事項はすなわち、１．部品１０の把持状態におけるロボットアーム２１の位置・姿勢（把持した状態において既知となる）、２．部品１０を組み付けるための初期位置・姿勢（プログラミング済みゆえ既知）について、「始点１．から終点２．へ部品１０を移動する」という問題に他ならない。このような問題の解決手段は既知であり、実用化されている。なお、始点１．から始点２．へ直接移動せず、途中に別の場所を経由してもよい。
【００２９】
したがって、前述のように、初期位置から組み付けが完了位置までの部品１０の動きのみを定義し、その前段である部品配置位置から初期位置までの部品１０の移動については、部品１０毎に始点と終点を変更しつつ連続自動実行するような処理を採用することによって、柔軟性の高い自動組立システムを構築することが可能となる。
【００３０】
上述の概念について、更に詳細に説明する。
まず、図３に示すように前提となる事項を定義しておく必要がある。すなわち、まずはロボットハンド２１の可動範囲を設定し、その可動範囲内で部品１０の把持および組み付けを行う（ステップ２０１）。次に、各部品１０の把持前の配置を設定する（ステップ２０２）。これは、部品１０毎に在処を決めても良いし、全部品１０の存在エリアのみ設定し、画像認識その他の手段によって個々の部品の在処をその存在エリアが設定される都度検出するようにしてもよい。さらに、組立を行う空間を別途設定する（ステップ２０３)。ここでは、部品組み付けを実施するために十分な領域を確保しておくことが重要である。
【００３１】
実際の組立作業の詳細手順は図４に示すようになる。すなわち、
ステップ３０１
「部品の位置、姿勢を計測」
図１（ａ）の部品置き場所に置かれた各部品１０につき、まずは把持前の位置および姿勢を画像処理等の手段によって計測する。
【００３２】
ステップ３０２
「ロボットハンドによって部品を所定姿勢にて把持」
計測した把持前の部品１０の位置および姿勢のデータを基に、図２のステップ１０３で設定された各部品１０の所定把持部位を所定姿勢で把持する。
【００３３】
ステップ３０３
「部品と、これを把持したハンドとの相対位置を計測」
部品１０と該部品１０を把持したロボットハンド２２との相対的位置関係を、画像処理等の手段によって計測する。
【００３４】
ステップ３０４
「部品とハンドとの相対位置の規定値と実測値の誤差分を補正」
部品１０とロボットハンド２２の相対位置は、図２のステップ１０３の処理で規定されている。しかし、実際に部品１０を把持した場合の上記相対位置は、上記規定された相対位置からずれている可能性が高い。そこで、ステップ３０３で計測した実際の相対位置を上記規定の相対位置と比較して、その誤差を定量化する。この誤差は、三次元的な位置および角度として与えられる。
【００３５】
ステップ３０５
「部品を、組み付け対象物に組み付ける際の初期位置まで移動」
組み付けるべき部品１０を前記部品置き場所から図１（ｂ）の初期位置まで移動する。その際、移動後の部品１０の位置を図２のステップ１０２で定義された当該部品１０の初期位置に合わせるためには、ステップ３０４で計測した誤差分を補正量としてロボットアームの動きに反映させればよい。
【００３６】
ステップ３０６
「自動生成されたプログラムにしたがって組み付け」
図２のステップ１０７において自動生成される動作プログラムにしたがってロボットアーム２１を動作させて、部品１０の組み付けを実行する。このとき、実際の部品１０の動きが規定したとおりとなるように、部品とこれを把持したハンドとの位置誤差、つまり、ステップ３０４で計測した誤差を上記プログラムの補正量として用いる。
【００３７】
ステップ３０７
「全ての部品組み付け完了の判定」
全ての部品１０の組み付けが完了していれば組付け操作を終了し、完了していなければ次の部品について同様な操作を繰り返す。
【００３８】
上記実施形態によれば、ある組立対象物の組立動作を定義する際に、この組立対象物に固有の事項である部品１０の動きさえ定義すれば良いので、ロボットアーム２１の動きを意識する必要が基本的に無くなる。このため、ロボット２０の動作教示の手間が大幅に軽減され、またその確実性を高めることができる。さらに、多種多様な組立対象物の組立にも対応し易くなる。
【図面の簡単な説明】
【００３９】
【図１】本発明に係る動作教示方法が適用される自動組立システムと、組み付けるべき部品の移動態様とを示す概念的である。
【図２】組立ロボットの動作プログラムの生成手順を例示するフローチャートである。
【図３】本発明に係る動作教示方法を実施するための前提となる事項の設定手順を示すフローチャートである。
【図４】実際の組立作業の詳細手順を例示するフローチャートである。
【符号の説明】
【００４０】
１０  部品
２０  ロボット
２１  アーム
２２  ハンド
３０  組立途中の構成物
４０  コントローラ
４１  ディスプレイ
【図１】
2006350620.tif 000003
【図２】
2006350620.tif 000004
【図３】
2006350620.tif 000005
【図４】
2006350620.tif 000006