説明

ロボットの外部軸の計測方法、ロボットの教示データ作成方法、およびロボットのコントローラ

【課題】ポジショナ回転軸のロボットに対する相対的な位置姿勢を高精度に計測する。
【解決手段】
ロボット10に作業されるワークWを把持するポジショナ12の回転軸Arまたは直動軸の該ロボット10に対する相対的な位置姿勢を計測するロボット10の外部軸の計測方法であって、ポジショナ12の回転軸Arまたは直動軸に対する所定の位置に定義された計測点Pmにロボット10の基準点Ptが手動によって位置合わせされた状態の該ロボット10の姿勢を、基準点Ptが計測点Pmに位置合わせされた状態を維持しつつ計測姿勢に変更する。計測姿勢として、(1)関節10a〜10fそれぞれにおける、ポジショナ12が把持するワークWに対して作業を実行するときの作業姿勢時の関節値と計測姿勢時の関節値との間の差分値と、(2)関節10a〜10fそれぞれに対して予め定義されている重み値とに基づいて、作業姿勢に対する類似の程度が高い姿勢を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットが作業するワークを把持するポジショナの回転軸または直動軸の該ロボットに対する相対的な位置姿勢を計測するロボットの外部軸の計測方法、ポジショナと協働するロボットの教示データ作成方法、およびロボットのコントローラに関する。
【背景技術】
【0002】
従来より、ポジショナが把持するワークに対して、多関節型のロボットに溶接や塗装などの作業を実行させることが行われている。ポジショナは、ワークを回転させるまたは平行移動させる装置である。このようなポジショナと協働することにより、ロボットは、様々な方向からワークの様々な部分に対して作業を実行することができる。
【0003】
ところで、ポジショナが把持するワークに対してロボットが高精度に作業を実行するためには、ポジショナの回転軸または直動軸のロボットに対する相対的な位置姿勢を正確に計測する必要がある。例えば、特許文献1には、ポジショナの回転軸や直動軸についてロボットに対する相対的な位置姿勢を計測する方法が開示されている。なお、ポジショナの回転軸や直動軸は、「ロボットの外部軸」と呼ばれている。
【0004】
例えば、特許文献1に開示されている回転軸を有するポジショナでは、ポジショナの回転軸のロボットに対する相対的な位置姿勢を求めるために、回転軸に対する所定の位置(回転軸を中心として回転することにより変位するポジショナの部分)に計測点が定義されている。
【0005】
特許文献1おいて、ポジショナの回転軸の位置姿勢の計測は、回転軸を中心として所定の角度ずつ複数回回転させることによって計測点を複数回変位させ、計測点を所定の角度回転させる度に、ロボットの先端に取り付けられた計測用ツールの先端点(エンドエフェクタ中心点)を計測点に手動で位置合わせする。計測点に位置合わせされた状態の先端点の位置(座標)に基づいて該計測点の位置(座標)を算出する。そして、算出された計測点の複数の位置に基づいて、ポジショナの回転軸のロボットに対する相対的な位置姿勢を算出する。なお、この方法は、ロボット(ロボットのコントローラ)が、そのときの姿勢(各関節の関節角度)に基づいて、計測用ツールの先端点の位置を算出する機能を備えることが前提である。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平8−129408号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところが、特許文献1に記載する方法によって算出されたポジショナの回転軸のロボットに対する相対的な位置姿勢に基づいて、ポジショナが把持するワークに対してロボットが作業を実行すると、高精度に作業できないことがある。その理由は、ロボットの「誤差」を十分に考慮していないからである。
【0008】
例えば、ある目標点に計測用ツールの先端点を位置決めするために、目標点に計測用ツールの先端点が配置される姿勢を実現する姿勢制御値(各関節の関節角度)をコンピュータなどによって算出し、その算出した姿勢制御値に基づいてロボットの姿勢を制御した場合(いわゆるオフライン教示を実行した場合)、計測用ツールの先端点は、目標点からずれた位置に位置決めされる。すなわち、位置決め誤差である。この位置決め誤差は、関節を駆動するモータの軸のねじれやリンクのたわみ、エンコーダの検出誤差などの、先端点の位置に影響を与えるあらゆる原因を考慮して姿勢制御値を算出していないために生じる。
【0009】
また、例えば、ある目標点の位置(座標値)を計測するために、作業者がティーチングペンダントを操作することによって手動で計測用ツールの先端点を目標点に位置合わせした場合、そのときにロボットが算出するツールの先端点の位置(座標値)は、目標点の実際の位置とずれている。すなわち、位置計測誤差である。この位置計測誤差は、計測用ツールの先端点の位置を算出するときに、関節を駆動するモータの軸のねじれ、リンクのたわみ、エンコーダの検出誤差などの、先端点の位置に影響を与えるあらゆる原因を考慮せず、各関節の関節角度に基づいて算出しているために生じる。
【0010】
しかしながら、計測用ツールの先端点の位置に影響を与えるあらゆる原因を考慮することは、実質的に不可能である。
【0011】
したがって、ポジショナの回転軸または直動軸のロボットに対する相対的な位置姿勢を該ロボットによって計測し、その計測結果に基づいてポジショナが把持するワークに対して高精度に作業をロボットが実行する場合、位置決め誤差と位置計測誤差との両方を十分に考慮する必要がある。
【0012】
そこで、本発明は、ポジショナの回転軸または直動軸のロボットに対する相対的な位置姿勢を該ロボットによって計測し、その計測結果に基づいてポジショナが把持するワークに対してロボットが作業を実行する場合において、ロボットの位置決め誤差と位置計測誤差との両方を十分に考慮することにより、ロボットによるワークに対する高精度な作業を実現することを課題とする。
【課題を解決するための手段】
【0013】
上述の課題を解決するために、本発明の第1の態様によれば、
ロボットの外部軸である、ロボットに作業されるワークを把持するポジショナの回転軸または直動軸の該ロボットに対する相対的な位置姿勢を計測するロボットの外部軸の計測方法であって、
ポジショナの回転軸または直動軸に対する所定の位置に定義された計測点にロボットの基準点が手動によって位置合わせされた状態の該ロボットの姿勢を、基準点が計測点に位置合わせされた状態を維持しつつ計測姿勢に変更し、
計測姿勢として、
(1)各関節における、ポジショナが把持するワークに対して作業を実行するときの作業姿勢時の関節値と計測姿勢時の関節値との間の差分値と、
(2)各関節に対して予め定義されている重み値とに基づいて、
作業姿勢に対する類似の程度が高い姿勢を決定する、ロボットの外部軸の計測方法が提供される。
【0014】
本発明の第2の態様によれば、
基準点を計測点に位置合わせ可能なロボットの複数とおりの計測姿勢それぞれに対して、
(1)各関節について、作業姿勢時の関節値と計測姿勢時の関節値との差分値として第1の値を算出し、
(2)各関節について、第1の値の二乗値に重み値をかけ算して第2の値を算出し、
(3)各関節の第2の値を合計して第3の値を算出し、
第3の値が最小な計測姿勢を決定する、第1の態様に記載のロボットの外部軸の計測方法が提供される。
【0015】
本発明の第3の態様によれば、
関節値が変化したときにロボットの基準点を大きく変位させる関節ほど、重み値が、大きい値に設定されている、第1または第2の態様に記載のロボットの外部軸の計測方法が提供される。
【0016】
本発明の第4の態様によれば、
回転軸または直動軸を基準としてワークを回転させるまたは平行移動させるポジショナが把持する該ワークに対して作業を実行する多関節型のロボットの教示データを作成するロボットの教示データ作成方法であって、
第1から第3の態様のいずれか一つに記載のロボットの外部軸の計測方法によって算出されたポジショナの回転軸または直動軸のロボットに対する相対的な位置姿勢を使用し、ポジショナが把持するワークに対して作業を実行するための教示データを作成する、ロボットの教示データ作成方法が提供される。
【0017】
本発明の第5の態様によれば、
回転軸または直動軸を基準としてワークを回転させるまたは平行移動させるポジショナが把持する該ワークに対して作業を実行する多関節型のロボットのコントローラであって、
ワークに対して作業を実行するときのロボットの作業姿勢に対応する作業姿勢データを取得する作業姿勢データ取得手段と、
作業者の操作により、ポジショナの回転軸または直動軸に対する所定の位置に定義されている計測点にロボットの基準点を位置合わせするためのロボット操作手段と、
作業姿勢データ取得手段が取得した作業姿勢データに基づいて、基準点が計測点に位置合わせされた状態のロボットの計測姿勢を算出する計測姿勢決定手段と、
計測姿勢決定手段によって算出された計測姿勢の状態で計測点の位置を算出する計測点位置算出手段とを有し、
計測姿勢決定手段が、計測姿勢として、
(1)各関節における、作業姿勢データの関節値と計測姿勢時の関節値との間の差分値と、
(2)各関節に対して予め定義されている重み値とに基づいて、
作業姿勢に対する類似の程度が高い姿勢を決定する、ロボットのコントローラが提供される。
【発明の効果】
【0018】
本発明によれば、ポジショナの回転軸または直動軸のロボットに対する相対的な位置姿勢を計測するときの該ロボットの計測姿勢が、ポジショナが把持するワークに対して作業を実行するときの作業姿勢と類似する姿勢であるため、ロボットの位置計測誤差と位置決め誤差を十分に相殺することができる。その結果、ロボットは、ポジショナが把持するワークに対して高精度に作業を実行することができる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施の形態に係るロボット設備を概略的に示す図
【図2】姿勢と位置計測誤差との関係を説明するための図
【図3】位置計測誤差と位置決め誤差との関係を説明するための図
【図4】本発明の実施の形態に係るロボットのコントローラの構成を示す図
【図5】ポジショナの計測点の位置を算出する流れを示す図
【発明を実施するための形態】
【0020】
まず、本発明をよりよく理解するために、本発明に係るポジショナの位置姿勢の計測方法の概念を説明する。
【0021】
図1は、本発明の実施の形態に係るロボット設備を概略的に示している。また、図1は、ロボット10によってポジショナ12の回転軸(回転中心線)Arの位置姿勢を計測する様子を示している。
【0022】
図1に示すロボット10は、関節10a〜10fを有する多関節型のロボットであって、その先端のフランジ10gにスプレーガンや溶接トーチなどの作業用ツールを取り付けることにより、塗装作業や溶接作業などの作業をワークWに対して実行する。ここでは、計測用ツール14がフランジ10gに取り付けられている。なお、関節10a、10d、10fはねじり関節であり、関節10b、10c、10eは曲げ関節である。
【0023】
ロボット10はまた、その姿勢をコントローラ16によって制御される。具体的には、コントローラ16は、ロボット10の関節10a〜10fを駆動する(関節角度を調整する)モータ(図示せず)を制御することにより、ロボット10の姿勢を制御する。
【0024】
コントローラ16はまた、計測用ツール14の先端点Ptの位置、具体的には、例えばロボット10のベースBに予め定義されているベース座標系ΣBにおける先端点Ptの座標を算出する機能を備えている。なお、本明細書において、「位置」や「姿勢」は、ベース座標系ΣBにおける位置や姿勢を言う。
【0025】
コントローラ16は、ロボット10の姿勢に基づいて、すなわち関節10a〜10fそれぞれの関節角度(曲げ角度、ねじり角度)に基づいて、エンドエフェクタ中心点として、計測用ツール14の先端点(特許請求の範囲の「基準点」に対応)Ptの位置を算出する。そのために、関節10a〜10fそれぞれに関節角度を検出するエンコーダ(図示せず)が設けられている。また、コントローラ16の記憶装置(図示せず)に、先端点Ptの位置の算出に必要な、リンク10h〜10mそれぞれのリンク長、計測用ツール14の先端点Ptからフランジ10gまでの距離などのデータが記憶されている。
【0026】
ポジショナ12は、回転軸Arを中心として回転する作業テーブル18を有する。作業テーブル18には、ロボット10によって作業されるワークWが治具(図示せず)を介して固定される。ここでは、ポジショナ12の回転軸Arの位置姿勢(ロボット10に対する相対的な位置や姿勢)を計測するためのマーカー20が取り付けられている。マーカー20の先端の計測点Pmから回転軸Arまでの距離は、既知であり、ロボット10のコントローラ16の記憶装置に記憶されている。
【0027】
なお、計測点Pmは、マーカー20を介して回転軸Arに対する所定の位置に定義することに限らない。例えば、回転軸Arを中心として回転する作業テーブル18に直接定義してもよい。
【0028】
ポジショナ12の回転軸Arの位置姿勢の計測は、作業者がティーチングペンダント(図示せず)を介してロボット10を手動で操作し、計測用ツール14の先端点Ptをマーカー20の計測点Pmに位置合わせすることにより行われる。計測点Pmと位置合わせされた状態の先端点Ptの位置を算出することにより、計測点Pmの位置を算出することができる。そして、この算出した計測点Pmの位置に基づいて、回転軸Arの位置姿勢を算出することができる。
【0029】
具体的には、回転軸Arを中心として作業テーブル18を回転させることにより、作業テーブル18に異なる複数の姿勢をとらせ、作業テーブル18の異なる姿勢毎に、マーカー20の計測点Pmに計測用ツール14の先端点Ptを位置合わせする。そして、作業テーブル18の異なる姿勢毎に、計測点Pmの位置を算出する。算出された複数の異なる計測点Pmの位置それぞれから回転軸Arまでの距離は同一であることから、幾何学的に回転軸Arの位置姿勢を算出することができる。ポジショナ12の回転軸Arのロボット10に対する位置姿勢が算出されることにより、ポジショナ12によって姿勢が変更されるワークWに対して、ロボット10は作業を実行することができる。
【0030】
以上のことを踏まえた上で、ここからは、本発明の特徴について説明する。
【0031】
上述したように、ポジショナ12の回転軸Arのロボット10に対する相対的な位置姿勢を計測するためには、計測用ツール14の先端点Ptの位置の算出が必要である。ところが、コントローラ16が算出する計測用ツール14の先端点Ptの位置は、先端点Ptの実際の位置と異なる。
【0032】
この理由は、例えば、関節を駆動するモータの回転軸のねじれ、リンクのたわみ、周囲の温度、エンコーダの検出誤差などの、先端点Ptの位置に影響を与えるあらゆる原因を完全に考慮して、先端点Ptの位置を算出できないからである。そのため、上述した先端点Ptの位置に基づく方法によって算出された回転軸Arのロボット10に対する相対的な位置姿勢は、実際の位置姿勢と異なる、すなわち位置計測誤差を含んでいる。
【0033】
したがって、ポジショナ12の回転軸Arのロボット10に対する相対的な位置姿勢を該ロボット10によって計測し、その計測結果に基づいてポジショナ12が把持するワークWに対してロボット10が作業を高精度に実行する場合、ロボット10の位置計測誤差を十分に考慮する必要がある。
【0034】
本発明においては、ロボット10の位置計測誤差を考慮して、ロボット10の計測時の姿勢(以下、「計測姿勢」と称する。)を明確に規定する。その理由は、ロボット10を用いてポジションナ12の回転軸Arの該ロボット10に対する相対的な位置姿勢を計測する場合、ロボット10の計測姿勢によって位置計測誤差が異なるからである。
【0035】
例えば、図1のロボット設備を概略的に表現した図2に示すように、計測姿勢が異なると、ロボット10のコントローラ16は、異なる位置計測誤差でポジショナ12の回転軸Arの位置姿勢を算出する。
【0036】
図2(A)は、計測用ツール14が鉛直方向(Z軸負方向)に向いた状態(関節10eから先の部分が鉛直方向に延びる状態)でその先端点Ptがマーカー20の計測点Pmに位置合わせされる計測姿勢を示している。一方、図2(B)は、計測用ツール14が水平方向(X軸正方向)に向いた状態(関節10eから先の部分が水平方向に延びる状態)でその先端点Ptが計測点Pmに位置合わせされる計測姿勢を示している。なお、図中において実線は、実際のロボット10とポジショナ12とを示している。一方、二点差線は、計算上のロボット10とポジショナ12とを示している。
【0037】
図2(A)に示す計測姿勢の場合、コントローラ16によって算出されるポジショナ12の回転軸(計算上の回転軸)Arc1は、実際の回転軸Arからロボット10のベースB側の方向(X軸負方向)にずれる。
【0038】
その理由を説明すると、作業者がティーチングペンダントを介してロボット10を手動操作することによって計測用ツール14の先端点Ptをマーカー20の計測点Pmに位置合わせした場合、二点鎖線によって示すように、コントローラ16が算出する計測点(計算上の計測点)Pmc1の位置は、実際の計測点Pmの位置からロボット10のベースB側の方向にずれる傾向がある。その結果、ずれた計測点Pmc1の位置に基づいて算出された回転軸Arc1は、実際の回転軸Arからロボット10のベースB側の方向にずれる。すなわち、実際の回転軸Arからロボット10のベースB側の方向の位置計測誤差が発生する。
【0039】
これに対して、図2(B)に示す計測姿勢の場合、コントローラ16によって算出されるポジショナ12の回転軸(計算上の回転軸)Arc2は、実際の回転軸Arからロボット10のベースB側の方向と反対方向(X軸正方向)にずれる。
【0040】
その理由を説明すると、作業者がティーチングペンダントを介してロボット10を操作することによって計測用ツール14の先端点Ptをマーカー20の計測点Pmに位置合わせした場合、二点鎖線によって示すように、コントローラ16が算出する計測点(計算上の計測点)Pmc2の位置は、実際の計測点Pmの位置からロボット10のベースB側の方向と反対方向にずれる傾向がある。その結果、ずれた計測点Pmc2の位置に基づいて算出された回転軸Arc2は、実際の回転軸Arからロボット10のベースB側の方向と反対方向にずれる。すなわち、実際の回転軸Arからロボット10のベースB側の方向と反対方向の位置計測誤差が発生する。
【0041】
このように、計測姿勢が異なると、ロボット10のコントローラ16は、異なる位置計測誤差でポジショナ12の回転軸Arの位置姿勢を算出することになる。
【0042】
計測姿勢が異なると位置計測誤差も異なることを考慮して、本発明では、計測姿勢を、ワークに対して作業するときの作業姿勢と類似する姿勢に決定する。
【0043】
図3(A)は、図2(A)に示す計測姿勢(関節10eから先の部分が鉛直方向に延びる状態)のロボット10によって計測されたポジショナ12の回転軸(計算上の回転軸)Arc1に基づいて、ワークWに対して作業を実行するロボット10の様子を示している。一方、図3(B)は、図2(B)に示す計測姿勢(関節10eから先の部分が水平方向に延びる状態)のロボット10によって計測されたポジショナ12の回転軸(計算上の回転軸)Arc2に基づいて、ワークWに対して作業を実行するロボット10の様子を示している。
【0044】
ワークWに対して作業を実行するときのロボット10の作業姿勢は、図2(A)に示す計測姿勢と類似する姿勢、すなわち関節10eから先の部分が鉛直方向に延びる状態の姿勢である。
【0045】
図3(A)および図3(B)に示す作業姿勢はまた、作業用ツールの先端点Pt’をワークWの作業開始点Pwに位置合わせする姿勢である。例えば、作業用ツールが溶接トーチである場合、先端点Pt’は溶接棒の先端であり、作業開始点Pwは溶接開始箇所である。なお、作業開始点Pwの回転軸Arに対する位置は既知であり、コントローラ16の記憶装置に記憶されている。
【0046】
図3(A)に示すように、計算上の回転軸Arc1に基づいて、コントローラ16がロボット10を作業姿勢に制御した場合、作業用ツールの先端点Pt’は、ワークWの作業開始点Pwにほぼ位置決めされる。これは、計測姿勢と作業姿勢とが、図2(A)と図3(A)とに示すように、関節10eから先の部分が鉛直方向に延びる状態の姿勢であって類似するからである。
【0047】
具体的に説明すると、図3(A)に示すように、計算上の回転軸Arc1は、実際の回転軸Arからロボット10のベースB側の方向(X軸負方向)にずれている。この計算上の回転軸Arc1に基づいてコントローラ16がロボット10を制御すると、先端点Pt’は、計算上の回転軸Arc1からロボット10のベースB側方向と反対方向の位置に位置決めされる。これは、コントローラ16によって姿勢が制御されたロボット10においてモータの軸のねじれやリンクのたわみなどが生じ、先端点Pt’がロボット10のベースB側の方向と反対方向にずれる位置決め誤差が発生したことによる。その結果、誤差の方向が正反対の位置決め誤差と位置計測誤差とがほぼ相殺され、図3(A)に示すように、作業用ツールの先端点Pt’が、ワークWの作業開始点Pwにほぼ位置決めされる。
【0048】
これに対して、図3(B)に示すように、計算上の回転軸Arc2に基づいて、コントローラ16がロボット10を作業姿勢に制御した場合、作業用ツールの先端点Pt’は、ワークWの作業開始点Pwから離れた位置に位置決めされる。これは、図2(B)と図3(B)とに示すように計測姿勢と作業姿勢とが異なり、類似していないからである。
【0049】
具体的に説明すると、図3(B)に示すように、計算上の回転軸Arc2は、実際の回転軸Arからロボット10のベースB側の方向と反対方向(X軸正方向)にずれている。この計算上の回転軸Arc2に基づいてコントローラ16がロボット10を制御すると、先端点Pt’は、計算上の回転軸Arc2からロボット10のベースB側の方向と反対方向にずれる。これは、コントローラ16によって姿勢が制御されたロボット10においてモータの軸のねじれやリンクのたわみなどが生じ、先端点Pt’がロボット10のベースB側の方向と反対方向にずれる位置決め誤差が発生したことによる。その結果、誤差の方向が同一であるために位置決め誤差と位置計測誤差とが相殺されず、図3(B)に示すように、作業用ツールの先端点Pt’が、ワークWの作業開始点Pwから、ロボット10のベースB側の方向と反対方向に大きくずれて位置決めされる。
【0050】
作業姿勢に類似する計測姿勢を決定するために、本発明では、複数とおりの計測姿勢それぞれについて、作業姿勢に対する類似の程度(類似度)を算出し、算出した類似度が良好な姿勢を計測姿勢と決定する。なお、「複数とおりの計測姿勢」は、図1を例に挙げて説明すると、計測用ツール14の先端点Ptがマーカー20の計測点Pmに位置合わせ可能な複数の姿勢、すなわち計測点Pmの位置を計測可能な姿勢をいう。
【0051】
数式1は、作業姿勢Jに対する計測可能姿勢Jの類似度D(J,J)(特許請求の範囲の「第3の値」に対応)を算出するための式である。この類似度D(J,J)の値が小さいほど、計測可能姿勢Jが、作業姿勢Jに類似する、すなわち、計測姿勢に適することを意味する。
【数1】

