説明

ロボットの教示手順校正装置および方法

【課題】ロボットの特徴である高速性を失わずに作業対象物に接触するとともに接触位置検出し、エンコーダ分解能程度のサブミリ単位の高精度検出することで、高速高精度なロボットの作業座標系のキャリブレーション(校正)方法を提供する。
【解決手段】弾性変形領域を持ったプローブを用いて、位置姿勢誤差発生前後において接触位置検出処理を所定回数繰り返すことで、ロボット座標に対する作業対象物の位置姿勢を算出し、位置姿勢誤差を計算し、位置誤差発生前の教示データを修正するという手順で処理する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施例は、例えばロボットの教示手順校正装置および方法に関する。
【背景技術】
【0002】
産業用ロボットを用いた組立・溶接等の生産ラインの事前レイアウト検討ではオフライン教示システムが導入されている。オフライン教示システムにおいて事前検討した教示データ(作業プログラム)を実際の生産ラインに適用するためには、オフライン教示システムと実ラインの作業対象物の配置誤差を修正するための、ロボット・作業対象物間の位置姿勢関係をキャリブレーション(校正)するという一般的な技術課題がある。
この一般的な技術課題を解決するために、実際の生産ラインにおいてロボットのツール先端を作業対象物、もしくは作業対象物を固定する治具の角に目視で合わせて位置検出を行い、検出した位置情報から作業座標系を作成する方法(例えば、特許文献1)や、作業対象物を数回タッチアップし、接触センサや、導通により電気的に接触を検出するセンサにより作業対象物の接触位置を求め、作業座標とロボット座標の位置関係を把握し修正する方法があった(例えば、特許文献2、特許文献3)。
また、組立ロボットに部品組付け位置を教示する方法として、CADの幾何データに基づいてロボットのハンド先端位置を目標点近傍まで移動させ、作業対象物に対して組付けを行いながら接触型センサで得た位置情報に基づいて位置修正を行う方法があった(特許文献4)。
また、弾性部材を備えたタッチセンサを利用して接触位置を求め、接触位置に移動して溶接作業を開始する方法があった(特許文献5)。
図7は、前記した特許文献2の手法を説明する図である。ロボット(30)を動作させて作業対象物(40)上に接触し、手先効果器に装着したセンサ(32)からロボット座標で測定した作業対象物の同一平面状に無い4点の接触位置と、これに対応するオフライン教示システムで設定された基準座標系における作業対象物の4点から、オフライン教示システムでの位置姿勢を作業プログラム上の位置姿勢に変換することが出来る。
このように、従来のロボットの作業座標系のキャリブレーション(校正)方法では、オフライン教示システムを用いて、あらかじめ設定した同一平面状に無い4点をタッチして作業座標とロボット座標の位置関係を算出し、作成した作業プログラムに対して修正するという手順がとられていた。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第2684359号公報
【特許文献2】特開平03−251378号公報
【特許文献3】特開平04−340605号公報
【特許文献4】特許第3304251号公報
【特許文献5】特開2007−069275号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1のロボットのツール先端を作業対象物、もしくは作業対象物を固定する治具の角に目視で合わせて位置検出を行い、検出した位置情報から作業座標系を作成する方法は目視位置合わせを行うため作業負荷が大きい。作業に慣れていない初心者ではキャリブレーション(校正)時間が大きくなり、精度も均一でない。
特許文献2のあらかじめ設定した同一平面状に無い4点をタッチして作業座標とロボット座標の位置関係を算出する方法は、ロボットの手先効果器に装着したセンサを接触させており、接触部は剛体であるため接触時のスピードを極低速にする必要がある(接触部を剛体としている点で特許文献3、特許文献4も同様の課題を抱えている)。また、近接スイッチや静電容量スイッチを用い、センサ情報を常時監視することによって接触した瞬間を検出し、その時点の接触部を記憶するという手法をとっているが、実際の接触では、センサで取得する情報は瞬間的な変化ではなく、一定の時間をかけて徐々に変化するため、正確な接触位置を求めることは出来なかった。
特許文献3の接触検出子をロボットの手先に設けて、作業対象物と接触検出子の接触状況を電気的に出力し、接触瞬間の接触検出子の位置データから検出対象物の位置を演算する方法は、接触検出子の接触動作は低速に限定され、また接触検出した瞬間に移動停止するためロボットの減速機に多大な負荷を与える。さらに、プラスチックや樹脂など通電しない材質に対して位置検出を行った場合には、接触検出信号が得られないため、接触検出処理としての汎用性を欠くものである。
特許文献5の弾性部材を備えたタッチセンサを利用して接触位置を求める方法は、タッチセンサはコイルスプリングを内在させたコイルスプリング伸縮方向の摺動装置と先端が端面のタッチピンで構成されているため、接触動作においてタッチピン端面と作業対象物の表面が平行になるようにロボットの姿勢は制限される。それ以外の姿勢で接触動作をさせた場合には接触位置が不正確となることや、タッチセンサに著しい損傷をもたらすことは自明である。また、接触検知方法に関して、接触検知信号を入信してから接触位置を計算する手順をとるため、接触から接触位置計算までの時間の遅延により、動作速度が速くなるにつれて、接触位置が不正確となる。さらに、位置検出した後の処理に関しても、タッチセンサで検出した位置へ装着した溶接具を移動させるという手順を取っているため、移動後の溶接具の姿勢決定方法を別途考慮する必要があり、作業教示手順の簡便さに課題がある。
従って、以上いずれの従来技術においても、オフライン教示時と、再生時の作業対象物の配置誤差を修正するために、オンライン教示時(実作業時の直前)において、人による誘導無く自動的に、しかも高速に、当該修正を行うことはできなかった。
【課題を解決するための手段】
【0005】
上記課題を解決するため、本願発明は、次のような発明を提供する。
なお、本願出願時の明細書の記載を基礎として、特許請求の範囲の記載が補正され得ることは勿論であるが、その際に、以下の各「発明」の内容を訂正することは予定しない(以下の各「発明」は、本願明細書における開示の要点としての意味を持つ)。
【0006】
[発明1]
第1の教示時におけるロボットと作業対象物の相対的な位置及び姿勢を前提として与えられた、前記ロボットが行うべき作業対象物に対する作業手順を記憶する、作業手順記憶手段と、
前記ロボットに備えられた、前記ロボットと前記作業対象物との相対的な位置、及び/又は、姿勢の変化量を獲得する、位置・姿勢変化量獲得手段によって、
前記第1の教示の後に、
(a)前記ロボットと作業対象物の相対的な位置、及び/又は、姿勢、
(b)前記ロボットの、少なくとも1つのアーム長、
(c)前記ロボットの軸を駆動するモータと当該軸との連結関係の変更による駆動モータにおける機械的回転運動の原点位置、
の少なくとも1つが変更された場合に、当該変更の存在に関わらず、前記作業対象物に対して同様の作業が行われるように、前記記憶された作業手順を修正する手段と、
を備え、
前記修正された作業手順が、前記位置・姿勢変化量獲得手段によって得られた、前記変更後の、前記作業対象物の位置及び姿勢をもとに得られる、ロボットを基準とした座標から作業対象物を基準とした座標への、同次変換行列を用いて、ロボットを基準とした座標での作業手順として与えられる、
ロボットの教示手順校正装置。
【0007】
このようにすることによって、ロボットと作業対象物の間の位置、及び/又は、姿勢に、何らかの原因により変化が生じた場合でも、獲得された当該変化の程度に基づいて、再生作業前に、以前に作成された作業手順を、修正することができる。
また、「前記作業手順を修正する手段が、前記位置・姿勢変化量獲得手段によって得られた、前記変更後の、前記作業対象物の位置及び姿勢をもとに得られる、ロボットを基準とした座標から作業対象物を基準とした座標への、同次変換行列を用いて、ロボットを基準とした座標での作業手順として与えられる」ように構成することによって、ロボット座標で作業を定義でき、ロボットに対する作業指示が容易となる。
「位置・姿勢変化量獲得手段」は、実施例の接触位置検出プローブ3によって検出した接触位置情報からロボットと作業対象物の相対的な位置及び姿勢を計算する手段に対応するが、これに限定されず、将来開発され得る、図8−1の通電方式、図8−2の接触センサ方式、図8−3の外乱オブザーバ方式も含まれる。(なお、図8−3のオブザーバ方式に限らず、位置、及び/又は、姿勢の変化を、システム内部の「状態」の変化と捉える、その他の「オブザーバ」や、ノイズの影響も考慮した「カルマン・フィルタ」も含まれる。)
また、図8−4に例示されるような、レーザ光線を用いたり、図8−5に例示されるような2次元的や3次元的な接触状態検出手段を用いたりするものも広く含まれる。また、
図8−4に例示されるようなレーザ光線を用いた場合は、非接触状態で、位置・姿勢を検出可能である。
図8−5に例示されるような2次元的な位置・姿勢変化量獲得手段を用いるものは、柔軟な2次元的な位置・姿勢変化量獲得手段を用いるものであり、作業対象物の所定の形状に「フィット」する状態を検知して、その検知に応じて、位置・姿勢を検出可能である。
「位置・姿勢変化量獲得手段」は、その下位概念である、「接触状態検出手段」を包含する。この「接触状態検出手段」には、例えば、図1−Bの接触位置検出プローブ3、図8−1の導電検出プローブ011、図8−2の剛体プローブ023、図8−3のカルマンフィルタを利用する手段、図8−5の柔軟性を有する接触状態検出手段等が含まれるが、図8−4のレーザ光を用いた検出手段は含まれない。
「作業手順記憶手段」は、実施例のステップS13で教示された作業を記憶する手段(図1−Bのロボットコントローラ5の内部(不図示))に対応するがこれに限定されない。
「作業手順修正手段」は、実施例の[数5]から[数10]を用いた処理に対応するがこれに限定されない。同次変換行列を用いる限り、本発明の範囲に含まれる。
「獲得」とは、計算によって得る場合も含むし、予めテーブルに記憶された値を読み出す場合も含む。
なお、「作業対象物」には、再生過程における、実際に作業を行う対象物(「被作業物」と呼ぶ。)のみならず、本発明の「位置・姿勢を検出」の目的のために、被作業物の一部に固定された物体、又は、被作業物と所定の位置・姿勢関係になることがロボットから見て既知である、本発明の「位置・姿勢を検出」の目的に利用可能な物体も含む。
また、「作業手順」とは、ロボットに時系列的に与えられる、例えば図1−Bのロボット1、手先効果器2に関する指示の双方を含む。
「位置・姿勢変化量獲得手段」、「作業手順記憶手段」、「作業手順修正手段」、「作業手順」については、以下同様である。つまり、以下において、以上の「位置・姿勢変化量獲得手段」、「作業手順記憶手段」、「作業手順修正手段」、「作業手順」の用語を用いる場合には、以上の各説明がそのまま妥当する。
「(a)前記ロボットと作業対象物の相対的な位置、及び/又は、姿勢」の変化、「(b)前記ロボットの、少なくとも1つのアーム長」の変化、「(c)前記ロボットの軸を駆動するモータと当該軸との連結関係の変更による駆動モータにおける機械的回転運動の原点位置」の変化、の異同について説明する。「(b)前記ロボットの、少なくとも1つのアーム長」の変化、「(c)前記ロボットの軸を駆動するモータと当該軸との連結関係の変更による駆動モータにおける機械的回転運動の原点位置」の変化の2つは、ロボット自体の構成が変化してしまった場合を意味するが、「(a)前記ロボットと作業対象物の相対的な位置、及び/又は、姿勢」の変化は、ロボット自体の構成は変化していないが、ロボットと作業対象物の間の相対的な位置・姿勢関係が、変化した場合が代表例である。以下同様。
本発明は、「相対的な」位置・姿勢を利用しているが、ロボット又は作業対象物のいずれかの「絶対的な」位置・姿勢が既知な場合(固定されている場合)の、当該「絶対的な」位置・姿勢を前提として、何らかの原因によって変動し得る、作業対象物又はロボットの絶対的位置・姿勢の「変化」を検出して、所望の作業を行うようにする態様も、本発明に含まれる。
本発明の「ロボット」は、本体自体は固定されて、例えば図1−Bのロボット1、手先効果器2を移動させることによって、作業対象物の位置等の変化に対応可能なものを含む。
【0008】
[発明2]
作業対象物の位置及び姿勢を前提として与えられた、教示時における、前記ロボットが行うべき作業対象物に対する作業手順を記憶する、作業手順記憶手段と、
ロボットを基準とした作業対象物の位置及び姿勢を獲得可能な、ロボットに設置された位置・姿勢変化量獲得手段によって、第1の教示の後に、
(a)前記ロボットと作業対象物の相対的な位置、及び/又は、姿勢、
(b)前記ロボットの、少なくとも1つのアーム長、
(c)前記ロボットの軸を駆動するモータと当該軸との連結関係の変更による駆動モータにおける機械的回転運動の原点位置、
の少なくとも1つが変更された場合に、前記ロボットからの、当該検出された情報を受け取る位置・姿勢変化量獲得データ受領手段と、
前記受領された位置・姿勢変化量データを元に、前記変更の存在に関わらず、前記作業対象物に対して同様の作業が行われるように、前記記憶された作業手順を修正する手段と、
を備え、
前記作業手順を修正する手段が、前記位置・姿勢変化量獲得手段によって検出された、前記変更後の、前記作業対象物の位置及び姿勢をもとに得られる、ロボットを基準とした座標から作業対象物を基準とした座標への、同次変換行列を用いて、ロボットを基準とした座標での作業手順として与えられる、
ロボットの教示手順校正装置。
【0009】
このように構成することによって、ロボット本体から離れた位置に、位置・姿勢変化量獲得手段からのデータを受け取る「ロボットの教示手順校正装置」を設置することが可能となる。
このように構成することによって、ロボットと制御系を空間的に隔離でき、保守等が容易になる。
「受領」とは、リアルタイムに通信によって受信する場合や、データが取り外し可能記憶媒体に記憶されている場合、当該記憶媒体を、教示手順校正装置に挿入して、制御を行うような態様も含む。また、「位置・姿勢変化量データ受領」とは、実際の「位置・姿勢」自体を受領する場合も、以前の検出時点からの差分値を受領する場合等も含む。
【0010】
[発明2’] ロボットに設置され、ロボットを基準とした、作業対象物の位置及び姿勢を獲得可能な位置・姿勢変化量獲得手段と、
前記ロボットを制御する教示手順校正装置を備え、
前記教示手順校正装置が、
前記位置・姿勢変化量獲得手段からのデータを受け取る、位置・姿勢変化量データ受領手段と、
作業対象物の位置及び姿勢を前提として与えられた、教示時における前記ロボットが行うべき作業対象物に対する作業手順を記憶する、作業手順記憶手段と、
前記位置・姿勢変化量獲得手段によって、第1の教示の後に、
(a)前記ロボットと作業対象物の相対的な位置、及び/又は、姿勢、
(b)前記ロボットの、少なくとも1つのアーム長、
(c)前記ロボットの軸を駆動するモータと当該軸との連結関係の変更による駆動モータにおける機械的回転運動の原点位置、
の少なくとも1つが変更された場合に、前記ロボットからの、当該検出された情報を受け取る位置・姿勢変化量データ受領手段と、
前記受領された位置・姿勢変化量データを元に、前記変更の存在に関わらず、前記作業対象物に対して同様の作業が行われるように、前記記憶された作業手順を修正する手段と、
を備え、
前記作業手順を修正する手段が、前記位置・姿勢変化量獲得手段によって検出された、前記変更後の、前記作業対象物の位置及び姿勢をもとに得られる、ロボットを基準とした座標から作業対象物を基準とした座標への、同次変換行列を用いて、ロボットを基準とした座標での作業手順として与えられる、
ロボットの教示手順校正装置。
【0011】
この発明は、上記発明1又は2における、「ロボット制御システム」が、ロボットと一体的に存在する態様である。
このように構成することによって、ロボットと制御系が一体化され、制御用の通信ラインや、通信回線が不要となる。
本願の審査過程、又は、特許後の訂正請求(訂正審判)において、本願請求項に係る発明の一部又は全てを、本発明のように、「ロボット制御システム」が、ロボットと一体的に存在する態様に修正する可能性を留保する。
【0012】
[発明3]
前記作業手順修正手段が、
(a)第1の教示時における第1の同次変換行列と、(b)第2の教示時における、前記位置、及び/又は、姿勢の変化量に基づいて得られた、第2の同次変換行列と、
の差を用いて、前記作業手順を修正する、
発明1ないし2’に記載のロボットの教示手順校正装置。
【0013】
このように、同次変換行列の差を用いて、容易に作業手順を修正することができる。
【0014】
[発明4]
前記位置・姿勢変化量獲得手段が、作業対象物への接触状態を検出する接触状態検出手段を含み、当該接触状態検出手段が、前記ロボットの前記作業対象物への接近速度において、前記ロボット、及び、前記作業対象物に損傷を与えない程度の柔軟性を有する、位置・姿勢変化量獲得用接触状態検出部を有する、発明1ないし3に記載のロボットの教示手順校正装置。
【0015】
このように構成することによって、従来技術に比して、高速で、作業対象物に接近することが可能となる。
【0016】
[発明5]
前記ロボットの、前記作業対象物への接触過程を時系列的に記憶する、接触過程記憶手段を更に備え、
前記作業対象物への接触過程を過去に遡って検証することによって、接触開始位置、及び/又は、接触開始時刻を得る、接触開始位置/接触開始時刻獲得手段を備える、
発明4に記載のロボットの教示手順校正装置。
【0017】
このように構成することによって、接触開始位置、及び/又は、接触開始時刻を正確に把握できる。
【0018】
[発明6]
前記第1の同次変換行列、及び、前記第2の同次変換行列は、
直交する二平面、もしくは互いに直交する三平面を有する作業対象物の各平面を所定回数位置検出し、検出した位置から計算されることを特徴とし、特に直交する二平面の場合には、前記直交する二平面上に位置する2つの点P1、P2と、当該平面と直交する別の平面上に位置する1つの点P3、のそれぞれについて、
【数1】

