(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024009106
(43)【公開日】2024-01-19
(54)【発明の名称】ツールの作業位置のずれ量を取得する装置、及び方法
(51)【国際特許分類】
B25J 9/10 20060101AFI20240112BHJP
B23K 11/24 20060101ALI20240112BHJP
B23K 11/11 20060101ALI20240112BHJP
B23K 26/042 20140101ALI20240112BHJP
【FI】
B25J9/10 A
B23K11/24 340
B23K11/11 591Z
B23K26/042
【審査請求】有
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023195230
(22)【出願日】2023-11-16
(62)【分割の表示】P 2019120255の分割
【原出願日】2019-06-27
(71)【出願人】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】梶山 貴史
(72)【発明者】
【氏名】中川 浩
(57)【要約】
【課題】ワークの目標位置に対するツールの作業位置のずれを、実際の作業に則してより高精度に取得する技術が求められている。
【解決手段】移動機械14によってツール16を移動させて該ツール16でワークの目標位置に対して作業を行うときの該目標位置に対する該ツール16の作業位置のずれ量を取得する装置50は、ツール16に対して所定の位置関係に配置され、ツール16に作業のための動作を実行させる第1の時点で目標位置を撮像するカメラ17と、カメラ17が撮像した画像データにおける目標位置の位置と、該画像データにおける作業位置の位置を示す情報と、に基づいて、第1の時点での作業位置と目標位置との間のずれ量を取得するずれ量取得部52とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
移動機械によってツールを移動させて該ツールでワークの目標位置に対して作業を行うときの該目標位置に対する該ツールの作業位置のずれ量を取得する装置であって、
前記ツールに対して所定の位置関係に配置され、前記ツールに前記作業のための動作を実行させる第1の時点で前記目標位置を撮像するカメラと、
前記目標位置の、前記カメラが撮像した画像データにおける位置と、前記作業位置の該画像データにおける位置を示す情報と、に基づいて、前記第1の時点での前記作業位置と前記目標位置との間のずれ量を取得するずれ量取得部と、を備える、装置。
【請求項2】
前記情報を予め記憶する記憶部をさらに備える、請求項1に記載の装置。
【請求項3】
前記ツールに設けられ、前記カメラが前記画像データを撮像するときに、前記作業位置を示すための光を前記ワークに照射する光照射装置をさらに備え、
前記ずれ量取得部は、前記画像データにおける前記光の位置を前記情報として用いて、前記ずれ量を取得する、請求項1に記載の装置。
【請求項4】
前記ツールは、前記作業を行うときに前記ワークと前記作業位置で当接し、
前記第1の時点は、前記ツールを前記ワークに当接させる時点である、請求項1~3のいずれか1項に記載の装置。
【請求項5】
前記ツールは、固定電極と、該固定電極に対して接近及び離反するように軸線に沿って移動する可動電極と、を有する溶接ガンであって、
前記カメラは、該カメラの視線方向が前記軸線と平行となるように、配置される、請求項1~4のいずれか1項に記載の装置。
【請求項6】
前記カメラは、前記視線方向が前記軸線と一致するように、前記可動電極の位置に配置される、請求項5に記載の装置。
【請求項7】
前記ツールは、光軸に沿ってレーザ光を出射するレーザ加工ヘッドであって、
前記カメラは、該カメラの視線方向が前記光軸と一致するように、配置される、請求項1~3のいずれか1項に記載の装置。
【請求項8】
前記ツールは、部品を把持し、該部品を前記目標位置に設けられた穴に嵌合させるロボットハンドであって、
前記カメラは、該カメラの視線方向が、前記ツールが把持する前記部品の軸線と平行となるように、配置される、請求項1~3のいずれか1項に記載の装置。
【請求項9】
前記ずれ量取得部が取得した前記ずれ量に基づいて、前記第1の時点で前記作業位置が前記目標位置に配置されるように前記移動機械の位置を補正する位置補正部をさらに備える、請求項1~8のいずれか1項に記載の装置。
【請求項10】
前記カメラは、前記第1の時点の前又は後の第2の時点で前記目標位置をさらに撮像し、
前記ずれ量取得部は、前記目標位置の、前記第2の時点で前記カメラが撮像した第2の画像データにおける位置と、前記作業位置の該第2の画像データにおける位置を示す情報とに基づいて、前記第2の時点での前記ツールと前記目標位置との間の第2のずれ量をさらに取得する、請求項1~9のいずれか1項に記載の装置。
【請求項11】
前記ずれ量取得部は、
前記画像データの座標を規定するカメラ座標系における前記目標位置の座標と、前記カメラ座標系における前記作業位置の座標と、を用いて、前記カメラ座標系における前記目標位置と前記作業位置との差を求め、
前記ツール又は前記移動機械に対して設定される制御座標系と前記カメラ座標系との既知の位置関係と前記差とを用いて、前記制御座標系における前記ずれ量を取得する、請求項1~10のいずれか1項に記載の装置。
【請求項12】
移動機械によってツールを移動させて該ツールでワークの目標位置に対して作業を行うときの該目標位置に対する該ツールの作業位置のずれ量を取得する方法であって、
前記ツールに対して所定の位置関係に配置されたカメラで、前記ツールに前記作業のための動作を実行させる第1の時点で前記目標位置を撮像し、
前記目標位置の、前記カメラが撮像した画像データにおける位置と、前記作業位置の該画像データにおける位置を示す情報と、に基づいて、前記第1の時点での前記作業位置と前記目標位置との間のずれ量を取得する、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ワークの目標位置に対するツールの作業位置のずれ量を取得する装置、及び方法に関する。
【背景技術】
【0002】
従来、ワークの目標位置に対するツールの作業位置のずれを解消すべく、ワークの目標位置をカメラで撮像し、撮像した画像データからロボットの教示点を補正する技術が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ワークの目標位置に対するツールの作業位置のずれを、実際の作業に則してより高精度に取得する技術が求められている。
【課題を解決するための手段】
【0005】
本開示の一態様において、移動機械によってツールを移動させて該ツールでワークの目標位置に対して作業を行うときの該目標位置に対する該ツールの作業位置のずれ量を取得する装置は、ツールに対して所定の位置関係に配置され、ツールに作業のための動作を実行させる第1の時点で目標位置を撮像するカメラと、目標位置の、カメラが撮像した画像データにおける位置と、作業位置の該画像データにおける位置を示す情報と、に基づいて、第1の時点での作業位置と目標位置との間のずれ量を取得するずれ量取得部とを備える。
【0006】
本開示の他の態様において、移動機械によってツールを移動させて該ツールでワークの目標位置に対して作業を行うときの該目標位置に対する該ツールの作業位置のずれ量を取得する方法は、ツールに対して所定の位置関係に配置されたカメラで、ツールに作業のための動作を実行させる第1の時点で目標位置を撮像し、目標位置の、カメラが撮像した画像データにおける位置と、作業位置の該画像データにおける位置を示す情報と、に基づいて、第1の時点での作業位置と目標位置との間のずれ量を取得する。
【発明の効果】
【0007】
本開示によれば、画像データから、ワーク上の目標位置と、該ワークに対してツールが実際に作業すると推定される作業位置との間のずれ量を、オペレータが測定することなく、自動的且つ高精度に求めることができる。
【図面の簡単な説明】
【0008】
【
図1】一実施形態に係る機械システムのブロック図である。
【
図5】
図3に示すカメラが撮像する画像データの一例を示す。
【
図6】ツール及びカメラの位置関係の他の例を示す。
【
図7】
図6に示すカメラが撮像する画像データの一例を示す。
【
図8】ツール及びカメラの位置関係のさらに他の例を示す。
【
図9】
図8に示すカメラが撮像する画像データの一例を示す。
【
図10】他の実施形態に係る機械システムのブロック図である。
【
図11】
図10に示すツール、カメラ、及び光照射装置の拡大図である。
【
図12】
図11に示すカメラが撮像する画像データの一例を示す。
【
図13】
図3に示すカメラが撮像する画像データの他の例を示す。
【
図14】
図3に示すカメラが撮像する画像データのさらに他の例を示す。
【
図15】他の実施形態に係るツールの拡大図である。
【
図16】さらに他の実施形態に係るツールの拡大図である。
【
図17】
図16に示すツールが部品を穴に嵌合させる作業を行っている状態を示す。
【
図19】
図18に示すカメラが撮像する画像データの一例を示す。
【
図20】さらに他の実施形態に係る機械システムのブロック図である。
【
図21】さらに他の実施形態に係る機械システムのブロック図である。
【発明を実施するための形態】
【0009】
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、
図1~
図3を参照して、一実施形態に係る機械システム10について説明する。機械システム10は、制御装置12、移動機械14、ツール16、及びカメラ17を備える。
【0010】
制御装置12は、プロセッサ(CPU、GPU等)18、及び記憶部(ROM、RAM等)20を有するコンピュータであって、移動機械14、ツール16、及びカメラ17を制御する。プロセッサ18は、記憶部20とバス19を介して互いに通信可能に接続され、記憶部20と通信しつつ、各種演算を実行する。
【0011】
図2に示すように、移動機械14は、垂直多関節型ロボットであって、ベース部22、旋回胴24、下腕部26、上腕部28、及び手首部30を有する。ベース部22は、作業セルの床の上に固定される。旋回胴24は、鉛直軸周りに回動可能となるようにベース部22に設けられている。下腕部26は、水平軸周りに回動可能となるように旋回胴24に設けられている。
【0012】
上腕部28は、下腕部26の先端部に回動可能に設けられている。手首部30は、上腕部28の前端部に回動可能に設けられている。ベース部22、旋回胴24、下腕部26、上腕部28、及び手首部30には、複数のサーボモータ31(
図1)がそれぞれ内蔵されている。プロセッサ18は、各サーボモータ31に指令を送り、該サーボモータ31によって移動機械14の各可動要素(すなわち、旋回胴24、下腕部26、上腕部28、手首部30)を駆動する。
【0013】
ツール16は、手首部30に取り付けられている。本実施形態においては、ツール16は、スポット溶接ガンである。具体的には、
図3に示すように、ツール16は、ベース部32、固定アーム34、可動アーム36、サーボモータ38、固定電極44、及び可動電極46を有する。
【0014】
ベース部32は、手首部30に連結されている。固定アーム34は、その基端40がベース部32に固定されており、その先端42に固定電極44が固定されている。本実施形態においては、固定アーム34は、基端40から先端42まで略L字状に湾曲して延在する。
【0015】
可動アーム36は、軸線A(いわゆる、ガン軸)に沿って移動可能となるように、ベース部32に設けられている。本実施形態においては、可動アーム36は、直線状に延びる棒状部材であって、その上端部(図示せず)が、運動変換機構48を介して、サーボモータ38の出力シャフト(図示せず)に機械的に接続され、その下端に可動電極46が固定されている。
【0016】
運動変換機構48は、例えば、ボール螺子機構、又は、タイミングベルト及びプーリーからなる機構を含み、サーボモータ38の出力シャフトの回転運動を、軸線Aに沿った往復運動へ変換する。可動アーム36は、この運動変換機構48を介して、サーボモータ38によって軸線Aに沿って往復動される。
【0017】
固定電極44及び可動電極46は、軸線A上に整列するように配置されている。サーボモータ38が可動アーム36を移動させるにつれて、可動電極46は、固定電極44に対して接近及び離反するように、軸線Aに沿って移動される。固定電極44及び可動電極46は、プロセッサ18からの指令に応じて通電する。これにより、固定電極44及び可動電極46の間に挟持したワークをスポット溶接することができる。
【0018】
図2に示すように、移動機械14には、移動機械座標系C
Mが設定される。移動機械座標系C
Mは、移動機械14の各可動要素を自動制御するための制御座標系(いわゆる、ロボット座標系)である。本実施形態においては、移動機械座標系C
Mの原点が、ベース部22の中心に配置され、移動機械座標系C
Mのz軸が、実空間の鉛直方向に平行であり、旋回胴24が、移動機械座標系C
Mのz軸周りに回動されるように、移動機械座標系C
Mが移動機械14に対して設定される。
【0019】
一方、ツール16には、
図3に示すようにツール座標系C
Tが設定される。このツール座標系C
Tは、3次元空間内におけるツール16の位置を自動制御するための制御座標系である。なお、本稿において、「位置」とは、位置及び姿勢を意味することがある。本実施形態においては、ツール座標系C
Tの原点が固定電極44上(例えば、上面の中心)に位置し、ツール座標系C
Tのz軸が軸線Aと一致する(又は平行となる)ように、ツール座標系C
Tがツール16に対して設定されている。
【0020】
プロセッサ18は、ツール16の位置を、ツール座標系CTによって規定される位置に一致させるように、移動機械14の各可動要素を移動機械座標系CMにおいて動作させる。こうして、ツール16は、移動機械14によって移動され、移動機械座標系CMにおける任意の位置に配置される。
【0021】
カメラ17は、CCD又はCMOS等の撮像センサと、フォーカスレンズ等の光学系とを有し、ツール16に対して所定の位置関係に配置される。本実施形態においては、カメラ17は、
図3に示すように、その視線方向Dが軸線A(すなわち、ツール座標系C
Tのz軸)と一致するように、可動電極46上の位置に配置されている。
図3に示す状態においては、可動アーム36は、軸線Aの方向における予め定めた位置(例えば、固定電極44から最も離反した後退位置)に静止して配置されている。
【0022】
カメラ17は、視線方向Dに沿って物体を撮像し、撮像した画像データを、制御装置12へ供給する。カメラ17に対しては、カメラ座標系CCが設定される。カメラ座標系CCは、カメラ17が撮像する画像データの各画素の座標を規定する座標系であって、カメラ17によって撮像された画像データの各画素は、カメラ座標系CCで座標化される。
【0023】
次に、
図1~
図4を参照してツール16が行う作業について説明する。ツール16は、
図4に示すワークW上に設定された複数の目標位置B
n(n=1,2,3,・・・)に対してスポット溶接作業を行う。ワークWは、例えば、自動車の車体用板金である。プロセッサ18は、移動機械14を動作させて、ツール16を、第nの目標位置B
nに対するスポット溶接作業を実行するための第nの教示点C
nに配置させる。
【0024】
具体的には、プロセッサ18は、ツール座標系CTを、その原点が第nの教示点Cnに配置され、且つ、そのz軸が第nの目標位置Bnを通過するように、設定する。そして、プロセッサ18は、ツール16の位置を、設定したツール座標系CTによって規定される位置に一致させるように、移動機械14を動作させる。
【0025】
こうして、プロセッサ18は、ツール16を第nの教示点Cnに配置する。ツール16が第nの教示点Cnに配置されたとき、第nの目標位置Bnは、可動電極46と固定電極44との間に配置される。なお、第nの教示点Cnは、第nの目標位置Bnに一致してもよいし、該第nの目標位置Bnから所定の方向(例えば、ツール座標系CTのz軸マイナス方向)へ離隔してもよい。
【0026】
ツール16を第nの教示点Cnに配置させるとともに、プロセッサ18は、ツール16のサーボモータ38を駆動して、可動電極46を固定電極44に接近するように移動させ、ワークWの第nの目標位置Bnを、可動電極46と固定電極44との間で挟み込む。なお、プロセッサ18は、ツール16を第nの教示点Cnに配置させたときに可動電極46を固定電極44に接近させる動作を開始してもよい。
【0027】
代替的には、プロセッサ18は、ツール16を第nの教示点Cnへ移動させているときに可動電極46を固定電極44に接近させる動作を開始してもよい。可動電極46と固定電極44との間でワークWの第nの目標位置Bnを挟み込んだとき、プロセッサ18は、可動電極46及び固定電極44を通電させ、該第nの目標位置Bnをスポット溶接する。プロセッサ18は、このようなスポット溶接作業を、全ての目標位置Bnに対して繰り返し実行する。
【0028】
プロセッサ18は、このようなスポット溶接作業のための一連の動作を、作業プログラムに従って実行する。この作業プログラムは、ツール16を第nの教示点Cnへ位置決めする動作を移動機械14に教示すること等により構築され、記憶部20に予め記憶される。作業プログラムは、第nの教示点Cnの位置情報(移動機械座標系CMにおける座標)、ツール16を第nの教示点Cnへ位置決めするための位置決め指令、可動電極46及び固定電極44にスポット溶接を実行させるための溶接開始指令等を含む。
【0029】
ここで、プロセッサ18が作業プログラムに従って可動電極46と固定電極44との間で第nの目標位置Bnを挟み込む動作を行ったときに、可動電極46及び固定電極44が実際にワークWと当接する作業位置が、第nの目標位置Bnからずれ得る。このようなずれは、例えば、移動機械14によってツール16を移動させるときの加減速等によって該ツール16に生じる微小振動に起因する。
【0030】
そこで、本実施形態においては、プロセッサ18は、第nの目標位置Bnに対するツール16の作業位置のずれ量を取得する。以下、機械システム10においてずれ量を取得する動作について説明する。ずれ量を取得する動作の準備段階として、オペレータは、ワークWの第nの目標位置Bnの各々に、マークを付す。
【0031】
このマークは、例えば、ワークWに設けられた刻印、シール、又は塗装であって、第nの目標位置Bnを、カメラ17が撮像する画像に視覚的に写るようにするためのものである。なお、第nの目標位置Bnに視認可能な特徴(角部、凹部等)がある場合は、マークを省略することもできる。
【0032】
ワークWを移動機械14に対して所定位置にセットした後、プロセッサ18は、作業プログラムに従って移動機械14を動作させて、ツール16を第nの教示点Cnへ向かって移動させる。そして、プロセッサ18は、第nの目標位置Bnに対するスポット溶接作業のための動作をツール16に実行させる時点τnで、該第nの目標位置Bnをカメラ17に撮像させる。
【0033】
一例として、カメラ17で撮像する時点τnは、ツール16の可動電極46及び固定電極44をワークWと当接させる時点に設定される。可動電極46及び固定電極44がワークWと当接する時点は、予測可能である。具体的には、プロセッサ18は、作業プログラムから溶接開始指令を受け付け、可動電極46を固定電極44へ向かって移動させるための指令をサーボモータ38へ送信する。
【0034】
プロセッサ18がサーボモータ38へ指令を送信してから、該サーボモータ38が可動電極46を移動させて固定電極44との間でワークWを挟み込むまでの時間τxは、サーボモータ38の加減速特性等から予測できる。したがって、可動電極46及び固定電極44がワークWと当接する時点τnは、プロセッサ18がサーボモータ38へ指令を送信した時点から時間τxだけ経過した時点として、定めることができる。
【0035】
他の例として、カメラ17で撮像する時点τnは、プロセッサ18が作業プログラムから溶接開始指令を受け付けて、可動電極46を移動させるための指令をサーボモータ38へ送信した時点に設定され得る。さらに他の例として、カメラ17で撮像する時点τnは、ワークWを挟み込んだ可動電極46及び固定電極44に通電させる時点に設定され得る。該通電させる時点は、例えば、プロセッサ18が、可動電極46及び固定電極44に電圧を供給する電圧源(図示せず)へ電圧供給指令を送信した時点(又は、該時点から予め定めた時間経過後の時点)である。カメラ17で撮像する時点τnは、オペレータによって定められる。
【0036】
なお、本実施形態においては、プロセッサ18は、この時点τnにおいて、可動電極46を固定電極44へ向かって実際に移動させない。例えば、プロセッサ18は、可動電極46を移動させるための指令をサーボモータ38へ実際に送信せずに、該指令を送信するタイミングだけを認識するように構成されてもよい。又は、プロセッサ18は、サーボモータ38を実際に動作させない疑似指令を該サーボモータ38に送信してもよい。
【0037】
時点τ
nでカメラ17が撮像した画像データを画像化した例を
図5に示す。
図5に示す画像データ60においては、ワークW上の第nの目標位置B
nが写っている。なお、
図5においては、参考のために、ワークWの裏面側にある固定電極44を点線表示するとともに、ツール座標系C
Tを図示している。
【0038】
上述したように、本実施形態においては、カメラ17は、その視線方向Dが軸線Aと一致するように配置されている。この場合、画像データ60の中心に、固定電極44(又はツール座標系CTの原点)が配置される。したがって、画像データ60においては、その中心点(中心の画素)Fnが、実際のスポット溶接作業時に可動電極46を固定電極44へ移動させたときに可動電極46及び固定電極44がワークWと当接して挟み込む作業位置であると見做すことができる。
【0039】
記憶部20は、カメラ座標系CCにおける中心点Fnの座標を、画像データ60における作業位置の位置を示す情報として、予め記憶する。画像データ60においては、第nの目標位置Bnは、中心点(すなわち、ツール16の作業位置)Fnから、カメラ座標系CCのx軸プラス方向へ差xC、y軸プラス方向へ差yCだけ、ずれている。換言すれば、画像データ60において第nの目標位置Bnは作業位置Fnから、差Ec(|Ec|=(xC
2+yC
2)1/2)だけ、ずれている。なお、これら差xC、yC、及びEcは、ベクトルである。
【0040】
プロセッサ18は、カメラ17から取得した画像データ60を解析し、第nの目標位置Bnを写す1つの画素(例えば、第nの目標位置Bnの画像領域の中心の画素)の、カメラ座標系CCにおける座標を取得する。そして、プロセッサ18は、カメラ座標系CCにおける第nの目標位置Bnの座標と、予め記憶された作業位置(中心点)Fnの座標とを用いて、カメラ座標系CCにおける差xC及びyC(又はEc)を求め、該差xC及びyC(又はEc)と、ツール座標系CTとカメラ座標系CCとの既知の位置関係とを用いて、ツール座標系CTにおける作業位置Fnと第nの目標位置Bnとの間のずれ量を取得する。
【0041】
ここで、カメラ17とツール16とが、互いに既知の位置関係に配置されているので、ツール座標系CTとカメラ座標系CCとの位置関係を表す第1の変換行列(例えば同次変換行列)の各パラメータは、ツール座標系CTとカメラ座標系CCとを校正することにより、求めることができる。この校正により、ツール座標系CTの座標と、カメラ座標系CCの座標とは、第1の変換行列を介して、相互に変換できる。
【0042】
プロセッサ18は、第1の変換行列を用いて、カメラ座標系CCにおける差xC及びyC、又は差Ecを、ツール座標系CTにおけるずれ量xT及びyT、又はずれ量ETに変換する。これらずれ量xT、yT、及びETは、ベクトルである。こうして、プロセッサ18は、時点τnでのツール座標系CTにおける作業位置Fnと第nの目標位置Bnとの間のずれ量xT及びyT(又はET)を取得できる。
【0043】
以上のように、プロセッサ18は、第nの目標位置Bnの画像データ60における位置と、画像データ60に定められる作業位置Fnの位置とに基づいて、時点τnでの作業位置Fnと第nの目標位置Bnとの間のずれ量xT及びyT(又はET)を取得する。したがって、本実施形態においては、プロセッサ18は、ずれ量取得部52として機能する。
【0044】
このように取得されたずれ量xT及びyT(又はET)は、ツール16を第nの教示点Cnに配置した時点での目標位置Bnと作業位置Fnとのずれ量ではなく、ツール16にスポット溶接作業のための動作(例えば、サーボモータ38への指令、可動電極46のワークWへの当接、可動電極46及び固定電極44への通電)を実行させる時点τnでの目標位置Bnと作業位置Fnとのずれ量を正確に表すデータとなる。
【0045】
次いで、プロセッサ18は、取得したずれ量x
T及びy
T(又はE
T)に基づいて、時点τ
nで作業位置F
nが第nの目標位置B
nに配置されるように、移動機械14の位置を補正する。例えば、
図5に示す例の場合、プロセッサ18は、作業プログラムに規定されていた第nの教示点C
nを、ツール座標系C
Tのx軸マイナス方向へずれ量x
T、ツール座標系C
Tのy軸プラス方向へずれ量y
Tだけ移動させた位置に、自動で補正する。又は、プロセッサ18は、第nの教示点C
nを、ツール座標系C
Tにおいてずれ量E
Tだけ移動させた位置に、補正する。
【0046】
このようにして、プロセッサ18は、作業プログラムに含まれる第nの教示点C
nの位置情報を補正し、これにより、作業プログラムを更新する。したがって、プロセッサ18は、移動機械14の位置(第nの教示点C
n)を補正する位置補正部54(
図1)として機能する。
【0047】
以上のように、本実施形態においては、時点τ
nで第nの目標位置B
nを撮像するカメラ17と、ずれ量x
T、y
T、E
Tを取得するずれ量取得部52とによって、第nの目標位置B
nに対するツール16の作業位置F
nのずれ量x
T、y
T、E
Tを取得している。したがって、カメラ17及びずれ量取得部52は、第nの目標位置B
nに対するツール16の作業位置F
nのずれ量x
T、y
T、E
Tを取得する装置50(
図1)を構成する。
【0048】
この装置50によれば、画像データ60から、ワークW上の第nの目標位置Bnと、該ワークWに対してツール16が実際に作業すると推定される作業位置Fnとの間のずれ量xT、yT、ETを、オペレータが測定することなく、自動的且つ高精度に求めることができる。
【0049】
また、本実施形態においては、記憶部20は、装置50を構成し、カメラ座標系CCにおける中心点Fnの座標を、画像データ60における作業位置Fnの位置を示す情報として予め記憶している。この構成によれば、作業位置Fnの位置を都度設定したり、検出したりする必要がないので、ずれ量xT、yT、ETを、比較的簡単なアルゴリズムで迅速に取得できる。
【0050】
また、本実施形態においては、位置補正部54は、装置50を構成し、取得したずれ量xT及びyT(又はET)に基づいて移動機械14の位置(第nの教示点Cn)を補正している。この構成によれば、プロセッサ18が、更新後の作業プログラムに従ってスポット溶接作業の一連の動作を実行したときに、ツール16の作業位置Fn(可動電極46及び固定電極44の挟持位置)を目標位置Bnに、より高精度に配置させることができる。また、オペレータが手動で教示点Cnの補正を行う作業を省くことができるので、移動機械14の教示に掛かる作業を軽減できる。
【0051】
また、本実施形態においては、プロセッサ18は、ずれ量取得部52として機能して、カメラ座標系CCにおける差xC及びyC(又はEc)を求め、該差xC及びyC(又はEc)と、ツール座標系CTとカメラ座標系CCとの既知の位置関係(具体的には、第1の変換行列)とを用いて、ツール座標系CTにおけるずれ量xT及びyT(又はET)を求めている。この構成によれば、画像データ60から、制御座標系におけるずれ量xT及びyT(又はET)を、より高精度に求めることができる。
【0052】
また、本実施形態においては、カメラ17は、その視線方向Dが軸線A(すなわち、ツール座標系のz軸)と一致するように可動電極46上の位置に配置されている。この場合、カメラ17が撮像する画像データ60の中心点Fnに、ツール16の作業位置Fnが配置されることになる。
【0053】
この構成によれば、オペレータは、画像データ60を視認したときに、第nの目標位置Bnからの作業位置Fnのずれの大きさ及び方向を、直感的に把握することができる。また、ツール座標系CTとカメラ座標系CCとを校正するときに、視線方向D(ツール座標系のz軸)のパラメータのみを考慮すればよいので、校正作業を簡易化できる。
【0054】
なお、カメラ17の設置位置は、
図3に示す形態(すなわち、可動電極46の位置)に限定されない。以下、
図6を参照して、ツール16に対するカメラ17の設置位置の他の例について説明する。
図6に示す形態においては、カメラ17は、取り付け具62を介してベース部32に取り付けられて、ツール16に対して所定の位置関係に配置される。
【0055】
具体的には、カメラ17は、その視線方向Dが軸線Aと平行であり、視線方向Dが軸線Aから所定の距離だけオフセットされ、且つ、カメラ17の視野に固定電極44が含まれるように、ツール16に対して固定されている。
図6に示すカメラ17で、スポット溶接作業のための動作をツール16に実行させる時点τ
nで第nの目標位置B
nを撮像した画像データを画像化した例を、
図7に示す。
【0056】
図7に示す画像データ64においては、実際のスポット溶接作業時に可動電極46を固定電極44へ移動させたときに可動電極46及び固定電極44がワークWと当接して挟み込む作業位置F
n(又は、ツール座標系C
Tの原点)は、画像データ64の中心(すなわち、視線方向D)からずれることになる。
【0057】
このときの画像データ64における作業位置Fnの位置は、カメラ17(具体的には、視線方向D)とツール16(具体的には、固定電極44、又はツール座標系CTの原点)との位置関係に応じて、定められる。記憶部20は、画像データ64における作業位置Fnの位置を示す情報として、カメラ座標系CCにおける作業位置Fnの座標を記憶部20に予め記憶する。
【0058】
プロセッサ18は、カメラ17が撮像した画像データ64を解析し、第nの目標位置Bnを写す1つの画素のカメラ座標系CCにおける座標を取得し、該座標と、予め記憶された作業位置Fnの座標とを用いて、カメラ座標系CCにおける差xC及びyC(又はEc)を求める。
【0059】
ここで、
図6に示すカメラ17とツール16とは、互いに既知の位置関係に配置されているので、
図6中のツール座標系C
Tとカメラ座標系C
Cとの位置関係を表す第2の変換行列(例えば同次変換行列)の各パラメータは、ツール座標系C
Tとカメラ座標系とを校正することにより、求めることができる。この校正により、ツール座標系C
Tの座標と、カメラ座標系C
Cの座標とは、第2の変換行列を介して、相互に変換できる。
【0060】
プロセッサ18は、第2の変換行列を用いて、カメラ座標系CCにおける差xC及びyC、又は差Ecを、ツール座標系CTにおけるずれ量xT及びyT、又はずれ量ETに変換する。こうして、プロセッサ18は、時点τnでの作業位置Fnと第nの目標位置Bnとの間のずれ量xT及びyT(又はET)を取得できる。
【0061】
図8に、ツール16に対するカメラ17の設置位置のさらに他の例を示す。
図8に示す形態においては、カメラ17は、ツール16に対して、その視線方向Dが軸線Aに対して所定の角度θで傾斜し、且つ、カメラ17の視野に固定電極44が含まれる位置関係に、固定されている。
図8に示すカメラ17で、スポット溶接作業のための動作をツール16に実行させる時点τ
nで第nの目標位置B
nをカメラ17で撮像した画像データを画像化した例を、
図9に示す。
【0062】
図9に示す画像データ66における作業位置F
n(又は、ツール座標系C
Tの原点)の位置は、カメラ17とツール16との位置関係に応じて定められる。例えば、カメラ17がツール16に対して、その視線方向Dがツール座標系C
Tの原点を通過する位置関係に配置された場合、画像データ66の中心点F
nを作業位置F
nと見做すことができる。記憶部20は、画像データ66における作業位置F
nの位置を示す情報として、カメラ座標系C
Cにおける作業位置F
nの座標を記憶部20に予め記憶する。
【0063】
プロセッサ18は、カメラ17が撮像した画像データ66を解析し、第nの目標位置Bnを写す1つの画素のカメラ座標系CCにおける座標を取得し、該座標と、予め記憶された作業位置Fnの座標とを用いて、カメラ座標系CCにおける差xC及びyC(又はEc)を求める。
【0064】
図8に示すカメラ17とツール16とは、互いに既知の位置関係に配置されているので、
図8中のツール座標系C
Tとカメラ座標系C
Cとの位置関係を表す第3の変換行列(例えば同次変換行列)の各パラメータは、ツール座標系C
Tとカメラ座標系とを校正することにより、求めることができる。この校正により、ツール座標系C
Tの座標と、カメラ座標系C
Cの座標とは、第3の変換行列を介して、相互に変換できる。
【0065】
プロセッサ18は、第3の変換行列を用いて、カメラ座標系CCにおける差xC及びyC、又は差Ecを、ツール座標系CTにおけるずれ量xT及びyT、又はずれ量ETに変換する。こうして、プロセッサ18は、時点τnでの作業位置Fnと第nの目標位置Bnとの間のずれ量xT及びyT(又はET)を取得できる。
【0066】
次に、
図10及び
図11を参照して、他の実施形態に係る機械システム70について説明する。機械システム70は、上述の機械システム10と、光照射装置72をさらに備える点で相違する。なお、本実施形態におけるカメラ17とツール16との位置関係は、
図6に示す形態と同じである。
【0067】
光照射装置72は、例えばレーザポインタであって、光軸Oに沿って直進する光(例えば、レーザ光)を出力する。光照射装置72は、その光軸Oが軸線A(又は、ツール座標系C
Tのz軸)と一致するように、可動電極46上の位置に配置されている。
図11に示す状態においては、可動アーム36は、軸線Aの方向における予め定めた位置(例えば、固定電極44から最も離反した後退位置)に静止して配置されている。
【0068】
次に、機械システム70においてずれ量xT、yT、ETを取得する動作について説明する。プロセッサ18は、上述の実施形態と同様に、作業プログラムに従って移動機械14を動作させて、ツール16を第nの教示点Cnへ移動させ、スポット溶接作業のための動作をツール16に実行させる時点τnで、マーク等により視認可能とされている第nの目標位置Bnを、カメラ17で撮像する。
【0069】
ここで、本実施形態においては、プロセッサ18は、第nの目標位置B
nをカメラ17で撮像する前に、光照射装置72を動作させて、光照射装置72に光を出力させる。時点τ
nでカメラ17が撮像した画像データを画像化した例を
図12に示す。
図12に示す画像データ84においては、ワークW上の第nの目標位置B
nとともに、光照射装置72からワークWの表面に照射された光86が写っている。
【0070】
光照射装置72は、その光軸Oが軸線A(ツール座標系CTのz軸)と一致するように配置されているので、画像データ84における光86の位置は、実際のスポット溶接作業時に可動電極46及び固定電極44がワークWと当接して挟み込む作業位置Fnを示すものと見做すことができる。
【0071】
プロセッサ18は、画像データ84において光86を写す1つの画素(例えば、光86の画像領域の中心の画素)のカメラ座標系CCにおける座標を取得し、該座標を、画像データ84における作業位置Fnの位置を示す情報として記憶部20に記憶する。また、プロセッサ18は、カメラ17が撮像した画像データ84を解析し、第nの目標位置Bnを写す1つの画素のカメラ座標系CCにおける座標を取得する。そして、プロセッサ18は、画像データ84に写る光86から求めた作業位置Fnの座標と、第nの目標位置Bnの座標とを用いて、カメラ座標系CCにおける差xC及びyC(又はEc)を求める。
【0072】
そして、プロセッサ18は、
図11中のツール座標系C
Tとカメラ座標系C
Cとの位置関係を表す第2の変換行列を用いて、カメラ座標系C
Cにおける差x
C及びy
C、又は差E
cを、ツール座標系C
Tにおけるずれ量x
T及びy
T、又はずれ量E
Tに変換する。こうして、プロセッサ18は、時点τ
nでの作業位置F
nと第nの目標位置B
nとの間のずれ量x
T及びy
T(又はE
T)を取得できる。
【0073】
本実施形態においては、カメラ17、記憶部20、ずれ量取得部52、位置補正部54、及び光照射装置72は、第nの目標位置B
nに対するツール16の作業位置F
nのずれ量x
T、y
T、E
Tを取得する装置80(
図10)を構成する。そして、光照射装置72が、カメラ17が画像データ84を撮像するときに、作業位置F
nを示すための光をワークWに照射している。
【0074】
本実施形態によれば、画像データ84における作業位置Fnの位置を示す情報を予め準備する必要がなく、画像データ84に写る光86から、該画像データ84における作業位置Fnの位置を示す情報(すなわち、画像データ84において光86を写す画素のカメラ座標系CCにおける座標)を自動で取得できる。
【0075】
なお、上述の実施形態において、カメラ17は、時点τnよりも時間tだけ前の時点τn-t、又は、時点τnよりも時間tだけ後の時点τn+tで、第nの目標位置Bnをさらに撮像してもよい。換言すれば、カメラ17は、時点τnを含む、時系列的に連続する複数の時点τn-t、τn、τn+tで、第nの目標位置Bnを周期tで連続的に撮像(すなわち、動画撮影)してもよい。連写の周期tは、カメラ17の光学的仕様等に応じて定められ得る。
【0076】
以下、
図3に示す実施形態においてカメラ17が時点τ
n-t、τ
n、及びτ
n+tで第nの目標位置B
nを連続的に撮像した場合について説明する。
図13に、時点τ
n-tで第nの目標位置B
nを撮像した画像データを画像化した例を示す。また、
図14に、時点τ
n+tで第nの目標位置B
nを撮像した画像データを画像化した例を示す。なお、
図13及び
図14においては、参考のために、
図5に示す画像データ60中の第nの目標位置B
nの位置を、白点Gで示している。
【0077】
図13に示すように、時点τ
n-tでカメラ17が撮像した画像データ90においては、第nの目標位置B
nは、画像データ90の中心点(すなわち、作業位置)F
nから、カメラ座標系C
Cのx軸プラス方向へ差x
C’、y軸プラス方向へ差y
C’だけ、ずれている。換言すれば、第nの目標位置B
nは作業位置F
nから、差E
c’(|E
c’|=(x
C’
2+y
C’
2)
1/2)だけ、ずれている。
【0078】
プロセッサ18は、上述した方法によって、カメラ座標系CCにおける差xC’及びyC’、又は差Ec’を求め、第1の変換行列を用いて、カメラ座標系CCにおける差xC’及びyC’、又は差Ec’を、ツール座標系CTにおけるずれ量xT’及びyT’、又はずれ量ET’に変換し、時点τn-tでの作業位置Fnと第nの目標位置Bnとの間のずれ量xT’及びyT’(又はET’)を取得できる。
【0079】
一方、
図14に示すように、時点τ
n+tでカメラ17が撮像した画像データ92においては、第nの目標位置B
nは、画像データ92の中心点(すなわち、作業位置)F
nから、カメラ座標系C
Cのx軸プラス方向へ差x
C”、y軸プラス方向へ差y
C”だけ、ずれている。換言すれば、第nの目標位置B
nは作業位置F
nから、差E
c”(|E
c”|=(x
C”
2+y
C”
2)
1/2)だけ、ずれている。
【0080】
プロセッサ18は、上述した方法によって、カメラ座標系CCにおける差xC”及びyC”、又は差Ec”を求め、第1の変換行列を用いて、カメラ座標系CCにおける差xC”及びyC”、又は差Ec”を、ツール座標系CTにおけるずれ量xT”及びyT”、又はずれ量ET”に変換し、時点τn+tでの作業位置Fnと第nの目標位置Bnとの間のずれ量xT”及びyT”(又はET”)を取得できる。このように、異なる複数の時点τn-t、τn、τn+tで、ずれ量が異なり得る。本実施形態においては、プロセッサ18は、異なる複数の時点τn-t、τn、τn+tで、ずれ量をそれぞれ取得する。
【0081】
ここで、作業対象のワークWの実際の寸法(例えば、厚み)には、バラツキが生じる可能性がある。ワークWの寸法にバラツキが生じると、該寸法に応じて、実際のスポット溶接作業時に可動電極46及び固定電極44がワークWと当接して挟み込む時点も変動することになる。
【0082】
例えば、ワークWの厚みの公称寸法がa0であり、寸法公差が±0.1であり、且つ、時点τnが、公称寸法a0のワークWに対して可動電極46及び固定電極44が当接する時点として設定されたと仮定する。この場合において、実際の寸法がa0+0.1である(つまり、公称厚み寸法a0よりも厚い)ワークWを可動電極46及び固定電極44で挟持させると、可動電極46及び固定電極44が該ワークWに当接する時点は、時点τnよりも前の時点となる。
【0083】
反対に、実際の厚み寸法がa0-0.1である(つまり、公称厚み寸法a0よりも薄い)ワークWを可動電極46及び固定電極44で挟持させると、可動電極46及び固定電極44が該ワークWに当接する時点は、時点τnよりも後の時点となる。したがって、ワークWの実際の厚み寸法が、公称厚み寸法a0よりも薄い又は厚い場合、時点τnで第nの目標位置Bnを撮像したとしても、このときの画像データ中の第nの目標位置Bnは、可動電極46及び固定電極44が該ワークWに当接する時点の位置を示していないことになり得る。
【0084】
そこで、本実施形態においては、カメラ17は、異なる複数の時点τn-t、τn、τn+tで第nの目標位置Bnを連写(動画撮影)し、プロセッサ18は、取得した複数の画像データ60、90、92の各々に関して、ずれ量xT及びyT(又はET)、xT’及びyT’(又はET’)、並びに、xT”及びyT”(又はET”)を取得する。
【0085】
例えば、時点τn-tが、a0+0.1の寸法のワークWに対して可動電極46及び固定電極44が当接する時点に対応し、時点τn+tが、a0-0.1の寸法のワークWに対して可動電極46及び固定電極44が当接する時点に対応しているとすると、プロセッサ18は、公称寸法a0のワークWに関するずれ量xT及びyT(又はET)と、公称寸法a0±寸法公差の寸法のワークWに関するずれ量xT’及びyT’(又はET’)、及び、ずれ量xT”及びyT”(又はET”)とを、それぞれ取得できることになる。
【0086】
このように、複数の時点τ
n-t、τ
n、τ
n+tで撮像した画像データ60、90、92からずれ量を取得することによって、ワークWの寸法のバラツキに対応したずれ量を取得することができ得る。一例として、プロセッサ18は、以下の表1の画像を生成し、制御装置12に設けられたディスプレイ(図示せず)に表示させてもよい。
【表1】
【0087】
オペレータは、表1を参照することにより、第nの目標位置Bnに対するツール16の作業位置Fnのずれ量を、寸法公差を考慮して統計的に分析することが可能となる。なお、本実施形態においては、一例として、3つの時点τn-t、τn、τn+tでカメラ17が第nの目標位置Bnを撮像した場合について述べたが、公称寸法a0のワークWに対応する時点τnを含む、4以上の時点で第nの目標位置Bnを連写してもよい。これにより、ずれ量をより詳細に分析できる。
【0088】
なお、上述の実施形態においては、ツール16がスポット溶接ガンである場合について述べたが、ツールはスポット溶接ガンに限定されない。以下、
図15を参照して、他の実施形態に係るツール96について説明する。ツール96は、光軸Pに沿ってレーザ光を出射し、作業位置F
nでワークWをレーザ加工するレーザ加工ヘッドである。ツール96は、上述のツール16の代わりに、移動機械14の手首部30に取り付けられる。
【0089】
プロセッサ18は、ツール96の外部に設けられたレーザ発振器(図示せず)にレーザ発振指令を送り、該レーザ発振器は、光ファイバ等の導光路を通してレーザ光をツール96に供給する。ツール96は、出射口96aからレーザ光を光軸Pに沿って出射し、該レーザ光によってワークWをレーザ加工(レーザ切断、レーザ溶接等)する。ツール96に対して、ツール座標系CTが設定されている。本実施形態においては、ツール座標系CTは、その原点が出射口96aの中心に位置し、ツール座標系CTのz軸が光軸Pと一致する(又は平行となる)ように、ツール96に対して設定されている。
【0090】
プロセッサ18は、例えば
図4に示すワークW上の第nの目標位置B
n(n=1,2、・・・)の各々に対してレーザ加工作業を行う。具体的には、プロセッサ18は、移動機械14を動作させて、ツール96を、第nの目標位置B
nに対するレーザ加工作業を実行するための第nの教示点C
nに配置させる。このとき、プロセッサ18は、ツール座標系C
Tを、その原点が第nの教示点C
nに配置され、且つ、そのz軸(すなわち、光軸P)が第nの目標位置B
nを通過するように、設定する。
【0091】
そして、プロセッサ18は、レーザ発振器にレーザ発振指令を送り、ツール96からレーザ光を出射し、該レーザ光によって、ワークWを作業位置Fnでレーザ加工する。すなわち、本実施形態における作業位置Fnは、ツール96がワークW上にレーザ光を照射する位置(又は、光軸PとワークWの表面との交点)である。
【0092】
プロセッサ18は、このようなレーザ加工作業を、全ての目標位置Bnに対して繰り返し実行する。プロセッサ18は、このようなレーザ加工作業のための一連の動作を、作業プログラムに従って実行する。この作業プログラムは、記憶部20に予め記憶される。作業プログラムは、第nの教示点Cnの位置情報、ツール96を第nの教示点Cnへ位置決めするための位置決め指令、レーザ発振器へのレーザ発振指令等を含む。
【0093】
プロセッサ18が作業プログラムに従ってツール96を第nの教示点Cnに配置して、該ツール96からレーザ光を出力する動作を行ったときに、該レーザ光が実際にワークW上に照射される作業位置Fnが第nの目標位置Bnからずれ得る。そこで、装置50は、上述の実施形態と同様に、第nの目標位置Bnに対するツール96の作業位置Fnのずれ量を取得する。
【0094】
図15に示すように、装置50のカメラ17は、ツール96に対して所定の位置関係に配置される。具体的には、カメラ17は、その視線方向Dが光軸P(すなわち、ツール座標系C
Tのz軸)と一致するように、ツール96の出射口96aに配置されている。
【0095】
ずれ量を取得するとき、プロセッサ18は、作業プログラムに従って移動機械14を動作させて、ツール96を第nの教示点Cnへ向かって移動させる。そして、プロセッサ18は、カメラ17に指令を送り、第nの目標位置Bnに対するレーザ加工作業のための動作をツール96に実行させる時点τnで、該第nの目標位置Bnをカメラ17で撮像する。
【0096】
一例として、本実施形態における時点τnは、プロセッサ18がレーザ発振器へレーザ発振指令を送信した時点に設定され得る。他の例として、時点τnは、ツール96からレーザ光が実際に出射される時点に設定され得る。プロセッサ18がレーザ発振器へレーザ発振指令を送信した時点から、ツール96がレーザ光を実際に出射するまでの時間τyは、レーザ発振器の仕様等から予測可能である。したがって、ツール96からレーザ光が実際に出射される時点τnは、レーザ発振器へレーザ発振指令を送信した時点から時間τyだけ経過した時点として、定めることができる。
【0097】
こうして、カメラ17は、時点τ
nで、
図5に示すように第nの目標位置B
nが写る画像データ60を撮像する。本実施形態においては、カメラ17がツール96に対して、その視線方向Dが光軸Pと一致する位置関係に配置されているので、撮像した画像データ60においては、その中心点(中心の画素)F
nが、実際のレーザ加工作業時にレーザ光がワークW上に照射される作業位置F
nであると見做すことができる。そして、プロセッサ18は、ずれ量取得部52として機能して、
図3の実施形態と同様に、画像データ60からずれ量x
T及びy
T(又はE
T)を取得できる。そして、プロセッサ18は、
図3の実施形態と同様に、位置補正部54として機能して、ずれ量x
T及びy
T(又はE
T)に基づいて第nの教示点C
nを補正する。
【0098】
なお、
図15に示す実施形態において、カメラ17は、ツール96に対して、その視線方向Dが光軸Pと平行であり、且つ、視線方向Dが光軸Pから所定の距離だけオフセットされる位置関係に配置されてもよい。この場合、プロセッサ18は、
図6に示す実施形態と同様の方法を用いて、ずれ量x
T及びy
T(又はE
T)を取得できる。
【0099】
代替的には、
図15に示す実施形態において、カメラ17は、ツール96に対して、その視線方向Dが光軸Pに対して所定の角度θで傾斜する位置関係に配置されてもよい。この場合、プロセッサ18は、
図8に示す実施形態と同様の方法を用いて、ずれ量x
T及びy
T(又はE
T)を取得できる。
【0100】
次に、
図16~
図18を参照して、さらに他の実施形態に係るツール98について説明する。ツール98は、第nの部品I
n(n=1、2、3、・・・)を把持し、ワークWに形成された第nの穴H
nに嵌合させるロボットハンドである。第nの部品I
nは、中心軸線Qを有する棒状(例えば、円柱状)の部材である。また、第nの穴H
nは、ワークW上の第nの目標位置B
nに形成され、中心軸線R
nを有する。例えば、第nの目標位置B
nは、ワークWの表面上の第nの穴H
nの開口中心として定義され得る。この場合、軸線R
nは、第nの目標位置B
nを通過する。
【0101】
ツール98は、上述のツール16の代わりに、移動機械14の手首部30に取りけられる。具体的には、ツール98は、手首部30に連結されたハンドベース100と、該ハンドベース100に開閉可能に設けられた複数の指部102と、該複数の指部102を開閉させる駆動部104とを有する。駆動部104は、例えばエアシリンダ又はモータであって、指部102を開閉させることにより、物体を把持したり、解放したりできる。
【0102】
ツール98に対して、ツール座標系CTが設定されている。本実施形態においては、ツール座標系CTは、その原点が、指部102の把持位置(又は、複数の指部102の間)に位置し、ツール座標系CTのz軸が、指部102の開閉方向と直交するように、ツール98に対して設定されている。
【0103】
次に、
図16及び
図17を参照して、ツール98が行う嵌合作業について、説明する。ワークWは、例えば、治具等により所定の位置に固定されてもよいし、又は、ベルトコンベア等で移動されてもよい。プロセッサ18は、移動機械14を動作させて、所定の保管場所に収容された第nの部品I
nをツール98で把持する。このとき、ツール98は、ツール座標系C
Tのz軸が軸線Qに一致するように、第nの部品I
nを把持する。
【0104】
次いで、プロセッサ18は、移動機械14を動作させて、ツール98を、第nの穴Hnに第nの部品Inを嵌合する嵌合作業を実行するための第nの教示点Cnに、配置させる。具体的には、プロセッサ18は、ツール座標系CTを、その原点が第nの教示点Cnに配置され、且つ、そのz軸(すなわち、軸線Q)が、第nの穴Hnの軸線Rnに略一致するように、設定する。
【0105】
そして、プロセッサ18は、ツール98の位置を、設定したツール座標系C
Tによって規定される位置に一致させるように、移動機械14を動作させる。その結果、ツール98、及び該ツール98が把持する第nの部品I
nは、ワークWに対して
図16に示すように配置される。次いで、プロセッサ18は、移動機械14に嵌合開始指令を送信する。そうすると、移動機械14は、ツール98を、ツール座標系C
Tのz軸マイナス方向へ移動させて、ツール98が把持する第nの部品I
nを第nの穴H
nに嵌合させる。その結果、
図17に示すように、ツール98によって第nの部品I
nが第nの穴H
nに嵌合される。
【0106】
プロセッサ18は、このような嵌合作業を繰り返し実行し、複数の部品Inを、複数の穴Bnにそれぞれ嵌合する。プロセッサ18は、このような嵌合作業のための一連の動作を、作業プログラムに従って実行する。この作業プログラムは、第nの教示点Cnの位置情報、ツール98を第nの教示点Cnへ位置決めするための位置決め指令、嵌合開始指令等を含む。
【0107】
ここで、プロセッサ18が作業プログラムに従って第nの部品Inを第nの穴Hnに嵌合させる嵌合作業を行ったときに、第nの部品InがワークWと係合する作業位置が、第nの穴Hn(すなわち、第nの目標位置Bn)からずれ得る。そこで、本実施形態においては、装置50は、上述の実施形態と同様に、第nの目標位置Bnに対するツール98の作業位置のずれ量を取得する。
【0108】
図18に示すように、装置50のカメラ17は、ツール98に対して所定の位置関係に配置されるように、該ツール98によって把持される(又は、ツール98に固定される)。具体的には、カメラ17は、その視線方向Dが、ツール98によって把持される第nの部品I
nの軸線Q(又は、ツール座標系C
Tのz軸)と一致するように、配置されている。
【0109】
ずれ量を取得するとき、プロセッサ18は、作業プログラムに従って移動機械14を動作させて、ツール98を第nの教示点Cnへ向かって移動させる。そして、プロセッサ18は、カメラ17に指令を送り、第nの目標位置Bn(第nの穴Hn)に対する嵌合作業のための動作をツール98に実行させる時点τnで、該第nの目標位置Bnをカメラ17で撮像する。
【0110】
一例として、本実施形態における時点τnは、プロセッサ18が移動機械14へ嵌合開始指令を送信した時点に設定され得る。他の例として、時点τnは、ツール98が把持する第nの部品InがワークWと係合する(又は、第nの部品Inの先端がワークWの表面に到達する)時点に設定され得る。
【0111】
プロセッサ18が嵌合開始指令を送信した時点から、ツール98が把持する第nの部品InがワークWと係合するまでの時間τzは、移動機械14のサーボモータ31の加減速特性等から予測可能である。したがって、ツール98が把持する第nの部品InがワークWと係合する時点τnは、嵌合開始指令を送信した時点から時間τzだけ経過した時点として、定めることができる。
【0112】
こうして、カメラ17は、時点τ
nで、第nの目標位置B
n(第nの穴H
n)を撮像する。このときにカメラ17が撮像した画像データを画像化した例を、
図19に示す。
図19に示す画像データ106においては、ワークWに形成された第nの穴H
nが写っている。一例として、プロセッサ18は、画像データ106を解析して第nの穴H
nの中心点を検出し、検出した該中心点のカメラ座標系C
Cにおける座標を、第nの目標位置B
nのカメラ座標系C
Cにおける座標として取得する。
【0113】
また、本実施形態においては、カメラ17がツール98に対して、その視線方向Dが軸線Q(ツール座標系のz軸)と一致する位置関係に配置されているので、撮像した画像データ106の中心点(中心の画素)Fnが、実際の嵌合作業時に第nの部品InがワークWと係合する作業位置Fnであると見做すことができる。
【0114】
そして、プロセッサ18は、ずれ量取得部52として機能して、カメラ座標系C
Cにおける第nの目標位置B
n及び作業位置F
nの座標を用いて差x
C及びy
C(又はE
c)を求め、
図3に示す実施形態と同様に、画像データ106からずれ量x
T及びy
T(又はE
T)を取得できる。そして、プロセッサ18は、
図3の実施形態と同様に、位置補正部54として機能して、ずれ量x
T及びy
T(又はE
T)に基づいて第nの教示点C
nを補正する。
【0115】
なお、
図18に示す実施形態において、カメラ17は、ツール98に対して、その視線方向Dが軸線Q(ツール座標系C
Cのz軸)と平行であり、且つ、視線方向Dが軸線Qから所定の距離だけオフセットされる位置関係に配置されてもよい。この場合、プロセッサ18は、
図6に示す実施形態と同様の方法を用いて、ずれ量x
T及びy
T(又はE
T)を取得できる。
【0116】
代替的には、
図18に示す実施形態において、カメラ17は、ツール98に対して、その視線方向Dが軸線Qに対して所定の角度θで傾斜する位置関係に配置されてもよい。この場合、プロセッサ18は、
図8に示す実施形態と同様の方法を用いて、ずれ量x
T及びy
T(又はE
T)を取得できる。
【0117】
なお、上述の実施形態においては、制御装置12が、移動機械14及びツール16、96又は98を制御している。しかしながら、これに限らず、制御装置12が移動機械14を制御する一方、ツール16、96又は98は、制御装置12とは別の制御装置によって制御されてもよい。このような形態を
図20に示す。
【0118】
図20に示す機械システム110は、制御装置12、移動機械14、ツール16、96、又は98、カメラ17、及び第2の制御装置112を備える。第2の制御装置112は、制御装置12と通信可能に接続されている。第2の制御装置112は、プロセッサ114と、該プロセッサ114とバス116を介して通信可能に接続された記憶部20とを有する。プロセッサ114は、ツール16、96、又は98を制御する。プロセッサ114は、装置50のずれ量取得部52及び位置補正部54として機能する。また、プロセッサ114は、カメラ17に指令を送り、該カメラ17の撮像動作を制御する。
【0119】
なお、ずれ量取得部52は、制御装置12又は112とは別に設けられてもよい。このような形態を
図21に示す。
図21に示す機械システム120は、制御装置12、移動機械14、ツール16、96、又は98、及び装置122を備える。装置122は、上述の装置50と同様に、第nの目標位置B
nに対するツール16、96、又は98の作業位置のずれ量を取得するものであって、ずれ量取得部52及びカメラ17を備える。カメラ17は、制御装置12に接続され、時点τ
nで第nの目標位置B
nを撮像する。ずれ量取得部52は、プロセッサ及び記憶部を有する1つのコンピュータから構成され得る。
【0120】
なお、上述の実施形態においては、プロセッサ18が、カメラ座標系CCにおける差xC及びyC、又は差Ecを、ツール座標系CTにおけるずれ量xT及びyT、又はずれ量ETに変換する場合について述べた。しかしながら、これに限らず、プロセッサ18は、カメラ座標系CCにおける差xC及びyC、又は差Ecを、移動機械座標系CM(又は、ワールド座標系)に変換してもよい。
【0121】
例えば、プロセッサ18は、ツール座標系CTにおけるずれ量を求めた後に、ツール座標系CTにおけるずれ量を、移動機械座標系CM(又は、ワールド座標系)に変換してもよい。又は、オペレータは、カメラ座標系CCと移動機械座標系CM(又は、ワールド座標系)とを予め校正しておき、プロセッサ18は、カメラ座標系CCにおける差xC、yC、Ecを移動機械座標系CM(又は、ワールド座標系)に変換することで、移動機械座標系CM(又は、ワールド座標系)におけるずれ量を取得してもよい。
【0122】
また、ツール16、96、又は98に対するツール座標系C
Tの位置は、上述した実施形態に限定されず、如何なる位置であってもよい。また、
図3、
図6、又は
図8に示す実施形態において、プロセッサ18は、カメラ17で第nの目標位置B
nを撮像するときに可動アーム36を移動させてもよい。以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
【符号の説明】
【0123】
10,70,110,120 機械システム
12,112 制御装置
14 移動機械
16,96,98 ツール
17 カメラ
18,114 プロセッサ
20 記憶部
50,80,122 装置
52 ずれ量取得部
54 位置補正部