(57)【要約】【課題】ロボットアームの手先部にハンドアイセンサを取り付けたビンピッキングロボットにおいて、ハンドアイセンサの存在を考慮した周辺との干渉防止を図ること。【解決手段】ロボット１のエンドエフェクタ１７をワーク１５のピッキングに適した姿勢でピッキング箇所に位置させる前に、そこに位置させた場合の多関節型アーム５のＡ１軸乃至Ａ６軸６ｅ〜６ｊの回転角度を検出する。また、ピッキング箇所へのエンドエフェクタ１７の移動中に各Ａ１軸乃至Ａ６軸６ｅ〜６ｊの回転角度を実測する。そして、検出又は実測した回転角度中に、干渉が発生する組み合わせとして干渉パターンテーブルに定義された、Ａ２軸６ｆ及びＡ３軸６ｇの回転角度の組み合わせパターンや、Ａ５軸６ｉ及びＡ６軸６ｊの回転角度の組み合わせパターンが含まれていれば、ハンドアイセンサ１１がロボット１の基台３又は多関節型アーム５に干渉するものと判断する。【選択図】図１
2011093015.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームの手先部に取り付けたエンドエフェクタによりワークをピッキングする際に、前記手先部のハンドアイセンサのセンシング結果によって認識した前記ワークの位置及び姿勢に基づいて、該ワークのピッキングに適した前記エンドエフェクタの姿勢を決定し、前記エンドエフェクタが前記ワークの位置において前記決定した姿勢となるように前記ロボットアームを駆動させるハンドアイ式ビンピッキングロボットの制御装置において、
前記ロボットアームの各自由軸における回転角度の、前記ハンドアイセンサと前記ロボットアームとが干渉する組み合わせパターンを定義する干渉パターンテーブルを記憶するテーブル記憶手段と、
前記エンドエフェクタが前記ワークの位置において前記決定した姿勢となるように前記ロボットアームを駆動させた場合の、前記各自由軸における回転角度の組み合わせパターンと、前記干渉パターンテーブルにおいて定義された組み合わせパターンとの照合に基づいて、前記エンドエフェクタが前記ワークの位置において前記決定した姿勢となるように前記ロボットアームを駆動させた場合に、前記ハンドアイセンサと前記ロボットアームとが干渉するか否かを判定する移動先干渉判定手段と、
前記移動先干渉判定手段が干渉しないと判定した場合に、前記エンドエフェクタが前記ワークの位置において前記移動先干渉判定手段が干渉しないと判定した姿勢となるように、停止中の前記ロボットアームを駆動させる駆動手段と、
前記移動先干渉判定手段が干渉すると判定した場合に、前記ワークのピッキングに適した前記エンドエフェクタの姿勢を新たに決定する姿勢再決定手段と、
を備えることを特徴とするハンドアイ式ビンピッキングロボットの制御装置。
【請求項２】
前記駆動手段により前記ロボットアームを駆動させている間、前記各自由軸における回転角度を検出する回転角度検出手段と、
前記回転角度検出手段により検出された前記各自由軸における回転角度の組み合わせパターンと、前記干渉パターンテーブルにおいて定義された組み合わせパターンとの照合に基づいて、前記ロボットアームの駆動中に前記ハンドアイセンサと前記ロボットアームとが干渉するか否かを判定する駆動中干渉判定手段と、
前記駆動中干渉判定手段が干渉すると判定した場合に、前記ロボットアームの駆動を停止させる停止手段とをさらに備えており、
前記姿勢再決定手段は、前記駆動中干渉判定手段が干渉すると判定した場合に、前記停止手段が駆動を停止させた前記ロボットアームの前記駆動手段による再駆動以降の前記エンドエフェクタの姿勢を新たに決定する、
ことを特徴とする請求項１記載のハンドアイ式ビンピッキングロボットの制御装置。
【請求項３】
ロボットアームの手先部に取り付けたエンドエフェクタによりワークをピッキングする際に、前記手先部のハンドアイセンサのセンシング結果によって認識した前記ワークの位置及び姿勢に基づいて、該ワークのピッキングに適した前記エンドエフェクタの姿勢を決定し、前記エンドエフェクタが前記ワークの位置において前記決定した姿勢となるように前記ロボットアームを駆動させるハンドアイ式ビンピッキングロボットの制御装置において、
前記ロボットアームの各自由軸における回転角度の、前記ハンドアイセンサと前記ロボットアームとが干渉する組み合わせパターンを定義する干渉パターンテーブルを記憶するテーブル記憶手段と、
前記エンドエフェクタが前記ワークの位置において、前記ハンドアイセンサと前記ロボットアームとが干渉しない姿勢となるように、前記ロボットアームを駆動させる駆動手段と、
前記駆動手段により前記ロボットアームを駆動させている間、前記各自由軸における回転角度を検出する回転角度検出手段と、
前記回転角度検出手段により検出された前記各自由軸における回転角度の組み合わせパターンと、前記干渉パターンテーブルにおいて定義された組み合わせパターンとの照合に基づいて、前記ロボットアームの駆動中に前記ハンドアイセンサと前記ロボットアームとが干渉するか否かを判定する駆動中干渉判定手段と、
前記駆動中干渉判定手段が干渉すると判定した場合に、前記ロボットアームの駆動を停止させる停止手段と、
前記駆動中干渉判定手段が干渉すると判定した場合に、前記停止手段が駆動を停止させた前記ロボットアームの前記駆動手段による再駆動以降の前記エンドエフェクタの姿勢を新たに決定する姿勢再決定手段と、
を備えることを特徴とするハンドアイ式ビンピッキングロボットの制御装置。
【請求項４】
前記姿勢再決定手段は、前記停止手段が駆動を停止させた前記ロボットアームの前記駆動手段による再駆動時の前記エンドエフェクタの姿勢を、前記停止手段による前記ロボットアームの駆動停止時とは異なる姿勢に、新たに決定することを特徴とする請求項２又は３記載のハンドアイ式ビンピッキングロボットの制御装置。
【請求項５】
前記エンドエフェクタは前記手先部から立設されており、前記エンドエフェクタを前記手先部からの立設方向と平行に延在する回転軸の周りに回転させる前記自由軸を、前記手先部が有しており、前記干渉パターンテーブルは、前記手先部の前記自由軸を含む前記ロボットアームの各自由軸における回転角度の組み合わせパターンを定義するものであることを特徴とする請求項１、２、３又は４記載のハンドアイ式ビンピッキングロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビンピッキングロボットの制御装置に係り、特に、ピッキングするワークの位置や姿勢を検出するハンドアイセンサをロボットアームの手先部に有するハンドアイ式ビンピッキングロボットの制御装置に関するものである。
【背景技術】
【０００２】
ロボットアームの手先部に取り付けたエンドエフェクタによってトレイのワークをピッキングするビンピッキングロボットにおいては、ワークの位置や姿勢を検出するセンサをワークのトレイの付近に配置する代わりに、手先部に取り付けたハンドアイセンサによりワークの位置や姿勢を検出するハンドアイ方式を採用する場合が増えている。それは、主に以下に示すような理由による。
【０００３】
まず、ピッキングするワーク（例えば部品）を収容したトレイが複数ある場合は、それらのトレイに沿ってセンサを広範囲に移動させる必要がある。また、ワークがトレイに山積みされた部品等である場合、各ワークの位置や姿勢を正確に検出するためには、様々な角度からワークを測定する必要がある。さらに、ワークが小物部品等である場合のように、ショートレンジのセンサを使用しなければならない場合は、ワークに近接してセンサが配置されることから、ロボットアームのアプローチ経路と干渉する恐れがある。
【０００４】
そこで、上述した事情に対応するために、シリンダレール等を用いてセンサを高速移動できるようにすることも考えられる。しかし、構成が大がかりになってしまい、また、レイアウト変更や部品トレイの追加等によってセンサの移動範囲が変わったときに、構成を全面的に改めなければならず汎用性に欠けるという弱点がある。その点、ハンドアイ方式であれば上述した点にも柔軟に対応できるので、近年採用するケースが増えている。
【０００５】
ところで、ビンピッキングロボットにおいては、ピッキングするワークの位置及び姿勢の情報に基づいて、その都度ロボットアームや手先部のエンドエフェクタの移動パターンが変わるので、ティーチングによって予め決められたパターンで移動するロボットとは異なり、ロボットアームやエンドエフェクタが他の物体と干渉することを防ぐための対策が必要になる。
【０００６】
ロボット自身の干渉に対する対策としては、周辺の物体との干渉時にその衝撃を減らす技術や（例えば、特許文献１）、周辺の移動体の移動経路を推定してそれらとの干渉を未然に防止する技術（例えば、特許文献２）等が多数提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−２８３２７８号公報
【特許文献２】特開２００４−１２１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、ハンドアイ方式の場合は、ロボットアーム自身だけでなくそれに付随するハンドアイセンサの存在を考慮して干渉防止を図る必要があるので、既存の技術をそのまま利用することができない。
【０００９】
本発明は前記事情に鑑みなされたもので、本発明の目的は、ロボットアームの手先部にハンドアイセンサを取り付けたハンドアイ方式ビンピッキングロボットにおいて、ハンドアイセンサの存在を考慮した周辺との干渉防止を図ることができる制御装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、請求項１に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置は、
ロボットアームの手先部に取り付けたエンドエフェクタによりワークをピッキングする際に、前記手先部のハンドアイセンサのセンシング結果によって認識した前記ワークの位置及び姿勢に基づいて、該ワークのピッキングに適した前記エンドエフェクタの姿勢を決定し、前記エンドエフェクタが前記ワークの位置において前記決定した姿勢となるように前記ロボットアームを駆動させるハンドアイ式ビンピッキングロボットの制御装置において、
前記ロボットアームの各自由軸における回転角度の、前記ハンドアイセンサと前記ロボットアームとが干渉する組み合わせパターンを定義する干渉パターンテーブルを記憶するテーブル記憶手段と、
前記エンドエフェクタが前記ワークの位置において前記決定した姿勢となるように前記ロボットアームを駆動させた場合の、前記各自由軸における回転角度の組み合わせパターンと、前記干渉パターンテーブルにおいて定義された組み合わせパターンとの照合に基づいて、前記エンドエフェクタが前記ワークの位置において前記決定した姿勢となるように前記ロボットアームを駆動させた場合に、前記ハンドアイセンサと前記ロボットアームとが干渉するか否かを判定する移動先干渉判定手段と、
前記移動先干渉判定手段が干渉しないと判定した場合に、前記エンドエフェクタが前記ワークの位置において前記移動先干渉判定手段が干渉しないと判定した姿勢となるように、停止中の前記ロボットアームを駆動させる駆動手段と、
前記移動先干渉判定手段が干渉すると判定した場合に、前記ワークのピッキングに適した前記エンドエフェクタの姿勢を新たに決定する姿勢再決定手段と、
を備えることを特徴とする。
【００１１】
請求項１に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置によれば、ワークのピッキングに適した姿勢が決定されると、その姿勢でピッキング箇所にエンドエフェクタを位置させた場合に、ハンドアイセンサとロボットアームとが衝突して干渉するか否かが判定される。干渉すると判定されると、ワークのピッキングに適した新たな姿勢が決定される。干渉しないと判定されると、ロボットアームの駆動によりエンドエフェクタがピッキング箇所に向けて移動される。
【００１２】
以上の動作を、ロボットアームの各自由軸における回転角度の組み合わせパターンの内容に基づいて決定し行うことができるので、手先部に取り付けたハンドアイセンサの存在を考慮したロボットアームとの干渉防止を的確に図ることができる。
【００１３】
また、請求項２に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置は、請求項１に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置において、
前記駆動手段により前記ロボットアームを駆動させている間、前記各自由軸における回転角度を検出する回転角度検出手段と、
前記回転角度検出手段により検出された前記各自由軸における回転角度の組み合わせパターンと、前記干渉パターンテーブルにおいて定義された組み合わせパターンとの照合に基づいて、前記ロボットアームの駆動中に前記ハンドアイセンサと前記ロボットアームとが干渉するか否かを判定する駆動中干渉判定手段と、
前記駆動中干渉判定手段が干渉すると判定した場合に、前記ロボットアームの駆動を停止させる停止手段とをさらに備えており、
前記姿勢再決定手段は、前記駆動中干渉判定手段が干渉すると判定した場合に、前記停止手段が駆動を停止させた前記ロボットアームの前記駆動手段による再駆動以降の前記エンドエフェクタの姿勢を新たに決定する、
ことを特徴とする。
【００１４】
請求項２に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置によれば、請求項１に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置において、ピッキング箇所に向けたエンドエフェクタの移動中にも、ハンドアイセンサとロボットアームとが衝突して干渉するか否かが随時判定される。干渉すると判定されると、エンドエフェクタのピッキング箇所に向けた移動が停止され、ワークのピッキングに適した新たな姿勢が決定されて、ロボットアームの駆動によるエンドエフェクタのピッキング箇所に向けた移動が再開される。干渉しないと判定されると、エンドエフェクタのピッキング箇所に向けた移動が継続される。
【００１５】
以上の動作も、ロボットアームの各自由軸における回転角度の組み合わせパターンの内容に基づいて決定し行うことができるので、手先部に取り付けたハンドアイセンサの存在を考慮したロボットアームとの干渉防止を的確に図ることができる。
【００１６】
さらに、上記目的を達成するため、請求項３に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置は、
ロボットアームの手先部に取り付けたエンドエフェクタによりワークをピッキングする際に、前記手先部のハンドアイセンサのセンシング結果によって認識した前記ワークの位置及び姿勢に基づいて、該ワークのピッキングに適した前記エンドエフェクタの姿勢を決定し、前記エンドエフェクタが前記ワークの位置において前記決定した姿勢となるように前記ロボットアームを駆動させるハンドアイ式ビンピッキングロボットの制御装置において、
前記ロボットアームの各自由軸における回転角度の、前記ハンドアイセンサと前記ロボットアームとが干渉する組み合わせパターンを定義する干渉パターンテーブルを記憶するテーブル記憶手段と、
前記エンドエフェクタが前記ワークの位置において、前記ハンドアイセンサと前記ロボットアームとが干渉しない姿勢となるように、前記ロボットアームを駆動させる駆動手段と、
前記駆動手段により前記ロボットアームを駆動させている間、前記各自由軸における回転角度を検出する回転角度検出手段と、
前記回転角度検出手段により検出された前記各自由軸における回転角度の組み合わせパターンと、前記干渉パターンテーブルにおいて定義された組み合わせパターンとの照合に基づいて、前記ロボットアームの駆動中に前記ハンドアイセンサと前記ロボットアームとが干渉するか否かを判定する駆動中干渉判定手段と、
前記駆動中干渉判定手段が干渉すると判定した場合に、前記ロボットアームの駆動を停止させる停止手段と、
前記駆動中干渉判定手段が干渉すると判定した場合に、前記停止手段が駆動を停止させた前記ロボットアームの前記駆動手段による再駆動以降の前記エンドエフェクタの姿勢を新たに決定する姿勢再決定手段と、
を備えることを特徴とする。
【００１７】
請求項３に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置によれば、ハンドアイセンサとロボットアームとが衝突して干渉することがないような、ワークのピッキングに適した姿勢で、エンドエフェクタがピッキング箇所に位置するように、ロボットアームの駆動によりエンドエフェクタがピッキング箇所に向けて移動される間、ハンドアイセンサとロボットアームとが衝突して干渉するか否かが随時判定される。干渉すると判定されると、エンドエフェクタのピッキング箇所に向けた移動が停止され、ワークのピッキングに適した新たな姿勢が決定されて、ロボットアームの駆動によるエンドエフェクタのピッキング箇所に向けた移動が再開される。干渉しないと判定されると、エンドエフェクタのピッキング箇所に向けた移動が継続される。
【００１８】
以上の動作を、ロボットアームの各自由軸における回転角度の組み合わせパターンの内容に基づいて決定し行うことができるので、手先部に取り付けたハンドアイセンサの存在を考慮したロボットアームとの干渉防止を的確に図ることができる。
【００１９】
また、請求項４に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置は、請求項２又は３に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置において、前記姿勢再決定手段は、前記停止手段が駆動を停止させた前記ロボットアームの前記駆動手段による再駆動時の前記エンドエフェクタの姿勢を、前記停止手段による前記ロボットアームの駆動停止時とは異なる姿勢に、新たに決定することを特徴とする。
【００２０】
請求項４に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置によれば、請求項２又は３に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置において、ハンドアイセンサとロボットアームとが衝突して干渉すると判定されて、エンドエフェクタのピッキング箇所に向けた移動が停止されると、その時点と異なるエンドエフェクタの姿勢が新たに決定されて、その決定されたエンドエフェクタの姿勢から、ロボットアームの駆動によるエンドエフェクタのピッキング箇所に向けた移動が再開される。
【００２１】
したがって、ワークのピッキングに適した新たなエンドエフェクタの姿勢を、ロボットアームの駆動停止時とは異なる姿勢として容易に決定することができ、手先部に取り付けたハンドアイセンサの存在を考慮したロボットアームとの干渉防止を、より簡素なロジックで図ることができる。
【００２２】
さらに、請求項５に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置は、請求項１、２、３又は４に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置において、前記エンドエフェクタが前記手先部から立設されており、前記エンドエフェクタを前記手先部からの立設方向と平行に延在する回転軸の周りに回転させる前記自由軸を、前記手先部が有しており、前記干渉パターンテーブルが、前記手先部の前記自由軸を含む前記ロボットアームの各自由軸における回転角度の組み合わせパターンを定義するものであることを特徴とする。
【００２３】
請求項５に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置によれば、請求項１、２、３又は４に記載した本発明のハンドアイ式ビンピッキングロボットの制御装置において、エンドエフェクタのピッキング箇所への移動中と移動後とを問わず、ハンドアイセンサをエンドエフェクタと共に手先部に対して回転させると、ロボットアームに対するハンドアイセンサの相対位置が変化する。また、エンドエフェクタのピッキング箇所への移動後には、ハンドアイセンサをエンドエフェクタと共に手先部に対して回転させた場合、その回転角度とエンドエフェクタの形態次第では、エンドエフェクタのワークに対する姿勢を変えずにハンドアイセンサの位置を回転前の位置から変化させることができる。
【００２４】
したがって、ロボットアームの位置や姿勢を全体的に大幅に変更することなく、ロボットアームの手先部の自由軸を適宜回転させるだけで、ハンドアイセンサがロボットアームに干渉しない状態を作ることができる。このため、ハンドアイセンサの干渉防止のためにエンドエフェクタのピッキング箇所への移動が頻繁に停止、変更されるのを防ぐことができる。
【発明の効果】
【００２５】
本発明のハンドアイ式ビンピッキングロボットの制御装置によれば、ロボットアームの手先部にハンドアイセンサを取り付けたハンドアイ方式ビンピッキングロボットにおいて、ロボットアームに対するハンドアイセンサの干渉防止を図ることができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態に係る制御装置を用いたハンドアイ式ビンピッキングロボットの概略構成を示す説明図である。
【図２】図１のハンドアイ式ビンピッキングロボットの電気的な概略構成を示すブロック図である。
【図３】図１のロボットコントローラのＲＡＭに記憶される干渉パターンテーブルの説明図である。
【図４】図１のロボットコントローラのＲＡＭに記憶される干渉パターンテーブルの説明図である。
【図５】図２のロボットコントローラのＣＰＵがＲＯＭに格納されたプログラムにしたがって行う制御を示すフローチャートである。
【図６】図２のロボットコントローラのＣＰＵがＲＯＭに格納されたプログラムにしたがって行う制御の変形例を示すフローチャートである。
【発明を実施するための形態】
【００２７】
以下、本発明の実施形態について図面を参照しながら説明する。
【００２８】
図１は本発明の一実施形態に係る制御装置を用いたハンドアイ式ビンピッキングロボットの概略構成を示す説明図である。
【００２９】
図１中引用符号１で示す本実施形態のハンドアイ式ビンピッキングロボット（以下、「ロボット」と略記する。）は、ロボット１の設置面Ａに設置されたトレー１３内にランダムに積み上げ収容されたワーク１５のビンピッキングを行うものである。そして、ロボット１は、円柱状の基台３上に設置された多関節型アーム５の先端にフランジ部９（請求項中の手先部に相当）を有している。なお、本実施形態では、基台３及び多関節型アーム５によって、請求項中のロボットアームが構成されている。
【００３０】
前記多関節型アーム５は、基台３側から順に第１乃至第４の４つのアーム部６ａ〜６ｄを有している。基台３と第１アーム部６ａはＡ１軸６ｅで回転可能に連結されている。第１アーム部６ａと第２アーム部６ｂはＡ２軸６ｆで回転可能に連結されている。第２アーム部６ｂと第３アーム部６ｃはＡ３軸６ｇで回転可能に連結されている。第３アーム部６ｃの先端側（第４アーム部６ｄ側）はＡ４軸６ｈにより、基端側（第２アーム部６ｂ側）に対して回転可能とされている。第３アーム部６ｃと第４アーム部６ｄはＡ５軸６ｉで回転可能に連結されている。第４アーム部６ｄの先端には、Ａ６軸６ｊを介してフランジ部９が回転可能に連結されている。Ａ１〜Ａ６の各軸６ｅ〜６ｊは、請求項中の自由軸にそれぞれ相当している。
【００３１】
このように構成された本実施形態のロボット１においては、多関節型アーム５に内蔵したＡ１〜Ａ６の各軸６ｅ〜６ｊ用のロータリアクチュエータ５Ａ〜５Ｆ（図２参照）に、ロボットコントローラ３１から適切な制御値を与えることで、基台３に対して多関節型アーム５を適切な姿勢とする。
【００３２】
このような構成のロボット１は、位置ベクトルによって各部の位置及び姿勢を管理する。この位置及び姿勢の管理にはロボット座標系（請求項中のベース座標系に相当）が用いられる。ロボット座標系は、ロボット原点Ｏを原点とする座標系である。このロボット原点Ｏは、ロボット１の設置面Ａに対向する基台３の設置面３ａの中心点に設定される。
【００３３】
なお、フランジ部９にはエンドエフェクタ１７が取り付けられる。但し、このエンドエフェクタ１７は、ロボット１の出荷段階ではフランジ部９に取り付けられていない。エンドエフェクタ１７は、ロボット１の受け入れ先において、ロボット１を使用するシステム上の作業に適したものが適宜取り付けられる。本実施形態では、ワークをピッキングするためのグリッパタイプのエンドエフェクタ１７がフランジ部９に取り付けられている。
【００３４】
また、フランジ部９には、ステー９ａを介してハンドアイセンサ１１が取り付けられる。ハンドアイセンサ１１は、エンドエフェクタ１７によってピッキングするワーク１５の位置及び姿勢を検出するためのものである。ハンドアイセンサ１１としては、例えばレーザスキャナを用いることができる。レーザスキャナでは、レーザ光等の測定光をポリゴンミラー及びガルバノミラーによって２次元方向に走査して測定対象物に照射し、その反射光を受光する。ハンドアイセンサ１１で受光した測定対象物からの反射光を、後述するハンドアイコントローラ１９で解析することで、測定対象物の３次元形状を検出することができる。本実施形態では、ハンドアイセンサ１１は矩形の箱状を呈している。
【００３５】
そして、フランジ部９に取り付けられたエンドエフェクタ１７とハンドアイセンサ１１は、フランジ部９に対するエンドエフェクタ１７の立設方向と平行に延在する回転軸であるＡ６軸６ｊの周りに、Ａ６軸６ｊ用のロータリアクチュエータ５Ｆによって回転することができる。
【００３６】
本実施形態においてロボット１の設置面Ａに対するハンドアイセンサ１１の干渉の有無を判定するために、ハンドアイセンサ１１には干渉候補点が設定される。本実施形態の場合は、ハンドアイセンサ１１の先端がエンドエフェクタ１７の先端よりも出っ張らないので、ハンドアイセンサ１１の先端側の外側に位置する２箇所の角部が干渉候補点に設定される。ハンドアイセンサ１１の先端がエンドエフェクタ１７の先端よりも出っ張る場合は、ハンドアイセンサ１１の先端側の内側２箇所の角部も干渉候補点となる。
【００３７】
エンドエフェクタ１７やハンドアイセンサ１１は、ロボット１の出荷段階ではフランジ部９に取り付けられていない。したがって、後述するロボットコントローラ３１（図２参照）がロボット１の位置及び姿勢を制御するために有しているロボット座標系における位置ベクトルのデータは、フランジ部９までの分だけである。フランジ部９に取り付けたエンドエフェクタ１７やハンドアイセンサ１１の位置及び姿勢の管理には、エンドエフェクタ１７の代表点であるツールセンターポイントＴＣＰを原点とするツール座標系が用いられる。本実施形態では、ツールセンターポイントＴＣＰは、グリッパの両チャックの先端中央の空間に設定される。
【００３８】
ツール座標系は、ロボット１の受け入れ側において行う較正作業によって、後からロボットコントローラ３１に設定される。ツール座標系の較正は、ロボット１のフランジ部９に対するエンドエフェクタ１７の取付点を原点とするロボット手先座標系を用いて行う。具体的には、ロボット手先座標系から見たツール座標系の相対的位置・姿勢を較正することで行う。そして、ロボット手先座標系から見たツール座標系の相対的位置・姿勢を記述する行列やベクトルを表すデータを、ロボットコントローラ３１に与える。
【００３９】
したがって、ロボットコントローラ３１では、ロボット座標系におけるロボット手先座標系の原点の位置ベクトルに基づいて、エンドエフェクタ１７のツールセンターポイントＴＣＰやハンドアイセンサ１１のロボット座標系における位置ベクトルを特定することができる。また、ロボットコントローラ３１では、ハンドアイセンサ１１によるワーク１５からの測定光の反射光の解析でハンドアイコントローラ１９が検出した、ハンドアイセンサ１１から見たワーク１５の位置及び姿勢に基づいて、ワーク１５のロボット座標系における位置ベクトルを特定することができる。
【００４０】
また、本実施形態では、ロボットコントローラ３１が、ハンドアイセンサ１１が基台３や多関節型アーム５と干渉（衝突）するか否かを、ロボットコントローラ３１が有する後述のＲＡＭに記憶された干渉パターンテーブル（図３、図４参照）を用いて判定する。
【００４１】
図２は、図１のハンドアイ式ビンピッキングロボットの電気的な概略構成を示すブロック図である。図２に示すように、ハンドアイコントローラ１９は、ＣＰＵ、ＲＡＭ、及び、ＲＯＭを有している。ＣＰＵは、ＲＯＭに格納された解析プログラムを実行することにより、ハンドアイセンサ１１によるワーク１５からの測定光の反射光を解析して、ハンドアイセンサ１１から見たワーク１５の位置及び姿勢を検出する。そして、ＣＰＵは、検出した結果をロボットコントローラ３１に出力する。なお、ＲＡＭは、ＣＰＵが上記の処理を実行する際の作業エリア等として利用される。
【００４２】
一方、図２に示すロボットコントローラ３１は、ハンドアイコントローラ１９において検出されたハンドアイセンサ１１に対するワーク１５の位置及び姿勢に基づいて、そのワーク１５のピッキングに適した姿勢で、そのワーク１５をピッキングするピッキング箇所にエンドエフェクタ１７が移動するように、図１に示すロボット１の多関節型アーム５を動作させる制御を行う。
【００４３】
また、ロボットコントローラ３１は、エンドエフェクタ１７の移動中や移動先でハンドアイセンサ１１が基台３や多関節型アーム５と干渉（衝突）しないようにするために、多関節型アーム５やエンドエフェクタ１７、ハンドアイセンサ１１の位置と姿勢に関する制御を行う。
【００４４】
そのために、ロボットコントローラ３１は、ロボット座標系におけるフランジ部９の座標値と、ツール座標系におけるエンドエフェクタ１７のツールセンターポイントＴＣＰ及びハンドアイセンサ１１の座標値をと管理する。
【００４５】
そして、上述した管理を行うために、図２に示すロボットコントローラ３１は、ＣＰＵ３１ａやＲＡＭ３１ｂ及びＲＯＭ３１ｃを有するコンピュータによって構成される。このロボットコントローラ３１には、ロボット１の多関節型アーム５のＡ１軸乃至Ａ６軸６ｅ〜６ｊを回転させるためのＡ１軸乃至Ａ６軸６ｅ〜６ｊ用のロータリアクチュエータ５Ａ〜５Ｆのドライブ回路５Ｇ〜５Ｌと、Ａ１軸乃至Ａ６軸６ｅ〜６ｊ用のロータリアクチュエータ５Ａ〜５Ｆによる各軸の回転方向及び回転角度（又は回転量）を検出するロータリセンサ５Ｍ〜５Ｒ（請求項中の回転角度検出手段に相当）とが接続される。
【００４６】
上述したロボットコントローラ３１のＲＡＭ３１ｂ（請求項中のテーブル記憶手段に相当）には、図３及び図４に示す干渉パターンテーブルが記憶されている。図３に示す干渉パターンテーブルは、多関節型アーム５のＡ２軸６ｆ及びＡ３軸６ｇに関する、ハンドアイセンサ１１が基台３や多関節型アーム５と干渉しないようにするための回転角度範囲を規定している。図４に示す干渉パターンテーブルは、多関節型アーム５のＡ５軸６ｉとＡ６軸６ｊに関する、ハンドアイセンサ１１が多関節型アーム５と干渉しないようにするための回転角度範囲を規定している。
【００４７】
具体的には、図３に示す干渉パターンテーブルでは、多関節型アーム５のＡ６軸６ｊよりも先の部分を３６０°回転させた場合のハンドアイセンサ１１の軌跡（図３中の挿絵のロボットアーム先端にある球状部分）が、基台３と第１及び第２の各アーム部６ａ，６ｂとのいずれにも干渉しないような、Ａ２軸６ｆとＡ３軸６ｇの回転角度範囲の組み合わせパターンを定義している。詳しくは、Ａ２軸６ｆとＡ３軸６ｇの回転角度範囲の組み合わせパターンが、図３中の網掛けされたエリアに存在する場合は、ハンドアイセンサ１１が、基台３か、又は、第１及び第２の各アーム部６ａ，６ｂのいずれかに、干渉することになる。
【００４８】
また、図４に示す干渉パターンテーブルでは、多関節型アーム５のＡ５軸６ｉとＡ６軸６ｊをそれぞれ回転させた場合に、ハンドアイセンサ１１が第３アーム部６ｃと干渉しないような、Ａ５軸６ｉとＡ６軸６ｊの回転角度範囲の組み合わせパターンを定義している。詳しくは、Ａ５軸６ｉとＡ６軸６ｊの回転角度範囲の組み合わせパターンが、図４中の網掛けされたエリアに存在する場合は、ハンドアイセンサ１１が第３アーム部６ｃと干渉することになる。
【００４９】
次に、ロボットコントローラ３１のＣＰＵ３１ａがＲＯＭ３１ｃに格納されたプログラムにしたがって行う制御を、図５のフローチャートを参照して説明する。
【００５０】
まず、ロボットコントローラ３１のＣＰＵは、トレー１３内のワーク１５の位置及び姿勢をハンドアイコントローラ１９に検出させるために、多関節型アーム５を駆動させてハンドアイセンサ１１をトレー１３に接近させる（ステップＳ１）。なお、このとき、ハンドアイセンサ１１はトレー１３の若干上方に位置して測定光をワーク１５に照射する。そのため、ここでの多関節型アーム５の駆動によってハンドアイセンサ１１が設置面Ａに干渉することはない。
【００５１】
次に、ロボットコントローラ３１のＣＰＵは、ハンドアイコントローラ１９がハンドアイセンサ１１からの測定光の反射光に基づいて検出した、ハンドアイセンサ１１から見たワーク１５の位置及び姿勢を示すデータを受信する（ステップＳ３）。そして、受信したデータに基づいて、ピッキングするワーク１５を特定し（ステップＳ５）、特定したピッキング対象のワーク１５のピッキングに適したエンドエフェクタ１７のピッキング箇所及び姿勢を決定する（ステップＳ７）。
【００５２】
続いて、多関節型アーム５を駆動してエンドエフェクタ１７をステップＳ７で決定した姿勢でピッキング箇所に位置させた場合に、ハンドアイセンサ１１が基台３又は多関節型アーム５と干渉（衝突）するか否かを判定する（ステップＳ９）。
【００５３】
ステップＳ９の判定は、ステップＳ７で決定した姿勢でエンドエフェクタ１７をピッキング箇所に位置させたときの、多関節型アーム５（フランジ部９を含む）のＡ１軸乃至Ａ６軸６ｅ〜６ｊのロボット座標系における位置ベクトルや、エンドエフェクタ１７及びハンドアイセンサ１１のツール座標系における位置ベクトルから、逆キネマティクス方程式を解いて求めた、Ａ１軸乃至Ａ６軸６ｅ〜６ｊ用のロータリアクチュエータ５Ａ〜５ＦによるＡ１軸乃至Ａ６軸６ｅ〜６ｊの回転角度を用いて行う。
【００５４】
詳しくは、求めたＡ１軸乃至Ａ６軸６ｅ〜６ｊの回転角度の組み合わせパターンが、ＲＡＭ３１ｂに記憶された図３や図４の干渉パターンテーブルにおける網掛けされたエリアの回転角度の組み合わせパターンを含むか否かによって、ピッキング箇所でハンドアイセンサ１１が基台３又は多関節型アーム５に干渉するか否かを判定する。Ａ１軸乃至Ａ６軸６ｅ〜６ｊの回転角度の組み合わせパターンが図３や図４における網掛けされたエリアの回転角度の組み合わせパターンを含む場合は、ピッキング箇所でハンドアイセンサ１１が基台３又は多関節型アーム５に干渉するものと判定する。
【００５５】
ハンドアイセンサ１１が基台３又は多関節型アーム５と干渉すると判定された場合は（ステップＳ９でＹＥＳ）、ステップＳ７にリターンして、ピッキング対象のワーク１５のピッキングに適したエンドエフェクタ１７のピッキング箇所及び姿勢を新たに決定する。
【００５６】
なお、ステップＳ９からリターンしたステップＳ７で新たに決定するのは、ピッキング対象のワーク１５のピッキングに適したエンドエフェクタ１７の姿勢のみとしてもよい。また、図５中の破線で示すように、ステップＳ９からのリターン先をステップＳ７ではなくステップＳ５として、ピッキングするワーク１５を特定し直してから、次のステップＳ７で、ピッキング対象のワーク１５のピッキングに適したエンドエフェクタ１７のピッキング箇所及び姿勢を新たに決定してもよい。
【００５７】
一方、多関節型アーム５を駆動してエンドエフェクタ１７をステップＳ７で決定した姿勢でピッキング箇所に位置させた場合に、干渉しないと判定された場合は（ステップＳ９でＮＯ）、直前のステップＳ７で決定した姿勢でエンドエフェクタ１７がピッキング箇所に移動するように、多関節型アーム５を駆動させる（ステップＳ１１）。そして、エンドエフェクタ１７がピッキング箇所に移動するまで多関節型アーム５を駆動させている間（ステップＳ１３でＮＯの間）、ロータリセンサ５Ｍ〜５Ｒからの入力信号に基づいて、ハンドアイセンサ１１が基台３又は多関節型アーム５と干渉（衝突）する（しそうになっている）か否かを判定する（ステップＳ１５）。
【００５８】
なお、ステップＳ１５の判定は、ロータリセンサ５Ｍ〜５Ｒからの入力信号によって示されるＡ１軸乃至Ａ６軸６ｅ〜６ｊの各回転角度の組み合わせパターンが、ＲＡＭ３１ｂの図３や図４の干渉パターンテーブルにおける網掛けされたエリアの回転角度の組み合わせパターンを含むか否かによって行う。ロータリセンサ５Ｍ〜５Ｒからの入力信号によるＡ１軸乃至Ａ６軸６ｅ〜６ｊの回転角度の組み合わせパターンが、図３や図４における網掛けされたエリアの回転角度の組み合わせパターンを含む場合は、エンドエフェクタ１７のピッキング箇所への移動中に、ハンドアイセンサ１１が基台３又は多関節型アーム５に干渉する（しそうになっている）ものと判定する。
【００５９】
ハンドアイセンサ１１が基台３又は多関節型アームと干渉（衝突）しない（しそうになっていない）場合は（ステップＳ１５でＮＯ）、ステップＳ１１にリターンして、多関節型アーム５の駆動を継続する。ハンドアイセンサ１１が基台３又は多関節型アーム５と干渉（衝突）する（しそうになっている）場合は（ステップＳ１５でＹＥＳ）、多関節型アーム５の駆動を停止させ（ステップＳ１７）、ステップＳ７にリターンして、ピッキング対象のワーク１５のピッキングに適したエンドエフェクタ１７のピッキング箇所及び姿勢を新たに決定する。
【００６０】
なお、ここでも、ステップＳ１５からリターンしたステップＳ７で新たに決定するのは、ピッキング対象のワーク１５のピッキングに適したエンドエフェクタ１７の姿勢のみとしてもよい。また、図５中の破線で示すように、ステップＳ１５からのリターン先をステップＳ７ではなくステップＳ５として、ピッキングするワーク１５を特定し直してから、次のステップＳ７で、ピッキング対象のワーク１５のピッキングに適したエンドエフェクタ１７のピッキング箇所及び姿勢を新たに決定してもよい。
【００６１】
そして、エンドエフェクタ１７がピッキング箇所に移動するまで多関節型アーム５を駆動させたならば（ステップＳ１３でＹＥＳ）、エンドエフェクタ１７によりピッキング対象のワーク１５をピッキングさせて、所定の移動先に搬送させる動作を、エンドエフェクタ１７及び多関節型アーム５に行わせる（ステップＳ１９）。以上で、一連の制御が終了する。その後、必要なワーク１５のピッキングが終了するまで、図５のフローチャートの制御が繰り返し実行される。
【００６２】
以上の説明からも明らかなように、本実施形態では、ステップＳ９が、請求項中の移動先干渉判定手段に対応する処理となっている。また、本実施形態では、ステップＳ１１が、請求項中の駆動手段に対応する処理となっている。さらに、本実施形態では、ステップＳ１５が、請求項中の駆動中干渉判定手段に対応する処理となっている。
【００６３】
また、本実施形態では、ステップＳ１７が、請求項中の停止手段に対応する処理となっている。さらに、本実施形態では、ステップＳ９やステップＳ１５からリターンして実行されるステップＳ７が、請求項中の姿勢再決定手段に対応する処理となっている。
【００６４】
このように構成された本実施形態のロボットコントローラ３１が行うロボット１の制御によれば、エンドエフェクタ１７をピッキング対象のワーク１５のピッキング箇所に適切な姿勢で移動させる経路や移動先において、ハンドアイセンサ１１が基台３又は多関節型アーム５と干渉しそうな場合には、エンドエフェクタ１７の移動が停止され、新たな姿勢を決定した上でエンドエフェクタ１７の移動が再開される。
【００６５】
そのため、ロボット１のフランジ部９に取り付けられたハンドアイセンサ１１について、基台３又は多関節型アーム５との干渉を確実に防止することができる。
【００６６】
なお、本実施形態では、図５のフローチャートに示すように、ハンドアイセンサ１１が基台３又は多関節型アーム５と干渉（衝突）する（しそうになっている）場合（ステップＳ１５でＹＥＳ）に、多関節型アーム５の駆動を停止させた後（ステップＳ１７）、ステップＳ７にリターンして、ピッキング対象のワーク１５のピッキングに適したエンドエフェクタ１７のピッキング箇所及び姿勢を新たに決定する構成とした。
【００６７】
しかし、図６のフローチャートに示すように、多関節型アーム５の駆動を停止させた後（ステップＳ１７）、ステップＳ１７における多関節型アーム５の停止時とは異なるエンドエフェクタ１７の姿勢を新たに決定し（ステップＳ１９）、エンドエフェクタ１７が決定した姿勢となるように多関節型アーム５を駆動させた後（ステップＳ２１）、ステップＳ１１にリターンして、ステップＳ７で決定した姿勢でエンドエフェクタ１７がピッキング箇所に移動するように、多関節型アーム５を駆動させるようにしてもよい。このように構成する場合には、ステップＳ１９が、請求項中の姿勢再決定手段に対応する処理となる。
【００６８】
このように構成した場合には、ワーク１５のピッキングに適した新たなエンドエフェクタ１７の姿勢を、多関節型アーム５の駆動停止時とは異なる姿勢として容易に決定することができ、ロボット１のフランジ部９に取り付けられたハンドアイセンサ１１の、基台３又は多関節型アーム５との干渉防止を、より簡素な姿勢再決定のロジックで図ることができる。
【００６９】
また、本実施形態では、多関節型アーム５の第４アーム部６ｄとフランジ部９とが、Ａ６軸６ｊを介して回転可能に連結されており、フランジ部９に取り付けられたエンドエフェクタ１７とハンドアイセンサ１１が、フランジ部９に対するエンドエフェクタ１７の立設方向と平行に延在する回転軸であるＡ６軸６ｊの周りに、Ａ６軸６ｊ用のロータリアクチュエータ５Ｆによって回転できる構成とした。そして、ロボットコントローラ３１のＲＡＭ３１ｂに記憶されている図４の干渉パターンテーブルに、Ａ６軸６ｊに関する、ハンドアイセンサ１１が多関節型アーム５と干渉しないようにするための回転角度範囲が、規定されているものとした。
【００７０】
しかし、Ａ６軸６ｊを省略して多関節型アーム５の第４アーム部６ｄとフランジ部９とを回転不能に連結したロボット１についても本発明は適用可能であり、その場合は、図４の干渉パターンテーブルにおけるＡ６軸６ｊに関する回転角度範囲を規定する内容部分は、省略しても良い。
【００７１】
さらに、上述した実施形態では、グリッパタイプのエンドエフェクタ１７をフランジ部９に取り付けたロボット１を例に取って説明した。しかし、本発明は、例えば吸着パッドによるエンドエフェクタ等、グリッパタイプ以外のエンドエフェクタをフランジ部９に取り付けたロボット１であっても、ワーク１５のビンピッキングに適したハンドアイ方式のロボットの制御に広く適用可能である。
【符号の説明】
【００７２】
１  ハンドアイ式ビンピッキングロボット
３  基台（ロボットアーム）
３ａ  設置面
５  多関節型アーム（ロボットアーム）
５Ａ〜５Ｆ  ロータリアクチュエータ
５Ｇ〜５Ｌ  ドライブ回路
５Ｍ〜５Ｒ  ロータリセンサ（回転角度検出手段）
６ａ  第１アーム部
６ｂ  第２アーム部
６ｃ  第３アーム部
６ｄ  第４アーム部
６ｅ  Ａ１軸（自由軸）
６ｆ  Ａ２軸（自由軸）
６ｇ  Ａ３軸（自由軸）
６ｈ  Ａ４軸（自由軸）
６ｉ  Ａ５軸（自由軸）
６ｊ  Ａ６軸（自由軸）
９  フランジ部（手先部）
９ａ  ステー
１１  ハンドアイセンサ
１３  トレー
１５  ワーク
１７  エンドエフェクタ
１９  ハンドアイコントローラ
３１  ロボットコントローラ（移動先干渉判定手段、駆動手段、駆動中干渉判定手段、停止手段、姿勢再決定手段）
Ａ  設置面
Ａ１  代表点
【図１】
2011093015.tif 000003
【図２】
2011093015.tif 000004
【図３】
2011093015.tif 000005
【図４】
2011093015.tif 000006
【図５】
2011093015.tif 000007
【図６】
2011093015.tif 000008