【0052】
数式1において、パラメータkは、関節番号を示す。k=1は関節10aに対応し、k=2は関節10bに、k=3は関節10cに、k=4は関節10dに、k=5は関節10eに、そしてk=6は関節10fに対応する。パラメータwは、関節番号kの関節に対する重み値である。パラメータqi,kは、計測可能姿勢J時における関節番号kの関節の関節角度である。パラメータqs,kは、作業姿勢J時における関節番号kの関節の関節角度である。
【0053】
関節10a〜10fそれぞれに定義される重み値wは、例えば、ロボット10の先端に近い関節ほど小さい値に設定されている。具体的に言えば、関節角度が変化したときに計測用ツール14の先端点Ptを大きく変位させる関節ほど、重み値wは大きい値に設定されている。
【0054】
このような重み値wにより、複数の計測可能姿勢Jの中において類似度D(J,J)が最小な計測可能姿勢J(すなわち計測姿勢に決定される計測可能姿勢J)は、計測用ツール14の先端点Ptの変位に比較的大きく寄与する関節ではその関節角度が作業姿勢Jの関節角度とほぼ一致し、計測用ツール14の先端点Ptの変位に比較的小さく寄与する関節では関節角度が作業姿勢Jの関節角度と異なるような姿勢にされる。
【0055】
この理由を説明すると、位置決め誤差も位置計測誤差も、その誤差の方向や誤差の量はロボット10の先端の位置に大きく寄与する関節の影響が大きい。そのため、このような関節の関節角度が作業姿勢と計測姿勢との間で大きく異なると、誤差の方向や誤差の量が大きく異なり、位置決め誤差と位置計測誤差とが十分に相殺できなくなる。したがって、作業姿勢J時の位置決め誤差を十分に相殺できる位置計測誤差が生じる計測姿勢が決定されるように、計測用ツール14の先端点Ptの変位への寄与が大きい関節ほど、重み値wは大きい値に設定されている。
【0056】
重み値wの具体的な数値として、例えばヤコビ行列の逆行列の固有値を用いることが可能である。数式2は、ヤコビ行列を用いた運動方程式である。
【数2】