(i=1,2,3:それぞれP1、P2、及び、P3に対応。)
に基づいて、P1、P2、及び、P3の位置を検出する手段であって、
[x1 y1]、[x2 y2]、[x3 y3]が、それぞれ、P1、P2、及び、P3の、ロボットに基づく座標上の座標値であり、
[xtcp ytcp]が、ロボットに基づく座標上の前記接触検出部の先端部の位置であり、
[R 0]、[−R 0]、[0 R]、[0 −R]がそれぞれ、前記接触検出部の先端部の半径Rを用いて、前記[xtcp ytcp]を補正して、より正確な位置を求めるための行列である、前記手段と、
以下の、
【数2】

及び、
【数3】

に基づいて、
以下の、
【数4】

で表される同次変換行列を計算する手段、
によって得られる、
発明4又は5に記載のロボットの教示手順校正装置。
【0019】
このように、作業対象物の形状を一定のものにすることで、画一的に作業対象物の位置及び姿勢を得ることができる。この「一定の形状」は,本発明では、矩形形状であるが、本発明の上位概念発明では、矩形に限定されず、例えば三角形や円形等の任意の(平面、立体)形状が採用可能であり、本願の審査過程又は特許後の訂正請求(訂正審判)において、本発明の上位概念に対応する請求項にそのような発明を含める可能性を留保する。
なお、本発明では「鉛直方向から見た作業対象物」を対象としているが、ロボットが一意的に認識可能であれば、ロボットから見て「所定の方向」の「作業対象物」の特定の形状を用いることも可能である。そのような発明の態様は、本発明より上位概念の発明に含まれるし、審査過程又は特許後の訂正請求(訂正審判)で、そのような発明を補正によって、特許請求の範囲に含める可能性も留保する。
【0020】
[発明7]
発明1ないし6に記載のロボットの教示手順校正装置を用いて、ロボットを制御する方法であって、
第1の教示時における、前記同次変換行列、即ち、第3の同次変換行列を取得し、
第2の教示時における、前記同次変換行列、即ち、第4の同次変換行列を取得し、
前記第3の同次変換行列と、前記第4の同次変換行列の差を求め、
前記求められた同次変換行列の差を用いて、前記第1の教示時に用いた、ロボットの作業手順を修正して、第2の教示時に利用する、
ロボットの教示手順校正方法。
【0021】
このようにすることによって、第1の教示に引き続いて、第2の教示が行われるよう場合に、直前の教示時の作業手順を容易に修正して、妥当な第2の教示データを求めることができる。
ここで、「第1の」、「第2の」とは、「最初の」、「2番目の」という意味に限定されるものではなく、任意のある時点の教示と、それに後続する「次の」教示過程の、という意味である。つまり、教示→第1の再生→第2の再生→・・・、というように、複数の再生作業が連続する場合、1つ前における再生(当該時点での相対的位置・姿勢を前提として与えられていた)を、今回の再生時点における相対的位置・姿勢と、前回の再生時の相対的位置・姿勢との「差」を元に修正することによって、連続的に再生作業を行うことが可能となる。
【0022】
以下、本明細書で用いられる用語の意義について説明する。
・ロボット→人の代わりに何等かの作業を行う装置。本発明では、主に、ある程度自律的に連続した自動作業を行う、産業用ロボットが代表例だが、これに限定されない。将来開発される「ロボット(人の代わりに何等かの作業を行う装置)」であって、本願特許請求の範囲の技術的範囲に含まれる発明を利用可能な全ての「ロボット」が含まれる。
・レイアウト検討→産業用ロボットを用いた組立・溶接等の生産ラインの作業手順の検討のこと。
・教示→ロボットに作業を行わせるためにその作業を実現する動作を何らかの方法で教え込むことである。
・再生→ロボットが、記憶した情報によって指示された作業・動作を実行すること(playback)。
・教示データ(作業プログラム)→ロボットへの作業の教示に用いるデータ、及び/又は、コンピュータプログラムである。
・オンライン教示→ロボットが作業を行う環境にて、教示作業者が実際にロボットを動作させながら教示を行うこと。
・オフライン教示→オンライン教示と対の概念。実際のロボットを用いず、コンピュータ上のシミュレーションなどによって教示を行うこと。
・実ライン→ロボットによって作業が行われる一連の工程全体を意味する。
・生産ライン→実ラインと同義。ロボットによって作業が行われる一連の工程全体を意味する。
・ロボットのツール→ロボットの手先に取り付けられ、作業対象物に対して何らからの作業をするもの。物を掴むハンド(グリッパ)や、バリ取りを行うグラインダなど、具体的な構成は用途によって様々存在する。
・作業対象物→ロボットによって作業を行う対象物。ロボットによって、把持、運搬、溶接等が行われる対象物。
・治具→治具(jig)は、加工や組立ての際、部品や工具の作業位置を指示・誘導するために用いる器具の総称。
・位置検出→ロボットと、既知である空間上に位置に存在する物体との位置関係を測定・計算等することによって、ロボットが、現実に空間内のどの位置に存在するかを判断すること。
・作業座標系→ロボットのエンドエフェクタの先(手先部)に固定された直交座標系であり、ロボットの手先位置姿勢を変化させる際の基準として使う座標系である。作業座標系の軸方向は、エンドエフェクタの形状に合わせて、作業者が任意に決定する。(エンドエフェクタとは、ロボットの手先に取り付けられ、作業対象物に対して何らからの作業をするもの。物を掴むハンド(グリッパ)や、バリ取りを行うグラインダなど、具体的な構成は用途によって様々存在する。)
・タッチアップ→接触すること。
・ロボット座標系→ロボット本体に固定された直交座標系であり、ロボットを動作させる際の基準として使う座標系である。このロボット座標系は、通常ロボットの前後方向にX軸、左右方向にY軸、上下方向にZ軸をとる。
・組付け→部品等を装置に据え付けること。組み立てと同義。
・タッチセンサ→接触を検出するセンサ。
・キャリブレーション(校正)→所定の位置・姿勢に移動せよ、というロボットに対する指令に係る当該位置・姿勢と、実際にロボットが移動した位置・姿勢が一致するよう、設計時のロボット座標系と実際のロボット座標系との間のズレやロボットの機械的な誤差を同定すること。
・作業プログラム→ロボットに対する指令(取るべき位置や姿勢を指示するもの)。時間の進展に従って、順次所定の位置や姿勢を取るように、シーケンシャルな指令となる場合が多い。
・接触安定→制御の不完全性等による手先効果器の振動等によって、手先効果器と作業対象物との接触が、不安定になることが無い状態のこと。
・タッチピン→被接触物と接触する棒状物。
・端面→平坦な面。
・(接触検知信号を)入信→位置検出を行う測定部に信号が入ってくること。
・パレタイジング→パレットなどの上に、物を一定の規則にしたがって並べることを
いう。ここで、パレットとは、当該並べられる物を置くために特に適した形状を持つ板状の土台、基盤、等を意味する。
・同次変換行列→座標系Σ2からΣ1に変換するための変換行列。例えば、上記ロボット座標系の座標値を表す行列に、この同次変換行列を乗算すると、上記作業座標系上の座標値を表す行列が得られる。
・オンライン作業→ロボットが、記憶した情報によって指示された作業・動作を実行する再生(playback)作業のこと。オフライン作業と対の概念。
・定盤(じょうばん)→金属加工の台。たたき定盤。
・アプローチ→実施例レベルでは、ロボット1や手先効果器2を、作業対象物8へ接近させること。上位概念的には、或る物を他の物に接近させること。
・順変換→順運動学とも呼ぶ。ロボット制御の場合は各軸を駆動するモータにエンコーダが設けられており、エンコーダで測定した各軸の位置(回転角度)と、ロボットの各リンクの長さ(既知)とからロボットの手先の位置・姿勢を求めることができる。このロボットの手先の位置・姿勢を求めることを順運動学(順変換)と言う。
・教示ペンダント(操作ペンダント)→ロボット教示手順校正装置と有線または無線で接続され、作業者が把持して操作する画面と複数のボタンを備えた装置。ロボットに所定の作業の動作を教示(ティーチング)したりロボットの状態を把握したり、教示した作業のスタート、一時停止、非常停止等を指令したりするのに利用する。ティーチングボックス、ティーチングペンダント、プログラミングペンダント等とも呼称する。
・手先効果器→「エンドエフェクタ」とも呼ぶ。ロボットの手先に取り付けられ、作業対象物に対して何らからの作業をするもの。物を掴むハンド(グリッパ)や、バリ取りを行うグラインダなど、具体的な構成は用途によって様々存在する。
・A及び/又はB→A及びBの少なくとも一方の意味。つまり、Aのみ、Bのみ、又は、A及びBの双方、のいずれか、の3つの態様を全て含む。
・外乱オブザーバ→所定のシステムへの入力信号値、所定のシステムからの出力信号値から、システム内部の状態を推定する手法又は装置のこと。図8−3の例では、例えば、「上位からの位置指令」、「トルク指令」、「位置FB(フィードバック)」という、システムの外から把握できる物理量から、システム内部(例えば「エンコーダ」)に加わった外乱としての、システム外の物体との接触状態を推定する手法又は装置を指す。
・カルマンフィルタ→外乱オブザーバでは、ノイズの影響を考慮できないが、ノイズの影響も更に考慮して、所定のシステムへの入力信号値、所定のシステムからの出力信号値から、システム内部の状態を推定する手法又は装置のこと。
・相対的:→「絶対的」と対となる概念。例えば「相対的位置が把握されている」というときは、例えば、ロボットから見た作業対象物までの距離・方向が、ロボットによって把握されていることを意味する。この場合、外部の人間から見た、作業対象物の絶対的な位置(例えば人間が設定したXYZ座標上での座標値)を、ロボットが知らない場合であっても、「相対的位置が把握されている」といえる。
・備考:以上の各「発明」の説明及び用語の解説は、本願明細書のみに妥当するものであり、類似発明について同一発明者又は同一出願人によって、同日又は別の日に出願される特許出願に係る明細書にも同様に適用可能であるとは限らない。
【発明の効果】
【0023】
本発明の実施例により、例えば、ロボットの特徴である高速性を失うことなく、速度や姿勢に依存せずに作業対象物に接触するとともに接触位置検出し、エンコーダ分解能程度のサブミリ単位の高精度検出することで、高速高精度なロボットの作業座標系のキャリブレーション(校正)方法を提供することができる。
【図面の簡単な説明】
【0024】
【図1−A】本発明の実施例の概念の説明図
【図1−B】本発明の実施例の技術を適用するキャリブレーション装置の構成図
【図2】本発明の実施例1の処理手順を示すフローチャート
【図3】本発明の実施例の説明図
【図4】本発明の実施例の説明図
【図5】本発明の実施例の説明図
【図6】本発明の実施例2の処理手順を示すフローチャート
【図7】従来技術の説明図
【図8−1】本発明の実施例で使用可能な作業対象物の相対的な位置・姿勢の検出方法の例
【図8−2】本発明の実施例で使用可能な作業対象物の相対的な位置・姿勢の検出方法の例
【図8−3】本発明の実施例で使用可能な作業対象物の相対的な位置・姿勢の検出方法の例
【図8−4】本発明の実施例で使用可能な作業対象物の相対的な位置・姿勢の検出方法の例
【図8−5】本発明の実施例で使用可能な作業対象物の相対的な位置・姿勢の検出方法の例
【発明を実施するための形態】
【0025】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
まず、本発明の各実施例で用いられる基本的概念について、図1−Aを参照して解説する。
以下の説明は、あくまで参考として、本願発明の理解を容易にするための「概念」の説明であって、以下の説明によって、本願発明の技術的範囲又は発明の要旨が限定されるべきではない。
【0026】
図1−Aでは、まず、教示過程(K:上半分)で、ロボット設置面に固定されたロボットに対して、作業対象物に対して行うべき作業(溶接、切断等)の手順(時系列的に、ロボットのエンドエフェクタをどこに移動させ、どのような作業を行うか、等の一連の指示)を、ロボット(の教示手順校正装置)に教示する(ここでは説明の簡略化のため二次元の図で説明するが、容易に三次元に拡張できる)。
一般的に、このような教示は、ロボットを導入する生産ライン構築の初期段階において、導入したロボット実機や生産ラインのシミュレーション環境に対して行われる。
しかし、このような教示を行った後、当該ロボットから、仕様が若干修正されたロボットに対して、同様の作業を行わせる場合がある。ここで、「仕様が若干修正」とは、例えば、ロボットのアームの長さ(L1)を若干変更したり(図1−AのL1→L1’)、駆動モータ(M1)の駆動形態の変更(図1−AのM1→M1’)により駆動モータにおける機械的回転運動の原点位置を変更したりする場合等をいう。また、作業対象物(W1)の位置・姿勢も、最初の教示時(K)からずれる可能性もある(図1−AのW1→W1’により「ずれ」Disが発生する)。
本発明の実施例では、導入したロボット実機や生産ラインのシミュレーション環境に対して教示した最初の作業内容を、当該ロボット実機や生産ラインのシミュレーション環境以外の類似ロボットで、しかも、最初の作業環境とは異なった環境(作業対象物の「ずれ」等)において利用(流用)して、最初の教示手順の修正を行うことに関する。実際には、このような修正された教示手順を用いて、実際の作業(再生)が行われるが、本発明の実施例では、この再生段階については、詳述しない。
図1−Aにおいて、まず、教示過程(K:上半分)では、ロボットに接続されているプローブにより、作業対象物表面の位置を所定回数検出する。これをもとに、作業対象物の位置・姿勢を表す同次変換行列R1W1を求める。
教示手順の修正過程(K’:下半分)では、ロボットに対する作業対象物の(相対的)位置・姿勢がずれている。
そこで、まず、ロボットに接続されているプローブにより、作業対象物表面の位置を所定回数検出する。これをもとに、作業対象物がずれた状態での、作業対象物の位置・姿勢を表す同次変換行列R1T’W1を求める。次に、R1W1R1T’W1に基づいて、上記教示されている作業を修正する。
実際には、この当該修正済みの教示情報を用いて、再生作業を実行するが、上述のように、この段階については詳述しない。
【実施例1】
【0027】
図1−Bは本発明の実施例の技術を説明するロボットと作業対象物の位置姿勢のキャリブレーション(校正)装置の構成図である。実施例1では、上述の導入したロボット実機や生産ラインのシミュレーション環境に対する教示を行った後、「仕様」は変更されず、作業対象物(W)の位置・姿勢が、最初の教示時(K)からずれる場合を想定する。
図1−Bにおいて、ロボット1は、少なくとも一つ以上のサーボモータ及びエンコーダにより駆動される。ロボット1の先端部には、手先効果器2が接続される。手先効果器2としては、例えば、溶接トーチ、もしくは溶接ガン、作業用グリッパなど(図1−Bにはグリッパを記載)が含まれるがこれに限定されない。手先効果器2には、接触位置検出プローブ3が接続されている。この接触位置検出プローブ3の取り付け位置や延在方向、その形態は、図1−Bに記載のものに限定されない。接触位置検出プローブ3は、取外し可能で、プローブ長手方向、または長手方向以外の2方向の曲げ、いずれか3方向に対して弾性変形領域を持つ。そして、位置検出動作に伴い作業対象物へ接触する際に手先効果器2もしくはロボット1自身と作業対象物8との干渉がない程度の長さを持ち、接触方向に制限を与えないために先端は球状である。(この「干渉」とは、ロボット1や手先効果器2が、作業対象物8に対して作業を行う際に、接触位置検出プローブ3が邪魔になる、という意味である)
また、接触位置検出プローブ3は、ロボットの作業性を損なわないように、プローブが必要な時のみ突き出す収納式でも良い。
【0028】
ロボット1の先端部には、1方向以上の力を検出できる外力検出器4が設置されている。外力検出器4としては、接触状態を導通により電気的に検出するセンサ、接触センサ、薄型圧力センサ、トルク指令値と負荷トルクとの差で表される外乱トルクを用いた力検出器でも代用できる(本実施例では力センサを例にして説明する)。
ロボットコントローラ5は、ロボット1、手先効果器2の制御を行うと同時に、ロボット1に内在するエンコーダの位置情報や外力検出器4からの検出データを受信し、必要なデータ処理を行うものである。ロボットコントローラ5の内部には通常のロボットの位置制御を行う位置指令生成部(51)、力センサ等の値を監視し接触判断を行う外力値監視部(52)、エンコーダの値とプローブの設計寸法と取り付け位置と位置検出動作のアプローチ方向からプローブ先端位置を計算するプローブ先端位置計算部(53)、位置検出動作中の力センサの値とプローブ先端位置を記録する記録装置(54)、記録したプローブ先端位置から接触位置を計算する接触位置検出部(55)、ロボット・作業対象物間の位置姿勢誤差発生前後のロボット座標系に対する作業対象物の位置姿勢から位置姿勢誤差の修正量を算出する位置姿勢誤差計算部(56)が含まれる(なお、本明細書中では、場合によって、ロボット1と、手先効果器2、接触位置検出プローブ3、外力検出器4を区別する場合もあり、「ロボット」が、手先効果器2、接触位置検出プローブ3、外力検出器4を含むように説明する場合があるが、それぞれの場合の区分けは、当業者に容易に理解可能である。)
【0029】
プローブ3の設計寸法と取り付け位置が正確に分からない場合は、別途キャリブレーション(校正)しても良く例えば次のような方法がある。ロボット座標系に対する作業対象物8の位置、及び、姿勢、並びに、ロボット1の手先位置、及び、姿勢が既知の条件下で、接触位置検出プローブ3を用いて、作業対象物8に接触し、接触時点での、ロボット1の手先位置・姿勢と、作業対象物8の位置・姿勢の「差(ベクトル)」を、接触位置検出プローブ3の設計寸法と取り付け位置とするのである。
オフライン教示システム6は、ロボットの作業教示を含む生産ラインのシミュレーション環境を備えた外部パソコンである。オフライン教示システム6において作成した教示データやロボット座標系に対する作業対象物の位置姿勢等のデータは外部メディアや通信ケーブルによりロボットコントローラに転送可能となる。
操作ペンダント7はロボットの作業教示、および再生、接触動作実行や力センサ値の検出閾値、プローブ寸法の設定変更に使用する。
【0030】
図2は本発明の実施例の処理手順を示すフローチャートである。この図を用いて本発明の方法を順を追って説明する。実施例は図3を用いて2次元で記述するが、容易に3次元に拡張可能である。
まず、オフライン作業について説明する。ステップS11において、オフライン教示システムで作業教示をする。つまり、オフライン教示システム6に備えられたシミュレーション環境におけるGUIなどのロボット操作ツール(不図示)を教示作業者が操作しながら、シミュレーション環境内のロボット1、手先効果器2等が時系列的に為すべき、作業対象物の溶接、パレタイジング、ハンドリング、組立などの手順、手順の各段階におけるロボット1、手先効果器2等の位置・姿勢等を、オフライン教示システム6内のメモリに記憶させる。
ステップS12では、オフライン教示システムにおいてロボット座標系における作業対象物8の位置姿勢情報を取得する。オフライン教示システム6に備えられたシミュレーション環境において、配置した作業対象物を含む全ての物体位置・寸法は数値データとして得ることが出来る。なお、作業対象物8の位置姿勢情報はロボット座標上での値としているが、実ラインで得ることの出来るものであれば生産ライン内のどこを基準としても良い(ロボット1との対応関係が把握可能である限り、ロボット1から離れた場所を座標系の原点としても良い)。本実施例のロボット座標系は、ロボットを設置する側のリンク端を原点とし、右手系の座標をとるものである。ロボットが複数存在する場合には、ΣR1、ΣR2、…のように複数のロボット座標系を設定する必要がある。また、複数の作業対象物が存在する場合には、ΣW1、ΣW2、…のように複数の作業座標系を設定する必要がある。ロボット座標系ΣR1に対する作業座対象物の位置姿勢情報とは、ΣR1からΣW1、ΣW2、…の同次変換行列R1W1R1W2、…を取得することを意味する(図3)。
【0031】
ステップS13では、後のオンライン作業で使用する作業対象物の位置検出動作の教示を行う。つまり、このオフライン作業において、後のオンライン作業で接触位置検出プローブ3をどのように操作して、作業対象物の位置検出動作を行うべきかを、オフライン教示システム6に備えられたシミュレーション環境におけるGUIなどのロボット操作ツールを用いて、予め教示しておく。教示された内容は、オフライン教示システム6のメモリ内に記憶される。
この位置検出動作の教示(ステップS13)では、ロボット1や手先効果器2と作業対象物8の干渉が無いように、プローブ3先端を作業対象物8、もしくは作業対象物8を支える治具、定盤に押し込む位置を教示する(接触位置から押し込み位置までの距離はプローブの柔軟性により吸収される)。なお、本実施例では、この位置は、エンコーダで測定した各軸の位置(回転角度)として得られる(後述のステップS16において、この、各軸の回転角度とロボットの各リンクの長さ(既知)とプローブ3の設計寸法と取り付け位置(既知)と位置検出動作のアプローチ方向から、順運動学計算によってロボットの手先の位置・姿勢を求める)。位置検出は図3に示すように、1つの作業対象物8に対して3回(位置P1、P2、P3に対してそれぞれ1回ずつ)繰り返し、当該位置検出動作により検出位置P1、P2、P3を得る。P1、P2は同一直線上にある点で、P3はP1、P2と直交する線上の点である(3次元的な位置姿勢を得る場合では、最低5点の位置を検出する必要があり、内3点は同一平面上の点で、他2点はそれぞれが直交する平面上の点とする)。検出の順番の制約は特に無く、例えば、P3、P1、P2としても良い。また、片面のみ2点を位置検出する必要が有るが、どちらの面でも良い。
【0032】
ステップS14では、オフライン教示データと、作業対象物の位置姿勢情報R1W1、…を、ロボットコントローラ5に転送する。
は、一般的に、ロボット座標上での作業対象物の位置姿勢を表す同次変換行列である。
R1W1のR1は、第1のロボット座標系を意味し、W1は第1の作業座標系を示す。
【0033】
次に、オンライン作業について説明する。
ステップS15では、ステップS13で教示した位置検出動作を実際の生産ラインにおいて再生して(ロボット1により実行させて)、下記[数8]に基づいて検出位置P1 R1 [x1,y1]、P2 R1 [x2,y2]、P3 R1 [x3,y3]を得、[数5]〜[数7]によりロボット座標上での作業対象物の位置姿勢を表す同次変換行列R1T’W1を計算する(ロボット、および作業対象物が複数ある場合には、同様の手法でR1T’W2、…、R2T’W1R2T’W2…を求める)。
なお、P1 R1 [x1,y1]は、点P1のロボット座標系R1のX軸,Y軸の座標値を意味する。また、R1T’W1における、T’は、前述の、R1W1とはTに「’」が追加されている点で異なるが、Tは、オフライン教示段階で得られた同次変換行列を意味し、T’は、オンライン作業中に得られた同次変換行列を意味する。両者が異なる可能性がある(往々にして異なる)理由は、例えば、オフライン教示時の作業対象物8の位置・姿勢もしくはロボットの据付位置・姿勢と、オンライン作業段階におけるそれが、往々にしてずれてしまうためや、ロボットの原点位置における各軸モータの角度、ロボットのリンク長さ、リンク間距離などの幾何学的パラメータがオフライン教示システムと実機で異なるためである。作業対象物8の位置・姿勢もしくはロボットの据付位置・姿勢がずれてしまうと、当該作業対象物8の位置において作業を行う場合の作業座標系の配置関係が、ロボット座標系からずれてしまい、ロボット座標系から作業座標系に変換するための変換行列である、同次変換行列も変化してしまうのである。
【0034】
【数5】

