(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024176621
(43)【公開日】2024-12-19
(54)【発明の名称】ワーク取出し装置
(51)【国際特許分類】
B25J 13/08 20060101AFI20241212BHJP
B25J 9/10 20060101ALI20241212BHJP
【FI】
B25J13/08 Z
B25J13/08 A
B25J9/10 A
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023095329
(22)【出願日】2023-06-09
(71)【出願人】
【識別番号】504176911
【氏名又は名称】国立大学法人大阪大学
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】原田 研介
(72)【発明者】
【氏名】張 馨芸
(72)【発明者】
【氏名】堂前 幸康
(72)【発明者】
【氏名】万 偉偉
(72)【発明者】
【氏名】森 建郎
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS04
3C707BS10
3C707DS02
3C707JS03
3C707KS03
3C707KS04
3C707KS07
3C707KS09
3C707KS21
3C707KS30
3C707KS35
3C707KT03
3C707KT05
3C707KV01
3C707KW03
3C707KX06
3C707KX10
3C707LS15
3C707LV02
3C707LV06
3C707LV07
3C707MT04
3C707NS17
(57)【要約】
【課題】高い成功率でワークを取り出すことが可能なワーク取出し装置を提供すること。
【解決手段】本開示に係るワーク取出し装置は、3次元空間に置かれた複数の線状のワークの中から1つずつワークを取り出すワーク取出し装置であって、ワークを把持可能に構成された第1把持部と、ワークを把持可能に構成された第2把持部と、第1把持部及び第2把持部のそれぞれの動作を制御する制御部と、第1把持部によるワークの把持状態を判定する把持状態判定部と、を備え、把持状態判定部によって、第1把持部がワークの端部を把持している、と判定された場合、制御部は、第2把持部に、第1把持部によって把持されているワークを把持させ且つ3次元空間から取り出させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
3次元空間に置かれた複数の線状のワークの中から1つずつワークを取り出すワーク取出し装置であって、
前記ワークを把持可能に構成された第1把持部と、
前記ワークを把持可能に構成された第2把持部と、
前記第1把持部及び前記第2把持部のそれぞれの動作を制御する制御部と、
前記第1把持部による前記ワークの把持状態を判定する把持状態判定部と、
を備え、
前記把持状態判定部によって、前記第1把持部が前記ワークの端部を把持している、と判定された場合、前記制御部は、前記第2把持部に、前記第1把持部によって把持されている前記ワークを把持させ且つ前記3次元空間から取り出させる、
ワーク取出し装置。
【請求項2】
前記把持状態判定部によって、前記第1把持部が前記ワークの端部を把持している、と判定された場合、前記制御部は、前記第2把持部に、前記第1把持部によって把持されている前記ワークを、把持させ、且つ、円状又は矩形状の軌道を描くように前記3次元空間から取り出させる、
請求項1に記載のワーク取出し装置。
【請求項3】
前記把持状態判定部は、前記第1把持部によって把持されている前記ワークが所定の高さ位置まで持ち上げられた状態で、前記第1把持部が前記ワークから受ける重量が第1所定重量未満である場合、前記第1把持部が前記ワークの端部を把持している、と判定する、
請求項1に記載のワーク取出し装置。
【請求項4】
前記把持状態判定部によって、前記第1把持部が前記ワークの中央部を把持している、と判定された場合、前記制御部は、前記第1把持部に、把持している前記ワークを前記3次元空間から取り出させる、
請求項1に記載のワーク取出し装置。
【請求項5】
前記把持状態判定部は、前記第2把持部による前記ワークの把持状態をさらに判定し、
前記把持状態判定部によって、前記第2把持部が前記ワークの中央部を把持している、と判定された場合、前記制御部は、前記第2把持部に、把持している前記ワークを前記3次元空間から取り出させる、
請求項1に記載のワーク取出し装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ワークを取り出すためのワーク取出し装置に関する。
【背景技術】
【0002】
特許文献1には、3次元空間に置かれた複数の線状のワークの中から1つずつワークを把持し、取り出すワーク取出し装置が開示されている。このワーク取出し装置は、ワークを把持する把持手段と、把持手段がワークを把持した後、把持手段により把持されたワークが円状又は矩形状の軌道を描くように把持手段を制御する制御手段と、を備える。それにより、このワーク取出し装置は、ワーク同士の絡み合いを容易に解くことができ、ワークの把持の失敗を防ぐことができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に開示されたワーク取出し装置は、把持手段によって線状のワークの端部を把持した場合、把持手段によって把持されたワークに対して効率的に力を伝えることができない可能性があり、その結果、高い成功率でワークを取り出すことができない、という課題があった。
【0005】
本開示は、以上の背景に鑑みなされたものであり、高い成功率でワークを取り出すことが可能なワーク取出し装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示にかかるワーク取出し装置は、3次元空間に置かれた複数の線状のワークの中から1つずつワークを取り出すワーク取出し装置であって、前記ワークを把持可能に構成された第1把持部と、前記ワークを把持可能に構成された第2把持部と、前記第1把持部及び前記第2把持部のそれぞれの動作を制御する制御部と、前記第1把持部による前記ワークの把持状態を判定する把持状態判定部と、を備え、前記把持状態判定部によって、前記第1把持部が前記ワークの端部を把持している、と判定された場合、前記制御部は、前記第2把持部に、前記第1把持部によって把持されている前記ワークを把持させ且つ前記3次元空間から取り出させる。それにより、このワーク取出し装置は、第1把持部によって線状のワークの端部を把持した場合でも、第2把持部によって、第1把持部によって把持されたワークの中央部を把持することができるため、取出し対象のワークに対して効率的に力を伝えることができ、その結果、高い成功率でワークを取り出すことができる。
【0007】
また、本開示にかかるワーク取出し装置では、前記把持状態判定部によって、前記第1把持部が前記ワークの端部を把持している、と判定された場合、前記制御部は、前記第2把持部に、前記第1把持部によって把持されている前記ワークを、把持させ、且つ、円状又は矩形状の軌道を描くように前記3次元空間から取り出させる。それにより、このワーク取出し装置は、取出し対象のワークに対して効率的に力を伝えることができ、且つ、ワークの絡みを容易に解くことができるため、さらに高い成功率でワークを取り出すことができる。
【発明の効果】
【0008】
本開示により、高い成功率でワークを取り出すことが可能なワーク取出し装置を提供することができる。
【図面の簡単な説明】
【0009】
【
図1】本開示に係るワーク取出し装置の概略的なシステム構成を示す図である。
【
図2】本開示に係る制御装置の概略的なシステム構成を示すブロック図である。
【
図3】本開示に係るワーク取出し装置の動作の一例を示すフローチャートである。
【
図4】本開示に係るワーク取出し装置の動作の他の例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。ただし、本発明が以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
【0011】
<実施の形態1>
図1は、本開示に係るワーク取出し装置1の概略的なシステム構成を示す図である。ワーク取出し装置1は、3次元空間に配置された複数の線状のワークの中から1つずつワークを把持して取り出す装置である。線状のワークは、例えば、コネクタ、分岐部などを有するケーブル状のワークである。複数のワークは、箱内や平面などにバラ積みされている線状の部品などである。
【0012】
具体的には、ワーク取出し装置1は、ロボットアーム2,3と、3次元ビジョンセンサ4,5と、力覚センサ6,7と、制御装置8と、を備えている。
【0013】
ロボットアーム2は、把持手段(把持部)の一具体例である。ロボットアーム2は、所謂、多関節型アームであって、例えば、複数のリンク21と、各リンク21を回動可能に連結する関節部(手首関節、肘関節、肩関節など)22と、その先端に設けられワークを把持するエンドエフェクタ23と、を有する。
【0014】
各関節部22には、各関節部22の回転情報を検出するエンコーダなどの回転センサと、各関節部22を駆動するサーボモータなどのアクチュエータと、各関節部22の操作力を検出する力センサと、が設けられている。力センサは、例えば、各関節部22のトルクを検出するトルクセンサなどである。各関節部22には、減速機構などが設けられている。エンドエフェクタ23は、例えば、複数の指部を有している。指部には関節部、アクチュエータなどが設けられており、各指部は、ワークを把持することができるように構成されている。
【0015】
ロボットアーム3は、把持手段(把持部)の一具体例である。ロボットアーム3は、所謂、多関節型アームであって、例えば、複数のリンク31と、各リンク31を回動可能に連結する関節部(手首関節、肘関節、肩関節など)32と、その先端に設けられワークを把持するエンドエフェクタ33と、を有する。
【0016】
各関節部32には、各関節部32の回転情報を検出するエンコーダなどの回転センサと、各関節部32を駆動するサーボモータなどのアクチュエータと、各関節部32の操作力を検出する力センサと、が設けられている。力センサは、例えば、各関節部32のトルクを検出するトルクセンサなどである。各関節部32には、減速機構などが設けられている。エンドエフェクタ33は、例えば、複数の指部を有している。指部には関節部、アクチュエータなどが設けられており、各指部は、ワークを把持することができるように構成されている。
【0017】
3次元ビジョンセンサ4は、取得手段の一具体例である。3次元ビジョンセンサ4は、複数のワークの3次元情報を取得する。ワークの3次元情報は、各ワークの形状、位置(3次元座標など)、姿勢などの情報を含む。3次元ビジョンセンサ4は、例えば、ロボットアーム2のエンドエフェクタ23やリンク21などに設けられている。3次元ビジョンセンサ4は、カメラやレーザセンサなどで構成されている。3次元ビジョンセンサ4は、取得したワークの3次元情報を制御装置8に対して出力する。
【0018】
3次元ビジョンセンサ5は、取得手段の一具体例である。3次元ビジョンセンサ5は、複数のワークの3次元情報を取得する。ワークの3次元情報は、各ワークの形状、位置(3次元座標など)、姿勢などの情報を含む。3次元ビジョンセンサ5は、例えば、ロボットアーム3のエンドエフェクタ33やリンク31などに設けられている。3次元ビジョンセンサ5は、カメラやレーザセンサなどで構成されている。3次元ビジョンセンサ5は、取得したワークの3次元情報を制御装置8に対して出力する。
【0019】
力覚センサ6は、例えば、ロボットアーム2のリンク先端側とエンドエフェクタ23との間に設けられている。エンドエフェクタ23がワークを把持した時にエンドエフェクタ23にはワークの重量が掛かる。力覚センサ6は、エンドエフェクタ23によって把持されたワークの重量を検出する。
【0020】
力覚センサ7は、例えば、ロボットアーム3のリンク先端側とエンドエフェクタ33との間に設けられている。エンドエフェクタ33がワークを把持した時にエンドエフェクタ33にはワークの重量が掛かる。力覚センサ7は、エンドエフェクタ33によって把持されたワークの重量を検出する。
【0021】
制御装置8は、ロボットアーム2,3に対する各種の演算処理及び制御処理を行う。制御装置8は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのプロセッサ8aと、RAM(Random Access Memory)やROM(Read Only Memory)などの内部メモリ8bと、HDD(Hard Disk Drive)やSDD(Solid State Drive)などのストレージデバイス8cと、ディスプレイなどの周辺機器を接続するための入出力I/F8dと、装置外部の機器と通信を行う通信I/F8eと、を備えた通常のコンピュータのハードウェア構成を有する。
【0022】
図2は、制御装置8の概略的なシステム構成を示すブロック図である。制御装置8は、候補算出部81と、ロボット制御部82と、把持状況判定部83と、を有している。
【0023】
候補算出部81は、3次元ビジョンセンサ4により取得されたワークの3次元情報に基づいて、ロボットアーム2のエンドエフェクタ23がワークを把持する際のワークの把持点の候補である把持候補点を少なくとも1つ算出する。また、候補算出部81は、3次元ビジョンセンサ5により取得されたワークの3次元情報に基づいて、ロボットアーム3のエンドエフェクタ33がワークを把持する際のワークの把持点の候補である把持候補点を少なくとも1つ算出する。
【0024】
例えば、候補算出部81は、3次元ビジョンセンサ4により取得されたワークの3次元情報に基づいて、各ワークの高さ位置を示す深度情報を算出する。候補算出部81は、算出した各ワークの深度情報に基づいて、高さ方向へ突出した凸部を検出する。候補算出部81は、算出した深度情報に基づいて、例えば、所定高さ以上の点を1とし、所定高さ未満の点を0として2値化し、1となる点を、凸部として検出する。候補算出部81は、上述のように検出した凸部を把持候補点としてもよい。それにより、エンドエフェクタ23が把持し易い凸部を把持候補点にすることができる。同様にして、候補算出部81は、3次元ビジョンセンサ5により取得されたワークの3次元情報に基づいて、各ワークの深度情報を算出し、その算出結果に基づいて検出した凸部を、エンドエフェクタ33の把持候補点としてもよい。候補算出部81は、上述のように算出した複数の把持候補点をロボット制御部82に対して出力する。
【0025】
ロボット制御部82は、制御手段の一具体例である。ロボット制御部82は、ロボットアーム2,3のそれぞれの動作を制御する。ロボット制御部82は、例えば、ロボットアーム2における各関節部の回転センサからの回転情報(回転角など)及び各関節部の力センサからの操作力に基づいて、ロボットアーム2における各関節部のアクチュエータを制御することで、ロボットアーム2をフィードバック制御する。また、ロボット制御部82は、例えば、ロボットアーム3における各関節部の回転センサからの回転情報(回転角など)及び各関節部の力センサからの操作力に基づいて、ロボットアーム3における各関節部のアクチュエータを制御することで、ロボットアーム3をフィードバック制御する。それにより、ロボット制御部82は、ロボットアーム2,3のそれぞれのエンドエフェクタ23,33を所望の位置に移動させることができる。
【0026】
また、ロボット制御部82は、エンドエフェクタ23,33のそれぞれの指部のアクチュエータを制御することで、エンドエフェクタ23,33のそれぞれによるワークの把持及び解放を制御する。それにより、ロボット制御部82は、ロボットアーム2,3のそれぞれを制御して、ワークを把持し、移動させることができる。
【0027】
ここで、ロボット制御部82は、候補算出部81により算出された複数の把持候補点の中から1つの把持候補点を選択する。そして、ロボット制御部82は、3次元ビジョンセンサ4により取得されたワークの3次元情報に基づいて、ロボットアーム2のエンドエフェクタ23が把持候補点でワークを把持するように、ロボットアーム2を制御する。同様にして、ロボット制御部82は、3次元ビジョンセンサ5により取得されたワークの3次元情報に基づいて、ロボットアーム3のエンドエフェクタ33が把持候補点でワークを把持するように、ロボットアーム3を制御する。
【0028】
把持状況判定部83は、エンドエフェクタ23,33のそれぞれによるワークの把持状況を判定する。具体的には、把持状況判定部83は、エンドエフェクタ23がワークのどの部分を把持しているのかを判定する。同様に、把持状況判定部83は、エンドエフェクタ33がワークのどの部分を把持しているのかを判定する。
【0029】
例えば、把持状況判定部83は、エンドエフェクタ23によって把持されて所定の高さ位置まで持ち上げられたワークの重量が所定重量W1未満である場合、ロボットアーム2がワークに効率的に力を伝えられていない状況、即ち、エンドエフェクタ23がワークの端部を把持している、と判定する。また、把持状況判定部83は、エンドエフェクタ23によって把持されて所定の高さ位置まで持ち上げられたワークの重量が所定重量W1以上かつ所定重量W2(但し、W1<W2)未満である場合、ロボットアーム2がワークに効率的に力を伝えられている状況、即ち、エンドエフェクタ23がワークの中央部を把持している、と判定する。さらに、把持状況判定部83は、エンドエフェクタ23によって把持されて所定の高さ位置まで持ち上げられたワークの重量が所定重量W2以上である場合、エンドエフェクタ23が絡まったワークを把持していると判定する。同様にして、把持状況判定部83は、エンドエフェクタ33によって把持されたワークの把持状況についても、ワークの重量に基づいて判定する。そして、把持状況判定部83は、判定結果をロボット制御部82に対して出力する。なお、絡まったワークは、自身において絡まったワークに限られず、他のワークと絡み合ったワークも含む。
【0030】
なお、把持状況判定部83は、エンドエフェクタ23,33の何れかによって把持されて所定の高さ位置まで持ち上げられたワークの重量に基づいて、当該ワークの把持状況を判定する場合に限られず、例えば、3次元ビジョンセンサ4,5の何れかにより取得されたワークの3次元情報に基づいて、当該ワークの把持状況を判定してもよい。
【0031】
ここで、ロボット制御部82は、把持状況判定部83の判定結果に基づいて、ロボットアーム2,3のそれぞれの動作を制御する。
【0032】
例えば、把持状況判定部83によって、エンドエフェクタ23がワークの端部を把持している、と判定された場合、ロボット制御部82は、エンドエフェクタ33に、エンドエフェクタ23によって把持されているワークを把持させる。このとき、エンドエフェクタ23が既にワークの端部を把持しているため、エンドエフェクタ33は、高い確率でワークの中央部を把持することができる。その後、ロボット制御部82は、エンドエフェクタ23からワークを解放する。
【0033】
また、例えば、把持状況判定部83によって、エンドエフェクタ23がワークの中央部を把持している、又は、エンドエフェクタ23が絡まったワークを把持している、と判定された場合、ロボット制御部82は、エンドエフェクタ33に、エンドエフェクタ23によって把持されているワークを把持させず、エンドエフェクタ23にワークを把持させたままにする。
【0034】
その後、ロボット制御部82は、エンドエフェクタ23,33の何れかによって把持されているワークが、円状の軌道を描くようにロボットアーム2,3の何れかを制御する。なお、ロボット制御部82は、エンドエフェクタ23,33の何れかが円状の軌道を描くようにロボットアーム2,3の何れかを制御することで、上述の如く、エンドエフェクタ23,33の何れかによって把持されたワークも円状の軌道を描くこととなる。
【0035】
例えば、ケーブルなどの線状のワークは、円状に巻かれた状態で置かれていることが多い。したがって、ロボット制御部82は、エンドエフェクタ23,33の何れかによって把持されたワークが、円状の軌道を描くようにロボットアーム2,3の何れかを制御することにより、ワークの絡みを容易に解くことができる。
【0036】
なお、上述の円状の軌道は、真円だけでなく、楕円を含んでいてもよい。また、ロボット制御部82は、エンドエフェクタ23,33の何れかによって把持されたワークが、矩形状の軌道を描くようにロボットアーム2,3の何れかを制御してもよい。また、ロボット制御部82は、エンドエフェクタ23,33の何れかによって把持されたワークが、円状又は矩形状の軌道に沿って往復するようにロボットアーム2,3の何れかを制御してもよい。
【0037】
また、ロボット制御部82は、エンドエフェクタ23,33の何れかによって把持されたワークが、円状の軌道を描くように公転しつつ自転するように、ロボットアーム2,3の何れかを制御してもよい。それにより、ロボット制御部82は、ワークの絡みをより容易に解くことができる。
【0038】
また、ロボット制御部82は、エンドエフェクタ23,33の何れかによって把持されたワークが振動するように、ロボットアーム2,3の何れかをさらに制御してもよい。それにより、ロボット制御部82は、ワークの絡みをより容易に解くことができる。上記振動の大きさは、コネクタや分岐部などのワークの絡みが発生し易い部位の大きさに応じて設定されるのが好ましい。
【0039】
例えば、ロボット制御部82は、エンドエフェクタ23,33の何れかに設けられたトルクセンサ(不図示)を用いて、ワークを円状軌道に沿って移動させる際の回転トルクを検出し、検出した回転トルクが大きい程、上記振動を大きくするように制御してもよい。
【0040】
続いて、
図3を用いて、ワーク取出し装置1の動作の一例を説明する。
図3は、ワーク取出し装置1の動作の一例を示すフローチャートである。
【0041】
まず、ワーク取出し装置1は、例えば3次元ビジョンセンサ4を用いて、複数のワークの3次元情報を取得する(ステップS101)。その後、ワーク取出し装置1は、制御装置8の候補算出部81を用いて、複数のワークの3次元情報に基づいて、取出し対象のワークの把持候補点を算出する(ステップS102)。その後、ワーク取出し装置1は、制御装置8のロボット制御部82を用いて、エンドエフェクタ23が取出し対象のワークを把持候補点で把持して所定の高さまで持ち上げるように、ロボットアーム2を制御する(ステップS103)。
【0042】
その後、ワーク取出し装置1は、制御装置8の把持状況判定部83を用いて、エンドエフェクタ23によるワークの把持状況を判定する。具体的には、ワーク取出し装置1は、制御装置8の把持状況判定部83を用いて、エンドエフェクタ23によって把持されて所定の高さ位置まで持ち上げられたワークの重量が所定重量W1未満であるか否かに基づいて、エンドエフェクタ23がワークの端部を把持しているか否かを判定する(ステップS104)。
【0043】
例えば、エンドエフェクタ23によって把持されて所定の高さ位置まで持ち上げられたワークの重量が所定重量W1未満である場合(ステップS104のYES)、把持状況判定部83は、ロボットアーム2がワークに効率的に力を伝えられない状況、即ち、エンドエフェクタ23がワークの端部を把持している、と判定する。この場合、ワーク取出し装置1は、制御装置8のロボット制御部82を用いて、エンドエフェクタ33に、エンドエフェクタ23によって把持されているワークを把持させる(ステップS105)。このとき、エンドエフェクタ23が既にワークの端部を把持しているため、エンドエフェクタ33は、高い確率でワークの中央部を把持することができる。その後、ワーク取出し装置1は、制御装置8のロボット制御部82を用いて、エンドエフェクタ23にワークを解放させる。
【0044】
それに対し、エンドエフェクタ23によって把持されて所定の高さ位置まで持ち上げられたワークの重量が所定重量W1以上である場合(ステップS104のNO)、把持状況判定部83は、エンドエフェクタ23が、ワークの中央部を把持している、又は、絡まったワークを把持している、と判定する。この場合、ワーク取出し装置1は、制御装置8のロボット制御部82を用いて、エンドエフェクタ33に、エンドエフェクタ23によって把持されているワークを把持させず、エンドエフェクタ23にワークを把持させたままにする。
【0045】
その後、ワーク取出し装置1は、制御装置8のロボット制御部82を用いて、エンドエフェクタ23,33の何れかによって把持されているワークが、円状の軌道を描くようにロボットアーム2,3の何れかを制御する(ステップS106)。
【0046】
そして、ワーク取出し装置1は、制御装置8のロボット制御部82を用いて、エンドエフェクタ23,33の何れかによって把持されているワークを、3次元空間から取り出して所望の位置に移動させる(ステップS107)。
【0047】
このように、本開示にかかるワーク取出し装置1は、一方のエンドエフェクタによって線状のワークの端部を把持した場合でも、他方のエンドエフェクタによって、一方の把持部によって把持されたワークの中央部を把持することができるため、取出し対象のワークに対して効率的に力を伝えることができ、その結果、高い成功率でワークを取り出すことができる。
【0048】
また、本開示にかかるワーク取出し装置1は、何れかのエンドエフェクタによって把持されたワークが、円状又は矩形状の軌道を描くようにロボットアームを制御する。それにより、本開示にかかるワーク取出し装置1は、取出し対象のワークに対して効率的に力を伝えることができるだけでなく、ワークの絡みを容易に解くことができるため、さらに高い成功率でワークを取り出すことができる。
【0049】
<実施の形態2>
続いて、
図4を用いて、ワーク取出し装置1の動作の他の例を説明する。
図4は、ワーク取出し装置1の動作の他の例を示すフローチャートである。
【0050】
まず、ワーク取出し装置1は、例えば3次元ビジョンセンサ4を用いて、複数のワークの3次元情報を取得する(ステップS201)。その後、ワーク取出し装置1は、制御装置8の候補算出部81を用いて、複数のワークの3次元情報に基づいて、取出し対象のワークの把持候補点を算出する(ステップS202)。その後、ワーク取出し装置1は、制御装置8のロボット制御部82を用いて、エンドエフェクタ23が取出し対象のワークを把持候補点で把持して所定の高さまで持ち上げるように、ロボットアーム2を制御する(ステップS203)。
【0051】
その後、ワーク取出し装置1は、制御装置8の把持状況判定部83を用いて、エンドエフェクタ23によるワークの把持状況を判定する。
【0052】
具体的には、まず、ワーク取出し装置1は、制御装置8の把持状況判定部83を用いて、エンドエフェクタ23によって把持されて所定の高さ位置まで持ち上げられたワークの重量が所定重量W1未満であるか否かに基づいて、エンドエフェクタ23がワークの端部を把持しているか否かを判定する(ステップS204)。
【0053】
例えば、エンドエフェクタ23によって把持されて所定の高さ位置まで持ち上げられたワークの重量が所定重量W1未満である場合(ステップS204のYES)、把持状況判定部83は、ロボットアーム2がワークに効率的に力を伝えられない状況、即ち、エンドエフェクタ23がワークの端部を把持している、と判定する。この場合、ワーク取出し装置1は、制御装置8のロボット制御部82を用いて、エンドエフェクタ33に、エンドエフェクタ23によって把持されているワークを把持させる(ステップS205)。このとき、エンドエフェクタ23が既にワークの端部を把持しているため、エンドエフェクタ33は、高い確率でワークの中央部を把持することができる。その後、ワーク取出し装置1は、制御装置8のロボット制御部82を用いて、エンドエフェクタ23にワークを解放させる。
【0054】
その後、ワーク取出し装置1は、制御装置8の把持状況判定部83を用いて、エンドエフェクタ33によって把持されて所定の高さ位置まで持ち上げられたワークの重量が所定重量W1未満であるか否かに基づいて、エンドエフェクタ33がワークの端部を把持しているか否かを判定する(ステップS204)。ステップS204~S205の処理は、エンドエフェクタ23,33の何れかによって把持されて所定の高さ位置まで持ち上げられたワークの重量が所定重量W1以上になるまで繰り返される。
【0055】
エンドエフェクタ23,33の何れかによって把持されて所定の高さ位置まで持ち上げられたワークの重量が所定重量W1以上である場合(ステップS204のNO)、次に、ワーク取出し装置1は、制御装置8の把持状況判定部83を用いて、エンドエフェクタ23,33の何れかによって把持されて所定の高さ位置まで持ち上げられたワークの重量が所定重量W2未満であるか否かに基づいて、エンドエフェクタ23が絡まったワークを把持しているか否かを判定する(ステップS206)。
【0056】
例えば、エンドエフェクタ23,33の何れかによって把持されて所定の高さ位置まで持ち上げられたワークの重量が所定重量W2以上である場合(ステップS206のNO)、把持状況判定部83は、エンドエフェクタ23,33の何れかが絡まったワークを把持している、と判定する。この場合、ワーク取出し装置1は、制御装置8のロボット制御部82を用いて、エンドエフェクタ23,33の何れかによって把持されているワークが、円状の軌道を描くようにロボットアーム2,3の何れかを制御する(ステップS207)。それにより、ワーク取出し装置1は、エンドエフェクタ23,33の何れかによって把持されているワークの絡みを容易に解くことができる。その後、ワーク取出し装置1は、ステップS204の処理に戻る。
【0057】
エンドエフェクタ23,33の何れかによって把持されて所定の高さ位置まで持ち上げられたワークの重量が所定重量W1以上かつ所定重量W2未満である場合(ステップS206のYES)、把持状況判定部83は、ロボットアーム2,3の何れかがワークに効率的に力を伝えられている状況、即ち、エンドエフェクタ23,33の何れかが、絡みのないワークの中央部を把持している、と判定する。この場合、ワーク取出し装置1は、制御装置8のロボット制御部82を用いて、エンドエフェクタ23,33の何れかによって把持されているワークを、円状の軌道に沿って移動させることなく、3次元空間から取り出して所望の位置に移動させる(ステップS208)。
【0058】
このように、本開示にかかるワーク取出し装置1は、一方のエンドエフェクタによって線状のワークの端部を把持した場合でも、他方のエンドエフェクタによって、一方の把持部によって把持されたワークの中央部を把持することができるため、取出し対象のワークに対して効率的に力を伝えることができ、その結果、高い成功率でワークを取り出すことができる。
【0059】
また、本開示にかかるワーク取出し装置1は、何れかのエンドエフェクタによって把持されたワークが絡まっている場合にのみ、当該何れかのエンドエフェクタによって把持されたワークが円状又は矩形状の軌道を描くようにロボットアームを制御する。それにより、本開示にかかるワーク取出し装置1は、処理負荷を低減させることができる。
【0060】
なお、本開示は、ワーク取出し装置1の処理の一部又は全部を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することが可能である。
【0061】
上述したプログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、RAM(Random-Access Memory)、ROM(Read-Only Memory)、フラッシュメモリ、SSD(Solid-State Drive)又はその他のメモリ技術、CD-ROM、DVD(Digital Versatile Disc)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
【0062】
以上、実施の形態を参照して本開示を説明したが、本開示は上述の実施の形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。そして、各実施の形態は、適宜他の実施の形態と組み合わせることができる。
【0063】
上記の実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0064】
(付記1)
3次元空間に置かれた複数の線状のワークの中から1つずつワークを取り出すワーク取出し装置によるワーク取出し方法であって、
第1把持部により前記ワークを把持し、
前記第1把持部による前記ワークの把持状態を判定し、
前記第1把持部が前記ワークの端部を把持している、と判定した場合、第2把持部に、前記第1把持部によって把持されている前記ワークを把持させ且つ前記3次元空間から取り出させる、
ワーク取出し方法。
【0065】
(付記2)
前記第1把持部が前記ワークの端部を把持している、と判定した場合、第2把持部に、前記第1把持部によって把持されている前記ワークを、把持させ、且つ、円状又は矩形状の軌道を描くように前記3次元空間から取り出させる、
付記1に記載のワーク取出し方法。
【0066】
(付記3)
3次元空間に置かれた複数の線状のワークの中から1つずつワークを取り出すワーク取出し装置におけるワーク取出し処理をコンピュータに実行させる制御プログラムであって、
第1把持部により前記ワークを把持する処理と、
前記第1把持部による前記ワークの把持状態を判定する処理と、
前記第1把持部が前記ワークの端部を把持している、と判定した場合、第2把持部に、前記第1把持部によって把持されている前記ワークを把持させ且つ前記3次元空間から取り出させる処理と、
をコンピュータに実行させる制御プログラム。
【0067】
(付記4)
前記第1把持部が前記ワークの端部を把持している、と判定した場合、第2把持部に、前記第1把持部によって把持されている前記ワークを、把持させ、且つ、円状又は矩形状の軌道を描くように前記3次元空間から取り出させる処理をコンピュータに実行させる、
付記3に記載の制御プログラム。
【符号の説明】
【0068】
1 ワーク取出し装置、 2,3 ロボットアーム、 4,5 3次元ビジョンセンサ、 6,7 力覚センサ、 8 制御装置、 21,31 リンク、 22,32 関節部、 23,33 エンドエフェクタ、 81 候補算出部、 82 ロボット制御部、 83 把持状況判定部