(57)【特許請求の範囲】
【請求項１】
ロボット手先又は腕部に装着されたツールとワークピースが収納された収納箱との干渉を回避する干渉回避装置であって、
教示時の前記ワークピースの位置姿勢、該教示時のワークピースに対し作業する前記ツールの位置姿勢を記憶する第１の記憶手段と、
前記ツールの形状に関する情報と、前記収納箱の形状に関する情報、及び該収納箱の位置姿勢を記憶する第２の記憶手段と、
ロボットに装着され、前記収納箱にバラ積みされたワークピースからピッキング対象のワークピースの位置姿勢を取得するセンサ手段と、
該センサ手段で取得したピッキング対象のワークピースの位置姿勢と前記第１の記憶手段に記憶する情報に基づいて前記ツールの位置姿勢を求める手段と、
前記ツールの位置姿勢と前記第２の記憶手段に記憶された情報とに基づいて該ツールと前記収納箱との干渉の有無を判別する干渉判別手段と、
前記干渉判別手段によって干渉が有ると判断された場合に、前記ツールと前記収納箱との干渉を回避するために前記ツールの位置と姿勢の少なくともいずれか一方を変更した新たな位置姿勢を自動的に生成する位置姿勢生成手段とを備え、
該位置姿勢生成手段は、
前記ピッキング対象のワークピースに最も近い前記収納箱の部分を選択する物体選択手段と、
干渉を回避するための自由度として回転、傾き、平行移動のうち少なくともいずれか１つの範囲を設定し記憶する手段と、
前記ツールと前記物体選択手段により選択された前記収納箱の部分との干渉が解消されるように前記設定した自由度の範囲で前記ツールの位置と姿勢の少なくともいずれか一方を変更する手段を備えることを特徴とする干渉回避装置。
【請求項２】
ロボット手先又は腕部に装着されたツールとワークピースが収納された収納箱との干渉を回避する干渉回避装置であって、
教示時の前記ワークピースの位置姿勢、該教示時のワークピースに対し作業する前記ツールの位置姿勢を記憶する第１の記憶手段と、
前記ツールの形状に関する情報と、前記収納箱の形状に関する情報、及び該収納箱の位置姿勢を記憶する第２の記憶手段と、
ロボットに装着され、前記収納箱にバラ積みされたワークピースからピッキング対象のワークピースの位置姿勢を取得するセンサ手段と、
該センサ手段で取得したピッキング対象のワークピースの位置姿勢と前記第１の記憶手段に記憶する情報に基づいて前記ツールの位置姿勢を求める手段と、
ロボットの動作中において、前記ツールの位置姿勢と前記第２の記憶手段に記憶された情報とに基づいて該ツールと前記収納箱との干渉の有無を判別する干渉判別手段と、
前記干渉判別手段によって干渉が有ると判断された場合に、前記ツールと前記収納箱との干渉を回避するために前記ツールの位置と姿勢の少なくともいずれか一方を変更した新たな位置姿勢を自動的に生成する位置姿勢生成手段とを備え、
該位置姿勢生成手段は、
前記ピッキング対象のワークピースに最も近い前記収納箱の部分を選択する物体選択手段と、
干渉を回避するための自由度として回転、傾き、平行移動のうち少なくともいずれか１つの範囲を設定し記憶する手段と、
前記ツールと前記物体選択手段により選択された前記収納箱の部分との干渉が解消されるように前記設定した自由度の範囲で前記ツールの位置と姿勢の少なくともいずれか一方を変更する手段を備え、ロボットが該干渉を回避する動作をすることを特徴とする干渉回避装置。
【請求項３】
ロボット及びロボット手先又は腕部に装着されたツールとワークピースが収納された収納箱との干渉を回避する干渉回避装置であって、
教示時のワークピースの位置姿勢、該教示時のワークピースに対し作業する前記ツールの位置姿勢を記憶する第１の記憶手段と、
前記ロボット及び前記ツールの形状に関する情報と、前記収納箱の形状に関する情報、及び該収納箱の位置姿勢を記憶する第２の記憶手段と、
ロボットに装着され、前記収納箱にバラ積みされたワークピースからピッキング対象のワークピースの位置姿勢を取得するセンサ手段と、
該センサ手段で取得したピッキング対象のワークピースの位置姿勢と前記第１の記憶手段に記憶する情報に基づいて前記ツールの位置姿勢を求める手段と、
前記ツールの位置姿勢と前記第２の記憶手段に記憶された情報とに基づいて前記ロボット及び前記ツールと前記収納箱との干渉の有無を判別する干渉判別手段と、
前記干渉判別手段によって干渉が有ると判断された場合に、前記ロボット及び前記ツールと前記収納箱との干渉を回避するために前記ツールの位置と姿勢の少なくともいずれか一方を変更した新たな位置姿勢を自動的に生成する位置姿勢生成手段とを備え、
該位置姿勢生成手段は、
前記ピッキング対象のワークピースに最も近い前記収納箱の部分を選択する物体選択手段と、
干渉を回避するための自由度として回転、傾き、平行移動のうち少なくともいずれか１つの範囲を設定し記憶する手段と、
前記ツールと前記物体選択手段により選択された前記収納箱の部分との干渉が解消されるように前記設定した自由度の範囲で前記ツールの位置と姿勢の少なくともいずれか一方を変更する手段を備えることを特徴とする干渉回避装置。
【請求項４】
ロボット及びロボット手先又は腕部に装着されたツールとワークピースが収納された収納箱との干渉を回避する干渉回避装置であって、
教示時のワークピースの位置姿勢、該教示時のワークピースに対し作業する前記ツールの位置姿勢を記憶する第１の記憶手段と、
前記ロボット及び前記ツールの形状に関する情報と、前記収納箱の形状に関する情報、及び該収納箱の位置姿勢を記憶する第２の記憶手段と、
ロボットに装着され、バラ積みされたワークピースからピッキング対象のワークピースの位置姿勢を取得するセンサ手段と、
該センサ手段で取得したピッキング対象のワークピースの位置姿勢と前記第１の記憶手段に記憶する情報に基づいて前記ツールの位置姿勢を求める手段と、
ロボットの動作中において、前記ツールの位置姿勢と前記第２の記憶手段に記憶された情報とに基づいて前記ロボット及び前記ツールと前記収納箱との干渉の有無を判別する干渉判別手段と、
前記干渉判別手段によって干渉が有ると判断された場合に、前記ロボット及び前記ツールと前記収納箱との干渉を回避するために前記ツールの位置と姿勢の少なくともいずれか一方を変更した新たな位置姿勢を自動的に生成する位置姿勢生成手段とを備え、
該位置姿勢生成手段は、
前記ピッキング対象のワークピースに最も近い前記収納箱の部分を選択する物体選択手段と、
干渉を回避するための自由度として回転、傾き、平行移動のうち少なくともいずれか１つの範囲を設定し記憶する手段と、
前記ツールと前記物体選択手段により選択された前記収納箱の部分との干渉が解消されるように前記設定した自由度の範囲で前記ツールの位置と姿勢の少なくともいずれか一方を変更する手段を備え、ロボットが該干渉を回避する動作をすることを特徴とする干渉回避装置。
【請求項５】
前記干渉判別手段が干渉ありと判断したときは、前記自動生成した新たな位置姿勢に従って、ロボットを連続して動作させる手段を備えた請求項１乃至４の内いずれか１項に記載の干渉回避装置。
【請求項６】
前記干渉回避装置が、ロボット制御装置、前記ロボットに接続された情報処理装置、又はロボット制御装置内に組み込まれた情報処理装置のいずれかであることを特徴とする請求項１乃至５の内いずれか１項に記載の干渉回避装置。
【請求項７】
前記情報処理装置はロボットシミュレーション装置である請求項６に記載の干渉回避装置。
【請求項８】
前記干渉判別手段が干渉ありと判断したときは、前記位置姿勢生成手段で自動生成した新たな位置姿勢に前記ロボットの動作プログラムを書き換えることを特徴とする請求項１乃至７の内いずれか１項に記載の干渉回避装置。
【請求項９】
前記位置姿勢生成手段により、前記設定した自由度の範囲で位置と姿勢の少なくともいずれかを変更しても、前記干渉判別手段により干渉ありと判別された場合にメッセージを表示する表示装置とを備えたことを特徴とする請求項１乃至８の内いずれか１項に記載の干渉回避装置。
【請求項１０】
前記位置姿勢生成手段により、前記設定した自由度の範囲で位置と姿勢の少なくともいずれかを変更しても、前記干渉判別手段により干渉ありと判別された場合に前記ロボットの動作を一時停止させる手段と、該一時停止を解除して前記ロボットの動作を再開する手段を備えたことを特徴とする請求項１乃至９の内いずれか１項に記載の干渉回避装置。
【請求項１１】
前記センサが２次元センサ又は３次元センサであることを特徴とする請求項１乃至１０の内いずれか１項に記載の干渉回避装置。
【請求項１２】
前記ロボットが、床、壁、天井、又はその他の位置に固定された構造物に対し、直接又は間接的に固定されたロボットであることを特徴とする請求項１乃至１１の内いずれか１項に記載の干渉回避装置。
【請求項１３】
前記ロボットが、１軸又は２軸の動作軸上を動くように設置されたロボットであることを特徴とする請求項１乃至１２の内いずれか１項に記載の干渉回避装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、産業用ロボットにおける他の物体との干渉回避技術に関する。
【０００２】
【従来の技術】
収納箱等にバラ積みされたワークピースをロボットを用いて取り出すピッキング作業の場合、このバラ積みされたワークピースを把持等により確保できる位置姿勢に、ロボット及びハンド等のツール（エンドエフェクタ）の位置姿勢を制御する必要がある。バラ積みされたワークピースであるから、ワークピースの位置姿勢は任意でバラバラである。従って、ロボット及びツール（エンドエフェクタ）の位置姿勢もワークピースの位置姿勢に合わせて任意に変化することになる。その結果、ロボット及びツール（エンドエフェクタ）と他の物体、特にワークピースを収納した収納箱との干渉が生じることになる。
【０００３】
教示時にこの干渉が発見されれば、干渉しないように教示することによってこの干渉を防止することができるが、実際の稼働時にはどうなるかその保証はない。そのため、ワークピースを毎回所定の位置姿勢に位置決めして配置する。又は、干渉が発生しないような完全な外部環境を用意するといった周辺環境の工夫が必要になってくる。
【０００４】
しかし、バラ積みされたワークピースのような場合、このワークピースをロボットで取り出す作業には、外部環境を整備することは、多大な労働と時間を必要とし、ロボットによる省力化、自動化作業の目的に反する。
【０００５】
又、ワークピースが位置決めされている場合では、教示者はオフラインプログラミング等を利用して干渉が生じないように教示することができるが、この干渉を回避するには、どのようなロボット等の姿勢をとらせればよいか等、教示に際してのオペレータへの負担を増加させる。
【０００６】
【発明が解決しようとする課題】
そこで、本発明は、上記従来技術の問題点を改善し、自動的に干渉を判別し干渉を回避するように、ロボットを駆動制御可能にする干渉回避装置を提供とようとするものである。これにより、バラ積みされたワークピースを取り出す際も、予め準備作業として取り出しのための環境を整備するというような特別な作業を必要とせず、オペレータへの負担を軽減させることができる干渉回避装置を提供するものである。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、請求項１に係わる発明は、ロボット手先又は腕部に装着されたツールとワークピースが収納された収納箱との干渉を回避する干渉回避装置であって、教示時のワークピースの位置姿勢、該教示時のワークピースに対し作業する前記ツールの位置姿勢を記憶する第１の記憶手段と、前記ツールの形状に関する情報と、前記収納箱の形状に関する情報、及び該収納箱の位置姿勢を記憶する第２の記憶手段と、ロボットに装着され、前記収納箱にバラ積みされたワークピースからピッキング対象のワークピースの位置姿勢を取得するセンサ手段と、該センサ手段で取得したピッキング対象のワークピースの位置姿勢と前記第１の記憶手段に記憶する情報に基づいて前記ツールの位置姿勢を求める手段と、前記ツールの位置姿勢と前記第２の記憶手段に記憶された情報とに基づいて該ツールと前記収納箱との干渉の有無を判別する干渉判別手段と、前記干渉判別手段によって干渉が有ると判断された場合に、前記ツールと前記収納箱との干渉を回避するために前記ツールの位置と姿勢の少なくともいずれか一方を変更した新たな位置姿勢を自動的に生成する位置姿勢生成手段とを備え、該位置姿勢生成手段は、前記ピッキング対象のワークピースに最も近い前記収納箱の部分を選択する物体選択手段と、干渉を回避するための自由度として回転、傾き、平行移動のうち少なくともいずれか１つの範囲を設定し記憶する手段と、前記ツールと前記物体選択手段により選択された前記収納箱の部分との干渉が解消されるように前記設定した自由度の範囲で前記ツールの位置と姿勢の少なくともいずれか一方を変更する手段を備えるものとした。
【０００８】
請求項２に係わる発明は、ロボット手先又は腕部に装着されたツールとワークピースが収納された収納箱との干渉を回避する干渉回避装置であって、教示時のワークピースの位置姿勢、該教示時のワークピースに対し作業する前記ツールの位置姿勢を記憶する第１の記憶手段と、前記ツールの形状に関する情報と、前記収納箱の形状に関する情報、及び該収納箱の位置姿勢を記憶する第２の記憶手段と、ロボットに装着され、前記収納箱にバラ積みされたワークピースからピッキング対象のワークピースの位置姿勢を取得するセンサ手段と、該センサ手段で取得したピッキング対象のワークピースの位置姿勢と前記第１の記憶手段に記憶する情報に基づいて前記ツールの位置姿勢を求める手段と、ロボットの動作中において、前記ツールの位置姿勢と前記第２の記憶手段に記憶された情報とに基づいて該ツールと該収納箱との干渉の有無を判別する干渉判別手段と、前記干渉判別手段によって干渉が有ると判断された場合に、前記ツールと前記収納箱との干渉を回避するために前記ツールの位置と姿勢の少なくともいずれか一方を変更した新たな位置姿勢を自動的に生成する位置姿勢生成手段とを備え、該位置姿勢生成手段は、前記ピッキング対象のワークピースに最も近い前記収納箱の部分を選択する物体選択手段と、干渉を回避するための自由度として回転、傾き、平行移動のうち少なくともいずれか１つの範囲を設定し記憶する手段と、前記ツールと前記物体選択手段により選択された前記収納箱の部分との干渉が解消されるように前記設定した自由度の範囲で前記ツールの位置と姿勢の少なくともいずれか一方を変更する手段を備え、ロボットが該干渉を回避する動作をするようにした。
【０００９】
請求項３に係わる発明は、ロボット及びロボット手先又は腕部に装着されたツールとワークピースが収納された収納箱との干渉を回避する干渉回避装置であって、教示時のワークピースの位置姿勢、該教示時のワークピースに対し作業する前記ツールの位置姿勢を記憶する第１の記憶手段と、前記ロボット及び前記ツールの形状に関する情報と、前記収納箱の形状に関する情報、及び該収納箱の位置姿勢を記憶する第２の記憶手段と、ロボットに装着され、前記収納箱にバラ積みされたワークピースからピッキング対象のワークピースの位置姿勢を取得するセンサ手段と、該センサ手段で取得したピッキング対象のワークピースの位置姿勢と前記第１の記憶手段に記憶する情報に基づいて前記ツールの位置姿勢を求める手段と、前記ツールの位置姿勢と前記第２の記憶手段に記憶された情報とに基づいて前記ロボット及び前記ツールと前記収納箱との干渉の有無を判別する干渉判別手段と、前記干渉判別手段によって干渉が有ると判断された場合に、前記ロボット及び前記ツールと前記収納箱との干渉を回避するために前記ツールの位置と姿勢の少なくともいずれか一方を変更した新たな位置姿勢を自動的に生成する位置姿勢生成手段とを備え、該位置姿勢生成手段は、前記ピッキング対象のワークピースに最も近い前記収納箱の部分を選択する物体選択手段と、干渉を回避するための自由度として回転、傾き、平行移動のうち少なくともいずれか１つの範囲を設定し記憶する手段と、前記ツールと前記物体選択手段により選択された前記収納箱の部分との物体の干渉が解消されるように前記設定した自由度の範囲で前記ツールの位置と姿勢の少なくともいずれか一方を変更する手段を備えるようにした。
【００１０】
請求項４に係わる発明は、ロボット及びロボット手先又は腕部に装着されたツールとワークピースが収納された収納箱との干渉を回避する干渉回避装置であって、教示時のワークピースの位置姿勢、該教示時のワークピースに対し作業する前記ツールの位置姿勢を記憶する第１の記憶手段と、前記ロボット及び前記ツールの形状に関する情報と、前記収納箱の形状に関する情報、及び該収納箱の位置姿勢を記憶する第２の記憶手段と、ロボットに装着され、前記収納箱にバラ積みされたワークピースからピッキング対象のワークピースの位置姿勢を取得するセンサ手段と、該センサ手段で取得したピッキング対象のワークピースの位置姿勢と前記第１の記憶手段に記憶する情報に基づいて前記ツールの位置姿勢を求める手段と、ロボットの動作中において、前記ツールの位置姿勢と前記第２の記憶手段に記憶された情報とに基づいて前記ロボット及び前記ツールと前記収納箱との干渉の有無を判別する干渉判別手段と、前記干渉判別手段によって干渉が有ると判断された場合に、前記ロボット及び前記ツールと前記収納箱との干渉を回避するために前記ツールの位置と姿勢の少なくともいずれか一方を変更した新たな位置姿勢を自動的に生成する位置姿勢生成手段とを備え、該位置姿勢生成手段は、前記ピッキング対象のワークピースに最も近い前記収納箱の部分を選択する物体選択手段と、干渉を回避するための自由度として回転、傾き、平行移動のうち少なくともいずれか１つの範囲を設定し記憶する手段と、前記ツールと前記物体選択手段により選択された前記収納箱の部分との干渉が解消されるように前記設定した自由度の範囲で前記ツールの位置と姿勢の少なくともいずれか一方を変更する手段を備え、ロボットが該干渉を回避する動作をするようにした。
【００１１】
請求項５に係わる発明は、前記干渉判別手段が干渉ありと判断したときは、前記自動生成した新たな位置姿勢に従って、ロボットを連続して動作させる手段を備えるようにした。
【００１２】
請求項６に係わる発明は、前記干渉回避装置が、ロボット制御装置、前記ロボットに接続された情報処理装置、又はロボット制御装置内に組み込まれた情報処理装置のいずれかに限定したものである。
【００１３】
請求項７に係わる発明は、前記情報処理装置はロボットシミュレーション装置とした。
また、請求項８に係わる発明は、前記干渉判別手段が干渉ありと判断したときは、前記位置姿勢生成手段で自動生成した新たな位置姿勢に前記ロボットの動作プログラムを書き換えるようにした。
【００１４】
請求項９に係わる発明は、更に、前記位置姿勢生成手段により、前記設定した自由度の範囲で位置と姿勢の少なくともいずれかを変更しても、前記干渉判別手段により干渉ありと判別された場合にメッセージを表示する表示装置とを備えるようにした。請求項１０に係わる発明は、更に、前記位置姿勢生成手段により、前記設定した自由度の範囲で位置と姿勢の少なくともいずれかを変更しても、前記干渉判別手段により干渉ありと判別された場合に前記ロボットの動作を一時停止させる手段と、該一時停止を解除して前記ロボットの動作を再開する手段を備えるようにした。
【００１６】
請求項１１に係わる発明は、前記センサが２次元センサ又は３次元センサとした。  
【００１７】
請求項１２に係わる発明は、前記ロボットが、床、壁、天井、又はその他の位置に固定された構造物に対し、直接又は間接的に固定されるものとした。又、請求項１３に係わる発明は、前記ロボットを１軸又は２軸の動作軸上を動くように設置されたロボットとした。
【００１８】
【発明の実施の形態】
図１は、本発明の干渉回避装置の一実施形態の概要図である。この実施形態では、ロボット制御装置６内に干渉回避のためのソフトウエアを設けることによって、干渉回避装置を構成している。
【００１９】
ロボット５の先端手首には、ワークピース１０を取り出すためのツール３，ワークピース１０を撮像するための２次元視覚センサとしてのカメラ２、ワークピースにレーザ光を投光するレーザ投光器１が取り付けられている。このカメラ２とレーザ投光器１によってワークピースの位置姿勢を検出する３次元視覚センサを構成する。この実施形態では、ワークピース１０は収納箱４内に収納されている。この収納箱４には多量のワークピース１０がバラ積みされているものであり、各々のワークピース１０はその位置姿勢はバラバラの状態である。
【００２０】
ロボット５、レーザ投光器１、カメラ２、ツール３等は、従来から公知公用のものであり、その詳細は省略する。ロボット制御装置６も従来のロボット制御装置と同様に、プロセッサ、ＲＯＭ、ＲＡＭ、不揮発性ＲＡＭ、表示装置付き入力手段、入出力インタフェース、カメラインタフェース、ロボット各関節軸のサーボモータ等を駆動制御するサーボ制御器等を備えるものである。入出力インタフェースには、レーザ投光器１及びツール３が接続され、カメラインタフェースにはカメラ２が接続されている。
【００２１】
そこで、ワークピースの取り出し作業は、ロボット制御装置６からの指令で、ロボット５を収納箱４内のワークピース１０を撮像できる位置姿勢に移動させた後、レーザ投光器１とカメラを用いて、収納箱４内のワークピース１０を撮像し、ワークピース１０の位置姿勢を求め、このワークピース１０の検出位置姿勢に合わせて、ロボット及びツールの位置姿勢を制御してワークピース１０をツールで把持して収納箱から取り出すものである。この取り出し作業におけるツール姿勢の決定の仕方についてまず説明する。
【００２２】
教示時のワークピース１０の位置姿勢をＷｎ、この教示時のワークピース１０の位置姿勢に対して、このワークピース１０を把持する際のツールの位置姿勢をＴｎとする。そして、レーザ投光器１及びカメラ２によって測定された任意のワークピース１０の位置姿勢をＷａとする。このカメラ２で撮像したこの任意のワークピース１０を把持するときのツールの位置姿勢Ｔａは、次の１式によって求められる。
【００２３】
Ｔａ＝Ｗａ＊Inv(Ｗｎ）＊Ｔｎ・・・・（１）
ただし、Inv(Ｗｎ）は、Ｗｎの逆行列である。
【００２４】
そこで、ツール３の形状情報及び収納箱４の形状情報と位置姿勢情報、更に、教示時のワークピース１０の位置姿勢をＷｎ、ツールの位置姿勢をＴｎをロボット制御装置６のメモリに設定記憶させておき、上記１式で求められたツールの位置姿勢Ｔａのツール形状情報と、収納箱４の形状情報と位置姿勢情報に基づいて、ツール３と収納箱４が干渉するか否かを判断することができる。
【００２５】
干渉すると判断された場合には、ツール３の位置姿勢として許容される自由度の範囲内で新たなツールの位置姿勢を求め干渉を回避してワークピースを取り出すようにする。
【００２６】
ツール３の位置姿勢として許容される自由度は、ワークピースの形状、ツールで把持する位置や範囲によって変わる。図２〜図５は、この実施形態におけるワークピース１０を把持するときの自由度の説明図である。この例では、ワークピース１０には中心部に穴１０ａがあり、この穴１０ａにツール３の爪３ａを挿入し、爪３ａを拡げることによりツール３でワークピース１０を把持し取り出すものである。この場合、爪を穴１０ａに挿入する位相（穴中心軸回りのツールの回転）は任意であって、どの回転位置でも把持可能である。このことは、爪１０ａの長手方向（挿入方向）の軸回りは、全自由度があるということになる。又、この穴１０ａにツール１０の爪１０ａが挿入でき、かつ把持できる挿入角度にある程度の自由度がある。即ち、穴１０ａの中心軸線に対して爪１０ａがワークピースを把持できる爪１０ａの挿入方向に許容度があれば、それが自由度となる。
【００２７】
このように、上述したワークピース１０の場合は、穴１０ａの中心軸回りのツールの回転と、穴１０ａの中心軸に対する傾きについて自由度があることになるが、形状の異なるワークピースであれば、そのワークピース形状に応じて自由度は異なることになる。例えば、ワークピースが円柱状である場合で、このワークピースを外側から開閉する２つの爪を有するツールで把持するような場合には、このツールによる把持位置は、円柱の中心軸線方向に平行移動した位置でもよいことになる。よってこのようなワークピースとツールの場合、ワークピース円柱の中心軸線方向の所定の幅が範囲で把持位置の自由度があることになる。
【００２８】
再び、図２〜図５に示す例に戻ると、図２で示す状態では、ツール３は収納箱４とは干渉していない。一方、ワークピース１０が図３に示すように収納箱４の隅の方にあり（なお図３は、収納箱４を上方から見た平面図を示しており、図２は収納箱４の側方から見た図を示している。）、このワークピース１０の穴１０ａにツール３の爪３ａを挿入しようとするとき、図４（ａ）に示すようにツール３の一部が収納箱４と干渉する場合がある。このように干渉ありと判断された場合、この干渉は、そのときのツールの位置、即ち、取り出そうとするワークピース１０の位置に一番近い収納箱４の部材（側壁）と干渉していることが想定されので、この一番近い側壁を求める。この図２〜図５に示す例では、側壁４ａが一番近い側壁である。
【００２９】
こうして求めた側壁４ａに対して、ツール３の回転中心から最小半径の位置にあるツール３の外形位置がこの干渉する側壁４ａに向くように位相を変える（穴１０ａの中心軸回りに回転させる）。これにより、図４（ａ）の状態で干渉していたツール３と収納箱４は、図４（ｂ）のように、干渉を回避することができる。
【００３０】
一方、図５で破線で示すような干渉が発生している場合には、ツール３の位相を変えても、この干渉は回避できない。このような場合、もう１つの自由度であるツール爪軸方向の傾きを調整する。この場合、ワークピース１０の位置と収納箱４の干渉する側壁情報とワークピース１０の位置情報に基づいて、ツールの臨界角θを求める。そしてこの臨界角θを満たすようにツールを傾けたとき、その傾き量は、この傾き自由度の許容範囲内にあるか判断し、許容範囲にあれば、図５で実線に示すように、ツール３をその傾き量にしてワークピース１０を取り出す。
【００３１】
以上が、この実施形態における干渉回避方法の第１の態様である。そこで、この干渉回避方法を適用して、収納箱４内にバラ積みで収納されたワークピース１０を取り出すロボットの動作処理について、図６のフローチャートと共に説明する。
【００３２】
まず、ロボット制御装置６の記憶手段にツール３の形状、収納箱４の形状、その位置姿勢の各情報を設定する。更に、教示時のワークピース１０の位置姿勢Ｗｎ（位置姿勢を表す行列）、教示時のワークピース１０を把持する際のツール３の位置姿勢Ｔｎ（位置姿勢を表す行列）をも設定しておく。例えば、オフライン教示装置におけるＣＡＤ情報に基づいてワークピースの位置姿勢Ｗｎ及びこの位置姿勢Ｗｎに対するツール３の位置姿勢Ｔｎの情報を設定する。
【００３３】
ロボットを駆動して、収納箱４のワークピース１０を撮像可能な位置に移動させ、レーザ投光器１とカメラ２によってワークピース１０の位置姿勢Ｗａを取得する（ステップ１０１）。この取得した位置姿勢Ｗａと、設定記憶されている教示時のワークピース１０の位置姿勢Ｗｎ、ツール３の位置姿勢Ｔｎによって、上記１式の演算を行ってツールの位置姿勢Ｔａを求める。この求めた位置姿勢Ｔａ、ツール形状の情報、収納箱４の形状情報、収納箱４の位置姿勢情報に基づいて、ツール３と収納箱４間の位置関係を計算し、干渉が発生しているか否か判断する（ステップ１０２、１０３）。
【００３４】
干渉がなければ、求めたツール３の位置姿勢Ｔａを出力し（ステップ１１２）この干渉回避処理は終了する。一方干渉があると判断された場合には、この把持しようとするワークピース１０に一番近い収納箱４の側面を選択する（ステップ１０４）。図３のような状態では、ワークピース１０に一番近い側壁４ａの面が選択される。
【００３５】
次にツール３の爪３ａの長手方向の軸線（挿入方向の軸線）回りの回転中心から最小半径の部位がこの選択された側面（４ａ）に向くように位相を変え、そのツール位置姿勢を求める（ステップ１０５）。この求めたツール位置姿勢とツール形状の情報、収納箱の形状情報、収納箱の位置姿勢情報に基づいてと、ツールと収納箱の位置関係を求め干渉が発生しているか否か判断する（ステップ１０６、１０７）。干渉が発生していなければ、このステップ１０５で求めたツール位置姿勢を出力する（ステップ１１２）。
【００３６】
一方、位相を変えても干渉が生じるような場合には、この干渉が生じている収納箱４の辺に対してツール３が干渉しないツールの傾きの臨界角θを求め（ステップ１０８）、ツール位置姿勢情報の内、傾き角がこの臨界角θを満たすようにツール位置姿勢の情報を変更する（ステップ１０８、１０９）。そして、この傾き角が、予め設定されているワークピース１０の穴１０ａの中心軸に対する許容傾き角内に入っているか判断し（ステップ１１０）、入っていれば、ステップ１０９で求めたツール位置姿勢情報を出力する。
【００３７】
一方傾き角が設定許容範囲内でない場合は、この状態では、干渉を回避できないとしてアラームメッセージをロボット制御装置６内の表示器に表示する。又、ロボットの動作も一時停止させる。
【００３８】
アラームメッセージが表示されてロボットの動作が停止したときは、その時の状態では、干渉を回避できないことを意味する。例えば、ワークピースＷが収納箱のすみに位置し、ロボットが干渉を避けてこのワークピースＷを把持できないときなどである。この場合、ワークピースを手動で移動させてロボット制御装置６に設けられている教示操作盤の再開スイッチ等から再開指令を入力すれば、ロボット制御装置６はステップ１０１からの処理を再開する。
【００３９】
以上が、本実施形態の干渉回避動作である。上述した例では、ツール３と収納箱４との干渉のみを判断するようにしたが、収納箱４以外に、このロボットによるワークピース取り出し動作において、周囲にツールと干渉するような物体が配置されるような場合には、この物体の形状、位置姿勢情報をもロボット制御装置６のメモリに記憶させておき、この物体とツール３の干渉も、上述したツール３と収納箱４との干渉判断処理と同様な処理を行うことによって、干渉を検出しその干渉を回避するようにすればよい。
【００４０】
又、上述した実施の態様では、収納箱４さらには周辺の他の物体とツール３との干渉の検知及び回避動作であったが、ロボット自体と収納箱や他の周辺物体との干渉も発生する恐れがる場合には、ロボットとこれら収納箱や他の物体との干渉判断及び回避をも行うようにする。この場合は、ロボットの形状をもロボット制御装置６に設定記憶させておき、ツール３がワークピース１０を取り出すために把持する際に、そのときのロボット位置姿勢と記憶したロボットの形状情報に基づいて、ロボットと収集箱４との干渉を判断するようにすればよい。
【００４１】
また、上記実施の態様では、干渉が生じると判断されたときは、ツールの位相、傾斜角を自動的に変更して干渉を回避するようにしたが、この干渉が生じると判断されたとき、新たにツールの位置姿勢を教示し直すようにしてもよい。このような第２の実施の態様の動作処理フローを図７に示す。
【００４２】
まず、ワークピースを撮像して該ワークピースの位置姿勢を求め（ステップ２０１）、求めたワークピースの位置姿勢からツールの位置姿勢を求めツールと収納箱の位置関係を求め干渉が生じるか否かを判断する点（ステップ２０２，２０３）までは、第１の実施形態におけるステップ１０１〜１０３までの処理と同一である。又干渉が生じないような場合には、そのときのツール位置姿勢情報を出力する点も（ステップ２０７）、第１実施形態のステップ１１２と同じである。
【００４３】
一方、干渉が生じると判断された場合には、オペレータはツール位置姿勢情報を直接入力するか、又は、タッチアップで新たなツール位置姿勢を再教示する（ステップ２０４）。そして、この新たに入力されたツール位置姿勢、ツール形状情報、収納箱の形状情報、収納箱の位置姿勢情報に基づいて干渉が生じるか否か判断し（ステップ２０５）、干渉が生じなければ、この新たに教示したツール位置姿勢情報を出力する。又、干渉が生じるような場合には、アラームメッセージを表示させ、ロボット動作を停止する（ステップ２０６）。
【００４４】
なお、ステップ２０４で教示したツール位置姿勢で、干渉を避けることができたときには、この再教示された姿勢を記憶しておき、以後、同様な干渉の発生が判断されたとき、この再教示の姿勢を自動的に使用するようにしてもよい。又、この第２の実施の態様においても、収納箱以外の他の物体とツールの干渉をも判断しこの干渉をも避けるようにしてもよい。さらには、ロボット自体と収納箱や他の物体との干渉をも検出し回避するようにする点も第１の実施形態と同様である。
【００４５】
図８は、本発明の第３の実施の態様における干渉判断及び回避動作所ののフローチャートである。
この第３の実施の態様は、干渉有りと判別されたとき、予め設定された複数のツール姿勢に変更してこの変更したツール位置姿勢で干渉が生じるかを判別するようにしたものである。そのため、予め複数のツール姿勢を設定しておくものである。例えば、ツールの把持部が真下に向かう姿勢、収納箱の中心方向に所定角度（例えば２０度）傾いた複数の姿勢等を予め設定記憶させておく、
そこで、ワークピースの位置姿勢をカメラ２等で取得し、このワークピースを把持するツール位置姿勢Ｔａを求め、この位置姿勢のツール３と収納箱４との位置関係を求め干渉するか否かの判断処理（ステップ３０１〜３０３）は、第１の実施の態様で述べたステップ１０１〜１０３と同様である。又、干渉が生じなければ、そのツール位置姿勢情報を出力する点も（ステップ３０８）、第１の実施の態様のステップ１１２と同じである。
【００４６】
相違する点は、干渉が生じると判断されたとき、予め記憶されているツール姿勢１つを選択し（ステップ３０４）、その選択されたツール位置姿勢によって収納箱と干渉が生じるか否かを判断する（ステップ３０５）。干渉が生じるようであれば、次に記憶するツール姿勢によって干渉が生じるか否か判断する。以下、設定記憶するツール姿勢で干渉が生じるか否かを判断する（ステップ３０４〜３０６）。そして干渉が生じないものがあれば、そのときのツール位置姿勢を出力する（ステップ３０８）。設定記憶した全てのツール姿勢について干渉が発生するか否か判断し、干渉が生じないケースがない場合には、アラームメッセージをロボット制御装置６の表示装置に表示し、ロボット動作を停止させる（ステップ３０７）。
【００４７】
以上がこの第３の実施の態様の動作処理である。この第３の実施の態様においても、収納箱以外の他の物体とツールの干渉、さらにはロボット本体と収納箱や他の物体との干渉の有無を判断する点においても、第１の実施の態様と同様な方法で行うことができるものである。
【００４８】
又、上述した実施形態では、本発明の干渉回避装置をロボット制御装置内に組み込んだ例を示したが、該干渉回避装置をロボットに接続されるパソコン等の情報処理装置内に、又は、ロボット制御装置内に組み込まれた情報処理装置内に組み込んでもよい。特に、ロボット動作のオフラインティーチングで使用されるロボットのシミュレーション装置に組み込むとよい。これらの場合、このシミュレーション装置等の情報処理装置内に、ロボット、ツール、収納箱等の他の物体の形状情報、教示時のワークピース位置姿勢、教示時のワークピースを把持する時のツールの位置姿勢、上述した各種回避の方法等を設定記憶させておく必要がある。そして、シミュレーション装置等の情報処理装置が上述した図６、図７、図８の干渉判断及び干渉回避処理を開始し、干渉がないと判断されたときには、ステップ１１２，２０７，３０８のロボットへの出力の代わりに、そのときのツール位置姿勢等にロボット動作プログラムを書き換えるようにすればよい。
【００４９】
又、上述した実施形態では、ワークピースをツールで把持する例について述べたが、本発明の干渉回避装置は、このような動作以外にアーク溶接、スポット溶接、シーリング等の動作をロボットに行わせるときのロボットやツールと他の物体との干渉を回避する場合にも適用できるものである。
【００５０】
又、ロボットの配設位置はどのような場所でもよい。ロボットを床、壁、天井、又はその他の位置に固定された構造物に対し、直接又は間接的に固定すればよい。さらには、１軸又は２軸の動作軸上を動くようにロボットを設置してもよい。例えば、Ｘ軸方向、該Ｘ軸方向に直交するＹ軸方向に敷設されたレール上ロボットが移動するようにしてもよい。この場合、ロボット制御装置は、ロボット自体が移動する上記Ｘ軸、Ｙ軸をロボットの付加軸としてその動作を駆動制御するようにしてもよい。又は他の制御装置によって、このロボット自体の上記Ｘ軸、Ｙ軸方向の移動を制御してもよい。このようにロボット自体を移動できるようにすることによって、干渉が生じないような最適な位置にロボットを配置することができる。
【００５１】
さらに、本発明は、ワークピースの位置姿勢を２回以上視覚センサで計測するような作業にも適用できるものである。視覚センサの場合、視覚センサが測定できる範囲が、位置／姿勢の許容自由度となる。例えば、カメラを用いた視覚センサでは、１回目の計測結果により、２回目のセンサ計測位置、姿勢を決める場合、２回目の計測位置・姿勢は、１回目のカメラの位置での計測対象物を観測したカメラの視線に、２回目のカメラの光軸を一致させれば、１回目のカメラ視線回りには任意であっても、対象物をカメラの視野内に捉えて計測することが可能となる。この１段目のカメラ視線回りが許容される自由度となる。
【００５２】
更に、上記実施形態では、視覚センサとして、カメラ２とレーザ発光器１の組合せで、カメラから対象物（ワークピース）までの距離をも測定する三次元視覚センサを用いた例を示したが、対象物（ワークピース）が所定位置の距離に載置されていて、対象物（ワークピース）までの距離が既知で姿勢が異なるような場合では、カメラのみ等の二次元視覚センサを用いてもよいものである。
【００５３】
【発明の効果】
本発明は、ロボット先端に取り付けた装置（ツール）さらにはロボット自体とワークピース収納箱等の他の物体と干渉するか否かを自動的に判別でき、干渉が発生するようなときは、事前にその干渉を回避できるものである。
【図面の簡単な説明】
【図１】本発明の一実施形態の概要図である。
【図２】同実施形態におけるワークピース取り出し動作の一例の説明図である。
【図３】同ワークピース取り出し動作の一例のワークピースと収納箱との関係の説明図である。
【図４】同一例における位相の変更による干渉回避の説明図である。
【図５】同一例における傾きの変更による干渉回避の説明図である。
【図６】同実施形態における第１の態様の動作処理フローチャートである。
【図７】同実施形態における第２の態様の動作処理フローチャートである。
【図８】同実施形態における第３の態様の動作処理フローチャートである。
【符号の説明】
１  レーザ発光器
２  カメラ
３  ツール
３ａ  爪
４  収納箱
４ａ、４ｂ、４ｃ、４ｄ  収納箱の側壁
５  ロボット
６  ロボット制御装置
１０  ワークピース
１０ａ  穴
【図１】
0003782679.tif 000002
【図２】
0003782679.tif 000003
【図３】
0003782679.tif 000004
【図４】
0003782679.tif 000005
【図５】
0003782679.tif 000006
【図６】
0003782679.tif 000007
【図７】
0003782679.tif 000008
【図８】
0003782679.tif 000009