ただし、x0,y0は直線1、2の交点で[数6]より求める(直線1、2は、それぞれ作業対象物8の直交する二平面上に存在する直線である)。
【数6】

ただし、直線1はy=a1x+b1、直線2はy=a2x+b2であり、a1,b1,a2,b2は[数7]より求める。
【数7】

【数8】

[数8]によれば、点P1に対してのx1、y1が求められるが、点P2に対するx2,y2、及び、点P3に対するx3,y3も同様にして求められる。
【0035】
プローブ先端位置はプローブ球の中心位置PTCP R1 [xtcp ytcp]にプローブ半径Rを加算した位置であり、[数8]に示すように位置検出動作におけるプローブのアプローチ方向(4方向)に応じて求める。[数8]におけるX軸、Y軸は、それぞれ、図3のX軸、Y軸を意味する。
また、PTCP R1 [xtcp ytcp]は、点PTCPの、第1のロボット座標系における座標値(xtcp, ytcp)を意味する。
「tcp」は、Tool Center Point(工具中心点)を意味する。ここで言う工具とはプローブとなる。
【0036】
[数8]はロボット座標系を基準とした動作でのアプローチ方向の場合分けで、当該場合分け以外の方向から動作した場合には、移動量の多い方向をアプローチ方向として計算しても精度に影響は無い。
例えば、アプローチ動作としてX軸負から正方向へ200mm、Y軸正から負方向へ10mm動作した場合(I)のX軸負から正方向へアプローチする場合として計算する。
プローブ球の中心位置PTCP R1 [xtcp ytcp] はロボットのエンコーダ値とプローブの設計寸法と取り付け位置から求める。ただし、プローブ半径Rが数百ミクロンであれば、プローブ球の中心位置をプローブ先端位置としても良い。
プローブ先端位置(プローブ球表面と作業対象物との物理的な接触点位置)とプローブ球中心位置を分けて、アプローチ方向に応じてプローブ球中心位置からプローブ先端位置を計算するが、それ以外の場合には特に使い分けをしない(プローブ先端位置はプローブ球中心位置と同じ値と考える)。
検出動作の間、外力監視部52において、力センサの値が検出閾値を超えているかを一定の周期で監視する処理と、記録装置にプローブ先端位置と力センサ値を記録する処理を同時に行う。
外力監視部52において、力センサの値が検出閾値を超えた場合には接触を検出したと判断し、接触位置検出信号が位置指令生成部51へ送信され、同位置指令生成部の指令によりロボット1を減速停止させ、アプローチ開始地点へ撤退する動作を行う。
記録装置54に記録した、(a)動作中の力センサで得られた検出力と、(b)プローブ先端位置、から接触時の力センサ値の立上り時点を求め、立上り時点のプローブ位置を接触位置として算出する(図4)。つまり、過去に遡って、実際に接触が起こった時点及び位置を確定する。
また記録処理54はメモリ(不図示)に一定のバッファ領域を設け、記録時に随時上書きする。
ステップS16では、オフライン教示システムと実際の生産ラインのロボット座標に対する作業対象物の位置姿勢誤差を[数9]を用いて計算する。
【数9】

