(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】ロボット座標系を設定する装置、ロボット制御装置、ロボットシステム、及び方法
(51)【国際特許分類】
B25J 13/00 20060101AFI20231205BHJP
B25J 5/02 20060101ALI20231205BHJP
【FI】
B25J13/00 Z
B25J5/02 B
(21)【出願番号】P 2019141675
(22)【出願日】2019-07-31
【審査請求日】2022-04-08
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】寺阪 潤也
【審査官】國武 史帆
(56)【参考文献】
【文献】国際公開第03/035332(WO,A1)
【文献】特開平07-290379(JP,A)
【文献】特開2013-226602(JP,A)
【文献】特開2012-210675(JP,A)
【文献】実開平04-123403(JP,U)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
第1の軸に沿って
延びるレールに沿って移動されるロボットのロボット座標系を設定する装置であって、
前記第1の軸に沿って予め設定された2つのロボット座標系の位置から、該2つのロボット座標系の前記位置の間に設定する別のロボット座標系の位置を演算により求める座標系取得部を備え、
前記座標系取得部は、
前記2つのロボット座標系の原点
と、前記レールの両端とを結ぶ曲線を求め、
前記別のロボット座標系の原点の前記位置を、前記曲線上の位置として求める、装置。
【請求項2】
前記座標系取得部は、前記別のロボット座標系の姿勢を、前記2つのロボット座標系の姿勢の中間姿勢として演算によりさらに求める、請求項
1に記載の装置。
【請求項3】
第1の軸に沿って移動されるロボットのロボット座標系を設定する装置であって、
前記ロボットと、該ロボットの外部に設置され、該ロボットの作業対象となるワークを第2の軸の周りに回転させる外部装置との相対位置を取得する位置取得部と、
前記相対位置に基づいて、前記第1の軸に沿って2つのロボット座標系をそれぞれ予備的に設定する座標系設定部と、
前記座標系設定部によって予め設定された前記2つのロボット座標系の位置から、該2つのロボット座標系の該位置の間に設定する別のロボット座標系の位置を演算により求める座標系取得部と、を備える、装置。
【請求項4】
前記位置取得部は、前記相対位置として、前記ロボットに対する前記第2の軸の位置及び方向を取得する、請求項
3に記載の装置。
【請求項5】
請求項1~
4のいずれか1項に記載の装置を備える、ロボット制御装置。
【請求項6】
第1の軸に沿って移動されるロボットと、
前記ロボットの外部に設置され、該ロボットの作業対象となるワークを第2の軸の周りに回転させる外部装置と、
前記ロボットのロボット座標系を設定する装置を有するロボット制御装置と、を備え、
前記ロボット座標系を設定する前記装置は、前記第1の軸に沿って予め設定された2つのロボット座標系の位置から、該2つのロボット座標系の前記位置の間に設定する別のロボット座標系の位置を演算により求める座標系取得部を備え、
前記ロボット制御装置は、前記外部装置が前記ワークを回転させる動作と協調して前記ロボットが前記ワークに対する作業を行うように、該ロボットの動作を制御する、ロボットシステム。
【請求項7】
第1の軸に沿って
延びるレールに沿って移動されるロボットのロボット座標系を設定する方法であって、
前記第1の軸に沿って予め設定された2つのロボット座標系の位置から、該2つのロボット座標系の前記位置の間に設定する別のロボット座標系の位置を演算により求め、
前記2つのロボット座標系の原点
と、前記レールの両端とを結ぶ曲線を求め、
前記別のロボット座標系の原点の前記位置を、前記曲線上の位置として求める、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット座標系を設定する装置、ロボット制御装置、ロボットシステム、及び方法に関する。
【背景技術】
【0002】
ロボットに動作を教示する装置が知られている(例えば、特許文献1)
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来、軸に沿って移動されるロボットのロボット座標系を正確に求める技術が求められている。
【課題を解決するための手段】
【0005】
本開示の一態様において、第1の軸に沿って移動されるロボットのロボット座標系を設定する装置は、第1の軸に沿って予め設定された2つのロボット座標系の位置から、該2つのロボット座標系の位置の間に設定する別のロボット座標系の位置を演算により求める座標系取得部を備える。
【0006】
本開示の他の態様において、第1の軸に沿って移動されるロボットのロボット座標系を設定する方法は、第1の軸に沿って予め設定された2つのロボット座標系の位置から、該2つのロボット座標系の位置の間に設定する別のロボット座標系の位置を演算により求める。
【発明の効果】
【0007】
本開示によれば、ロボットが移動される軸が変形したとしても、予め定めた2つのロボット座標系の間に設定する別のロボット座標系の位置を、該軸の変形に対応するように正確に求めることができる。
【図面の簡単な説明】
【0008】
【
図1】一実施形態に係るロボットシステムのブロック図である。
【
図2】
図1に示すロボット、走行装置、及び外部装置の斜視図である。
【
図3】
図2に示すロボット、走行装置、及び外部装置の概略図であって、各種座標系と動作軸を示している。
【
図5】2つのロボット座標系の間に別のロボット座標系を設定する方法を説明するための図である。
【
図6】
図5に示す別のロボット座標系の姿勢を求める方法を説明するための図である。
【
図7】2つのロボット座標系の間に別のロボット座標系を設定する他の方法を説明するための図である。
【
図8】他の実施形態に係るロボットシステムのブロック図である。
【発明を実施するための形態】
【0009】
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。また、以下の説明においては、図中の紙面上下左右を、上下左右と言及することがある。まず、
図1~
図3を参照して、一実施形態に係るロボットシステム10について説明する。ロボットシステム10は、ロボット12、走行装置14、外部装置16、及び装置100を備える。
【0010】
図2を参照して、ロボット12は、走行装置14によって軸線(第1の軸)A
1に沿って移動される。本実施形態においては、軸線A
1は直線である。ロボット12は、多関節ロボットであって、ベース部18、旋回胴20、ロボットアーム22、手首部24、及びエンドエフェクタ26を備える。旋回胴20は、軸線A
3周りに回動可能にベース部18に設けられている。軸線A
3は、鉛直方向と略平行である(又は、軸線A
1と略直交する)。
【0011】
ロボットアーム22は、旋回胴20に回動可能に設けられた第1のアーム28と、該第1のアーム28の先端部に回動可能に設けられた第2のアーム30とを有する。手首部24は、第2のアーム30の先端部に回動可能に設けられている。エンドエフェクタ26は、手首部24の先端部に着脱可能に取り付けられており、手首部24は、エンドエフェクタ26を回動可能に支持する。エンドエフェクタ26は、溶接トーチ、ロボットハンド、レーザ加工ヘッド、又は塗料塗布器等であって、ワークWに対して所定の作業(溶接、ワークハンドリング、レーザ加工、塗工等)を行う。
【0012】
ロボット12の各コンポーネント(ベース部18、旋回胴20、ロボットアーム22、手首部24)には、サーボモータ(図示せず)が内蔵されており、これらサーボモータは、ロボット12の可動コンポーネント(すなわち、旋回胴20、ロボットアーム22、手首部24)を駆動軸周りに回転駆動することによって、エンドエフェクタ26を移動させる。
【0013】
走行装置14は、ロボット12を軸線A1に沿って移動させる。具体的には、走行装置14は、支持フレーム32、レール34、スライダ36、及び駆動部38を備える。支持フレーム32は、鉛直方向へ延びる複数の柱部40と、該柱部40の上端に固設された天壁部42とを有する。
【0014】
レール34は、天壁部42の底面42aに固設されており、軸線A1に沿って真直ぐに延在している。スライダ36は、軸線A1に沿って摺動可能となるようにレール34と係合している。スライダ36は、レール34と係合することで、軸線A1に沿って往復動するように案内される。
【0015】
駆動部38は、例えばサーボモータであって、スライダ36を軸線A1に沿って移動させる動力を発生する。駆動部38は、レール34に沿って敷設されたタイミングベルト(図示せず)を回動させ、該タイミングベルトは、スライダ36の上部と係合し、駆動部38が生じた動力をスライダ36へ伝達する。
【0016】
ロボット12のベース部18は、スライダ36の下面に固定されている。駆動部38がタイミングベルトを回動させると、該タイミングベルトと係合したスライダ36が軸線A1に沿って移動され、これにより、スライダ36に搭載されたロボット12が軸線A1に沿って移動される。
【0017】
外部装置16は、ロボット12の外部に設置され、該ロボット12の作業対象となるワークWを、軸線A2(第2の軸)の周りに回転させる。具体的には、外部装置16は、駆動装置44、及び従動装置46を備える。駆動装置44は、ベース部48、出力フランジ50、及び駆動部52を有する。ベース部48は、作業セルの床の上に固定されている。出力フランジ50は、円盤状の部材であって、軸線A2周りに回転可能となるようにベース部48に設けられている。駆動部52は、例えばサーボモータであって、出力フランジ50を回転させる動力を発生する。
【0018】
従動装置46は、ベース部54、及び従動フランジ56を有する。ベース部54は、作業セルの床の上に固定され、駆動装置44のベース部48と対向配置されている。従動フランジ56は、軸線A2を基準として出力フランジ50と同心に配置された円盤状の部材であって、軸線A2周りに回転可能となるようにベース部54に設けられている。
【0019】
ワークWは、治具(図示せず)によって出力フランジ50及び従動フランジ56に固定される。駆動部52が出力フランジ50を回転すると、ワークWも出力フランジ50とともに回転され、従動フランジ56は、ワークWの回転に従って軸線A2周りに回転される。なお、本実施形態においては、軸線A1と軸線A2とは略平行である。
【0020】
図3に示すように、走行装置14には、走行装置座標系C
Tが設定される。走行装置座標系C
Tは、走行装置14の動作を自動制御するためのものであって、3次元空間に固定された固定座標系である。本実施形態においては、走行装置座標系C
Tは、その原点がレール34の左端に配置され、そのx軸方向が軸線A
1と一致し、z軸方向が鉛直方向と平行となるように、設定されている。
【0021】
外部装置16には、外部装置座標系CEが設定される。外部装置座標系CEは、外部装置16の動作を自動制御するためのものであって、3次元空間に固定された固定座標系である。本実施形態においては、外部装置座標系CEは、その原点が出力フランジ50の中心に配置され、そのx軸方向が軸線A2と一致するように、設定されている。
【0022】
一方、ロボット12には、ロボット座標系CRが設定される。ロボット座標系CRは、ロボット12の可動コンポーネントを自動制御するためのものであって、3次元空間内を走行装置14のスライダ36とともに移動する移動座標系である。本実施形態においては、ロボット座標系CRは、その原点がベース部18の中心に配置され、そのz軸方向が軸線A3と一致するように、設定されている。
【0023】
ロボット12によってワークWに対する作業を行うとき、走行装置14は、ロボット12を、予め定められた作業位置B1及びB2に順次配置させる。これら作業位置B1及びB2は、軸線A1の方向の位置(換言すれば、走行装置座標系CTのx座標)として規定することができる。このとき、ロボット座標系CRは、作業位置B1及びB2に順次設定され、外部装置16がワークWを軸線A2周りに回転させる動作と協調して、ロボット12がロボット座標系CRを基準として制御されて、作業位置B1及びB2の各々でワークWに対して作業を順次行う。
【0024】
ここで、走行装置14のレール34が、重力等の要因によって変形してしまうことが起こり得る。このようにレール34に変形が生じた例を、
図4に示す。
図4に示す例では、天壁部42及びレール34が、中央部分で下方へ撓んでいる。この場合、レール34の実際の軸線A
1’が、設計上の軸線A
1(走行装置座標系C
Tのx軸)と一致しなくなる。
【0025】
この場合、走行装置14によってロボット12を作業位置B
1及びB
1に配置したときの該ロボット12のベース部18の位置及び姿勢が、
図3に示す設計上の位置及び姿勢とは異なり得る。このようにレール34が変形した場合、実際の軸線A
1’の、設計上の軸線A
1からのずれを反映させるように、作業位置B
1及びB
1でロボット座標系C
Rを設定する必要がある。
【0026】
本実施形態においては、
図4に示す2つの作業位置B
1及びB
1の各々において、ロボット座標系C
R1及びC
R2が予め設定される。以下、ロボット座標系設定方法について説明する。まず、走行装置14は、ロボット12を、作業位置B
1に配置させる。次いで、外部装置16がワークW(又はダミーワーク)を回転させているときに、ロボット12は、エンドエフェクタ26で、ワークW上に定めた3つの点をタッチアップする。
【0027】
このときのロボット12の位置データと、ワークW上に定めた3点の位置を示す情報とから、作業位置B1に配置されたロボット12(具体的には、ベース部18)と外部装置16との相対位置を示すデータを取得できる。ロボット12の位置データは、例えば、ロボット12に内蔵された各サーボモータの回転角度を含み、該回転角度は、該サーボモータに設けられた回転検出器(エンコーダ、又はホール素子)によって検出できる。
【0028】
一例として、作業位置B
1に配置されたロボット12と外部装置16との相対位置のデータとして、該ロボット12(ベース部18)に対する外部装置16の軸線A
2の位置及び方向が求められる。この相対位置のデータに基づいて、作業位置B
1に設定するロボット座標系C
R1の原点位置(すなわち、ベース部18の中心)と、各軸の方向とが決定される。こうして、
図4に示すように作業位置B
1にロボット座標系C
R1を設定することができる。
【0029】
同様にして、走行装置14によってロボット12を作業位置B2に配置させて、外部装置16がワークWを回転させているときにロボット12がエンドエフェクタ26でワークW上に定めた3つの点をタッチアップし、作業位置B2に配置されたロボット12(ベース部18)と外部装置16との相対位置を示すデータ(例えば、作業位置B2に配置されたロボット12に対する軸線A2の位置及び方向)が取得される。
【0030】
この相対位置のデータに基づいて、
図4に示すように作業位置B
2にロボット座標系C
R2を設定することができる。以上のようなロボット座標系設定方法により、ロボット座標系C
R1及びC
R2が予備的に設定され、これらロボット座標系C
R1及びC
R2の位置(原点位置)及び姿勢(各軸の方向)の設定情報は、メモリ(図示せず)にそれぞれ記憶される。
【0031】
本実施形態に係る装置100は、作業位置B
1及びB
2の間にさらなる作業位置B
3を設定する場合において、該作業位置B
3にロボット座標系C
R3を自動で設定する。具体的には、
図1に示すように、装置100は、座標系取得部102を備える。座標系取得部102は、上述のロボット座標系設定方法により予め設定された2つのロボット座標系C
R1及びC
R2の位置から、作業位置B
3に設定する別のロボット座標系C
R3の位置を、演算により求める。
【0032】
以下、
図5を参照して、座標系取得部102の機能について説明する。まず、オペレータは、作業位置B
3の位置情報を入力する。例えば、オペレータは、作業位置B
3の位置情報を、走行装置座標系C
Tのx座標として入力する。座標系取得部102は、作業位置B
3に設定するロボット座標系C
R3の位置を、ロボット座標系C
R1の位置(原点)とロボット座標系C
R2の位置(原点)とを結ぶ仮想直線A
4上の位置として求める。
【0033】
具体的には、座標系取得部102は、仮想直線A4の走行装置座標系CTにおける座標(又は関数)を演算により求める(いわゆる、2点間の線形補間)。そして、座標系取得部102は、作業位置B3における仮想直線A4上の点P1の、走行装置座標系CTの座標を演算により求める。こうして、座標系取得部102は、作業位置B3に設定するロボット座標系CR3の原点の位置P1を演算により求めることができる。
【0034】
次いで、座標系取得部102は、作業位置B
3に設定するロボット座標系C
R3の姿勢を求める。
図5に示す例では、座標系取得部102は、ロボット座標系C
R3の姿勢を、ロボット座標系C
R1の姿勢とロボット座標系C
R2の姿勢との中間姿勢として、演算により求める。
【0035】
以下、
図5及び
図6を参照して、ロボット座標系C
R3の姿勢を求める方法の一例について、説明する。座標系取得部102は、走行装置座標系C
Tにおいて、ロボット座標系C
R1のz軸方向と、ロボット座標系C
R2のz軸方向との中間の方向を演算により求め、求めた該方向を、ロボット座標系C
R3のz軸方向として決定する。
【0036】
ここで、
図6に示すように、ロボット座標系C
R1、C
R2、及びC
R3のz軸の原点を一致させた場合において、ロボット座標系C
R1のz軸方向と、ロボット座標系C
R2のz軸方向との角度をθ
z0とし、ロボット座標系C
R1のz軸方向と、ロボット座標系C
R3のz軸方向との角度をθ
zとする。
【0037】
この場合、ロボット座標系C
R1のz軸方向とロボット座標系C
R2のz軸方向との中間の方向とは、ロボット座標系C
R1及びC
R2のz軸と同じ平面上においてθ
z=θ
z0/2となる方向として、定義できる。したがって、この場合、ロボット座標系C
R3のz軸は、
図6に示すように、ロボット座標系C
R1及びC
R2のz軸と同じ平面上において、ロボット座標系C
R1のz軸方向から角度θ
z=θ
z0/2だけ、ロボット座標系C
R2のz軸方向へ向かって傾斜した方向として、決定される。
【0038】
同様に、座標系取得部102は、走行装置座標系CTにおいて、ロボット座標系CR1のx軸(又はy軸)方向と、ロボット座標系CR2のx軸(又はy軸)方向との中間の方向を演算により求め、求めた該方向を、ロボット座標系CR3のx軸(又はy軸)方向として決定する。このようにして、座標系取得部102は、ロボット座標系CR3の姿勢(各軸の方向)を、ロボット座標系CR1及びCR2の姿勢の中間姿勢として求めることができる。
【0039】
代替的には、座標系取得部102は、ロボット座標系C
R3の姿勢を、ロボット座標系C
R1及びC
R2の姿勢と点P
1の位置とに基づく関数として求めてもよい。具体的には、ロボット座標系C
R3のz軸方向は、
図6に示す角度θ
zが、0≦θ
z≦θ
z0の範囲で、走行装置座標系C
Tのx座標に応じて変化する(例えば、x座標とともに増加する)関数:θ
z=f
z(x)として表すことができる。したがって、座標系取得部102は、作業位置B
3の走行装置座標系C
Tのx座標と関数:θ
z=f
z(x)とを用いて、作業位置B
3に設定するロボット座標系C
R3のz軸方向を求めることができる。
【0040】
同様に、ロボット座標系CR3のx軸(又はy軸)方向は、走行装置座標系CTのx座標に応じて変化する関数:θx=fx(x)(又は、θy=fy(x))として表すことができる。したがって、座標系取得部102は、ロボット座標系CR3のx軸(又はy軸)方向を、作業位置B3の走行装置座標系CTのx座標と関数:θx=fx(x)(又は、関数θy=fy(x))とから求めることができる。
【0041】
このようにして、座標系取得部102は、ロボット座標系CR3の姿勢を、関数fz(x)、fx(x)、又はfy(x)を用いて演算により求めることができる。なお、これら関数fz(x)、fx(x)、又はfy(x)の係数又は変数等のパラメータは、オペレータによって定められる。
【0042】
以上のような方法により、座標系取得部102は、作業位置B3にロボット座標系CR3を、演算により求めた位置P1に、演算により求めた姿勢で、自動で設定できる。なお、座標系取得部102は、ロボット座標系CR3の姿勢を求めることなく、該ロボット座標系CR3を点P1に、予め定めた姿勢で設定してもよい。例えば、座標系取得部102は、ロボット座標系CR3を点P1に、ロボット座標系CR1又はCR2と同じ姿勢で設定してもよい。
【0043】
また、
図5に示す例では、座標系取得部102は、ロボット座標系C
R3の位置P
1を、仮想直線A
4上の位置として求めているが、これに限らず、曲線上の位置として求めてもよい。このような形態について、
図7を参照して説明する。本実施形態においては、座標系取得部102は、作業位置B
3に設定するロボット座標系C
R3の位置を、仮想曲線A
5上の位置として求める。
【0044】
この仮想曲線A5は、例えば、レール34の両端(又は、スライダ36の移動ストローク両端)と、ロボット座標系CR1及びCR2の原点とを結ぶ曲線であって、放物線、円弧線、任意の曲線、又はその組み合わせから構成され得る。座標系取得部102は、仮想曲線A5の走行装置座標系CTにおける座標(又は関数)を演算により求める(いわゆる、複数点間の曲線(放物線、円弧)補間)。
【0045】
そして、座標系取得部102は、作業位置B3における仮想曲線A5上の点P2の走行装置座標系CTの座標を演算により求める。こうして、座標系取得部102は、作業位置B3に設定するロボット座標系CR3の原点の位置P2を演算により求めることができる。これとともに、座標系取得部102は、上述した方法でロボット座標系CR3の姿勢を決定できる。
【0046】
以上のような機能を果たす装置100は、例えば、プロセッサ(CPU、GPU等)及びメモリ(ROM、RAM等)を有するコンピュータから構成される。この場合、該コンピュータのプロセッサが、座標系取得部102の機能を実行するための各種演算を行う。なお、装置100は、ロボット12を制御するロボット制御装置であってもよい。
【0047】
以上のように、装置100の座標系取得部102は、軸線A1に沿って予め設定された2つのロボット座標系CR1及びCR2の位置から、該2つのロボット座標系CR1及びCR2の位置の間に設定するロボット座標系CR3の位置P1、P2を演算により求めている。この構成によれば、走行装置14のレール34が変形したとしても、ロボット座標系CR3の位置を、該レール34の変形に対応するように正確且つ自動で求めることができる。
【0048】
また、ロボット座標系CR3を基準として作業位置B3に配置したロボット12を制御することで、外部装置16とより高精度な協調動作を実行することが可能となる。また、オペレータがロボット座標系CR3の位置P1、P2を手動で求める必要がないので、ロボットシステム10の立ち上げに掛かる負担を軽減できる。
【0049】
なお、上述の実施形態においては、軸線A1に沿って2つのロボット座標系CR1及びCR2を予め設定する場合について述べた。しかしながら、これに限らず、オペレータは、軸線A1に沿って第nのロボット座標系CR_n(n=1、2、3・・・)を予め設定してもよい。
【0050】
この場合、座標系取得部102は、上述の方法を用いて、互いに隣接する2つのロボット座標系CR_n-1及びCR_nの位置から、該2つのロボット座標系CR_n-1及びCR_nの間に設定する別のロボット座標系CR_mの位置Pmを演算により求める。このように、予め設定するロボット座標系CR_nの数を増やすことによって、任意の2つのロボット座標系CR_n-1及びCR_nの間に設定するロボット座標系CR_mの位置Pmを、レール34の変形により高精度に対応するように、求めることができる。
【0051】
次に、
図8を参照して、他のロボットシステム60について説明する。ロボットシステム60は、ロボット12、走行装置14、外部装置16、及びロボット制御装置62を備える。ロボット制御装置62は、ロボット12、走行装置14、及び外部装置16の動作を制御する。
【0052】
ロボット制御装置62は、プロセッサ64、メモリ66、及び入力装置68を有する。プロセッサ64は、CPU又はGPU等を有し、メモリ66及び入力装置68とバス70を介して通信可能に接続されている。プロセッサ64は、メモリ66及び入力装置68と通信しつつ、各種演算を実行する。メモリ66は、ROM又はRAM等を有し、各種データを記憶する。入力装置68は、キーボード、マウス、又はタッチパネル等を有し、オペレータからデータの入力を受け付ける。
【0053】
ロボット制御装置62は、ロボット座標系CRを設定する装置110を備える。本実施形態においては、装置110の機能は、ソフトウェア又はハードウェアとしてロボット制御装置62に実装され、プロセッサ64は、装置110の機能を実行するための各種演算を行う。
【0054】
以下、装置110の機能について説明する。まず、プロセッサ64は、軸線A1に沿って第nのロボット座標系CR_n(n=1,2,3・・・)をそれぞれ予備的に設定する。具体的には、プロセッサ64は、走行装置14を制御して、ロボット12を、第nの作業位置Bnに配置させる。
【0055】
次いで、プロセッサ64は、上述のロボット座標系設定方法を用いて、外部装置16を制御してワークW(又はダミーワーク)を回転させるとともに、ロボット12を制御してエンドエフェクタ26でワークW上に定めた3つの点をタッチアップし、第nの作業位置Bnに配置されたロボット12と外部装置16との相対位置のデータ(例えば、ロボット12に対する外部装置16の軸線A2の位置及び方向)を取得する。このように、プロセッサ64は、ロボット12と外部装置16との相対位置を取得する位置取得部104として機能する。
【0056】
次いで、プロセッサ64は、取得した相対位置のデータに基づいて、第nの作業位置Bnに設定する第nのロボット座標系CR_nの原点位置(すなわち、ベース部18の中心)と、各軸の方向とを決定する。こうして、プロセッサ64は、第nの作業位置Bnに第nのロボット座標系CR_nを予備的に設定する。
【0057】
このように、プロセッサ64は、相対位置に基づいて第nのロボット座標系CR_nを予備的に設定する座標系設定部106として機能する。プロセッサ64は、第nのロボット座標系CR_nの位置及び姿勢の設定情報(例えば、走行装置座標系CTの座標)を、メモリ66に格納する。
【0058】
その後、オペレータは、ワークWに対する作業内容等に応じて、互いに隣接する第n-1の作業位置Bn-1と第nの作業位置Bnとの間に、さらなる作業位置Bmを任意で設定する。具体的には、オペレータは、入力装置68を操作して、作業位置Bmの位置情報を、例えば走行装置座標系CTのx座標として、入力する。
【0059】
作業位置B
mの位置情報の入力を受け付けると、プロセッサ64は、座標系取得部102として機能し、
図5~
図7を参照して上述した方法を用いて、予め設定された第n-1のロボット座標系C
R_n-1及び第nのロボット座標系C
R_nの位置及び姿勢の設定情報から、該第n-1のロボット座標系C
R_n-1と該第nのロボット座標系C
R_nとの間に設定する別のロボット座標系C
R_mの位置P
m及び姿勢を求める。
【0060】
作業位置Bmにロボット12を配置させてワークWに対する作業を行う場合、プロセッサ64は、走行装置14を制御してロボット12を作業位置Bmに配置させるとともに、作業位置Bmにロボット座標系CR_mを、上述のように求めた位置Pm及び姿勢で、設定する。
【0061】
そして、プロセッサ64は、ロボット座標系CR_mを基準としてロボット12を制御し、外部装置16によるワークWの回転動作と協調して、ロボット12によってワークWに対する作業を行う。こうして、プロセッサ64は、第nの作業位置Bn及び作業位置Bmの各々で、ロボット12によってワークWに対して作業を順次行うことができる。
【0062】
本実施形態によれば、プロセッサ64は、走行装置14のレール34が変形したとしても、作業位置Bmに設定するロボット座標系CR_mの位置を、該レール34の変形に対応するように正確且つ自動で求めることができる。また、ロボット座標系CR_mを基準として作業位置Bmに配置したロボット12を制御することで、外部装置16とより高精度な協調動作を実行することが可能となる。また、オペレータがロボット座標系CR_mの位置Pmを手動で求める必要がないので、ロボットシステム10の立ち上げに掛かる負担を軽減できる。
【0063】
なお、上述の実施形態においては、仮想直線A4、仮想曲線A5、点P1、点P2の座標を、走行装置座標系CTの座標として求める場合について述べたが、これに限らず、例えば、外部装置座標系CEの座標として求めてもよいし、又は、ワールド座標系(図示せず)の座標として求めてもよい。このワールド座標系は、ロボット座標系CR3、走行装置座標系CT、及び外部装置座標系CEとは別に設定され、作業セルの3次元空間を規定する固定座標系である。
【0064】
また、上述の実施形態においては、作業位置B3、Bmの位置情報が、走行装置座標系CTのx座標として入力される場合について述べた。しかしながら、これに限らず、作業位置B3、Bmの位置情報は、例えば、外部装置座標系CE、又はワールド座標系(図示せず)の座標として入力されてもよい。
【0065】
また、ロボット12は、多関節ロボットに限らず、パラレルリンクロボット等、如何なるタイプのロボットであってもよい。また、走行装置14は、ロボット12を軸線A1に沿って移動可能であれば、如何なるタイプの装置であってもよい。また、軸線A1は、直線に限らず、曲線でもあってもよい。
【0066】
以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
【符号の説明】
【0067】
10,60 ロボットシステム
12 ロボット
14 走行装置
16 外部装置
100,110 装置
102 座標系取得部
104 位置取得部
106 座標系設定部