(58)【調査した分野】(Int.Cl.,DB名)
前記ロボットハンドが前記物品にモーメントが生じる前記位置および姿勢に配置されたとき、前記爪部は、水平に配置されるか、または、該爪部の先端部が基端部よりも鉛直上方に位置するように水平方向に対して傾斜して配置される、請求項1に記載の物品取出システム。
前記配置決定部は、前記ロボットハンドおよび前記マニピュレータが周囲の部材と干渉することなく前記ロボットハンドが前記物品を把持することができるように、前記ロボットハンドの位置および姿勢を決定する、請求項1〜3のいずれか1項に記載の物品取出システム。
前記ロボットハンド制御部は、前記物品の回転が停止したときに、前記ロボットハンドを制御して、前記物品が前記ロボットハンドに対して移動不能となるように該ロボットハンドによって前記物品を把持する、請求項1〜4のいずれか1項に記載の物品取出システム。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。まず、
図1および
図2を参照して、本発明の一実施形態に係る物品取出システム10について説明する。物品取出システム10は、容器A内にバラ積みにされたワーク(物品)Wを取り出し、取り出したワークWを載置台Bの上に載置するためのシステムである。
【0020】
物品取出システム10は、ロボット12と、ロボット12を制御するロボット制御部14とを備える。ロボット12は、例えば垂直多関節ロボットであって、ロボットハンド16と、該ロボットハンド16を移動させるマニピュレータ18とを有する。
【0021】
マニピュレータ18は、ロボットベース20、旋回胴22、およびロボットアーム24を有する。ロボットベース20は、ワークセルの床Cの上に固定されている。旋回胴22は、ロボットベース20に鉛直軸周りに旋回可能に取り付けられている。
【0022】
ロボットアーム24は、旋回胴22に回転可能に取り付けられた下腕部26と、該下腕部26の先端に回転可能に取り付けられた前腕部28とを有する。ロボットハンド16は、手首部30を介して、前腕部28の先端に取り付けられている。
【0023】
次に、
図1〜
図3を参照して、ロボットハンド16について説明する。ロボットハンド16は、ワークWを把持し、解放することができる。ロボットハンド16は、アーム部32、第1の爪部34、第2の爪部36、および爪部駆動部38を有する。
【0024】
アーム部32は、手首部30に連結された基端部32a、および該基端部32aとは反対側の先端部32bを有し、基端部32aから先端部32bまで、軸線O
1(
図3)に沿って、直線状に延在する。アーム部32の先端部32bには、レール部40が設けられている。このレール部40には、
図3中のy軸方向に沿って延びる溝40aが形成されている。
【0025】
第1の爪部34は、爪部保持部42を介して、レール部40に取り付けられている。第1の爪部34は、
図3中のz軸方向に沿って直線状に延びる棒部材である。第1の爪部34は、爪部保持部42の先端部に固定された基端部34aと、該基端部34aとは反対側の先端部34bとを有する。
【0026】
爪部保持部42は、アーム部32(すなわち、軸線O
1)と略平行に延在している。爪部保持部42は、レール部40の溝40aに沿って摺動可能となるように、レール部40に取り付けられている。
【0027】
第2の爪部36は、爪部保持部44を介して、レール部40に取り付けられている。第2の爪部36は、
図3中のz軸方向に沿って直線状に延びる棒部材である。第2の爪部36は、第1の爪部34に対して、
図3中のy軸方向に離隔した位置に配置されている。第2の爪部36は、爪部保持部44の先端部に固定された基端部36aと、該基端部36aとは反対側の先端部36bとを有する。
【0028】
爪部保持部44は、アーム部32(すなわち、軸線O
1)と略平行に延在しており、レール部40の溝40aに沿って摺動可能となるように、レール部40に取り付けられている。
【0029】
爪部駆動部38は、例えば、空圧式または油圧式のシリンダ、もしくは、サーボモータから構成される。爪部駆動部38は、ロボット制御部14からの指令に応じて、爪部保持部42および44を、互いに接近する方向、および互いから離れる方向へ、
図3中のy軸に沿って移動させる。
【0030】
このようにして、第1の爪部34および第2の爪部36は、爪部駆動部38によって、互いに接近する方向、および互いから離反する方向へ、y軸に沿って移動される。
【0031】
一例として、爪部駆動部38がシリンダから構成される場合、爪部駆動部38は、筒状のシリンダ本体と、該シリンダ本体内に往復動可能に配置されるピストンロッドと、ピストンロッドの往復動を、爪部保持部42および44のy軸方向の開閉運動へ変換する運動変換機構とを有する。ピストンロッドには、磁石が埋設されている。一方、シリンダ本体には、磁気センサ(いわゆる、リードスイッチ)が取り付けられている。
【0032】
磁気センサは、ピストンロッドの変位に応じて変化する、該ピストンロッドに埋設された磁石の磁界を検知し、ロボット制御部14に磁界に係るデータを送信する。ロボット制御部14は、磁気センサから受信したデータに基づいて、第1の爪部34および第2の爪部36の間の距離を検知することができる。
【0033】
本実施形態においては、第1の爪部34および第2の爪部36は、アーム部32に対して傾斜するように延在している。具体的には、第1の爪部34および第2の爪部36の延在方向(すなわち、z軸方向)は、アーム部32の軸線O
1に対して、角度θ
1だけ傾斜している。この角度θ
1は、例えば、0°<θ
1<90°に設定される。
【0034】
ロボット制御部14は、
図3に示す直交座標系を、ロボットハンド16のツール座標系として予め記憶する。このツール座標系の原点Oの3次元座標と、x軸、y軸、およびz軸の方向とによって、3次元空間におけるロボットハンド16の位置および姿勢を規定することができる。原点Oは、第1の爪部34と第2の爪部36との間、且つ、基端部34a(基端部36a)と先端部34b(先端部36b)との間の位置に、配置される。
【0035】
図4は、ロボットハンド16によってワークWを把持している状態の一例を示している。
図4に示すように、本実施形態においては、ワークWは、長手方向の軸線O
2に沿って延在する細長い部材である。
【0036】
図4に示す例においては、ロボットハンド16は、ワークWに対して、ツール座標系のx軸がワークWの長手方向の軸線O
2と平行となるように、位置決めされている。また、ロボットハンド16のツール座標系のz軸は、ワークWの厚さ方向と平行となり、且つ、ツール座標系のy軸がワークWの幅方向に平行となっている。
【0037】
ワークWには、円形の貫通孔Dが形成されている。この貫通孔Dは、ワークWの重心から離隔した位置に形成され、ワークWを厚さ方向(すなわち、
図4におけるz軸方向)に貫通している。
【0038】
図4に示すように、ロボットハンド16によってワークWを把持するとき、第1の爪部34および第2の爪部36は、貫通孔Dの内部に挿入され、次いで、爪部駆動部38によって、互いから離れる方向へ移動される。
【0039】
その結果、第1の爪部34および第2の爪部36は、貫通孔Dを画定する壁面に押し当てられる。こうして、ワークWは、第1の爪部34および第2の爪部36によって把持される。
【0040】
再度、
図1および
図2を参照して、物品取出システム10は、視覚センサ46をさらに備える。視覚センサ46は、保持フレーム48によって、容器Aの鉛直上方に保持されている。視覚センサ46は、例えば3次元視覚センサであり、ロボット制御部14からの指令に応じて、容器A内にバラ積みされたワークWの位置および姿勢を検出する。
【0041】
具体的には、視覚センサ46は、容器A内のワークWを複数回撮像し、撮像された画像データに基づいて、視覚センサ46からワークWまでの距離を計測する。そして、視覚センサ46は、ワークWの3次元座標を算出し、これにより、ワークWの3次元空間内での位置および姿勢を検出する。視覚センサ46は、検出したワークWの位置および姿勢に関するデータを、ロボット制御部14へ送信する。
【0042】
次に、
図1〜
図7を参照して、物品取出システム10の動作について説明する。
図5は、物品取出システム10の動作フローの一例を示している。
図5に示すフローは、ロボット制御部14がユーザまたは上位コントローラからワークWの取り出し作業指令を受け付けたときに、開始する。
【0043】
ステップS1において、ロボット制御部14は、視覚センサ46を介して、ワークWの位置および姿勢を検出する。具体的には、ロボット制御部14は、視覚センサ46に指令を送り、容器A内にバラ積みされたワークWを撮像し、該ワークWの3次元空間内での位置および姿勢を検出する。視覚センサ46は、検出したワークWの位置および姿勢に関するデータを、ロボット制御部14へ送信する。
【0044】
ステップS2において、ロボット制御部14は、ステップS1にて検出されたワークWの位置および姿勢に基づいて、ロボットハンド16がワークWのうちの1つを適切に把持することができるロボットハンド16の位置および姿勢を決定する。
【0045】
このステップS2について、
図6を参照して説明する。ステップS2が開始された後、ステップS11において、ロボット制御部14は、ワークWの貫通孔Dの位置を取得する。具体的には、ロボット制御部14は、ステップS1にて視覚センサ46から受信したデータを参照して、取り出し対象とする1つのワークWを特定し、該1つのワークWの貫通孔Dの中心位置の座標を取得する。
【0046】
ステップS12において、ロボット制御部14は、取り出し対象とするワークWの貫通孔Dに対して、ワークWの位置座標系を設定する。ワークWの位置座標系は、ロボットハンド16によってワークWを把持するときにロボットハンド16のツール座標系を配置させる目的となる座標系である。一例として、ロボット制御部14は、貫通孔Dに対して、ワークWの位置座標系を、
図4に示す直交座標系のように設定する。
【0047】
この場合、位置座標系の原点Oは、ステップS11にて取得した貫通孔Dの中心位置の座標に一致している。また、位置座標系のx軸方向は、ワークWの長手方向の軸線O
2の方向と平行となっている。また、位置座標系のz軸方向は、ワークWの厚み方向と平行となり、位置座標系のy軸方向は、ワークWの幅方向と平行となっている。
【0048】
ステップS13において、ロボット制御部14は、ロボットハンド16およびマニピュレータ18が周囲の部材と干渉するか否かを判断する。この動作について、
図8および
図9を参照して説明する。
【0049】
ここで、ロボット制御部14は、容器A内にバラ積みされた複数のワークWのうち、ワークW
tを、取り出し対象として特定したものとする。ロボット制御部14は、ロボットハンド16をワークWに対して位置決めする場合、ロボットハンド16のツール座標系をワークW
tに対して設定した位置座標系に一致させるように、ロボットハンド16を移動させる。
【0050】
仮に、取り出し対象のワークW
tの貫通孔Dに対して、
図4に示すように位置座標系を設定し、該位置座標系にツール座標系を一致させるように、ロボットハンド16をワークW
tに対して位置決めした場合、
図9に示す状態となる。
【0051】
このようにロボットハンド16を位置決めすると、
図9中の点線Eで示されたロボットハンド16の部分が、容器Aの側壁A
1と干渉してしまうことなる。したがって、ワークW
tに対して
図9に示すようにワークWの位置座標系を設定した場合、ロボットハンド16をワークW
tに対して適切に配置させることができない。
【0052】
そこで、本実施形態においては、このステップS13において、ロボット制御部14は、ステップS12にて設定された位置座標系にツール座標系を一致させるようにロボットハンド16を配置させた場合に、上述のような干渉が発生するか否かを判断する。
【0053】
一例として、容器Aをモデル化したデータ(すなわち、容器Aの3次元座標のデータ)が、予め記憶部(図示せず)に記憶される。一方、ロボット制御部14は、ステップS12にて設定された位置座標系に配置した場合のロボットハンド16をモデル化したデータ(すなわち、ロボットハンド16の3次元座標のデータ)を算出する。
【0054】
そして、ロボット制御部14は、容器Aのモデルデータと、ロボットハンド16のモデルデータとを照らし合わせて、容器Aとロボットハンド16との間で干渉が生じるか否かを、データ上で判断する。
【0055】
同様に、記憶部は、容器Aの他にロボット12の周囲に存在している部材(例えば保持フレーム48)をモデル化したデータを、予め記憶部(図示せず)に記憶する。そして、ロボット制御部14は、周囲の部材のモデルデータと、ロボットハンド16のモデルデータとを照らし合わせて、該周囲の部材とロボットハンド16との間で干渉が生じるか否かを判断する。
【0056】
ロボット制御部14は、ロボットハンド16が容器Aを含む周囲の部材と干渉する(すなわちYES)と判断した場合、ステップS14へ進む。一方、ロボット制御部14は、
ロボットハンド16が周囲の部材と干渉しない(すなわちNO)と判断した場合、
図6に示すフローを終了する。
【0057】
ステップS14において、ロボット制御部14は、ワークWの位置座標系を再設定する。具体的には、ロボット制御部14は、
図9に示すように設定された位置座標系を、該位置座標系のz軸周りに回転させる。
【0058】
そして、ロボット制御部14は、位置座標系をz軸周りに回転させるのに追随して、回転させた位置座標系に配置されたときのロボットハンド16のモデルデータを随時算出し、ロボットハンド16のモデルデータと、容器Aを含む周囲の部材のモデルデータとの間の干渉を判断する。
【0059】
そして、ロボット制御部14は、ロボットハンド16のモデルデータと周囲の部材のモデルデータとの干渉が発生しない位置まで位置座標系を回転させたときに、回転後の位置座標系を、新たな位置座標系として再設定する。
【0060】
このように再設定された位置座標系の例を
図10および
図11に示す。
図10および
図11に示す再設定後の位置座標系は、
図9に示す元の位置座標系から、
図9中のz軸プラス方向の側から見て、z軸周りに約150°回転されている。
【0061】
この再設定後の位置座標系にツール座標系を一致させるようにロボットハンド16を位置決めした場合、
図10および
図11に示すように、ロボットハンド16およびマニピュレータ18は、もはや、容器Aの側壁A
1と干渉しない。そして、第1の爪部34および第2の爪部36を、ワークW
tの貫通孔Dの内部に適切に配置することができる。
【0062】
このように、ロボット制御部14は、ステップS2において、視覚センサ46によって検出されたワークW
tの位置および姿勢に基づいて、ワークWを適切に把持することができるロボットハンド16の位置および姿勢を決定する。したがって、本実施形態においては、ロボット制御部14は、ロボットハンド16の位置および姿勢を決定する配置決定部50(
図2)の機能を有する。
【0063】
再度、
図5を参照して、ステップS3において、ロボット制御部14は、マニピュレータ18を制御して、ステップS2にて決定したロボットハンド16の位置および姿勢に、該ロボットハンド16を配置させる。
【0064】
その結果、ロボットハンド16は、
図10および
図11に示すように、把持対象のワークW
tに対して位置決めされ、第1の爪部34および第2の爪部36は、ワークW
tの貫通孔Dの内部に挿入される。このように、本実施形態においては、ロボット制御部14は、マニピュレータを制御するマニピュレータ制御部52(
図2)の機能を有する。
【0065】
ステップS4において、ロボット制御部14は、ロボットハンド16を制御してワークW
tを把持する。具体的には、ロボット制御部14は、爪部駆動部38に指令を送り、第1の爪部34および第2の爪部36を、互いから離れる方向へ移動させる。
【0066】
その結果、第1の爪部34および第2の爪部36は、ワークW
tの貫通孔Dを画定する壁面に対して押し当てられる。これにより、ワークW
tは、第1の爪部34および第2の爪部36によって把持される。このように、本実施形態においては、ロボット制御部14は、ロボットハンド16を制御するロボットハンド制御部54(
図2)の機能を有する。
【0067】
ステップS5において、ロボット制御部14は、ロボットハンド16が予め定められた姿勢となるように、マニピュレータ18を制御して該ロボットハンド16を移動させる。
図12〜
図14に、ステップS5にてロボットハンド16を配置させる姿勢の一例を示す。
【0068】
図12〜
図14に示す状態においては、第1の爪部34および第2の爪部36は、略水平に配置されている。換言すれば、ロボットハンド16は、そのツール座標系のz軸およびy軸が略水平となり、且つ、ツール座標系のx軸方向が鉛直下方に一致するように、配置されている。このとき、
図13に示すように、ワークWの長手方向の軸線O
2は、鉛直方向(すなわち、x軸)に対して、角度θ
2だけ傾斜している。
【0069】
ステップS5において、ロボット制御部14は、マニピュレータ18を制御して、ワークW
tを把持したロボットハンド16を、
図10に示す位置から
図12に示す位置へ移動させる。これとともに、ロボット制御部14は、ロボットハンド16の姿勢を、
図13および
図14に示す姿勢とする。
【0070】
ここで、上記したように、ワークW
tの貫通孔Dは、ワークWの重心から離隔した位置に形成されている。したがって、
図13に示す姿勢で第1の爪部34および第2の爪部36によって貫通孔Dの壁面を把持した場合、
図13中の矢印Mに示すように、原点Oを中心とした回転モーメントMが重力の作用によってワークW
tに発生することになる。
【0071】
ステップS6において、ロボット制御部14は、ワークW
tが重力の作用によってロボットハンド16に対して回転するのを許容するように、ロボットハンド16を動作させる。
【0072】
このステップS6について、
図7を参照して説明する。ステップS6が開始された後、ステップS21において、ロボット制御部14は、第1の爪部34および第2の爪部36を移動させる。具体的には、ロボット制御部14は、爪部駆動部38に指令を送り、第1の爪部34および第2の爪部36を、互いに接近する方向へ移動させる。
【0073】
ステップS22において、ロボット制御部14は、第1の爪部34および第2の爪部36を目的位置に適切に配置したか否かを判断する。一例として、爪部駆動部38がシリンダから構成されている場合、ロボット制御部14は、このステップS22において、上述した磁気センサから、ピストンロッドに埋設された磁石の磁界に係るデータを受信する。
【0074】
そして、ロボット制御部14は、磁気センサから受信したデータに基づいて、第1の爪部34および第2の爪部36の間の距離が予め定められた目標距離となったか否かを判断する。第1の爪部34および第2の爪部36の間の距離が目標距離となったとき、第1の爪部34および第2の爪部36は、ステップS4の終了時に比べて、所定の距離だけ、互いに僅かに接近する。
【0075】
ロボット制御部14は、第1の爪部34および第2の爪部36の間の距離が目標距離となったことを検知した場合、第1の爪部34および第2の爪部36が目的位置に適切に配置されたものと判断する。
【0076】
また、他の例として、爪部駆動部38がサーボモータから構成されている場合、ロボット制御部14は、このステップS22において、サーボモータが、ステップS21の開始時から、予め定められた回転数だけ第1の方向へ回転したか否かを判断する。
【0077】
サーボモータが予め定められた回転数だけ第1の方向へ回転したとき、第1の爪部34および第2の爪部36は、ステップS4の終了時に比べて、所定の距離だけ、互いに僅かに接近する。
【0078】
ロボット制御部14は、サーボモータが予め定められた回転数だけ第1の方向へ回転したことを検出した場合に、第1の爪部34および第2の爪部36が目的位置に適切に配置されたものと判断する。
【0079】
また、さらに他の例として、爪部駆動部38がサーボモータから構成されている場合において、ロボット制御部14は、サーボモータの負荷トルク(またはフィードバック電流)が、予め定められた目標値になったか否かを判断する。
【0080】
サーボモータの負荷トルクが該目標値になったとき、第1の爪部34および第2の爪部36は、ステップS7の終了時に比べて、所定の距離だけ、互いに僅かに接近することになる。すなわち、負荷トルクの目標値は、ステップS7の終了時における負荷トルクよりも小さい値に設定される。
【0081】
ロボット制御部14は、サーボモータの負荷トルクが目標値になったことを検出した場合に、第1の爪部34および第2の爪部36が目的位置に適切に配置されたものと判断する。なお、上述の予め定められた目標距離、サーボモータの回転数、負荷トルクの目標値は、実験的手法またはシミュレーション等によって、予め定められる。
【0082】
ロボット制御部14は、第1の爪部34および第2の爪部36を目的位置に適切に配置した(すなわちYES)と判断した場合、ステップS23へ進む。一方、ロボット制御部14は、第1の爪部34および第2の爪部36を目的位置に適切に配置されていない(すなわちNO)と判断した場合、ステップS22をループする。
【0083】
ステップS23において、ロボット制御部14は、爪部駆動部38に指令を送り、第1の爪部34および第2の爪部36の移動を停止させる。
【0084】
ステップS21〜S23を実行することによって、第1の爪部34および第2の爪部36は、所定の距離だけ互いに僅かに接近し、これにより、第1の爪部34および第2の爪部36を、ワークW
tの貫通孔Dを画定する壁面に押し当てる力が、低減されることになる。
【0085】
ここで、上記したように、ステップS5の終了時においては、第1の爪部34および第2の爪部36は、略水平に配置されており、且つ、
図13に示す回転モーメントMがワークW
tに発生している。
【0086】
したがって、第1の爪部34および第2の爪部36を貫通孔Dの壁面に押し当てる力を低減させると、ワークW
tは、第1の爪部34および第2の爪部36に係止された状態で、重力の作用によって
図13の矢印Mの方向へ回転することになる。
【0087】
このように、本実施形態においては、第1の爪部34および第2の爪部36からワークW
tが脱落するのを防止しつつ、重力の作用によって、該ワークW
tがロボットハンド16に対して回転することが許容される。その結果、ワークW
tは、
図15に示すように、第1の爪部34および第2の爪部36に吊り下げられた状態となる。
【0088】
この状態においては、ワークW
tの重心は、第1の爪部34および第2の爪部36(原点O)の鉛直下方に位置し、ワークW
tの長手方向の軸線O
2は、ロボットハンド16のツール座標系のx軸(すなわち、鉛直方向)と平行となる。
【0089】
また、ロボットハンド16のツール座標系のz軸は、ワークWの厚さ方向と平行となり、且つ、ツール座標系のy軸がワークWの幅方向に平行となっている。すなわち、
図15に示すワークW
tのロボットハンド16(またはツール座標系)に対する姿勢は、
図4に示す姿勢と同じとなる。
【0090】
ステップS24において、ロボット制御部14は、ロボットハンド16に対するワークW
tの回転動作が終了したか否かを判断する。一例として、ロボット制御部14は、ステップS22にてYESと判断したとき、または、ステップS23が終了したときから、予め定められた時間(例えば、1秒)が経過したときに、ロボットハンド16に対するワークW
tの回転動作が終了したものと判断する。
【0091】
また、他の例として、ロボット制御部14は、ステップS23の終了時から、マニピュレータ18に内蔵されたサーボモータの負荷トルクの変動を監視し、該負荷トルクの変動が収束したときに、ロボットハンド16に対するワークW
tの回転動作が終了したものと判断する。
【0092】
また、さらに他の例として、マニピュレータ18に負荷される力を計測可能な力センサが取り付けられる。そして、ロボット制御部14は、ステップS23の終了時から、該力センサによって計測される力を監視し、該力の変動が収束したときに、ロボットハンド16に対するワークW
tの回転動作が終了したものと判断する。
【0093】
このように、
図7に示すステップS6を実行することによって、ロボットハンド16に対するワークW
tの姿勢を、
図13に示す姿勢から
図15に示す姿勢に変更することができる。
【0094】
再度、
図5を参照して、ステップS7において、ロボット制御部14は、ロボットハンド16を制御して、ワークW
tを、ロボットハンド16に対して移動不能となるように、把持する。具体的には、ロボット制御部14は、爪部駆動部38に指令を送り、第1の爪部34および第2の爪部36を、互いから離れる方向へ移動させる。
【0095】
その結果、第1の爪部34および第2の爪部36は、ステップS4と同様に、ワークW
tの貫通孔Dを画定する壁面に対して押し当てられる。これにより、ワークW
tは、
図16に示すように、第1の爪部34および第2の爪部36によって移動不能に把持される。
【0096】
ステップS8において、ロボット制御部14は、マニピュレータ18およびロボットハンド16を制御して、ワークW
tを載置台Bの上に載置する。具体的には、ロボット制御部14は、マニピュレータ18を制御して、ロボットハンド16の姿勢を、そのツール座標系のx軸およびy軸が水平となり、且つz軸方向が鉛直上方に一致する姿勢(すなわち、
図4に示す姿勢)とする。
【0097】
そして、ロボット制御部14は、ワークW
tを載置台Bの上に配置させる。この状態を、
図17に示す。次いで、ロボット制御部14は、爪部駆動部38に指令を送り、第1の爪部34および第2の爪部36を互いに接近する方向へ移動させ、第1の爪部34および第2の爪部36を、貫通孔Dの壁面から離脱させる。これにより、ワークW
tは、
図17に示す姿勢で、載置台Bの上に載置される。
【0098】
ステップS9において、ロボット制御部14は、全てのワークWの取り出し作業が完了したか否かを判断する。ロボット制御部14は、容器Aから取り出すべきワークWが在る(すなわちNO)と判断した場合、ステップS1へ戻る。一方、ロボット制御部14は、全てのワークWを容器Aから取り出した(すなわち、YES)と判断した場合、
図5に示すフローを終了する。
【0099】
本実施形態によれば、ロボット制御部14は、ステップS6において、ロボットハンド16に対するワークW
tの姿勢を、重力の作用によって変更している。この構成によれば、ロボットハンド16によって容器AからワークW
tを様々な姿勢で取り出したとしても、ロボットハンド16に対するワークW
tの姿勢を、容易に揃えることができる。
【0100】
より具体的に述べると、ステップS2において、ロボット制御部14は、ロボットハンド16およびマニピュレータ18と周囲の部材とが干渉しないように、ワークWの位置座標系を設定し、該位置座標系にツール座標系を一致させるように、ロボットハンド16を配置している。この場合、容器A内にバラ積みされたワークW毎に、ロボットハンド16によって取り出したときのワークWの姿勢、すなわち、
図13に示す角度θ
2が、異なることになる。
【0101】
このように角度θ
2が異なっていたとしても、ロボット制御部14は、ステップS6を実行することによって、ロボットハンド16に対するワークWの姿勢を、
図16に示す姿勢に揃えることができる。これにより、ロボット制御部14は、ステップS8において、ワークWを載置台Bの上に同じ姿勢(向き)で載置することができる。
【0102】
また、本実施形態によれば、取り出したワークWの姿勢を、重力の作用によって揃えているので、ワークWの姿勢を揃える動作のために、視覚センサ等の追加の装置を要することがない。したがって、より簡単な装置で、ワークWの姿勢を揃える動作を実行できる。
【0103】
なお、ロボット制御部14は、ステップS5において、第1の爪部34および第2の爪部36の先端部34bおよび36bが、基端部34aおよび36aよりも鉛直上方にそれぞれ位置するように、第1の爪部34および第2の爪部36を水平方向に対して傾斜して配置してもよい。
【0104】
この構成によれば、ステップS6にてワークW
tをロボットハンド16に対して回転させたときに、ワークW
tが第1の爪部34および第2の爪部36から脱落してしまうのを防止することができる。
【0105】
また、ロボット制御部14は、ステップS5において、第1の爪部34および第2の爪部36の先端部34bおよび36bを、他の部材に突き当ててもよい。このような実施形態を、
図18に示す。
【0106】
この実施形態においては、ロボット制御部14は、ステップS5において、第1の爪部34および第2の爪部36の先端部34bおよび36bを、固定物56の外面に突き当てている。この固定物56の外面は、ワークWの貫通孔Dよりも大きな面積を有する。
【0107】
この構成によれば、ステップS6にてワークW
tをロボットハンド16に対して回転させたときに、ワークW
tが第1の爪部34および第2の爪部36から脱落してしまうのを効果的に防止することができる。
【0108】
また、第1の爪部34および第2の爪部36に、ワークW
tの脱落を防止するための要素を形成してもよい。このような実施形態を、
図19および
図20に示す。本実施形態においては、ロボットハンド16’は、第1の爪部34’および第2の爪部36’を有する。
【0109】
第1の爪部34’および第2の爪部36’の先端部34bおよび36bには、それぞれ、外方へ突出する鉤部34cおよび36cが形成されている。本実施形態において、上述のステップS4においてロボットハンド16’がワークW
tを把持したとき、
図20に示すように、鉤部34cおよび36cがワークW
tと係合する。
【0110】
この構成によれば、ロボットハンド16’によってワークW
tを把持しているときに、ワークW
tが第1の爪部34’および第2の爪部36’から脱落してしまうのを効果的に防止することができる。
【0111】
なお、上述の爪部34、34’、36、36’の外面に、ワークWとの摩擦係数を高めるために、ゴム等からなる摩擦係数増加層を形成してもよい。この構成によれば、ワークWをロボットハンド16、16’に対して回転させたときに、ワークWが爪部34、34’、36、36’から脱落してしまうのを効果的に防止することができる。
【0112】
また、ロボット制御部14は、上述のステップS23の後、または、ステップS21〜S23と並行して、ロボットハンド16を小さな幅で揺動するように、マニピュレータ18を制御してもよい。この構成によれば、ロボットハンド16に対してワークWが回転する動作を補助することができる。
【0113】
より具体的には、例えば、
図13に示す角度θ
2が0°である場合、ステップS21を実行したとしても、ワークWが回転しない可能性がある。このような場合において、ロボットハンド16を揺動させることによって、ワークWの回転を促進させることは、有利である。
【0114】
また、上述の実施形態においては、ロボットハンド16が2個の爪部34、36を有している場合について述べた。しかしながら、ロボットハンド16は、3個以上の複数の爪部を有してもよい。
【0115】
以上、発明の実施形態を通じて本発明を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。また、本発明の実施形態の中で説明されている特徴を組み合わせた形態も本発明の技術的範囲に含まれ得るが、これら特徴の組み合わせの全てが、発明の解決手段に必須であるとは限らない。さらに、上述の実施形態に、多様な変更または改良を加えることが可能であることも当業者に明らかである。
【0116】
また、特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、工程、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」、「次いで」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。