ステップS17では、位置姿勢誤差ΔR1W1を用いてロボットの教示位置の修正を行う。つまり、ステップS11の作業教示位置に修正量を左側から乗算することで作業プログラムの教示位置データの修正を行う。
【0037】
即ち、ステップS13における、各軸教示位置を、まず順変換して、ロボット座標系における手先教示位置Pk R1 [xk,yk,rzk]を得、[数10]のようにPkの左側からΔR1W1を掛けることで、修正した手先位置Ps R1 [xs,ys,rzs]を得るか、もしくは位置姿勢誤差ΔR1W1を逆変換して各軸の角度を計算し、ステップS13における各軸教示位置に加算するのである。
【数10】

なお、手先教示位置Pk R1 [xk,yk,rzk]は、ロボット座標系において、そのX座標がxkであり、Y座標がykであり、そのようなXY座標で表される点を、Z座標軸周りにrzk(rad)だけ回転させた位置を示す。
【0038】
ロボット、および作業対象物が複数存在する場合には、図5のように、作業プログラムにおいて、対象となるロボット、および作業対象物に対する作業区間のみ教示位置データの修正を行えば良い。
例えば、ロボット1の作業対象物1に対する作業教示であればΔR1W1を用い、ロボット2の作業対象物1に対する作業教示であればΔR2W1を用い、という要領で、対象となるロボット、および作業対象物に対する作業区間のみ教示位置データの修正を行う。なお、図5で、SFTは、シフト命令を表し、ロボット手先位置を教示位置データからどれだけずらすか(位置姿勢誤差ΔRmWn)を示す(mはロボットの番号、nは作業対象物の番号)。
MOVは移動命令であり、POS_w1_04は、対象物w1(第1の作業対象物)に対して、04番目に教示した位置(POSITION)に移動するという指令内容を表す。
【0039】
このように、実際の作業時(オフライン教示の後の、再生時の直前に行われる、教示手順の修正時)において接触位置検出処理を所定回数繰り返すことでロボット座標系に対する作業対象物の位置姿勢を算出し、オフライン教示時と実際の作業時のロボット座標系に対する作業対象物の位置姿勢誤差を計算し、オフライン教示データを修正することができ、高速高精度なロボットの作業座標系のキャリブレーション(校正)ができるのである。
【実施例2】
【0040】
実施例2は、レイアウト(作業対象物の位置、及び/又は、姿勢)の変更や、ロボットを置き換える場合に、本発明を用いる場合の例である。(実施例1では、上述の導入したロボット実機や生産ラインのシミュレーション環境に対する教示を行った後、「仕様」は変更されず、作業対象物(W1)の位置・姿勢が最初の教示時(K)からずれる場合のみを想定したが、実施例2では、導入したロボット実機や生産ラインのシミュレーション環境のロボットから仕様が若干修正されたロボットに対する、教示手順の修正をも含む。)
実施例2は実施例1と同構成のキャリブレーション(校正)装置を用いる。
図6は本発明の実施例2の処理手順を示すフローチャートである。この図を用いて本発明の方法を順を追って説明する。
まず、レイアウト変更、もしくはロボット置換え前の処理について説明する。ステップS21では、上記実施例1でのステップS15と同様に、接触位置検出処理を所定回数繰り返し、ロボット座標における作業対象物の位置姿勢R1W1を算出する(位置姿勢関係が既知の場合には必要ない)。
ロボット、および作業対象物が複数存在する場合には、実施例1と同様に、組み合わせの数だけ実施する。位置検出動作は教示作業者が教示ペンダントを用いて、手先効果器に搭載した柔軟なプローブを作業対象物に接触させ、さらに押し込んだ位置を教示するという手順で教示するか、もしくは、教示ペンダント7を用いずにCAD等のソフトウェア上でオフライン教示しても良い。
【0041】
ステップS22では、生産ラインのレイアウト変更(作業対象物の位置、及び/又は、姿勢の変更)、ロボットの置き換えを行う(位置姿勢誤差のため、従来の教示データでは正確な作業ができなくなる)。
ステップS23では、ステップS21と同様にして再度接触位置検出処理を所定回数繰り返し、ロボット座標に対する作業対象物の位置姿勢R1T’W1を算出する。位置検出動作はステップS21と同様に、教示ペンダント7を用いて、接触した位置を教示するか、位置姿勢誤差が数十mm単位で既知であれば、ステップS21の位置検出動作を既知量だけ修正しても良い。
また、位置姿勢誤差が数mm単位であれば、ステップS21の位置検出動作をそのまま使用すれば良い(プローブの柔軟性により許容できる)。
ステップS24では、レイアウト変更、もしくはロボット置換え前後のロボット座標に対する作業対象物の位置姿勢誤差を[数9]を用いて計算する。
ステップS25では、位置姿勢誤差ΔR1W1を用いてロボットの作業プログラムの教示位置の修正を行う。レイアウト変更、もしくはロボット置換え前の作業教示位置に修正量ΔR1W1を左側から乗算することで教示位置データの修正を行う。
つまり、レイアウト変更、もしくはロボット置換え前の各軸教示位置を、まず順変換して、ロボット座標系における手先教示位置Pk R1 [xk,yk,rzk]を得、[数10]のようにPkの左側からΔR1W1を掛けることで、修正した手先位置Ps R1 [xs,ys,rzs]を得るか、もしくは位置姿勢誤差ΔR1W1を逆変換して各軸の角度を計算し、レイアウト変更、もしくはロボット置換え前の各軸教示位置に加算するのである。
【0042】
なお、手先教示位置Pk [xk,yk,rzk]の意味等は、上述したものと同様である。
【0043】
このように、産業用ロボットを稼動する生産ラインのレイアウト変更、もしくはロボットの置換え前後において接触位置検出処理を所定回数繰り返すことでロボット座標系に対する作業対象物の位置姿勢を算出し、レイアウト変更、もしくはロボット置換えに伴うロボット・作業対象物間の位置姿勢誤差を計算し、レイアウト変更前、もしくはロボット置換え前の教示データを修正することができ、高速高精度なロボットの作業座標系のキャリブレーション(校正)ができるのである。
【0044】
上記あるいは特許請求の範囲に記載の発明において、各用語は、装置の具体的形態や具体的呼称を限定するものではなく、その一般的な機能を備えた装置を表わすためのものである。1つの構成要素が有する機能が2つ以上の物理的構成によって実現されてもよく、2つ以上の構成要素が有する機能が1つの物理的構成によって実現されてもよい。システムの発明は、それぞれの構成要素の有する機能が逐次的に実行される方法の発明として把握することもできるし、その逆も成り立つ。方法の発明においては、各ステップSは記載された順序に実行されるものに限定されるものではなく、全体としての機能が矛盾なく実行され得る限りにおいて、自由な順序でそれを実行することができる。これらの発明は、所定のハードウェアと協働して所定の機能を実現させるプログラムとしても成立し、それを記録した記録媒体としても成立する。また本発明は、搬送波上に具現化されたコンピュータ・データ信号であって、そのプログラムのコードを備えたものとしても成立しうる。
本態様の他の実施形態は、対応するシステム、装置、デバイス、コンピュータプログラム製品、及びコンピュータ可読媒体を含む。
審査中の手続補正によって、及び、特許後の訂正審判又は訂正請求において、法的な制限の範囲内で、本発明は、以上の種々の態様に訂正され得る。
なお、特許後の訂正審判又は訂正請求における「実質上特許請求の範囲を変更」の判断は、特許時の請求項に新たな構成要素が追加されたか否か(即ち、いわゆる外的付加が為されたか否か)、又は、特許時の請求項の1つ又はそれより多いいずれかの構成要素を更に限定するものか(即ち、いわゆる内的付加が為されたか)によって判断されるべきでなく、訂正の前後の請求項に係る発明の効果が類似するか否かの観点から為されるべきである。
【0045】
本明細書は、多数の特定のものを含むが、これらは、特許請求される又は特許請求されることができる範囲に対する制限として解釈されるべきではなく、特定の実施形態に特有の特徴の説明として解釈されるべきである。別個の実施形態の内容において、本明細書に説明される特定の特徴は、さらに、単一の実施形態において組み合わせて実施することができる。対照的に、単一の実施形態の内容において説明される種々の特徴は、さらに、多数の実施形態において、又はあらゆる好適な小結合において実施することができる。さらに、特徴は、特定の組み合わせにおいて作用するように上述され、さらに最初に、そのように特許請求されることがあるが、特許請求される組み合わせからの1つ又はそれ以上の特徴は、幾つかの場合においては、その組み合わせから実行されることができ、特許請求される組み合わせは、小結合又は様々な小結合に向けられることができる。
同様に、動作は、特定の順番で図示されるが、このことは、望ましい結果を実現するために、こうした動作が、示される特定の順番で又は逐次的な順番で実行され、又は、それらのすべての図示される動作が実行されることを必要とするように理解されるべきではない。
本明細書に説明される特定の実施形態が説明された。他の実施形態は、特許請求の範囲内にある。例えば、特許請求の範囲に挙げられた動作は、異なる順番で実行し、依然として望ましい結果を実現することができる。一例として、添付図面に示されるプロセスは、望ましい結果を実現するために、必ずしも、示される特定の順番又は逐次的な順番を必要とするものではない。
【符号の説明】
【0046】
1 ロボット
2 手先効果器
3 接触位置検出プローブ
4 外力検出器
5 ロボットコントローラ
51 位置指令生成部
52 外力値監視部
53 プローブ先端位置計算部
54 記録装置
55 接触位置検出部
56 位置姿勢誤差計算部
6 オフライン教示システム
7 操作ペンダント
8 作業対象物

