(57)【特許請求の範囲】
【請求項１】
バラ積みされた物品を取り出すための物品取出システムであって、
物品を把持可能なロボットハンドと、
前記ロボットハンドを移動させるマニピュレータと、
前記物品の位置および姿勢を検出可能な視覚センサと、
前記視覚センサによって検出された前記物品の位置および姿勢に基づいて、前記物品を把持するときの前記ロボットハンドの位置および姿勢を決定する配置決定部と、
前記マニピュレータを制御して、前記配置決定部によって決定された前記ロボットハンドの位置および姿勢に該ロボットハンドを配置させるマニピュレータ制御部と、
前記ロボットハンドを制御して前記物品を把持するロボットハンド制御部と、を備え、
前記マニピュレータ制御部は、前記物品を把持した前記ロボットハンドが該物品を持ち上げたときに該物品にモーメントが生じる位置および姿勢に該ロボットハンドを配置するように、前記マニピュレータを制御し、
前記ロボットハンド制御部は、前記ロボットハンドが前記物品にモーメントが生じる前記位置および姿勢に配置されたときに前記ロボットハンドを制御して該ロボットハンドが前記物品を把持する力を低減し、前記ロボットハンドから前記物品が脱落するのを防止しつつ、該物品が重力の作用によって該ロボットハンドに対して回転するのを許容し、
前記物品取出システムは、前記マニピュレータに作用する力に基づいて、前記物品の回転が終了したか否かを判断する回転判断部をさらに備え、
前記回転判断部は、前記ロボットハンド制御部が前記物品の回転を許容するために前記ロボットハンドを制御する動作を実行した後、前記マニピュレータに作用する前記力を監視し、該力の変動が収束したときに、前記物品の回転が終了したと判断する、物品取出システム。
【請求項２】
前記回転判断部は、
前記マニピュレータに作用する前記力として、該マニピュレータに内蔵されたサーボモータに掛かる負荷トルクを監視し、または、
前記マニピュレータに取り付けられた力センサが計測する前記マニピュレータに作用する前記力を監視する、請求項１に記載の物品取出システム。
【請求項３】
前記ロボットハンド制御部は、前記回転判断部が前記物品の回転が終了したと判断したときに、前記ロボットハンドを制御して、前記物品が前記ロボットハンドに対して移動不能となるように該ロボットハンドによって前記物品を把持し、
前記マニピュレータ制御部は、前記ロボットハンドが前記物品を移動不能に把持したときに、前記マニピュレータを制御して、前記ロボットハンドによって把持されている前記物品を予め定められた場所まで搬送する、請求項１または２に記載の物品取出システム。
【請求項４】
バラ積みされた物品をロボットハンドで把持して取り出す方法であって、
前記物品の位置および姿勢を検出することと、
検出された前記物品の位置および姿勢に基づいて、前記物品を把持するときの前記ロボットハンドの位置および姿勢を決定することと、
決定された前記ロボットハンドの位置および姿勢に該ロボットハンドを配置させることと、
前記ロボットハンドによって前記物品を把持することと、
前記物品を把持した前記ロボットハンドが該物品を持ち上げたときに該物品にモーメントが生じる位置および姿勢に該ロボットハンドを配置することと、
前記ロボットハンドが前記物品にモーメントが生じる前記位置および姿勢に配置されたときに前記ロボットハンドを制御して該ロボットハンドが前記物品を把持する力を低減し、前記ロボットハンドから前記物品が脱落するのを防止しつつ、該物品を重力の作用によって該ロボットハンドに対して回転させることと、
前記ロボットハンドを移動させるマニピュレータに作用する力に基づいて、前記物品の回転が終了したか否かを判断することと、を備え、
前記物品を回転させるために前記ロボットハンドを制御する動作を実行した後、前記マニピュレータに作用する前記力を監視し、該力の変動が収束したときに、前記物品の回転が終了したと判断する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バラ積みされた物品を取り出すための物品取出システム、および方法に関する。
【背景技術】
【０００２】
容器内にバラ積みされた物品を取り出して、物品の方向を揃えた状態で所定の場所に載置することのできる物品取出システムが知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−８７９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術においては、物品を取り出す動作を行うための視覚センサと、取り出した物品の方向を揃える動作を行うための視覚センサとが必要とされていたので、装置が複雑化してしまう。したがって、より簡単な構成によって、取り出した物品の方向を揃えて所定の場所に載置することができる技術が求められている。
【課題を解決するための手段】
【０００５】
本発明の一態様において、バラ積みされた物品を取り出すための物品取出システムは、物品を把持可能なロボットハンドと、ロボットハンドを移動させるマニピュレータと、物品の位置および姿勢を検出可能な視覚センサと、視覚センサによって検出された物品の位置および姿勢に基づいて、物品を把持するときのロボットハンドの位置および姿勢を決定する配置決定部とを備える。
【０００６】
また、物品取出システムは、マニピュレータを制御して、配置決定部によって決定されたロボットハンドの位置および姿勢に該ロボットハンドを配置させるマニピュレータ制御部と、ロボットハンドを制御して物品を把持するロボットハンド制御部とを備える。
【０００７】
マニピュレータ制御部は、物品を把持したロボットハンドが該物品を持ち上げたときに該物品にモーメントが生じる位置および姿勢に該ロボットハンドを配置するように、マニピュレータを制御する。
【０００８】
ロボットハンド制御部は、ロボットハンドが物品にモーメントが生じる位置および姿勢に配置されたときに、ロボットハンドから物品が脱落するのを防止しつつ、該物品が重力の作用によって該ロボットハンドに対して回転するのを許容するように、ロボットハンドを制御する。
【０００９】
物品には、該物品の重心から離隔した位置に貫通孔が形成されてもよい。ロボットハンドは、複数の爪部と、該複数の爪部を互いに対して接近および離反する方向へ移動させる爪部駆動部とを有してもよい。
【００１０】
配置決定部は、複数の爪部を貫通孔の内部に配置することができるロボットハンドの位置および姿勢を決定してもよい。ロボットハンド制御部は、爪部駆動部を制御して、複数の爪部を互いに離反する方向へ移動させ、貫通孔を画定する壁面に対して複数の爪部を押し当てて該複数の爪部で物品を把持してもよい。
【００１１】
ロボットハンド制御部は、ロボットハンドが物品にモーメントが生じる位置および姿勢に配置されたときに、爪部駆動部を制御して、複数の爪部を互いに接近する方向へ移動させて、物品がロボットハンドに対して回転するのを許容してもよい。
【００１２】
ロボットハンドが物品にモーメントが生じる位置および姿勢に配置されたとき、爪部は、水平に配置されるか、または、該爪部の先端部が基端部よりも鉛直上方に位置するように水平方向に対して傾斜して配置されてもよい。
【００１３】
ロボットハンドは、マニピュレータに取り付けられ、複数の爪部を保持するアーム部をさらに有してもよい。複数の爪部は、アーム部に対して傾斜するように延在してもよい。
【００１４】
配置決定部は、ロボットハンドおよびマニピュレータが周囲の部材と干渉することなくロボットハンドが物品を把持することができるように、ロボットハンドの位置および姿勢を決定してもよい。
【００１５】
ロボットハンド制御部は、物品の回転が停止したときに、ロボットハンドを制御して、物品がロボットハンドに対して移動不能となるように該ロボットハンドによって物品を把持してもよい。
【００１６】
本発明の他の態様において、バラ積みされた物品をロボットハンドで把持して取り出す方法は、物品の位置および姿勢を検出することと、検出された物品の位置および姿勢に基づいて、物品を把持するときのロボットハンドの位置および姿勢を決定することと、決定されたロボットハンドの位置および姿勢に該ロボットハンドを配置させることと、ロボットハンドによって物品を把持することとを備える。
【００１７】
また、この方法は、物品を把持したロボットハンドが該物品を持ち上げたときに該物品にモーメントが生じる位置および姿勢に該ロボットハンドを配置することと、ロボットハンドが物品にモーメントが生じる位置および姿勢に配置されたときに、ロボットハンドから物品が脱落するのを防止しつつ、該物品を重力の作用によって該ロボットハンドに対して回転させることとを備える。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に係る物品取出システムの斜視図である。
【図２】図１に示す物品取出システムのブロック図である。
【図３】図１に示すロボットハンドの拡大図である。
【図４】図３に示すロボットハンドでワークを把持した状態の一例を示す。
【図５】図１に示す物品取出システムの動作フローの一例を示すフローチャートである。
【図６】図５に示すステップＳ２のフローチャートである。
【図７】図５に示すステップＳ６のフローチャートである。
【図８】ロボットハンドが容器と干渉している状態を示す。
【図９】図８の要部を拡大した拡大図である。
【図１０】ロボットハンドが再設定後の位置座標系に配置された状態を示す。
【図１１】図１０の要部を拡大した拡大図である。
【図１２】図５中のステップＳ５におけるロボットハンドの姿勢の一例を示す。
【図１３】図１２に示すロボットハンドおよびワークの拡大図である。
【図１４】図１３に示すロボットハンドを図１３中のｙ軸方向から見た側方図である。
【図１５】図５中のステップＳ６を実行した後のロボットハンドおよびワークを示す図である。
【図１６】図５中のステップＳ７を実行した後のロボットハンドおよびワークを示す。
【図１７】図５中のステップＳ８を実行した後の物品取出システムの斜視図である。
【図１８】図５中のステップＳ５の他の実施例を説明するための図である。
【図１９】本発明の他の実施形態に係るロボットハンドの図である。
【図２０】図１９に示すロボットハンドによってワークを把持した状態を示す。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。まず、図１および図２を参照して、本発明の一実施形態に係る物品取出システム１０について説明する。物品取出システム１０は、容器Ａ内にバラ積みにされたワーク（物品）Ｗを取り出し、取り出したワークＷを載置台Ｂの上に載置するためのシステムである。
【００２０】
物品取出システム１０は、ロボット１２と、ロボット１２を制御するロボット制御部１４とを備える。ロボット１２は、例えば垂直多関節ロボットであって、ロボットハンド１６と、該ロボットハンド１６を移動させるマニピュレータ１８とを有する。
【００２１】
マニピュレータ１８は、ロボットベース２０、旋回胴２２、およびロボットアーム２４を有する。ロボットベース２０は、ワークセルの床Ｃの上に固定されている。旋回胴２２は、ロボットベース２０に鉛直軸周りに旋回可能に取り付けられている。
【００２２】
ロボットアーム２４は、旋回胴２２に回転可能に取り付けられた下腕部２６と、該下腕部２６の先端に回転可能に取り付けられた前腕部２８とを有する。ロボットハンド１６は、手首部３０を介して、前腕部２８の先端に取り付けられている。
【００２３】
次に、図１〜図３を参照して、ロボットハンド１６について説明する。ロボットハンド１６は、ワークＷを把持し、解放することができる。ロボットハンド１６は、アーム部３２、第１の爪部３４、第２の爪部３６、および爪部駆動部３８を有する。
【００２４】
アーム部３２は、手首部３０に連結された基端部３２ａ、および該基端部３２ａとは反対側の先端部３２ｂを有し、基端部３２ａから先端部３２ｂまで、軸線Ｏ１（図３）に沿って、直線状に延在する。アーム部３２の先端部３２ｂには、レール部４０が設けられている。このレール部４０には、図３中のｙ軸方向に沿って延びる溝４０ａが形成されている。
【００２５】
第１の爪部３４は、爪部保持部４２を介して、レール部４０に取り付けられている。第１の爪部３４は、図３中のｚ軸方向に沿って直線状に延びる棒部材である。第１の爪部３４は、爪部保持部４２の先端部に固定された基端部３４ａと、該基端部３４ａとは反対側の先端部３４ｂとを有する。
【００２６】
爪部保持部４２は、アーム部３２（すなわち、軸線Ｏ１）と略平行に延在している。爪部保持部４２は、レール部４０の溝４０ａに沿って摺動可能となるように、レール部４０に取り付けられている。
【００２７】
第２の爪部３６は、爪部保持部４４を介して、レール部４０に取り付けられている。第２の爪部３６は、図３中のｚ軸方向に沿って直線状に延びる棒部材である。第２の爪部３６は、第１の爪部３４に対して、図３中のｙ軸方向に離隔した位置に配置されている。第２の爪部３６は、爪部保持部４４の先端部に固定された基端部３６ａと、該基端部３６ａとは反対側の先端部３６ｂとを有する。
【００２８】
爪部保持部４４は、アーム部３２（すなわち、軸線Ｏ１）と略平行に延在しており、レール部４０の溝４０ａに沿って摺動可能となるように、レール部４０に取り付けられている。
【００２９】
爪部駆動部３８は、例えば、空圧式または油圧式のシリンダ、もしくは、サーボモータから構成される。爪部駆動部３８は、ロボット制御部１４からの指令に応じて、爪部保持部４２および４４を、互いに接近する方向、および互いから離れる方向へ、図３中のｙ軸に沿って移動させる。
【００３０】
このようにして、第１の爪部３４および第２の爪部３６は、爪部駆動部３８によって、互いに接近する方向、および互いから離反する方向へ、ｙ軸に沿って移動される。
【００３１】
一例として、爪部駆動部３８がシリンダから構成される場合、爪部駆動部３８は、筒状のシリンダ本体と、該シリンダ本体内に往復動可能に配置されるピストンロッドと、ピストンロッドの往復動を、爪部保持部４２および４４のｙ軸方向の開閉運動へ変換する運動変換機構とを有する。ピストンロッドには、磁石が埋設されている。一方、シリンダ本体には、磁気センサ（いわゆる、リードスイッチ）が取り付けられている。
【００３２】
磁気センサは、ピストンロッドの変位に応じて変化する、該ピストンロッドに埋設された磁石の磁界を検知し、ロボット制御部１４に磁界に係るデータを送信する。ロボット制御部１４は、磁気センサから受信したデータに基づいて、第１の爪部３４および第２の爪部３６の間の距離を検知することができる。
【００３３】
本実施形態においては、第１の爪部３４および第２の爪部３６は、アーム部３２に対して傾斜するように延在している。具体的には、第１の爪部３４および第２の爪部３６の延在方向（すなわち、ｚ軸方向）は、アーム部３２の軸線Ｏ１に対して、角度θ１だけ傾斜している。この角度θ１は、例えば、０°＜θ１＜９０°に設定される。
【００３４】
ロボット制御部１４は、図３に示す直交座標系を、ロボットハンド１６のツール座標系として予め記憶する。このツール座標系の原点Ｏの３次元座標と、ｘ軸、ｙ軸、およびｚ軸の方向とによって、３次元空間におけるロボットハンド１６の位置および姿勢を規定することができる。原点Ｏは、第１の爪部３４と第２の爪部３６との間、且つ、基端部３４ａ（基端部３６ａ）と先端部３４ｂ（先端部３６ｂ）との間の位置に、配置される。
【００３５】
図４は、ロボットハンド１６によってワークＷを把持している状態の一例を示している。図４に示すように、本実施形態においては、ワークＷは、長手方向の軸線Ｏ２に沿って延在する細長い部材である。
【００３６】
図４に示す例においては、ロボットハンド１６は、ワークＷに対して、ツール座標系のｘ軸がワークＷの長手方向の軸線Ｏ２と平行となるように、位置決めされている。また、ロボットハンド１６のツール座標系のｚ軸は、ワークＷの厚さ方向と平行となり、且つ、ツール座標系のｙ軸がワークＷの幅方向に平行となっている。
【００３７】
ワークＷには、円形の貫通孔Ｄが形成されている。この貫通孔Ｄは、ワークＷの重心から離隔した位置に形成され、ワークＷを厚さ方向（すなわち、図４におけるｚ軸方向）に貫通している。
【００３８】
図４に示すように、ロボットハンド１６によってワークＷを把持するとき、第１の爪部３４および第２の爪部３６は、貫通孔Ｄの内部に挿入され、次いで、爪部駆動部３８によって、互いから離れる方向へ移動される。
【００３９】
その結果、第１の爪部３４および第２の爪部３６は、貫通孔Ｄを画定する壁面に押し当てられる。こうして、ワークＷは、第１の爪部３４および第２の爪部３６によって把持される。
【００４０】
再度、図１および図２を参照して、物品取出システム１０は、視覚センサ４６をさらに備える。視覚センサ４６は、保持フレーム４８によって、容器Ａの鉛直上方に保持されている。視覚センサ４６は、例えば３次元視覚センサであり、ロボット制御部１４からの指令に応じて、容器Ａ内にバラ積みされたワークＷの位置および姿勢を検出する。
【００４１】
具体的には、視覚センサ４６は、容器Ａ内のワークＷを複数回撮像し、撮像された画像データに基づいて、視覚センサ４６からワークＷまでの距離を計測する。そして、視覚センサ４６は、ワークＷの３次元座標を算出し、これにより、ワークＷの３次元空間内での位置および姿勢を検出する。視覚センサ４６は、検出したワークＷの位置および姿勢に関するデータを、ロボット制御部１４へ送信する。
【００４２】
次に、図１〜図７を参照して、物品取出システム１０の動作について説明する。図５は、物品取出システム１０の動作フローの一例を示している。図５に示すフローは、ロボット制御部１４がユーザまたは上位コントローラからワークＷの取り出し作業指令を受け付けたときに、開始する。
【００４３】
ステップＳ１において、ロボット制御部１４は、視覚センサ４６を介して、ワークＷの位置および姿勢を検出する。具体的には、ロボット制御部１４は、視覚センサ４６に指令を送り、容器Ａ内にバラ積みされたワークＷを撮像し、該ワークＷの３次元空間内での位置および姿勢を検出する。視覚センサ４６は、検出したワークＷの位置および姿勢に関するデータを、ロボット制御部１４へ送信する。
【００４４】
ステップＳ２において、ロボット制御部１４は、ステップＳ１にて検出されたワークＷの位置および姿勢に基づいて、ロボットハンド１６がワークＷのうちの１つを適切に把持することができるロボットハンド１６の位置および姿勢を決定する。
【００４５】
このステップＳ２について、図６を参照して説明する。ステップＳ２が開始された後、ステップＳ１１において、ロボット制御部１４は、ワークＷの貫通孔Ｄの位置を取得する。具体的には、ロボット制御部１４は、ステップＳ１にて視覚センサ４６から受信したデータを参照して、取り出し対象とする１つのワークＷを特定し、該１つのワークＷの貫通孔Ｄの中心位置の座標を取得する。
【００４６】
ステップＳ１２において、ロボット制御部１４は、取り出し対象とするワークＷの貫通孔Ｄに対して、ワークＷの位置座標系を設定する。ワークＷの位置座標系は、ロボットハンド１６によってワークＷを把持するときにロボットハンド１６のツール座標系を配置させる目的となる座標系である。一例として、ロボット制御部１４は、貫通孔Ｄに対して、ワークＷの位置座標系を、図４に示す直交座標系のように設定する。
【００４７】
この場合、位置座標系の原点Ｏは、ステップＳ１１にて取得した貫通孔Ｄの中心位置の座標に一致している。また、位置座標系のｘ軸方向は、ワークＷの長手方向の軸線Ｏ２の方向と平行となっている。また、位置座標系のｚ軸方向は、ワークＷの厚み方向と平行となり、位置座標系のｙ軸方向は、ワークＷの幅方向と平行となっている。
【００４８】
ステップＳ１３において、ロボット制御部１４は、ロボットハンド１６およびマニピュレータ１８が周囲の部材と干渉するか否かを判断する。この動作について、図８および図９を参照して説明する。
【００４９】
ここで、ロボット制御部１４は、容器Ａ内にバラ積みされた複数のワークＷのうち、ワークＷｔを、取り出し対象として特定したものとする。ロボット制御部１４は、ロボットハンド１６をワークＷに対して位置決めする場合、ロボットハンド１６のツール座標系をワークＷｔに対して設定した位置座標系に一致させるように、ロボットハンド１６を移動させる。
【００５０】
仮に、取り出し対象のワークＷｔの貫通孔Ｄに対して、図４に示すように位置座標系を設定し、該位置座標系にツール座標系を一致させるように、ロボットハンド１６をワークＷｔに対して位置決めした場合、図９に示す状態となる。
【００５１】
このようにロボットハンド１６を位置決めすると、図９中の点線Ｅで示されたロボットハンド１６の部分が、容器Ａの側壁Ａ１と干渉してしまうことなる。したがって、ワークＷｔに対して図９に示すようにワークＷの位置座標系を設定した場合、ロボットハンド１６をワークＷｔに対して適切に配置させることができない。
【００５２】
そこで、本実施形態においては、このステップＳ１３において、ロボット制御部１４は、ステップＳ１２にて設定された位置座標系にツール座標系を一致させるようにロボットハンド１６を配置させた場合に、上述のような干渉が発生するか否かを判断する。
【００５３】
一例として、容器Ａをモデル化したデータ（すなわち、容器Ａの３次元座標のデータ）が、予め記憶部（図示せず）に記憶される。一方、ロボット制御部１４は、ステップＳ１２にて設定された位置座標系に配置した場合のロボットハンド１６をモデル化したデータ（すなわち、ロボットハンド１６の３次元座標のデータ）を算出する。
【００５４】
そして、ロボット制御部１４は、容器Ａのモデルデータと、ロボットハンド１６のモデルデータとを照らし合わせて、容器Ａとロボットハンド１６との間で干渉が生じるか否かを、データ上で判断する。
【００５５】
同様に、記憶部は、容器Ａの他にロボット１２の周囲に存在している部材（例えば保持フレーム４８）をモデル化したデータを、予め記憶部（図示せず）に記憶する。そして、ロボット制御部１４は、周囲の部材のモデルデータと、ロボットハンド１６のモデルデータとを照らし合わせて、該周囲の部材とロボットハンド１６との間で干渉が生じるか否かを判断する。
【００５６】
ロボット制御部１４は、ロボットハンド１６が容器Ａを含む周囲の部材と干渉する（すなわちＹＥＳ）と判断した場合、ステップＳ１４へ進む。一方、ロボット制御部１４は、
ロボットハンド１６が周囲の部材と干渉しない（すなわちＮＯ）と判断した場合、図６に示すフローを終了する。
【００５７】
ステップＳ１４において、ロボット制御部１４は、ワークＷの位置座標系を再設定する。具体的には、ロボット制御部１４は、図９に示すように設定された位置座標系を、該位置座標系のｚ軸周りに回転させる。
【００５８】
そして、ロボット制御部１４は、位置座標系をｚ軸周りに回転させるのに追随して、回転させた位置座標系に配置されたときのロボットハンド１６のモデルデータを随時算出し、ロボットハンド１６のモデルデータと、容器Ａを含む周囲の部材のモデルデータとの間の干渉を判断する。
【００５９】
そして、ロボット制御部１４は、ロボットハンド１６のモデルデータと周囲の部材のモデルデータとの干渉が発生しない位置まで位置座標系を回転させたときに、回転後の位置座標系を、新たな位置座標系として再設定する。
【００６０】
このように再設定された位置座標系の例を図１０および図１１に示す。図１０および図１１に示す再設定後の位置座標系は、図９に示す元の位置座標系から、図９中のｚ軸プラス方向の側から見て、ｚ軸周りに約１５０°回転されている。
【００６１】
この再設定後の位置座標系にツール座標系を一致させるようにロボットハンド１６を位置決めした場合、図１０および図１１に示すように、ロボットハンド１６およびマニピュレータ１８は、もはや、容器Ａの側壁Ａ１と干渉しない。そして、第１の爪部３４および第２の爪部３６を、ワークＷｔの貫通孔Ｄの内部に適切に配置することができる。
【００６２】
このように、ロボット制御部１４は、ステップＳ２において、視覚センサ４６によって検出されたワークＷｔの位置および姿勢に基づいて、ワークＷを適切に把持することができるロボットハンド１６の位置および姿勢を決定する。したがって、本実施形態においては、ロボット制御部１４は、ロボットハンド１６の位置および姿勢を決定する配置決定部５０（図２）の機能を有する。
【００６３】
再度、図５を参照して、ステップＳ３において、ロボット制御部１４は、マニピュレータ１８を制御して、ステップＳ２にて決定したロボットハンド１６の位置および姿勢に、該ロボットハンド１６を配置させる。
【００６４】
その結果、ロボットハンド１６は、図１０および図１１に示すように、把持対象のワークＷｔに対して位置決めされ、第１の爪部３４および第２の爪部３６は、ワークＷｔの貫通孔Ｄの内部に挿入される。このように、本実施形態においては、ロボット制御部１４は、マニピュレータを制御するマニピュレータ制御部５２（図２）の機能を有する。
【００６５】
ステップＳ４において、ロボット制御部１４は、ロボットハンド１６を制御してワークＷｔを把持する。具体的には、ロボット制御部１４は、爪部駆動部３８に指令を送り、第１の爪部３４および第２の爪部３６を、互いから離れる方向へ移動させる。
【００６６】
その結果、第１の爪部３４および第２の爪部３６は、ワークＷｔの貫通孔Ｄを画定する壁面に対して押し当てられる。これにより、ワークＷｔは、第１の爪部３４および第２の爪部３６によって把持される。このように、本実施形態においては、ロボット制御部１４は、ロボットハンド１６を制御するロボットハンド制御部５４（図２）の機能を有する。
【００６７】
ステップＳ５において、ロボット制御部１４は、ロボットハンド１６が予め定められた姿勢となるように、マニピュレータ１８を制御して該ロボットハンド１６を移動させる。図１２〜図１４に、ステップＳ５にてロボットハンド１６を配置させる姿勢の一例を示す。
【００６８】
図１２〜図１４に示す状態においては、第１の爪部３４および第２の爪部３６は、略水平に配置されている。換言すれば、ロボットハンド１６は、そのツール座標系のｚ軸およびｙ軸が略水平となり、且つ、ツール座標系のｘ軸方向が鉛直下方に一致するように、配置されている。このとき、図１３に示すように、ワークＷの長手方向の軸線Ｏ２は、鉛直方向（すなわち、ｘ軸）に対して、角度θ２だけ傾斜している。
【００６９】
ステップＳ５において、ロボット制御部１４は、マニピュレータ１８を制御して、ワークＷｔを把持したロボットハンド１６を、図１０に示す位置から図１２に示す位置へ移動させる。これとともに、ロボット制御部１４は、ロボットハンド１６の姿勢を、図１３および図１４に示す姿勢とする。
【００７０】
ここで、上記したように、ワークＷｔの貫通孔Ｄは、ワークＷの重心から離隔した位置に形成されている。したがって、図１３に示す姿勢で第１の爪部３４および第２の爪部３６によって貫通孔Ｄの壁面を把持した場合、図１３中の矢印Ｍに示すように、原点Ｏを中心とした回転モーメントＭが重力の作用によってワークＷｔに発生することになる。
【００７１】
ステップＳ６において、ロボット制御部１４は、ワークＷｔが重力の作用によってロボットハンド１６に対して回転するのを許容するように、ロボットハンド１６を動作させる。
【００７２】
このステップＳ６について、図７を参照して説明する。ステップＳ６が開始された後、ステップＳ２１において、ロボット制御部１４は、第１の爪部３４および第２の爪部３６を移動させる。具体的には、ロボット制御部１４は、爪部駆動部３８に指令を送り、第１の爪部３４および第２の爪部３６を、互いに接近する方向へ移動させる。
【００７３】
ステップＳ２２において、ロボット制御部１４は、第１の爪部３４および第２の爪部３６を目的位置に適切に配置したか否かを判断する。一例として、爪部駆動部３８がシリンダから構成されている場合、ロボット制御部１４は、このステップＳ２２において、上述した磁気センサから、ピストンロッドに埋設された磁石の磁界に係るデータを受信する。
【００７４】
そして、ロボット制御部１４は、磁気センサから受信したデータに基づいて、第１の爪部３４および第２の爪部３６の間の距離が予め定められた目標距離となったか否かを判断する。第１の爪部３４および第２の爪部３６の間の距離が目標距離となったとき、第１の爪部３４および第２の爪部３６は、ステップＳ４の終了時に比べて、所定の距離だけ、互いに僅かに接近する。
【００７５】
ロボット制御部１４は、第１の爪部３４および第２の爪部３６の間の距離が目標距離となったことを検知した場合、第１の爪部３４および第２の爪部３６が目的位置に適切に配置されたものと判断する。
【００７６】
また、他の例として、爪部駆動部３８がサーボモータから構成されている場合、ロボット制御部１４は、このステップＳ２２において、サーボモータが、ステップＳ２１の開始時から、予め定められた回転数だけ第１の方向へ回転したか否かを判断する。
【００７７】
サーボモータが予め定められた回転数だけ第１の方向へ回転したとき、第１の爪部３４および第２の爪部３６は、ステップＳ４の終了時に比べて、所定の距離だけ、互いに僅かに接近する。
【００７８】
ロボット制御部１４は、サーボモータが予め定められた回転数だけ第１の方向へ回転したことを検出した場合に、第１の爪部３４および第２の爪部３６が目的位置に適切に配置されたものと判断する。
【００７９】
また、さらに他の例として、爪部駆動部３８がサーボモータから構成されている場合において、ロボット制御部１４は、サーボモータの負荷トルク（またはフィードバック電流）が、予め定められた目標値になったか否かを判断する。
【００８０】
サーボモータの負荷トルクが該目標値になったとき、第１の爪部３４および第２の爪部３６は、ステップＳ７の終了時に比べて、所定の距離だけ、互いに僅かに接近することになる。すなわち、負荷トルクの目標値は、ステップＳ７の終了時における負荷トルクよりも小さい値に設定される。
【００８１】
ロボット制御部１４は、サーボモータの負荷トルクが目標値になったことを検出した場合に、第１の爪部３４および第２の爪部３６が目的位置に適切に配置されたものと判断する。なお、上述の予め定められた目標距離、サーボモータの回転数、負荷トルクの目標値は、実験的手法またはシミュレーション等によって、予め定められる。
【００８２】
ロボット制御部１４は、第１の爪部３４および第２の爪部３６を目的位置に適切に配置した（すなわちＹＥＳ）と判断した場合、ステップＳ２３へ進む。一方、ロボット制御部１４は、第１の爪部３４および第２の爪部３６を目的位置に適切に配置されていない（すなわちＮＯ）と判断した場合、ステップＳ２２をループする。
【００８３】
ステップＳ２３において、ロボット制御部１４は、爪部駆動部３８に指令を送り、第１の爪部３４および第２の爪部３６の移動を停止させる。
【００８４】
ステップＳ２１〜Ｓ２３を実行することによって、第１の爪部３４および第２の爪部３６は、所定の距離だけ互いに僅かに接近し、これにより、第１の爪部３４および第２の爪部３６を、ワークＷｔの貫通孔Ｄを画定する壁面に押し当てる力が、低減されることになる。
【００８５】
ここで、上記したように、ステップＳ５の終了時においては、第１の爪部３４および第２の爪部３６は、略水平に配置されており、且つ、図１３に示す回転モーメントＭがワークＷｔに発生している。
【００８６】
したがって、第１の爪部３４および第２の爪部３６を貫通孔Ｄの壁面に押し当てる力を低減させると、ワークＷｔは、第１の爪部３４および第２の爪部３６に係止された状態で、重力の作用によって図１３の矢印Ｍの方向へ回転することになる。
【００８７】
このように、本実施形態においては、第１の爪部３４および第２の爪部３６からワークＷｔが脱落するのを防止しつつ、重力の作用によって、該ワークＷｔがロボットハンド１６に対して回転することが許容される。その結果、ワークＷｔは、図１５に示すように、第１の爪部３４および第２の爪部３６に吊り下げられた状態となる。
【００８８】
この状態においては、ワークＷｔの重心は、第１の爪部３４および第２の爪部３６（原点Ｏ）の鉛直下方に位置し、ワークＷｔの長手方向の軸線Ｏ２は、ロボットハンド１６のツール座標系のｘ軸（すなわち、鉛直方向）と平行となる。
【００８９】
また、ロボットハンド１６のツール座標系のｚ軸は、ワークＷの厚さ方向と平行となり、且つ、ツール座標系のｙ軸がワークＷの幅方向に平行となっている。すなわち、図１５に示すワークＷｔのロボットハンド１６（またはツール座標系）に対する姿勢は、図４に示す姿勢と同じとなる。
【００９０】
ステップＳ２４において、ロボット制御部１４は、ロボットハンド１６に対するワークＷｔの回転動作が終了したか否かを判断する。一例として、ロボット制御部１４は、ステップＳ２２にてＹＥＳと判断したとき、または、ステップＳ２３が終了したときから、予め定められた時間（例えば、１秒）が経過したときに、ロボットハンド１６に対するワークＷｔの回転動作が終了したものと判断する。
【００９１】
また、他の例として、ロボット制御部１４は、ステップＳ２３の終了時から、マニピュレータ１８に内蔵されたサーボモータの負荷トルクの変動を監視し、該負荷トルクの変動が収束したときに、ロボットハンド１６に対するワークＷｔの回転動作が終了したものと判断する。
【００９２】
また、さらに他の例として、マニピュレータ１８に負荷される力を計測可能な力センサが取り付けられる。そして、ロボット制御部１４は、ステップＳ２３の終了時から、該力センサによって計測される力を監視し、該力の変動が収束したときに、ロボットハンド１６に対するワークＷｔの回転動作が終了したものと判断する。
【００９３】
このように、図７に示すステップＳ６を実行することによって、ロボットハンド１６に対するワークＷｔの姿勢を、図１３に示す姿勢から図１５に示す姿勢に変更することができる。
【００９４】
再度、図５を参照して、ステップＳ７において、ロボット制御部１４は、ロボットハンド１６を制御して、ワークＷｔを、ロボットハンド１６に対して移動不能となるように、把持する。具体的には、ロボット制御部１４は、爪部駆動部３８に指令を送り、第１の爪部３４および第２の爪部３６を、互いから離れる方向へ移動させる。
【００９５】
その結果、第１の爪部３４および第２の爪部３６は、ステップＳ４と同様に、ワークＷｔの貫通孔Ｄを画定する壁面に対して押し当てられる。これにより、ワークＷｔは、図１６に示すように、第１の爪部３４および第２の爪部３６によって移動不能に把持される。
【００９６】
ステップＳ８において、ロボット制御部１４は、マニピュレータ１８およびロボットハンド１６を制御して、ワークＷｔを載置台Ｂの上に載置する。具体的には、ロボット制御部１４は、マニピュレータ１８を制御して、ロボットハンド１６の姿勢を、そのツール座標系のｘ軸およびｙ軸が水平となり、且つｚ軸方向が鉛直上方に一致する姿勢（すなわち、図４に示す姿勢）とする。
【００９７】
そして、ロボット制御部１４は、ワークＷｔを載置台Ｂの上に配置させる。この状態を、図１７に示す。次いで、ロボット制御部１４は、爪部駆動部３８に指令を送り、第１の爪部３４および第２の爪部３６を互いに接近する方向へ移動させ、第１の爪部３４および第２の爪部３６を、貫通孔Ｄの壁面から離脱させる。これにより、ワークＷｔは、図１７に示す姿勢で、載置台Ｂの上に載置される。
【００９８】
ステップＳ９において、ロボット制御部１４は、全てのワークＷの取り出し作業が完了したか否かを判断する。ロボット制御部１４は、容器Ａから取り出すべきワークＷが在る（すなわちＮＯ）と判断した場合、ステップＳ１へ戻る。一方、ロボット制御部１４は、全てのワークＷを容器Ａから取り出した（すなわち、ＹＥＳ）と判断した場合、図５に示すフローを終了する。
【００９９】
本実施形態によれば、ロボット制御部１４は、ステップＳ６において、ロボットハンド１６に対するワークＷｔの姿勢を、重力の作用によって変更している。この構成によれば、ロボットハンド１６によって容器ＡからワークＷｔを様々な姿勢で取り出したとしても、ロボットハンド１６に対するワークＷｔの姿勢を、容易に揃えることができる。
【０１００】
より具体的に述べると、ステップＳ２において、ロボット制御部１４は、ロボットハンド１６およびマニピュレータ１８と周囲の部材とが干渉しないように、ワークＷの位置座標系を設定し、該位置座標系にツール座標系を一致させるように、ロボットハンド１６を配置している。この場合、容器Ａ内にバラ積みされたワークＷ毎に、ロボットハンド１６によって取り出したときのワークＷの姿勢、すなわち、図１３に示す角度θ２が、異なることになる。
【０１０１】
このように角度θ２が異なっていたとしても、ロボット制御部１４は、ステップＳ６を実行することによって、ロボットハンド１６に対するワークＷの姿勢を、図１６に示す姿勢に揃えることができる。これにより、ロボット制御部１４は、ステップＳ８において、ワークＷを載置台Ｂの上に同じ姿勢（向き）で載置することができる。
【０１０２】
また、本実施形態によれば、取り出したワークＷの姿勢を、重力の作用によって揃えているので、ワークＷの姿勢を揃える動作のために、視覚センサ等の追加の装置を要することがない。したがって、より簡単な装置で、ワークＷの姿勢を揃える動作を実行できる。
【０１０３】
なお、ロボット制御部１４は、ステップＳ５において、第１の爪部３４および第２の爪部３６の先端部３４ｂおよび３６ｂが、基端部３４ａおよび３６ａよりも鉛直上方にそれぞれ位置するように、第１の爪部３４および第２の爪部３６を水平方向に対して傾斜して配置してもよい。
【０１０４】
この構成によれば、ステップＳ６にてワークＷｔをロボットハンド１６に対して回転させたときに、ワークＷｔが第１の爪部３４および第２の爪部３６から脱落してしまうのを防止することができる。
【０１０５】
また、ロボット制御部１４は、ステップＳ５において、第１の爪部３４および第２の爪部３６の先端部３４ｂおよび３６ｂを、他の部材に突き当ててもよい。このような実施形態を、図１８に示す。
【０１０６】
この実施形態においては、ロボット制御部１４は、ステップＳ５において、第１の爪部３４および第２の爪部３６の先端部３４ｂおよび３６ｂを、固定物５６の外面に突き当てている。この固定物５６の外面は、ワークＷの貫通孔Ｄよりも大きな面積を有する。
【０１０７】
この構成によれば、ステップＳ６にてワークＷｔをロボットハンド１６に対して回転させたときに、ワークＷｔが第１の爪部３４および第２の爪部３６から脱落してしまうのを効果的に防止することができる。
【０１０８】
また、第１の爪部３４および第２の爪部３６に、ワークＷｔの脱落を防止するための要素を形成してもよい。このような実施形態を、図１９および図２０に示す。本実施形態においては、ロボットハンド１６’は、第１の爪部３４’および第２の爪部３６’を有する。
【０１０９】
第１の爪部３４’および第２の爪部３６’の先端部３４ｂおよび３６ｂには、それぞれ、外方へ突出する鉤部３４ｃおよび３６ｃが形成されている。本実施形態において、上述のステップＳ４においてロボットハンド１６’がワークＷｔを把持したとき、図２０に示すように、鉤部３４ｃおよび３６ｃがワークＷｔと係合する。
【０１１０】
この構成によれば、ロボットハンド１６’によってワークＷｔを把持しているときに、ワークＷｔが第１の爪部３４’および第２の爪部３６’から脱落してしまうのを効果的に防止することができる。
【０１１１】
なお、上述の爪部３４、３４’、３６、３６’の外面に、ワークＷとの摩擦係数を高めるために、ゴム等からなる摩擦係数増加層を形成してもよい。この構成によれば、ワークＷをロボットハンド１６、１６’に対して回転させたときに、ワークＷが爪部３４、３４’、３６、３６’から脱落してしまうのを効果的に防止することができる。
【０１１２】
また、ロボット制御部１４は、上述のステップＳ２３の後、または、ステップＳ２１〜Ｓ２３と並行して、ロボットハンド１６を小さな幅で揺動するように、マニピュレータ１８を制御してもよい。この構成によれば、ロボットハンド１６に対してワークＷが回転する動作を補助することができる。
【０１１３】
より具体的には、例えば、図１３に示す角度θ２が０°である場合、ステップＳ２１を実行したとしても、ワークＷが回転しない可能性がある。このような場合において、ロボットハンド１６を揺動させることによって、ワークＷの回転を促進させることは、有利である。
【０１１４】
また、上述の実施形態においては、ロボットハンド１６が２個の爪部３４、３６を有している場合について述べた。しかしながら、ロボットハンド１６は、３個以上の複数の爪部を有してもよい。
【０１１５】
以上、発明の実施形態を通じて本発明を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。また、本発明の実施形態の中で説明されている特徴を組み合わせた形態も本発明の技術的範囲に含まれ得るが、これら特徴の組み合わせの全てが、発明の解決手段に必須であるとは限らない。さらに、上述の実施形態に、多様な変更または改良を加えることが可能であることも当業者に明らかである。
【０１１６】
また、特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、工程、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」、「次いで」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１１７】
１０    物品取出システム
１４    ロボット制御部
１６    ロボットハンド
１８    マニピュレータ
４６    視覚センサ
【図１】
0006426690.tif 000002
【図２】
0006426690.tif 000003
【図３】
0006426690.tif 000004
【図４】
0006426690.tif 000005
【図５】
0006426690.tif 000006
【図６】
0006426690.tif 000007
【図７】
0006426690.tif 000008
【図８】
0006426690.tif 000009
【図９】
0006426690.tif 000010
【図１０】
0006426690.tif 000011
【図１１】
0006426690.tif 000012
【図１２】
0006426690.tif 000013
【図１３】
0006426690.tif 000014
【図１４】
0006426690.tif 000015
【図１５】
0006426690.tif 000016
【図１６】
0006426690.tif 000017
【図１７】
0006426690.tif 000018
【図１８】
0006426690.tif 000019
【図１９】
0006426690.tif 000020
【図２０】
0006426690.tif 000021