IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

特開2023-108062制御装置、ロボット装置、制御方法、およびプログラム
<>
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図1
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図2
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図3
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図4
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図5
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図6
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図7
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図8
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図9
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図10
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図11
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図12
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図13
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図14
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図15
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図16
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図17
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図18
  • 特開-制御装置、ロボット装置、制御方法、およびプログラム 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023108062
(43)【公開日】2023-08-03
(54)【発明の名称】制御装置、ロボット装置、制御方法、およびプログラム
(51)【国際特許分類】
   B25J 13/08 20060101AFI20230727BHJP
【FI】
B25J13/08 A
【審査請求】有
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2023100243
(22)【出願日】2023-06-19
(62)【分割の表示】P 2019174341の分割
【原出願日】2019-09-25
(71)【出願人】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(74)【代理人】
【識別番号】100130133
【弁理士】
【氏名又は名称】曽根 太樹
(72)【発明者】
【氏名】大場 雅文
(57)【要約】
【課題】ロボットが部材を搬送した後に、正確な位置合わせを行うロボット装置の制御装置を提供する。
【解決手段】ロボット装置5の制御装置は、第2のワーク91を第1のワーク81に近づける接近制御と、第1のワーク81の位置に対して第2のワーク91の位置を調整する位置調整制御とを実施する。接近制御は、第1のカメラ25にて撮像された画像61に基づいてロボット1の位置の移動方向および移動量を算出し、第2のワーク91を第1のワーク81に近づける第1の移動指令を生成する制御を含む。位置調整制御は、第1のカメラ25にて撮像された画像62および第2のカメラ26にて撮像された画像63に基づいてロボット1の位置の移動方向および移動量を算出し、第2のワーク91に対して第1のワーク81の位置を精密に合わせる第2の移動指令を生成する制御を含む。
【選択図】図2
【特許請求の範囲】
【請求項1】
ロボットが第2の部材を移動することにより、第1の部材に対する第2の部材の相対的な位置を調整するロボット装置の制御装置であって、
第1の部材を撮像する第1の視覚センサと、
第1の視覚センサと異なる方向から第1の部材および第2の部材を撮像する第2の視覚センサと、
ロボットの移動指令を生成する演算処理部と、
移動指令に基づいてロボットを駆動する動作制御部とを備え、
第1の部材から離れた位置に配置されている第2の部材を第1の部材に近づける接近制御と、第2の部材が第1の部材に近づいた後に、第1の部材の位置に対して第2の部材の位置を調整する位置調整制御とを実施するように形成されており、
前記接近制御は、前記演算処理部が第1の視覚センサにて撮像された画像に基づいてロボットの位置の移動方向および移動量を算出し、第2の部材を第1の部材に近づける第1の移動指令を生成する制御と、前記動作制御部が第1の移動指令に基づいて、ロボットの位置を変更する制御とを含み、
前記位置調整制御は、前記演算処理部が第1の視覚センサにて撮像された画像および第2の視覚センサにて撮像された画像に基づいてロボットの位置の移動方向および移動量を算出し、第2の部材に対して第1の部材の位置を合わせる第2の移動指令を生成する制御と、前記動作制御部が第2の移動指令に基づいてロボットの位置を変更する制御とを含む、制御装置。
【請求項2】
第2の部材を撮像する補助センサを備え、
第2の部材は、ロボットに取付けられた作業ツールに把持される部材であり、
ロボットおよび作業ツールを制御して第2の部材を把持する把持制御と、補助センサにて撮像された画像に基づいて、作業ツールに対する第2の部材の把持の位置のずれ量を検出するずれ検出制御とを、前記接近制御の前に実施するように形成されており、
前記ずれ検出制御にて検出された把持のずれ量に基づいて、把持のずれ量を打ち消すようにロボットの位置を修正するずれ修正制御を、前記位置調整制御の前に実施する、請求項1に記載の制御装置。
【請求項3】
第1の視覚センサおよび第2の視覚センサのうち少なくとも一方の視覚センサにより撮像された画像に基づいて、第1の部材の姿勢のずれ量を検出する姿勢検出制御を実施する、請求項1または2に記載の制御装置。
【請求項4】
前記姿勢検出制御にて検出された姿勢のずれ量に基づいて、第1の部材に対する第2の部材の姿勢が予め定められた姿勢になるように、ロボットの姿勢を修正する姿勢修正制御を実施するように形成されており、
前記姿勢修正制御は、前記接近制御を実施した後から前記位置調整制御を実施する前までの期間に実施する、請求項3に記載の制御装置。
【請求項5】
前記ロボット装置は、第1の部材を搬送する搬送機を含み、
前記搬送機が第1の部材を搬送している期間中に、前記接近制御または前記位置調整制御を繰り返して実施する、請求項1から4のいずれか一項に記載の制御装置。
【請求項6】
前記演算処理部は、前記搬送機による第1の部材の移動方向および移動速度に基づいて、前記搬送機にて移動する第1の部材の位置に対してロボットの位置が追従するロボットの位置の移動方向および移動量を算出し、ロボットの位置が追従するロボットの位置の移動方向および移動量に基づいてロボットの位置および姿勢を変更するとともに、前記接近制御または前記位置調整制御を実施する、請求項5に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットに支持された部材の位置を調整するロボット装置の制御装置に関する。
【背景技術】
【0002】
ロボットを備えるロボット装置では、作業に応じた作業ツールをロボットに取付けることにより所望の作業を行うことができる。例えば、作業ツールとしてワークを把持するハンドをロボットに取付けることにより、ロボット装置は、ワークを所望の位置まで搬送することができる。
【0003】
従来の技術においては、1つのワークを他のワークに取付ける作業を行う場合に、カメラにて撮像した画像を用いてロボットの位置の制御を行うことが知られている。また、ロボットに加わる力を検出することによりロボットの位置の制御を行うことが知られている(例えば、特開2018-83284号公報を参照)。カメラにて撮像した画像に基づいてロボットの位置を調整する場合には、ワークのゴール画像を予め準備しておくことができる。そして、現在のワークの画像とゴール画像との差により、ロボットの位置を調整する制御が知られている(例えば、特開2015-214022号公報および特開2013-180380号公報を参照)。
【0004】
ロボット座標系に対して視覚センサ座標系を予め較正して、視覚センサ座標系におけるワークの位置に基づいてワークの3次元の位置を算出する制御が知られている。または、画像における特徴部位の位置および大きさに関するヤコビアン行列を予め生成することができる。カメラにて撮像した画像における特徴部位の位置、目標データにおける特徴部位の位置、およびヤコビアン行列に基づいてロボットの位置を修正する制御が知られている(例えば、特開2017-170599号公報、およびインターネットに公開された文献“視覚と制御”(著者:橋本浩一)を参照)。
【0005】
また、ロボット装置がワークを把持するときに、ハンドにおけるワークの位置がずれる場合がある。この場合に、ハンドに把持されたワークをカメラにて撮像し、ロボットに対するワークの位置および姿勢を検出することが知られている。そして、ワークの位置および姿勢に基づいて、ハンドの位置および姿勢を調整する制御が知られている(例えば、特開2011-131300号公報を参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2018-83284号公報
【特許文献2】特開2015-214022号公報
【特許文献3】特開2013-180380号公報
【特許文献4】特開2017-170599号公報
【特許文献5】特開2011-131300号公報
【非特許文献】
【0007】
【非特許文献1】橋本浩一、“視覚と制御”、[2019年7月26日検索]、インターネット<URL:http://www.k2.t.u-tokyo.ac.jp/~koichi/Lecture/Pattern/2001/vs1.pdf>)
【発明の概要】
【発明が解決しようとする課題】
【0008】
ロボット装置にて作業を行う場合に、ロボットが支持している部材を他の部材に対して位置を合わせる制御を実施する場合がある。例えば、ロボットの位置および姿勢を制御することにより、ロボット装置が把持しているワークを他のワークに取付けたり、他のワークの内部に配置したりすることができる。
【0009】
ロボット装置が作業を行う場合に、ロボットが支持している部材の位置を精度よく制御でない場合には、ロボット装置の作業が失敗する虞がある。このために、ロボット装置は、正確に位置を合わせる制御を実施できることが好ましい。特に、ロボットが位置および姿勢を変更することにより部材を搬送した後に、部材の正確な位置合わせを実施する制御が難しいという問題があった。
【課題を解決するための手段】
【0010】
本開示の一態様は、ロボットが第2の部材を移動することにより、第1の部材に対する第2の部材の相対的な位置を調整するロボット装置の制御装置である。制御装置は、第1の部材を撮像する第1の視覚センサと、第1の視覚センサと異なる方向から第1の部材および第2の部材を撮像する第2の視覚センサとを備える。制御装置は、ロボットの移動指令を生成する演算処理部と、移動指令に基づいてロボットを駆動する動作制御部とを備える。制御装置は、第1の部材から離れた位置に配置されている第2の部材を第1の部材に近づける接近制御と、第2の部材が第1の部材に近づいた後に、第1の部材の位置に対して第2の部材の位置を調整する位置調整制御とを実施するように形成されている。接近制御は、演算処理部が第1の視覚センサにて撮像された画像に基づいてロボットの位置の移動方向および移動量を算出し、第2の部材を第1の部材に近づける第1の移動指令を生成する制御を含む。接近制御は、動作制御部が第1の移動指令に基づいて、ロボットの位置を変更する制御を含む。位置調整制御は、演算処理部が第1の視覚センサにて撮像された画像および第2の視覚センサにて撮像された画像に基づいてロボットの位置の移動方向および移動量を算出し、第2の部材に対して第1の部材の位置を合わせる第2の移動指令を生成する制御を含む。位置調整制御は、動作制御部が第2の移動指令に基づいてロボットの位置を変更する制御を含む。
【発明の効果】
【0011】
本開示の一態様によれば、ロボットが部材を搬送した後に、正確な位置合わせを行うロボット装置の制御装置を提供することができる。
【図面の簡単な説明】
【0012】
図1】実施の形態におけるロボット装置の概略図である。
図2】ロボット装置における第1のワーク、第2のワーク、およびハンドの拡大斜視図である。
図3】ロボット装置のブロック図である。
図4】実施の形態における把持制御、ずれ検出制御、および接近制御のフローチャートである。
図5】把持制御を実施する時のハンドおよび第2のワークの拡大斜視図である。
図6】ずれ検出制御を実施している時の第1のワーク、ハンド、および固定カメラの拡大斜視図である。
図7】接近制御を実施する時の第1のワーク、第2のワーク、およびハンドの拡大斜視図である。
図8】接近制御に含まれる制御のフローチャートである。
図9】接近制御を実施している時に第1のカメラにて撮像された画像である。
図10】接近制御を実施している時に第1のカメラにて撮像された他の画像である。
図11】実施の形態における姿勢検出制御、姿勢修正制御、ずれ修正制御、位置調整制御、および取付け制御のフローチャートである。
図12】第1のワークに対して第2のワークが接近した時の第1のワーク、第2のワーク、およびハンドの拡大斜視図である。
図13】位置調整制御に含まれる制御のフローチャートである。
図14】位置調整制御において、第1のカメラにて撮像された画像である。
図15】位置調整制御において、第1のカメラにて撮像される画像に関する基準画像である。
図16】位置調整制御において、第2のカメラにて撮像された画像である。
図17】位置調整制御において、第2のカメラにて撮像される画像に関する基準画像である。
図18】位置調整制御が完了した時の第1のワーク、第2のワーク、およびハンドの拡大斜視図である。
図19】取付け制御が終了した時の第1のワーク、第2のワーク、およびハンドの拡大斜視図である。
【発明を実施するための形態】
【0013】
図1から図19を参照して、実施の形態におけるロボット装置の制御装置について説明する。本実施の形態では、製品を組み立てる作業を行うロボット装置を例に取り上げて説明する。
【0014】
図1は、本実施の形態におけるロボット装置の概略図である。図2は、ロボット装置における第1のワーク、第2のワーク、およびハンドの拡大斜視図である。図1および図2を参照して、ロボット装置5は、作業ツール(エンドエフェクタ)としてのハンド2と、ハンド2を移動するロボット1とを備える。ロボット装置5は、第1の部材としての第1のワーク81に第2の部材としての第2のワーク91を取付ける作業を行う。
【0015】
ロボット1は、複数の関節部を含む多関節ロボットである。ロボット1は、ベース部14と、ベース部14に支持された旋回ベース13とを含む。ベース部14は、設置面に固定されている。旋回ベース13は、ベース部14に対して回転するように形成されている。ロボット1は、上部アーム11および下部アーム12を含む。下部アーム12は、関節部を介して旋回ベース13に回動可能に支持されている。上部アーム11は、関節部を介して回動可能に下部アーム12に支持されている。また、上部アーム11は、上部アーム11の延びる方向に平行な回転軸の周りに回転する。
【0016】
ロボット1は、上部アーム11の端部に連結されているリスト15を含む。リスト15は、関節部を介して回動可能に上部アーム11に支持されている。リスト15は、回転可能に形成されているフランジ16を含む。ハンド2は、フランジ16に固定されている。本実施の形態のロボット1は、6個の駆動軸を有するが、この形態に限られない。作業ツールを移動することができる任意のロボットを採用することができる。
【0017】
ハンド2は、ワーク91を把持したり解放したりする作業ツールである。ハンド2は、複数の爪部3を有する。ハンド2は爪部3が開いたり閉じたりするように形成されている。爪部3がワーク91を挟むことによりワーク91を把持する。ロボット装置5の作業ツールは、爪部3を有するハンド2であるが、この形態に限られない。作業ツールは、ワークを把持できるように形成されている任意の構成を採用することができる。例えば、空気圧による吸着または吸引にてワークを把持する作業ツール、ハンドの爪部の位置をモーターの制御にて調整可能な作業ツール、または磁力によりワークを把持する作業ツールが採用されても構わない。
【0018】
本実施の形態におけるロボット装置5は、第1のワーク81を搬送する搬送機としてのコンベヤ75を含む。搬送機は、ロボット1の周りに配置される。コンベヤ75は、ワーク81を予め定められた位置まで搬送するように形成されている。コンベヤ75は、予め定められた移動速度にてワーク81を搬送するように形成されている。図1に示す例では、紙面に垂直な方向にワーク81が搬送される。
【0019】
本実施の形態のロボット装置5では、コンベヤ75がワーク81の搬送を継続しながらロボット1がワーク91をワーク81に取り付ける。すなわち、ワーク91が取り付けられる作業を行う期間中に、ワーク81はコンベヤ75により移動している。ロボット1は、ワーク81を追従するように位置および姿勢を変化させながらワーク91をワーク81に取付ける。
【0020】
第2のワーク91は、表面から突出する把持部94を有する。爪部3が把持部94を掴むことにより、第2のワーク91はハンド2に把持される。第1のワーク81は、表面から突出する突出部82,83を有する。突出部82および突出部83は互いに離れて配置されている。それぞれの突出部82,83の上面には、穴部82a,83aが形成されている。第2のワーク91は、表面から突出する突出部92,93を有する。それぞれの突出部92,93には、ピン92a,93aが固定されている。ピン92aおよびピン93aは、互いに直線状に並ぶように配置されている。ロボット装置5は、矢印101に示すように第2のワーク91を第1のワーク81に近づけた後に、ピン92aを穴部82aに挿入すると共に、ピン93aを穴部83aに挿入する作業を実施する。
【0021】
ロボット装置5は、第1のワーク81を撮像する第1の視覚センサとしての第1のカメラ25と、第1のワーク81および第2のワーク91を撮像する第2の視覚センサとしての第2のカメラ26とを備える。第2のカメラ26は、第1のカメラ25とは異なる方向から画像を撮像する。本実施の形態におけるカメラ25,26は、2次元カメラである。カメラ25,26は、支持部材17を介してハンド2に支持されている。支持部材17は、下側に延びる棒状部17aと、上側に延びる棒状部17bと有する。下側に延びる棒状部17aには、第1のカメラ25が固定されている。上側に延びる棒状部17bには、第2のカメラ26が固定されている。
【0022】
カメラ25,26は、ハンド2と共に位置および姿勢が変化する。カメラ25は、第2のワーク91が第1のワーク81に接近している期間中に第1のワーク81の画像を撮像する。すなわち、カメラ25は、第2のワーク91が第1のワーク81から離れている時から第2のワーク91が第1のワーク81の近傍に配置される時まで画像を撮像する。また、カメラ25は、第2のワーク91が第1のワーク81の近傍に配置された時の画像を撮像する。本実施の形態のカメラ25は、光軸が第2のワーク91が第1のワーク81に向かう向きにほぼ平行になるように配置されている。
【0023】
カメラ26は、第2のワーク91が第1のワーク81に接近した時に画像を撮像する。すなわち、カメラ26は、第2のワーク91が第1のワーク81の近傍に配置された時の画像を撮像する。本実施の形態のカメラ26は、光軸が鉛直方向とほぼ平行になるように配置されている。
【0024】
ロボット装置5は、ハンド2に把持された第2のワーク91の把持のずれ量を検出するための補助センサを備える。本実施の形態の補助センサは、視覚センサである固定カメラ27にて構成されている。本実施の形態の固定カメラ27は、2次元カメラである。固定カメラ27は、架台71により設置面に固定されている。固定カメラ27は、ロボット1が位置および姿勢を変更することにより、第2のワーク91を撮像できる位置に配置されている。
【0025】
ロボット装置5には、基準座標系51が設定されている。図1に示す例では、ロボット1のベース部14に基準座標系51の原点が配置されている。基準座標系51はワールド座標系とも称される。基準座標系51は、原点の位置が固定され、更に、座標軸の向きが固定されている座標系である。ロボット1の位置および姿勢が変化しても基準座標系51の位置および向きは変化しない。基準座標系51は、座標軸として、互いに直交するX軸、Y軸、およびZ軸を有する。また、X軸の周りの座標軸としてW軸が設定される。Y軸の周りの座標軸としてP軸が設定される。Z軸の周りの座標軸としてR軸が設定される。
【0026】
ロボット装置5には、ハンド2と共に移動するツール座標系52が設定されている。本実施の形態のツール座標系52の原点は、ツール先端点に設定されている。ツール座標系52は、座標軸として、互いに直交するX軸、Y軸、およびZ軸を有する。また、ツール座標系52は、X軸の周りのW軸、Y軸の周りのP軸、およびZ軸の周りのR軸を有する。ロボット1の位置は、ツール座標系52の原点の位置にて表すことができる。また、ロボット1の姿勢は、基準座標系51に対するツール座標系52の向きにて表すことができる。
【0027】
図3に、本実施の形態におけるロボット装置のブロック図を示す。図1から図3を参照して、ロボット1は、ロボット1の位置および姿勢を変化させるロボット駆動装置を含む。ロボット駆動装置は、アームおよびリスト等の構成部材を駆動するロボット駆動モーター22を含む。ロボット駆動モーター22が駆動することにより、それぞれの構成部材の向きが変化する。
【0028】
ハンド2は、ハンド2を駆動するハンド駆動装置を備える。ハンド駆動装置は、ハンド2の爪部3を駆動するハンド駆動モーター21を含む。ハンド駆動モーター21が駆動することによりハンド2の爪部3が開いたり閉じたりする。なお、爪部は、空気圧により作動するように形成されていても構わない。この場合には、ハンド駆動装置は、空気ポンプおよびシリンダなどの空気圧にて爪部を駆動する装置を含むことができる。
【0029】
ロボット装置5の制御装置は、ロボット1およびハンド2を制御するロボット制御装置4を含む。ロボット制御装置4は、プロセッサとしてのCPU(Central Processing Unit)を有する演算処理装置(コンピュータ)を含む。演算処理装置は、CPUにバスを介して接続されたRAM(Random Access Memory)およびROM(Read Only Memory)等を有する。ロボット制御装置4には、ロボット1、ハンド2、およびコンベヤ75の制御を行うために予め作成された動作プログラム41が入力される。ロボット1およびハンド2は、動作プログラム41に基づいて第2のワーク91を搬送する。コンベヤ75は、動作プログラム41に基づいて第1のワーク81を搬送する。
【0030】
ロボット制御装置4の演算処理装置は、予め定められた情報を記憶する記憶部42を含む。記憶部42は、ロボット1、ハンド2、およびコンベヤ75の制御に関する情報を記憶する。記憶部42は、揮発性メモリ、不揮発性メモリ、またはハードディスク等の情報を記憶可能な記憶媒体にて構成されることができる。動作プログラム41は、記憶部42に記憶される。ロボット制御装置4は、ロボット装置5に関する任意の情報を表示する表示器46を含む。表示器46は、例えば、液晶表示パネルを含む。
【0031】
ロボット制御装置4の演算処理装置は、ロボット1およびハンド2の動作指令を送出する動作制御部43を含む。動作制御部43は、動作プログラム41に従って駆動するプロセッサに相当する。動作制御部43は、記憶部42に記憶された情報を読み取り可能に形成されている。プロセッサは、動作プログラム41を読み込んで、動作プログラム41に定められた制御を実施することにより、動作制御部43として機能する。
【0032】
動作制御部43は、動作プログラム41に基づいてロボット1を駆動するための動作指令をロボット駆動部45に送出する。ロボット駆動部45は、ロボット駆動モーター22を駆動する電気回路を含む。ロボット駆動部45は、動作指令に基づいてロボット駆動モーター22に電気を供給する。また、動作制御部43は、動作プログラム41に基づいてハンド2を駆動する動作指令をハンド駆動部44に送出する。ハンド駆動部44は、ハンド駆動モーター21を駆動する電気回路を含む。ハンド駆動部44は、動作指令に基づいてハンド駆動モーター21に電気を供給する。また、動作制御部43は、動作プログラム41に基づいて、カメラ25,26および固定カメラ27に画像を撮像する指令を送出する。
【0033】
ロボット制御装置4の演算処理装置は、カメラ25および固定カメラ27の出力を処理する演算処理部31を含む。演算処理部31は、カメラ25,26および固定カメラ27にて撮像された画像において、予め定められた特徴的な部分である特徴部位の位置に関する特徴量を検出する特徴量検出部32を有する。演算処理部31は、固定カメラ27の出力に基づいて、ハンド2における第2のワーク91の把持の位置のずれ量を検出するずれ検出部33を含む。演算処理部31は、第1のカメラ25および第2のカメラ26のうち少なくとも一方のカメラにより撮像された画像に基づいて、第1のワーク81の姿勢のずれ量を検出する姿勢検出部34を含む。また、演算処理部31は、ロボット1を動作させる移動指令を生成する指令生成部35を含む。
【0034】
演算処理部31は、動作プログラム41に従って駆動するプロセッサに相当する。特に、特徴量検出部32、ずれ検出部33、姿勢検出部34、および指令生成部35のそれぞれのユニットは、動作プログラム41に従って駆動するプロセッサに相当する。プロセッサは、動作プログラム41を読み込んで、動作プログラム41に定められた制御を実施することにより、それぞれのユニットとして機能する。
【0035】
ロボット装置5は、ロボット装置5の運転状態を検出する状態検出器を備える。本実施の形態の状態検出器は、ロボット1の位置および姿勢を検出する位置検出器23を含む。位置検出器23は、アーム等の構成部材の駆動軸に対応するロボット駆動モーター22に取付けられている。例えば、位置検出器23は、ロボット駆動モーター22が駆動するときの回転角を検出する。位置検出器23の出力に基づいて、ロボット1の位置および姿勢が検出される。
【0036】
ロボット装置5の制御装置は、コンベヤ75の動作を制御するコンベヤ制御装置76を備える。コンベヤ制御装置76は、CPUおよびRAM等を含む演算処理装置(コンピュータ)を含む。コンベヤ制御装置76は、ロボット制御装置4と互いに通信することができるように形成されている。動作制御部43は、動作プログラム41に基づいて、コンベヤ75を駆動する動作指令をコンベヤ制御装置76に送出する。コンベヤ制御装置76は、ロボット制御装置4からの動作指令を受信して、コンベヤ75を駆動する。
【0037】
本実施の形態のロボット装置5の制御装置は、ロボット1およびハンド2を制御するロボット制御装置4と、コンベヤ75を制御するコンベヤ制御装置76とを備えるが、この形態に限られない。ロボット装置5は、1つの制御装置にて、ロボット1、ハンド2、およびコンベヤ75を制御するように形成されていても構わない。
【0038】
また、本実施の形態のロボット装置5の制御装置では、ロボット制御装置4がカメラ25,26および固定カメラ27の出力を処理する機能を有する演算処理部31を含むが、この形態に限られない。ロボット装置の制御装置は、ロボット制御装置とは別に、演算処理部31として機能する演算処理装置(コンピュータ)を備えていても構わない。演算処理装置のプロセッサは、動作プログラムに基づいて駆動することにより、特徴量検出部、ずれ検出部、姿勢検出部、および指令生成部として機能する。演算処理部31として機能する演算処理装置は、ロボット制御装置と互いに通信することができるように形成されることができる。
【0039】
本実施の形態のロボット装置5の制御装置は、第2のワーク91を把持する把持制御を実施する。ロボット装置5の制御装置は、第1のワーク81から離れた位置に配置されている第2のワーク91を第1のワーク81に近づける接近制御を実施する。ロボット装置5の制御装置は、ハンド2に対する第2のワーク91の把持の位置のずれ量を検出するずれ検出制御と、把持のずれ量に基づいて把持のずれ量を打ち消すようにロボット1の位置を修正するずれ修正制御を実施する。
【0040】
ロボット装置5の制御装置は、第1のワーク81の姿勢のずれ量を検出する姿勢検出制御と、姿勢検出制御にて検出された姿勢のずれ量に基づいて、第1のワーク81に対する第2のワーク91の姿勢が予め定められた姿勢になるように、ロボット1の姿勢を修正する姿勢修正制御とを実施する。そして、ロボット装置5の制御装置は、第2のワーク91が第1のワーク81に近づいた後に、接近制御よりも精密に第1のワーク81に対する第2のワーク91の位置を調整する位置調整制御を実施する。更に、ロボット装置5の制御装置は、第2のワークのピン92a,93aを、第1のワーク81の穴部82a,83aに挿入する取付け制御を実施する。
【0041】
図4に、本実施の形態の形態における把持制御、ずれ検出制御、および接近制御のフローチャートを示す。始めに、ステップ111およびステップ112において、ロボット装置5が第2のワーク91を把持する把持制御を実施する。例えば、作業台に載置されている第2のワーク91をロボット装置5が把持する。
【0042】
図5に、把持制御を実施する時の第2のワークおよびハンドの斜視図を示す。図4および図5を参照して、ステップ111において、カメラ25は、第2のワーク91を撮像する。ここでの例では、ワーク91を把持するために、ワーク91の把持部94が特徴部位に設定されている。ロボット1が把持部94を撮像する位置および姿勢は予め定められている。動作制御部43は、ロボット1の位置および姿勢に変更して、カメラ25にて把持部94を撮像する。
【0043】
ステップ112において、演算処理部31の特徴量検出部32は、カメラ25にて撮像された画像において把持部94を検出する。予め定められた方向から撮像された時の把持部94のベース画像は、予め作成されている。カメラ25にて撮像された画像とベース画像とを用いて、テンプレートマッチングの方法により、カメラ25にて撮像した画像における把持部94を検出する。本実施の形態においては、カメラ25,26にて撮像された画像にスクリーン座標系が設定されている。特徴量検出部32は、スクリーン座標系における把持部94の位置を検出する。
【0044】
ツール座標系52における実際のワークの位置に対するスクリーン座標系におけるワーク91の位置は較正されている。このために、特徴量検出部32は、カメラ25にて撮像した画像に基づいて把持部94の位置を、ツール座標系52にて算出することができる。指令生成部35は、把持部94の位置に基づいて、ロボット1の位置および姿勢を変更する移動指令を生成する。ロボット1は、位置および姿勢を変更して、ハンド2にて把持部を把持する。
【0045】
なお、ワークを把持する把持制御は、任意の制御にて実施することができる。例えば、画像における特徴部位の位置に関するヤコビアン行列および基準画像を予め生成することができる。ヤコビアン行列は、ロボットの位置を微小量にて移動したときの視覚センサ座標系での位置のずれに基づいて算出することができる。カメラにて撮像した画像における特徴部位の位置、基準画像における特徴部位の位置、およびヤコビアン行列に基づいて、ロボットの位置を変更しても構わない。
【0046】
次に、ロボット装置5がワーク91を把持した時に、把持のずれが生じる場合がある。次に、ステップ113およびステップ114においては、ハンド2に対する第2のワーク91の把持の位置のずれ量を検出するずれ検出制御を実施する。
【0047】
図6に、ずれ検出制御を実施しているときの第2のワーク、ハンド、および固定カメラの斜視図を示す。図6に示す例では、矢印106に示すように、ハンド2の爪部3に対して第2のワーク91が下側にずれている。このために、本実施の形態では、第2のワーク91の把持のずれを修正する制御を実施する。
【0048】
図4および図6を参照して、ステップ113においては、固定カメラ27にて第2のワーク91を撮像する。ここでの例では、ワーク91の把持のずれ量を検出するために、ワーク91のピン92a,93aが特徴部位に設定されている。動作制御部43は、ワーク91を撮像するために、動作プログラム41に設定された位置および姿勢になるように、ロボット1の位置および姿勢を変更する。ロボット1が位置および姿勢を変更することにより、固定カメラ27の撮像範囲27aの内部に、ワーク91のピン92a,93aが配置される。次に、固定カメラ27は、ワーク91のピン92a,93aを撮像する。
【0049】
ステップ114において、演算処理部31の特徴量検出部32は、固定カメラ27にて撮像された画像においてピン92a,93aを検出する。予め定められた方向から撮像された時のピン92a,93aのベース画像は、予め作成されている。固定カメラ27にて撮像された画像とベース画像とを用いて、テンプレートマッチングの方法により、固定カメラ27にて撮像した画像におけるピン92a,93aを検出する。次に、特徴量検出部32は、スクリーン座標系におけるピン92a,93aの位置を検出する。ピン92a,93aの位置は、ワーク91の位置に対応する。
【0050】
ツール座標系52における実際のワーク91の位置に対するスクリーン座標系53におけるワーク91の位置は較正されている。このために、ずれ検出部33は、固定カメラ27にて撮像した画像に基づいてピン92a,93aの位置を、ツール座標系52にて算出することができる。すなわち、ずれ検出部33は、ワーク91の位置をツール座標系52にて算出することができる。
【0051】
ずれ検出部33は、ハンド2における第2のワーク91の把持のずれ量を算出する。ワーク91の把持のずれが生じていない時のツール座標系52におけるワーク91の基準位置は予め定められている。この基準位置と、固定カメラに27にて撮像した画像から検出されたワーク91の位置とに基づいて、ハンド2におけるワーク91の位置のずれ量を、ツール座標系52にて算出することができる。記憶部42は、ハンド2におけるワーク91の位置のずれ量を記憶する。ハンド2におけるワーク91の位置のずれは、後の制御において修正する。
【0052】
なお、ハンド2におけるワーク91の位置のずれ量を検出するずれ検出制御は、上記の形態に限られず、任意の制御にて実施することができる。例えば、予め作成された基準画像およびヤコビアン行列を用いて、ハンド2におけるワーク91の位置のずれ量を検出しても構わない。
【0053】
次に、ステップ115からステップ117において、第1のワーク81に対して第2のワーク91を近づける接近制御を実施する。本実施の形態では、第2のワーク91が第1のワーク81に向かう方向のワーク91の移動速度は一定の速度が採用されている。図1に示す例では、基準座標系51のX軸の方向にロボット1の位置が移動する速度は、一定の速度が採用されている。接近制御では、基準座標系51のY軸方向およびZ軸方向におけるワーク91の位置を調整する。
【0054】
図7に、接近制御を行うときの第1のワーク、第2のワーク、およびハンドの部分の拡大斜視図を示す。接近制御では、第2のワーク91の突出部92,93を、矢印101に示すように、第1のワーク81の突出部82,83に近づける制御を実施する。ロボット1は、動作プログラム41に基づいて、カメラ25の撮像範囲25aの内部に突出部83が配置されるように位置および姿勢を変更する。
【0055】
作業者は、接近制御を実施する準備作業として、第1のワーク81の基準画像を生成する。基準画像は、第1のワーク81に対して第2のワーク91が目標の位置に配置されている時にカメラ25にて撮像された画像である。また、基準画像は、ハンド2に対して第2のワーク91が予め定められた位置にて把持されている状態に基づく画像である。すなわち、基準画像は、第2のワーク91の把持のずれが無い状態に基づく画像である。基準画像は、作業者が予め作成して、記憶部42に記憶させておくことができる。
【0056】
本実施の形態の基準画像は、実際にカメラにて撮像した画像を用いているが、この形態に限られない。基準画像は、例えば、ロボット装置5およびワーク81,91の3次元データをCAD(Computer Aided Design)装置等により生成することができる。ワーク81に対してワーク91が目標の位置に配置されているときの3次元データを生成することができる。この3次元データをカメラの向きに対応する方向に沿って1つの平面に投影することにより、基準画像を生成しても構わない。
【0057】
本実施の形態では、第1のワーク81の位置を検出するための特徴部位が予め定められている。特徴部位は、画像を解析した時に形状が検出できる部分である。特徴部位は、ワークの一部分、ワークの表面に形成された模様、ワークの表面に記載された線または図などを採用することができる。接近制御では、突出部83の側面83bが特徴部位に定められている。
【0058】
第1のワーク81には、特徴部位としての突出部83の側面83bに、設定点P11が設定されている。設定点P11は、突出部83の側面83bの角に設定されている。設定点P11の位置は、ワーク81の位置に相当する。設定点P11は、カメラ25にて撮像したときに画像に含まれる位置に設定されている。
【0059】
図4および図7を参照して、ステップ115において、第1のカメラ25は、第1のワーク81の特徴部位である突出部83の側面83bを撮像する。次に、ステップ116において、第1のカメラ25にて撮像した画像に基づいて、第2のワーク91が第1のワーク81に近づくようにロボット1の位置を変更する制御を実施する。
【0060】
図8に、第2のワークを第1のワークに接近させる制御のフローチャートを示す。図8の制御は、図4のステップ116の制御に相当する。図9に、接近制御において第1のカメラにて撮像した画像を示す。図9には、カメラ25にて撮像した画像61を実線にて示している。また、参考のために基準画像が破線にて示されている。カメラ25にて撮像した画像61は、基準画像からずれている。接近制御では、カメラ25にて撮像した画像が、基準画像に一致するようにロボット1の位置を変更する。
【0061】
図7から図9を参照して、ステップ131において、演算処理部31の特徴量検出部32は、カメラ25にて撮像された画像61の特徴部位を検出する。特徴部位の検出方法としては、ワーク81の基準となるベース画像を予め準備しておくことができる。または、基準画像をベース画像として使用しても構わない。ベース画像とカメラ25にて撮像した画像とを用いてテンプレートマッチング等の方法により、カメラ25にて撮像した画像における特徴部位を検出することができる。ここでの例では、突出部83の側面83bを検出することができる。なお、第1のワーク81が所望の姿勢に対して傾いている場合がある。第1のワーク81の姿勢のずれが大きい場合には、予め定められた角度ごとに第1のワーク81を傾けた複数の基準画像を予め作成しても構わない。
【0062】
ステップ132において、特徴量検出部32は、特徴部位の位置に関する特徴量を検出する。本実施の形態においては、カメラ25にて撮像された画像61にスクリーン座標系53が設定されている。スクリーン座標系53は、画像における任意の点を原点に設定したときの座標系である。スクリーン座標系53は、互いに直交するu軸およびv軸を有する。スクリーン座標系53は、カメラ25の視覚センサ座標系に対応する。
【0063】
本実施の形態の位置に関する特徴量は、画像におけるスクリーン座標系53のu軸の座標値およびv軸の座標値である。特徴量検出部32は、カメラ25にて撮像された画像61において検出された特徴部位に基づいて、特徴部位に設定された設定点P11の位置を検出する。すなわち、特徴量検出部32は、特徴部位の位置に関する特徴量として、設定点P11のスクリーン座標系53の座標値(u1m,v1m)を検出する。
【0064】
ステップ133において、指令生成部35は、カメラ25にて撮像した画像61における設定点P11の位置と、基準画像における設定点P11の位置との相対的な位置の差である相対位置量を算出する。基準画像における第1の基準特徴量として、設定点P11のスクリーン座標系53の座標値(u1b,v1b)は予め定められている。
【0065】
指令生成部35は、それぞれの座標軸において、カメラ25にて撮像した画像における設定点P11の座標値から基準画像における設定点P11の座標値を減算した相対位置量を算出する。相対位置量は、それぞれのu軸およびv軸に関する値として[(u1m-u1b),(v1m-v1b)]にて表すことができる。このように、本実施の形態では、u軸に関する相対位置量と、v軸に関する相対位置量とを算出する。
【0066】
ステップ134において、指令生成部35は、相対位置量に基づいて、ロボット1の駆動方法を設定する。指令生成部35は、基準座標系51におけるロボット1の位置の移動方向および移動量を含む第1の移動指令を生成する。本実施の形態では、相対位置量に対するロボットの位置の移動方向が予め定められている。スクリーン座標系53のu軸の正の値または負の値に対してロボット1の位置の移動方向が、基準座標系51にて定められている。
【0067】
更に、相対位置量に対するロボット1の位置の移動量の算出方法が予め定められている。例えば、u軸に対応する方向におけるロボット1の位置の移動量は、u軸に関する値(u1m-u1b)に、予め定められた係数を乗じた値を採用することができる。また、v軸に対応する方向におけるロボット1の位置の移動量は、v軸に関する値(v1m-v1b)に、予め定められた係数を乗じた値を採用することができる。このように、スクリーン座標系53の座標軸に対応する方向において、ロボット1の位置の移動量を算出することができる。
【0068】
なお、本実施の形態においては、ワーク91がワーク81に徐々に近づく制御を実施している。このために、ワーク91がワーク81に向かう方向のロボット1の位置の移動量に応じて、上記の係数を変化させても構わない。
【0069】
本実施の形態では、u軸に関する相対位置量に基づいて基準座標系51におけるX軸方向の移動量、Y軸方向における移動量、およびZ軸方向の移動量を算出することができる。また、v軸に関する相対位置量に基づいて、基準座標系51におけるX軸方向の移動量、Y軸方向における移動量、およびZ軸方向の移動量を算出することができる。このために、基準座標系51において、一つの座標軸に対して2つの移動量(u軸に関する移動量およびv軸に関する移動量)が算出される場合がある。この場合には、2つの移動量が算出される座標軸の方向にはロボット1の位置を移動しなくても構わない。または、それぞれの移動量に係数を乗じて最終的な移動量を算出しても構わない。または、いずれか一方の移動量を採用しても構わない。
【0070】
次に、ステップ135において、ロボット1の位置の移動方向および移動量に基づいて、ロボット1を駆動する。指令生成部35は、ロボット1の位置の移動方向および移動量に基づいて、ロボット1を駆動する第1の移動指令を生成する。指令生成部35は、第1の移動指令を動作制御部43に送出する。動作制御部43は、移動指令に基づいてロボット1の位置を変更する。
【0071】
このように、指令生成部35は、カメラ25にて撮像された画像における特徴量および基準特徴量に基づいて、特徴量検出部32により検出された特徴量が基準画像の特徴量に近づくようにロボット1の位置を変更する制御を実施することができる。
【0072】
図4を参照して、ステップ117において、ワーク91がワーク81に接近したか否かを判定する。ここでは、ロボット1の位置の移動量が予め定められた判定値を超えたか否かを判定する。本実施の形態においては、ワーク91がワーク81に向かう方向において、ロボット1の位置が予め定められた距離にて移動したか否かを判定する。図1に示す例では、基準座標系51のX軸の方向に、予め定められた距離にてツール先端点が移動したか否かを判定する。
【0073】
ステップ117において、ロボット1の位置の移動量が予め定められた判定値を超えた場合には、この制御を終了する。ステップ117において、ロボット1の位置の移動量が予め定められた判定値以下の場合には、制御はステップ115に戻る。そして、ステップ115からステップ117の制御を繰り返す。この様に、第2のワーク91が第1のワーク81に接近するまで、接近制御を繰り返すことができる。
【0074】
また、ステップ117において、ロボット1の位置の移動量が予め定められた判定値を超えた場合に、第2のワーク91の突出部93が第1のワーク81の突出部83に十分に接近していない場合に、指令生成部35は、異常であると判断しても構わない。例えば、相対位置量が予め定められた判定範囲を逸脱する場合に、指令生成部35は、ロボット1を停止させる制御を実施しても構わない。
【0075】
本実施の形態においては、ワーク91がワーク81に徐々に近づく制御を実施している。カメラ25にて撮像した画像における特徴部位は徐々に大きくなる。このために、作業者は、ワーク91がワーク81に向かう方向のロボット1の位置の移動量に応じて複数の基準画像を作成しても構わない。特徴量検出部32は、ワーク91がワーク81に向かう方向のロボット1の位置の移動量に応じて、基準画像を切替える制御を実施しても構わない。または、基準画像における特徴部位の大きさに対するカメラ25にて撮像した画像における特徴部位の大きさの許容範囲を定めておくことができる。そして、特徴部位の大きさが許容範囲を超えたときに、基準画像を切替える制御を実施しても構わない。
【0076】
図10に、接近制御において第1のカメラにて撮像された他の画像を示す。カメラ25にて実際にワーク81を撮像したときに、ロボット装置5を照らす光の状態に応じて画像64に影65が写る場合が有る。例えば、ロボット装置5の構成部品、または、ロボット装置5の周りに配置されている物の影65が写る場合がる。特に、影65は、ロボット1の上部アーム11および下部アーム12などのアーム、または、ロボット装置5の周りに配置されている柵等にて生じる。
【0077】
影65は、カメラ25にて撮像した画像に写ったり写らなかったりする場合が有る。例えば、ロボット装置5が配置されている工場に窓が有る場合に、時間によって窓から太陽光が入る場合と入らない場合とがある。また、カメラ25にて撮像した画像の影65の位置が変わる場合がある。例えば、工場の窓から入る太陽光の角度が変わることにより、画像64における影65の位置が変化する場合がある。
【0078】
または、本実施の形態では、コンベヤ75にて搬送されるワーク81の位置に応じてロボット1の位置および姿勢が変化する。ロボット装置5の側方からスポットライト等により補助光が照射されている場合には、コンベヤ75にて搬送されるワーク81の位置に応じて画像64に影65が写る場合と写らない場合が有る。また、画像64おける影65の位置が変化する場合がある。
【0079】
図8のステップ131において、演算処理部31の特徴量検出部32は、影65の位置が変化することにより、カメラ25にて撮像された画像64における特徴部位を検出することができない場合がある。または、影65により特徴部位の部分が暗くなり、特徴量検出部32は、画像64における特徴部位を検出できない場合がある。
【0080】
そこで、作業者は、ロボット装置5に照射される光の様々な状態に応じて複数のベース画像または基準画像を予め準備しておくことができる。ここでは、基準画像を例に取り上げて説明する。例えば、作業者は、工場の窓から太陽光が入射する角度が徐々に変化したときの複数の基準画像を予め作成することができる。または、ロボット装置5の側方から補助光が照射されている場合に、作業者は、コンベヤ75の搬送により変化するワーク81の位置を徐々に変更した時の複数の基準画像を予め作成することができる。
【0081】
作業者は、ワーク81に対するロボット1の相対位置および相対姿勢を予め定めておいて、ロボット装置5に照射される光の状態またはワーク81の位置を徐々に変更した複数の基準画像を作成することができる。すなわち、作業者は、影の状態が変化した複数の基準画像を生成する。複数の基準画像では、影65が写っていたり写っていなかったりする。または、複数の基準画像では、影65の位置が徐々に変化している。複数の基準画像は、記憶部42に記憶させておくことができる。
【0082】
特徴量検出部32は、複数の基準画像のうち、1つの基準画像を選定する。複数の基準画像から1つの基準画像を選定する順序は予め定めておくことができる。特徴量検出部32は、カメラ25にて撮像された画像64の特徴部位を検出できるか否かを判定する。特徴量検出部32は、画像64の特徴部位を検出できると判定した場合には、その基準画像から検出された特徴部位を採用する。特徴量検出部32は、画像64の特徴部位を検出できないと判定した場合には、次の基準画像を選定して、カメラ25にて撮像された画像64の特徴部位を検出できるか否かを判定する。このように、特徴量検出部32は、画像64の特徴部位が検出できまで、基準画像を変更する制御を実施することができる。
【0083】
特徴部位を検出できるか否かの判定制御としては、任意の制御を採用することができる。例えば、特徴量検出部は、カメラにて撮像した画像と基準画像とが類似する程度を示す類似度を算出することができる。本実施の形態では、テンプレートマッチングの方法にて特徴部位の検出を行っている。特徴量検出部は、カメラにて撮像した画像に対して基準画像の位置を徐々に変えながら、2つの画像における輝度(画素値)の差の2乗の総和を算出する。この2乗の総和を、2つの画像の類似度として採用することができる。この場合に、2乗の総和の値が小さいほど2つの画像は類似していると判定することができる。
【0084】
または、2つの画像の類似度としては、2つの画像に関する正規化相互相関関数を算出することができる。この場合には、関数の値が1に近いほど2つの画像が類似している。特徴量検出部は、2つの画像に関する類似度が予め定められた判定範囲内であるときに、特徴部位が検出できると判定することができる。または、特徴量検出部は、類似度の代わりに2つの画像の異なる程度を表す相違度を算出しても構わない。
【0085】
特徴量検出部32は、画像64の特徴部位が検出できる場合に、画像64の特徴部位に基づいて、特徴量を検出することができる。このように、カメラ25にて撮像される画像64に影65が含まれる場合にも、特徴部位を検出することができる。ロボット装置5に照射される光の状態が変化しても、特徴部位を検出することができる。
【0086】
なお、特徴量検出部32が、全ての基準画像において特徴部位が検出できなかった場合に、指令生成部35は、ロボット装置5を停止させる制御を行うことができる。または、特徴量検出部32は、複数の基準画像のうち、最も類似している基準画像を選定して特徴量を検出しても構わない。
【0087】
上記の実施の形態では、接近制御において、影の影響を考慮した複数の基準画像を生成しているが、この形態に限られない。カメラにて撮像した画像における特徴部位を検出する任意の制御に上記の影を含む複数の基準画像またはベース画像を用いる制御を実施することができる。例えば、把持制御、ずれ検出制御、および後述する位置調整制御に影を含む複数の基準画像またはベース画像を用いる制御を適用することができる。
【0088】
次に、第1のワークに対して第2のワークが接近した後の制御について説明する。図11に、本実施の形態における姿勢検出制御、姿勢修正制御、ずれ修正制御、位置調整制御、および取付け制御のフローチャートを示す。図12に、本実施の形態における接近制御が終了した時の第1のワーク、第2のワーク、およびハンドの拡大斜視図を示す。接近制御を実施することにより、第1のワーク81の穴部82a,83aに対して、第2のワーク91のピン92a,93aが接近している。
【0089】
図11および図12を参照して、ステップ121からステップ123において、ロボット装置5の制御装置は、第1のワーク81に対する第2のワーク91の姿勢が予め定められた姿勢になるように、ロボット1の姿勢を修正する。第1のワーク81は、姿勢が予め定められた姿勢になるようにコンベヤ75に固定されることが好ましい。例えば、第1のワーク81は、穴部82aと穴部83aとが鉛直方向に並ぶようにコンベヤ75に固定されることが好ましい。しかしながら、第1のワーク81の姿勢が所望の姿勢からずれる場合がある。このため、本実施の形態では、第1のワーク81の姿勢に対して第2のワーク91の姿勢を合わせる制御を実施する。
【0090】
ステップ121およびステップ122では、第1のワーク81の姿勢のずれ量を検出する姿勢検出制御を実施する。ステップ121においては、第1のカメラ25および第2のカメラ26にて、第1のワーク81を撮像する。第1のワーク81には、第1のワーク81の姿勢を検出するための特徴部位が予め定められている。カメラ25にて撮像される画像における特徴部位としては、突出部83の側面83bが設定されている。カメラ26により撮像される画像における特徴部位としては、突出部82の上面82bが設定されている。カメラ25,26は、それぞれの特徴部位を撮像する。
【0091】
ステップ122において、姿勢検出部34は、第1のワーク81の姿勢を検出する。本実施の形態においては、1つのカメラにて撮像される画像に関する特徴部位のベース画像が予め作成されている。また、第1のワーク81の姿勢が微小の角度ごとに変化した時の複数のベース画像が予め生成されている。それぞれのベース画像は、ベース画像に対応する第1のワーク81の姿勢と共に記憶部42に記憶されている。すなわち、第1のワーク81の姿勢がベース画像に関連付けられて記憶されている。
【0092】
姿勢検出部34は、第1のカメラ25にて撮像した画像を取得する。姿勢検出部34は、テンプレートマッチングの方法により、カメラ25にて撮像した画像における突出部83の側面83bの画像に最も一致するベース画像を選定する。ベース画像には、第1のワーク81の姿勢が関連付けられて記憶されているために、姿勢検出部34は、第1のワーク81の姿勢を検出することができる。このような第1のワーク81の姿勢は、基準座標系51の座標値にて検出することができる。
【0093】
また、第2のカメラ26にて撮像される画像に関しても、第1のワーク81の姿勢を変化させた時の突出部82の上面82bを含む複数のベース画像を予め作成することができる。姿勢検出部34は、第1のカメラ25にて撮像された画像の処理と同様の処理により、第1のワーク81の姿勢を検出することができる。
【0094】
姿勢検出部34は、カメラ25にて撮像される画像から取得される姿勢と、カメラ26にて撮像される画像から取得される姿勢とに基づいて、最終的な第1のワーク81の姿勢を検出する。それぞれのカメラ25,26の画像から検出される第1のワーク81の姿勢は、例えば、基準座標系51におけるW軸の座標値、P軸の座標値、R軸の座標値にて表すことができる。姿勢検出部34は、それぞれの座標軸について、カメラ25の画像から算出される座標値とカメラ26の画像から検出される座標値とに係数を乗じた後に、加算することができる。または、W軸、P軸、およびR軸のそれぞれの座標軸について、いずれか一方のカメラの画像から取得された座標値を採用しても構わない。
【0095】
本実施の形態の姿勢検出制御においては、複数のカメラ25,26の画像に基づいて第1のワーク81の姿勢を検出している。このために、1個のカメラの画像に基づいてワークの姿勢を検出する制御よりも正確にワークの姿勢を検出することができる。
【0096】
次に、ステップ123においては、ロボット1の姿勢を修正する姿勢修正制御を実施する。指令生成部35は、カメラ25,26の画像から算出された第1のワーク81の姿勢に基づいて、ロボット1の姿勢を修正する。姿勢修正制御では、第1のワーク81に対する第2のワーク91の姿勢が予め定められた姿勢になるように、ロボット1の姿勢を修正する。指令生成部35は、穴部82aと穴部83aとが並ぶ方向に対して、ピン92aとピン93aとが並ぶ方向とが互いに平行になるように、ロボット1の姿勢を修正する移動指令を生成する。接近制御においてはロボット1の姿勢は予め定められているために、第2のワーク91の姿勢は予め定められている。指令生成部35は、第1のワーク81の姿勢に基づいて、ロボット1の姿勢を修正する移動指令を生成する。動作制御部43は、指令生成部35の移動指令に基づいてロボットの姿勢を修正する。
【0097】
姿勢修正制御を実施することにより、第1のワーク81が所望の姿勢に対して傾いている場合においても、第1のワーク81に対する第2のワーク91の姿勢を修正することができる。本実施の形態の姿勢修正制御は、接近制御の後に実施することができる。また、姿勢修正制御は、位置調整制御の前に実施することができる。
【0098】
姿勢検出制御および姿勢修正制御は、複数のカメラ25,26のうち、1個のカメラにて撮像される画像に基づいて実施しても構わない。または、第1のワーク81が所望の向きになるように調整されている場合には、姿勢修正制御は実施しなくても構わない。更に、姿勢修正制御を実施しない場合には、位置調整制御を実施する前に、第1のワークに対する第2のワークの姿勢が予め定められた許容範囲内であるか否かを姿勢検出制御にて検出された姿勢のずれ量に基づいて判定しても構わない。第1のワークに対する第2のワークの姿勢が予め定められた許容範囲を逸脱する場合に、演算処理部31は、異常であると判断して、ロボット装置5を停止しても構わない。更に、第1のワーク81が所望の向きになるように調整されていて、第1のワーク81に対する第2のワーク91の姿勢が予め定められた許容範囲内であるか否かを判定しない場合には、姿勢検出制御および姿勢修正制御は実施しなくても構わない。
【0099】
次に、ステップ124およびステップ125において、ロボット装置5の制御装置は、第2のワーク91を把持したときの把持のずれを修正するずれ修正制御を実施する。ステップ124において、指令生成部35は、図4のステップ113およびステップ114におけるずれ検出制御にて検出したずれ量を、記憶部42から取得する。
【0100】
ステップ125において、指令生成部35は、把持のずれ量に基づいて、把持のずれ量を打ち消すようにロボット1の位置を修正する移動指令を生成する。指令生成部35は、ハンド2に対して第2のワーク91がずれている方向と反対側にハンド2を移動する移動指令を生成する。図12に示す例においては、指令生成部35は、矢印102に示すように、ハンド2を上側に移動する移動指令を生成する。ロボット1の移動量は、ずれ量に対応して算出することができる。動作制御部43は、指令生成部35の移動指令に基づいてロボット1の位置を修正する。
【0101】
ずれ修正制御を実施することにより、ハンド2にて第2のワーク91を把持する時に生じるずれを修正することができる。ずれ修正制御は、接近制御の後に実施することができる。また、ずれ修正制御は、位置調整制御の前に実施することができる。
【0102】
なお、ハンドが第2のワークを把持した時に、第2のワークがハンドの予め定められた位置に把持される場合には、ずれ検出制御およびずれ修正制御は実施しなくても構わない。更に、ずれ検出制御およびずれ修正制御を実施しない場合には、位置調整制御を実施する前に、第1のワークに対する第2のワークの位置が予め定められた許容範囲内であるか否かを判定しても構わない。第1のワークに対する第2のワークの位置が予め定められた許容範囲を逸脱する場合に、演算処理部31は、異常であると判断して、ロボット装置5を停止しても構わない。
【0103】
次に、ステップ126からステップ128において、第1のワーク81の位置に対して第2のワーク91の位置を調整する位置調整制御を実施する。位置調整制御は、第2のワーク91が第1のワーク81に近づいた後に実施する。位置調整制御では、第1のカメラ25にて撮像された画像および第2のカメラ26にて撮像された画像に基づいて第1のワーク81に対する第2のワーク91の位置を調整する。位置調整制御では、接近制御よりも精度良く第1のワーク81に対して第2のワーク91の位置を合わせる。
【0104】
接近制御が終了した後には、第1のワーク81の突出部83は、第2のワーク91の突出部93に近づいている。また、第2のワーク91の突出部92は、第1のワーク81の突出部82に近づいている。このため、カメラ26にて突出部82と突出部92とを撮像することができる。
【0105】
カメラ25にて撮像される画像に関して、位置調整制御のために、第1のワーク81の第1の特徴部位として、突出部83の側面83bが予め定められている。また、位置調整制御のために、第2のワーク91の第2の特徴部位として、突出部93の側面93bが予め定められている。カメラ25の撮像範囲25aの内部には、側面83bおよび側面93bが配置される。また、カメラ26にて撮像される画像に関して、位置調整制御のために、第1のワーク81の第3の特徴部位として、突出部82の上面82bが予め定められている。また、位置調整制御のために、第2のワーク91の第4の特徴部位として、突出部92の上面92bが予め定められている。カメラ26の撮像範囲26aの内部には、上面82bおよび上面92bが配置される。
【0106】
位置調整制御では、それぞれのワーク81,91に対して特徴部位が設定されている。本実施の形態の位置調整制御では、1つの画像に含まれる複数の特徴部位に基づいて、ワーク81に対するワーク91の位置の調整を行う。
【0107】
ステップ126において、第1のカメラ25は、突出部83の側面83bおよび突出部93の側面93bを撮像する。第2のカメラ26は、突出部82の上面82bおよび突出部92の上面92bを撮像する。
【0108】
次に、ステップ127において、第1のワーク81に対して第2のワーク91の位置を精密に合わせる制御を実施する。図13に、第1のワークに対して第2のワークの位置を精密に合わせる制御のフローチャートを示す。図13に示す制御は、図11のステップ127における制御に相当する。
【0109】
図14に、位置調整制御において第1のカメラにて撮像された画像を示す。図12から図14を参照して、ステップ141において、特徴量検出部32は、画像62において、第1のワーク81の第1の特徴部位を検出する。ここでは、特徴量検出部32は、テンプレートマッチングによる方法により、突出部83の側面83bを検出する。
【0110】
ステップ142においては、特徴量検出部32は、第1の特徴部位の第1の特徴量を検出する。突出部83の側面83bには、設定点P12が設定されている。特徴量検出部32は、設定点P12を検出する。特徴量検出部32は、第1の特徴量として、スクリーン座標系53における設定点P12の座標値(u12m,v12m)を検出する。
【0111】
ステップ143においては、特徴量検出部32は、画像62において、第2のワーク91の第2の特徴部位を検出する。ここでは、特徴量検出部32は、テンプレートマッチングによる方法により、突出部93の側面93bを検出する。突出部93の側面93bには設定点P22が設定されている。ステップ144において、特徴量検出部32は、第2の特徴量として、スクリーン座標系53における設定点P22の座標値(u22m,v22m)を検出する。
【0112】
ステップ145からステップ147において、指令生成部35は、第1の特徴量および第2の特徴量に基づいて、ロボット1の位置の移動方向および移動量を算出する。指令生成部35は、ピン93aが穴部83aの真上に配置されるように、ロボット1の位置の移動方向および移動量を算出する。ステップ145においては、指令生成部35は、第1の特徴量と第2の特徴量との差を相対位置量として算出する。カメラ25にて撮像した画像62における相対位置量は、第1の特徴量の座標値と第2の特徴量の座標値との差(u12m-u22m,v12m-v22m)になる。指令生成部35は、第2の特徴量に対する第1の特徴量の相対位置量を算出する。
【0113】
図15に、位置調整制御における第1のカメラにて撮像した画像に対応する基準画像を示す。基準画像66は予め作成することができる。基準画像66では、穴部83aの真上にピン93aが配置されている。基準画像66における第2の特徴量に対する第1の特徴量の相対位置量は予め算出されている。または、指令生成部35は、基準画像66に基づいて第2の特徴量に対する第1の特徴量の相対位置量を算出しても構わない。第1の特徴量の座標値と第2の特徴量の座標値との差は、設定点P12および設定点P22のスクリーン座標系53の座標値を用いて、(u12b-u22b,v12b-v22b)にて表すことができる。
【0114】
次に、ステップ146において、指令生成部35は、カメラ25にて撮像した画像62における相対位置量と基準画像66における相対位置量との差である相対位置量の差を算出する。本実施の形態では、指令生成部35は、カメラ25にて撮像した画像62における相対位置量から基準画像66における相対位置量を減算した相対位置量の差を算出する。相対位置量の差は、それぞれのu軸およびv軸に関する値として[(u12m-u22m)-(u12b-u22b),(v12m-v22m)-(v12b-v22b)]にて表すことができる。このように、本実施の形態では、u軸に関する相対位置量の差と、v軸に関する相対位置量の差とを算出する。
【0115】
次に、ステップ147において、指令生成部35は、相対位置量の差に基づいて、ロボット1の駆動方法を設定する。指令生成部35は、基準座標系51におけるロボット1の位置の移動方向および移動量を設定する。本実施の形態では、相対位置量の差に対するロボットの位置の移動方向が予め定められている。スクリーン座標系53のu軸の正の値または負の値に対してロボット1の位置の移動方向が、基準座標系51にて定められている。
【0116】
更に、相対位置量の差に対するロボット1の位置の移動量の算出方法が予め定められている。例えば、u軸に対応する方向におけるロボット1の位置の移動量は、u軸に関する値((u12m-u22m)-(u12b-u22b))に、予め定められた係数を乗じた値を採用することができる。また、v軸に対応する方向におけるロボット1の位置の移動量は、v軸に関する値((v12m-v22m)-(v12b-v22b))に、予め定められた係数を乗じた値を採用することができる。このように、スクリーン座標系53の各軸に対応する方向において、ロボット1の位置の移動量を算出することができる。
【0117】
本実施の形態では、u軸に関する相対位置量の差に基づいて基準座標系51におけるX軸方向の移動量、Y軸方向における移動量、およびZ軸方向の移動量を算出している。また、v軸に関する相対位置量の差に基づいて、基準座標系51におけるX軸方向の移動量、Y軸方向における移動量、およびZ軸方向の移動量を算出している。このために、基準座標系51において、一つの軸に対して2つの移動量(u軸に関する移動量およびv軸に関する移動量)が算出される場合がある。この場合には、2つの移動量が算出される軸の方向にはロボット1の位置を移動しなくても構わない。または、それぞれの移動量に係数を乗じて最終的な移動量を算出しても構わない。または、いずれか一方の移動量を採用しても構わない。このように、第1のカメラ25にて撮像した画像に基づいて、ロボットの位置の移動方向および移動量を算出する。
【0118】
次に、ステップ148からステップ154においては、第2のカメラ26にて撮像された画像に対して、第1のカメラ25にて撮像された画像の処理と同様の処理を実施することができる。
【0119】
図16に、位置調整制御において、第2のカメラにて撮像された画像を示す。第1のワーク81の第3の特徴部位としての突出部82の上面82bには、設定点P13が設定されている。第2のワーク91の第4の特徴部位としての突出部92の上面92bには、設定点P23が設定されている。
【0120】
ステップ148において、特徴量検出部32は、第1のワーク81の第3の特徴部位である突出部82の上面82bを検出する。ステップ149において、特徴量検出部32は、第3の特徴部位に関する第3の特徴量として、スクリーン座標系53における設定点P13の座標値を検出する。ステップ150において、特徴量検出部32は、第2のワーク91の第4の特徴部位である突出部92の上面92bを検出する。ステップ151において、特徴量検出部32は、第4の特徴部位に関する第4の特徴量として、スクリーン座標系53における設定点P23の座標値を検出する。
【0121】
図17に、位置調整制御における第2のカメラにて撮像した画像に対応する基準画像を示す。基準画像67では、穴部82aの真上にピン92aが配置されている。ステップ152からステップ154において、指令生成部35は、第3の特徴量と第4の特徴量とに基づいて、ロボット1の位置の移動方向および移動量を算出する。
【0122】
ステップ152において、指令生成部35は、第4の特徴量に対する第3の特徴量の相対位置量を算出する。ステップ153において、指令生成部35は、基準画像67と第2のカメラ26にて撮像した画像とに関する相対位置量の差を算出する。ステップ154においては、相対位置量の差に基づいてロボットの位置の移動方向および移動量を算出する。
【0123】
次に、ステップ155において、指令生成部35は、第1のカメラ25の画像62に基づくロボット1の位置の移動方向および移動量と、第2のカメラ26の画像63に基づくロボット1の位置の移動方向および移動量に基づいて、最終的なロボット1の位置の移動方向および移動量を設定する。ロボット1の位置の移動方向および移動量は、基準座標系51にて算出することができる。
【0124】
第1のカメラ25にて撮像された画像62に関しては、主に基準座標系51におけるY軸方向およびZ軸方向の位置の調整を行うことができる。第2のカメラ26にて撮像された画像63に関しては、主に基準座標系51におけるX軸方向およびY軸方向の位置の調整を行うことができる。このために、ロボット1の位置のZ軸方向の移動については、第1のカメラ25にて撮像された画像62から取得された移動量を採用することができる。ロボット1の位置のX軸方向の移動については、第2のカメラ26にて撮像された画像63から取得された移動量を採用することができる。ロボット1の位置のY軸方向の移動については、第1のカメラ25の画像に基づく移動量および第2のカメラ26の画像に基づく移動量に係数を乗じて加算することができる。例えば、カメラ25の画像から取得される移動量と、カメラ26の画像から取得される移動量とを平均しても構わない。このように、最終的なロボットの駆動方法を設定することができる。
【0125】
次に、ステップ156において、指令生成部35は、最終的なロボットの移動方向および移動量に基づいて第2の移動指令を生成することができる。動作制御部43は、第2の移動指令に基づいてロボットの位置および姿勢を変更することができる。
【0126】
上記の位置調整制御では、第1のカメラにて撮像された画像および第2のカメラにて撮像された画像に基づいて位置を合わせる制御を実施しているが、この形態に限られない。複数のカメラの画像を用いずに、1つのカメラの画像に基づいて精密に位置を合わせる制御を実施しても構わない。例えば、第1のカメラの画像から算出された相対位置量の差に基づいてロボットを駆動しても構わない。
【0127】
また、上記の位置調整制御においては、それぞれのカメラにて撮像された画像において、基準画像との相対位置量の差に基づいてロボットの移動量を算出しているが、この形態に限られない。第1のカメラの画像および第2のカメラの画像に基づいて、任意の制御を実施することができる。例えば、予め較正する方法により、それぞれのカメラにて撮像した画像における特徴部位の位置を検出することができる。そして、第1のワークの特徴部位に対して、第2のワークの特徴部位が所望の位置に配置されるように、ロボットの移動方向および移動量を算出しても構わない。
【0128】
図11を参照して、次に、ステップ128において、第1のワーク81の位置に対する第2のワーク91の位置が判定範囲内であるか否かを判定する。この制御は、任意の制御にて判定を行うことができる。例えば、カメラ25にて第1の特徴部位と第2の特徴部位とを撮像する。特徴量検出部32は、第1の特徴量と第2の特徴量とを検出する。次に、演算処理部31は、第1の特徴量と第2の特徴量との差である相対位置量を算出する。相対位置量は、スクリーン座標系53の座標軸ごとに算出することができる。演算処理部31は、相対位置量が、予め定められた判定値範囲内であるか否かを判定する。同様に、カメラ26にて第3の特徴部位と第4の特徴部位とを撮像して第3の特徴量および第4の特徴量を検出する。そして、演算処理部31は、第3の特徴量と第4の特徴量との差である相対位置量が予め定められた判定範囲内であるか否かを判定する。
【0129】
カメラ25の画像における相対位置量およびカメラ26の画像における相対位置量が判定範囲内である場合に、第1のワーク81の位置に対する第2のワーク91の位置が判定範囲内であると判定することができる。
【0130】
ステップ128において、第1のワークの位置に対する第2のワークの位置が判定範囲を逸脱する場合には、制御はステップ126に戻る。ステップ126からステップ128の制御を繰り返すことにより、第1のワーク81に対して第2のワーク91の精密な位置合わせを実施することができる。または、本実施の形態の位置調整制御では、それぞれのカメラの画像に基づいて相対位置量の差を算出している。演算処理部は、ステップ127の精密に位置を合わせる制御(図13を参照)を実施している時に、相対位置量の差が予め定められた判定値範囲内であるか否かを判定しても構わない。相対位置量の差が予め定められた判定値範囲を逸脱する時にロボットを駆動しても構わない。
【0131】
図18に、位置調整制御が終了したときの第1のワーク、第2のワークおよびハンドの拡大斜視図を示す。位置調整制御を実施することにより、穴部82aの真上にピン92aを配置することができる。また、穴部83aの真上にピン93aを配置することができる。
【0132】
図11を参照して、ステップ128において、第1のワーク81の位置に対する第2のワーク91の位置が判定範囲内である場合に、制御はステップ129に移行する。ステップ129においては、第2のワーク91を第1のワーク81に取り付ける取付け制御を実施する。
【0133】
図18を参照して、取付け制御では、第1のワーク81に対して、矢印105に示すように、第2のワーク91を下降する制御を実施する。指令生成部35は、ロボット1の位置を鉛直方向の下側に移動する移動指令を動作制御部43に送信する。動作制御部は、第2のワーク91を下降するようにロボット1を駆動する。
【0134】
なお、取付け制御においては、ロボットまたはハンドに加わる力またはモーメントを検出して、ピン92a,93aの挿入を行っても構わない。例えば、ロボット1のフランジ16とハンド2との間に力覚センサを配置することができる。力覚センサにて、ハンドに加わる力およびモーメントを検出することができる。そして、ハンドに加わる力およびモーメントが小さくなるように、ロボット1の位置および姿勢を調整する制御を実施しても構わない。
【0135】
図19に、取付け制御が終了したときの第1のワーク、第2のワーク、およびハンドの拡大斜視図を示す。図18および図19を参照して、第1のワーク81の穴部82a,83aに、第2のワーク91のピン92a,93aが挿入されている。このように、第1のワーク81に対して第2のワーク91を取り付ける制御を実施することができる。
【0136】
本実施の形態の接近制御では、第1の視覚センサにて撮像された画像に基づいて、粗く第2の部材の位置の調整を実施している。更に、位置調整制御では、第1の視覚センサにて撮像された画像および第2の視覚センサにて撮像された画像に基づいて、精密に第2の部材の位置の調整を実施している。このために、短時間で第2の部材の位置の調整を行うことができる。更に、正確に第2の部材の位置の調整を行うことができる。
【0137】
また、本実施の形態の第1の視覚センサおよび第2の視覚センサは2次元カメラである。このために、3次元カメラを採用した場合と比較して簡易な構成にてワークの位置を調整することができる。なお、2次元カメラは、ピントを自動的に調整できない場合がある。この場合には、位置調整制御において2次元カメラのピントが合うように調整することが好ましい。
【0138】
本実施の形態では、コンベヤ75が第1のワーク81を搬送している。第1のワーク81がコンベヤ75にて搬送されている期間中に、接近制御または位置調整制御を繰り返して実施することにより、第1のワーク81に対して第2のワーク91を追従させながら、第1のワーク81に対して第2のワーク91の位置を調整することができる。
【0139】
更に、本実施の形態においては、コンベヤ75による第1のワーク81の移動方向および移動速度が予め定められている。ロボット制御装置4は、コンベヤ75によるワーク81の移動に合わせてロボット1の位置を変更するフィードフォワード制御を実施することができる。本実施の形態では、一定の移動速度にてワーク81が移動する。なお、搬送機による第1のワークの移動方向および移動速度が予め定められていない場合がある。この場合に、指令生成部は、例えば、直近の第1のワークの移動方向および移動速度から将来の移動方向および移動速度を推定したり、予め学習した移動方向および移動速度の変化のパターンに基づいて将来の移動方向および移動速度を推定したりすることができる。
【0140】
指令生成部35は、コンベヤ75によるワーク81の移動方向および移動速度に基づいて、ロボット1の位置の移動方向および移動量を算出する。指令生成部35は、コンベヤ75にて移動する第1のワーク81の位置に対して、ロボット1の位置が追従するロボット1の位置の移動方向および移動速度を算出する。例えば、指令生成部35は、ロボット1のツール先端点がワーク81の移動方向に移動するように移動方向を算出する。指令生成部35は、ロボット1のツール先端点がワーク81の移動方向と同じ方向に、ワーク81と同一の移動速度にて移動する移動量を算出する。指令生成部35は、コンベヤ75の搬送に基づくロボット1の位置の移動方向および移動量の制御に加えて、前述のロボット1の位置および姿勢を変更する制御を実施することができる。例えば、前述の接近制御、姿勢検出制御、姿勢修正制御、ずれ修正制御、位置調整制御、および取付け制御を行っている期間中に、フィードフォワード制御を実施することができる。
【0141】
この制御を行うことにより、コンベヤ75による第1のワーク81の移動に関するロボット1の位置および姿勢の変更は、フィードフォワード制御にて実施することができる。接近制御等では、第1のワーク81に対する第2のワーク91の相対的な位置および姿勢のずれを修正すれば良いために、第1のワーク81に対する第2のワーク91の位置および姿勢の修正を精度よく行うことができる。
【0142】
上記の実施の形態においては、位置を合わせる対象となる第1の部材がコンベヤにて搬送されている。すなわち、搬送機にて移動する第1の部材に追従するように、第2の部材の位置合わせを実施しているが、この形態に限られない。第1の部材は、静止していても構わない。例えば、作業台に固定されている第1のワークに対して、第2のワークの位置を合わせる時に、本実施の形態の制御を適用することができる。
【0143】
第1の部材が静止している場合には、前述のフィードフォワード制御は実施する必要はない。また、接近制御を終了する時期としては、第1の部材に対して第2の部材を接近させる時のロボットの移動量の判定値を予め設定することができる。ロボットの移動量が判定値を超えた時に接近制御を終了することができる。または、第1の部材に対して第2の部材が予め定められた距離にて接近したか否かを判定し、第1の部材に対して第2の部材が接近したときに接近制御を終了しても構わない。
【0144】
上記の実施の形態においては、第1の視覚センサとしてのカメラ25および第2の視覚センサとしてのカメラ26がハンド2に支持されているが、この形態に限られない。第1の視覚センサは、ロボットに支持されていても構わない。また、第2の視覚センサは、ロボットに支持されていても構わない。例えば、第1の視覚センサおよび第2の視覚センサは、ロボットのフランジに支持されて、ハンドと共に位置および姿勢が変化するように形成されていても構わない。
【0145】
本実施の形態の把持のずれを検出する補助センサは、2次元カメラであるが、この形態に限られない。第2のワーク91の把持のずれ量は、任意の方法にて検出することができる。例えば、補助センサは、3次元カメラであっても構わない。3次元カメラを採用することにより、ハンドの位置および第2のワークの位置を検出することができる。そして、ハンドの位置および第2のワークの位置に基づいて、第2のワークの把持のずれ量を検出することができる。
【0146】
上記の実施の形態では、製品を組み立てる作業を行うロボット装置を例に取り上げているが、この形態に限られない。部材の搬送を行う任意のロボット装置に本実施の形態の制御装置を適用することができる。また、本実施の形態の第1の部材は、ワークであるが、この形態に限られない。第1の部材は、ロボット装置が作業を行う任意の部材を採用することができる。例えば、ロボット装置は、ハンドにて把持したワークをケースの予め定められた位置に収容する作業を実施しても構わない。この場合に、第1の部材は、ワークを収容するケースに相当する。また、本実施の形態の第2の部材は、ワークであるが、この形態に限られない。第2の部材は、任意の部材を採用することができる。例えば、第2の部材は、第1の部材に対して作業を行う装置などであっても構わない。
【0147】
上記の実施の形態は、適宜組み合わせることができる。また、上述のそれぞれの制御においては、機能および作用が変更されない範囲において適宜ステップの順序を変更することができる。
【0148】
上述のそれぞれの図において、同一または相等する部分には同一の符号を付している。なお、上記の実施の形態は例示であり発明を限定するものではない。また、実施の形態においては、特許請求の範囲に示される実施の形態の変更が含まれている。
【符号の説明】
【0149】
1 ロボット
2 ハンド
4 ロボット制御装置
5 ロボット装置
25,26 カメラ
27 固定カメラ
31 演算処理部
32 特徴量検出部
33 ずれ検出部
34 姿勢検出部
35 指令生成部
43 動作制御部
61,62,63 画像
75 コンベヤ
76 コンベヤ制御装置
81 ワーク
82,83 突出部
82b 上面
83b 側面
91 ワーク
92,93 突出部
92b 上面
93b 側面
94 把持部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
【手続補正書】
【提出日】2023-07-10
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正の内容】
【0001】
本発明は、制御装置、ロボット装置、制御方法、およびプログラムに関する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】変更
【補正の内容】
【0010】
本開示の第1の態様は、ロボットが第2の部材を移動することにより、第1の部材に対する第2の部材の相対的な位置を調整する制御装置である。制御装置は、少なくとも1つのメモリと、少なくとも1つのプロセッサと、を備える。少なくとも1つのプロセッサは、画像を撮像する撮像装置にて第1の部材の第1の特徴部位を撮像した画像を取得し、第1の特徴部位の画像に基づいて、第2の部材を第1の部材に近づけるための第1の移動指令を出力する。少なくとも1つのプロセッサは、第2の部材が第1の部材に近づいた後に、撮像装置にて第1の特徴部位を撮像した画像および第1の部材の第3の特徴部位を撮像した画像を取得し、第1の特徴部位の画像および第3の特徴部位の画像に基づいて、第1の部材の位置に対して第2の部材の位置を合わせるための第2の移動指令を出力する。
本開示の第2の態様は、上述の制御装置と、ロボットと、第1の部材を搬送する搬送機とを備えるロボット装置である。
本開示の第3の態様は、ロボットが第2の部材を移動することにより、第1の部材に対する第2の部材の相対的な位置を調整する制御方法である。制御方法は、画像を撮像する撮像装置にて第1の部材の第1の特徴部位を撮像した画像を取得するステップと、第1の特徴部位の画像に基づいて、第2の部材を第1の部材に近づけるための第1の移動指令を出力するステップとを含む。制御方法は、第2の部材が第1の部材に近づいた後に、撮像装置にて第1の特徴部位を撮像した画像および第1の部材の第3の特徴部位を撮像した画像を取得するステップと、第1の特徴部位の画像および第3の特徴部位の画像に基づいて、第1の部材の位置に対して第2の部材の位置を合わせるための第2の移動指令を出力するステップとを含む。
本開示の第4の態様は、ロボットが第2の部材を移動することにより、第1の部材に対する第2の部材の相対的な位置を調整するロボットを制御するプログラムである。プログラムは、コンピュータの少なくとも一つのプロセッサに、画像を撮像する撮像装置にて第1の部材の第1の特徴部位を撮像した画像を取得するステップと、第1の特徴部位の画像に基づいて、第2の部材を第1の部材に近づけるための第1の移動指令を出力するステップとを実行させる。プログラムは、コンピュータの少なくとも一つのプロセッサに、第2の部材が第1の部材に近づいた後に、撮像装置にて第1の特徴部位を撮像した画像および第1の部材の第3の特徴部位を撮像した画像を取得するステップと、第1の特徴部位の画像および第3の特徴部位の画像に基づいて、第1の部材の位置に対して第2の部材の位置を合わせるための第2の移動指令を出力するステップとを実行させる。
本開示の第5の態様は、ロボットが第2の部材を移動することにより、第1の部材に対する第2の部材の相対的な位置を調整する制御装置である。制御装置は、少なくとも1つのメモリと、少なくとも1つのプロセッサとを備える。少なくとも1つのプロセッサは、画像を撮像する撮像装置にて第1の部材の第1の特徴部位を撮像した画像を取得し、
第1の特徴部位の画像に基づいて、第2の部材を第1の部材に近づけるための第1の移動指令を出力する。少なくとも1つのプロセッサは、第2の部材が第1の部材に近づいた後に、撮像装置にて第1の特徴部位および第2の部材の第2の特徴部位を含む画像を取得し、第1の特徴部位および第2の特徴部位を含む画像に基づいて、第1の部材の位置に対して第2の部材の位置を合わせるための第2の移動指令を出力する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正の内容】
【0011】
本開示の態様によれば、ロボットが部材を搬送した後に、正確な位置合わせを行うロボット装置の制御装置、ロボット装置、制御方法、およびプログラムを提供することができる。
【手続補正5】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ロボットが第2の部材を移動することにより、第1の部材に対する第2の部材の相対的な位置を調整する制御装置であって、
少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
画像を撮像する撮像装置にて第1の部材の第1の特徴部位を撮像した画像を取得し、
前記第1の特徴部位の画像に基づいて、第2の部材を第1の部材に近づけるための第1の移動指令を出力し、
第2の部材が第1の部材に近づいた後に、前記撮像装置にて前記第1の特徴部位を撮像した画像および第1の部材の第3の特徴部位を撮像した画像を取得し、
前記第1の特徴部位の画像および前記第3の特徴部位の画像に基づいて、第1の部材の位置に対して第2の部材の位置を合わせるための第2の移動指令を出力する、制御装置。
【請求項2】
前記少なくとも1つのプロセッサは、
第2の部材が第1の部材に近づいた後に、前記撮像装置にて前記第1の特徴部位および第2の部材の第2の特徴部位が含まれる画像と、前記第3の特徴部位および第2の部材の第4の特徴部位が含まれる画像とを取得し、
前記第1の特徴部位および前記第2の特徴部位が含まれる画像と、前記第3の特徴部位および前記第4の特徴部位が含まれる画像とに基づいて、第1の部材の位置に対して第2の部材の位置を合わせるための第2の移動指令を出力する、請求項1に記載の制御装置。
【請求項3】
前記少なくとも1つのメモリは、第1の部材に対して第2の部材の目標位置を表す少なくとも1つの基準画像を記憶し、
前記少なくとも1つのプロセッサは、前記少なくとも1つの基準画像に基づいて、前記第1の移動指令を生成する、請求項1または2に記載の制御装置。
【請求項4】
前記少なくとも1つのメモリは、ロボットの動作プログラムを記憶し、
前記少なくとも1つのプロセッサは、前記動作プログラムに基づいて、前記第1の移動指令を生成する、請求項1から3のいずれか一項に記載の制御装置。
【請求項5】
前記撮像装置は、第1の視覚センサと前記第1の視覚センサとは異なる位置に配置された第2の視覚センサとを含み、
前記少なくとも1つのプロセッサは、
前記第1の視覚センサにより撮像された前記第1の特徴部位の画像に基づいて、前記第1の移動指令を生成し、
前記第1の視覚センサにより撮像された前記第1の特徴部位の画像および前記第2の視覚センサにより撮像された前記第3の特徴部位の画像に基づいて、前記第2の移動指令を生成する、請求項1から4のいずれか一項に記載の制御装置。
【請求項6】
前記少なくとも1つのプロセッサは、ロボットに取り付けられた補助センサにて撮像された第2の部材に含まれる特徴部位の画像を取得し、
第2の部材に含まれる特徴部位の画像に基づいて、ロボットが把持する時の第2の部材のずれ量を検出し、
第2の部材のずれ量を打ち消すようにロボットを動作させる指令を出力する、請求項1から5のいずれか一項に記載の制御装置。
【請求項7】
前記少なくとも1つのプロセッサは、前記撮像装置にて撮像された第1の部材に含まれる特徴部位の画像に基づいて、第1の部材の姿勢のずれ量を検出する、請求項1から6のいずれか一項に記載の制御装置。
【請求項8】
前記少なくとも1つのプロセッサは、第1の部材の姿勢のずれ量に基づいて、第1の部材に対する第2の部材の姿勢が予め定められた姿勢になるように、ロボットの姿勢を修正する指令を出力する、請求項7に記載の制御装置。
【請求項9】
前記少なくとも1つのプロセッサは、
前記第2の移動指令にてロボットを駆動することにより、第1の部材に対する第2の部材の相対位置が予め定められた判定範囲以内であることを検出し、
第1の部材に対する第2の部材の相対位置が予め定められた判定範囲以内であることを検出した場合に、第2の部材を第1の部材に取り付ける指令を出力する、請求項1から8のいずれか一項に記載の制御装置。
【請求項10】
第1の部材は、搬送装置にて移動するように形成されており、
前記少なくとも1つのプロセッサは、
第1の部材の移動方向および速度に関する情報を取得し、
第1の部材の移動方向および速度に関する情報に基づいて、第1の部材の位置に対してロボットの位置が追従するロボットの位置の移動方向および移動量を算出し、ロボットの位置が追従するロボットの位置の移動方向および移動量に基づいて、前記第1の移動指令によりロボットを移動させる制御または前記第2の移動指令によりロボットを移動させる制御を実施する、請求項1から9のいずれか一項に記載の制御装置。
【請求項11】
基準画像は、撮像装置により撮像された画像および3次元データにより生成された画像のいずれか一方を含む、請求項3に記載の制御装置。
【請求項12】
前記第1の移動指令を出力する制御に使用される基準画像は、前記第1の移動指令により第2の部材が第1の部材に近づいた時の画像である、請求項3に記載の制御装置。
【請求項13】
前記第2の移動指令を出力する制御に使用される基準画像は、前記第2の移動指令により第1の部材の位置に対して第2の部材の位置を合わせた時の画像である、請求項3に記載の制御装置。
【請求項14】
請求項1から13のいずれか一項に記載の制御装置と、
ロボットと、
第1の部材を搬送する搬送機と、を備える、ロボット装置。
【請求項15】
ロボットが第2の部材を移動することにより、第1の部材に対する第2の部材の相対的な位置を調整する制御方法であって、
画像を撮像する撮像装置にて第1の部材の第1の特徴部位を撮像した画像を取得するステップと、
前記第1の特徴部位の画像に基づいて、第2の部材を第1の部材に近づけるための第1の移動指令を出力するステップと、
第2の部材が第1の部材に近づいた後に、撮像装置にて前記第1の特徴部位を撮像した画像および第1の部材の第3の特徴部位を撮像した画像を取得するステップと、
前記第1の特徴部位の画像および前記第3の特徴部位の画像に基づいて、第1の部材の位置に対して第2の部材の位置を合わせるための第2の移動指令を出力するステップと、を含む、制御方法。
【請求項16】
ロボットが第2の部材を移動することにより、第1の部材に対する第2の部材の相対的な位置を調整するロボットを制御するプログラムであって、
コンピュータの少なくとも一つのプロセッサに、
画像を撮像する撮像装置にて第1の部材の第1の特徴部位を撮像した画像を取得するステップと、
前記第1の特徴部位の画像に基づいて、第2の部材を第1の部材に近づけるための第1の移動指令を出力するステップと、
第2の部材が第1の部材に近づいた後に、撮像装置にて前記第1の特徴部位を撮像した画像および第1の部材の第3の特徴部位を撮像した画像を取得するステップと、
前記第1の特徴部位の画像および前記第3の特徴部位の画像に基づいて、第1の部材の位置に対して第2の部材の位置を合わせるための第2の移動指令を出力するステップと、を実行させるためのプログラム。
【請求項17】
ロボットが第2の部材を移動することにより、第1の部材に対する第2の部材の相対的な位置を調整する制御装置であって、
少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
画像を撮像する撮像装置にて第1の部材の第1の特徴部位を撮像した画像を取得し、
前記第1の特徴部位の画像に基づいて、第2の部材を第1の部材に近づけるための第1の移動指令を出力し、
第2の部材が第1の部材に近づいた後に、前記撮像装置にて前記第1の特徴部位および第2の部材の第2の特徴部位を含む画像を取得し、
前記第1の特徴部位および前記第2の特徴部位を含む画像に基づいて、第1の部材の位置に対して第2の部材の位置を合わせるための第2の移動指令を出力する、制御装置。