【0057】
先端点の速度ベクトルは、ロボットの先端点(例えば、ロボット10の先端のフランジ10gの中心点)の速度ベクトルである。
【0058】
数式2の両辺にヤコビ行列の逆行列をかけると、数式3が得られる。
【数3】

【0059】
ヤコビ行列の逆行列の固有値は関節速度ベクトルを決定付ける各関節の配分に相当する。すなわち、大きい固有値に対応する関節は大きく動き、小さい固有値に対応する関節は小さく動く解を得ることができる。大きい固有値に対応する関節は、すなわち大きく動く関節はロボットの先端点の速度ベクトルに対して大きく寄与すると解釈できるため、ヤコビ行列の逆行列の固有値を重み値として使用することができる。
【0060】
ここまでは、本発明を概念的に説明してきた。以下、本発明に係る実施の形態について説明する。
【0061】
図4は、ロボット10のコントローラ16の概略的構成図である。
【0062】
ロボット10のコントローラ16は、ロボット10の姿勢を制御する姿勢制御部50と、計測用ツール14の先端点の位置を算出する先端点位置算出部52と、ワークWに対して作業するときのロボット10の作業姿勢データを取得する作業姿勢データ取得部54と、マーカー20の計測点を計測するときの計測姿勢を算出する計測姿勢算出部56と、ポジショナ12に対して外部信号(制御信号)を出力する外部信号出力部58と、ポジショナ12の回転軸Ar(外部軸)の位置姿勢を算出する外部軸位置姿勢算出部60と、記憶部62とを有する。
【0063】
コントローラ16はまた、作業者がロボット10を手動操作するためのティーチングペンダント64を有する。
【0064】
姿勢制御部50は、ロボット10の関節10a〜10fを駆動するモータ70a〜70fを制御することによって関節10a〜10fそれぞれの関節角度を変更し、ロボット10の姿勢を制御する。
【0065】
先端点位置算出部52は、ロボットの関節10a〜10fの関節角度を検出するエンコーダ72a〜72fの検出値に基づいて、計測用ツール14の先端点Ptの位置を算出する。先端点Ptの位置に算出に必要な、リンク10h〜10mのリンク長や計測用ツール14の先端点Ptからフランジ10gまでの距離などは記憶部62に記憶されている。
【0066】
作業姿勢データ取得部54は、例えばオフライン教示ツールによって作成された作業姿勢データを取得するように構成されている。オフライン教示ツールは、例えばロボット10、ポジショナ12、およびワークWそれぞれのCADデータを使用して、コンピュータ上で、ポジショナ12が把持するワークWに対して作業を実行するロボット10の教示データ(動作プログラム)を作成するツールである。コントローラ16は、オフライン教示ツールによって作成された教示データに基づいてロボット10を制御できるように構成されている。作業姿勢データ取得部54は、例えば記憶媒体に対して読み書きできる装置であって、記憶媒体に記憶されている教示データを読み取ることによって作業姿勢データとして教示データを受け取る。
【0067】
それに加えてまたはその代わりに、作業姿勢データ取得部54は、オンライン教示によって作業姿勢データを取得してもよい。作業者がティーチングペンダント64を介してロボット10を作業姿勢になるように手動操作し、手動操作によって作業姿勢状態のロボット10におけるエンコーダ72a〜72fの検出値に基づいて、作業姿勢データを取得する。
【0068】
なお、ワークWに対して作業するときのロボット10の教示データ(動作プログラム)が既に存在する場合、作業姿勢データ取得部54は、その教示データから作業姿勢データを取得してもよい。
【0069】
計測姿勢算出部56は、作業姿勢データ取得部54が取得した作業姿勢データに基づいて、ポジショナ12のマーカー20の計測点Pmの位置を計測するロボット10の計測姿勢を算出するように構成されている。上述したように、作業姿勢データに対応する作業姿勢に類似する計測姿勢を算出する。
【0070】
外部信号出力部58は、ポジショナ12に対して外部信号を出力するように構成されている。具体的には、作業テーブル18を回転軸Arを中心として回転させるための制御信号を出力する。詳細については後述する。
【0071】
外部軸位置姿勢算出部60は、ポジショナ12の回転軸Arのロボット10に対する相対的な位置姿勢を算出するように構成されている。詳細は後述する。
【0072】
次に、コントローラ16によってポジショナ12の回転軸Arのロボット10に対する相対的な位置姿勢を算出する方法の流れについて、図5を参照しながら説明する。
【0073】
まず、図5に示すように、最初の工程(ステップS1)として、ロボット10の先端のフランジ10gに計測用ツール14を取り付ける。また、ポジショナ12の作業テーブル18にマーカー20を取り付ける(図1参照)。
【0074】
次に、ステップS2において、作業者のティーチングペンダント64を介する手動操作により、ロボット10のフランジ10gに取り付けられた計測用ツール14の先端点Ptを、ポジショナ12の作業テーブル18に取り付けられたマーカー20の計測点Pmに位置合わせする。なお、このときの位置合わせ状態の姿勢は、後のステップにおいて変更されるので、どのような姿勢であってもよい。例えば、図2(B)に示すような、関節10eから先の部分が水平方向に延びる状態の姿勢であってもよい。
【0075】
続くステップS3において、作業姿勢データ取得部54が作業姿勢データを取得する。
【0076】
ステップS4において、計測姿勢算出部56が、作業姿勢データ取得部54が取得した作業姿勢データに基づいて、マーカー20の計測点Pmの位置を算出するときの計測姿勢を算出する。具体的には、まず、上述したように、計測用ツール14の先端点Ptがマーカー20の計測点Pmに位置合わせされた状態の複数の姿勢(計測可能姿勢J)それぞれについて、作業姿勢データに対応する作業姿勢Jに対する数式1に示す類似度D(J,J)を算出する。そして、算出した類似度D(J,J)の値が最小の計測可能姿勢Jを計測姿勢として決定する。
【0077】
ステップS5において、コントローラ16は、ステップ4で計測姿勢算出部56が算出した作業姿勢に、姿勢制御部50を介して変更する。このとき、計測用ツール14の先端点Ptがマーカー20の計測点Pmに位置合わせされた状態で、関節10a〜10fの関節角度が変化することにより、ステップ2で位置合わせしたときの姿勢が、計測姿勢に変更される。例えば、図2(A)に示す計測姿勢にされる。
【0078】
ステップS6において、コントローラ16は、ステップ5で作業姿勢にされた状態のロボット10に取り付けられている計測用ツール14の先端点Ptの位置を、先端点位置算出部52を介して算出する。
【0079】
ステップS7において、コントロトローラ16は、ステップ6で算出された計測用ツール14の先端点Ptの位置に基づいて、マーカー20の計測点Pmを算出する。
【0080】
図5に示すステップS2〜S7を、コントローラ16は、異なる作業テーブル18の姿勢毎に実行する。そのために、コントローラ16は、ステップS2〜S7が終了する度に、外部信号出力部58を介してポジショナ12の作業テーブル18を回転軸Arを中心として所定量回転させる。そして、コントローラ16は、例えばティーチングペンダント64を介して、作業者に対して、計測用ツール14の先端点Ptをマーカー20の計測点Pmに位置合わせするようにアナウンスする。
【0081】
異なる作業テーブル18の姿勢毎にステップS2〜S7が実行されると、異なる複数の計測点Pmの位置が算出される。計測点Pmから回転軸Arまでの距離は一定であって既知である(記憶部62に記憶されている)ため、コントローラ16の外部軸位置姿勢算出部60は、異なる複数の計測点Pmの位置に基づいて、ポジショナ12の回転軸Arの位置姿勢を算出する。
【0082】
このような流れによって算出されたポジショナ12の回転軸Arのロボット10に対する相対的な位置姿勢は、例えば相対位置姿勢データとしてコントローラ16の外部に出力(提供)される。例えば、オフライン教示ツールに提供される。これにより、オフライン教示ツールは、提供されたポジショナ12の回転軸Arの相対位置姿勢データに基づいて、ポジショナ12が把持するワークWに対してロボット10に高精度に作業させるための教示データを作成することができる。その結果、オフライン教示ツールから教示データを受け取ったコントローラ16は、ロボット10に高精度な作業を実行させることができる。
【0083】
また、ポジショナ12の回転軸Arのロボット10に対する相対的な位置姿勢を定期的に、例えば、ワークWに対する作業を開始する前に算出し、その算出結果に基づいて、ワークWに対する作業をロボット10に実行させる、コントローラ16の記憶部62に記憶されている教示データを更新することも可能である。これにより、コントローラ16は、記憶部62に記憶されている教示データに基づいて、ロボット10に高精度な作業を実行させることができる。
【0084】
本実施の形態によれば、ポジショナ12の回転軸Arのロボット10に対する相対的な位置姿勢を計測するときの該ロボット10の計測姿勢が、ポジショナ12が把持するワークWに対して作業を実行するときの作業姿勢と類似する姿勢であるため、ロボット10の位置計測誤差と位置決め誤差を十分に相殺することができる。その結果、ロボット10は、ポジショナ12が把持するワークWに対して高精度に作業を実行することができる。
【0085】
以上、上述の実施の形態を挙げて本発明を説明したが、本発明は上述の実施の形態に限定されない。
【0086】
例えば、上述の実施の形態の場合、ポジショナ12はワークWを回転軸Arを中心として回転させることによって該ワークWの姿勢を変更するものであるが、本発明はこれに限らない。
【0087】
例えば、ポジショナは、直動軸に沿ってワークWを平行移動させるものであってもよい。この場合、直動軸に対して所定の位置に計測点を定義する。例えば、直動軸に沿って平行移動する作業テーブルにマーカーを取り付けることにより、計測点を定義する。
【0088】
直動軸に沿って計測点の位置を複数回移動させ、計測点を移動させる度に該計測点の位置を、上述の実施の形態と同様に算出すれば、直動軸のロボットに対する相対的な位置姿勢を算出することができる。
【0089】
また、上述の実施の形態の場合、作業姿勢に対する計測可能姿勢の類似度は、数式1に示す式によって算出されるが、これに限らない。数式1においては、計測可能姿勢Jの関節角度qi,kと作業姿勢Jの関節角度qs,kとの差分(特許請求の範囲に記載の「第1の値」に対応)は、全ての関節(k=1〜n)において2乗されるが、これに限らない。例えば、計測用ツール14の先端点Ptの変位に大きく寄与する関節では、計測可能姿勢Jの関節角度qi,kと作業姿勢Jの関節角度qs,kとの差分を3乗してもよい。
【0090】
さらに、上述の実施の形態の場合、ロボットの計測姿勢やポジショナの回転軸または直動軸のロボットに対する相対的な位置姿勢は、コントローラが算出しているが、これに限らない。例えば、コントローラに接続されたコンピュータが、ロボットの計測姿勢やポジショナの回転軸または直動軸のロボットに対する相対的な位置姿勢を算出してもよい。
【0091】
例えば、コンピュータは、ロボットおよびポジショナのCADデータとロボットの作業姿勢データ(作業姿勢を教示する教示データ)とを取得し、これらのデータを用いて、上述のように、計測姿勢(計測姿勢を教示する教示データ)を算出する。そして、コンピュータは、算出した教示データをコントローラに出力する。
【0092】
コントローラは、予め作業者の手動操作によって計測用ツールの先端点がマーカーの計測点に位置合わせされている状態のロボットを、コンピュータから受け取った教示データに基づいて作業姿勢に制御する。作業姿勢に制御した後、コントローラは、計測用ツールの先端点の位置を算出し、さらに計測用ツールの先端点の位置に基づいてマーカーの計測点の位置を算出する。そして、算出した計測点の位置データをコンピュータに出力する。そして、コンピュータは、コントローラから受け取った計測点の位置データに基づいて、ポジショナの回転軸または直動軸のロボットに対する相対的な位置姿勢を算出する。
【0093】
最後に、補足すると、上述の実施の形態の場合、図1に示すように、ロボット10は、ねじり関節10a、10d、10fと曲げ関節10b、10c、10eとを備えるものであるが、直動関節を備えるロボットであっても本発明は適用可能であるのは明らかである。
【0094】
また、本発明においては、「類似」には「同一」も含まれる。すなわち、計測点Pmの位置を計測するときの計測姿勢が、ワークWに対する作業姿勢と同一の姿勢であってもよい。上述の実施の形態を例に挙げて説明すると、ポジショナ12の回転軸Arに対する、マーカー20の計測点Pmの位置とワークWの作業開始点Pwとが同一の場合、計測姿勢が作業姿勢と同一の姿勢になる。
【産業上の利用可能性】
【0095】
本発明は、回転軸または直動軸を基準としてワークを回転させるまたは平行移動させるポジショナのロボットに対する相対的な位置姿勢を計測するものであるが、ワークが位置や姿勢が変更不可能に治具に固定されている場合、ワーク上の任意の点の位置を、ワークに対して作業を実行するロボットによって計測する場合にも適用可能である。
【符号の説明】
【0096】
10 ロボット
10a〜10f 関節
12 ポジショナ
Ar 回転軸
Pt 基準点(先端点)
Pm 計測点
W ワーク

