(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023041201
(43)【公開日】2023-03-24
(54)【発明の名称】ワーク保持装置、ワーク保持方法、プログラム、及び制御装置
(51)【国際特許分類】
B25J 13/08 20060101AFI20230316BHJP
【FI】
B25J13/08 A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021148424
(22)【出願日】2021-09-13
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(71)【出願人】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】長井 伊岐
(72)【発明者】
【氏名】森 建郎
(72)【発明者】
【氏名】五十嵐 淳
(72)【発明者】
【氏名】植芝 俊夫
(72)【発明者】
【氏名】堂前 幸康
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS04
3C707BS09
3C707KS03
3C707KS09
3C707KS33
3C707KT03
3C707KT05
3C707KX06
3C707LV07
(57)【要約】
【課題】ワークの保持に失敗した場合、短時間でワークの再保持を行うこと。
【解決手段】ワーク保持装置は、3次元空間の複数のワークの中から1つずつワークを保持する保持手段と、複数のワークの3次元情報を取得する情報取得手段と、ワークの3次元情報に基づいて、保持手段がワークを保持する際の保持候補点を複数算出する候補算出手段と、算出された複数の保持候補点の中から1つの保持候補点を選択し、選択した保持候補点で、ワークを保持するように保持手段を制御する制御手段と、制御手段による保持手段の制御によって、ワークの保持が成功したか否かを判定する判定手段と、を備える。制御手段は、ワークの保持が成功しなかったと判定された場合に、選択された保持候補点に基づいて所定範囲を設定し、所定範囲外にある他の保持候補点で、ワークを再度保持するように保持手段を制御する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
3次元空間に置かれた複数のワークの中から1つずつワークを保持する保持手段と、
前記複数のワークの3次元情報を取得する情報取得手段と、
前記情報取得手段により取得されたワークの3次元情報に基づいて、前記保持手段がワークを保持する際の該ワークの保持点の候補である保持候補点を複数算出する候補算出手段と、
前記候補算出手段により算出された複数の保持候補点の中から1つの保持候補点を選択し、該選択した保持候補点で、前記ワークを保持するように前記保持手段を制御する制御手段と、
前記制御手段による前記保持手段の制御によって、前記ワークの保持が成功したか否かを判定する判定手段と、
を備え、
前記制御手段は、前記判定手段によりワークの保持が成功しなかったと判定された場合に、前記選択された保持候補点に基づいて所定範囲を設定し、該所定範囲外にある他の保持候補点を選択し、該選択した他の保持候補点で、前記ワークを再度保持するように前記保持手段を制御する、
ワーク保持装置。
【請求項2】
請求項1記載のワーク保持装置であって、
前記判定手段は、前記保持手段が複数のワークを同時に保持した場合に、前記ワークの保持が成功しなかったと判定し、
前記制御手段は、前記判定手段によりワークの保持が成功しなかったと判定された場合に、前記ワークを解放するように前記保持手段を制御した後、前記他の保持候補点で、前記ワークを再度保持するように前記保持手段を制御する、
ワーク保持装置。
【請求項3】
請求項1又は2記載のワーク保持装置であって、
前記保持手段がワークを保持した時の該ワークの重量を検出する重量検出手段を更に備え、
前記判定手段は、前記重量検出手段により検出されたワークの重量に基づいて、前記ワークの保持が成功したか否かを判定する、
ワーク保持装置。
【請求項4】
請求項1乃至3のうちいずれか1項記載のワーク保持装置であって、
前記保持手段は、前記ワークを非接触状態で吸引し保持する、
ワーク保持装置。
【請求項5】
請求項2記載のワーク保持装置であって、
前記制御手段は、
前記判定手段によりワークの保持が成功しなかったと判定された場合に、前記選択された保持候補点から所定距離以内の範囲を前記所定範囲に設定し、
前記解放するワークの数、重量、又は、大きさに応じて、前記所定距離を変化させる、
ワーク保持装置。
【請求項6】
3次元空間に置かれた複数のワークの3次元情報を取得するステップと、
前記取得されたワークの3次元情報に基づいて、保持手段がワークを保持する際の該ワークの保持点の候補である保持候補点を複数算出するステップと、
前記算出された複数の保持候補点の中から1つの保持候補点を選択し、該選択した保持候補点で、前記ワークを保持するように前記保持手段を制御するステップと、
前記保持手段の制御によって、前記ワークの保持が成功したか否かを判定するステップと、
前記ワークの保持が成功しなかったと判定された場合に、前記選択された保持候補点に基づいて所定範囲を設定し、該所定範囲外にある他の保持候補点を選択し、該選択した他の保持候補点で、前記ワークを再度保持するように前記保持手段を制御するステップと、
を含む、ワーク保持方法。
【請求項7】
3次元空間に置かれた複数のワークの3次元情報を取得する処理と、
前記取得されたワークの3次元情報に基づいて、保持手段がワークを保持する際の該ワークの保持点の候補である保持候補点を複数算出する処理と、
前記算出された複数の保持候補点の中から1つの保持候補点を選択し、該選択した保持候補点で、前記ワークを保持するように前記保持手段を制御する処理と、
前記保持手段の制御によって、前記ワークの保持が成功したか否かを判定する処理と、
前記ワークの保持が成功しなかったと判定された場合に、前記選択された保持候補点に基づいて所定範囲を設定し、該所定範囲外にある他の保持候補点を選択し、該選択した他の保持候補点で、前記ワークを再度保持するように前記保持手段を制御する処理と、
をコンピュータに実行させる、プログラム。
【請求項8】
3次元空間に置かれた複数のワークの3次元情報に基づいて、保持手段がワークを保持する際の該ワークの保持点の候補である保持候補点を複数算出する候補算出手段と、
前記候補算出手段により算出された複数の保持候補点の中から1つの保持候補点を選択し、該選択した保持候補点で、前記ワークを保持するように前記保持手段を制御する制御手段と、
前記制御手段による前記保持手段の制御によって、前記ワークの保持が成功したか否かを判定する判定手段と、
を備え、
前記制御手段は、前記判定手段によりワークの保持が成功しなかったと判定された場合に、前記選択された保持候補点に基づいて所定範囲を設定し、該所定範囲外にある他の保持候補点を選択し、該選択した他の保持候補点で、前記ワークを再度保持するように前記保持手段を制御する、
制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ワークを保持するワーク保持装置、ワーク保持方法、プログラム、及び制御装置に関する。
【背景技術】
【0002】
バラ積みなどされた複数のワークの3次元情報に基づいて、ワークを保持手段により保持するワーク保持装置が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、例えば、ワークの積載位置やワークを保持する際の磁力による吸引力などによっては、ワークの保持に失敗する可能性がある。その場合、再度ワークを保持する必要があるが、保持失敗の際にワークが荷崩れするなどのワークの配置が変化していることが考え得る。このため、ワークの3次元情報を再度取得する必要が生じ、ワークの再保持により多くの時間を要する。
【0005】
本発明は、このような問題点を解決するためになされたものであり、ワークの保持に失敗した場合、短時間でワークの再保持を行うことができるワーク保持装置、ワーク保持方法、プログラム、及び制御装置を提供することを主たる目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するための本発明の一態様は、
3次元空間に置かれた複数のワークの中から1つずつワークを保持する保持手段と、
前記複数のワークの3次元情報を取得する情報取得手段と、
前記情報取得手段により取得されたワークの3次元情報に基づいて、前記保持手段がワークを保持する際の該ワークの保持点の候補である保持候補点を複数算出する候補算出手段と、
前記候補算出手段により算出された複数の保持候補点の中から1つの保持候補点を選択し、該選択した保持候補点で、前記ワークを保持するように前記保持手段を制御する制御手段と、
前記制御手段による前記保持手段の制御によって、前記ワークの保持が成功したか否かを判定する判定手段と、
を備え、
前記制御手段は、前記判定手段によりワークの保持が成功しなかったと判定された場合に、前記選択された保持候補点に基づいて所定範囲を設定し、該所定範囲外にある他の保持候補点を選択し、該選択した他の保持候補点で、前記ワークを再度保持するように前記保持手段を制御する、
ワーク保持装置
である。
この一態様において、前記判定手段は、前記保持手段が複数のワークを同時に保持した場合に、前記ワークの保持が成功しなかったと判定し、
前記制御手段は、前記判定手段によりワークの保持が成功しなかったと判定された場合に、前記ワークを解放するように前記保持手段を制御した後、前記他の保持候補点で、前記ワークを再度保持するように前記保持手段を制御してもよい。
この一態様において、前記保持手段がワークを保持した時の該ワークの重量を検出する重量検出手段を更に備え、
前記判定手段は、前記重量検出手段により検出されたワークの重量に基づいて、前記ワークの保持が成功したか否かを判定してもよい。
この一態様において、前記保持手段は、前記ワークを非接触状態で吸引し保持してもよい。
この一態様において、前記制御手段は、前記判定手段によりワークの保持が成功しなかったと判定された場合に、前記選択された保持候補点から所定距離以内の範囲を前記所定範囲に設定し、
前記解放するワークの数、重量、又は、大きさに応じて、前記所定距離を変化させてもよい。
上記目的を達成するための本発明の一態様は、
3次元空間に置かれた複数のワークの3次元情報を取得するステップと、
前記取得されたワークの3次元情報に基づいて、保持手段がワークを保持する際の該ワークの保持点の候補である保持候補点を複数算出するステップと、
前記算出された複数の保持候補点の中から1つの保持候補点を選択し、該選択した保持候補点で、前記ワークを保持するように前記保持手段を制御するステップと、
前記保持手段の制御によって、前記ワークの保持が成功したか否かを判定するステップと、
前記ワークの保持が成功しなかったと判定された場合に、前記選択された保持候補点に基づいて所定範囲を設定し、該所定範囲外にある他の保持候補点を選択し、該選択した他の保持候補点で、前記ワークを再度保持するように前記保持手段を制御するステップと、
を含む、ワーク保持方法
であってもよい。
上記目的を達成するための本発明の一態様は、
3次元空間に置かれた複数のワークの3次元情報を取得する処理と、
前記取得されたワークの3次元情報に基づいて、保持手段がワークを保持する際の該ワークの保持点の候補である保持候補点を複数算出する処理と、
前記算出された複数の保持候補点の中から1つの保持候補点を選択し、該選択した保持候補点で、前記ワークを保持するように前記保持手段を制御する処理と、
前記保持手段の制御によって、前記ワークの保持が成功したか否かを判定する処理と、
前記ワークの保持が成功しなかったと判定された場合に、前記選択された保持候補点に基づいて所定範囲を設定し、該所定範囲外にある他の保持候補点を選択し、該選択した他の保持候補点で、前記ワークを再度保持するように前記保持手段を制御する処理と、
をコンピュータに実行させる、プログラム
であってもよい。
上記目的を達成するための本発明の一態様は、
3次元空間に置かれた複数のワークの3次元情報に基づいて、保持手段がワークを保持する際の該ワークの保持点の候補である保持候補点を複数算出する候補算出手段と、
前記候補算出手段により算出された複数の保持候補点の中から1つの保持候補点を選択し、該選択した保持候補点で、前記ワークを保持するように前記保持手段を制御する制御手段と、
前記制御手段による前記保持手段の制御によって、前記ワークの保持が成功したか否かを判定する判定手段と、
を備え、
前記制御手段は、前記判定手段によりワークの保持が成功しなかったと判定された場合に、前記選択された保持候補点に基づいて所定範囲を設定し、該所定範囲外にある他の保持候補点を選択し、該選択した他の保持候補点で、前記ワークを再度保持するように前記保持手段を制御する、
制御装置
であってもよい。
【発明の効果】
【0007】
本発明によれば、ワークの保持に失敗した場合、短時間でワークの再保持を行うことができるワーク保持装置、ワーク保持方法、プログラム、及び制御装置を提供することができる。
【図面の簡単な説明】
【0008】
【
図1】本実施形態に係るワーク保持装置の概略的なシステム構成を示す構成図である。
【
図2】本実施形態に係る制御装置の概略的なシステム構成を示すブロック図である。
【
図3】(a)ロボットアームのエンドエフェクタがワークに接近した状態を示す図である。(b)ロボットアームのエンドエフェクタが複数のワークを同時に保持した状態を示す図である。
【
図6】本実施形態に係るワーク保持方法のフローを示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施形態について説明する。
図1は、本実施形態に係るワーク保持装置の概略的なシステム構成を示す構成図である。本実施形態に係るワーク保持装置1は、3次元空間に配置された複数のワークの中から1つずつワークを保持し、移動させることができる。複数のワークは、箱内や平面板などにバラ積みされている部品などである。なお、複数のワークは、平面形状や立体形状などの任意の形状の部品を含む。
【0010】
本実施形態に係るワーク保持装置1は、ロボットアーム2と、制御装置3と、3次元ビジョンセンサ4と、を備えている。
【0011】
ロボットアーム2は、保持手段の一具体例である。ロボットアーム2は、例えば、複数のリンク21と、各リンク21を回動可能に連結する関節部(手首関節、肘関節、肩関節など)23と、その先端に設けられワークを保持するエンドエフェクタ24と、を有する多関節型アームとして構成されている。
【0012】
各関節部23には、各関節部23の回転情報を検出するエンコーダなどの回転センサ、各関節部23を駆動するサーボモータなどのアクチュエータ、各関節部23の操作力を検出する力センサ、などが設けられている。力センサは、例えば、各関節部23のトルクを検出するトルクセンサなどである。各関節部23には、減速機構などが設けられている。
【0013】
エンドエフェクタ24は、磁力や空気圧力などの吸引力により、ワークを非接触状態で吸引し保持する。エンドエフェクタ24は、例えば、磁力を発生させることによってワークを電磁吸着し、磁力の発生を停止することによって電磁吸着しているワークを解放するように構成されている。
【0014】
エンドエフェクタ24は、指部などでワークを把持するように構成されていてもよい。なお、エンドエフェクタ24は、ワークを磁力などにより吸引するように構成されている場合、複数のワークを同時に保持し易いため、後述の保持失敗が起き易くなるため、後述の本実施形態に係る効果はより大きい。
【0015】
ロボットアーム2のリンク先端側とエンドエフェクタ24との間には、力覚センサ5が設けられている。力覚センサ5は、重量検出手段の一具体例である。エンドエフェクタ24がワークを吸引し保持した時にエンドエフェクタ24にはワークの重量が掛かる。力覚センサ5は、そのワークの重量を検出する。
【0016】
制御装置3は、ロボットアーム2に対する各種の演算処理及び制御処理を行う。制御装置3は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのプロセッサ3aと、RAM(Random Access Memory)やROM(Read Only Memory)などの内部メモリ3bと、HDD(Hard Disk Drive)やSDD(Solid State Drive)などのストレージデバイス3cと、ディスプレイなどの周辺機器を接続するための入出力I/F3dと、装置外部の機器と通信を行う通信I/F3eと、を備えた通常のコンピュータのハードウェア構成を有する。
【0017】
3次元ビジョンセンサ4は、情報取得手段の一具体例である。3次元ビジョンセンサ4は、複数のワークの3次元情報を取得する。ワークの3次元情報は、各ワークの形状、位置、姿勢などの情報を含む。
【0018】
3次元ビジョンセンサ4は、例えば、ロボットアーム2のエンドエフェクタ24やリンク21などに設けられている。3次元ビジョンセンサ4は、カメラやレーザセンサなどで構成されている。3次元ビジョンセンサ4は、取得したワークの3次元情報を制御装置3に対して出力する。
【0019】
図2は、本実施形態に係る制御装置の概略的なシステム構成を示すブロック図である。本実施形態に係る制御装置3は、候補算出部31と、ロボット制御部32と、保持判定部33と、を有している。
【0020】
候補算出部31は、候補算出手段の一具体例である。候補算出部31は、3次元ビジョンセンサ4により取得されたワークの3次元情報に基づいて、ロボットアーム2のエンドエフェクタ24がワークを保持する際のワークの保持点(吸着点)の候補である保持候補点を複数算出する。
【0021】
例えば、候補算出部31は、3次元ビジョンセンサ4により取得されたワークの3次元情報に基づいて、各ワークの高さ位置を示す深度情報を算出する。候補算出部31は、算出した各ワークの深度情報に基づいて、各ワークの凸部を検出する。候補算出部は、所定高さ以上の点を1とし、所定高さ未満の点を0として2値化し、1となる点を、凸部として検出してもよい。候補算出部31は、検出した凸部の中から、エンドエフェクタ24が吸着を行うための端面の面積が閾値以上の凸部を保持候補点として検出する。
【0022】
候補算出部31は、上述のように算出した複数の保持候補点をロボット制御部32に対して出力する。
【0023】
ロボット制御部32は、制御手段の一具体例である。ロボット制御部32は、ロボットアーム2の動作を制御する。ロボット制御部32は、例えば、各関節部23の回転センサからの回転情報(回転角など)と、力センサからの操作力と、に基づいて、各関節部23のアクチュエータを制御することで、ロボットアーム2をフィードバック制御する。また、ロボット制御部32は、エンドエフェクタ24によるワークの吸着及び解放を制御する。これにより、ロボット制御部32は、ロボットアーム2を制御することで、ワークを保持し、移動させることができる。
【0024】
ロボット制御部32は、候補算出部31により算出された複数の保持候補点の中から1つの保持候補点を選択する。ロボット制御部32は、例えば、候補算出部31により算出された複数の保持候補点の中から最も高い位置の保持候補点を選択する。ロボット制御部32は、候補算出部31により算出された複数の保持候補点の中から凸部の端面の面積が最大の保持候補点を選択してもよい。なお、上記保持候補点の選択方法は一例であり、これに限定されず、任意の選択方法が適用されてもよい。
【0025】
ロボット制御部32は、3次元ビジョンセンサ4により取得されたワークの3次元情報に基づいて、ロボットアーム2のエンドエフェクタ24が上記選択された保持候補点(以下、選択保持候補点と称す)でワークを保持するように、ロボットアーム2を制御する。
【0026】
保持判定部33は、判定手段の一具体例である。保持判定部33は、上述のロボット制御部32によるロボットアーム2の制御によって、ワークの保持が成功したか否かを判定する。
【0027】
保持判定部33は、ロボットアーム2のエンドエフェクタ24がワークに接近し(
図3(a))、エンドエフェクタ24が複数(例えば、2つ)のワークを同時に吸引し保持した場合(
図3(b))、ワークの保持が失敗したと判定する。あるいは、保持判定部33は、ロボットアーム2のエンドエフェクタ24が0個のワークを保持した場合、すなわち、ワークを保持できなった場合にワークの保持が失敗したと判定する。特に、上述の如く、磁石などによりワークを吸引し保持する場合、複数のワークを同時に保持する失敗が生じ易く、この失敗を確実に判定する必要がある。
【0028】
保持判定部33は、力覚センサ5により検出されたワークの重量に基づいて、ワークの保持が成功したか否かを判定してもよい。保持判定部33には、予めワークの重量が設定されていてもよい。保持判定部33は、力覚センサ5により検出されたワークの重量に基づいて、ロボットアーム2のエンドエフェクタ24が複数のワークを同時に吸引し保持した場合(
図3(b))、あるいは、0個のワークを保持したと判定した場合に、ワークの保持が失敗したと判定する。
【0029】
保持判定部33は、カメラにより撮影されたワークの画像に基づいて、ワークの保持が成功したか否かを判定してもよい。なお、保持判定部33は、上述の如く、力覚センサ5により検出されたワークの重量に基づいて、ワークの保持が成功したか否かを判定するのがより好ましい。これにより、簡易な処理でワーク保持の成功を高精度に判定できる。
【0030】
保持判定部33は、上述のように判定したワーク保持の判定結果をロボット制御部32に出力する。
【0031】
ところで、例えば、ワークの積載位置やワークを保持する際の吸引力などによっては、ワークの保持に失敗する可能性がある。その場合、再度ワークを保持する必要があるが、保持失敗の際にバラ積みされたワークが荷崩れするなどのワークの配置が変化していることが考え得る。このため、ワークの3次元情報を再度取得する必要が生じ、ワークの再保持により多くの時間を要する。
【0032】
これに対し、本実施形態において、ロボット制御部32は、保持判定部33によりワークの保持が成功しなかったと判定された場合に、選択保持候補点に基づいて所定範囲を設定し、その所定範囲外にある他の保持候補点を選択し、その選択した他の保持候補点で、ワークを再度保持するようにロボットアーム2を制御する。
【0033】
保持失敗した保持候補点から離れた位置にある所定範囲外の他の保持候補点のワークは、保持失敗によるワーク荷崩れで配置変化していないと考えられる。したがって、ロボット制御部32は、3次元ビジョンセンサ4により既に取得されたワークの3次元情報に基づいて、ロボットアーム2のエンドエフェクタ24が所定範囲外の他の保持候補点でワークを保持するように、ロボットアーム2を制御することができる。これにより、ワークの3次元情報を再度取得する必要が生じないため、短時間でワークの再保持を行うことができる。
【0034】
ロボット制御部32は、保持判定部33によりワークの保持が成功しなかったと判定された場合に、選択保持候補点に基づいて所定範囲を設定する。例えば、ロボット制御部32は、
図4に示す如く、選択保持候補点Xから所定距離以内の範囲を所定範囲(斜線部)Sとして設定する。ここで、所定距離は、エンドエフェクタ24の吸引力などに基づいて、実験的に求めた最適値が設定される。所定距離は、ロボット制御部32に予め設定されていてもよい。
【0035】
ワークが斜めの傾斜面上に配置されている場合、保持失敗によるワーク荷崩れは斜面の傾斜方向に生じ易い。したがって、ロボット制御部32は、この斜面の傾斜方向を考慮して、選択保持候補点Xに基づいて所定範囲Sを設定してもよい。例えば、ロボット制御部32は、
図5に示す如く、選択保持候補点Xから斜面の傾斜方向へ広がる領域を、所定範囲Sに設定してもよい。
【0036】
また、後述の如く、ロボットアーム2のエンドエフェクタ24が複数のワークを同時に保持し、ワーク保持が成功しなかった場合に、エンドエフェクタ24はその保持した複数のワークを解放することとなる。
【0037】
このとき、ロボット制御部32は、解放するワークの数に応じて、上記所定距離を変化させてもよい。解放するワークの数が増加するほど、そのワークによって荷崩れの範囲が拡大すると考えられる。したがって、ロボット制御部32は、解放するワークの数が増加するに従って、上記所定距離を増加させてもよい。これにより、より高精度に所定範囲Sを設定し、より確実に荷崩れの影響のない所定範囲外の他の保持候補点を選択できる。
【0038】
同様に、ロボット制御部32は、解放するワークの重量又は大きさに応じて、上記所定距離を変化させてもよい。解放するワークの重量又は大きさが増加すると、そのワークによって荷崩れの範囲が拡大すると考えられる。したがって、ロボット制御部32は、解放するワークの重量又は大きさが増加するに従って、上記所定距離を増加させてもよい。これにより、より高精度に所定範囲Sを設定し、より確実に荷崩れの影響のない所定範囲外の他の保持候補点を選択できる。
【0039】
保持判定部33は、上述の如く、ロボットアーム2のエンドエフェクタ24が複数のワークを同時に吸引し保持した場合に、ワークの保持が成功しなかったと判定する。ロボット制御部32は、この保持判定部33の判定に応じて、エンドエフェクタ24が複数のワークを解放するようにロボットアーム2を制御する。
【0040】
このとき、ワークが斜めの傾斜面上に配置されている場合、ロボット制御部32は、この傾斜面を考慮して、エンドエフェクタ24の位置をオフセットさせた後、エンドエフェクタ24がワークを解放するようにロボットアーム2を制御してもよい。
【0041】
傾斜面上にワークを置いた場合、ワークはこの傾斜面に沿ってずれることが想定される。したがって、ロボット制御部32は、この傾斜面によるワークのずれ量だけ、エンドエフェクタ24の位置をオフセットさせた後、エンドエフェクタ24がワークを解放するようにロボットアーム2を制御してもよい。
【0042】
ロボット制御部32は、エンドエフェクタ24の位置をオフセットさせ、そのオフセット位置が所定範囲S以内にあると判定すると、エンドエフェクタ24がワークを解放するようにロボットアーム2を制御する。一方、ロボット制御部32は、オフセット位置が所定範囲以外にあると判定した場合、オフセット位置を所定範囲S以内に入れる調整をした後、そのオフセット位置でエンドエフェクタ24がワークを解放するようにロボットアーム2を制御する。
【0043】
このような制御を行うことで、ワーク解放による荷崩れの影響を所定範囲S内に収めることができ、所定範囲外でのワーク解放による荷崩れの影響を抑制できる。したがって、より確実に荷崩れの影響のない所定範囲外の他の保持候補点でワークを再保持できる。
【0044】
ロボット制御部32は、上述の如く、エンドエフェクタ24がワークを解放した後、所定範囲外の他の保持候補点で、ワークを再度保持するようにロボットアーム2を制御する。
【0045】
ここで、例えば、
図4に示す如く、所定範囲外S1の他の保持候補点X1が複数存在する場合、ロボット制御部32は、所定範囲外S1の複数の他の保持候補点X1の中から、選択保持候補点Xから最も離れた他の保持候補点X1を選択し、その他の保持候補点X1でワークを再度保持するようにロボットアーム2を制御する。これにより、より荷崩れの影響のない所定範囲外の他の保持候補点でワークを再保持できる。
【0046】
続いて、本実施形態に係るワーク保持方法について説明する。
図6は、本実施形態に係るワーク保持方法のフローを示すフローチャートである。なお、
図6に示す制御処理を所定時間毎に繰り返し実行される。
【0047】
3次元ビジョンセンサ4は、ワークの3次元情報を取得し、制御装置3に対して出力する(ステップS101)。
【0048】
制御装置3の候補算出部31は、3次元ビジョンセンサ4により取得されたワークの3次元情報に基づいて、ロボットハンドのエンドエフェクタ24の保持候補点を複数算出する(ステップS102)。
【0049】
ロボット制御部32は、候補算出部31により算出された複数の保持候補点の中から1つの保持候補点を選択する(ステップS103)。ロボット制御部32は、3次元ビジョンセンサ4により取得されたワークの3次元情報に基づいて、ロボットアーム2のエンドエフェクタ24が選択保持候補点でワークを保持するように、ロボットアーム2を制御する(ステップS104)。
【0050】
保持判定部33は、上述のロボット制御部32によるロボットアーム2の制御によって、ワークの保持が成功したか否かを判定する(ステップS105)。
【0051】
ロボット制御部32は、保持判定部33によりワークの保持が成功しなかったと判定された場合に(ステップS105のNO)、選択保持候補点に基づいて所定範囲を設定する(ステップS106)。ロボット制御部32は、所定範囲の外側にある他の保持候補点を選択する(ステップS107)。ロボット制御部32は、その選択した他の保持候補点で、ワークを再度保持するようにロボットアーム2を制御する(ステップS108)。
【0052】
一方で、ロボット制御部32は、保持判定部33によりワークの保持が成功したと判定された場合に(ステップS105のYES)、本処理を終了する。
【0053】
以上、本実施形態に係るワーク保持装置1は、ワークの保持が成功しなかったと判定した場合に、選択保持候補点に基づいて所定範囲を設定し、その所定範囲外にある他の保持候補点を選択し、その選択した他の保持候補点で、ワークを再度保持するようにロボットアーム2を制御する。
【0054】
ワーク保持装置1は、ワークの保持に失敗した場合、3次元ビジョンセンサ4により既に取得されたワークの3次元情報に基づいて、ロボットアーム2のエンドエフェクタ24が所定範囲外の他の保持候補点でワークを保持するように、ロボットアーム2を制御することができる。これにより、ワークの3次元情報を再度取得する必要が生じないため、短時間でワークの再保持を行うことができる。
【0055】
本発明は、例えば、
図6に示す処理を、プロセッサにコンピュータプログラムを実行させることにより実現することも可能である。
【0056】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。
【0057】
プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0058】
上述した各実施形態に係る制御部を構成する各部は、プログラムにより実現するだけでなく、その一部または全部を、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などの専用のハードウェアにより実現することもできる。
【符号の説明】
【0059】
1 ワーク保持装置、2 ロボットアーム、3 制御装置、3a プロセッサ、3b 内部メモリ、3c ストレージデバイス、4 3次元ビジョンセンサ、5 力覚センサ、
21 リンク、23 関節部、24 エンドエフェクタ、31 候補算出部、32 ロボット制御部、33 保持判定部