(57)【特許請求の範囲】
【請求項１】
演算装置が、複数の嵌合足が対応する嵌合穴に嵌合して互いに組み付く第１及び第２ワークのうち、前記第１及び第２ワークの少なくとも一方に設けられた前記複数の嵌合足のそれぞれについて、弾性域内で変形可能な変形量である許容変形量を、少なくとも水平方向について求めたデータを取得する取得工程と、
前記演算装置が、前記取得した許容変形量のデータに基づき、複数ある前記嵌合足の挿入順序のそれぞれについて、順番に前記嵌合足を挿入した時の前記第１及び第２ワークの許容された相対移動量を組立自由度として求める演算工程と、を備えた、
ことを特徴とするワークの組み立て手順演算方法。
【請求項２】
前記演算装置が、前記複数ある嵌合足の挿入順序のそれぞれについて、前記演算工程で求めた組立自由度から挿入順序の１つを選択する挿入順序選択工程を更に備えた、
請求項１記載のワークの組み立て手順演算方法。
【請求項３】
前記演算装置が、前記複数ある嵌合足の挿入順序のそれぞれについて、最後の嵌合足が挿入される際の前記組立自由度が、所定の値以上である挿入順序を選択する挿入順序選択工程を更に備えた、
請求項１記載のワークの組み立て手順演算方法。
【請求項４】
前記演算装置が、前記挿入順序選択工程の前に、前記組立自由度が所定の値以下である挿入順序を除外する除外工程を更に備えた、
請求項２又は３記載のワークの組み立て手順演算方法。
【請求項５】
前記演算装置が、挿入済みの嵌合足への負荷に基づいて演算された第１軌道と、挿入される嵌合足をその先端部が対応する嵌合穴の縁と接触させずに挿入可能な第２軌道と、を合成して演算する軌道演算工程を更に備えた、
請求項１乃至４のいずれか１項記載のワークの組み立て手順演算方法。
【請求項６】
前記第１軌道は、基準点を中心に前記第１もしくは第２ワークを回転させて、前記挿入される嵌合足を目的位置まで移動させる場合に生じる軌道であり、
前記基準点は、前記挿入済みの嵌合足が１本であるときは、前記挿入済みの嵌合足と嵌合穴とが接する接点、前記挿入済みの嵌合足が２本であるときは、前記挿入済の２本の嵌合足間の中間位置の点、前記挿入済みの嵌合足が３本以上であるときは、前記挿入済みの嵌合足によって囲まれる領域内の点である、
請求項５記載のワークの組み立て手順演算方法。
【請求項７】
請求項１乃至６のいずれか１項記載のワークの組み立て手順演算方法を、コンピュータに実行させるための組み立て手順演算プログラム。
【請求項８】
請求項１乃至６のいずれか１項記載のワークの組み立て手順演算方法により演算された組み立て手順によって、自動組立ロボットにより前記第１及び第２ワークを組み付けて部品を製造する部品の製造方法。
【請求項９】
複数の嵌合足が対応する嵌合穴に嵌合して互いに組み付く第１及び第２ワークのいずれか一方のワークを把持し、載置された他方のワークに組み付けるロボットアームと、
前記複数の嵌合足の水平方向における弾性域内で変形可能な変形量のデータに基づき、複数ある前記嵌合足の挿入順序のそれぞれについて、順番に前記嵌合足を挿入した時の前記第１及び第２ワークの許容された相対移動量を組立自由度として求める演算装置と、を備えた、
ことを特徴とする自動組立ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の嵌合足を対応する嵌合穴に挿入することによりワークを組み立てる多点嵌合組立に関する。
【背景技術】
【０００２】
近年、市場ニーズの多様化による多品種・少量の生産に対応できる生産装置として自動組立ロボットが注目されている。一般に、この自動組立ロボットは、先端に力覚センサを備えたロボットハンドを有するロボットアームを備えており、組立する製品に合わせてロボットアームの動作に関する制御プログラムを変更することで様々な組立に対応できるのが特徴である。
【０００３】
このような自動組立ロボットを用いて生産現場における製品組立の自動化が検討され実現がなされてきているが、自動組立ロボットによる置き換えが簡単でなく、未だにその多くを人手に頼っている組立も存在する。その１つが多点嵌合組立である。多点嵌合組立は、複数の嵌合足を対応する嵌合穴に嵌合させるワークの組立である。複数の嵌合足を該当する嵌合穴に挿入し嵌合することで嵌合物と被嵌合物の間に高い拘束力を生むのが特徴で、カーエアコン等、複雑な形状をした外装の組立に多く用いられる。
【０００４】
１つの嵌合足を１つの嵌合穴に嵌合する１点嵌合組立は、自動組立ロボットで一般的に実施されている組立である一方、多点嵌合組立が未だにその多くが人手に頼って行われている理由は、次のような多点嵌合組立の技術的な難しさによる。
【０００５】
１点嵌合組立は、嵌合物と被嵌合物のいずれか一方に備える１本の嵌合足と他方に備える１つの嵌合穴に対し、ロボットアームの位置制御で双方の位置を合わせ、嵌合足を嵌合穴に挿入する際に力覚センサを用いたコンプライアンス制御を利用して組立てる。これに対し多点嵌合組立は、各嵌合足と各嵌合穴の寸法公差に加え、嵌合足間と嵌合穴間の距離公差も加わるため、嵌合足と嵌合穴の位置合わせの際にロボットアームに要求される位置決め精度が飛躍的に高くなってしまう。そして、組み立てるワークによっては、寸法公差上、嵌合穴と嵌合足が物理的に干渉し、すべての嵌合足を同時挿入することが不可能なケースが発生し得る。
【０００６】
人はこのような多点嵌合組立を、挿入する嵌合足を指でサポートし弾性変形させるなどして、寸法公差により同時挿入が不可能となる事態を回避すると共に、高精度に位置決めせずに嵌合物と被嵌合物との組み立てをする。しかし人に倣ったこの組立方法は、指の本数や、指の関節数、サイズ、制御の複雑さなどの要因により、従来の自動組立ロボットで実現するのが難しかった。
【０００７】
そこで従来、自動車の車体関連部品など比較的強度の高い部品においては、相対的に剛性の低い柔らかい嵌合足から順番に選択し、嵌合足の弾性変形を利用して嵌合穴へ順次挿入していくことで多点嵌合組立を行う方法が案出されている（特許文献１参照）。
【０００８】
ここで、剛性の低い嵌合足から順番に挿入していく理由は、既に挿入した嵌合足と嵌合穴間で発生する嵌合物と被嵌合物の拘束を、剛性の低い嵌合足の弾性変形を利用してゆるい状態で保持できるからである。これにより、次の嵌合足を挿入する際にロボットアームが無理なく動作でき、より簡単に挿入動作を進めることができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第２７６８２１０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、多点嵌合組立の対象製品は、車などの大型製品に限らずデジタルカメラなどの小さな精密機器の外装組立など、世の中に多数存在する。そのため、このような比較的強度の低い小型製品についても、多点嵌合組立の自動化の展開が期待されている。
【００１１】
しかしながら、上記小型製品の多点嵌合組立となると、嵌合足も非常に細く薄く、精密な形状のものが増えてくるため、組立最中に嵌合足の塑性変形や破壊が発生しやすくなる。この嵌合足の塑性変形、破壊が起こる原因としては、多点ある嵌合足を順番に挿入していった際に、挿入済の嵌合足に過度な負荷が発生することが挙げられる。
【００１２】
上記特許文献１記載の方法では、各嵌合足の相対的な剛性に着目して挿入順序を決定して組立を行っている。その理由は剛性が低い嵌合足から挿入した方が、挿入済みの嵌合足の変形により、嵌合物と被嵌合物の相対位置の調整が無理なく行いやすいからである。
【００１３】
しかし、剛性値と壊れにくさは必ずしも一致しない。剛性が高くても破壊に至るまでに許容される嵌合足の変形量が大きな形状・材質の嵌合足もあれば、剛性が低く柔らかくても少量の変形で破壊に至る形状・材質の嵌合足もある。そのため、上述の嵌合足の剛性に基づく挿入順序の決定方法では、ワークの嵌合足にかかる負荷により嵌合足が破壊することを防止する挿入順序にならないことがある。
【００１４】
また、上記特許文献１では挿入順序の決定を嵌合足単体の剛性（スカラー量）のみで判断しており、柔らかさの方向を考慮していないため、複数の嵌合足の配置・向きによっては、挿入済の嵌合足に過度な負荷がかかる場合が発生する。この問題点について、図１７のワークの多点嵌合組立を例に説明する。
【００１５】
なお、図１７に示すワークＷは、嵌合物Ｗ１と被嵌合物Ｗ２に分割されていて、嵌合物Ｗ１には３本の嵌合足２０１，２０２，２０３を備え、被嵌合物Ｗ２には嵌合穴３０１，３０２，３０３を備えた構造となっている。そして、上記嵌合足２０１を嵌合穴３０１に、嵌合足２０２を嵌合穴３０２に、嵌合足２０３を嵌合穴３０３に挿入することで嵌合物と被嵌合物が嵌合されるように構成されている。
【００１６】
表１には各嵌合足の剛性値が示されている。この表１の値に従って、各嵌合足の最も低い剛性値に着目して挿入順序を決定すると、嵌合足２０２（Ｘ軸方向の剛性値２０ｇ／ｍｍ）を最初に挿入し、次に嵌合足２０１（Ｙ軸方向の剛性値４０ｇ／ｍｍ）を挿入する。そして嵌合足２０３（ＸＹ軸方向の剛性値２００ｇ／ｍｍ）を挿入し、全ての嵌合足を嵌合穴へ挿入したところで、各嵌合足の嵌合長いっぱいの深さまで嵌合足を挿入することで嵌合が完了する。
【００１７】
【表１】
0006026746.tif 000002
【００１８】
嵌合足２０２と嵌合足２０１を対応する嵌合穴３０２，３０１に挿入すると、嵌合物と被嵌合物間に、嵌合足２０２と嵌合足２０１の２本の嵌合足の剛性に基づくＸ軸方向、Ｙ軸方向の拘束が働く。嵌合足２０２と嵌合足２０１を合わせた剛性値として、単純に双方の嵌合足の剛性の和を取り評価値とすると（Ｘ軸方向の剛性値５４０ｇ／ｍｍ、Ｙ軸方向の剛性値６２０ｇ／ｍｍ）となる。上述した各嵌合足の最も低い剛性値に着目した挿入順序では、このような拘束状態で嵌合物Ｗ１を動かして、最後の嵌合足２０３を挿入しなければならない。
【００１９】
ここで、例えば、挿入の順序を嵌合足２０２、嵌合足２０３、嵌合足２０１の順番とした場合について考える。すると、最後の嵌合足２０１を嵌合穴３０１に挿入する際、嵌合足２０２と嵌合足２０３を合わせた剛性値（Ｘ軸方向の剛性値６００ｇ／ｍｍ、Ｙ軸方向の剛性値１２０ｇ／ｍｍ）によって嵌合物と被嵌合物は拘束される。この時、各嵌合足の最も低い剛性値に着目した挿入順序と比較してＸ軸方向の剛性値に大きな違いがないが、本挿入順序の方がＹ軸方向の剛性値は大幅に小さい。
【００２０】
これにより、挿入順序の決定を嵌合足単体の剛性（スカラー量）に基づいて決定する従来の方法では、必ずしも挿入済みの嵌合足に掛かる負荷を低減する上で最適な挿入順序とならないことが分かる。
【００２１】
そこで本発明は、多点嵌合組み立てにおいて嵌合足に掛かる負荷を考慮したワークの組み立て手順演算方法、組み立て手順演算プログラム、部品の製造方法及び自動組立ロボットを提供することを目的とする。
【課題を解決するための手段】
【００２２】
本発明に係るワークの組み立て手順演算方法は、演算装置が、複数の嵌合足が対応する嵌合穴に嵌合して互いに組み付く第１及び第２ワークのうち、前記第１及び第２ワークの少なくとも一方に設けられた前記複数の嵌合足のそれぞれについて、弾性域内で変形可能な変形量である許容変形量を、少なくとも水平方向について求めたデータを取得する取得工程と、前記演算装置が、前記取得した許容変形量のデータに基づき、複数ある前記嵌合足の挿入順序のそれぞれについて、順番に前記嵌合足を挿入した時の前記第１及び第２ワークの許容された相対移動量を組立自由度として求める演算工程と、を備えた、ことを特徴とする。
【００２３】
本発明に係る自動組立ロボットは、複数の嵌合足が対応する嵌合穴に嵌合して互いに組み付く第１及び第２ワークのいずれか一方のワークを把持し、載置された他方のワークに組み付けるロボットアームと、前記複数の嵌合足の水平方向における弾性域内で変形可能な変形量のデータに基づき、複数ある前記嵌合足の挿入順序のそれぞれについて、順番に前記嵌合足を挿入した時の前記第１及び第２ワークの許容された相対移動量を組立自由度として求める演算装置と、を備えた、ことを特徴とする。
【発明の効果】
【００２４】
第２ワークに対する第１ワークが相対移動可能な範囲（組立自由度）を大きさと方向（向き）で計算し、この組立自由度に基づいて嵌合足の挿入順序を評価することによって、組立の後半まで組立自由度が大きく維持できる挿入順序を選択することができる。そして、これにより、ワークの多点嵌合組立において、嵌合足を嵌合穴に挿入していく過程で、挿入済の嵌合足に、塑性変形や破壊に至る過度な負荷がかかることを防止することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態に係るワーク組立システムを示す模式図。
【図２】本発明の実施の形態に係る自動組立ロボットのロボットコントローラを示す模式図。
【図３】本発明の実施形態に係るワークの嵌合手順を示すフローチャート。
【図４】本発明の実施形態に係る嵌合足の挿入順序の決定方法を示すフローチャート。
【図５】本発明の実施形態に係るワークを示す模式図であり、（ａ）は第１ワーク（嵌合物）を示す模式図、（ｂ）は第２ワーク（被嵌合物）を示す模式図。
【図６】（ａ）は図５に示すワークの側面図、（ｂ）図５に示すワークの断面図。
【図７】本発明の実施の形態における各嵌合足の挿入順序における、組立自由度、組立自由度の総和を示す図。
【図８】例１との間の挿入順序による組立自由度の違いを示す図であり、（ａ）はＸ軸方向の組立自由度の違いを示すグラフ、（ｂ）はＹ軸方向の組立自由度の違いを示すグラフ。
【図９】例２との間の挿入順序による組立自由度の違いを示す図であり、（ａ）はＸ軸方向の組立自由度の違いを示すグラフ、（ｂ）はＹ軸方向の組立自由度の違いを示すグラフ。
【図１０】図４の方法とは異なる嵌合足の挿入順序の決定方法を示すフローチャート。
【図１１】組立フローの決定方法を説明する模式図であり、（ａ）は第１ワークの第１辺目の挿入を説明する模式図、（ｂ）は第２辺目の挿入を説明する模式図。
【図１２】組立フローの決定方法を説明する模式図であり、（ａ）は第３ワークの第１辺目の挿入を説明する模式図、（ｂ）は第４辺目の挿入を説明する模式図。
【図１３】挿入済の嵌合足に負荷をかけない軌道を説明する模式図。
【図１４】次に挿入する嵌合足が嵌合穴の縁に接触しない軌道を説明するための模式図。
【図１５】挿入軌道の決定方法を説明するための模式図。
【図１６】嵌合穴にガイドがある場合の軌道生成を説明するための模式図。
【図１７】多点嵌合組立に係るワークの形状を説明するための模式図。
【発明を実施するための形態】
【００２６】
以下、本発明に係るワークの組み立て手順の演算方法及びこの演算方法を使用した自動組立ロボット（嵌合装置）について説明をする。なお、以下の説明において、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）とは、不揮発性の半導体メモリ及び半導体メモリ以外の読み出し専用媒体のことをいう。また、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とは、読み書き共にランダムにアクセス可能なメモリのことをいい、これらＲＯＭ及びＲＡＭによってコンピュータの主記憶装置を構成している。
【００２７】
更に、降伏応力とは、弾性体にそれ以上の応力を加えると塑性変形を起こし、かかる応力を０としても、変形が元の状態まで戻らなくなるその境界となる応力値である。また、許容変形量とは、降伏応力δｍａｘに達するまでの各嵌合足の変形量、即ち、嵌合足ｆが弾性域内で変形可能な変形量のことをいうこととする。
【００２８】
［自動組立システムの構成］
図１に示すようにワークＷの自動組立システムＳは、複数の嵌合足ｆ・・・が対応する嵌合穴ｈ・・・に嵌合して互いに組み付く第１及び第２ワークＷ１，Ｗ２を組み立てる自動組立システムである。この自動組立システムＳは、第１ワーク（嵌合物）Ｗ１を供給する嵌合物供給装置２１と、第２ワーク（被嵌合物）Ｗ２を被嵌合物供給装置２３と、これら第１及び第２ワークＷ１，Ｗ２を組み立てる自動組立ロボット１と、を備えて構成されている。
【００２９】
上記自動組立ロボット１は、組み付けベース２０上にロボットアーム２を取り付けて構成されており、この組み付けベース２０上には、第２ワークＷ２を載置する被嵌合物載置台２２が設けられている。また、組み付けベース２０上におけるロボットアーム２の取り付け基部と被嵌合物載置台２２との間には、上記嵌合物供給装置２１が配設されている。更に、被嵌合物載置台２２を挟んで嵌合物供給装置２１の反対側には、被嵌合物供給装置２３が設けられている。
【００３０】
上記自動組立システムＳは、このロボットアーム２を用いて、第２ワークＷ２を被嵌合物載置台２２に載置した後、嵌合物供給装置２１から第１ワークＷ１を把持し、第１ワークＷ１を被嵌合物載置台上の第２ワークＷ２に自動的に組み付けるようになっている。
【００３１】
［自動組立ロボットの構成］
ついで、上述した自動組立ロボット１の構成について図１及び図２に基づいて詳しく説明をする。自動組立ロボット１は、上記ロボットアーム２と、第１及び第２ワークＷ１，Ｗ２を撮像する撮像装置６と、これらを制御するロボットコントローラ（コンピュータ）１０とを備えている。
【００３２】
ロボットアーム２は、垂直多関節ロボットからなるアーム部２ａと、アーム部２ａの可動端２ｂに力覚センサ５を介して取り付けられたロボットハンド３と、から構成されている。そして、ロボットハンド３に加わる反力を力覚センサ５により検出することにより、この検出した反力をアーム部２ａの位置制御またはトルク制御の指令値にフィードバックすることにより、微妙な力加減で人手のような繊細な組立ができるようになっている。
【００３３】
また、ロボットコントローラ１０は、図２に示すように、演算装置１０２及び記憶装置１０３を有するコンピュータ本体に、上記ロボットアーム２及び撮像装置６が接続されて構成されている。また、コンピュータ本体には、作業者が入力作業を行うための入力装置１０６や表示装置１０７なども接続されている。
【００３４】
上記記憶装置１０３には、第１及び第２ワークＷ１，Ｗ２の形状データ、物性データ、嵌合足ｆの許容変形量などのデータが格納されている。また、その他にも、ロボットアーム２や撮像装置６などの制御ドライバや、上記嵌合足の許容変形量からワークの組み立て手順の演算をコンピュータ（演算装置１０２）に実行させる組み立て手順演算プログラムＣＰＲなどの各種プログラムが格納されている。
【００３５】
より詳しくは、コンピュータ本体は、ＣＰＵ１０２ａを主体として、画像処理装置１０２ｂ、音声処理装置１０２ｃを有して上記演算装置１０２を構成している。このＣＰＵ１０２ａには、上記画像処理装置１０２ｂ、音声処理装置１０２ｃの他に、ＲＯＭ１０３ａ及びＲＡＭ１０３ｂがバス１１１を介して接続されている。ＲＯＭ１０３ａには、コンピュータの基本制御に必要なプログラムが格納されていると共に、上述した組み立て手順演算プログラムＣＰＲなどの各種プログラムやデータが格納されている。ＲＡＭ１０３ｂには、ＣＰＵ１０２ａに対する作業領域が確保される。画像処理装置１０２ｂはＣＰＵ１０２ａからの描画指示に応じて表示装置１０７としての液晶ディスプレイを制御して、その画面上の所定の画像を表示させる。音声処理装置１０２ｃはＣＰＵ１０２ａからの発音指示に応じた音声信号生成してスピーカ１０９に出力する。
【００３６】
ＣＰＵ１０２ａにはバス１１１に接続された入力インターフェース１０６ｃを介して、入力装置１０６としてのキーボード１０６ａ及びマウス１０６ｂが接続されており、ワークＷの組み立てに必要な指定情報、或いはその他の指示の入力を可能としている。
【００３７】
また、バス１１１には、ロボットアーム２、撮像装置６が接続されていると共に、記録ディスク読取装置１１５が接続されており、組み立て手順演算プログラムＣＰＲなどを記録した記録媒体Ｄを読み込み、例えばＲＯＭ１０３ａに格納できるようになっている。なお、上述した記憶装置１０３は、主記憶装置であるＲＯＭ１０３ａ及びＲＡＭ１０３ｂの他に、コンピュータ読取可能な記録媒体Ｄやその他の外部記憶装置を備えて構成されている。
【００３８】
更に、バス１１１には、通信装置１１２が接続されており、上述したような記録媒体Ｄを使用せずに、通信装置１１２を介してインターネット等から配信される組み立て手順演算プログラムＣＰＲをダウンロード可能に構成されている。
【００３９】
［組み立て手順の概略］
ついで、上記組み立て手順演算プログラムＣＰＲに基づく、ワークの多点嵌合組立の手順について説明をする。自動組立ロボット１は、第１ワークＷ１を把持したロボットハンド３をロボットアーム２のアーム部２ａにより、組付スペースの組付開始位置まで移動させた後、一連の手順によって組み立てを行う。
【００４０】
図３は上記自動組立ロボット１による組み立て手順を示したフローチャート図であり、組立は大きくオフラインの手順演算（軌道生成）Ｓｏｆｆと、オンラインのロボットアーム２の制御Ｓｏｎに分かれる。オフラインの軌道生成では最初に複数ある嵌合足ｆの挿入順序の決定を行う（図３のステップＳ１）。次に、ステップＳ１で決定した順序で嵌合足ｆを、対応する嵌合穴ｈに挿入するための組立フローを作る（Ｓ２）。組立フローは、第２ワークＷ２に対し、第１ワークＷ１を所定の位置まで移動させる、接触させるまで動かす、嵌合足ｆを挿入する軌道を制御するといった、自動組立ロボット１が行う動きを分解して順番に並べたものである。そして、オフラインＳｏｆｆの最後に挿入順序毎の挿入軌道を決定する（Ｓ３）。
【００４１】
続いてオンライン（Ｓｏｎ）で行われる自動組立ロボットの制御について説明する。オンラインの制御では、オフラインで決定した軌道に従ってロボットアーム２を動作させる（Ｓ４）。そして、第１及び第２ワークＷ１，Ｗ２の接触が発生する組立最中には、ロボットハンド３に加わる反力を検出して、第１ワークＷ１と第２ワークＷ２に過度な負荷がかからないように第１ワークＷ１の位置の微調整をロボットアーム２で行う（Ｓ５）。これら２つの手順によりオンラインの制御は構成される。
【００４２】
また、図３に記載してないが、組立最中に異常な反力を検出した場合は、組立の状態を推定してリトライ動作を行うようにしてもよい。オンライン制御中、力覚センサに異常な反力を検出した場合は、自動組立ロボットを取り扱うユーザーが設定した閾値や、反力のプロファイルから、リトライや組立の中止、嵌合物や被嵌合物の部品の交換などの判断を行う。
【００４３】
［組み立て手順の演算方法］
ついで、上述した組立手順のうち、嵌合足ｆの挿入順序の決定方法（Ｓ１）、組立フローの決定方法（Ｓ２）、挿入軌道の決定方法（Ｓ３）について、図５及び図６に示すワークＷを例に詳しく説明をする。
【００４４】
なお、図５及び図６に示すワークは、嵌合物となる第１ワークＷ１と、被嵌合物となる第２ワークＷ２と構成されており、この第１ワークＷ１には、各辺に嵌合足ｆが形成され、合計でｆａ１、ｆａ２、ｆｂ１、ｆｂ２、ｆｃ、ｆｄの６本の嵌合足を備えている。また、第２ワークＷ２は、第１ワークＷ１の各嵌合足ｆを挿入する対応した６つの嵌合穴ｈａ１、ｈａ２、ｈｂ１、ｈｂ２、ｈｃ、ｈｄを具えている。
【００４５】
更に、これら第１及び第２ワークＷ１，Ｗ２の寸法は、ｆａ１、ｆａ２及びｆｂ１、ｆｂ２が存在する辺の長さが９０ｍｍ、ｆｃとｆｄが存在する辺の長さが６０ｍｍである。また、すべての嵌合足ｆは、幅ｄ１が５ｍｍ、厚さｔ１が０．２ｍｍのペグ状の薄い形状からなるＳＵＳ（ステンレス鋼）でできた金属板である。更に、嵌合足ｆａ１、ｆａ２、ｆｂ１、ｆｂ２の長さｐ１は１２ｍｍで、対応する嵌合穴ｈａ１、ｈａ２、ｈｂ１、ｈｂ２の穴の深さｐ２は１５ｍｍである。嵌合足ｆｃ、ｆｄの長さｐ３は１２ｍｍで、対応する嵌合穴ｈｃ、ｈｄの深さｐ４は１５ｍｍである。
【００４６】
［嵌合足の挿入順序の決定方法］
まず始めに、挿入順序の決定方法（図３のステップＳ１、挿入順序の決定工程）について、図４乃至図１０に基づいて説明をする。上記嵌合足ｆは厚さ０．２ｍｍのＳＵＳで、最も変形しやすい方向では、降伏応力δｍａｘは１００ｇにも満たず、人の指先の力でも簡単に塑性変形が発生するほど柔らかい。そのため、嵌合足ｆの挿入順序は、各嵌合足の降伏応力δｍａｘに達するまでの変形量に基づいて決定される。
【００４７】
このように、嵌合足ｆに降伏応力δｍａｘ以上の応力、言い換えると許容変形量以上の変形が加わると、組み立てる対象のワークに塑性変形や破壊が生じることになり、組立不良が発生する。そして、組立の不良を生まないためには、順番に嵌合足ｆを嵌合穴ｈに挿入していく際、そのときに挿入済みの嵌合足の許容変形量の範囲内で第１ワークＷ１と第２ワークＷ２の相対位置を調整し、次の嵌合足を対応する嵌合穴に挿入する必要がある。
【００４８】
自動組立ロボット１が組み立ての際に可動出来る範囲は、挿入済みの嵌合足ｆの各方向における許容変形量の最小値と等価となるので、これを自動組立ロボット１の組立中の自由度といえる。そこで、各嵌合足の許容変形量から計算した自動組立ロボットの組立中に取れる可動範囲を組立自由度と定義する。
【００４９】
本実施の形態では、上記組立自由度をできる限り多く残しながら、多点嵌合組立の嵌合足の挿入を順次進めていく挿入順序を決定することで、挿入済の嵌合足に過度な負荷がかかり破壊してしまうことによる組立不良を防止しながらの組立が可能とする。
【００５０】
そのための挿入順序決定方法についてのフローチャートを図４に示す。嵌合足ｆの挿入順序を決定するためには、まず、予め各嵌合足の直交する２軸（Ｘ方向、Ｙ方向）の許容変形量、即ち水平方向の許容変形量を実験と実測によって求め、ロボットコントローラ１０の内部メモリ（記憶装置１０３）に保存しておく。なお、本実施の形態では、許容変形量は直交する２軸分のデータを記憶させているが、例えばＺ軸方向の許容変形量を加えて２軸以上のデータを記憶してもよい。嵌合足ｆの挿入順序の決定するに際し最初の工程は、この記憶装置１０３に保存されている各嵌合足の許容変形量を読みだす（取得する）ことから行われる（図４のステップＳ１１、取得工程）。
【００５１】
演算装置１０２が、第１ワークＷ１の各嵌合足のそれぞれについて許容変形量を、少なくとも水平方向について取得したデータが表２である。
【００５２】
【表２】
0006026746.tif 000003
【００５３】
次にロボットコントローラ１０の演算装置１０２は、これらの嵌合足ｆａ１〜ｆｄを順番に嵌合していった際の組立自由度を演算する（Ｓ１２、組立自由度演算工程）。即ち、取得した許容変形量のデータに基づき、複数ある嵌合足の挿入順序のそれぞれについて、前記嵌合足を順番に挿入していった際の各挿入ステップにおける第１及び第２ワークＷ１，Ｗ２の許容された相対移動量を組立自由度として求める。具体的には、組立自由度は、既に挿入済の嵌合足の組み合わせから、Ｘ軸、Ｙ軸方向について、最も許容変形量の小さい嵌合足の数値を抽出した値となる。本実施の形態において考えられる挿入順番の組合せは、嵌合足ｆが６本であるので、６の階乗となり計７２０通りある。
【００５４】
ここで、自動組立ロボット１として最低限必要な組立自由度が存在する場合は、自由度演算工程にて求めた組立自由度と、予め記憶装置１０３の内部メモリに保存された閾値とを比較する（Ｓ１３のＹＥＳ）。そして、閾値を下回る組立自由度となる挿入順序を選択肢から除外する（Ｓ１４除外工程）。なお、嵌合装置として最低限必要な組立自由度は、自動組立ロボット１（ロボットアーム２）の位置精度によって決めることが好ましい。
【００５５】
例えば、ロボットアーム２の直進性が０．１ｍｍであれば、組立自由度が０．１ｍｍ以下の条件下で次の入れる嵌合足の挿入を行うと、挿入済みの嵌合足に過度に負荷がかかってしまう蓋然性が高い。そのため、組立自由度の最低値を０．１５ｍｍのように設定する。最低限必要な組立自由度が存在しない場合（Ｓ１３のＮＯ）は、すべての挿入順序の組み合わせが選択肢となって次の工程に進む。
【００５６】
組立自由度の演算が終了すると、演算装置１０２は、上記除外工程にて除かれた挿入順序を除いたそれぞれの挿入順序において、挿入ステップ毎に抽出された組立自由度の総和を演算し（Ｓ１５）、組立自由度の総和が最大となる挿入順序を決定する（Ｓ１６）。
【００５７】
例えば、ｆｂ１→ｆｂ２→ｆｄ→ｆｃ→ｆａ１→ｆａ２の順序で嵌合足を挿入していった際の組立自由度を以下に示す（この挿入順序を例１とする）。
各嵌合足の許容変形量（ｄｘ［ｍｍ］、ｄｙ［ｍｍ］）：ｆｂ１（０．１，２）→ｆｂ２（０．１，２）→ｆｄ（４，０．１）→ｆｃ（１，０．１）→ｆａ１（０．２，３）→ｆａ２（０．２，３）。
各挿入ステップの組立自由度Ｓｎ［ｍｘ［ｍｍ］，ｍｙ［ｍｍ］］：第２番目の挿入ステップＳ２［０．１，２］、Ｓ３［０．１，２］、Ｓ４［０．１，０．１］、Ｓ５［０．１，０．１］、Ｓ６［０．１，０．１］。
【００５８】
なお、１本目の嵌合足ｆｂ１を挿入する際には、第１ワークＷ１と第２ワークＷ２との間に何も拘束がないので第１番目の挿入ステップＳ１は記載を省略した。上記例１の組立自由度の推移からも嵌合足を順次挿入していくに従って組立自由度が減少していき、全ての嵌合部が挿入された時点で最も値が低くなることがわかる。
【００５９】
このときの組立自由度の総和は、ΣＳ＝Ｓ１＋Ｓ２＋Ｓ３＋Ｓ４＋Ｓ５＋Ｓ６＝［０．５，４．３］となる。このようにして、嵌合足を挿入する全ての挿入順序の組み合わせ毎に組立自由度の総和ΣＳを計算した結果は、図７のようになる。そして演算装置１０２は、この中から組立自由度の総和ΣＳが最大となる挿入順序を選択する。
【００６０】
結果として、本実施の形態で組み立てするワークＷにおいて、最も組立自由度の総和ΣＳが高い挿入順序は、ｆａ１→ｆａ２→ｆｂ１→ｆｂ２→ｆｃ→ｆｄとなる。よって、この挿入順序を選択し、組立を行うこととする。選択した挿入順序の組立自由度とその総和は以下のようになる。
各嵌合足の許容変形量（ｄｘ［ｍｍ］、ｄｙ［ｍｍ］）：ｆａ１（０．２，３）→ｆａ２（０．２，３）→ｆｂ１（０．１，２）→ｆｂ２（０．１，２）→ｆｃ（１．０，０．１）→ｆｄ（４，０．１）。
各挿入ステップの組立自由度Ｓｎ［ｍｘ［ｍｍ］，ｍｙ［ｍｍ］］：Ｓ２［０．２，３］、Ｓ３［０．２，３］、Ｓ４［０．１，２］、Ｓ５［０．１，２］、Ｓ６［０．１，０．１］。
組立自由度の総和：ΣＳ＝Ｓ１＋Ｓ２＋Ｓ３＋Ｓ４＋Ｓ５＋Ｓ６＝［０．７，１０．１］。
【００６１】
ここで、先に示した例１の挿入順序と選択した挿入順序の組立中の自由度の推移を図８に示し比較してみると、選択した挿入順序の方が、組立の後半まで組立自由度が高いことがわかる。
【００６２】
また、参考として別の挿入順序ｆｄ→ｆａ１→ｆａ２→ｆｂ１→ｆｂ２→ｆｃで組立した際の組立自由度と、組立自由度の総和を示す（この挿入順序を例２とする）。この挿入順序は６本の嵌合足の各々について、許容変形量が高い軸方向に着目し、許容変形量の高い順に嵌合足を嵌合したものである。
各嵌合足の許容変形量（ｄｘ［ｍｍ］、ｄｙ［ｍｍ］）：ｆｄ（４，０．１）→ｆａ１（０．２，３）→ｆａ２（０．２，３）→ｆｂ１（０．１，２）→ｆｂ２（０．１，２）→ｆｃ（１，０．１）。
各挿入ステップの組立自由度Ｓｎ［ｍｘ［ｍｍ］，ｍｙ［ｍｍ］］：Ｓ２［４，０．１］、Ｓ３［０．２，０．１］、Ｓ４［０．２，０．１］、Ｓ５［０．１，０．１］、Ｓ６［０．１，０．１］。
組立自由度の総和：ΣＳ＝Ｓ１＋Ｓ２＋Ｓ３＋Ｓ４＋Ｓ５＋Ｓ６＝［４．６，０．５］。
【００６３】
例２と選択した挿入順序の組立中の自由度の推移を図９に示す。例２では、ステップＳ２で組立自由度が大きく減少している。許容変形量が大きい軸方向と小さい軸方向が直交した（反対の）嵌合足同士を初期の挿入ステップで挿入すると、２軸のどちらにもワークを動かすことができなくなる。このことからも、挿入順序の決定には、許容変形量をスカラーでなく、本実施例のように方向（向き）を考慮したベクトルで評価して決定するのがよいことが改めて確認できる。
【００６４】
選択した挿入順序において、嵌合足ｆａ１とｆａ２、ｆｂ１とｆｂ２は許容変形量が同じであるため、どちらから挿入しても組立自由度の総和は変わらない。このような場合は、嵌合足ｆａ１とｆａ２、ｆｂ１とｆｂ２の挿入順序はどちらからでもかまわない。タクトを優先するのであれば、嵌合足ｆａ１とｆａ２、ｆｂ１とｆｂ２を同時に挿入することも可能である。ただし、組立の信頼性、確実性を重視するならば、順番に挿入していくのがよい。
【００６５】
このように、自動組立ロボット１は、複数ある嵌合足の挿入順序のそれぞれについて、各挿入ステップにてそれぞれ求めた組立自由度の総和を求めることによって、その挿入順序全体に亘るワークの組立自由度を評価することができる。そして、これら求めた複数の組立自由度の総和の内、組立自由度の総和が所定の値以上の挿入順序の１つ（本実施形態では自由度の総和が最大のもの）を選択することができる（Ｓ１５，１６、評価工程、挿入順序選択工程）。また、これにより、挿入順序全体を通して、第２ワークＷ２に対する第１ワークＷ１の相対移動量が大きな挿入順序を選択することができ、嵌合足ｆの剛性の比較的低い小型製品についても、多点嵌合組立を自動組立ロボット１によりオートメーション化が可能になる。
【００６６】
ついで、上述した嵌合足の挿入順序の決定方法（第１の嵌合足の挿入順序の決定方法）とは異なる第２の嵌合足の挿入順序の決定方法について説明をする。なお、この第２の嵌合足の挿入順序の決定方法は、最後の嵌合足を挿入する時の組立自由度が最大となる順序を選択して組立する方法であり、ステップＳ１４までは第１の嵌合足の挿入順序の決定方法と同一であるため、その説明は省略する。
【００６７】
図１０に示すように、上記第２の嵌合足の挿入順序の決定方法は、まず第１の嵌合足の挿入順序の決定方法と同様に、取得工程（Ｓ１１）、組立自由度演算工程（Ｓ１２）、除外工程（Ｓ１３のＹｅｓ、Ｓ１４）を行う。そしてこれらの工程の後、最後の嵌合足を挿入する時の組立自由度に基づいて複数ある嵌合足の挿入順序を評価すると共に、最後の嵌合足を挿入する時の組立自由度が所定の値以上の挿入順序の１つを選択する（Ｓ１８、評価工程，挿入順序選択工程）。具体的には本実施の形態においては、演算装置１０２が、図７の第６番目の挿入ステップＳ６に記載されている６本目の嵌合足が挿入する際の組立自由度が、最大となる挿入順序を選択する。
【００６８】
なお、この時、最後の嵌合足を挿入する時の組立自由度が最大となる順序の組合せが複数ある場合、１つの挿入順序が決まるまで挿入ステップを１つずつ遡り、組立自由度を比較すると好ましい。本実施の形態においては、第２の嵌合足の挿入順序の決定方法を用いると、選択される挿入順序は、ｆａ１→１ａ２→ｆｂ１→ｆｂ２→ｆｃ→ｆｄとなる。
【００６９】
以上の説明したように、挿入順序の組み合わせの中から挿入順序を決定する方法は大きく２通りある。１つは、図４のフローチャートに示した全ての嵌合足を挿入するまでの各挿入ステップの組立自由度の総和が最大となる順序を選択して組立する方法である。そして、もう１つは図１０のフローチャートに示した最後の嵌合足を挿入する時の組立自由度が最大となる順序を選択して組立する方法である。
【００７０】
本実施の形態のように２つの決定方法で同じ挿入順序が導かれることもあるが、それぞれ異なる挿入順序が決定された場合は次のように選択するとよい。組立自由度に対してロボットアーム２の位置制御精度に余裕が少ない場合は第１の嵌合足の挿入順序の決定方法を選択し、組立自由度に対してロボットアーム２の位置制御精度に余裕がある場合は第２の嵌合足の挿入順序の決定方法を選択するのが良い。別の言い方をすれば、第１の嵌合足の挿入順序の決定方法は組立の正確さが要求される難しい組立、第２の嵌合足の挿入順序の決定方法はタクトも考慮した組立の際に選択するのがよい。
【００７１】
なお、組立自由度を用いてその大小を比較する際に、Ｘ軸方向の組立自由度とＹ軸方向の組立自由度がともに最大となる挿入順序がない場合は、Ｘ軸方向の組立自由度とＹ軸方向の組立自由度の積を取り、積が最大となる挿入順序を選択するのが良い。
【００７２】
また、組立対象のワークによって、嵌合足と嵌合穴の寸法にクリアランスを取った設計がされているものもある。このようなクリアランスによる寸法上の遊びもワークの組立自由度として考慮することができる。よって、本実施の形態では組立自由度を各嵌合足の許容変形量からのみ計算して求めているが、許容変形量にクリアランス分の遊びとなる寸法を足した値から、組立自由度を計算するようにしてもよい。その場合は、嵌合足と嵌合穴のクリアランスの寸法を予めユーザーがロボットコントローラ１０の記憶装置１０３に入力しておき、組立自由度の計算に利用できるようにしておく必要がある。また、許容変形量を実測する際、クリアランスによる寸法上の遊びも含めて実測により測定してしまうのがよい。
【００７３】
更に、本実施形態においては、求めた組立自由度に基づいて複数ある嵌合足の挿入順序を評価する評価工程と、複数ある嵌合足の挿入順序の中から１つの挿入順序を選択する挿入順序選択工程とを同時に行なっているが、別々に行うようにしても良い。また、挿入順序選択工程は人間の手によって行なっても良い。
【００７４】
また、組立自由度が所定の閾値以下となる嵌合足の挿入順序については、挿入順序の選択候補から除外する除外工程は、挿入順序選択工程の前であればいつ行なっても良く、例えば、組立自由度演算工程の中に除外工程を取り込んでも良い。
【００７５】
［組立フローの決定方法］
ついで、組立フローの決定方法（図３のステップＳ２、組立フローの決定工程）について説明をする。ワークＷの組立フローは、第２ワークに対する第１ワークの相対位置の調整、第２ワークに第１ワークが接触するように第１ワークを動かす、嵌合足を挿入する軌道を制御するといった、自動組立ロボット１が行う動きを分解して、順番に並べたものである。
【００７６】
なお、以下の説明に際し、第１ワークＷ１の嵌合足ｆａ１、ｆａ２のある辺を第１辺、嵌合足ｆｂ１、ｆｂ２のある辺を第２辺、嵌合足ｆｃのある辺を第３辺、嵌合足ｆｄのある辺を第４辺と呼ぶこととする。また、第１ワークＷ１の各辺をこのように定義すると、
本実施の形態では、挿入順序の決定工程（図３のＳ１）で決まった挿入順序に基づいて、第１ワークＷ１の嵌合足ｆを第１辺、第２辺、第３辺、第４辺の順に、第２ワークＷ２の対応する嵌合穴ｈに挿入することとなる。
【００７７】
まず、１辺目の嵌合足ｆａ１とｆａ２を嵌合穴ｈａ１とｈａ２に挿入する手順を図１１（ａ）を用いて説明する。初めに嵌合足ｆａ１、ｆａ２と嵌合穴ｈａ１、ｈａ２のＸ軸の位置を合わせる。同時にＺ軸について、１辺目の嵌合足ｆａ１、ｆａ２先端の高さを嵌合穴ｈａ１、ｈａ２の上方の高さ位置に移動する。Ｙ軸については、平行移動して嵌合穴ｈａ１、ｈａ２の位置に移動する。またこのとき、嵌合穴ｈａ１、ｈａ２に対して嵌合足ｆａ１、ｆａ２を数度傾ける。角度に関しては、第２辺の嵌合足ｆｂ１、ｆｂ２先端が嵌合穴ｈｂ１、ｈｂ２に接触しない大きさとする。
【００７８】
次に第１辺目の嵌合足ｆａ１，ｆａ２の先端と嵌合穴ｈａ１，ｈａ２の側面が接触するまで、嵌合足ｆａ１，ｆａ２をＹ軸方向に平行移動し、同時にＺ軸方向も下降方向に移動する。力覚センサ５の出力値により接触を検知するが、自動組立ロボット１の制御に時間遅れが発生するため、ロボットの速度やセンサ情報取得周期やセンサ精度を考慮し、可能な限り小さい値を、接触を検知する力覚閾値として設定する。次に第２辺目挿入開始位置まで、Ｚ軸方向に挿入すると共にＹ軸を制御する。このとき、Ｘ軸方向にはコンプライアンス制御を行い、嵌合足ｆａ１，ｆａ２の破壊を防ぐ。なお、第１辺の２本の嵌合足ｆａ１，ｆａ２は、許容変形量が同一のため、組立に要するタクトタイムの短縮のため同時挿入とした。
【００７９】
次に２辺目の嵌合足ｆａｂ１とｆｂ２を嵌合穴ｈｂ１とｈｂ２に挿入する手順を図１１（ｂ）を用いて説明する。第１辺目の嵌合足ｆａ１，ｆａ２が嵌合穴ｈａ１，ｈａ２に挿入されている状態で２辺目を挿入していく。まず、嵌合足ｆｂ１，ｆｂ２を第１辺の嵌合足ｆａ１，ｆａ２の挿入位置を中心にＸ軸回りに回転させる。このとき、「嵌合足ｆａ１，ｆａ２の挿入位置を基準とする回転軌道」と「次に挿入する嵌合足ｆｂ１，ｆｂ２が対応する嵌合穴ｈｂ１，ｈｂ２の縁に接触しない軌道」とを合成した軌道を作り、Ｙ軸方向に嵌合足を制御する。軌道生成の方法については後述する。このとき、Ｘ軸方向にはコンプライアンス制御を行い、嵌合足ｆの破壊を防ぐ。なお、第２辺の２本の嵌合足ｆｂ１，ｆｂ２は、許容変形量が同一のため、組立に要するタクトタイムの短縮のため同時挿入とした。
【００８０】
次に、第３辺目の嵌合足ｆｃを嵌合穴ｈｃに挿入する手順を図１２（ａ）を用いて説明する。第３辺目の嵌合足ｆｃ挿入は、対辺である第４辺に挿入済の嵌合足ｆｄが無いので、第１辺目、第２辺目の挿入済の嵌合足ｆａ１，ｆａ２，ｆａｂ１とｆｂ２のみ考慮した挿入となる。ここでは、第４辺目の嵌合足ｆｄ先端を中心としながら嵌合足を回転させる。また、第３辺の嵌合足ｆｃの先が対応する嵌合穴ｈｃの縁に衝突しないような軌道をとる必要がある。そのため、「嵌合足ｆａ１，ｆａ２、ｆｂ１，ｆｂ２の挿入位置を基準とする回転軌道」と「次に挿入する嵌合足ｆｃが対応する嵌合穴ｈｃの縁に接触しない軌道」とを合成した軌道を作る。そして、この合成した軌道に基づいてＸ軸方向に嵌合足ｆｃを制御する。第２辺目と同じく軌道生成の方法については後述する。さらに、Ｙ軸方向にコンプライアンス制御を行い、挿入済みの嵌合足ｆａ１，ｆａ２、ｆｂ１，ｆｂ２の破壊を防ぐ。
【００８１】
次に、第４辺目の嵌合足ｆｄを嵌合穴ｈｄに挿入する手順を図１２（ｂ）を用いて説明する。まず、嵌合足ｆｄを第３辺の嵌合足ｆｃの挿入部を中心にＹ軸回りに回転させる。このとき、「嵌合足ｆｃを起点に生成する回転軌道」と「次に挿入する嵌合足ｆｄが対応する嵌合穴ｈｄの縁に接触しない軌道」とを合成した軌道を作り、Ｘ軸方向に嵌合足ｆｄを制御する。第２辺目、３辺目と同じく軌道生成の方法については後述する。さらに、Ｙ軸方向にコンプライアンス制御を行い、挿入済みの嵌合足ｆａ１，ｆａ２、ｆｂ１，ｆｂ２，ｆｃの破壊を防ぐ。
【００８２】
上述したように、組立フローの決定工程においては、嵌合足ｆを有するワークＷ１，Ｗ２の各辺ごとに、嵌合足の挿入動作を決定する。
【００８３】
［挿入軌道の決定方法］
最後に挿入軌道の決定方法（図３のステップＳ３、軌道演算工程）について詳しく説明をする。図１３は、「挿入済の嵌合足に負荷をかけない軌道」を説明するための図である。組立中の嵌合足の塑性変形や破壊を防止するためには、嵌合足ｆを順次嵌合穴ｈに挿入していく際、既に挿入した嵌合足ｆｄにかかる負荷が小さくなるような軌道で次の嵌合足ｆｎを挿入する必要がある。
【００８４】
例えば図１３（ａ）では、既に挿入済の嵌合足ｆａ１，ｆａ２があり、次に挿入する嵌合足は嵌合足ｆｂ１，ｆｂ２である。嵌合足ｆｂ１，ｆｂ２を嵌合穴ｈｂ１，ｈｂ２に挿入する際、嵌合足と嵌合穴の相対位置ズレを補正するだけでなく、挿入済の嵌合足に塑性変形や破壊が発生するような負荷のかからない軌道で第１ワークＷ１の天板ＴＰの位置を制御しなければならない。
【００８５】
そこで、本実施の形態では次の嵌合足ｆｎを嵌合穴ｈｎに挿入する際、ロボットアーム２によって第１ワークＷ１の天板ＴＰを動かす軌道の生成を次の２つの軌道を合成して生成する。これら合成される２つの軌道の内、第１の軌道Ｏ１は「挿入済みの嵌合足への負荷に基づいて演算された軌道」であり、具体的には、「挿入済の嵌合足近傍の任意の基準点を起点に生成する軌道」といえる。また、言い換えると「基準点を中心に第１もしくは第２ワークを回転させて、挿入される嵌合足を目的位置まで移動させる場合に生じる軌道」ともいえる。更に、第２の軌道Ｏ２は「挿入される嵌合足をその先端部が対応する嵌合穴の縁と接触させずに挿入可能な軌道」である。
【００８６】
図１３（ｂ）に第１の軌道Ｏ１の例を示す。嵌合足ｆを挿入すると、挿入した嵌合足ｆと嵌合穴ｈとの間で拘束が発生する。その拘束が発生する点を、挿入済の嵌合足ｆｄの位置に基いた基準点として１点を定めるが、基準点は次のように決定する。
【００８７】
挿入済みの嵌合足ｆｄが１本であるときは、その嵌合足ｆｄと嵌合穴ｈｄとが接する接点の近傍点とする。また、挿入済みの嵌合足が２本であるときは、２本の嵌合足間の中間位置の近傍点とする。さらに、挿入済みの嵌合足が３本以上であるときは、挿入済みの嵌合足によって囲まれる領域内の点、またはその領域の近傍の点とする。そのための嵌合足ｆと嵌合穴ｈの物体形状、と嵌合足間と嵌合穴間の距離は、予めロボットコントローラ１０の記憶装置１０３にデータとして入力しておく必要がある。
【００８８】
例えば、図１３（ａ）で挿入済みに嵌合足が嵌合足ｆａ１の１本であり、次に挿入する嵌合足が嵌合足ｆｂ１であったとする。その際の基準点Ｐは、嵌合足ｆａに応力がかかっていないときの嵌合足ｆａの仮想位置（図１３（ａ）の点線ｎ）と、嵌合穴ｈａ１の内壁Ｉａ１との交点と定める。図１３（ｂ）に示す基準点Ｐを中心とした回転軌道が、挿入済の嵌合足ｆａ１に負荷のかかりにくい軌道Ｏ１、つまり第１の軌道となる。
【００８９】
しかし、図１３（ｂ）を見てわかるように軌道Ｏ１は、嵌合穴ｈｂ１の上縁ＵＥに接触しており、このままでは嵌合足ｆｂ１は第２ワークＷ２に干渉してスムーズに挿入できない。このように挿入済の嵌合足の拘束点を基準とした回転軌道では、嵌合穴の縁と干渉して挿入できない軌道が生成されてしまうことがある。そのため、第２の軌道である「次に挿入する嵌合足の先端部が対応する嵌合穴の縁に接触しない軌道」を第１の軌道に合成し、最終的な軌道Ｏ３を生成する。
【００９０】
上記第２の軌道Ｏ２の生成を図１４を用いて説明する。第２の軌道Ｏ２は、「次に挿入する嵌合足ｆｎの先端部が対応する嵌合穴ｈｎの縁Ａ，Ｂに接触しない軌道」である。まず、嵌合足ｆｂ１（ｆｂ２）の先端部の軌道に対しＳｔａｒｔとＧｏａｌを定める。次に、嵌合足ｆｂ１（ｆｂ２）からみた障害物である嵌合穴ｈｂ１（ｈｂ２）の上縁ＵＥを回避する挿入軌道を計画するために、挿入穴ｆｂ１（ｆｂ２）の形状に即したポテンシャルフィールドを設定する。ポテンシャルフィールドとは、仮想的な重力場として引力と斥力の項を数式で定義し、平面や空間上の任意の座標のポテンシャルを等高線図のように数値化しＭＡＰにしたものである。ポテンシャルフィールドを作成するための引力と斥力は、嵌合足と嵌合穴の物体形状の形状は既知であるので、定めたＳｔａｒｔ地点に対し、Ｇｏａｌ地点より引力が発生し、一方で嵌合穴の上縁を障害物として斥力を発生するよう設定する。斥力の発生点を図に示すと図１４の点Ａと点Ｂとなる。
【００９１】
図１４（ａ）の例では、嵌合穴の点Ａと点Ｂの２点に斥力を発生させているが、嵌合穴の上縁ＵＥとなる平面全体から斥力を発生させるように設定してもよい。このように作成したポテンシャルマップの例を図１４（ｂ）に示す。Ｓｔａｒｔと記載された地点ポテンシャルが最も高く、Ｇｏａｌと記載された地点のポテンシャルが最も低くなる。次に挿入する嵌合足ｆｂ１の先端の軌道は、Ｓｔａｒｔ地点からＧｏａｌ地点に向け、ポテンシャルが高いところから低いところを順にたどって移動したものとなる。
【００９２】
なお、嵌合穴の内壁に嵌合足が接触しても、内壁にならって嵌合足ｆｂ１（ｆｂ２）は適度な弾性変形を伴いながら内壁にならって挿入されるため、内壁は障害物として斥力を定義しない。また、Ｇｏａｌ地点は、嵌合穴の幅と厚み方向の中心となる点とした。
【００９３】
このようなポテンシャルフィールドは以下のような式で定義することができる。
【００９４】
【数１】
0006026746.tif 000004
ここで、式１．１はＧｏａｌ地点ｑｇｏａｌから空間上の任意の点ｑへ働く引力、式１．２は、障害物ｑｏｂｓｔａｃｌｅから空間上の任意の点ｑへ働く斥力、式１．３は式１．１と式１．２の和をとった任意の位置ｑのポテンシャルを示す式である。また、ｑ、ｑｇｏａｌ、ｑｏｂｓｔａｃｌｅは平面上の座標（ｘ，ｙ）を表し、ρは２点間の距離ｄを計算する関数である。
【００９５】
例えば、ρ（ｑ，ｑｇｏａｌ）はｑとｑｇｏａｌの２点間の距離を表している。α，ｍ，β，ｎはそれぞれ，ポテンシャルフィールドの傾斜と高さを表しており、ユーザーが決定しなければならない係数である。本実施の形態では、これら４つのパラメータα，ｍ，β，ｎを決定する際に第１の軌道Ｏ１を利用する。その結果決定された軌道は、第１の軌道Ｏ１と第２の軌道Ｏ２が合成された軌道Ｏ３となる。
【００９６】
上記４つのパラメータα，ｍ，β，ｎは、第１の軌道Ｏ１と、任意のα，ｍ，β，ｎで作成された第２の軌道Ｏ２との差Ｌを評価値として決定する。図１５に示すようにＳｔａｒｔからＧｏａｌまでの各点で第１の軌道Ｏ１と第２の軌道Ｏ２との差Ｌを計算し、それを合計しΣＬを計算する。このΣＬが小さくなるような４つのパラメータα，ｍ，β，ｎを求める。
【００９７】
なお、これら４つのパラメータα，ｍ，β，ｎを求める方法は、様々な探索計算、収束計算が考えられる。ここでは、その計算手法の１つとして、遺伝的アルゴリズムを利用した。遺伝的アルゴリズムは確率的な解の探索方法であり、準最適な解を実時間内に比較的簡単に得ることができる代表的な手法である。遺伝的アルゴリズムの計算方法については公知の内容であり本発明に関係ないため説明を割愛する。
【００９８】
以上の方法で決定されたα，ｍ，β，ｎにより作られたポテンシャルフィールドから、嵌合足ｆ１ｂの先端の描く軌道が最終的に決定される。この軌道によって次の嵌合足ｆｎを嵌合穴ｈｎに挿入することで、挿入済の嵌合足ｆｄに過度な負荷を与えることなくスムーズに次の嵌合足を挿入することが可能となり、結果、組立最中のワークＷの破壊を防止することとなる。
【００９９】
また、第２ワークＷ２には嵌合穴ｈに図１６に示すような嵌合足を挿入するためのガイド３０が設けられているものがある。このような設計の第２ワークＷ２に対する嵌合足ｆの挿入軌道は、図１６（ｂ）のように生成する。ガイドがない場合との違いは、ポテンシャルフィールドを作成する際の障害物の位置がガイドの上縁の図中の点Ｃに設定されることにある。
【０１００】
これによって生成される嵌合足先端の軌道は、図１６（ｂ）に点線で記載しているようにガイド３０に接触しながら、ガイド３０にならって嵌合穴ｈに挿入される軌道を作ることができる。このように軌道を作ると、挿入時の位置精度要求を低減し、より簡単に挿入することが可能である。以上が挿入軌道の決定方法（Ｓ３）である。
【０１０１】
上述した挿入順序の決定（Ｓ１）、組立フローの決定（Ｓ２）、挿入軌道の決定（Ｓ３）がオフラインで済めば、あとはそれに従ってとロボットコントローラ１０がロボットアーム２を制御し、順番に組立動作を行う。実際の組立最中には、挿入軌道の決定で決定された挿入軌道に対して、力覚センサ５の検出値によってコンプライアンス制御により軌道の微修正がオンラインで行われる。
【０１０２】
［まとめ］
このように本実施の形態によれば、第１ワークＷ１が第２ワークＷ２に対して相対移動可能な組立自由度を、第１ワークＷ１が水平移動する方向について求め、求めた組立自由度に基づいて嵌合足ｆの挿入順序を評価している。これにより、例え、嵌合足ｆの強度が低くても、組立中に挿入済みの嵌合足ｆを破壊せずに多点嵌合組立を行うことができる。
【０１０３】
また、第２番目の挿入ステップ以降に挿入される嵌合足の挿入軌道を演算するに際し、「挿入済みの嵌合足への負荷に基づいて演算された第１軌道」と、「挿入される嵌合足をその先端部が対応する嵌合穴の縁と接触させずに挿入可能な第２軌道」とを合成している。そして、この合成した軌道に従って第１ワークＷ１を第２ワークＷ２に対して位置制御することにより、挿入する嵌合足ｆｎをスムーズに嵌合穴ｈｎに挿入できる。また、挿入済みの嵌合足ｆｄに生じる負荷を低減することができる。
【０１０４】
そして、これら嵌合足ｆの挿入順序の評価及び軌道の演算が相まって、嵌合足ｆを嵌合穴に挿入していく過程で、挿入済の嵌合足が塑性変形や破壊に至る過度な負荷がかかることを防止し、確実な組立を可能とすることができる。
【０１０５】
なお、本実施の形態においては、第１ワークＷ１に嵌合足ｆを、第２ワークＷ２に嵌合穴ｈを形成したが、これら嵌合足ｆ及び嵌合穴ｈは、第１及び第２ワークＷ１，Ｗ２のどちらに形成しても良く、当然に混在しても存在しても良い。この場合、ロボットアーム２は、第１及び第２ワークＷ１，Ｗ２のいずれか一方のワークを把持し、載置された他方のワークに組み付ける。
【０１０６】
また、嵌合足の材質は、ＳＵＳに限らず、プラスチックなどどのようなものを用いても良く、その形状は、板状のペグ、円形のボスに限らず、溝嵌合、ダボ嵌合など各種の嵌合形態を適用することができる。
【０１０７】
更に、挿入順序選択工程において選択される挿入順序は、必ずしも組立自由度の総和／最後の嵌合足を挿入される際の組立自由度が最大値でなくとも、自動組立ロボット１が多点嵌合組立を可能な所定の値の範囲の挿入順序であれば、どれを選択しても良い。
【０１０８】
また、嵌合足ｆの許容変形量は、嵌合足ｆの物理寸法データとヤング率などの物性データを記憶装置１０３に保存しておき、演算装置１０２で嵌合足の自由度を計算することにより求めても良い。この方法を用いると、ワークを製造する際のＣＡＤデータを転送することで、人手の手間をかけずに自由度を求めることができる。また、ロボットコントローラ１０は、オフラインの演算機能を、別途構成されたサ−バー機に持たせても良い。
【０１０９】
更に、嵌合足ｆを嵌合穴ｈに挿入していく際は、嵌合足ｆの挿入長すべてを嵌合穴ｈに挿入せずに、挿入長の一部だけ浅く挿入しておくとよい。このような状態を維持して次の嵌合足を挿入することで、既に挿入した嵌合足と嵌合穴間で発生する嵌合物と被嵌合物の拘束をさらにゆるい状態で保持することができる。つまり、さらに簡単にロボットによる挿入動作を進めることができる。
【符号の説明】
【０１１０】
１：自動組立ロボット、２：ロボットアーム、１０２：演算装置、ｌ：嵌合足、Ｗ１：第１ワーク、Ｗ２：第２ワーク、Ｏ１：第１軌道、Ｏ２：第２軌道、Ｐ：基準点、ＣＰＲ：組み立て手順演算プログラム、Ｓ３：軌道演算工程、Ｓ１１：取得工程、Ｓ１２：組立自由度演算工程、Ｓ１４：除外工程、Ｓ１６，１８：評価工程，挿入順序選択工程
【図１】
0006026746.tif 000005
【図２】
0006026746.tif 000006
【図３】
0006026746.tif 000007
【図４】
0006026746.tif 000008
【図５】
0006026746.tif 000009
【図６】
0006026746.tif 000010
【図７】
0006026746.tif 000011
【図８】
0006026746.tif 000012
【図９】
0006026746.tif 000013
【図１０】
0006026746.tif 000014
【図１１】
0006026746.tif 000015
【図１２】
0006026746.tif 000016
【図１３】
0006026746.tif 000017
【図１４】
0006026746.tif 000018
【図１５】
0006026746.tif 000019
【図１６】
0006026746.tif 000020
【図１７】
0006026746.tif 000021