【特許請求の範囲】
【請求項1】
ロボットの外部軸である、ロボットに作業されるワークを把持するポジショナの回転軸または直動軸の該ロボットに対する相対的な位置姿勢を計測するロボットの外部軸の計測方法であって、
ポジショナの回転軸または直動軸に対する所定の位置に定義された計測点にロボットの基準点が手動によって位置合わせされた状態の該ロボットの姿勢を、基準点が計測点に位置合わせされた状態を維持しつつ計測姿勢に変更し、
計測姿勢として、
(1)各関節における、ポジショナが把持するワークに対して作業を実行するときの作業姿勢時の関節値と計測姿勢時の関節値との間の差分値と、
(2)各関節に対して予め定義されている重み値とに基づいて、
作業姿勢に対する類似の程度が高い姿勢を決定するロボットの外部軸の計測方法。
【請求項2】
基準点を計測点に位置合わせ可能なロボットの複数とおりの計測姿勢それぞれに対して、
(1)各関節について、作業姿勢時の関節値と計測姿勢時の関節値との差分値として第1の値を算出し、
(2)各関節について、第1の値の二乗値に重み値をかけ算して第2の値を算出し、
(3)各関節の第2の値を合計して第3の値を算出し、
第3の値が最小な計測姿勢を決定する請求項1に記載のロボットの外部軸の計測方法。
【請求項3】
関節値が変化したときにロボットの基準点を大きく変位させる関節ほど、重み値が、大きい値に設定されている請求項1または2に記載するロボットの外部軸の計測方法。
【請求項4】
回転軸または直動軸を基準としてワークを回転させるまたは平行移動させるポジショナが把持する該ワークに対して作業を実行する多関節型のロボットの教示データを作成するロボットの教示データ作成方法であって、
請求項1から3のいずれか一項に記載のロボットの外部軸の計測方法によって算出されたポジショナの回転軸または直動軸のロボットに対する相対的な位置姿勢を使用し、ポジショナが把持するワークに対して作業を実行するための教示データを作成するロボットの教示データ作成方法。
【請求項5】
回転軸または直動軸を基準としてワークを回転させるまたは平行移動させるポジショナが把持する該ワークに対して作業を実行する多関節型のロボットのコントローラであって、
ワークに対して作業を実行するときのロボットの作業姿勢に対応する作業姿勢データを取得する作業姿勢データ取得手段と、
作業者の操作により、ポジショナの回転軸または直動軸に対する所定の位置に定義されている計測点にロボットの基準点を位置合わせするためのロボット操作手段と、
作業姿勢データ取得手段が取得した作業姿勢データに基づいて、基準点が計測点に位置合わせされた状態のロボットの計測姿勢を算出する計測姿勢決定手段と、
計測姿勢決定手段によって算出された計測姿勢の状態で計測点の位置を算出する計測点位置算出手段とを有し、
計測姿勢決定手段が、計測姿勢として、
(1)各関節における、作業姿勢データの関節値と計測姿勢時の関節値との間の差分値と、
(2)各関節に対して予め定義されている重み値とに基づいて、
作業姿勢に対する類似の程度が高い姿勢を決定するロボットのコントローラ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−139761(P2012−139761A)
【公開日】平成24年7月26日(2012.7.26)
【国際特許分類】
【出願番号】特願2010−293319(P2010−293319)
【出願日】平成22年12月28日(2010.12.28)
【出願人】(000000974)川崎重工業株式会社 (1,710)
【Fターム(参考)】