(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】ロボットシステム
(51)【国際特許分類】
B25J 3/00 20060101AFI20241022BHJP
【FI】
B25J3/00 Z
(21)【出願番号】P 2021088980
(22)【出願日】2021-05-27
【審査請求日】2024-02-12
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110000947
【氏名又は名称】弁理士法人あーく事務所
(72)【発明者】
【氏名】松野 恵莉
(72)【発明者】
【氏名】田所 裕貴
(72)【発明者】
【氏名】小西 豊
(72)【発明者】
【氏名】林 哲史
【審査官】杉山 悟史
(56)【参考文献】
【文献】特開2011-036975(JP,A)
【文献】国際公開第2014/148032(WO,A1)
【文献】特開2005-342832(JP,A)
【文献】特開平04-075887(JP,A)
【文献】特開2014-176944(JP,A)
【文献】特開2018-094649(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
(57)【特許請求の範囲】
【請求項1】
ワークに対して、複数のロボットを用いて所定作業を行うロボットシステムであって、
ステレオカメラが取り付けられたマスターロボットと、
基準物体が取り付けられたスレーブロボットと、
上記マスターロボットおよびスレーブロボットを制御可能で、且つ、上記ステレオカメラによって撮像された画像を取得可能な処理装置と、を備え、
上記処理装置は、
上記スレーブロボットを静止させた状態で、上記マスターロボットに複数の姿勢をとらせた際に上記ステレオカメラによって撮像された上記基準物体の複数の画像に基づいて、上記マスターロボットの座標系から見た上記ステレオカメラの位置姿勢と、上記ステレオカメラの座標系から見た上記基準物体の位置姿勢と、を算出し、且つ、
上記マスターロボットを静止させた状態で、上記スレーブロボットに複数の姿勢をとらせた際に上記ステレオカメラによって撮像された上記基準物体の複数の画像に基づいて、上記スレーブロボットの座標系から見た当該基準物体の位置姿勢を算出し、
これらの算出結果を座標変換することで、上記マスターロボットと上記スレーブロボットとの相対位置を算出するとともに、
上記ステレオカメラによって撮像された、上記ワークにおける特徴部の画像に基づき、当該ワークに対する上記マスターロボットの補正量を算出し、
上記マスターロボットと上記スレーブロボットとの相対位置と、上記補正量と、に基づいて、上記マスターロボットおよびスレーブロボットの姿勢を補正するように構成されていることを特徴とするロボットシステム。
【請求項2】
上記請求項1に記載のロボットシステムにおいて、
上記スレーブロボットを複数備え、
上記複数のスレーブロボットには、上記基準物体およびステレオカメラが取り付けられたものが含まれており、
上記処理装置は、上記マスターロボットおよびスレーブロボットに取り付けられたステレオカメラによって撮像された、上記ワークにおける複数の特徴部の画像に基づき、当該ワークに対する当該マスターロボットの補正量を算出するとともに、当該マスターロボットと上記複数のスレーブロボットとの相対位置と、当該補正量とに基づいて、当該マスターロボットおよび複数のスレーブロボットの姿勢を補正するように構成されていることを特徴とするロボットシステム。
【請求項3】
上記請求項1に記載のロボットシステムにおいて、
上記スレーブロボットのアーム先端に取り付けられるツールには、測定点が設けられており、
上記処理装置は、上記マスターロボットと上記スレーブロボットとの相対位置に基づいて算出された上記測定点の位置と、上記ステレオカメラにより撮像された上記測定点の位置と、を比較することによって、上記マスターロボットと上記スレーブロボットとの相対位置の算出精度を確認するように構成されていることを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ワークに対して、複数のロボットを用いて所定作業を行うロボットシステムに関するものである。
【背景技術】
【0002】
例えば車両のメインボデーに対して複数の溶接ロボットにて同時併行的に溶接を行うといった具合に、ワークに対して、複数のロボットを用いて所定作業を行うロボットシステムが従来から知られている。
【0003】
このようなロボットシステムでは、仮に、各ロボットが設計通りの位置に配置され、且つ、ワークが設計通りに位置決めされている場合には、初期セットアップ時に登録された教示データ通りに、各ロボットを動作させることで、ワークに対して溶接や組立等の所定作業を正確に行うことが可能となる。
【0004】
これに対し、各ロボットに設置誤差がある場合や、ワークが位置決めされていない場合には、各ロボットを教示データ通りに動作させるだけでは、溶接個所や組立位置が正規の位置からずれるため、ワークに対する各ロボットの姿勢を補正する必要がある。
【0005】
例えば特許文献1には、キャリブレーション済みの第1ロボットによって正確に把持された専用の冶具を、第2ロボットで同時に把持することで、第1ロボットの座標系と第2ロボットの座標系とのズレ量を確認し、第2ロボットの座標系の原点位置および座標軸を第1ロボットの座標系に合わせるようにしたロボットシステムが開示されている。
【0006】
また、特許文献2には、先導ロボットに取り付けられた第1のカメラで検出した把持ズレを補正するための補正量TLを算出するとともに、追従ロボットに取り付けられた第2のカメラで検出した把持ズレを補正するための補正量TFを算出し、協調制御時は、補正量TLを用いて先導ロボットの位置姿勢を補正し、補正量TLおよびTFの双方を用いて追従ロボットの位置姿勢を補正するロボットシステムが開示されている。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2014-176944号公報
【文献】特開2018-094649号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記特許文献1および2のロボットシステムによれば、複数のロボットの校正を容易かつ正確に行うことができるとされているが、これら特許文献1および2のものには、以下のような問題がある。
【0009】
すなわち、特許文献1のものでは、ロボット同士の相対位置計測の際に、専用の冶具を2台のロボットで同時に把持することから、物理的に届く範囲に設置されたロボット同士にしか適用することができず、ロボットシステムにおけるレイアウトの自由度が制限されるという問題がある。
【0010】
さらに、特許文献1のものでは、ロボット同士の相対位置計測の際に物理的な接触を伴うことから、ロボットや治具のたわみの影響を受け易い上、繊細な操作が必要であり、作
業者の個人差により精度がバラつくため、ロボットの姿勢の補正を容易かつ正確に行うことが困難であるという問題もある。
【0011】
また、特許文献2のものでは、ロボット毎にカメラおよび画像データを処理する処理装置(例えばパーソナルコンピュータ)が必要になることから、設備コストが増大するという問題がある。
【0012】
さらに、特許文献2のものでは、追従ロボットの位置姿勢の補正を行う際に、先導ロボットの把持ズレを補正するための補正量TLと、追従ロボットの把持ズレを補正するための補正量TFと、を用いることから、補正の度に全ロボットの把持ズレを計測する必要があるため、位置姿勢の補正を容易に行うことが困難であるという問題もある。
【0013】
本発明はかかる点に鑑みてなされたものであり、その目的とするところは、複数のロボットを用いる場合でも、設備コストの低減およびレイアウトの自由度の向上を図りつつ、ワークに対するロボットの姿勢を容易かつ正確に補正することが可能なロボットシステムを提供することにある。
【課題を解決するための手段】
【0014】
前記目的を達成するため、本発明に係るロボットシステムでは、スレーブロボットに取り付けられた基準物体を、マスターロボットに取り付けられたステレオカメラによって撮像することで、1台のステレオカメラおよび1台の処理装置のみで、マスターロボットとスレーブロボットとの相対位置を算出するようにしている。
【0015】
具体的には、本発明は、ワークに対して、複数のロボットを用いて所定作業を行うロボットシステムを対象としている。
【0016】
そして、このロボットシステムは、ステレオカメラが取り付けられたマスターロボットと、基準物体が取り付けられたスレーブロボットと、上記マスターロボットおよびスレーブロボットを制御可能で、且つ、上記ステレオカメラによって撮像された画像を取得可能な処理装置と、を備え、上記処理装置は、上記スレーブロボットを静止させた状態で、上記マスターロボットに複数の姿勢をとらせた際に上記ステレオカメラによって撮像された上記基準物体の複数の画像に基づいて、上記マスターロボットの座標系から見た上記ステレオカメラの位置姿勢と、上記ステレオカメラの座標系から見た上記基準物体の位置姿勢と、を算出し、且つ、上記マスターロボットを静止させた状態で、上記スレーブロボットに複数の姿勢をとらせた際に上記ステレオカメラによって撮像された上記基準物体の複数の画像に基づいて、上記スレーブロボットの座標系から見た当該基準物体の位置姿勢を算出し、これらの算出結果を座標変換することで、上記マスターロボットと上記スレーブロボットとの相対位置を算出するとともに、上記ステレオカメラによって撮像された、上記ワークにおける特徴部の画像に基づき、当該ワークに対する上記マスターロボットの補正量を算出し、上記マスターロボットと上記スレーブロボットとの相対位置と、上記補正量と、に基づいて、上記マスターロボットおよびスレーブロボットの姿勢を補正するように構成されていることを特徴とするものである。
【0017】
この構成によれば、スレーブロボットを静止させた状態で、換言すると、基準物体を固定した状態で、ステレオカメラが取り付けられたマスターロボットに複数の姿勢をとらせて、奥行き方向の情報も記録可能なステレオカメラによって基準物体を複数の方向から撮像することから、マスターロボットの座標系から見たステレオカメラの位置姿勢を算出することができる。また、基準物体の大きさ・形状は既知であることから、ステレオカメラによって基準物体を複数の方向から撮像することにより、ステレオカメラの座標系から見た基準物体の位置姿勢も算出することができる。
【0018】
同様に、マスターロボットを静止させた状態で、換言すると、ステレオカメラを固定した状態で、基準物体が取り付けられたスレーブロボットに複数の姿勢をとらせて、複数の位置における基準物体を静止したステレオカメラによって撮像することから、スレーブロボットの座標系から見た基準物体の位置姿勢を算出することができる。
【0019】
ここで、(1)マスターロボットの座標系から見たステレオカメラの位置姿勢、(2)ステレオカメラの座標系から見た基準物体の位置姿勢、および(3)スレーブロボットの座標系から見た基準物体の位置姿勢は、それぞれ行列で表せることから、(3)を表す行列の逆行列を算出することで、(3’)基準物体の座標系から見たスレーブロボットの位置姿勢を容易に算出することができる。
【0020】
そうして、(1)、(2)および(3’)を表す行列の掛け合わせにより、マスターロボット→ステレオカメラ→基準物体→スレーブロボットという座標変換を行うことで、マスターロボットの座標系から見たスレーブロボットの位置姿勢、換言すると、マスターロボットとスレーブロボットとの相対位置を、1台のステレオカメラを用いて容易に算出することができる。
【0021】
一方、ワークにおける特徴部をステレオカメラによって撮像し、かかる特徴部の画像から取得されるワークの位置姿勢と、例えば予め記憶された設計値とを比較することで、マスターロボットのワークに対する補正量(ズレ量)を容易に算出することができる。そうして、マスターロボットとスレーブロボットとの相対位置は既に算出(計測)されていることから、マスターロボットのワークに対する補正量に基づいて、スレーブロボットのワークに対する補正量も容易に算出することができるので、マスターロボットのみならずスレーブロボットの姿勢をも容易かつ正確に補正することが可能となる。
【0022】
つまり、本発明によれば、スレーブロボットが何台であっても、マスターロボットに取り付けられた1台のステレオカメラ、および、その画像データを処理する1台の処理装置を用いて、マスターロボットとスレーブロボットとの相対位置を取得することができるとともに、全ロボットの姿勢を容易に補正することが可能となることから、設備コストの低減を図ることができる。
【0023】
しかも、ステレオカメラが取り付けられたマスターロボットを、スレーブロボットに取り付けられた基準物体を見渡せる位置に設置さえすれば、マスターロボットとスレーブロボットとの相対位置を取得可能であることから、マスターロボットとスレーブロボットとの相対位置計測の際にロボット同士の物理的な接触を伴うロボットシステムに比して、レイアウトの自由度を高めることができる。加えて、マスターロボットとスレーブロボットとの相対位置計測の際にロボット同士の物理的な接触を伴わないことから、ワークに対するロボットの姿勢を正確に補正することができる。
【0024】
したがって、本発明によれば、複数のロボットを用いる場合でも、設備コストの低減およびレイアウトの自由度の向上を図りつつ、ワークに対するロボットの姿勢を容易かつ正確に補正することが可能となる。
【0025】
ところで、ワークにおける特徴部が立体形状であれば、かかる特徴部の画像からワークの姿勢を算出することが可能であるが、ワークにおける特徴部が例えば孔(特徴点)等であれば、ワークの姿勢を算出するには、3つ以上の特徴点が必要となる。しかも、姿勢の算出精度を高めるには、できるだけ離れた(できるだけ遠い位置にある)特徴点を撮像することが好ましい。
【0026】
ここで、相対的に小さなワークの場合には、マスターロボットに取り付けられた1台のステレオカメラだけで、ワークに形成された3つ以上の特徴点を撮像することが可能であるが、例えば車両のメインボデー等といった相対的に大きなワークの場合には、1台のステレオカメラだけでは、ワークに形成された、互いに離れた3つ以上の特徴点を撮像することが困難なケースも生じ得る。
【0027】
そこで、上記ロボットシステムでは、上記スレーブロボットを複数備え、上記複数のスレーブロボットには、上記基準物体およびステレオカメラが取り付けられたものが含まれており、上記処理装置は、上記マスターロボットおよびスレーブロボットに取り付けられたステレオカメラによって撮像された、上記ワークにおける複数の特徴部の画像に基づき、当該ワークに対する当該マスターロボットの補正量を算出するとともに、当該マスターロボットと上記複数のスレーブロボットとの相対位置と、当該補正量とに基づいて、当該マスターロボットおよび複数のスレーブロボットの姿勢を補正するように構成されていてもよい。
【0028】
この構成によれば、マスターロボットに取り付けられたステレオカメラのみならず、スレーブロボットに取り付けられたステレオカメラをも用いることで、相対的に大きなワークに形成された、互いに離れた3つ以上の特徴点を撮像することが可能となるので、ワークの大小に左右されることなく、ワークに対するロボットの姿勢を容易かつ正確に補正することができる。
【0029】
しかも、マスターロボットと複数のスレーブロボットとの相対位置は、飽く迄マスターロボットに取り付けられた1台のステレオカメラおよび1台の処理装置を用いて算出される上、すべてのスレーブロボットにステレオカメラを取り付ける訳ではなく、特徴点を撮像するのに必要な分だけステレオカメラを増やすことから、設備コストの増大を抑えることができる。
【0030】
また、上記ロボットシステムでは、上記スレーブロボットのアーム先端に取り付けられるツールには、測定点が設けられており、上記処理装置は、上記マスターロボットと上記スレーブロボットとの相対位置に基づいて算出された上記測定点の位置と、上記ステレオカメラにより撮像された上記測定点の位置と、を比較することによって、上記マスターロボットと上記スレーブロボットとの相対位置の算出精度を確認するように構成されていてもよい。
【0031】
この構成によれば、(A)マスターロボット→スレーブロボット→測定点、および、(B)マスターロボット→ステレオカメラ→測定点という、異なる手法で取得された測定点の位置(座標)を比較することで、マスターロボットとスレーブロボットとの相対位置の算出精度を確認することができ、これにより、ワークに対するロボットの姿勢をより一層正確に補正することが可能となる。
【発明の効果】
【0032】
以上説明したように、本発明に係るロボットシステムによれば、複数のロボットを用いる場合でも、設備コストの低減およびレイアウトの自由度の向上を図りつつ、ワークに対するロボットの姿勢を容易かつ正確に補正することができる。
【図面の簡単な説明】
【0033】
【
図1】本発明の実施形態に係るロボットシステムの概要を模式的に示す図である。
【
図2】ロボットシステムを模式的に示すブロック図である。
【
図3】姿勢補正手順の一例を示すフローチャートである。
【
図4】ロボットシステムの応用例1を模式的に示す図である。
【
図5】ロボットシステムの応用例2を模式的に示す図である。
【
図6】車両のメインボデーにおける特徴点を模式的に示す図である。
【
図7】スレーブロボットに取り付けられるマテリアルハンドを模式的に示す図である。
【発明を実施するための形態】
【0034】
以下、本発明を実施するための形態を図面に基づいて説明する。
【0035】
-ロボットシステムの概略構成-
図1は、本実施形態に係るロボットシステム1の概要を模式的に示す図であり、
図2は、ロボットシステム1を模式的に示すブロック図である。なお、
図2では、4台のスレーブロボット21,22,23,24のうちの1台のスレーブロボット(以下、特に区別しない場合には「スレーブロボット20」と称する)のみを示している。
【0036】
このロボットシステム1は、ワークW(
図1の例では車両のメインボデーW1)に対して、マスターロボット10およびスレーブロボット20を含む複数台のロボットを用いて、溶接や組立等といった所定作業を行うものである。なお、マスターロボット10とスレーブロボット20とは、後述するように、ワークWに対する各ロボット10,20の姿勢を補正する際には主従関係となるが、それ以外では、マスターロボット10もスレーブロボット20と同様に、ロボットアーム10aの先端部に取り付けられたツール30(
図1の例では抵抗溶接機)を用いて、所定作業を行うように構成されている。
【0037】
ロボットシステム1は、
図1および
図2に示すように、1台のマスターロボット10と、4台のスレーブロボット20と、マスターロボット10を制御するためのロボット制御盤40と、各スレーブロボット20を制御するためのロボット制御盤50と、1台のステレオカメラ60と、照明63と、4枚のキャリブレーションプレート70と、HUB80と、1台の画像処理装置90と、を備えている。
【0038】
マスターロボット10およびスレーブロボット20は、6軸多関節ロボットであり、複数のリンクとこれら複数のリンクを接続する6つの回転関節とで構成されるロボットアーム10a,20aを有している。ロボットアーム10a,20aの先端には、メインボデーW1に対して所定作業を行うためのツール(エンドエフェクタ)30が取り付けられている。各回転関節には、サーボモータ(図示せず)が設けられていて、各サーボモータが個別に角変位することによって、ロボットアーム10a,20aが駆動し、メインボデーW1に対するツール30の位置および姿勢を3次元的に変更することが可能になっている。
【0039】
ロボット制御盤40,50は、サーボモータを駆動させるサーボドライバ(図示せず)や、各種の演算処理を実行するロボットCPU40a,50aや、プログラムやデータが記憶されたROM(Read Only Memory)や、ロボットCPU40a,50aによる演算処理の実行中に生成されたデータや情報を一時的に保持するRAM(Random Access Memory)等で構成されている。ロボット制御盤40,50は、初期セットアップ時にROMに記憶(登録)された教示データを、ロボットCPU40a,50aが演算処理し、サーボドライバ等に動作指令を出力することで、マスターロボット10およびスレーブロボット20の動作をそれぞれ制御するように構成されている。
【0040】
ステレオカメラ60および照明63は、マスターロボット10のロボットアーム10aにおけるツール30の近傍に取り付けられている。ステレオカメラ60は、対象物を複数の異なる方向から同時に撮影することにより、その奥行き方向の情報も記録することができるように構成されたカメラである。ステレオカメラ60は、対象物における照明63に
よって照らされた部位を撮像して、画像データを画像処理装置90に送信するように構成されている。
【0041】
キャリブレーションプレート(基準物体)70は、平面上に分布した教示点を有するプレートであり、スレーブロボット21,22,23,24のロボットアーム20aにそれぞれ取り付けられている。なお、キャリブレーションプレート70の形状(教示点の位置等)や寸法は、画像処理装置90のROMに記憶されている。
【0042】
画像処理装置(処理装置)90は、パーソナルコンピュータであり、各種プログラム等に基づいて演算処理を実行するCPU(Central Processing Unit)や、各種プログラムや各種プログラムを実行する際に参照されるマップなどが記憶されているROMや、CPUによる演算結果などを一時的に記憶するメモリであるRAM等で構成されている。画像処理装置90は、ディスプレイ90aと、ROMにインストールされたアプリケーションソフト90bと、を備えている。
【0043】
ディスプレイ90aは、指令を与えた際のマスターロボット10およびスレーブロボット20の動きや、マスターロボット10およびスレーブロボット20とメインボデーW1との位置関係等を表す、CAD(Computer Aided Design)等で作成されたヴァーチャルな画像を表示するように構成されている。これにより、画像処理装置90から指令を与えた場合に、マスターロボット10やスレーブロボット20がどのような動きをするかを、事前に確認することができるようになっている。
【0044】
画像処理装置90は、PoE(Power over Ethernet)81を介して、ステレオカメラ60と接続されていて、これにより、ステレオカメラ60によって撮像された画像データがアプリケーションソフト90bに入力されるようになっている。また、画像処理装置90は、イーサネット(Ethernet-IP)83およびHUB80を介して、ロボット制御盤40,50のロボットCPU40a,50aと無線通信を行うことが可能に構成されている。これにより、画像処理装置90は、例えばキーボード(図示せず)から入力した指令や、アプリケーションソフト90bによる解析結果等をロボット制御盤40,50に送信することで、マスターロボット10およびスレーブロボット20を制御することが可能となっている。
【0045】
-姿勢補正手順-
以上のように構成されたロボットシステム1では、仮に、各ロボット10,20が設計通りの位置に配置され、且つ、ワークWが設計通りに位置決めされている場合には、初期セットアップ時にロボット制御盤40,50のROMに記憶された教示データ通りに、各ロボット10,20を動作させることで、溶接や組立等の所定作業を正確に行うことが可能となる。
【0046】
これに対し、各ロボット10,20に設置誤差がある場合や、ワークWが位置決めされていない場合には、各ロボット10,20を教示データ通りに動作させるだけでは、溶接個所や組立位置が正規の位置からずれるため、ワークWに対する各ロボット10,20の姿勢を補正する必要がある。
【0047】
この点、従来のロボットシステムでは、キャリブレーション済みのマスターロボットに、スレーブロボットを物理的に接触させることで、マスターロボットの座標系とスレーブロボットの座標系とのズレ量を確認する手法(「従来1の手法」という。)や、ロボット毎に、把持ズレを検出するためのカメラおよび画像データを処理するためのパーソナルコンピュータを設ける手法(「従来2の手法」という。)が採られていた。
【0048】
しかしながら、従来1の手法には、物理的に届く範囲に設置されたロボット同士にしか適用することができず、ロボットシステムにおけるレイアウトの自由度が制限されるという問題がある。さらに、ロボット同士の物理的な接触を伴うことから、ロボット等のたわみの影響を受け易い上、繊細な操作が必要であり、作業者の個人差により精度がバラつくため、ロボットの姿勢の補正を容易かつ正確に行うことが困難であるという問題もある。
【0049】
また、従来2の手法には、ロボット毎にカメラおよびパーソナルコンピュータが必要となることから、設備コストが増大するという問題がある。
【0050】
そこで、本実施形態のロボットシステム1では、スレーブロボット20に取り付けられたキャリブレーションプレート70を、マスターロボット10に取り付けられたステレオカメラ60によって撮像することで、1台のステレオカメラ60および1台の画像処理装置90のみで、マスターロボット10とスレーブロボット20との相対位置を算出(計測)するようにしている。
【0051】
具体的には、本実施形態のロボットシステム1では、
(1)スレーブロボット20を静止させた状態で、マスターロボット10に複数の姿勢をとらせた際にステレオカメラ60によって撮像されたキャリブレーションプレート70の複数の画像データに基づいて、マスターロボット10の座標系(マスターロボット座標系ΣMR)から見たステレオカメラ60の位置姿勢と、ステレオカメラ60の座標系(カメラ座標系ΣC)から見たキャリブレーションプレート70の位置姿勢と、を算出し、
(2)マスターロボット10を静止させた状態で、スレーブロボット20に複数の姿勢をとらせた際にステレオカメラ60によって撮像されたキャリブレーションプレート70の複数の画像データに基づいて、スレーブロボット20の座標系(スレーブロボット座標系ΣSR)から見たキャリブレーションプレート70の位置姿勢を算出し
(3)(1)および(2)の算出結果を座標変換することで、マスターロボット10とスレーブロボット20との相対位置を算出するとともに、
(4)ステレオカメラ60によって撮像された、ワークWにおける特徴部の画像データに基づき、ワークWに対するマスターロボット10の補正量を算出し、
(5)(3)で算出したマスターロボット10とスレーブロボット20との相対位置と、(4)で算出した補正量と、に基づいて、マスターロボット10およびスレーブロボット20の姿勢を補正するように、画像処理装置90を構成している。
【0052】
以下、このような画像処理装置90による姿勢補正手順(1)~(5)について、
図3のフローチャートを参照しながら、詳細に説明する。なお、
図1では、4台のスレーブロボット21,22,23,24を示しているが、以下では、ロボットシステム1が、n台(nは正の整数)のスレーブロボット20を備えている場合について説明を行う。
【0053】
〈手順(1)について〉
先ず、ステップS1では、画像処理装置90が、スレーブロボット20の番号として、i=0を読み込む。次のステップS2では、画像処理装置90が、i=i+1を計算して、スレーブロボット20の番号として1番を設定する。なお、1番のスレーブロボット20は、例えば
図1のスレーブロボット21に対応している。次のステップS3では、画像処理装置90が、スレーブロボット21に対応するロボット制御盤50に指令を出して、スレーブロボット21を静止させる。
【0054】
ここで、スレーブロボット21を静止させた状態で、スレーブロボット21に取り付けられたキャリブレーションプレート70をステレオカメラ60によって撮像した後、マスターロボット10の姿勢を変更し、再びキャリブレーションプレート70をステレオカメラ60によって撮像すると、当然、姿勢の変更の前後で、キャリブレーションプレート7
0の画像データは異なることになる。そうして、例えばマスターロボット10のロボットアーム10a先端部の変化量に対して、キャリブレーションプレート70の画像データの変化量が小さければ、ステレオカメラ60がロボットアーム10a先端部よりも基端側に位置していることが推定される。
【0055】
それ故、マスターロボット10に複数の姿勢をとらせて、その都度、キャリブレーションプレート70を異なる方向からステレオカメラ60によって撮像して、このような推定を繰り返すことで、マスターロボット座標系ΣMRにおけるステレオカメラ60の位置姿勢が算出される(絞り込まれる)ことになる。なお、ステレオカメラ60の位置姿勢の算出精度は、マスターロボット10の姿勢を変更すれば変更するほど上がる訳ではなく、約13回の撮像により収束することが、実験等で確認されている。
【0056】
そこで、次のステップS4では、画像処理装置90が、撮像回数j=0を読み込む。次のステップS5では、画像処理装置90が、j=j+1を計算して、撮像回数jとして1回を設定した後、ステップS6に進む。次のステップS6では、1番のキャリブレーションプレート70(1番のスレーブロボット21に取り付けられたキャリブレーションプレート70)をステレオカメラ60で撮像した後、ステップS7に進む。
【0057】
次のステップS7では、画像処理装置90が、撮像回数jが所定回数l(lは正の整数で、例えば13)に達したか否かを判定する。このステップS7での判定がNOの場合には、ステップS8に進む。次のステップS8では、画像処理装置90が、ロボット制御盤40に指令を出して、マスターロボット10の姿勢を変更させた後、ステップS5に進み、撮像回数jに1を加算した後、ステップS6でスレーブロボット21に取り付けられたキャリブレーションプレート70を再びステレオカメラ60で撮像するという流れを繰り返す。
【0058】
一方、ステップS7での判定がYESの場合、すなわち、撮像回数jが所定回数lに達した場合には、ステップS9に進む。次のステップS9では、画像処理装置90のアプリケーションソフト90bが、マスターロボット座標系ΣMRから見たステレオカメラ60の位置姿勢を算出する。
【0059】
ここで、「マスターロボット座標系ΣMRから見たステレオカメラ60の位置姿勢を算出する」とは、マスターロボット座標系ΣMRからカメラ座標系ΣCまでの位置・姿勢を表す行列MRTCを算出することを意味する。つまり、行列MRTCは、マスターロボット10の位置・姿勢をステレオカメラ60の位置・姿勢に変換する行列である。それ故、行列MRTCにマスターロボット10の位置・姿勢の制御量を掛ければ、ステレオカメラ60の位置・姿勢を算出することができる。逆に、行列MRTCの逆行列MRTC
-1(=CTMR)に、ステレオカメラ60の目標位置・目標姿勢を掛ければ、マスターロボット10の位置・姿勢の制御量を算出することができる。
【0060】
そうして、次のステップS10では、画像処理装置90のアプリケーションソフト90bが、カメラ座標系ΣCから見た1番のキャリブレーションプレート70の位置姿勢を算出する。
【0061】
上述の如く、キャリブレーションプレート70の形状(教示点の位置等)や寸法は、画像処理装置90のROMに記憶されていることから、キャリブレーションプレート70を異なる方向からステレオカメラ60によって撮像することで、アプリケーションソフト90bが、カメラ座標系ΣCから見たキャリブレーションプレート70の位置姿勢をも算出することが可能となる。なお、「カメラ座標系ΣCから見たキャリブレーションプレート70の位置姿勢を算出する」とは、カメラ座標系ΣCからプレート座標系ΣPまでの位置・
姿勢を表す行列CTPを算出することを意味する。
【0062】
〈手順(2)について〉
上記手順(1)と同様の理屈で、マスターロボット10を静止させた状態で、スレーブロボット20に複数の姿勢をとらせて、その都度、静止したステレオカメラ60によって、キャリブレーションプレート70を異なる方向から撮像することで、スレーブロボット座標系ΣSRにおけるキャリブレーションプレート70の位置姿勢が算出される(絞り込まれる)ことになる。
【0063】
それ故、ステップS11では、画像処理装置90が、ロボット制御盤40に指令を出して、マスターロボット10を静止させる。次のステップS12では、画像処理装置90が、撮像回数k=0を読み込む。次のステップS13では、画像処理装置90が、k=k+1を計算して、撮像回数kとして1回を設定した後、ステップS14に進む。次のステップS14では、1番のキャリブレーションプレート70を静止したステレオカメラ60で撮像した後、ステップS15に進む。
【0064】
次のステップS15では、画像処理装置90が、撮像回数kが所定回数m(mは正の整数で、例えば13)に達したか否かを判定する。このステップS15での判定がNOの場合には、ステップS16に進む。次のステップS16では、画像処理装置90が、スレーブロボット21に対応するロボット制御盤50に指令を出して、スレーブロボット21の姿勢を変更させた後、ステップS13に進み、撮像回数kに1を加算した後、ステップS14でスレーブロボット21に取り付けられたキャリブレーションプレート70を静止したステレオカメラ60で再び撮像するという流れを繰り返す。
【0065】
一方、ステップS15での判定がYESの場合、すなわち、撮像回数kが所定回数mに達した場合には、ステップS17に進む。次のステップS17では、画像処理装置90のアプリケーションソフト90bが、スレーブロボット座標系ΣSR21から見たキャリブレーションプレート70の位置姿勢を算出する。
【0066】
ここで、「スレーブロボット座標系ΣSR21から見たキャリブレーションプレート70の位置姿勢を算出する」とは、スレーブロボット座標系ΣSR21からプレート座標系ΣPまでの位置・姿勢を表す行列SR21TPを算出することを意味する。それ故、行列SR21TPの逆行列SR21TP
-1(=PTSR21)も容易に算出することができる。
【0067】
〈手順(3)について〉
次のステップS18では、画像処理装置90のアプリケーションソフト90bが、マスターロボット10と1番のスレーブロボット21との相対位置を算出する。具体的には、アプリケーションソフト90bは、ステップS9で算出した行列MRTCと、ステップS10で算出した行列CTPと、ステップS17で算出した行列SR21TPの逆行列(行列PTSR21)と、に基づいて、下記の式(1)により、マスターロボット座標系ΣMRからスレーブロボット座標系ΣSR21までの位置・姿勢を表す行列MRTSR21を算出して、マスターロボット10とスレーブロボット21との相対位置を算出(計測)する。
【0068】
MRTC・CTP・PTSR21=MRTSR21・・・・式(1)
このようにして、マスターロボット10とスレーブロボット21との相対位置を算出した後、ステップS19に進む。次のステップS19では、画像処理装置90が、スレーブロボット20の番号iがnに達したか否かを判定する。このステップS19での判定がNOの場合には、ステップS2に戻り、マスターロボット10との相対位置関係が算出されたスレーブロボット20がn台に達するまで、ステップS2からステップS18の手順が繰り返される。
【0069】
これにより、スレーブロボット座標系ΣSR22から見たキャリブレーションプレート70の位置姿勢に基づいて、マスターロボット10とスレーブロボット22との相対位置が算出され、スレーブロボット座標系ΣSR23から見たキャリブレーションプレート70の位置姿勢に基づいて、マスターロボット10とスレーブロボット23との相対位置が算出され、スレーブロボット座標系ΣSR24から見たキャリブレーションプレート70の位置姿勢に基づいて、マスターロボット10とスレーブロボット24との相対位置が算出され、といった具合に、マスターロボット10とn台のスレーブロボット20との相対位置が次々と算出されていく。一方、ステップS19での判定がYESの場合には、ステップS20へ進む。
【0070】
〈手順(4)について〉
次のステップS20では、ステレオカメラ60がワークWの特徴部を撮像する。なお、ワークWにおける特徴部が立体形状であれば、かかる特徴部の画像データからワークWの姿勢を算出することが可能であるが、ワークWにおける特徴部が例えば孔(特徴点)等であれば、ワークWの姿勢を算出するには、3つ以上の特徴点の画像データが必要となる。
【0071】
次のステップS21では、画像処理装置90のアプリケーションソフト90bが、ワークWに対するマスターロボット10の補正量を算出する。具体的には、ワークWにおける特徴部をステレオカメラ60によって撮像し、かかる画像データから取得される特徴部の位置と、例えば予め記憶された設計位置とを比較することで、マスターロボット10のワークWに対する補正量(ズレ量)を算出する。
【0072】
〈手順(5)について〉
次のステップS22では、画像処理装置90のアプリケーションソフト90bが、マスターロボット10およびn台のスレーブロボット20を含む全ロボットの姿勢を補正した後、ENDする。
【0073】
より詳しくは、ステップS18においてマスターロボット10とn台のスレーブロボット20との相対位置が算出されているとともに、ステップS21においてワークWに対するマスターロボット10の補正量が算出されていることから、マスターロボット10と各スレーブロボット20との相対位置に補正量を合算することで、ワークWに対する各スレーブロボット20の補正量を容易に算出することができる。そうして、かかる補正量を、
図1の二点鎖線矢印で示すように、画像処理装置90からロボット制御盤40,50へ送信することで、各ロボット制御盤40,50のROMに記憶された教示データが修正され、修正された教示データ通りに、各ロボット10,20を動作させることで、ワークWに対して溶接や組立等の所定作業を正確に行うことが可能となる。
【0074】
以上のように、本実施形態に係るロボットシステム1によれば、スレーブロボット20が何台であっても、マスターロボット10に取り付けられた1台のステレオカメラ60を用いて、マスターロボット10とスレーブロボット20との相対位置を取得(計測)することができるとともに、全ロボットの姿勢を容易に補正することが可能であることから、設備コストの低減を図ることができる。
【0075】
しかも、1台の画像処理装置90で処理可能であることから、従来はロボット毎に必要とされたパーソナルコンピュータをHUB80で共有することができるので、従来のロボットシステムに比して、設備コストの低減をより一層図ることができる。
【0076】
また、ステレオカメラ60が取り付けられたマスターロボット10を、スレーブロボット20に取り付けられたキャリブレーションプレート70を見渡せる位置に設置さえすれ
ば、マスターロボット10とスレーブロボット20との相対位置を計測可能であることから、ロボット同士の物理的な接触を伴う従来のロボットシステムに比して、レイアウトの自由度を高めることができる。
【0077】
加えて、マスターロボット10とスレーブロボット20との相対位置計測の際にロボット同士の物理的な接触を伴わないことから、ワークWに対するロボット10,20の姿勢を正確に補正することができる。
【0078】
したがって、本実施形態によれば、複数のロボット10,20を用いる場合でも、設備コストの低減およびレイアウトの自由度の向上を図りつつ、ワークWに対するロボット10,20の姿勢を容易かつ正確に補正することが可能となる。
【0079】
-実施形態の応用例-
〈応用例1〉
図4は、ロボットシステム1の応用例1を模式的に示す図である。この応用例1は、セル3内に収容された複数台のロボット10,20が溶接や組立等の種々の作業を行う、セル生産方式にロボットシステム1を適用したものである。
図4に示すロボットシステム1は、1台のマスターロボット10と、8台のスレーブロボット21~28と、を備えている。8台のロボット制御盤51,52,53,54,55,56,57,58は、スレーブロボット21,22,23,24,25,26,27,28にそれぞれ対応している。なお、マスターロボット10およびスレーブロボット21,22,23,25,26,27,28には、ツール30として抵抗溶接機(図示せず)が取り付けられている。これに対し、クロスハッチングが施されたスレーブロボット24には、ツール30として、溶接作業の際にメインボデーW1を固定するためのマテリアルハンド31(
図7参照)が取り付けられている。
【0080】
上述の如く、ワークWにおける特徴部が例えば孔(特徴点)等であれば、ワークWの姿勢を算出するには、3つ以上の特徴点の画像データが必要となる。しかも、姿勢の算出精度を高めるには、できるだけ離れた(できるだけ遠い位置にある)特徴点を撮像することが好ましい。
【0081】
ここで、相対的に小さなワークWの場合には、例えばマスターロボット10に取り付けられた1台のステレオカメラ60だけで、ワークWに形成された3つ以上の特徴点を撮像することが可能であるが、
図4に示すような、相対的に大きなメインボデーW1の場合には、1台のステレオカメラ60だけでは、メインボデーW1に形成された、互いに離れた3つ以上の特徴点P1,P2,P3を撮像することが困難となる。
【0082】
そこで、
図4に示すロボットシステム1では、スレーブロボット27,28に、キャリブレーションプレート70のみならず、ステレオカメラ61,62を取り付けるようにしている。なお、請求項との関係では、本応用例のスレーブロボット27,28が、本発明でいうところの「基準物体およびステレオカメラが取り付けられたもの」に相当する。
【0083】
この場合も、マスターロボット10と複数のスレーブロボット21,22,23,…との相対位置は、飽く迄マスターロボット10に取り付けられた1台のステレオカメラ60を用いて算出される。そうして、スレーブロボット座標系ΣSR27から見たステレオカメラ61の位置姿勢、および、スレーブロボット座標系ΣSR28から見たステレオカメラ62の位置姿勢は、セル3内に設置されたキャリブレーションプレート(図示せず)をステレオカメラ61,62で撮像した画像データに基づいて算出される。
【0084】
図4に示すように、マスターロボット10に取り付けられたステレオカメラ60で特徴
点P1を撮像し、且つ、スレーブロボット27に取り付けられたステレオカメラ61で特徴点P2を撮像し、且つ、スレーブロボット28に取り付けられたステレオカメラ62で特徴点P3を撮像する。こように、マスターロボット10に取り付けられたステレオカメラ60のみならず、スレーブロボット27,28に取り付けられたステレオカメラ61,62をも用いることで、相対的に大きなメインボデーW1に形成された、互いに離れた3つの特徴点P1,P2,P3を撮像することが可能となる。
【0085】
画像処理装置90は、マスターロボット10およびスレーブロボット27,28に取り付けられたステレオカメラ60,61,62によって撮像された、メインボデーW1における3つの特徴点P1,P2,P3のデータに基づき、メインボデーW1に対するマスターロボット10の補正量を算出するとともに、マスターロボット10と複数のスレーブロボット21,22,23,…との相対位置と、当該補正量とに基づいて、マスターロボット10および複数のスレーブロボット21,22,23,…の姿勢を補正するように構成されている。これにより、ワークWの大小に左右されることなく、メインボデーW1に対するロボット10,21,22,23,…の姿勢を容易かつ正確に補正することができる。
【0086】
なお、
図4に示す相対的に小さなワークW2に対して所定作業を行う場合に、すべてのロボット10,21,22,23,…の姿勢を補正すると、無駄が多くなる。それ故、この場合には、例えば、ワークW2に一番近いスレーブロボット27に取り付けられたステレオカメラ61を用いて、ワークW2における3つの特徴点P1’,P2’,P3’を撮像し、撮像された画像データに基づいて算出された補正量をロボット制御盤55のみに送信し、スレーブロボット25のみで溶接等を行うようにしてもよい。
【0087】
〈応用例2〉
図5は、ロボットシステム1の応用例2を模式的に示す図である。この応用例2は、搬送装置によって流れてくるワークWに所定作業を行うライン生産方式にロボットシステム1を適用したものである。
【0088】
図6は、車両のメインボデーW1における特徴点P1,P2を模式的に示す図である。メインボデーW1には、
図6の太枠で示すように、車幅方向左側のAピラーAPに特徴点P1としての孔が形成されているとともに、車幅方向左側のCピラーCPに特徴点P2としての孔が形成されている。なお、車幅方向右側のAピラーおよびCピラー(共に図示せず)にも同様に、特徴点P1および特徴点P2としての孔がそれぞれ形成されている。
【0089】
そうして、
図5の太枠で示すように、メインボデーW1の左側に配置されたマスターロボット10に取り付けられたステレオカメラ60で、左側の特徴点P1および特徴点P2を撮像するとともに、メインボデーW1の右側に配置されたスレーブロボット20に取り付けられたステレオカメラ61で、右側の特徴点P1および特徴点P2を撮像することで、インラインでの、メインボデーW1に対するマスターロボット10および複数のスレーブロボット20の姿勢の補正が可能となる。
【0090】
-実施形態の変形例-
上記実施形態では、ステレオカメラ60とキャリブレーションプレート70とを用いて、マスターロボット10とスレーブロボット20との相対位置を算出(計測)するに止めたが、本変形例では、相対位置の算出精度を確認する点が、上記実施形態と異なるものである。以下、実施形態と異なる点を中心に説明する。
【0091】
図7は、スレーブロボット20に取り付けられるマテリアルハンド31を模式的に示す図である。スレーブロボット20のロボットアーム20a先端に取り付けられるマテリア
ルハンド31には、
図7の太枠で示すように、2つの孔からなる測定点MP1,MP2が設けられている。
【0092】
そうして、本変形例では、マスターロボット10とスレーブロボット20との相対位置に基づいて算出された測定点MP1,MP2の位置と、ステレオカメラ60により撮像された測定点MP1,MP2の位置と、を比較することによって、マスターロボット10とスレーブロボット20との相対位置の算出精度を確認するように、画像処理装置90を構成している。
【0093】
具体的には、スレーブロボット座標系ΣSRから見た測定点MP1,MP2の位置姿勢は、ロボット固有値やマテリアルハンド31の諸元から既知であるとともに、マスターロボット10とスレーブロボット20との相対位置は算出済みであることから、(A)マスターロボット10→スレーブロボット20→測定点MP1,MP2というルートで、マスターロボット座標系ΣMRにおける測定点MP1,MP2の位置(座標)を算出することができる。
【0094】
一方、(B)マスターロボット10→ステレオカメラ60→測定点MP1,MP2というルートでも、マスターロボット座標系ΣMRにおける測定点MP1,MP2の位置(座標)を算出することができる。
【0095】
このように、異なるルート(A)および(B)で取得された測定点MP1,MP2の位置(座標)を比較することで、マスターロボット10とスレーブロボット20との相対位置の算出精度を確認することができ、これにより、ワークWに対するロボット10,20の姿勢をより一層正確に補正することが可能となる。
【0096】
(その他の実施形態)
本発明は、実施形態に限定されず、その精神又は主要な特徴から逸脱することなく他の色々な形で実施することができる。
【0097】
上記実施形態のフローチャートでは、或るスレーブロボット20におけるキャリブレーションプレート70の撮像および相対位置の算出を行った後、次のスレーブロボット20におけるキャリブレーションプレート70の撮像および相対位置の算出を行うようにしたが、これに限らず、すべてのスレーブロボット20におけるキャリブレーションプレート70の撮像を行った後、すべてのスレーブロボット20における相対位置の算出を行うようにしてもよい。
【0098】
また、上記実施形態の変形例では、マテリアルハンド31に測定点MP1,MP2を設けたが、これに限らず、マテリアルハンド31以外のツール30に測定点を設けてもよい。
【0099】
このように、上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【0100】
本発明によると、複数のロボットを用いる場合でも、設備コストの低減およびレイアウトの自由度の向上を図りつつ、ワークに対するロボットの姿勢を容易かつ正確に補正することができるので、ワークに対して、複数のロボットを用いて所定作業を行うロボットシステムに適用して極めて有益である。
【符号の説明】
【0101】
1 ロボットシステム
10 マスターロボット
10a ロボットアーム
20 スレーブロボット
20a ロボットアーム
31 マテリアルハンド(ツール)
60,61,62 ステレオカメラ
70 キャリブレーションプレート(基準物体)
90 画像処理装置(処理装置)
P1,P2,P3 特徴点(特徴部)
P1’,P2’,P3’ 特徴点(特徴部)
W1 メインボデー(ワーク)
W2 ワーク
MP1,MP2 測定点