【特許請求の範囲】
【請求項1】
第1の教示時におけるロボットと作業対象物の相対的な位置及び姿勢を前提として与えられた、前記ロボットが行うべき作業対象物に対する作業手順を記憶する、作業手順記憶手段と、
前記ロボットに備えられた、前記ロボットと前記作業対象物との相対的な位置、及び/又は、姿勢の変化量を獲得する、位置・姿勢変化量獲得手段によって、
前記第1の教示の後に、
(a)前記ロボットと作業対象物の相対的な位置、及び/又は、姿勢、
(b)前記ロボットの、少なくとも1つのアーム長、
(c)前記ロボットの軸を駆動するモータと当該軸との連結関係の変更による駆動モータにおける機械的回転運動の原点位置、
の少なくとも1つが変更された場合に、当該変更の存在に関わらず、前記作業対象物に対して同様の作業が行われるように、前記記憶された作業手順を修正する手段と、
を備え、
前記修正された作業手順が、前記位置・姿勢変化量獲得手段によって検出された、前記変更後の、前記作業対象物の位置及び姿勢をもとに得られる、ロボットを基準とした座標から作業対象物を基準とした座標への、同次変換行列を用いて、ロボットを基準とした座標での作業手順として与えられる、
ロボットの教示手順校正装置。
【請求項2】
作業対象物の位置及び姿勢を前提として与えられた、教示時における、前記ロボットが行うべき作業対象物に対する作業手順を記憶する、作業手順記憶手段と、
ロボットを基準とした作業対象物の位置及び姿勢を獲得可能な、ロボットに設置された位置・姿勢変化量獲得手段によって、第1の教示の後に、
(a)前記ロボットと作業対象物の相対的な位置、及び/又は、姿勢、
(b)前記ロボットの、少なくとも1つのアーム長、
(c)前記ロボットの軸を駆動するモータと当該軸との連結関係の変更による駆動モータにおける機械的回転運動の原点位置、
の少なくとも1つが変更された場合に、前記ロボットからの、当該検出された情報を受け取る位置・姿勢変化量データ受領手段と、
前記受領された位置・姿勢変化量データを元に、前記変更の存在に関わらず、前記作業対象物に対して同様の作業が行われるように、前記記憶された作業手順を修正する手段と、
を備え、
前記修正された作業手順が、前記位置・姿勢変化量獲得手段によって検出された、前記変更後の、前記作業対象物の位置及び姿勢をもとに得られる、ロボットを基準とした座標から作業対象物を基準とした座標への、同次変換行列を用いて、ロボットを基準とした座標での作業手順として与えられる、
ロボットの教示手順校正装置。
【請求項3】
前記作業手順修正手段が、
(a)第1の教示時における第1の同次変換行列と、(b)第2の教示時における、前記位置、及び/又は、姿勢の変化量に基づいて得られた、第2の同次変換行列と、
の差を用いて、前記作業手順を修正する、
請求項1ないし2に記載のロボットの教示手順校正装置。
【請求項4】
前記位置・姿勢変化量獲得手段が、作業対象物への接触状態を検出する接触状態検出手段を含み、当該接触状態検出手段が、前記ロボットの前記作業対象物への接近速度において、前記ロボット、及び、前記作業対象物に損傷を与えない程度の柔軟性を有する、位置・姿勢変化量獲得用接触状態検出部を有する、請求項1ないし3のいずれか1項に記載のロボットの教示手順校正装置。
【請求項5】
前記ロボットの、前記作業対象物への接触過程を時系列的に記憶する、接触過程記憶手段を更に備え、
前記作業対象物への接触過程を過去に遡って検証することによって、接触開始位置、及び/又は、接触開始時刻を得る、接触開始位置/接触開始時刻獲得手段を備える、
請求項4に記載のロボットの教示手順校正装置。
【請求項6】
前記第1の同次変換行列、及び、前記第2の同次変換行列は、
直交する二平面、もしくは互いに直交する三平面を有する作業対象物の各平面を所定回数位置検出し、検出した位置から計算されることを特徴とし、特に直交する二平面の場合には、前記直交する二平面上に位置する2つの点P1、P2と、当該平面と直交する別の平面上に位置する1つの点P3、のそれぞれについて、
【数1】

