(57)【要約】【課題】  ワークを治具に載置するロボット動作のための教示作業を自動化する。【解決手段】  ロボット１０のアーム先端部１１に装着されたハンド１２でワーク５０を把持し治具６０に載置する作業を教示する。治具６０あるいはハンド１２には距離センサ１〜３を設置する。各センサとワーク５０の距離あるいは各センサと治具６０との距離を測定する。ロボット制御装置は、距離センサ１〜３で検出される距離が均等にあるようにロボット１０の姿勢を保ちつつ、穴５１〜５３が突起６１〜６３に係合するように、ワーク５０を治具６０に自動的に接近させる。距離センサ１〜３で検出される距離あるいは外乱推定オブザーバ、各軸の負荷トルクなどを監視して、ワーク５０が治具６０に接触あるいはその寸前まで到達したらロボット移動を自動停止させる。この時のロボットの位置・姿勢を教示する。【選択図】            図２
2005052941.tif 000002
【特許請求の範囲】
【請求項１】
ロボット制御装置で制御されるロボットに装着されたハンドでワークを保持し、該保持したワークをワーク載置部材に載置する装置において、
前記ワーク載置部材の複数箇所に設けられ、前記ハンドで保持されたワークと自身との距離を夫々測定する距離測定手段と、
該各距離測定手段で測定された測定距離を前記ロボット制御装置に読み込む手段と、
前記ワークが前記ワーク載置部材に接近するように前記ロボットを移動させる手段と、
前記移動中に、前記ロボット制御装置に読み込まれる前記測定距離に基いて、前記ワークと前記ワーク載置部材の、最終的に接触し合う全ての接触対応部位同士の間の距離が均等に保たれるように、前記ロボットの前記ハンドの姿勢を制御する手段と、
前記移動中に所定の条件が満たされると移動を停止する手段と、を備えたことを特徴とする、ワーク載置装置。
【請求項２】
前記所定の条件は、前記接触対応部位同士の間の距離、又は前記各距離測定手段と前記ワークとの間の距離に関する条件として定められていることを特徴とする、請求項１に記載のワーク載置装置。
【請求項３】
ロボット制御装置で制御されるロボットに装着されたハンドでワークを保持し、該保持したワークをワーク載置部材に載置する装置において、
ワークが載置された際に前記ワークと接触する前記ワーク載置部材の接触部に複数箇所定めた距離計測対象部位に対応して設置され、前記ハンドで保持されたワークと自身との距離を夫々測定する距離測定手段と、
該各距離測定手段で測定された測定距離を前記ロボットの制御装置に読み込む手段と、
該読み込んだ測定距離に基いて、前記各距離測定手段に対応する前記距離計測対象部位と前記ワ一クとの距離を計算する手段と、
前記ワークが前記各距離計測対象部位に接近するように前記ロボットを移動させる手段と、
前記移動中に、前記ワークと前記各距離計測対象部位との間の距離が均等になるよう前記ロボットの前記ハンドの姿勢を制御する手段と、
前記移動中に所定の条件が満たされると移動を停止する手段と、を備えたことを特徴とする、ワーク載置装置。
【請求項４】
前記所定の条件は、前記ワークと前記各距離計測対象部位との間の距離に関する条件として定められていることを特徴とする、請求項３に記載のワーク載置装置。
【請求項５】
ロボット制御装置で制御されるロボットに装着されたハンドでワークを保持し、該保持したワークをワーク載置部材に載置する装置において、  前記ハンドの複数箇所に設けられ、前記ワーク載置部材と自身との距離を夫々測定する距離測定手段と、
該各距離測定手段で測定された測定距離を前記ロボット制御装置に読み込む手段と、
前記ワークが前記ワーク載置部材に接近するように前記ロボットを移動させる手段と、
前記移動中に、前記ロボットの制御装置に読み込まれる前記測定距離に基いて、前記ワークと前記ワーク載置部材の、最終的に接触し合う全ての接触対応部位同士の間の距離が均等に保たれるように前記ロボットの前記ハンドの姿勢を制御する手段と、
前記移動中に所定の条件が満たされると移動を停止する手段と、を備えたことを特徴とする、ワーク載置装置。
【請求項６】
前記所定の条件は、前記接触対応部位同士の間の距離、又は前記各距離測定手段と前記ワーク載置部材との間の距離に関する条件として定められていることを特徴とする、請求項５に記載のワーク載置装置。
【請求項７】
前記所定の条件は、前記ワークと前記ワーク載置部材との接触が検出されたか否かに関する条件として定められており、
前記接触の有無は、前記ロボットの制御装置に備わった外乱推定オブザーバに基づいて判断されることを特徴とする、請求項１、請求項３または請求項５に記載のワーク載置装置。
【請求項８】
前記所定の条件は、前記ワークと前記ワーク載置部材との接触が検出されたか否かに関する条件として定められており、
前記接触の有無は、前記ロボットの各軸モータの負荷の変化を検出し、該検出結果に基づいて判断されることを特徴とする、請求項１、請求項３または請求項５に記載のワーク載置装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを用いてワークを治具上に載置するワーク載置装置に関し、特に、ワーク載置を適正に行なうためのハンド姿勢の教示に利用できるワーク載置装置に関する。
【背景技術】
【０００２】
従来、ロボットがワークをハンドリングして、ワーク載置部材（以下、治具ともいう）にワークを載置する作業についてロボットプログラムを作成する場合には、治具にはワークを支持する部分が複数用意されるので、まずロボットに装着されたハンドで支持されたワークを治具のワーク支持部の近傍までロボットの手動送りで移動させ、次にそれらのワーク支持部の全てに対して、ワークが均等に接触するよう、ハンドの姿勢をロボットの手動送りで微妙に調整しながら、ワークをセットする際の位置・姿勢を教示する必要があった。
【０００３】
そして、この調整作業は、何度もトライアンドエラーを繰り返すめんどうな作業となるのが通例で、特に、ワークが大きい場合には熟練者にとっても負担が大きく、また、非熟練者にあっては事実上実行不可能と言っても良い程である。そのため、ロボットのプログラムの教示時間の増大を招く大きな原因となっていた。ところが、それにも関わらず、この教示の困難さを解決する適当な手法が開発されていないのが実状であった。
【０００４】
なお、本発明に類似した公知文献は見い出せないが、後述するようにワークと治具をの接触の検知に利用される周知の外乱オブザーバについては、下記特許文献１がある。
【０００５】
【特許文献１】特許第２６６５９８４号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そこで、本発明の目的は、ロボットがワークをハンドリングして、ワーク載置部材にワークを載置する作業についての教示を簡便、短時間で実行する上で有用なワーク載置装置を提供することにある。また、本発明はそのことを通して、ロボットの教示時間の短縮を図り、オペレータの負担を軽減し、熟練者でなくても教示を容易に行えるようにしようとするものである。
【課題を解決するための手段】
【０００７】
本発明は、上記したように手動送りでトライアンドエラーを繰り返して行なっていた調整作業を、ワーク載置部材あるいはハンドの複数箇所に設置した距離測定手段で得られる距離情報を利用したハンド姿勢の制御（即ち、ロボット姿勢の制御装置）の手法を利用して自動化することで、上記技術課題を解決するものである。より具体的に言えば、本発明は、ロボット制御装置で制御されるロボットに装着されたハンドでワークを保持し、該保持したワークをワーク載置部材に載置する装置に適用されるもので、下記の諸態様をとり得る。
【０００８】
先ず本発明の基本的な態様に従ったワーク載置装置は、前記ワーク載置部材の複数箇所に設けられ、前記ハンドで保持されたワークと自身との距離を夫々測定する距離測定手段と、該各距離測定手段で測定された測定距離を前記ロボット制御装置に読み込む手段と、前記ワークが前記ワーク載置部材に接近するように前記ロボットを移動させる手段と、前記移動中に、前記ロボット制御装置に読み込まれる前記測定距離に基いて、前記ワークと前記ワーク載置部材の、最終的に接触し合う全ての接触対応部位同士の間の距離が均等に保たれるように、前記ロボットの前記ハンドの姿勢を制御する手段と、前記移動中に所定の条件が満たされると移動を停止する手段とを備えている。ここで、前記所定の条件は、前記接触対応部位同士の間の距離、又は前記各距離測定手段と前記ワークとの間の距離に関する条件として定めることができる。
【０００９】
また、本発明の１つの典型的な態様に従ったワーク載置装置は、ワークが載置された際に前記ワークと接触する前記ワーク載置部材の接触部に複数箇所定められた距離計測対象部位に対応して設置され、前記ハンドで保持されたワークと自身との距離を夫々測定する距離測定手段と、該各距離測定手段で測定された測定距離を前記ロボットの制御装置に読み込む手段と、該読み込んだ測定距離に基いて、前記各距離測定手段に対応する前記距離計測対象部位と前記ワ一クとの距離を計算する手段と、前記ワークが前記各距離計測対象部位に接近するように前記ロボットを移動させる手段と、前記移動中に、前記ワークと前記各距離計測対象部位との間の距離が均等になるよう前記ロボットの前記ハンドの姿勢を制御する手段と、前記移動中に所定の条件が満たされると移動を停止する手段とを備える。ここで、前記所定の条件は、前記ワークと前記各距離計測対象部位との間の距離に関する条件として定めることが出来る。
【００１０】
以上の諸態様では、距離測定手段はワーク載置部材側に設けられているが、ハンド側に設けることもできる。そのような場合における基本的な態様に従ったワーク載置装置は、前記ハンドの複数箇所に設けられ、前記ワーク載置部材と自身との距離を夫々測定する距離測定手段と、該各距離測定手段で測定された測定距離を前記ロボット制御装置に読み込む手段と、前記ワークが前記ワーク載置部材に接近するように前記ロボットを移動させる手段と、前記移動中に、前記ロボット制御装置に読み込まれる前記測定距離に基いて、前記ワークと前記ワーク載置部材の、最終的に接触し合う全ての接触対応部位同士の間の距離が均等に保たれるように前記ロボットの前記ハンドの姿勢を制御する手段と、前記移動中に所定の条件が満たされると移動を停止する手段と、を備える。
【００１１】
ここで、前記所定の条件は、前記接触対応部位同士の間の距離、又は前記各距離測定手段と前記ワーク載置部材との間の距離に関する条件として定めることができる。あるいは、前記所定の条件は、前記ワークと前記ワーク載置部材との接触が検出されたか否かに関する条件として定められても良い。その場合、前記接触の有無は、例えば前記ロボットの制御装置に備わった外乱推定オブザーバに基づいて、あるいは、各軸モータの負荷の変化を検出し、該検出結果に基づいて判断することが出来る。
【００１２】
上記したように、本願では、治具あるいはハンドに複数の距離測定手段を配置し、それらによって得られる距離情報に基づいて治具とワークの位置関係を知り、各接触対応部位同士で起るワークとワーク載置部材との接触直前の接近が均等に起るようにハンド姿勢（ロボット姿勢）を自動的に制御し、十分な接近乃至接触が起ったことを距離データ、ロボット各軸の外乱推定オブザーバ、負荷トルク等で判断した時点でロボットを停止させるようにしている。従って、従来オペレータに必要であっためんどうな作業の殆どは不要になる。即ち、本発明のワーク載置装置を利用した場合、オペレータに要求されるロボットの手動送り操作は、従来のようなハンドの適正姿勢を設定するための微妙な調整とは異なり、ワークと治具の各接触対応部位同士をある程度の距離まで（距離センサの有効測定範囲内）近付けるだけの簡単なもので十分である。
【００１３】
このような粗いアプローチが済んだら、オペレータは、キー操作等で、ワークを治具の支持部に向って自動的に動作させることができる。この動作中には、ロボット制御装置は、距離測定手段の出力データから各支持部とワークの距離を継続的に求め、各支持部（接触対応部位）とワークの距離が均等に減少するように、ロボットのハンドの姿勢を制御する。最後に、例えば接触が検出された時点で動作を終了させる。この時点におけるハンド姿勢は、従来熟練者が手動送りで時間をかけてトライアンドエラーを重ねてようやく定めていたものに相当しているから、結局、熟練者、非熟練者を問わず、短時間で簡単に教示作業が行えるようになる。なお、距離を測定する手段としては、レーザ式距離センサ、超音波式距離センサ、赤外光を用いた光学式距離センサ、２台のカメラによるステレオ視など、種々のものが周知であり、これらを適宜採用することができる。
【発明の効果】
【００１４】
本発明により、ワークをハンドリングするロボットについて、ワークを治具に載置する際のハンド姿勢の設定が自動化される。そのため、ロボットの教示時間が短縮され、オペレータの負担が軽減される。また、熟練者でなくても教示を容易に行えるようになる。
【発明を実施するための最良の形態】
【００１５】
図１は、本発明の実施形態に係るワーク載置装置の概略構成を説明するブロック図である。図１に示したワーク載置装置は、ワークを把持するハンド（図１では図示省略；後述する図２または図３を参照）を装着したロボット（機構部）１０と、教示操作盤３０と、数個（ここでは３個を例示）の距離センサ１〜３と、これらに接続されたロボット制御装置２０で構成されている。ロボット制御装置２０は、センサ用のインターフェイス（図示省略）を介して距離センサ１〜３に接続されている点、及び、各距離センサ１〜３で得られるデータを利用して後述する図４、図５のフローチャートに示した処理を実行するためのソフトウェアを装備している点等を除けば、通常のロボットシステムと特に変わるところはない。
【００１６】
また、ロボット制御装置１０には、周知の態様で、ロボット各軸のサーボモータ制御の速度ループに対して外乱推定オブザーバが構成されており、トルク指令と実速度により外乱トルクを推定し、出力できるようになっている。あるいは、この外乱推定オブザーバに代えて、各軸のモータヘの電流値をモニタし、出力できるようにしておいても良い。
【００１７】
教示操作盤３０は通常の態様で教示操作盤用のインターフェイス（図示省略）を介してロボット制御装置２０に接続されているもので、ディスプレイ３１、ジョグキー（手動送りキー）３２、教示キー３３３及び接近キー３４を備えている。ジョグキー（手動送りキー）３２は、周知のように、ロボット１０をオペレータが指定する並進移動あるいは回転移動を徐々に行なわせるためのものである。教示キー３３は、ロボットが位置決めした状態で停止している時に押下することで、その現在位置（ｘ、ｙ、ｚ、ｐ、ｗ，ｒ）をロボット制御装置２０内のメモリに位置データとして記憶させるためのキーである。また、接近キー３４は、後述する図４、図５のフローチャートに示した処理の開始、及び、継続の指令をマニュアル入力する手段を提供している。なお、教示操作盤３０には、これらのキーによる機能の他に、プログラム編集、修正、諸パラメータの設定を行なう機能や非常停止の機能も備わっている。また更に、随時必要に応じて、各距離センサ１〜３で測定された距離のデータをロボット制御装置２０内に取りこませ、ディスプレイ３１上に表示する機能も備わっている。
【００１８】
次に、図２及び図３は、図１にブロック構成を示したワーク載置装置について、ハンドで把持されたワークと治具の周辺の様子を距離センサの設置位置が異なる２つのケースについて示した見取り図で、図２は、距離センサを治具側に設置したケースを示し、図３は、距離センサをハンド側に設置したケースを示している。両図において、符号１１はロボット１０のアーム先端部を示し、そこにハンド１２が装着されている。ハンド１２には、ワーク５０が図示した態様で把持されており、本実施形態では、このワーク５０を治具（ワーク載置部材）６０に載置する作業をロボットに教示することを考える。
【００１９】
本例で示されたワーク５０は３つのコーナー付近に穴５１〜５３を有しており、これに正確に対応する位置関係で治具６０には突起６１〜突起６３が形成されている。従って、穴５１を囲む部分と突起６１を囲む部分、穴５２を囲む部分と突起６２を囲む部分、及び、穴５３を囲む部分と突起６３を囲む部分が、それぞれ最終的に接触し合う対応部位となっている。
【００２０】
各距離センサ１〜３の治具６０上あるいはハンド１２上での設置位置については、それらが１直線上に並ばないように選択する。また、絶対的な条件ではないが、図２に示したように、治具６０上に設置する場合は最終的にワークと接触し合う対応部位（本例では各突起６１〜６３の近傍）とすることが好ましい。また、図３に示したように、ハンド１２上に設置する場合はワークとの把持接点の近傍とすることが好ましい。
【００２１】
以下、図１及び図２、あるいは、図１及び図３に示したワーク載置装置を用いて、治具６０への載置動作を教示する手順について説明する。なお、便宜上、初期状態としては、ロボット１０がハンド１２でワーク５０を把持し、治具６０からやや離れた位置（距離センサ１〜３の測定圏外）にある状態を想定する。  
（１）予備接近；
先ず、オペレータは教示操作盤３０のジョグキー３２を操作して、図２あるいは図３に示したように、ワーク５０が治具６０のほぼ真上の近傍に位置するようにロボット１０を移動させる。この移動を便宜上予備接近ということにする。ハンド１２の姿勢（ロボット１０の姿勢）は、ワーク５０の最終的な載置姿勢とほぼ同じ姿勢とすることが好ましい。本例では、穴５１〜５３と各対応する突起６１〜６３の距離がほぼ等しくなる姿勢がこれに相当する。
【００２２】
なお、この予備接近の動作は、予め作成したプログラムを実行することによって行なっても良い。また、予備接近が適正に行なわれたかを確認するために、この段階で各距離センサ１〜３の測定値をディスプレイ３１に表示させ、各距離センサ１〜３が自身とワーク５０の間の距離（図２のケース）、あるいは、自身と治具６０の間の距離（図３のケース）を計測できること、及び、各距離センサ１〜３の測定値が余りばらついていない適正値（例えば±２０％以内）であることを確認することが好ましい。もしも、測定値のばらつきが大き過ぎたり、測定不能であったりした場合には、予備接近した位置を再調整するなどの措置をとる。
【００２３】
（２）本接近／載置動作；
上述した予備接近が完了したら、ワーク５０を治具６０に本接近し、載置あるいは載置寸前まで到達する動作を行う。この動作を便宜上、本接近／載置動作という。この動作は、従来であれば、オペレータが手動送り（ジョグキー３２の操作）により、ワーク５０を治具６０との平行な姿勢関係を保ちながら治具６０に対して接近させる調整作業によって実行されていた。前述したように、この調整作業は熟練者でも容易なものではなかったものであるが、本実施形態では教示操作盤３０の接近キー３４を押下するだけで自動的に実行される。
【００２４】
即ち、接近キー３４が押下されると、ワーク５０と治具６０の相対的な姿勢を適正（ここでは平行関係）に維持しつつ、ワーク６０が治具６０に近づくように、ロボット制御装置２０がロボット１０の位置・姿勢を制御する。図４及び図５は、この制御のための処理の概要を示したフローチャートで、図４はその前半部で主として姿勢制御（ツール座標系周りの姿勢の制御）に関連した諸ステップを示し、図５はその後半部で主として位置制御（ツール先端点の並進移動）に関連した諸ステップを示している。なお、基本的にアルゴリズムは図２、図３いずれのケースでも同じなので、距離センサを治具側に取り付けたケース（図２）について説明する。各ステップの要点は下記の通りである。
【００２５】
ステップＳ１；後述する姿勢調整のための指標ｍ及び位置調整のための指標ｎを初期値、ｍ＝ｎ＝１に設定する。  
ステップＳ２；現在位置（上述した予備接近を完了した時点における位置）を基準位置として記憶する。  
ステップＳ３；ｍ番目の姿勢調整位置へ移動する。ここで、「ｍ番目の姿勢調整位置」は、次のように定めておく。  
（ａ）１番目の姿勢調整位置は基準位置そのものとする。従って、ｍ＝１である場合に限り、このステップＳ２はスキップするが、「移動量０」の始動指令を出力する。
【００２６】
（ｂ）２番目の姿勢調整位置（ｍ＝２）は、基準位置から、ツール座標系のＸ軸まわりに、予め設定された微少角度（△ｗ）だけ回転させた位置とする。基準位置の姿勢成分を（ｗst、ｐst、ｒst）とすれば、（ｗst＋△ｗ、ｐst、ｒst）とする。
【００２７】
（ｃ）３番目の姿勢調整位置（ｍ＝３）は、ツール座標系のＹ軸まわりに、予め設定された微少角度（△ｐ）だけ回転させた位置、（ｗst、ｐst＋△ｐ、ｒst）とする。
【００２８】
（ｄ）４番目の姿勢調整位置（ｍ＝４）は、ツール座標系のＺ軸まわりに、予め設定された微少角度（△ｒ）だけ回転させた位置、（ｗst、ｐst、ｒst＋△ｒ）とする。
【００２９】
（ｅ）５番目の姿勢調整位置（ｍ＝５）は、ツール座標系のＸ軸まわりに、予め設定された微少角度Δｗの２倍、２△ｒだけ回転させた位置、（ｗst＋２△ｗ、ｐst、ｒst）とする。
【００３０】
以下、同様にして、予め正整数ｇを設定しておき、−ｇ≦ｉ≦ｇ、−ｇ≦ｊ≦ｇ、−ｇ≦ｋ≦ｇのすべての組合せ（ｉ、ｊ、ｋ）に対応した（ｗst＋ｉ△ｗ、ｐst＋ｊ△ｐ、ｒst＋ｋ△ｒ）を調整姿勢として１対１対応でラベルｍを付けて定めておく。作成される調整姿勢の総数は、（２ｇ）3 個となり、指標ｍの最大値ＭはＭ＝（２ｇ）3 ＋１となる。
【００３１】
なお、このステップＳ３の移動中に、ワーク５０と治具６０の接触が起きていることを示す信号が出力されたら、ロボットを緊急停止させる。例えば、前述した外乱推定オブザーバによって推定された外乱トルクや各軸の電流のモニタ値が予め設定した上限値を越えたら、ロボットを緊急停止させる。
【００３２】
ステップＳ４；ステップＳ３でとった姿勢毎に、各距離センサの出力をロボット制御装置２０に読み込み、測定された距離データｌ1 〜ｌf を収集する。ここでは、ｆ＝３で計３個の距離データが収集され、その対応する指標ｍをラベルして、センサ毎のデータが記憶される。
【００３３】
ステップＳ５；姿勢の適正度をチェックする評価指標Ｌを計算する。Ｌの計算式は例えば次式（１）とする。  
Ｌ＝Σ（ｌa −ｌb ）2                 ・・・・・（１）
（但し、添字ａ、ｂはそれぞれａ番目、ｂ番目の距離センサによる測定値であり、サメンションΣは、１≦ａ≦ｆ、１≦ｂ≦ｆのすべての組合せについてとるものとする。）
ｆ＝３の場合、上記（１）式は、
Ｌ＝（ｌ1 −ｌ2 ）2 ＋（ｌ2 −ｌ3 ）2 ＋（ｌ3 −ｌ１）2 
・・・・・（２）
となる。計算されたＬの値は、指標ｍをラベルして記憶される。
【００３４】
ステップＳ６；すべての調整姿勢についてステップＳ３〜ステップＳ６が済んでいるか否かチェックする。済んでいなければステップＳ７へ進み、済んでいればステップＳ９へ進む。  
ステップＳ７；接近キー３４（図１参照）が押下中であるかチェックする。押下中であればステップＳ８へ進み、押下中でなければ処理を終了する。即ち、オペレータは随時接近／載置動作の停止／継続を選択することができる。  
ステップＳ８；姿勢調整のための指標ｍに１を加算して、ステップＳ３へ戻る。
【００３５】
ステップＳ９；最小のＬ＝Ｌmin を求める。  
ステップＳ１０／ステップＳ１１；最小のＬ＝Ｌmin を与える指標ｍに対応する姿勢に移動する。この時点で１サイクル分の姿勢調整が行なわれたことになる。但し、姿勢調整が最低限の適正度を満たしていることを確認するために、ステップＳ１１へ進む。ＱはＬmin について許容し得る上限値として予め設定しておく。Ｌmin ＜ＱならステップＳ１２へ進み、そうでなければステップＳ１へ戻り、ステップＳ２以下をやり尚し、姿勢の再調整を行なう。但し、ステップＳ２における「現在位置」は、先行するステップＳ１０で移動した位置であることに注意する必要がある。即ち、ステップＳ１１で不合格になったものの、一応の姿勢調整は行なわれた後の姿勢が、次回サイクルの姿勢調整での「基準姿勢」となる。従って、ステップＳ１１は何度目かのトライで合格になることが高い確率で期待できる。
【００３６】
ステップＳ１２；ワーク５０と治具６０の接近度をチェックする評価指標Ｌ0 を計算する。Ｌ0 の計算式は例えば次式（３）とする。  
Ｌ0 ＝Σ（ｌ1 ＋・・＋ｌf ）／ｆ    ・・・・・（３）
ｆ＝３の場合、上記（３）式は、
Ｌ0 ＝Σ（ｌ1 ＋ｌ2 ＋ｌ3 ）／３    ・・・・・（４）
となる。
【００３７】
ステップＳ１3；Ｌ0 を予め設定された値Ｒと比較し、Ｒ以下であれば接近／載置の処理を終了する。なお、ディスプレイ３１にその旨表示する処理も行なう。オペレータは、それを確認して接近キー３４を離し、教示キー３３を押下して現在位置を教示する。Ｌ0 ＞ＲであればステップＳＳ１へ進む（符号Ａから、図５のフローチャートへ移行）。なお、このＲの値は、ワーク５０の穴５１〜５３がすべて突起６１〜６３に係合し、ワーク５０の治具６０への載置が完了した時に得られるＬ0 の値に等しいか、僅かに大きいかに設定しておくことが好ましい。
【００３８】
ステップＳＳ１；現在位置（ステップＳ１２完了持の位置）を基準位置として記憶する。  
ステップＳＳ２；ｎ番目の並進調整位置へ移動する。ここで、「ｎ番目の並進調整位置」は、次のように定めておく。  
（ａ）１番目の姿勢調整位置は（ｎ＝１）は、基準位置から、ツール先端点を、予め設定された微少距離（△ｘ）だけｘ軸方向に並進移動させた位置とする。基準位置の位置成分を（ｘst、ｙst、ｚst）とすれば、（ｘst＋△ｘ、ｙst、ｚst）とする。  
（ｂ）２番目の並進調整位置（ｎ＝２）は、基準位置から、ツール先端点を、予め設定された微少距離（△ｙ）だけｙ軸方向に並進移動させた位置、（ｘst、ｙst＋Δｙ、ｚst）とする。  
（ｃ）３番目の並進調整位置（ｎ＝３）は、基準位置から、ツール先端点を、予め設定された微少距離（△ｚ）だけｚ軸方向に並進移動させた位置、（ｘst、ｙst、ｚst＋Δｚ）とする。
【００３９】
（ｄ）４番目の姿勢調整位置（ｎ＝４）は、基準位置から、ツール先端点を、予め設定された微少距離（△ｘ）の２倍だけｘ軸方向に並進移動させた位置、（ｘst＋２Δｘ、ｙst、ｚst）とする。
【００４０】
（ｅ）以下、同様にして、予め正整数ｈを設定しておき、−ｈ≦ｉ≦ｈ、−ｈ≦ｊ≦ｈ、−ｈ≦ｋ≦ｈのすべての組合せ（ｉ、ｊ、ｋ）に対応した（ｘst＋ｉ△ｘ、ｙst＋ｊ△ｙ、ｚst＋ｋ△ｚ）を調整位置として１対１対応でラベルｎを付けて定めておく。作成される調整姿勢の総数は、（２ｈ）3 個となり、指標ｎの最大値ＮはＮ＝（２ｈ）3 となる。
【００４１】
なお、このステップＳＳ２の移動中に、ワーク５０と治具６０の接触が起きていることを示す信号が出力されたら、前述したステップＳ３の場合と同様に、ロボットを緊急停止させる。
【００４２】
ステップＳＳ３；ステップＳ３でとった位置毎に、各距離センサの出力をロボット制御装置２０に読み込み、測定された距離データｌ1 〜ｌf を収集する。ここでは、ｆ＝３で計３個の距離データが収集され、その対応する指標ｎをラベルして、センサ毎のデータが記憶される。
【００４３】
ステップＳＳ４；接近の均等度をチェックする評価指標ＬＬを計算する。ＬＬの計算式は、例えば前出の式（１）あるいは式（２）と同じで良い。計算されたＬの値は、指標ｎをラベルして記憶される。
【００４４】
ステップＳＳ５；すべての並進調整位置についてステップＳＳ２〜ステップＳ４が済んでいるか否かチェックする。済んでいなければステップＳＳ６へ進み、済んでいればステップＳＳ８へ進む。  
ステップＳＳ６；接近キー３４（図１参照）が押下中であるかチェックする。押下中であればステップＳ７へ進み、押下中でなければ処理を終了する。即ち、オペレータは随時接近／載置動作の停止／継続を選択することができる。  
ステップＳＳ７；並進位置調整のための指標ｎに１を加算して、ステップＳＳ２へ戻る。
【００４５】
ステップＳＳ８；最小のＬＬ＝ＬＬmin を求める。  
ステップＳＳ９／ステップＳＳ１０；最小のＬＬ＝ＬＬmin を与える指標ｎに対応する位置に移動する。この時点で１サイクル分の並進位置調整が行なわれたことになる。ここで、接近の均一度が最低限の要求を満たしていることを確認するために、ステップＳＳ１０へ進む。ＱはＬＬmin について許容し得る上限値として予め設定しておく。ここでは、ステップＳ１１で使われたＬmin の上限値と同じ値を採用している。ＬＬmin ＜ＱならステップＳＳ１１へ進み、そうでなければステップＳ１へ戻り、ステップＳ２以下をやり直し、姿勢の再調整を行なう（符号Ｂから、図４のフローチャートへ移行）。但し、その際のステップＳ２における「現在位置」は、先行するステップＳＳ９で移動した位置であることに注意する必要がある。
【００４６】
ステップＳＳ１１；ワーク５０と治具６０の接近度をチェックする評価指標Ｌ0 を計算する。Ｌ0 の計算式は前出の式（３）あるいは式（４）で良い。  
ステップＳ１２；Ｌ0 を予め設定された値Ｒと比較し、Ｒ以下であれば接近／載置の処理を終了する。ディスプレイ３１にその旨表示する処理も行なう。オペレータは、それを確認して接近キー３４を離し、教示キー３３を押下して現在位置を教示する。Ｌ0 ＞ＲであればステップＳＳ１以降を再実行する。その際のステップＳＳ２における「現在位置」は、先行するステップＳＳ９で移動した位置である。従って、ステップＳ１１は何度目かのトライで合格になることが高い確率で期待できる。
【００４７】
以上のようにして、オペレータは接近キー３４の押下を適当な時間（ディスプレイ３１に接近／載置動作完了の表示がるまで）持続するだけで、ワーク５０を均等に治具６０に接近させて載置することができる適正な位置・姿勢をロボットに教示することができる。
【００４８】
なお、上記実施形態では、接近／載置動作完了によるロボット停止を判断する基準として、距離情報を用いているが、他の情報を用いることもできる。例えば、前述した外乱推定オブザーバを用いて、ワーク５０の治具６０への接近／載置完了を検出し、接近／載置動作を終了する方法もある。具体的には、前述したように、ロボットのサーボモータ制御の速度ループに対して外乱推定オブザーバを構成し、トルク指令と実速度により外乱トルクを推定し、推定された外乱トルクの大きさが所定値以上の値になったら、ワーク５０と治具６０が接触したとみなし、接近／載置動作を終了すれば良い。また、各軸のモータヘの電流値（負荷トルクを表わす指標）をモニタし、所定値以上になったら、ワーク５０と治具６０が接触したとみなし、接近／載置動作を終了しても良い。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施形態に係るワーク載置装置の概略構成を説明するブロック図である。
【図２】距離センサを治具側に設置したケースについて、ハンドで把持されたワークと治具の周辺の様子を示した見取り図である。
【図３】距離センサをハンド側に設置したケースについて、ハンドで把持されたワークと治具の周辺の様子を示した見取り図である。
【図４】本接近／載置動作の制御のための処理の概要を示すフローチャートの前半部を示した図である。
【図５】本接近／載置動作の制御のための処理の概要を示すフローチャートの後半部を示した図である。
【符号の説明】
【００５０】
１〜３  距離センサ
１０  ロボット（機構部）
２０  ロボット制御装置
３０  教示操作盤
３１  ディスプレイ
３２  ジョグキー
３３  教示キー
３４  接近キー
５０  ワーク
５１〜５３  穴
６０  治具（ワーク載置部材）
６１〜６３  突起
【図１】
2005052941.tif 000003
【図２】
2005052941.tif 000004
【図３】
2005052941.tif 000005
【図４】
2005052941.tif 000006
【図５】
2005052941.tif 000007