(57)【要約】【課題】視覚センサを要せずに、把持前の予備計測と、把持後の本計測を実行できるハンドリング装置。【解決手段】パラレルリンク型ロボットのアーム先端に、光電センサを設ける。Ｚ位置が既知の載置面上に仮止めされたワークＷの２辺について、センシングビームＢＭをよぎらせ、よぎり時のロボット位置・姿勢から、ワークＷの仮止め位置（２次元）を求める。基準仮止め位置・姿勢とのずれを補償するロボット位置・姿勢の補正を行い、ワークＷを把持／ピックアップする。次いで、把持されたワークＷの複数辺または複数コーナを、既知の突き当て辺または突き当て面に突き当て、その際のロボットの位置・姿勢を用いて把持位置・姿勢を求め、基準把持位置・姿勢とのずれを補償するロボットの位置・姿勢の下で別ワークへの組み付けを行う。【選択図】図７
2009050921.tif 000002
【特許請求の範囲】
【請求項１】
ロボットと、該ロボットに取付けられ、平坦な把持面を夫々持つ少なくとも２つの指部を備えるとともに、前記ロボットに対する相対位置及び相対姿勢が既知であるハンドと、
前記ロボットの動作及び前記ハンドの開閉を制御する制御装置とを備え、  
第１の辺と、該第１の辺に対して非平行に延在して既知の角度をなす第２の辺とを含む少なくとも２つの辺を提供する平板状領域を含むとともに該平板状領域の表裏面の内の少なくとも一方の面と平行に延在する少なくとも１つの平坦面を有し、且つ、所定の位置に供給される保持部材のワーク載置面上に、前記第１の辺の少なくとも一部及び前記第２の辺の少なくとも一部が該保持部材から、前記ワーク載置面に沿った方向に突出するとともに前記平坦面を前記ワーク載置面に接しさせた状態で仮止めされる第１のワークを、前記ハンドで把持し、前記ロボットを用いて前記保持部材からピックアップして移動させる、ハンドリング装置であって、  
前記ワーク載置面上における前記第１のワークの基準仮止め位置及び姿勢を記憶する第１の記憶手段と、  
前記ハンドによる前記第１のワークの把持について、前記ロボットまたは前記ハンドに対する基準把持位置及び基準把持姿勢を記憶する第２の記憶手段と、  
前記第１のワークが前記ハンドによって把持される前に、前記保持部材上に仮止めされた前記第１のワークに対して予備計測を実行する予備計測手段と、  
前記第１のワークが前記ハンドによって把持され、前記保持部材からピップアップされた後に、前記ハンドによって把持された前記第１のワークに対して本計測を実行する本計測手段とを備え、  
前記予備計測手段は、  
前記ハンドに設置され、前記ロボットに対する相対位置及び相対姿勢が既知のセンシングビームを出力する投光器と、前記センシングビームを受光する位置に設けられた受光器とを含む光電センサと、  
前記センシングビームの光路が前記第１の辺を、該第１の辺上の第１の位置及び該第１の位置とは異なる第２の位置の少なくとも２箇所でよぎるように、前記ロボットを移動させる第１のロボット移動手段と、  
前記センシングビームの光路が前記第２の辺を、該第２の辺上の少なくとも第３の位置の１箇所でよぎるように、前記ロボットを移動させる第２のロボット移動手段と、  
前記センシングビームのオン／オフを切り替えるビーム出力切替手段と、  
前記第１の位置を前記光路が通過する第１の時点、前記第２の位置を前記光路が通過する第２の時点、及び、前記第３の位置を前記光路が通過する第３の時点を前記受光器の出力に基づいて検出する通過時点検出手段と、  
該通過時点検出手段によって検出された、前記第１の時点における前記ロボットの第１の位置及び姿勢、前記第２の時点における前記ロボットの第２の位置及び姿勢、及び、前記第３の時点における前記ロボットの第３の位置及び姿勢に基づいて、前記第１のワークの前記載置面上での２次元位置及び姿勢を求める２次元位置姿勢算出手段とを含む一方、
前記本計測手段は、位置及び姿勢が既知の突き当て辺を有する第１の突き当て手段と、
前記ハンドで把持されたワークの前記少なくとも２つの辺に含まれる第３の辺の互いに異なる少なくとも２箇所が、前記突き当て辺に、順次、突き当たるように、前記ロボットを移動させる第３のロボット移動手段と、  
前記ハンドで把持されたワークの前記少なくとも２辺に含まれ、前記第３の辺とは非平行に延在して既知の角度をなす第４の辺が前記突き当て辺に突き当たるように、前記ロボットを移動させる第４のロボット移動手段と、  
前記第３のロボット移動手段によるロボット移動中及び前記第４のロボット移動手段によるロボット移動中に、前記第３の辺及び前記第４の辺による前記突き当て辺への突き当りを検出する第１の突き当り検出手段と、  
該第１の突き当り検出手段によって前記突き当りが検出された各時点における各ロボット位置に基づいて、前記ロボットまたは前記ハンドに対する前記第１のワークの相対把持位置及び相対把持姿勢を求める第１のワーク把持状態計算手段とを含み、  
前記制御装置は、前記２次元位置 姿勢算出手段によって求められた前記第１のワークの２次元位置と、前記第１の記憶手段によって記憶された基準仮止め位置及び姿勢との比較を行い、該比較の結果に基づいて前記ロボットの位置及び姿勢を補正する第１のロボット位置補正手段と、
前記第１のワーク把持状態計算手段によって求められた前記把持位置及び前記把持姿勢と、前記第２の記憶手段によって記憶された基準把持位置及び基準把持姿勢との比較を行い、
該比較の結果に基づいて前記ロボットの位置及び姿勢を補正する第２のロボット位置補正手段とを備えることを特徴とする、前記ハンドリング装置。
【請求項２】
ロボットと、該ロボットに取付けられ、平坦な把持面を夫々持つ少なくとも２つの指部を備えるとともに、前記ロボットに対する相対位置及び相対姿勢が既知であるハンドと、前記ロボットの動作及び前記ハンドの開閉を制御する制御装置とを有し、
第１の辺と、該第１の辺に対して非平行に延在して既知の角度をなす第２の辺とを含む少なくとも３つの辺を提供する平板状領域を含み、該少なくとも３つの辺に含まれる少なくとも１つの辺の両端に、いずれも凸であり相互の離隔距離が既知である第１のコーナ及び第２のコーナが形成されているいるとともに該平板状領域の表裏面の内の少なくとも一方の面と平行に延在する少なくとも１つの平坦面を有し、且つ、所定の位置に供給される保持部材のワーク載置面上に、前記第１の辺の少なくとも一部及び前記第２の辺の少なくとも一部が該保持部材から、前記ワーク装置面に沿った方向に突出するとともに前記平坦面を前記ワーク載置面に接しさせた状態で仮止めされる第１のワークを、前記ハンドで把持し、前記ロボットを用いて前記保持部材からピックアップして移動させる、ハンドリング装置であって、
前記ワーク載置面上における前記第１のワークの基準仮止め位置及び姿勢を記憶する第１の記憶手段と、
前記ハンドによる前記第１のワークの把持について、前記ロボットまたは前記ハンドに対する基準把持位置及び基準把持姿勢を記憶する第２の記憶手段と、
前記第１のワークが前記ハンドによって把持される前に、前記保持部材上に仮止めされた前記第１のワークに対して予備計測を実行する予備計測手段と、
前記第１のワークが前記ハンドによって把持され、前記保持部材からピップアップされた後に、前記ハンドによって把持された前記第１のワークに対して本計測を実行する本計測手段とを備え、
前記予備計測手段は、
前記ハンドに設置され、前記ロボットに対する相対位置及び相対姿勢が既知のセンシングビームを出力する投光器と、前記センシングビームを受光する位置に設けられた受光器とを含む光電センサと、
前記センシングビームの光路が前記第１の辺を、該第１の辺上の第１の位置及び該第１の位置とは異なる第２の位置の少なくとも２箇所でよぎるように、前記ロボットを移動させる第５のロボット移動手段と、
前記センシングビームの光路が前記第２の辺を、該第２の辺上の少なくとも第３の位置の１箇所でよぎるように、前記ロボットを移動させる第６のロボット移動手段と、
前記センシングビームのオン／オフを切り替えるビーム出力切替手段と、
前記第１の位置を前記光路が通過する第１の時点、前記第２の位置を前記光路が通過する第２の時点、及び、前記第３の位置を前記光路が通過する第３の時点を前記受光器の出力に基づいて検出する通過時点検出手段と、
該通過時点検出手段によって検出された、前記第１の時点における前記ロボットの第１の位置及び姿勢、前記第２の時点における前記ロボットの第２の位置及び姿勢、及び、前記第３の時点における前記ロボットの第３の位置及び姿勢に基づいて、前記第１のワークの前記載置面上での２次元位置及び姿勢を求める２次元位置姿勢算出手段とを含む一方、
前記本計測手段は、
位置及び姿勢が既知の突き当て面を有する第２の突き当て手段と、
前記ハンドで把持されたワークの前記第１のコーナ及び前記第２のコーナの夫々が、夫々１回以上、且つ、合計３回以上、順次、前記突き当て面に対して突き当たりを起すように前記ロボットを移動させる第７のロボット移動手段と、
前記第７のロボット移動手段によるロボット移動中に、前記第１のコーナ及び前記第２のコーナによる前記突き当て面への突き当りを検出する第２の突き当り検出手段と、
該第２の突き当り検出手段によって前記突き当りが検出された各時点における各ロボット位置に基づいて、前記ロボットまたは前記ハンドに対する前記第１のワークの相対把持位置及び相対把持姿勢を求める第２のワーク把持状態計算手段とを含み、
前記制御装置は、前記２次元位置 姿勢算出手段によって求められた前記第１のワークの２次元位置と、前記第１の記憶手段によって記憶された基準仮止め位置及び姿勢との比較を行い、該比較の結果に基づいて前記ロボットの位置及び姿勢を補正する第１のロボット位置補正手段と、
前記第２のワーク把持状態計算手段によって求められた前記把持位置及び前記把持姿勢と、前記第２の記憶手段によって記憶された基準把持位置及び基準把持姿勢との比較を行い、該比較の結果に基づいて前記ロボットの位置及び姿勢を補正する第３のロボット位置補正手段とを備え、
前記第７のロボット移動手段による、前記第１のコーナによる前記突き当て面への突き当て、及び、前記第２のコーナによる前記突き当て面への突き当ての内の少なくとも一方により、前記第１のワークの前記平板状領域の善哉面に対応する仮想平面と前記突き当て面との交線が少なくとも２本互いに非平行に形成されることを特徴とする、前記ハンドリング装置。
【請求項３】
前記突き当て面は曲面であり、  
前記第１のコーナによる前記突き当て面への突き当て、及び、前記第２のコーナによる前記突き当て面への前記突き当ては、いずれも少なくとも２回行われ、  
前記第１のコーナによる前記突き当て面への突き当てにより、前記第１のワークの前記平板状領域の延在面に対応する仮想平面と前記突き当て面の交線が少なくとも２本互いに非平行に形成されるとともに、  
前記第２のコーナによる前記突き当て面への突き当てにより、前記第１のワークの前記平板状領域の延在面に対応する仮想平面と前記突き当て面の交線が少なくとも２本互いに非平行に形成される、請求項２に記載のハンドリング装置。
【請求項４】
前記ロボットはパラレルリンク型のロボットである、請求項１〜請求項３の内のいずれか１項に記載のハンドリング装置。
【請求項５】
前記制御装置は、前記第２のロボット位置補正手段または前記第３のロボット位置補正手段により前記ロボット位置を補正して、前記ロボットに、前記第１のワークを、所定位置に位置決めされた第２のワークに対して組み付ける動作を行わせる、請求項１〜請求項４の内のいずれか１項に記載のハンドリング装置。
【請求項６】
前記第２のワークの位置決めは、前記ロボットとは別のロボットにより行われる、請求項５に記載のハンドリング装置。
【請求項７】
前記別のロボットはパラレルリンク型のロボットである、請求項６に記載のハンドリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも一部が平板状領域を形成しているようなワーク（例えば、平板状の形状にいくつかの突起部を付加した形状を持つワーク）を、ロボットに装着したハンドで把持して、組み立て作業等のために移動させるハンドリング装置に関する。
【背景技術】
【０００２】
種々の装置の組み立て作業にロボットを利用することは周知である。その際に基本となるのは、組み立て作業に用いられるワークのハンドリングであり、通常、それはロボットに装着されたハンドによるワークの把持と、ワークを把持した状態でのロボット移動によって行われる。組み立て作業に含まれる典型的な動作としては、１つのワークを別のワークの穴に差し込む「嵌合」の動作がある。
【０００３】
その例は、携帯電話に代表される小型電子機器の組立作業に含まれる「フレキシブルケーブルをコネクタの穴に差し込む作業」である。ところが、現在のところ、この作用はほとんど人手により行われている。その理由としては、携帯電話の部品が小型軽量で元々人が得意とする作業分野であること、組立方向が必ずしも一方向ではないこと、マウンタによる自動化が難しい等が考えられるが、最も大きな理由は、ロボットを用いた場合にハンドによる部品（ワーク）の把持状態のばらつきに関連する問題に対する現実的な対応が困難であることである。
【０００４】
即ち、後述する実施形態で説明するように、嵌合部品であるフレキシブルケーブルは、治具の載置面上に仮止めされた状態で「所定位置」に供給されてくるために、「所定位置」が正確であってもフレキシブルケーブル自身の供給位置、特に、載置面上での２次元位置にはある程度のばらつきが避けられない。
【０００５】
これがハンドによる把持状態のばらつきの原因となる。把持状態のばらつきの問題を解決しないままコネクタに接近し、嵌合作業を行おうとすると、コネクタが正確に位置決めされていても、嵌合部品（フレキシブルケーブル）と被嵌合部品（コネクタ）の嵌合にずれが生じ、嵌合作業に支障をきたすことになる。
【０００６】
このような問題に対する周知の解決策として、視覚センサを利用する方法がある。この方法は大きく次の２つのタイプに分けられる。
（１）ハンドによる把持に先だって、被把持ワークの位置や姿勢のずれ（基準となる位置や姿勢からのずれ）を検出し、その結果に基づいてロボットの位置及び姿勢を補正して把持を行う。
（２）ハンドによる把持を行った後に、被把持ワークの把持位置や把持姿勢のずれ（基準となる把持位置や把持姿勢からのずれ）を検出し、その結果に基づいてロボットの位置及び姿勢を補正して、嵌合作業を行う。
【０００７】
また、嵌合部品と被嵌合部品の間にある程度の位置ずれがあってもこれを吸収してしまうという手法も知られている。例えば下記特許文献１には、ロボットのアーム先端にコンプライアンス機構を取付け、位置姿勢の誤差を機械的に吸収しながら嵌合を行うことが説明されている。
【０００８】
更に、嵌合作業に関連して、ハンドに把持された嵌合ワークがロボットの移動によって他の物体（嵌合ワーク）につきあたったことを検出する技術として、ロボット制御装置内部で得られる情報（ロボット駆動軸への供給電流、その指令値）や、各軸に取付けられたトルクセンサからの信号）から検出する手法も周知である（例えば下記特許文献２参照）。
【０００９】
【特許文献１】特開平１１−１２３６８３号公報
【特許文献２】特開２００５−２８５３２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述したように、ハンドを装着したロボットにより組み立て部品等のワークをハンドリングする際の把持状態のばらつきの問題は、視覚センサを利用すれば一応は解決できる。しかし、視覚センサを利用する場合、カメラや、場合によってはスリット光投光器、スポット光投光器などにより必要スペースとコストが増大する。特に、ロボットにそれら機器を装着する場合には、ハンドとの並設となり、干渉の可能性も大きくなる。
【００１１】
また、上記（２）の手法だけでは、把持状態の安定化（一定化）は図れない。即ち、把持状態のずれに応じたロボットの位置及び姿勢の補正はできても、把持状態自体のずれが開放される訳ではない。逆に、上記（１）の手法だけでは、把持状態の安定化は図れるが、把持動作（ハンドの開閉）に伴って生じるかも知れない微妙なずれに対処できない。
【００１２】
本発明の基本的な目的は、ロボットに装着されたハンドで把持されるワークが、平板状領域と、該平板状領の表裏面の内の少なくとも一方と平行な平坦面を持ち、所定の位置に供給される保持部材のワーク載置面上に、前記平板状領域の少なくとも一部（被把持部）を該保持部材から該ワーク載置面に沿った方向に突出させるとともに前記平坦面を前記ワーク載置面に接しさせた状態で仮止めされるものである場合に、その形状条件を利用して、視覚センサを要することなく、ハンドによる把持状態の安定化（一定化）のみならず、把持後の把持状態の検出も可能なロボットハンドリングシステムを提供することにある。
【課題を解決するための手段】
【００１３】
上記の問題を解決するために、本発明では、ハンドによる把持前に仮止めされたワークの２次元位置及び２次元姿勢を計測する「予備計測手段」と、ハンドによって把持されたワークについて、ロボットまたはハンドに対するワークの相対把持位置及び相対把持姿勢を計測する「本計測手段」を設ける。「予備計測手段」としては、ハンド上に設置され、ロボットに対する相対位置及び相対姿勢が既知のセンシングビームを持つ光電センサを利用する。
【００１４】
また、「本計測手段」には、ロボット移動による「位置姿勢が既知の突き当て辺または突き当て面」への複数回の突き当てが利用される。そして、予備計測の結果は、把持前のロボット位置・姿勢の補正に利用され、本計測の結果は、把持後のロボット位置・姿勢の補正に利用される。
【００１５】
より具体的に云えば、本発明は先ず、「ロボットと、該ロボットに取付けられ、平坦な把持面を夫々持つ少なくとも２つの指部を備えるとともに、前記ロボットに対する相対位置及び相対姿勢が既知であるハンドと、前記ロボットの動作及び前記ハンドの開閉を制御する制御装置とを備え、
第１の辺と、該第１の辺に対して非平行に延在して既知の角度をなす第２の辺とを含む少なくとも２つの辺を提供する平板状領域を含むとともに該平板状領域の表裏面の内の少なくとも一方の面と平行に延在する少なくとも１つの平坦面を有し、且つ、所定の位置に供給される保持部材のワーク載置面上に、前記第１の辺の少なくとも一部及び前記第２の辺の少なくとも一部が該保持部材から、前記ワーク載置面に沿った方向に突出するとともに前記平坦面を前記ワーク載置面に接しさせた状態で仮止めされる第１のワークを、前記ハンドで把持し、前記ロボットを用いて前記保持部材からピックアップして移動させる、ハンドリング装置」に適用される。
【００１６】
そして、本発明の特徴に従えば、上記ハンドリング装置は、
前記ワーク載置面上における前記第１のワークの基準仮止め位置及び姿勢を記憶する第１の記憶手段と、前記ハンドによる前記第１のワークの把持について、前記ロボットまたは前記ハンドに対する基準把持位置及び基準把持姿勢を記憶する第２の記憶手段と、
前記第１のワークが前記ハンドによって把持される前に、前記保持部材上に仮止めされた前記第１のワークに対して予備計測を実行する予備計測手段と、
前記第１のワークが前記ハンドによって把持され、前記保持部材からピップアップされた後に、前記ハンドによって把持された前記第１のワークに対して本計測を実行する本計測手段とを備え、前記予備計測手段は、前記ハンドに設置され、前記ロボットに対する相対位置及び相対姿勢が既知のセンシングビームを出力する投光器と、前記センシングビームを受光する位置に設けられた受光器とを含む光電センサと、
前記ハンドに設置され、前記ロボットに対する相対位置及び相対姿勢が既知のセンシングビームを出力する投光器と、前記センシングビームを受光する位置に設けられた受光器とを含む光電センサと、
前記センシングビームの光路が前記第１の辺を、該第１の辺上の第１の位置及び該第１の位置とは異なる第２の位置の少なくとも２箇所でよぎるように、前記ロボットを移動させる第１のロボット移動手段と、前記センシングビームの光路が前記第２の辺を、該第２の辺上の少なくとも第３の位置の１箇所でよぎるように、前記ロボットを移動させる第２のロボット移動手段と、
前記センシングビームのオン／オフを切り替えるビーム出力切替手段と、
前記第１の位置を前記光路が通過する第１の時点、前記第２の位置を前記光路が通過する第２の時点、及び、前記第３の位置を前記光路が通過する第３の時点を前記受光器の出力に基づいて検出する通過時点検出手段と、
該通過時点検出手段によって検出された、前記第１の時点における前記ロボットの第１の位置及び姿勢、前記第２の時点における前記ロボットの第２の位置及び姿勢、及び、前記第３の時点における前記ロボットの第３の位置及び姿勢に基づいて、前記第１のワークの前記載置面上での２次元位置及び姿勢を求める２次元位置・姿勢算出手段とを含む。
【００１７】
一方、前記本計測手段は、位置及び姿勢が既知の突き当て辺を有する第１の突き当て手段と、
前記ハンドで把持されたワークの前記少なくとも２つの辺に含まれる第３の辺の互いに異なる少なくとも２箇所が、前記突き当て辺に、順次、突き当たるように、前記ロボットを移動させる第３のロボット移動手段と、前記ハンドで把持されたワークの前記少なくとも２辺に含まれ、前記第３の辺とは非平行に延在して既知の角度をなす第４の辺が前記突き当て辺に突き当たるように、前記ロボットを移動させる第４のロボット移動手段と、
前記第３のロボット移動手段によるロボット移動中及び前記第４のロボット移動手段によるロボット移動中に、前記第３の辺及び前記第４の辺による前記突き当て辺への突き当りを検出する第１の突き当り検出手段と、
該第１の突き当り検出手段によって前記突き当りが検出された各時点における各ロボット位置に基づいて、前記ロボットまたは前記ハンドに対する前記第１のワークの相対把持位置及び相対把持姿勢を求める第１のワーク把持状態計算手段とを含む。  
なお、ここで、「第１の辺及び第２の辺」を利用する予備計測と、「第３の辺及び第４の辺」を利用する本計測とは、互いに独立して実行される計測である。従って、第３の辺が、第１の辺または第２の辺の何れかと重複する場合もあり得る。同様に、第４の辺が、第１の辺または第２の辺の何れかと重複する場合もあり得る。
【００１８】
そして、前記制御装置は、前記２次元位置・姿勢算出手段によって求められた前記第１のワークの２次元位置と、前記第１の記憶手段によって記憶された基準仮止め位置及び姿勢との比較を行い、該比較の結果に基づいて前記ロボットの位置及び姿勢を補正する第１のロボット位置補正手段と、
前記第１のワーク把持状態計算手段によって求められた前記把持位置及び前記把持姿勢と、前記第２の記憶手段によって記憶された基準把持位置及び基準把持姿勢との比較を行い、該比較の結果に基づいて前記ロボットの位置及び姿勢を補正する第２のロボット位置補正手段とを備える。
【００１９】
次に、本発明は、「ロボットと、該ロボットに取付けられ、平坦な把持面を夫々持つ少なくとも２つの指部を備えるとともに、前記ロボットに対する相対位置及び相対姿勢が既知であるハンドと、前記ロボットの動作及び前記ハンドの開閉を制御する制御装置とを有し、
第１の辺と、該第１の辺に対して非平行に延在して既知の角度をなす第２の辺とを含む少なくとも３つの辺を提供する平板状領域を含み、該少なくとも３つの辺に含まれる少なくとも１つの辺の両端に、いずれも凸であり相互の離隔距離が既知である第１のコーナ及び第２のコーナが形成されているいるとともに該平板状領域の表裏面の内の少なくとも一方の面と平行に延在する少なくとも１つの平坦面を有し、且つ、所定の位置に供給される保持部材のワーク載置面上に、前記第１の辺の少なくとも一部及び前記第２の辺の少なくとも一部が該保持部材から、前記ワーク装置面に沿った方向に突出するとともに前記平坦面を前記ワーク載置面に接しさせた状態で仮止めされる第１のワークを、前記ハンドで把持し、前記ロボットを用いて前記保持部材からピックアップして移動させる、ハンドリング装置」に適用される。
【００２０】
本発明の特徴に従えば、このハンドリング装置は、  
前記ワーク載置面上における前記第１のワークの基準仮止め位置及び姿勢を記憶する第１の記憶手段と、  
前記ハンドによる前記第１のワークの把持について、前記ロボットまたは前記ハンドに対する基準把持位置及び基準把持姿勢を記憶する第２の記憶手段と、  
前記第１のワークが前記ハンドによって把持される前に、前記保持部材上に仮止めされた前記第１のワークに対して予備計測を実行する予備計測手段と、
前記第１のワークが前記ハンドによって把持され、前記保持部材からピップアップされた後に、前記ハンドによって把持された前記第１のワークに対して本計測を実行する本計測手段とを備え、  
前記予備計測手段は、前記ハンドに設置され、前記ロボットに対する相対位置及び相対姿勢が既知のセンシングビームを出力する投光器と、前記センシングビームを受光する位置に設けられた受光器とを含む光電センサと、  
前記ロボットに対する相対位置及び相対姿勢が既知のセンシングビームを出力する投光器と、前記センシングビームを受光する位置に設けられた受光器とを含む光電センサと、
前記センシングビームの光路が前記第１の辺を、該第１の辺上の第１の位置及び該第１の位置とは異なる第２の位置の少なくとも２箇所でよぎるように、前記ロボットを移動させる第５のロボット移動手段と、前記センシングビームの光路が前記第２の辺を、該第２の辺上の少なくとも第３の位置の１箇所でよぎるように、前記ロボットを移動させる第６のロボット移動手段と、  
前記センシングビームのオン／オフを切り替えるビーム出力切替手段と、  
前記第１の位置を前記光路が通過する第１の時点、前記第２の位置を前記光路が通過する第２の時点、及び、前記第３の位置を前記光路が通過する第３の時点を前記受光器の出力に基づいて検出する通過時点検出手段と、  
該通過時点検出手段によって検出された、前記第１の時点における前記ロボットの第１の位置及び姿勢、前記第２の時点における前記ロボットの第２の位置及び姿勢、及び、前記第３の時点における前記ロボットの第３の位置及び姿勢に基づいて、前記第１のワークの前記載置面上での２次元位置及び姿勢を求める２次元位置・姿勢算出手段とを含む。
【００２１】
一方、前記本計測手段は、位置及び姿勢が既知の突き当て面を有する第２の突き当て手段と、  
前記ハンドで把持されたワークの前記第１のコーナ及び前記第２のコーナの夫々が、夫々１回以上、且つ、合計３回以上、順次、前記突き当て面に対して突き当たり起すように前記ロボットを移動させる第７のロボット移動手段と、  
前記第７のロボット移動手段によるロボット移動中に、前記第１コーナ及び前記第２コーナによる前記突き当て面への突き当りを検出する第２の突き当り検出手段と、  
該第２の突き当り検出手段によって前記突き当りが検出された各時点における各ロボット位置に基づいて、前記ロボットまたは前記ハンドに対する前記第１のワークの相対把持位置及び相対把持姿勢を求める第２のワーク把持状態計算手段とを含む。  
なお、ここでも、「第１の辺及び第２の辺」を利用する予備計測と、「第３の辺及び第４の辺」を利用する本計測とは、互いに独立して実行される計測である。従って、第３の辺が、第１の辺または第２の辺の何れかと重複する場合もあり得る。同様に、第４の辺が、第１の辺または第２の辺の何れかと重複する場合もあり得る。
【００２２】
そして、前記制御装置は、前記２次元位置姿勢算出手段によって求められた前記第１のワークの２次元位置と、前記第１の記憶手段によって記憶された基準仮止め位置及び姿勢との比較を行い、該比較の結果に基づいて前記ロボットの位置及び姿勢を補正する第１のロボット位置補正手段と、  
前記第２のワーク把持状態計算手段によって求められた前記把持位置及び前記把持姿勢と、前記第２の記憶手段によって記憶された基準把持位置及び基準把持姿勢との比較を行い、該比較の結果に基づいて前記ロボットの位置及び姿勢を補正する第３のロボット位置補正手段とを備え、  
前記第７のロヌット移動手段による、前記第１のコーナによる前記突き当て面への突き当て、及び、前記第２のコーナによる前記突き当て面への突き当ての内の少なくとも一方により、前記第１のワークの前記平板状領域の善哉面に対応する仮想平面と前記突き当て面との交線が少なくとも２本互いに非平行に形成される。
【００２３】
ここで、前記突き当て面は曲面であっても良い。その場合、前記第１のコーナによる前記突き当て面への突き当て、及び、前記第２のコーナによる前記突き当て面への前記突き当ては、いずれも少なくとも２回行われ、
前記第１のコーナによる前記突き当て面への突き当てにより、前記第１のワークの前記平板状領域の延在面に対応する仮想平面と前記突き当て面の交線が少なくとも２本互いに非平行に形成されるとともに、
前記第２のコーナによる前記突き当て面への突き当てにより、前記第１のワークの前記平板状領域の延在面に対応する仮想平面と前記突き当て面の交線が少なくとも２本互いに非平行に形成される。
【００２４】
上記いずれのケースにおいても、前記ロボットとしてパラレルリンク型のロボットを用いることができる。また、前記制御装置は、前記第２のロボット位置補正手段または前記第３のロボット位置補正手段により前記ロボット位置を補正して、前記ロボットに、前記第１のワークを、所定位置に位置決めされた第２のワークに対して組み付ける動作を行わせるものであって良い。
その場合に、前記第２のワークの位置決めは、前記ロボットとは別のロボットにより行なうこともでき、その「別のロボット」としてパラレルリンク型のロボットを用いることもできる。
【発明の効果】
【００２５】
本発明によれば、ロボットに装着されたハンドで把持されるワークが、平板状領域と、該平板状領の表裏面の内の少なくとも一方と平行な平坦面を持ち、所定の位置に供給される保持部材のワーク載置面上に、前記平板状領域の少なくとも一部（被把持部）を該保持部材から該ワーク載置面に沿った方向に突出させるとともに前記平坦面を前記ワーク載置面に接しさせた状態で仮止めされるものである場合に、その形状条件を利用して、視覚センサを要することなく、ハンドによる把持状態の安定化（一定化）のみならず、把持後の把持状態の検出も可能であり、更に、把持後の把持状態の検出結果に基づいて、ロボットの位置及び姿勢を補正することも可能なロボットハンドリングシステムを提供することができる。また、それを、フレキシブルケーブルのコネクタへの差込み等の組み立て作業に、スペース増大、コスト増大等を伴うことなく利用することができるようになる。
【発明を実施するための最良の形態】
【００２６】
図１は、本発明の１つの実施形態について、全体配置の概略を説明する図である。先ず、供給手段１は、ワーク１を載置面上に仮止めした保持部材を所定の保持部材供給位置（既知の位置）に供給する手段で、例えばベルトコンベア、搬送ロボット（図示されているロボットとは別のロボット）等の周知の搬送手段を利用することができる。保持部材の具体例、ワーク１の仮止め載置態様等については後述する。
【００２７】
本発明に係るハンドリング装置では、この所定の保持部材供給位置の供給された保持部材の載置面上に仮止めされたワーク１のハンドリングを行う。そのために、周知の態様でハンドを装着したロボットが、保持部材供給位置の周辺の適所に設置される。本発明の特徴の１つは、このハンドに光電センサが設けられていることである。光電センサは、ハンドによるワーク１の把持に先だって「予備計測」を行うためのものである。光電センサを設けたハンドの例及びそれを用いた予備計測の詳細については後述する。
【００２８】
突き当て辺／面提供部材は、ワーク１をハンドで把持した状態で、ワーク１の把持状態（ロボットまたはハンドに対するワーク１の相対位置及び相対姿勢）を検出する「本計測」で使用されるもので、保持部材供給位置と組み立て位置（ワーク１を組み付ける相手となるワークが位置決めされている位置）の間の適所に配置される。突き当て辺／面提供部材の具体例及びそれを用いた本計測の詳細については後述する。
【００２９】
ロボット動作の制御は、ロボット制御装置によって行われる。また、ロボット制御装置は、ハンドの開閉動作制御装置や光電センサの制御（投光器のオンオフ）及び検出出力の解析等を行う機能も有している。それらの機能を果たすために、ロボット制御装置は、通常の態様でＣＰＵ、メモリ、ロボット本体（機構部）の各軸をサーボ制御する軸制御器、ハンド駆動軸制御器、外部信号の入出力のためのインターフェイス等を備える。また、メモリには、ロボット動作、ハンド開閉、光電センサによる検出と解析等、一連のシステム全体の制御に必要なプログラムデータが、諸パラメータとともに格納されている。なお、通常のケースと同様に、ロボット制御装置には教示操作盤（図示略）が接続され、周知の態様での手動操作、教示、教示データの修正等が行えるようになっている。
【００３０】
更に、ロボット制御装置は供給手段１、２と例えば通信回線で結ばれ、ハンドリング及び組み立てに必要な情報をやりとりできるようになっている。以下、図１に示した配置の下で、本実施形態に係るハンドリング装置（以下、単に「システム」とも云う）の動作について述べる。
【００３１】
先ず、ロボット制御装置が供給手段１の外部信号出力部（例えばコンベア制御装置の外部信号出力部）から保持部材供給の信号を受けると、予備計測から組み立て付けに至る一例の動作を実行するための処理を開始する。図２のフローチャートはその大略を示したもので、これらの処理を実行するためのプログラムデータ（諸パラメータを含む）は、予めロボット制御装置のメモリに記憶されている。各ステップの要点は次の通りである。
【００３２】
●ステップＳ１；所定の保持部材の供給位置へ供給された保持部材の載置面上に仮止めされたワーク１について、２次元位置（載置面上での位置）を計測する。これを「予備計測」という（詳細は後述）。
●ステップＳ２；予備計測によって検出されたワーク１の２次元位置（仮止め位置）に基づいて、基準仮止め位置からのずれを計算する。基準仮止め位置のデータは、諸パラメータの１つとして、予めロボット制御装置のメモリに記憶されている。
【００３３】
●ステップＳ３；ステップＳ２で計算された仮止め位置のずれに基づいて、ロボットの位置及び姿勢を補正して、ワーク１をハンドで把持し、保持部材からピックアップする。
●ステップＳ４；ハンドに把持されたワーク１について、把持状態（ロボットまたはハンドに対するワーク１の相対把持位置及び相対把持姿勢）を求める。これを「本計測」といい、そのために、ロボット移動による突き当て辺／面提供部材の突き当て辺あるいは突き当て面へのワーク１の突き当てが行われる（詳細は後述）。
【００３４】
●ステップＳ５；本備計測によって検出されたワーク１の相対把持位置及び相対把持姿勢に基づいて、基準把持位置・姿勢からのずれを計算する。基準把持位置と基準把持姿勢のデータは、諸パラメータの１つとして、予めロボット制御装置のメモリに記憶されている。  
●ステップＳ６；ステップＳ５で計算された基準把持位置・姿勢からのずれに基づいて、ロボットの位置及び姿勢を補正して、ワーク１をワーク２に組み付ける動作を実行する。
【００３５】
以下、各ステップについて詳述する。また、その中で、システム各部、ワーク１、２の具体例等についても説明する。  
［予備計測（ステップＳ１）について］：  
■保持部材とその載置面上に仮止めされたワーク１の例等について；  
先ず、本実施形態で用いられる保持部材とその載置面上に仮止めされたワーク１の例等について、図３を参照して説明する。図３において、保持部材は符号１で示されている。保持部材１はいわゆる「治具」を構成する部材で、ワーク（図２中ではワーク１と表記；以下、同じ）Ｗを装置するための台２を有している。符号３は台２の上面で、上面３の一部（ワークＷが載置される箇所）に両面テープ４が貼付されている。
【００３６】
保持部材１の位置決めは、周知の適当な手段で行うことができるが、ここでは「突き当て」を利用する。図３は、保持部材１が搬送手段（例えばベルトコンベア）により、保持部材１を突き当てするためのＬ型の立体１２に押し付けられ、保持部材１の突き当て部である凸コーナ部（図４における符号１３）が、前記Ｌ型の立体１２の凹コーナ部に突き当てられている状態を表している。  
なお、このような位置決め手法自体は周知なので詳細説明は省略する。
【００３７】
本実施例では、ワークＷとして携帯電話の一部品としてのフレキシブルケーブルを取り上げる。この部品の全体形状は、一般に、平板形状（多角形ａｂｃｄｅｆｇｈを形成する平板）に「部分的な凸部（場合によっては凹部）」を付加したような形状を有している。図３中に描かれたワーク（第１のワーク）Ｗでは、この「部分的な凸部（場合によっては凹部）」の一例を凸部８で表現している。  
但し、これはあくまで一例であり、一般には、以下に説明するワーク載置面上への仮止め、予備計測、ハンドによる把持及び本計測が実行できる形状であれば良い。具体的に云えば、ワークＷは、「予備計測で利用される複数の辺を提供する平板状領域」と、「この平板状領域の表裏面の少なくとも一方と平行に延在し、保持部材上の仮止め時にワーク載置面（ここでは両面テープ４の上面）と接する平坦面」と、本計測で利用できる複数の辺あるいは複数のコーナを有している。  
このような形状を有していれば、基板部材上に段違い状の実装部を形成したコネクタ（例えば、本実施形態で想定しているケーブル（ワークＷ）が差込まれるコネクタ）をワークＷとして、本発明を実施することも可能である。
【００３８】
図３中に示したワークＷの場合、「平坦面」はワークＷの下面によって提供されており、「平板状領域」は凸部８の形成された部分を除くワークＷ全体となっている。平板状領域の上面は、平坦面と平行に延在している。  
図３において、ワークＷは後述の方法により簡易的に位置決めされて台２の上面３上に設置された両面テープ４上に配置され、仮止めされる。なお、辺ｇｈの端点ｈはＬ型突起５の陰になっているので、括弧を付けて（ｈ）で表記した。同様に、辺ｄｅの端点ｅはワークＷの凸部８の陰になっているので、括弧を付けて（ｅ）で表記した。  
ワークの簡易的な位置決め方法について、図４、図５を参照図に加えて説明する。図４、図５は、ワークの載置面上への仮止めについて説明するための斜視図及び上面図で、図３の状態に先行して、図３の供給位置の上流側で行われるワークＷの保持部材１（載置面）上への載置が行われた直後の状態を示す。
【００３９】
図３〜図５で符号５、６が付されたＬ型突起と符号７が付された柱状突起は、ワークＷの簡易的位置決めに使用するテンプレート１４を位置決めするための枠として機能するものである。テンプレート１４は外形が図４および５に示すような板状の部材で、外形は図３でＸＹ平面に垂直な方向から見たときに、Ｌ型突起５、６の各コーナおよび各辺と、柱状突起７のＬ型突起に対向する辺を含む矩形を僅かに（例えば０．５ｍｍ程度）縮小した形状である。（厚みはワークよりも厚ければよい。例えば５倍程度）
【００４０】
また、テンプレート１４には、前記の方法によりテンプレート１４を台２上に位置決めした時に、基準位置に置かれたワークの外形を僅かに（例えば０．５ｍｍ程度）拡大した形状と一致する切り欠き１５が設けられている。これらにより、テンプレート１４を前述の方法で台２上に位置決めし、その後にテンプレート１４の切り欠き１５内にワークを収めれば、ワークはテンプレート１４とＬ型突起５、６および柱状突起７の間のガタと、テンプレートの切り欠きとワーク外形のガタを合計した範囲内で位置決めされることになる。なお、このようなテンプレートを用いたＸＹ位置の仮止め時の付加規制は、適宜省略することも可能である。  
【００４１】
さて、このようにして、本実施形態では、この両面テープ４の上面が「ワーク載置面」となる。このワーク載置面の高さ位置は既知とする。ここで、Ｌ型突起５、６から台２の先端面（辺ａｂ側）までの距離は、後述する予備計測に十分な程度突出した先端部１０が確保されるように設計されている。また、この先端部１０は、ワークＷの平板状領域に属している。また、この先端部１０に対応して、ワークＷの上面側にプラスチック製の補強板１１が設けられている。補強板１１の主たる機能は、後述する、ワーク（フレキシブルケーブル）Ｗの組み付け（コネクタの穴への挿入）時に変形を防止することにある。
【００４２】
上記したように、ワーク載置面のＺ位置は既知で、このＺ位置は、仮止めされているワークＷ（下面位置）のＺ位置とみなすことができる。以後、このＺ位置を「Ｚ0」で表わす。一方、仮止めされているワークＷの載置面上での２次元の位置及び姿勢については、前述の範囲でばらつきがあることが予想される。即ち、ワークＷは載置面上の正確な位置決めなしで仮止めされているだけなので、例えば辺ａｂの位置と方向にはばらつきがある。但し、理想的乃至標準的な仮止め位置・姿勢を予め適当に定めることは可能である。
【００４３】
今、図３に示されている状態でワークＷが理想的な仮止め位置・姿勢をとっているものとする。また、ワールド座標系（原点ＯWで図示）のＺ軸方向はワーク載置面に垂直上向きで、且つ、Ｙ軸方向が辺ａｂの方向に一致するものとする。この状態で、コーナａ（ワークＷの下面側）を原点とし、ワールド座標系と同姿勢の座標系を考えれば、この座標系で、ワークＷの「基準仮止め位置及び姿勢」を表現できる。そこで、本実施形態ではこの座標系（ａが原点）の位置と姿勢をワールド座標系上で表現する同次変換行列（以下、Σ0と表記）のデータをロボット制御装置のメモリに予め記憶させておく。
【００４４】
■光電センサを装備したハンドとそれを利用した予備計測等（ステップＳ１、Ｓ２）について；
上述したことから、結局、実際に供給されるワークＷは「基準仮止め位置及び姿勢に近い位置と姿勢」を持つことになる。但し、Ｚ位置については、実質的に位置決めされているとみることができるので、実際にばらつくのはワーク載置面上での２次元位置及び２次元姿勢のみとみることができる。予備計測では、この２次元位置及び２次元姿勢が計測される。
【００４５】
図６は、本実施形態で用いられる、光電センサ付のハンドについて説明する図で、同ハンドがロボットのアーム先端部に装着されている状態が描かれている。なお、ハンドを取付けるロボット自体は周知のもので良く、シルアルリンク型あるいはパラレルリンク型いずれも採用可能である。軸数（運動自由度）は、６軸（自由度６）を基本とするが、予備計測、本計測を含めた作業で必要となる動作に支障が無い限り、軸数を減らすことを妨げない。
【００４６】
また、ハンドリング対象のワークＷが本例で想定しているフレキシブルケーブルのように小型軽量の場合、高速動作の適性を考慮して、パラレルリンク型ロボットを採用することが望ましい。そこで、ここではロボットは６自由度のパラレルリンク型ロボット（以下、単に「ロボット」という）とする。
【００４７】
図６では、ロボットの全体描示は省略され、最終軸のアクチュエータ２０から先の部分のみが示されている。ハンドＨは、アクチュエータ２０で回転駆動される手首２１に対して図示された姿勢で取付けられている。即ち、今、手首２１が真下向き（ワールド座標系の−Ｚ方向）に延びるロボット姿勢において、ハンドＨは第１の指Ｈ１、第２の指Ｈ２が水平に延びるように装着されている。（本例では指部は２つだが、必ずしも限定されるものではない。）
【００４８】
ハンドＨの開閉は、ロボット制御装置（図１参照）からの指令により指Ｈ１と第２の指Ｈ２の間のギャップＧＰを増減させることで達成される。本例では指Ｈ１が可動で指Ｈ２が固定の例を示している。そして、指Ｈ１と指Ｈ２の各先端側には、投光器を装備した投光器部３１と受光器を装備した受光器部３２からなる光電センサが設けられている。なお、便宜上、以下の説明では投光器３１、受光器３２などと表記する。また、本例では光電センサの投光器と受光器を指先端部に設置しているが、センシングビームのロボットに対する相対位置及び相対姿勢が既知であればよく、これに限定されるものではない。また、本例では指Ｈ１が可動で指Ｈ２が固定としているが、ワーク把持面の位置と姿勢をロボット制御装置から監視できれば限定されるものではない。
【００４９】
ロボット制御装置からの指令で投光器３１が点灯されると、そこから細径のセンシングビームＢＭが受光器３２に向けて投射される。受光器３２の出力はロボット制御装置内で解析され、受光レベルの高低変化（しきい値以上→しきい値未満への変化あるいはしきい値未満→しきい値以上への変化）に基づき、センシングビームＢＭを遮断する物体の有無が判定される。このような投光器３１と受光器３２を組み立てた光電センサ自体は周知で、光源には例えばＬＥＤ、半導体レーザ等が使用される。センシングビームＢＭの投射方向は、指Ｈ１の動作方向（図６において上下方向）である。
【００５０】
指Ｈ１、Ｈ２の投光器３１、受光器３２に対応する部分の内側面は、平坦な把持面３３、３４を提供している。ここで、指Ｈ２がハンド上で不動であることを考慮して、把持面３４上に固定されたハンド座標系を考える。説明を簡単にするために、その原点はセンシングビームＢＭの入射点ＯHに対応する把持面３４上の位置とする。そして、ｚ軸はセンシングビームＢＭに対応させる（投光器３１側が＋ｚ方向）。ｙ軸は指Ｈ２の延在方向に対応させる（指Ｈ２の根元側が＋ｙ方向）。
【００５１】
そして、ハンド座標系の設定情報（即ち、ロボットの位置・姿勢を代用する座標系（例えばハンドＨの取付面に固定されたメカニカルインターフェイス座標系）に対する位置及び姿勢を表わす行列のデータ）は、ロボット制御装置のメモリに予め記憶される。なお、この種のハンド座標系の設定の仕方自体は周知なので詳細説明は省く。なお、点ＯHをツール先端点と考える場合は、このハンド座標系はツール座標系でもある。
【００５２】
さて、上記したハンド座標系の設定により、次の状況（イ）、（ロ）が保証される。  
（イ）センシングビームＢＭの３次元位置と方向は、ロボットの３次元位置・姿勢から随時計算可能である。  
（ロ）ワークＷがハンドＨに把持された状態では、把持面３４に密着するワーク面（ここでは下面）は、把持面３４と実質同一の面であり、その延在面（ワークＷが乗っている仮想面）の３次元位置・姿勢は、ロボットの３次元位置・姿勢から随時計算可能である。また、前記ワーク面と平行な面についてもオフセット量が既知であれば、前記と同様にその延在面の３次元位置・姿勢は随時計算可能である。但し、同仮想面上でのワークＷの把持状態が既知となるまでは、２次元位置・姿勢は、ロボットの位置・姿勢だけでは判らないことに注意されたい。ワークＷの把持状態は、後述する本計測により求められる。
【００５３】
予備計測は、図３に示した仮止め状態に置かれたワークＷを把持する前に、ハンドＨを開いた状態でワークＷに接近し、ワークの少なくとも２辺の計３箇所以上をセンシングビームＢＭで検出する動作によって行われる。図７は、予備計測時の様子を示した図で、一例として、辺ａｂの略中央部をＢＭがよぎる直前の状態が描かれている。
【００５４】
図８（ａ）は、センシングビームＢＭによるワークＷの辺のよぎりを実現するためのロボットの教示経路の一例を示している。図８（ａ）において、点Ｑ0、Ｑ1、Ｑ2、Ｑ3は４つの教示点で、順に、予備計測アプローチ点、第１進入点、中途退避点、第２進入点と呼ぶことにする。なお、ツール先端点は前述したハンド座標系の原点ＯHと一致させ、ツール先端点により教示を行う。但し、既述の通り、仮止め状態におけるワークＷのＺ位置は既知で一定なので、ここで表現されているのは、ワールド座標系上でのＸＹ位置のみである。
【００５５】
各教示点におけるＺ位置は、ワークＷの先端部１０が開いた指Ｈ１、Ｈ２間のギャップＧＰに安全に入っていくような適値とすれば良い。また、教示姿勢について、本例では、センシングビームＢＭがＺ方向に一致し、且つ、ハンドＨの先端側がワークＷの先端部１０を挟み込むような姿勢を教示するものとする。
【００５６】
このような教示の下で、教示点Ｑ0→Ｑ1→Ｑ2→Ｑ3にロボット（ツール先端点）を移動させれば、辺１（例えば辺ｂｃに対応）を１回、辺２（例えば辺ａｂに対応）を２回、センシングビームＢＭがよぎることになる。この間（少なくともよぎり時）、光電センサをオンさせ、遮断の有無を監視すれば、「よぎり」の時点（よぎり位置はＰ1〜Ｐ3）を特定することができる。そして、各時点のロボット位置から、各時点におけるセンシングビームＢＭ位置が判るので、よぎり位置Ｐ1〜Ｐ3が判る。ここで、Ｐ1〜Ｐ3のＺ位置については、既述の条件から既知（Ｚ＝Ｚ0）と考えることができる。即ち、Ｐ1〜Ｐ3はワーク載置面が乗る仮想面（既述の通り、ワールド座標系のＸＹ平面と平行な面でＺ＝Ｚ0で表わされる面である）上の点と考えることができる。
【００５７】
一方、ワークＷが仮止め状態であるため、ＸＹ面内での位置と姿勢には図８（ｂ）に示したようなばらつきがある。図８（ｂ）において符号Ｗは基準仮止め状態のワークを表わし、Ｗ’、Ｗ”は基準仮止め状態からずれた仮止め状態を表わしている。しかし、このばらつきの程度は、仮止め精度に対応して実質的な上限がある。従って、それを見越して進入点Ｑ1、Ｑ3の位置を教示すれば、予備計測に支障は生じない（センシングビームＢＭが辺を確実にまたぐ経路の教示が可能である）。
【００５８】
以上の前提の下で、予備計測（ステップＳ１）とそれに続く仮止めずれの計算（ステップＳ２）における処理の概要を、図１６のフローチャートに示した。各ステップの要点を記せば、下記の通りである。なお、処理開始時にハンドＨは開いた状態にあるものとする。
【００５９】
●ステップＳ１０；予備計測を行うためのアプローチ点Ｑ0へロボット（ツール先端点、以下同義）を移動させる。  
●ステップＳ１１；光電センサをオン状態とする。  
●ステップＳ１２；第１進入点Ｑ1へ向けて移動開始。  
●ステップＳ１３；センシングビームＢＭによる辺のよぎりを検出したか否か判断する。未検出ならステップＳ１４へ進み、検出成功ならステップＳ１５へ進む。
【００６０】
●ステップＳ１４；第１進入点Ｑ1への未到達／既到達を判断する。未到達ならステップＳ１３へ戻る。既到達なら、異常発生（例えばワークＷの不在）とみなし、アラームを出力して処理を終了する。
●ステップＳ１５；よぎり検出時のロボットの位置・姿勢を記憶する。
●ステップＳ１６；第１進入点Ｑ1でロボットを一旦停止させる。
●ステップＳ１７；中途退避点Ｑ2へ向けて移動開始。  
●ステップＳ１８；センシングビームＢＭによる辺のよぎりを検出したか否か判断する。未検出ならステップＳ１９へ進み、検出成功ならステップＳ２０へ進む。
【００６１】
●ステップＳ１９；中途退避点Ｑ2への未到達／既到達を判断する。未到達ならステップＳ１８へ戻る。既到達なら、異常発生（例えばワークＷの不在）とみなし、アラームを出力して処理を終了する。
●ステップＳ２０；よぎり検出時のロボットの位置・姿勢を記憶する。
●ステップＳ２１；退避点Ｑ2でロボットを一旦停止させる。
●ステップＳ２２；第２進入点Ｑ3へ向けて移動開始。  
●ステップＳ２３；センシングビームＢＭによる辺のよぎりを検出したか否か判断する。未検出ならステップＳ２４へ進み、検出成功ならステップＳ２５へ進む。
【００６２】
●ステップＳ２４；第２進入点Ｑ3への未到達／既到達を判断する。未到達ならステップＳ２３へ戻る。既到達なら、異常発生（例えばワークＷの不在）とみなし、アラームを出力して処理を終了する。
●ステップＳ２５；よぎり検出時のロボットの位置・姿勢を記憶する。
●ステップＳ２６；第２進入点Ｑ3でロボットを一旦停止させる。また、光電センサはオフにする。
【００６３】
●ステップＳ２７；ステップＳ１５、Ｓ２０、Ｓ２５で記憶したロボットの位置・姿勢に基づいて、よぎり点Ｐ1〜Ｐ3の位置を求める。即ち、各よぎり点Ｐ1〜Ｐ3は、各よぎり時のセンシングビームＢＭが表わす直線（ここではハンド座標系のｚ軸と一致）と、ワーク載置面が乗る仮想面（Ｚ＝Ｚ0）との交点位置として求められる。なお、各よぎり時のセンシングビームＢＭが表わす直線（ハンド座標系のｚ軸）は、既述の通り、ロボットの位置・姿勢から随時計算できる。
【００６４】
●ステップＳ２８；点Ｐ1〜Ｐ3の位置からワークＷの２次元位置・姿勢を定める。ここでは、一例として、次の計算を行う。  
（１）辺２上の２点Ｐ2，Ｐ3の位置から、辺２に対応する直線の方程式を求める。  
（２）辺２と既知の角度θ（一般には０＜θ＜１８０度で、ロボット制御装置のメモリに予め記憶）で交わる直線の内、点Ｐ1を通る直線を求めれば、それが辺１に対応する直線である。
（３）辺１、２に対応する直線の交点位置と、同交点位置から点Ｐ1へ向かう単位ベクトルを求める。
【００６５】
●ステップＳ２９（＝ステップＳ２）；予め記憶されている基準仮止め位置・姿勢（２次元）のデータと比較し、ずれを求める。ずれの表現法は種々あるが、例えば基準仮止め位置・姿勢（２次元）のデータとして、上記交点位置の基準値と、同交点位置から点Ｐ1へ向かう単位ベクトルを記憶しておけば、上記交点位置のずれ量（２次元量）と、辺１の方位のずれ（角度）を計算することができる。本実施形態ではこれらを記憶する。以上で予備計測（ステップＳ１）と仮止めずれ計算の処理（ステップＳ２）は完了する。
【００６６】
なお、云うまでもないことであるが、辺１、辺２のよぎりの回数を増やして取得データを増やしても良い。例えば、辺１のよぎりも２点で行い、辺１が対応する直線を、辺２が対応する直線と同様に求めるようにしても良い。また、データに冗長度がある場合（例えば各辺上の３点の位置を計測）した場合には、最小２乗法等を適用して測定の信頼性を向上させることもできる。
また、本例ではＱ0〜Ｑ3の各点間の移動経路は直線的に表しているが、各経路は曲線的であっても構わない。その場合、各経路と辺との交差が１回しか起こらないようにすればよい。
【００６７】
■予備計測に基づいて求められた仮止め位置・姿勢のずれに基づくロボットの位置・姿勢補正とワーク１の把持（ステップＳ３）について；
ロボット（ロボット制御装置）には、既述の態様で仮止めされたワークＷの把持のための動作が教示されている。把持動作の教示自体は周知であるから詳細は省略するが、通常は、アプローチ点と進入点（ロボットを停止させて、ハンドＨを閉める位置・姿勢）が予め教示される。本実施形態では、センシングビームＢＭの位置が把持面３３、３４に対応しているので、図８（ａ）中にＱ0、Ｑ1で示した点を把持のためのアプローチ点及び把持のための進入点にも兼用する（もちろん別途定めても良い）。
【００６８】
把持のための処理の概要を、図１７のフローチャートに示した。各ステップの要点を記せば、下記の通りである。なお、本処理のスタート時点において、ロボットはＱ3（図８（ａ））で停止し、ハンドＨは開いたままである。また、光電センサはオフ状態である。
【００６９】
●ステップＳ３０；把持を行うためのアプローチ点Ｑ0を、前述したステップＳ２で求められた仮止め位置・姿勢のずれを補償できるように補正した点にロボットを移動させる。本実施形態で必要な補正は、上記した辺１、２に対応する交点位置のずれ量（２次元量）と同等のＸＹ位置の補正、及び、辺１の方位のずれ（角度）と同等のＺ軸回りの姿勢補正である。なお、一般には、把持しようとするワークの位置・姿勢のずれを補償するロボット位置・姿勢の補正法は周知であるので、詳細説明は省略する。
【００７０】
●ステップＳ３１；把持を行うための進入点Ｑ1を、前述したステップＳ２で求められた仮止め位置・姿勢のずれを補償できるように補正した点にロボットを移動させる。本実施形態で必要な補正は、上記したＱ0に対するものと同じである。但し、この時点では、この「前述のＱ1を補正した点」のＺ座標（ワールド座標系上でのＺ位置）は、Ｑ1（補正前）のＺ位置と同じなので、ハンドの固定指Ｈ２の把持面３４上にあるツール先端点（本実施形態では、既述の通り、ハンド座標系の原点と一致）ＯHのＺ座標（ワールド座標上）は、ワークＷの載置面よりも小距離δ（δ＞０；例えばδ＝数ミリ程度）だけ低い位置にある。
【００７１】
従って、このままハンドを閉めるとワークＷが把持面３４側に移動した後に把持され、適切な把持動作が行われなくなる可能性がある。従って、これを避けるための「小距離ロボット移動」を追加することが好ましい。この小距離ロボット移動は、Ｚ位置をＺ＝Ｚ0とする＋Ｚ方向の移動を予め教示しておくことで実行できる（例えば、教示点Ｑ1の次に教示点Ｑ1'を追加しておく。この教示点Ｑ1'のＺ位置はＺ＝Ｚ0とし、ＸＹ位置及び姿勢は教示点Ｑ1と同一とする。そして、上記の「仮止め位置・姿勢のずれを補償できるように補正されたＱ1への移動」に次いで、「Ｑ1の補正と同等の補正をＱ1'について点への移動」（＋Ｚ方向への並進移動）を行えば良い。
【００７２】
●ステップＳ３２；ハンドＨを閉めて、ワークＷを把持する。図９はこの状態を例示した図である。
●ステップＳ３３；ワークＷを把持したまま、予め教示した適当な退避点までロボットを退避させる。なお、この退避点について、例えば図８（ａ）中に示したＱ2を転用しても良い。以上で把持（ステップＳ３）までの処理（ステップＳ２）は完了する。
【００７３】
■突き当て部材を利用した本計測等（ステップＳ４）について；
ここまでの処理により、ハンドＨによるワークＷの把持は完了し、しかも、その把持状態も正確である（基準把持状態と一致している）筈である。しかし、実際には、把持時にワークＷが微妙にずれたりして、若干のずれが生じている可能性を否定できない。
【００７４】
そこで、作業の信頼性をより一層向上させるために本計測を実行する。この本計測は、把持状態を検出するもので、より具体的に云えば、ハンドＨによって把持状態にあるワークＷについて、ハンド（ハンド座標系で代表）あるいはロボット（ロボット座標系＝例えばメカニカルインターフェイス座標系）に対する相対的な位置・姿勢を検出するものである。
【００７５】
なお、ロボットに対するハンドの位置・姿勢が既知（ハンド座標系が設定済み）を前提とするので、ハンドに対する相対的な位置・姿勢と、ロボットに対する相対的な位置・姿勢の間には、実質的な意味の相違はない。また、既述の通り、把持されたワークＷの一面は把持面３４（ハンド座標系のｘｙ面）に密着しているので、残された自由度は、３（ハンド座標系のｘｙ面上での２次元姿勢とｚ軸回りの姿勢）である。
【００７６】
そこで、このハンド座標系のｘｙ面上での２次元姿勢とｚ軸回りの姿勢を表わすデータを予めロボット制御装置のメモリに記憶しておく。このデータが、「基準把持状態（準把持位置及び準把持姿勢）のデータ」である。本計測では、ステップＳ１〜Ｓ３を経てハンドＨに把持されたワークＷを意図的に突き当て辺／面提供部材に突き当てて、突き当り時のロボットの位置・姿勢に基づいて、把持状態を検出する。突き当て方式として、次の２タイプが考えられる。
【００７７】
（タイプ１）＝ワークＷの複数の辺を、計３回以上既知の突き当て辺に突き当てる方式。図１０はその例を表わし、突き当て辺／面提供部材４０が提供する突き当て辺４１に被把持ワークＷの一辺が突き当てられた状態が描かれている。突き当て辺４１が表わす直線は既知で、ここではワールド座標系のＺ軸と平行である。また、突き当て辺４１は、ワールド座標系のＸ軸に平行な面と、ワールド座標系のＹ軸に平行な面との交線にもなっている。
【００７８】
（タイプ２）＝ワークＷの少なくとも１辺（長さ既知）の両端コーナを、計３回以上既知の突き当て面に突き当てる方式。図１２はその例を表わし、突き当て辺／面提供部材５０が提供する突き当て面５１に被把持ワークＷの一つのコーナが突き当てられた状態が描かれている。突き当て面５１が乗っている（仮想）平面は既知で、ここではワールド座標系のＹＺ平面に平行である。
【００７９】
上記タイプ１を採用した場合の処理の概要（一例）を、図１８のフローチャートに示す。また、上記タイプ２を採用した場合の処理の概要（一例）を、図１９のフローチャートに示す。なお、図１８、図１９のいずれの処理においても、スタート時点において、ロボットは適当な退避点（例えば図８（ａ）中に示した点Ｑ2）で停止し、ハンドＨはワークＷを把持した状態にあるものとする。また、光電センサはオフ状態である。
【００８０】
先ず、図１８に示したフローチャート（タイプ１方式１）に関連して、予めロボット（ロボット制御装置）に行っておく経路教示について、図１１を参照図に加えて説明する。タイプ１では、図１０に示したように、ワークＷの辺を突き当て辺４１に突き当てる訳であるが、その箇所は少なくとも２辺で計３箇所以上である。そこで、一例として隣り合う辺１、辺２（図８（ａ）の同じ２辺で良い）について、辺１で２箇所、辺２で１箇所の突き当て動作の教示を予め行っておく。
【００８１】
教示の仕方は種々考えられるが、ここではプレイバック方式を利用した次のような手順で教示を行っておく。オペレータは、先ず、教示操作盤を操作して、ロボットを図１０に示したような突き当て状態の直前の状態（例えば約１ｃｍ手前）とする。この時のロボットの位置・姿勢を（突き当て用の）アプローチ点１として教示する。次いで、このアプローチ点１の教示位置データをワールド座標系の＋Ｘ軸方向及び＋Ｙ軸方向へ適距離（突き当て辺４１に確実に当たる距離；例えば＋Ｘ軸方向へ２ｃｍ、＋Ｙ軸方向へ約２ｃｍ）修正した位置を食い込み点１として教示する。ロボット姿勢については、アプローチ点１での姿勢と同じで良い。
【００８２】
同様の手順での教示を、突き当て点が適距離（例えば長さ辺１の長さの５分の１程度）ずれるように教示する。これにより、アプローチ点２と食い込み点２が教示される。次いで、ロボット姿勢を手動操作で隣りの（辺２）が突き当て辺４１に突き当たる直前の状態（例えば約１ｃｍ手前）とする。この時のロボットの位置・姿勢を（突き当て用の）アプローチ点３として教示する。
【００８３】
次いで、このアプローチ点１の教示位置データをワールド座標系の＋Ｘ軸方向及び＋Ｙ軸方向へ適距離（突き当て辺４１に確実に当たる距離；例えばＸ軸方向へ２ｃｍ、＋Ｙ軸方向へ約２ｃｍ）修正した位置を食い込み点３として教示する。最後に、ロボットを突き当て辺４１から十分離して適当な退避点（突き当て後退避点）を教示する。なお、以上と同様の経路教示を、オフライン教示で行っても良い。
【００８４】
以上の前提で、図１８に示したフローチャート（タイプ１）について、各ステップの要点を記せば、下記の通りである。  
●ステップＳ４０；光電センサをオンする。  
●ステップＳ４１；センシングビームＢＭの遮断をチェックする。遮断されていればステップＳ４２へ進む。遮断されていなければ、ワーク不在等の異常とみなし、アラームを出力して処理を終了する。
【００８５】
●ステップＳ４２；アプローチ点１へ移動する（一旦停止）。  
●ステップＳ４３；食い込み点１へ低速で移動開始。  
●ステップＳ４４；突き当て辺４１への突き当たり（衝突）を検出したらロボットを停止させる。突き当たり（衝突）の検出には、種々の周知技術が路用できる。例えば、ロボットの各軸の駆動電流（あるいは電流指令）をチェックし、突き当たり（衝突）を検出する（前述した特許文献２を参照）。ロボットの各軸にトルクセンサが装備されている場合には、その出力に基づいて突き当たり（衝突）を検出しても良い。突き当たり（衝突）の検出方法としては更に、力センサを介してハンドをロボットに装着し、その力センサによって突き当たり（衝突）時に発生する力を検出する方法もあり、それを利用しても良い。これら突き当たり（衝突）の検出方法自体はいずれも周知なので、詳細説明は省略する。
●ステップＳ４５；ロボットの位置・姿勢を記憶する。  
【００８６】
●ステップＳ４６；ロボットをアプローチ点２へ移動させる。  
●ステップＳ４７；食い込み点２へ低速で移動開始。  
●ステップＳ４８；突き当て辺４１への突き当たり（衝突）を検出したらロボットを停止させる。突き当たり（衝突）の検出の仕方は既述の通りである。  
●ステップＳ４９；ロボットの位置・姿勢を記憶する。  
【００８７】
●ステップＳ５０；ロボットをアプローチ点３へ移動させる。  
●ステップＳ５１；食い込み点３へ低速で移動開始。  
●ステップＳ５２；突き当て辺４１への突き当たり（衝突）を検出したらロボットを停止させる。突き当たり（衝突）の検出の仕方は既述の通りである。  
●ステップＳ５３；ロボットの位置・姿勢を記憶する。  
●ステップＳ５４；突き当て後退避点へロボットを移動させる。
【００８８】
●ステップＳ５５；ステップＳ４５、Ｓ４９、Ｓ５３で記憶したロボットの位置・姿勢に基づいて、各突き当たり点の位置を求める。ここでは、図１１に例示したように、辺１（ワークＷの把持面３４に密着）上の２点Ｒ１、Ｒ２と辺２（ワークＷの把持面３４に密着）上の１点Ｒ３の位置（ハンド座標系上）を求める。例えば、突き当り点Ｒ1は、突き当り時の把持面３４（ハンド座標系のｘｙ平面）上の点であり、且つ、既知の突き当て辺４１が表わす直線上の点でもある。従って、この直線の方程式をハンド座標系上での表現に変換し、ｚ＝０と置けば、ハンド座標系上での点Ｒ1の位置が求められる。ハンド座標系上での点Ｒ2、Ｒ3の位置についても同様に計算される。
【００８９】
●ステップＳ５６；点Ｒ1〜Ｒ3の位置（ハンド座標系上）から、ワークＷのハンド座標系上での２次元位置・姿勢を定める。ここでは、次の計算を行う。なお、この計算は、Ｐ1〜Ｐ3から仮止め位置・姿勢を計算する先述の計算と同様である。  
【００９０】
（１）辺１上の２点Ｒ1、Ｒ2の位置（ハンド座標系上）から、辺１に対応する直線の方程式（ハンド座標系上）を求める。
（２）辺１と既知の角度θ（一般には０＜θ＜１８０度で、ロボット制御装置のメモリに予め記憶）で交わる直線の内、点Ｐ3を通る直線を求めれば、それが辺２に対応する直線である。
（３）辺１、２に対応する直線の交点位置と、同交点位置から点Ｒ1へ向かう単位ベクトルを求める。
【００９１】
●ステップＳ５７；（＝ステップＳ５）；予め記憶されている基準把持位置・姿勢と比較し、ずれを求める。ずれの表現法は種々あるが、例えば基準把持位置・姿勢（２次元）のデータとして、上記交点位置の基準値と、同交点位置から点Ｒ1へ向かう単位ベクトルについての基準ベクトルを記憶しておけば、上記交点位置のずれ量（２次元量）と、辺１の方位のずれ（角度）を計算することができる。本実施形態ではこれらを記憶する。
【００９２】
次に、図１９に示したフローチャート（タイプ２）に関連して、予めロボット（ロボット制御装置）に行っておく経路教示について、図１３を参照図に加えて説明する。タイプ２では、図１２に示したように、ワークＷの辺を突き当て面５１に突き当てる訳であるが、その箇所は少なくとも１辺の両端で計３箇以上である。ここでは、一例として、図１３中にコーナＣＮ１、ＣＮ２（辺１の両端のコーナ）について、コーナＣＮ１で２回、ＣＮ２で１回の突き当て動作の教示を予め行っておく。
【００９３】
教示の仕方は種々考えられるが、ここではプレイバック方式を利用した次のような手順で教示を行っておく。オペレータは、先ず、教示操作盤を操作して、ロボットを図１２に示したような突き当て状態の直前の状態（例えば約１ｃｍ手前）とする。この時のロボットの位置・姿勢を（突き当て用の）アプローチ点４として教示する。次いで、このアプローチ点４の教示位置データをワールド座標系の＋Ｘ軸方向適距離（突き当て面５１に確実に当たる距離；例えば＋Ｘ軸方向へ３ｃｍ）修正した位置を食い込み点４として教示する。ロボット姿勢については、アプローチ点４での姿勢と同じで良い。
【００９４】
次に、アプローチ点４の位置を維持し、Ｘ軸回りで適当な角度（例えば２０度）回転（向きは任意）させ、この時のロボットの位置・姿勢をアプローチ点５として教示する。次いで、このアプローチ点５の教示位置データをワールド座標系の＋Ｘ軸方向適距離（突き当て面５１に確実に当たる距離；例えば＋Ｘ軸方向へ３ｃｍ）修正した位置を食い込み点５として教示する。姿勢については、アプローチ点５での姿勢と同じで良い。
【００９５】
更に、オペレータは、教示操作盤を操作して、コーナＣＮ２が突き当て状態の直前の状態（例えば約１ｃｍ手前）とする。この時のロボットの位置・姿勢をアプローチ点６として教示する。次いで、このアプローチ点６の教示位置データをワールド座標系の＋Ｘ軸方向適距離（突き当て面５１に確実に当たる距離；例えば＋Ｘ軸方向へ３ｃｍ）修正した位置を食い込み点６として教示する。ロボット姿勢については、アプローチ点６での姿勢と同じで良い。最後に、ロボットを突き当て面５１から十分離して適当な退避点を教示する。なお、以上と同様の経路教示を、オフライン教示で行っても良い。
【００９６】
以上の前提で、図１９に示したフローチャート（タイプ２）について、各ステップの要点を記せば、下記の通りである。  
●ステップＳ６０；光電センサをオンする。  
●ステップＳ６１；センシングビームＢＭの遮断をチェックする。遮断されていればステップＳ６２へ進む。遮断されていなければ、ワーク不在等の異常とみなし、アラームを出力して処理を終了する。
【００９７】
●ステップＳ６２；アプローチ点４へ移動する（一旦停止）。  
●ステップＳ６３；食い込み点４へ低速で移動開始。
●ステップＳ６４；突き当て面５１へのコーナＣＮ１の突き当たり（衝突）を検出したらロボットを停止させる。突き当たり（衝突）の検出については既述の通りであるので、繰り返し説明は省く。
●ステップＳ６５；ロボットの位置・姿勢を記憶する。  
【００９８】
●ステップＳ６６；ロボットをアプローチ点５へ移動させる。  
●ステップＳ６７；食い込み点５へ低速で移動開始。
●ステップＳ６８；突き当て面５１へのコーナＣＮ１の突き当たり（衝突）を検出したらロボットを停止させる。突き当たり（衝突）の検出については既述の通りである。
●ステップＳ６９；ロボットの位置・姿勢を記憶する。  
【００９９】
●ステップＳ７０；ロボットをアプローチ点６へ移動させる。  
●ステップＳ７１；食い込み点６へ低速で移動開始。  
●ステップＳ７２；突き当て面５１へのコーナＣＮ２の突き当たり（衝突）を検出したらロボットを停止させる。突き当たり（衝突）の検出の仕方は既述の通りである。
●ステップＳ７３；ロボットの位置・姿勢を記憶する。  
●ステップＳ７４；退避点（教示済み）へロボットを移動させる。
【０１００】
●ステップＳ７５；ステップＳ６５、Ｓ６９、Ｓ７３で記憶したロボットの位置・姿勢に基づいて、各突き当たり点（コーナＣＮ１、ＣＮ２）のハンド座標系上での位置を求める。その計算方法は次の通りである。先ず、ステップＳ６５で記憶されたロボットの位置・姿勢で起った第１回目のコーナＣＮ１の突き当て面５１への突き当り時について、ハンド座標系のｘｙ平面（ワークＷの把持面３４への密着面が乗っている）と、突き当て面５１の交線（直線）が形成されると考えることができる。
【０１０１】
今、これをハンド座標系上のｘｙ平面上で表わしたものが図１４中のｆ1で表わすものとする。同様に、ステップＳ６９で記憶されたロボットの位置・姿勢で起った第２回目のコーナＣＮ１の突き当て面５１への突き当り時について、ハンド座標系のｘｙ平面（ワークＷの把持面３４への密着面が乗っている）と、突き当て面５１の交線（直線）が形成されると考えることができる。これをハンド座標系上のｘｙ平面上で表わしたものをｆ2とすると、このｆ2はｆ1と平行ではない。なぜならば、衝突時のロボット姿勢がＸ軸（突き当て面５１に垂直）回りで異なっている（ここでは２０度程度）からである。
【０１０２】
その結果、ハンド座標系上で交点Ｆ12を持つ。この交点Ｆ12のハンド座標系上での位置が、コーナＣＮ１の位置（ハンド座標系上）を表わしている。ここで、交線ｆ1は、ステップＳ６５で記憶されたロボット位置・姿勢から計算される（交線ｆ1のワールド座標系上での表現をハンド座標系上での表現に変換すれば良い）。同様に、交線ｆ2は、ステップＳ６９で記憶されたロボット位置・姿勢から計算される（交線ｆ2のワールド座標系上での表現をハンド座標系上での表現に変換すれば良い）。ハンド座標系上での位置Ｆ12（ＣＮ１の位置）は、両交線の交点として直ちに求められる。
【０１０３】
一方、コーナＣＮ２については、突き当て面５１への１回の突き当り時に形成される交線（ハンド座標系のｘｙ平面と、突き当て面５１の交線で、ｆ3と表記）だけが求められる。ここで、コーナＣＮ１、ＣＮ２間の距離ｄ（予めロボット制御装置のメモリに記憶）は既知なので、ＣＮ２の位置は、交線ｆ3上にあり、且つ、ｘｙ平面上でＣＮ１から距離ｄにある点（半径ｄの円上）として求められる。
【０１０４】
より厳密に云えば、半径ｄの円と交線ｆ3の交点は一般には２つあり片方は偽物であるが、偽物はＣＮ１を挟んで本物の反対側にあるので、ハンド座標系の原点ＯHから各交点へ向かう２つベクトルを求め、各ベクトルと、原点ＯHからＣＮ１へ向かうベクトルの外積を計算すれば、一方は正、他方は負となる。一方、ＯHからＣＮ２へ向かうベクトルと、原点ＯHからＣＮ１へ向かうベクトルの外積の符号は予め決っているので、これをロボット制御装置のメモリに記憶させておけば、偽物は排除できる。
【０１０５】
●ステップＳ７６；コーナＣＮ１、ＣＮ２の位置（ハンド座標系上）から、ワークＷのハンド座標系上での２次元位置・姿勢を定める。ここでは、ＣＮ１の位置（ハンド座標系上）とＣＮ１からＣＮ２へ向かうベクトルのデータを記憶する。
【０１０６】
●ステップＳ７７；（＝ステップＳ５）；予め記憶されている基準把持位置・姿勢と比較し、ずれを求める。ずれの表現法は種々あるが、ここでは、基準把持状態におけるＣＮ１の位置（ハンド座標系上）と、ＣＮ１からＣＮ２へ向かう単位ベクトルを記憶し、上記ＣＮ１位置の基準値からのずれ量（２次元量）と、上記２つのベクトルの方位のずれ（角度）を計算することができる。本実施形態ではこれらを記憶する。
【０１０７】
なお、突き当て面５１を曲面（例えば滑らかな凸面あるいは凹面）とすることも不可能ではない。但し、その場合は、突き当ては複数コーナについて各２回以上とする。上記の例で云えば、例えばＣＮ２について突き当てをＣＮ１と同様の２回に変更する。そして、各突き当てで、上述したと同様の手法で２交線のハンド座標系上での交点位置を求めれば、ＣＮ１、ＣＮ２の位置となる。
【０１０８】
ここで、突き当て面５１が曲面である場合、図１４（ｂ）に例示したように、交線（ハンド座標系のｘｙ面と突き当て面との交線）ｋ１、ｋ２は、直線とならないが、交点Ｋ12を持たせることは２回の突き当て時のロボット姿勢を適当に相違させることで十分可能である（交点をもたないようにするには特別の姿勢相違が要求され、それ以外の条件では交点ができる）。
なお、これまでの実施例では、ハンド座標系の原点を指Ｈ２の把持面３４にセンシングビームが入射する点にとっていたが、ハンド座標系の原点を別の既知の位置に定義しても本発明の実施は可能である。例えば、指Ｈ１の把持面３３や指Ｈ２の把持面３４以外の平面上にハンド座標系の原点を取ることも、勿論可能である。
【０１０９】
■本計測に基づいて求められた把持位置・姿勢のずれに基づくロボットの位置・姿勢補正とワーク２への組み付け（ステップＳ６）について；
ロボット（ロボット制御装置）には、既述の態様でワークＷ（ワーク１）のワーク２への組み付けのための動作が教示されている。各種組み付け（例えば、穴への挿入）のための教示自体は周知であるから詳細は省略するが、通常は、アプローチ点といくつかの作業実行点が予め教示される。
また、これらアプローチ点と作業実行点について、ロボット位置・姿勢を補正して作業を実行する各種工程も周知である。そこで、一般的な処理の概要を、図２０のフローチャートに示した。各ステップの要点を記せば、下記の通りである。  
【０１１０】
●ステップＳ９０；組み付け作業を行うためのアプローチ点を、前述したステップＳ５（ステップＳ５７またはＳ７７）で求められた仮止め位置・姿勢のずれを補償できるように補正した点にロボットを移動させる。なお、一般に、被把持ワークの位置・姿勢のずれを補償するロボット位置・姿勢の補正法は周知であるので、詳細説明は省略する。
【０１１１】
●ステップＳ９１；組み付けを行うための各教示点を、前述したステップＳ５（ステップＳ５７またはＳ７７）で求められた把持位置・姿勢のずれを補償できるように補正した点にロボットを順次移動させながら、組み付け作業を実行する。
【０１１２】
図１５には、組み付け作業の例を示した。図１５において、ロボットＲＢ１は、上記実施形態で説明したロボットに対応するパラレルリンク型ロボットである。即ち、ワークＷ（Ｗ１）は、フレキシブルケーブルで、ステップＳ１〜ステップＳ５を経て、ステップＳ６に入った状態にある。ワークＷ２（ワーク２の例）は、フレキシブルケーブルを差し込む穴６０を持つコネクタで、別のパラレルリンク型ロボットＲＢ２で所定の位置・姿勢に位置決めされている。このパラレルリンク型ロボットＲＢ２は、前述した供給手段２（図１参照）の一例である。  
【０１１３】
これに対して、ステップＳ６に入った状態にあるロボットＲＢ１の位置・姿勢は、上述した通り、ハンドＨによる把持位置・姿勢のずれ（基準把持位置・姿勢との相違）を補償するように補正されている。
【０１１４】
即ち、穴６０への挿入のためのアプローチ点や、挿入開始点、挿入終了点に対応する教示点について、上記した把持状態のずれを補正した点へロボットＲＢ１が順次移動するように、ロボット制御装置により経路補正が行われる。従って、多少の把持のずれがあっても、挿入作業に支障をきたさない。
【図面の簡単な説明】
【０１１５】
【図１】本発明の実施形態について、全体配置の概略を説明する図である。
【図２】実施形態で実行される処理の大略を記したフローチャートである。
【図３】本実施形態で用いられる保持部材とその載置面上に仮止めされたワーク１を示した斜視図である。
【図４】ワークの載置面上への仮止めについて説明する斜視図である。
【図５】ワークの載置面上への仮止めについて説明する上面図である。
【図６】本実施形態で用いられる、光電センサ付のハンドについて説明する斜視図である。
【図７】予備計測の様子を示した斜視図である。
【図８】予備計測を行うための経路教示について説明する図で、（ａ）は教示経路の例を示し、（ｂ）は教示に関連して、仮止めワークの位置・姿勢のばらつきを例示した図である。
【図９】ワークの把持時の様子を示した斜視図である。
【図１０】本計測のついて説明する図で、突き当て辺／面提供部材が提供する突き当て辺に被把持ワークＷの１つの辺が突き当てられた状態が描かれている。
【図１１】突き当て辺への突き当て点の例を示した図である。
【図１２】本計測のついて説明する図で、突き当て辺／面提供部材が提供する突き当て面に被把持ワークＷの１つのコーナが突き当てられた状態が描かれている。
【図１３】突き当て面への突き当て点（コーナ）の例を示した図である。
【図１４】突き当て面への突き当てで形成される交線について説明する図で、（ａ）は突き当て面が平面の場合、（ｂ）は突き当て面が刻曲面の場合を例示している。
【図１５】組み付け作業の例を示した図である。
【図１６】予備計測（ステップＳ１）とそれに続く仮止めずれの計算（ステップＳ２）における処理の概要を記したフローチャートである。
【図１７】把持のための処理の概要を記したフローチャートである。
【図１８】突き当てについてタイプ１を採用した場合の本計測の処理の概要を説明するフローチャートである。
【図１９】突き当てについてタイプ２を採用した場合の本計測の処理の概要を説明するフローチャートである。
【図２０】ロボット位置・姿勢を補正して作業を実行する際の一般的な処理の概要について説明するフローチャートである。
【符号の説明】
【０１１６】
１  保持部材
２  ワーク載置台
３  ワーク載置台の上面
４  両面テープ
５、６  Ｌ型突起
７  柱状突起
８  ワークの凸部
１０  （ワークＷの）先端部
１１  補強板
１２  保持部材のコーナを突き当てる物体
１３  保持部材のコーナ
１４  テンプレート
１５  切り欠き
２０  アクチュエータ
３１  投光器（部）
３２  受光器（部）
３３、３４  把持面
４０、５０  突き当て辺／面提供部材
４１  突き当て辺
５１  突き当て面
６０  コネクタ（ワークＷ２）の差込み穴
ＢＭ  センシングビーム
ＧＰ  ギャップ
Ｈ、ＨＤ１、ＨＤ２  ハンド
Ｈ１、Ｈ２  指
Ｐ1〜Ｐ3  よぎり点（よぎり位置）
Ｑ0〜Ｑ3  教示点（アプローチ点／第１進入点／退避点／第２進入点）
Ｗ、Ｗ１  ワーク（第１のワーク）
ＲＢ１、ＲＢ２  パラレルリンク型ロボット
Ｗ２  ワーク（第２のワーク）
【図１】
2009050921.tif 000003
【図２】
2009050921.tif 000004
【図３】
2009050921.tif 000005
【図４】
2009050921.tif 000006
【図５】
2009050921.tif 000007
【図６】
2009050921.tif 000008
【図７】
2009050921.tif 000009
【図８】
2009050921.tif 000010
【図９】
2009050921.tif 000011
【図１０】
2009050921.tif 000012
【図１１】
2009050921.tif 000013
【図１２】
2009050921.tif 000014
【図１３】
2009050921.tif 000015
【図１４】
2009050921.tif 000016
【図１５】
2009050921.tif 000017
【図１６】
2009050921.tif 000018
【図１７】
2009050921.tif 000019
【図１８】
2009050921.tif 000020
【図１９】
2009050921.tif 000021
【図２０】
2009050921.tif 000022