(i=1,2,3:それぞれP1、P2、及び、P3に対応。)
に基づいて、P1、P2、及び、P3の位置を検出する手段であって、
[x1 y1]、[x2 y2]、[x3 y3]が、それぞれ、P1、P2、及び、P3の、ロボットに基づく座標上の座標値であり、
[xtcp ytcp]が、ロボットに基づく座標上の前記接触検出部の先端部の位置であり、
[R 0]、[−R 0]、[0 R]、[0 −R]がそれぞれ、前記接触検出部の先端部の半径Rを用いて、前記[xtcp ytcp]を補正して、より正確な位置を求めるための行列である、前記手段と、
以下の、
【数2】

及び、
【数3】

に基づいて、
以下の、
【数4】

で表される同次変換行列を計算する手段、
によって得られる、
請求項4又は5に記載のロボットの教示手順校正装置。
【請求項7】
請求項1ないし6に記載のロボットの教示手順校正装置を用いて、ロボットを制御する方法であって、
第1の教示時における、前記同次変換行列、即ち、第3の同次変換行列を取得し、
第2の教示時における、前記同次変換行列、即ち、第4の同次変換行列を取得し、
前記第3の同次変換行列と、前記第4の同次変換行列の差を求め、
前記求められた同次変換行列の差を用いて、前記第1の教示時に用いた、ロボットの作業手順を修正して、第2の教示時に利用する、
ロボットの教示手順校正方法。

【図1−A】
image rotate

【図8−1】
image rotate

【図8−2】
image rotate

【図8−4】
image rotate

【図8−5】
image rotate

【図1−B】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8−3】
image rotate


【公開番号】特開2011−230243(P2011−230243A)
【公開日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願番号】特願2010−103344(P2010−103344)
【出願日】平成22年4月28日(2010.4.28)
【出願人】(000006622)株式会社安川電機 (2,482)
【Fターム(参考)】