特許第6221528号(P6221528)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社デンソーウェーブの特許一覧

特許6221528ロボットの手先軸原点位置較正方法、ロボットの制御装置
<>
  • 特許6221528-ロボットの手先軸原点位置較正方法、ロボットの制御装置 図000002
  • 特許6221528-ロボットの手先軸原点位置較正方法、ロボットの制御装置 図000003
  • 特許6221528-ロボットの手先軸原点位置較正方法、ロボットの制御装置 図000004
  • 特許6221528-ロボットの手先軸原点位置較正方法、ロボットの制御装置 図000005
  • 特許6221528-ロボットの手先軸原点位置較正方法、ロボットの制御装置 図000006
  • 特許6221528-ロボットの手先軸原点位置較正方法、ロボットの制御装置 図000007
  • 特許6221528-ロボットの手先軸原点位置較正方法、ロボットの制御装置 図000008
  • 特許6221528-ロボットの手先軸原点位置較正方法、ロボットの制御装置 図000009
  • 特許6221528-ロボットの手先軸原点位置較正方法、ロボットの制御装置 図000010
  • 特許6221528-ロボットの手先軸原点位置較正方法、ロボットの制御装置 図000011
  • 特許6221528-ロボットの手先軸原点位置較正方法、ロボットの制御装置 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6221528
(24)【登録日】2017年10月13日
(45)【発行日】2017年11月1日
(54)【発明の名称】ロボットの手先軸原点位置較正方法、ロボットの制御装置
(51)【国際特許分類】
   B25J 9/10 20060101AFI20171023BHJP
   G05B 19/404 20060101ALI20171023BHJP
【FI】
   B25J9/10 A
   G05B19/404 G
【請求項の数】8
【全頁数】20
(21)【出願番号】特願2013-182068(P2013-182068)
(22)【出願日】2013年9月3日
(65)【公開番号】特開2015-47672(P2015-47672A)
(43)【公開日】2015年3月16日
【審査請求日】2016年8月3日
(73)【特許権者】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】110000567
【氏名又は名称】特許業務法人 サトー国際特許事務所
(72)【発明者】
【氏名】新美 和弘
【審査官】 貞光 大樹
(56)【参考文献】
【文献】 特開2012−35329(JP,A)
【文献】 特開昭62−254206(JP,A)
【文献】 特開2012−223871(JP,A)
【文献】 特開昭63−8904(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 − 21/02
G05B 19/18 − 19/416
G05B 19/42 − 19/46
(57)【特許請求の範囲】
【請求項1】
ツールが取り付けられる手先軸と、当該手先軸の軸心に対して垂直となる位置関係を取り得る軸心を有する駆動対象軸とを少なくとも備え、各軸のモータに設けられている角度検出器から出力される前記モータの回転位置に対応したパルス信号数に基づいて姿勢が制御されるロボットに対し、前記駆動対象軸の較正が完了している状態で、前記手先軸の原点位置を較正するためのロボットの手先軸原点位置較正方法であって、
前記ロボットを、測定板を取り付けた前記手先軸の軸心と前記駆動対象軸の軸心とが互いに垂直であって、且つ、前記駆動対象軸の軸心と前記測定板までの距離を測定する距離測定手段の測定軸とが互いに平行となる姿勢に制御するとともに、前記手先軸の回転位置を前記測定板が前記測定軸に対して設計上垂直となる位置である垂直位置に設定した状態で、当該測定板を前記測定軸上の第1位置に位置させる第1工程と、
前記距離測定手段により、前記第1位置における前記測定板までの距離を第1距離L1として測定する第2工程と、
前記手先軸の回転位置を前記垂直位置から180°となる位置に設定するとともに、前記駆動対象軸を回転させ、前記測定板を、前記手先軸の軸心から前記測定軸までの距離が前記第1位置のときと一致した状態で前記測定軸上の第2位置に位置させる第3工程と、
前記第2位置における前記測定板までの距離を第2距離L2として測定する第4工程と、
前記距離測定手段の前記測定軸から前記手先軸の軸心までの距離であるツール長さL3と、前記第1距離L1および前記第2距離L2の距離差とに基づいて、前記手先軸の前記垂直位置からのずれを表す角度誤差ΔAを求め、
前記角度誤差ΔAと、前記手先軸に設けられている前記角度検出器のビット数Nと、前記手先軸のギア比Gとに基づいて前記角度誤差ΔAに対応するパルス信号数であるパルス誤差ΔPを求め、
前記パルス誤差ΔPと、前記垂直位置に対応するパルス信号数として予め設定されている初期設定値とに基づいて、前記測定板が前記測定軸に対して実際に垂直となる位置である実垂直位置に対応するパルス信号数である補正後の設定値を求める第5工程と、
前記補正後の設定値を用いて、前記手先軸の原点位置を較正する第6工程と、
を含むことを特徴とするロボットの手先軸原点位置較正方法。
【請求項2】
前記角度誤差ΔAを、以下の式
ΔA=(180×(L1−L2))÷(2×L3×π)
により求め、
パルス誤差ΔPを、以下の式
ΔP=(ΔA×2^N×G)÷360
により求め、
補正後の設定値を、以下の式
補正後の設定値=初期設定値−ΔP
により求めることを特徴とする請求項1記載のロボットの手先軸原点位置較正方法。
【請求項3】
前記距離測定手段を、その測定軸が地面に対して垂直になるように設置し、
前記駆動対象軸を、その軸心が地面に対して垂直となるようにすることを特徴とする請求項1または2記載のロボットの手先軸原点位置較正方法。
【請求項4】
前記距離測定手段を、前記駆動対象軸の軸心と当該駆動対象軸の回転位置において予め設定されている基準位置とを結ぶ仮想的な直線の延長線上に設置し、
前記測定板を前記第1位置または前記第2位置に位置させる際、前記駆動対象軸を前記仮想的な直線に対して対称な角度で回転させることを特徴とする請求項1から3のいずれか一項記載のロボットの手先軸原点位置較正方法。
【請求項5】
前記ロボットは、1軸の軸心が当該ロボットの設置面と直交し、2軸の軸心が1軸の軸心と直交し、2軸の軸心と3軸の軸心と5軸の軸心とが互いに平行で、5軸の軸心が4軸の軸心および6軸の軸心と同一点で直交するように構成された6軸ロボットであり、
前記手先軸は、前記6軸であり、
前記対象軸は、前記4軸であることを特徴とする請求項1から4のいずれか一項記載のロボットの手先軸原点位置較正方法。
【請求項6】
前記ロボットは、1軸の軸心が当該ロボットの設置面と直交し、2軸の軸心が1軸の軸心と直交し、2軸の軸心と3軸の軸心と5軸の軸心とが互いに平行で、5軸の軸心が4軸の軸心および6軸の軸心と同一点で直交するように構成された6軸ロボットであり、
前記手先軸は、前記6軸であり、
前記対象軸は、前記1軸であることを特徴とする請求項1から4のいずれか一項記載のロボットの手先軸原点位置較正方法。
【請求項7】
前記ロボットは、1軸の軸心が当該ロボットの設置面と直交し、2軸の軸心が1軸の軸心と直交し、2軸の軸心と3軸の軸心と5軸の軸心とが互いに平行で、5軸の軸心が4軸の軸心および6軸の軸心と同一点で直交するように構成された6軸ロボットであり、
前記手先軸は、前記6軸であり、
前記対象軸は、前記1軸および前記4軸の双方であることを特徴とする請求項1から4のいずれか一項記載のロボットの手先軸原点位置較正方法。
【請求項8】
ツールが取り付けられる手先軸と、当該手先軸の軸心に対して垂直となる位置関係を取り得る軸心を有する駆動対象軸とを少なくとも備えたロボットを、各軸のモータに設けられている角度検出器から出力される前記モータの回転位置に対応したパルス信号数に基づいて制御を行うロボットの制御装置であって、
測定板を取り付けた前記手先軸の軸心と前記駆動対象軸の軸心とが互いに垂直であって、且つ、前記駆動対象軸の軸心と前記測定板までの距離を測定する距離測定手段の測定軸とが互いに平行となる姿勢に制御するとともに、前記手先軸の回転位置を前記測定板が前記測定軸に対して設計上垂直となる位置である垂直位置に設定した状態で、当該測定板を前記測定軸上の第1位置に位置させる制御、ならびに、前記手先軸の回転位置を前記垂直位置から180°の位置に設定するとともに、前記駆動対象軸を回転させ、前記測定板を、前記手先軸の軸心から前記測定軸までの距離が前記第1位置のときと一致した状態で前記測定軸上の第2位置に位置させる制御を行う制御手段と、
前記距離測定手段により測定された前記第1位置における前記測定板までの距離である第1距離L1と、前記第2位置における前記測定板までの距離である第2距離L2と、前記手先軸の軸心から前記距離測定手段の軸心までの距離であるツール長さL3とに基づいて、前記垂直位置からのずれを表す角度誤差ΔAを求め、
前記角度誤差ΔAと、前記手先軸に設けられている前記角度検出器のビット数Nと、前記手先軸のギア比Gとに基づいて前記角度誤差ΔAに対応するパルス信号数であるパルス誤差ΔPを求め、
前記パルス誤差ΔPと、前記垂直位置に対応するパルス信号数として予め設定されている初期設定値とに基づいて、前記測定板が前記測定軸に対して実際に垂直となる位置である実垂直位置に対応するパルス信号数である補正後の設定値を求める設定値取得手段と、
前記補正後の設定値を用いて、前記手先軸の原点位置を較正する較正手段と、
を備えることを特徴とするロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの手先軸原点位置較正方法、ロボットの制御装置に関する。
【背景技術】
【0002】
例えば6軸ロボットなどの多関節型ロボットにおける各軸の原点位置の較正は、基本的には工場出荷時等の段階で行われ、工場から出荷されて設置先に設置された後ではモータなどの交換により原点位置が変更された場合に設置先にて行われることも考えられる。各軸の原点位置を較正する方法としては、大型の検査装置を設置したりする方法や(例えば特許文献1参照)、検出用の特殊センサを追加する方法(例えば特許文献1、2参照)がある。また、特許文献3から5には、6軸ロボットについて大型の検査装置を設置することなく、5軸、3軸、2軸の原点位置を較正する方法や装置が開示されている。
【特許文献1】特開平6−304893公報
【特許文献2】特開2003−220587号公報
【特許文献3】特開2009−274186号公報
【特許文献4】特開2009−274187号公報
【特許文献5】特開2009−274188号公報
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、大型の検査装置を設置する方法については設置するスペースを確保することが困難となるおそれがある。また、検出用の特殊センサを追加する方法についてはコストアップの原因になるので、実施を避けたいという事情がある。そして、これらの事情を考慮した上でロボットの手先軸に原点位置を較正する方法については、従来提案されていなかった。
本発明は、上記事情に鑑みてなされたものであり、その目的は、大型の検査装置等を設置したりする必要がなく、ロボットの手先軸の原点位置を適切に較正できるロボットの手先軸原点位置較正方法、ロボットの制御装置を提供することにある。
【課題を解決するための手段】
【0004】
請求項1記載の手先軸原点位置較正方法によれば、ツールが取り付けられる手先軸と、当該手先軸の軸心に対して垂直となる位置関係を取り得る軸心を有する駆動対象軸とを少なくとも備え、各軸のモータに設けられている角度検出器から出力されるモータの回転位置に対応したパルス信号数に基づいて姿勢が制御されるロボットにおいて、当該ロボットを、測定板を取り付けた手先軸の軸心と駆動対象軸の軸心とが互いに垂直であって、且つ、駆動対象軸の軸心と測定板までの距離を測定する距離測定手段の測定軸とが互いに平行となる姿勢に制御するとともに、手先軸の回転位置を測定板が測定軸に対して設計上垂直となる位置である垂直位置に設定した状態で、当該測定板を前記測定軸上の第1位置に位置させ(第1工程)、その第1位置において、測定板までの距離を第1距離L1として測定する(第2工程)。
【0005】
続いて、手先軸の回転位置を垂直位置から180°の位置に設定するとともに、駆動対象軸を回転させ、測定板を、手先軸の軸心から測定軸までの距離が第1位置のときと一致した状態で測定軸上の第2位置に位置させ(第3工程)、第2位置における測定板までの距離を第2距離L2として測定する(第4工程)。
【0006】
この場合、駆動対象軸の原点位置の較正は完了していることから、測定板を第1位置から第2位置まで移動させるために駆動対象軸を回転させたとしても、駆動対象軸の回転が第1距離L1および第2距離L2の測定結果に影響を与えることはない。換言すると、仮に第1距離L1と第2距離L2とに距離差が生じた場合、その距離差は、手先軸の回転に起因するものであると考えることができる。つまり、手先軸の回転に起因する距離差は、手先軸の垂直位置(測定軸に対して設計上、垂直になるはずの位置)が、実際のロボットではずれていたことにより生じたものであると考えられる。そして、第1位置と第2位置とでは手先軸を180°回転させていることから、距離差は、測定板と垂直位置とのずれ角度(後述する角度誤差ΔA)に応じた値となっている。
【0007】
そこで、第1距離L1および第2距離L2の距離差と、測定板までの距離を測定した際の距離測定手段の測定軸から軸心までの距離であるツール長さL3とに基づいて、手先軸の原点位置からのずれを表す角度誤差ΔAを求める。そして、角度誤差ΔAと、手先軸に設けられている角度検出器のビット数Nと、手先軸のギア比Gとに基づいて、角度誤差ΔAに対応するパルス信号数であるパルス誤差ΔPを求めた後、そのパルス誤差ΔPと、垂直位置に対応するパルス信号数として予め設定されている初期設定値とに基づいて、実際のロボットにおいて測定板が測定軸に対して垂直となる位置である実垂直位置に対応するパルス信号数である補正後の設定値を求め(第5工程)、補正後の設定値を用いて手先軸の原点位置を較正する(第6工程)。
【0008】
このように、手先軸の軸心と距離測定手段の測定軸とが垂直となる状態を維持しつつ駆動対象軸のみを回転させ、手先軸の角度誤差ΔAの影響のみが現れる2つの姿勢(第1位置、第2位置に対応する姿勢)を作り出し、その2つの姿勢における距離差から角度誤差ΔAを求めることにより、補正後の設定値、すなわち、手先軸の原点位置を較正するための設定値を求めることができる。
【0009】
このとき、較正に必要なのは、ロボット本体と、距離測定手段、および距離測定手段を設置するスペースだけであり、大きな測定スペースを設ける必要はない。また、距離を測定するだけであるので、検出用の特殊センサを追加する必要もない。したがって、大型の検査装置等を設置したりする必要がなく、手先軸の原点位置を適切に較正することができる。
また、駆動対象軸が較正済みであれば手先軸の原点位置を較正することができるため、較正作業を行う際において、各軸の較正状況の進捗に応じて作業順序を入れ替えることができる等、作業の自由度を向上させることができる。
【0010】
請求項2記載の手先軸原点位置較正方法によれば、角度誤差ΔAを、ΔA=(180×(L1−L2))÷(2×L3×π)の式により求め、その角度誤差ΔAに対応するパルス誤差ΔPをΔP=(ΔA×2^N×G)÷360の式により求め、補正後の設定値を、補正後の設定値=初期設定値−ΔPの式により求める。
手先軸の軸心方向から視た場合、検出された距離差ΔLは、角度誤差ΔA×2を頂角とする二等辺三角形の底辺の長さに相当する。このため、距離差ΔLを測定すれば、ツール長さL3を既知として三角関数を用いて角度誤差ΔAを求めることができる。
【0011】
ただし、実際のロボットの場合、組立精度が極めて高いことから、角度誤差ΔAはごく僅かなものであると考えられる。そのため、角度誤差ΔAに起因する距離差ΔL(底辺の長さ)は、半径をツール長L3とした仮想的な円における円弧の長さとほぼ近似した値となる。そのため、角度誤差ΔAは、円周の長さと距離差ΔLとの比から簡便に求めることができる。そして、角度誤差ΔAが求まればパルス誤差ΔPが求まり、そのパルス誤差ΔPを初期設定値から差し引くことにより、補正後の設定値を求めることができる。
【0012】
請求項3記載の手先軸原点位置較正方法によれば、距離測定手段を、その測定軸が地面に対して垂直になるように設置し、駆動対象軸を、その軸心が地面に対して垂直となるようにする。一般にロボットの設置面と地面とは平行であることが多いため、距離測定手段を設置面に設置すればよいことから、距離測定手段の測定軸と駆動対象軸の軸心とを容易に平行にすることができる。また、駆動対象軸の軸心が重力の向きに沿った状態となっていることから、第1位置と第2位置とにおいて、測定板に加わる重力が同一方向となる。このため、距離差を求めることで重力による影響が相殺されるようになり、測定板に加わる重力の影響を排除した状態で角度誤差ΔAを求めることができる。
【0013】
請求項4記載の手先軸原点位置較正方法によれば、距離測定手段を駆動対象軸の軸心と当該駆動対象軸の回転位置において予め設定されている基準位置とを結ぶ仮想的な直線の延長線上に設置し、測定板を第1位置または第2位置に位置させる際、駆動対象軸を仮想的な直線に対して対称な角度で回転させる。すなわち、駆動対象軸を、その軸心と測定軸とを結ぶ仮想的な直線に対して、対称となるように回転させる。
【0014】
駆動対象軸を回転させることによって測定板を第1位置と第2位置とに位置させる場合、角度誤差ΔAを正確に求めるためには、双方の位置にてツール長さL3を一致させる必要がある。そこで、駆動対象軸を上記した仮想的な直線に対して対称となるように回転させる。これにより、第1位置における手先軸の軸心の向きと第2位置における手先軸の軸心の向きとが仮想的な直線に対して対称な位置関係となり、手先軸の軸心から測定軸までの距離が第1位置と第2位置とで同一となる。すなわち、第1位置と第2位置とにおいて、ツール長さL3を一致させることができる。したがって、角度誤差ΔAを正確に求めることができる。
【0015】
請求項5、6、7記載の手先軸原点位置較正方法によれば、6軸ロボットにおいて手先軸に対応する6軸の原点位置を、駆動対象軸(4軸、1軸、あるいはその双方)を回転させることにより較正することができる。このとき、6軸ロボットのような複数の軸を有する多関節ロボットであったとしても、請求項5の場合には4軸のみが較正済みであればよく、請求項6の場合には1軸のみが較正済みであればよく、請求項7の場合には1軸と4軸のみが較正済みであればよいため、較正対称となる軸が複数存在する6軸ロボットに対して手先軸(6軸)の原点位置を較正する際、他の軸の進捗状況に応じて較正する軸の作業順序を入れ替える等、作業時の自由度を向上させることができる。
【0016】
請求項8記載の制御装置によれば、制御手段により測定板を上記した第1位置および第2位置に位置させる制御を行い、設定値取得手段により、第1距離L1および第2距離L2の距離差とツール長さL3とに基づいて手先軸の原点位置からのずれを表す角度誤差ΔAを求め、その角度誤差ΔAと手先軸に設けられている角度検出器のビット数Nと手先軸のギア比Gとに基づいて角度誤差ΔAに対応するパルス信号数であるパルス誤差ΔPを求め、そのパルス誤差ΔPと垂直位置に対応するパルス信号数として予め設定されている初期設定値とに基づいて、測定板が測定軸に対して実際に垂直となる位置である実垂直位置に対応するパルス信号数である補正後の設定値を求めている。そして、較正手段により補正後の設定値を用いて手先軸の原点位置を較正する。これにより、上記した請求項1と同様の効果を得ることができる。
【図面の簡単な説明】
【0017】
図1】一実施形態におけるロボットの各軸の関係を模式的に示すとともに、原点位置を較正する際のロボットの姿勢をモデル化した図
図2】制御装置の電気的構成を模式的に示す図
図3】原点のずれが生じていない場合において、6軸を180°回転させた状態を模式的に示す図
図4】原点のずれが生じている場合において、6軸を180°回転させた状態を模式的に示す図
図5】原点位置較正処理を示すフローチャート
図6】4軸の軸心とレーザ距離計の設置位置との関係を模式的に示す図
図7】4軸を対駆動象軸とした場合におけるロボットの姿勢の変化を外観図とモデルとにより示す図で、(A)はツールを第1位置に保持している状態、(B)は6軸を180°回転させた状態、(C)はツールを第2位置に保持している状態を示す図
図8】第2実施形態における、1軸および4軸の軸心とレーザ距離計の設置位置との関係を模式的に示す図
図9】1軸を駆動対象軸とした場合におけるロボットの姿勢の変化を外観図とモデルとにより示す図で、(A)はツールを第1位置に保持している状態、(B)は6軸を180°回転させた状態、(C)はツールを第2位置に保持している状態を示す図
図10】第3実施形態における、1軸および4軸の双方を駆動対象軸とした場合におけるロボットの姿勢の変化を外観図とモデルとにより示す図で、(A)はツールを第1位置に保持している状態、(B)は6軸を180°回転させた状態、(C)はツールを第2位置に保持している状態を示す図
図11】その他の実施形態における、原点位置を較正する際のロボットの姿勢の一例を示す図
【発明を実施するための形態】
【0018】
以下、本発明の複数の実施形態について図面を参照して説明する。なお、各実施形態において実質的に共通する部分については、詳細な説明は省略する。
(第1実施形態)
以下、第1実施形態について図1から図7を参照して説明する。
図1の外観図に示すように、ロボット装置1は、ロボット2と、ロボット2の動作を制御する制御装置3と、制御装置3に接続されるティーチングペンダント4とを備えて構成されている。
【0019】
ロボット2は、いわゆる垂直多関節型ロボットであり、設置面に設置されるベース5と、ベース5に水平方向に旋回可能に支持されているショルダ部6と、ショルダ部6に上下方向に旋回可能に支持されている下アーム7と、下アーム7に上下方向に旋回可能に支持されている第1の上アーム8と、第1の上アーム8の先端部に捻り回転可能に支持されている第2の上アーム9と、第2の上アーム9に上下方向に回転可能に支持されている手首10と、手首10に回転(捻り動作)可能に支持されているフランジ11とを備えて構成されている。本実施形態の場合、ロボット2が設置される設置面は地面と水平となっている。
【0020】
上記したベース5を含め、ショルダ部6、下アーム7、第1の上アーム8、第2の上アーム9、手首10及びフランジ11は、ロボット2のリンクとして機能し、ベース5を除く各リンクは、下段のリンクに対して回転関節により回転可能に連結されている。最先端のリンクであるフランジ11は、ツール12やワークを把持するためのハンド(エンドエフェクタとも称される。図示は省略する)等が取付け可能になっている。また、リンク同士を連結する回転関節には前段のリンク側に固定されているモータ26の回転を減速して次段のリンクに伝達する減速機構が設けられている。
【0021】
本実施形態では、第1のリンクであるベース5と第2のリンクであるショルダ部6との間を連結する回転関節の関節軸を1軸(J1)、第2のリンクであるショルダ部6と第3のリンクである下アーム7との間を連結する回転関節の関節軸を2軸(J2)、第3のリンクである下アーム7と第4のリンクである第1の上アーム8との間を連結する回転関節の関節軸を3軸(J3)、第4のリンクである第1の上アーム8と第5のリンクである第2の上アーム9との間を連結する回転関節の関節軸を4軸(J4)、第5のリンクである第2の上アーム9と第6のリンクである手首10との間を連結する回転関節の関節軸を5軸(J5)、第6のリンクである手首10と第7のリンクであるフランジ11との間を連結する回転関節の関節軸を6軸(J6)としている。
【0022】
すなわち、ロボット2は、図1のモデル図に示すように、1軸の軸心がロボット2の設置面と直交し、2軸の軸心が1軸の軸心と直交し、2軸の軸心と3軸の軸心と5軸の軸心とが互いに平行で、5軸の軸心が4軸の軸心および6軸の軸心と同一点で直交する構成となっている。この場合、4軸の軸心と5軸の軸心とは互いに直交しているとともに、1軸の軸心と5軸の軸心とは、図1の場合にはねじれの位置にて互いに垂直となっている。そして、本実施形態では、これらの各軸のうち、手先軸は、ロボット2の最先端側に位置し、ツール12が取り付けられる6軸であり、駆動対象軸は、6軸の軸心に垂直となる位置関係を取り得る軸心を有する4軸である。なお、「垂直となる位置関係を取り得る軸心」とは、6軸に対する5軸のように常に両者の軸心が直交している(あるいは、2軸や3軸のように垂直となっている)に限らず、例えば4軸や1軸のように、5軸等を回転させることによりその軸心が6軸の軸心と直交あるいは垂直となることが可能なものであればよい。
【0023】
また、詳細は後述するが、手先軸である6軸の原点位置を較正する際には、フランジ11にツール12(測定板に相当する)が取り付けられ、駆動対象軸である4軸が設置面に対して垂直となるようにロボット2の姿勢が制御されるとともに、距離測定手段としてのレーザ距離計13は、ロボット2の設置面に設置されることで、その測定軸が4軸の軸心と平行な状態とされている。
【0024】
ロボット2は、制御装置3によってその動作や姿勢が制御される。図2に示すように、CPU20、ROM21およびRAM22等により構成された制御部23(制御手段、設定値取得手段、較正手段に相当する)、駆動回路24および位置検出回路25を備えている。制御部23は、ROM21に記憶されているシステムプログラムやプログラムを作成するためのロボット言語などに基づいて、周知のようにロボット2全体を制御する。駆動回路24は、ロボット2の各軸に設けられているモータ26を駆動する駆動信号を生成する。なお、図2では1つのモータ26のみを示しているが、実際には、各軸それぞれにモータ26が設けられている。
【0025】
位置検出回路25は、モータ26の回転位置を検出するロータリエンコーダ27(角度検出器に相当する)に接続されており、ロータリエンコーダ27から出力されるパルス信号数に基づいて、各モータ26の回転位置を検出する。より具体的には、位置検出回路25は、ショルダ部6、各アーム7〜9、手首10及びフランジ11の位置を、各ロータリエンコーダ27から出力された検出信号に基づいて、ベース5に対するショルダ部6の回転角度、ショルダ部6に対する下アーム7の回転角度、下アーム7に対する第1の上アーム8の回転角度、第1の上アーム8に対する第2の上アーム9の回転角度、第2の上アーム9に対する手首10の回転角度、手首10に対するフランジ11の回転角度を検出し、それら検出した位置検出情報を制御部23に出力する。そして、制御部23は、動作プログラムに基づいてショルダ部6、各アーム7〜9、手首10及びフランジ11を動作させる際に、位置検出回路25から入力する位置検出情報をフィードバック信号としてそれらの動作、つまり、ロボット2の姿勢を制御する。
【0026】
次に、上記した構成の作用について説明する。
まず、原点位置を較正する原理について概略を説明する。なお、6軸の原点位置の較正時には、駆動対象軸である4軸の原点位置の較正は既に完了しているものとする。つまり、6軸の原点位置を較正する際には、駆動対象軸を回転させたことに起因する誤差を考慮しなくても良い状態となっている。
【0027】
図3に示すように、6軸に対応するフランジ11の回転軸(つまり、6軸の軸心)には、測定板としてのツール12が取り付けられる。このツール12は、概ね長方形の薄板状に形成されており、その板厚方向の中心線CL1が6軸の軸心から6軸の原点位置に沿って状態で、フランジ11つまりは6軸に取り付けられている。図3の場合、6軸の軸心が設置面に対して平行となった状態を示している。また、設計上の6軸の原点位置(J6=0°の位置)は、図示右方向つまり設置面に平行となる向きとなっている。この状態で、ロボット2は、ツール12を取り付けた6の軸心と4軸の軸心とが互いに垂直であって、且つ、4軸の軸心とレーザ距離計13の測定軸とが互いに平行となる姿勢に制御されているとともに、6軸の回転位置が、測定軸に対して設計上垂直となる位置である垂直位置に設定された状態となっている。また、レーザ距離計13は、その測定軸と6軸の軸心との水平距離(図3に示す6軸の軸心方向から視た状態において、測定軸と6軸の軸心との双方に直交する線分の長さ。つまり、測定軸と6軸との最短距離)が、図3に示すようにツール長L3となる位置に設置されている。
【0028】
このツール12は、剛性を有する材料で自重による変形を抑制するように形成されているとともに、レーザ距離計13から照射されるレーザ光14をその表面で反射する。なお、図3に示すツール12の形状は一例であり、例えば6軸の軸心から反対方向に伸びて形成されていてもよい。
以下、図3の左側に示す位置関係のように、6軸の回転位置が原点位置に設定されている状態でツール12がレーザ距離計13の測定軸上に存在する位置関係を第1位置と称する。また、図3の右側に示す位置関係のように、6軸の回転位置を180°に設定した状態で(本実施形態では、図3において反時計回りを6軸の正回転方向とする)、ツール12が再びレーザ距離計13の測定軸上に存在する位置関係を第2位置と称する。なお、詳細は後述するが、使用するレーザ距離計13は1台であり、その設置位置は変化していない。すなわち、6軸の回転位置を0°に設定した状態と、6軸の回転位置を180°に設定した状態とでは、駆動対象軸(4軸等)のみを回転させることで、ツール12を単一のレーザ距離計13の測定軸上に位置させている。
【0029】
さて、原点位置にずれが生じていない場合、ツール12は、第1位置(J6=0°の状態)に位置している状態ではその中心線CL1が設置面に対して水平となっている。そのため、6軸を回転させてツール12を第2位置(J6=180°の状態)に位置させたとしても、その中心線CL1は設置面に対して水平となる。つまり、原点位置にずれが生じていない場合には、第1位置において測定したツール12までの距離である第1距離L1と、第2位置において測定したツール12までの距離である第2距離L2は、互いに一致する。すなわち、距離差ΔL=L1−L2とすると、ΔL=0となる。
【0030】
一方、図4に示すように、仮に原点位置が正回転方向にずれていたとすると、第1位置ではツール12の中心線CL1が水平から若干上方に向かうとともに、第2位置では中心線CL1が水平から若干下方にずれることになる。このため、原点位置がずれている場合には、距離差ΔL≠0となる。そして、6軸を180°回転させていることから、第1位置においてツール12の中心線CL1と水平線とのなす角(原点位置からのずれを表す角度で、角度誤差ΔAに相当する)は、第2位置においてツール12の中心線CL1と水平線とがなす角と一致する。
【0031】
すなわち、第1距離L1と第2距離L2との距離差ΔLは、ツール12が設計上測定軸に対して垂直となるはずの垂直位置が、ロボット2において実際の垂直となる位置(実垂直位置)からずれている場合に生じるものであり、原点位置からのずれを表す角度誤差ΔAに対応した値として測定される。このため、距離差ΔLが求まれば、後述するように角度誤差ΔAを求めることができる。なお、この図4は距離差ΔLを説明するために原点位置からのずれを意図的に大きく示した模式図であり、実際のロボット2においてこのような大きなずれが生じることは殆ど無いと考えられる。
【0032】
さて、第1距離L1および第2距離L2は、ツール12の板厚が加わった値として測定されている。このため、ツール12の板厚をDとし、第1位置における中心線CL1までの距離をL10とし、第2位置における中心線CL1までの距離をL20とすると、
L10≒L1+(D÷2)
L20≒L2+(D÷2)
とすべきであるが、この場合の距離差ΔLaは、
ΔLa=L10−L20
=(L1+(D÷2))―(L2+(D÷2))
=L1−L2
=ΔL
となる。つまり、中心線CL1を基準とした場合であっても、角度誤差ΔAを求める際には、第1距離L1と第2距離L2との距離差ΔLを利用できることが分かる。なお、本実施形態では、6軸の正回転方向への原点位置のずれを正の値とし、逆回転方向への原点位置のずれを負の値としているため、距離差ΔLを、第1距離L1から第2距離L2を差し引いて求めている。
【0033】
このような原理に基づいて、原点位置のずれ角を求めている。以下、具体的な処理の流れについて図5から図7を参照して説明する。
上記したように、原点位置較正処理を実行する時点では、駆動対象軸に対する原点位置の較正は完了しており、ツール12は既にフランジ11に取り付けられているものとし、レーザ距離計13も、設置位置(後述する図6図8にて説明する)に設置されていることを前提とする。また、原点位置の較正は、図1等に示すように、駆動対象軸である4軸が設置面に対して垂直となる姿勢に制御されている。このとき、4軸に相当する第1の上アーム8は、可能な限りベース5側に近づいた姿勢(つまり、下アーム7が立った状態)に制御されている。
【0034】
まず、前提となるレーザ距離計13の設置位置について説明する。レーザ距離計13は、駆動対象軸である4軸の軸心と当該4軸の原点位置とを結ぶ仮想的な直線CL2の延長線上に1台のみ設置されている。つまり、本実施形態では、4軸の原点位置を基準位置に設定している。このとき、レーザ距離計13は、図6に示すように、4軸の回転位置を原点位置(J4=0°の位置)に設定した際に、直線CL2が6軸の軸心と平行になっているとともに、レーザ距離計13の測定軸(図6では、光軸PLとして示している)が6軸の軸心に対して直交する関係となるように設置される。そのため、光軸PLは、設置面に対して垂直となり、重力に沿った向きとなっている。また、4軸の軸心も重力に沿った向きとなっている。このような位置関係に設置されたレーザ距離計13により、ツール12までの距離(測定点PMまでの距離)が測定される。
【0035】
制御装置3は、図5に示す原点位置較正処理において、ツール12を第1位置に保持する(S1。第1工程に相当する)。具体的には、制御装置3は、6軸の回転位置を原点位置(J6=0°の位置)に設定するとともに、レーザ距離計13の測定軸と4軸の軸心とが互いに平行であって、且つ、レーザ距離計13の測定軸と6軸の軸心とが互いに垂直となる状態で、ツール12が光軸PL上に位置するようにロボット2の姿勢を制御する。これにより、図7(A)に示すように、ロボット2の平面視において、光軸PL上に測定点PMが定められる。この状態が、ツール12が第1位置に保持された状態に相当する。このとき、6軸の軸心から測定点PMまでの水平距離(つまり、6軸の軸心と光軸PLとの距離)は、ツール長さL3となっている。また、この状態では、4軸は、原点位置(J4=0°の位置)から図示で時計方向に所定の角度だけ回転した状態となっている。
【0036】
続いて、制御装置3は、第1位置に保持されているツール12までの距離である第1距離L1を測定する(S2。第2工程に相当する)。この場合、レーザ距離計13による測定値が制御装置3に入力されることになる。
次に、制御装置3は、6軸の回転位置を180°に設定することで、6軸を180°回転させる(S3)。このとき、ツール12は、図7(B)に示すように、第1位置に対して、6軸(J6)の軸心に軸対象に反転した状態となる。そして、制御装置3は、4軸のみを回転させることで、ツール12を再び光軸PL上となる第2位置に保持する(S4)。これらステップS3およびS4が、第3工程に相当する。このとき、ツール12は、レーザ距離計13の測定軸と直交する平面内で移動している。
【0037】
この第3工程では、制御装置3は、4軸をその原点位置(J4=0°の位置)から図示で反時計方向に、第1位置のときと同じ所定の角度だけ回転させている。つまり、第1距離L1と第2距離L2を測定する場合、制御装置3は、4軸の原点位置を基準位置に設定し、その原点位置に対称となるように4軸を回転させている。これにより、ツール12は、図7(C)に示すように、6軸の軸心に対して第1位置と対称となるように位置することになる。このとき、駆動対象軸の較正が完了した状態で駆動対象軸を回転させているので、第1位置と第2位置とでツール長さL3が一致するようになる。なお、ステップS3およびステップS4においては、4軸を回転させた後で6軸を180°回転させて測定板を第2位置に位置させてもよいし、6軸を回転させつつ4軸も同時に回転させて測定板を第2位置に位置させてもよい。
【0038】
続いて、制御装置3は、第2位置に保持されているツール12までの距離である第2距離L2を測定する(S5。第4工程に相当する)。
このようにして第1距離L1および第2距離L2を測定すると、制御装置3は、6軸の原点位置からのずれ角である角度誤差ΔAを求める(S6)。角度誤差ΔAは、上記したようにツール12の中心線CL1(図4参照)と原点位置を示す水平線とがなす角である。そして、第1距離L1と第2距離L2との距離差ΔLは、ツール12を180°回転させていることから、第1位置と第2位置との双方に角度誤差ΔAが生じている状態での値として測定されている。より詳細には、距離差ΔLは、6軸の軸心を頂点とし、その頂角が角度誤差ΔA×2となる二等辺三角形の底辺の長さに相当する。
【0039】
さて、距離差ΔLを測定すれば、ツール長さL3(上記した二等辺三角形において、頂角の二等分線に相当する)が既知であるので、三角関数を用いて角度誤差ΔAを求めることも可能である。ただし、ここでは、角度誤差ΔAを四則演算により求めている。これは、実際のロボット2の場合、組立精度が極めて高いことから、距離差ΔLが微少な値となり、6軸の軸心を中心とする半径がツール長L3である仮想的な円を想定すると、レーザ距離計13の測定軸と同軸となる接線の長として測定される距離差ΔLは、中心角が角度誤差ΔA×2となる扇形の円弧の長さとほぼ近似した値として扱うことができるためである。
【0040】
具体的には、上記した仮想的な円のにおいて円周の長さ=2×L3×πであり、中心角=角度誤差ΔA×2であることから、角度誤差ΔAと距離差ΔLとは、以下の関係式で表される。
(ΔA×2):360=ΔL:(2×L3×π)
この関係式から、以下のように角度誤差ΔAを求めることができる。
(ΔA×2)×(2×L3×π)=360×ΔL
ΔA×2=(360×ΔL)÷(2×L3×π)
ΔA=(180×ΔL)÷(2×L3×π)
すなわち、距離差ΔLを第1距離L1と第2距離L2とで表せば、
ΔA=(180×(L1−L2))÷(2×L3×π)
となり、第1距離L1と第2距離L2とに基づいて、角度誤差ΔAを四則演算により求めることができる。
【0041】
角度誤差ΔAを求めると、制御装置3は、6軸に設けられているロータリエンコーダ27のビット数Nと、6軸の減速機構のギア比Gとに基づいて、角度誤差ΔAに対応するパルス信号数であるパルス誤差ΔPを求める(S7)。具体的には、ロータリエンコーダ27のビット数Nとすると、その分解能は2^Nであり、それにギア比Gを乗算した値が、360°分のパルス信号数に相当する。このことから、角度誤差ΔAに相当するパルス誤差ΔPとの間に、以下の関係式が求まる。
ΔP:ΔA=2^N×G:360 但し、2^Nは2のN乗を示す。
この関係式から、以下のようにパルス誤差ΔPを求めることができる。
ΔP×360=ΔA×(2^N×G)
ΔP=ΔA×(2^N×G)÷360
【0042】
パルス誤差ΔPを求めると、制御装置3は、補正CALSET値を求める(S8)。ここで、補正CALSET値とは、角度誤差ΔAを考慮した状態で6軸を原点位置に設定するための値(パルス信号数)である。
ロボット2では、高い精度で組み立てが行われるものの、若干の組立誤差が生じることがあり、原点位置がずれる可能性がある。そのため、一般的には、組立時における6軸の原点位置に対応するパルス信号数が、予め初期設定値(以下、CALSET値と称する)として設定されている。
【0043】
ただし、実際にロボット2を作動させた際、角度誤差ΔAが生じていれば、そのCALSET値を補正する必要がある。そこで、制御装置3は、組み立てが完了したロボット2における6軸の原点位置に対応するパルス信号数である補正CALSET値を、新たに求める。具体的には、上記したように角度誤差ΔAに対応するパルス信号数をパルス誤差ΔPとして求めているため、制御装置3は、
補正CALSET値=CALSET値−ΔP
として、補正CALSET値を求める。この補正CALSET値が、ロボット2において6軸の実際の原点位置を示すパルス信号数となる。これらステップS6〜S8までが、第5工程に相当する
【0044】
このように補正CALSET値を求めると、制御装置3は、補正CALSET値を用いて6軸の原点位置を較正する(S9。第6工程に相当する)。具体的には、6軸の原点位置に対応するパルス信号数として補正CALSET値を設定する。これにより、ロボット2に生じていた角度誤差ΔAが補償され、6軸の原点位置に対応するパルス信号数が、実際のロボット2における原点位置に対応したパルス信号数で更新される。つまり、ロータリエンコーダ27から出力されるパルス信号数が補正CALSET値に一致した位置が、実際のロボット2における原点位置として認識される。
【0045】
以上説明した本実施形態によれば、以下のような効果を得ることができる。
本実施形態の手先軸原点位置較正方法によれば、6軸(手先軸)の軸心と4軸(駆動対象軸)の軸心とが互いに垂直な状態、且つ、レーザ距離計13(距離測定手段)の測定軸と4軸の軸心とが互いに平行な状態で、第1位置に位置するツール12までの距離を第1距離L1として測定し、6軸を180°の回転位置に設定してツール12を180°回転させるとともに、4軸のみを回転させることでツール12を第2位置に位置させ、第2位置におけるツール12までの距離を第2距離L2として測定する。そして、第1距離L1と第2距離L2との距離差ΔL、および、6軸の軸心から測定軸までの水平距離であるツール長さL3に基づいて、6軸の原点位置からのずれを表す角度誤差ΔAを求める。そして、角度誤差ΔAと、ロータリエンコーダ27のビット数Nと、6軸のギア比Gとに基づいて角度誤差ΔAに対応するパルス誤差ΔPを求め、そのパルス誤差ΔPと、初期設定値であるCALSET値とに基づいて、補正後の設定値である補正CALSET値をさらに求め、その補正CALSET値を用いて手先軸の原点位置を較正する。
【0046】
このように、6軸の原点位置からのずれである角度誤差ΔAの影響のみが現れる2つの姿勢(第1位置、第2位置に対応する姿勢)を作り出し、その2つの姿勢での距離差ΔLを求めることにより、角度誤差ΔAを求めることが可能となる。そして、角度誤差ΔAが求まれば、その角度誤差ΔAを補償するためのパルス誤差ΔPが求まり、その結果、6軸の原点位置を較正するための補正CALSET値を求めることができる。
【0047】
このとき、較正対象であるロボット装置1以外で較正に必要となるのは、一般的には非常に小型であるレーザ距離計13と、そのレーザ距離計13を設置するスペースだけである。また、ツール12を第1位置と第2位置とに位置させる際には4軸のみを回転させているので、測定時にロボット2の姿勢が大きく変化することもない。したがって、大型の検査装置等を設置したりする必要がなく、大きな作業スペースを必要とすることなく、また、検出用の特殊センサ等を追加する必要もなく、6の原点位置を適切に較正することができる。
【0048】
また、4軸のみが最低限較正済みであれば6軸の原点位置を較正することができるため、較正作業を行う際において、各軸の較正状況の進捗に応じて作業順序を入れ替えることができる等、作業時の自由度を向上させることができる。
角度誤差ΔAを、半径がツール長さL3である仮想的な円の円周の長さと距離差ΔLとの比から、四則演算により求めることができる。また、これにより、較正処理の負荷を低減することができる。
【0049】
レーザ距離計13を、その測定軸が地面に対して垂直になるように設置し、4軸の軸心が地面に対して垂直としているので、4軸の軸心が重力の向きに沿った状態となる。これにより、ツール12に加わる重力の影響は、第1距離L1および第2距離L2を測定するときとで同一の状態となる。したがって、重力の影響が相殺され、より正確に第1距離L1および第2距離L2を測定すること、つまり、より正確に角度誤差ΔAを求めることができる。また、一般にロボット2の設置面と地面とは平行であることが多いため、レーザ距離計13をロボット2の設置面に設置することで、レーザ距離計13の測定軸と4軸の軸心とを容易に平行にすることができる。
【0050】
レーザ距離計13を、4軸の軸心と基準位置(本実施形態では、4軸の原点位置)とを結ぶ仮想的な直線CL2の延長線上に設置し、ツール12を第1位置または第2位置に位置させる際、4軸を直線CL2に対して対称な角度で回転させるので、第1位置と第2位置とにおいて、6軸の軸心と直線CL2とがなす角度を一致させている。このとき、4軸は較正が完了しているので、その4軸を同じ角度で回転させることにより、第1位置と第2位置とでツール長さL3の同一性を担保することができる。たがって、角度誤差ΔAを正確に求めることができる。
【0051】
また、1台のレーザ距離計13のみを使用し、較正処理中にはレーザ距離計13を移動させることなく第1距離L1と第2距離L2とを測定するので、各距離を測定する際にはレーザ距離計13に起因する誤差の発生を抑制することができる。つまり、角度誤差ΔAの精度を向上させることができる。
6軸ロボットにおいて手先軸に対応する6軸の原点位置を、4軸のみを回転させることにより較正することができる。このとき、多関節の6軸ロボットであったとしても、4軸のみが較正済みであればよいため、較正作業を行う際において、進捗に応じて較正する軸の作業順序を入れ替える等、作業時の自由度を向上させることができる。
【0052】
また、上記したように簡便に6軸の原点位置を較正できるので、較正作業を効率化することができるとともに、作業コストを低減することができる。
ロボット2の制御装置3によれば、ツール12を第1位置および第2位置に位置させる制御を行い、第1距離L1および第2距離L2を測定し、第1距離L1および第2距離L2とツール長さL3とに基づいて6軸の原点位置からのずれを表す角度誤差ΔAを求め、その角度誤差ΔAと手先軸に設けられている角度検出器のビット数Nと手先軸のギア比Gとに基づいてパルス誤差ΔPを求め、そのパルス誤差ΔPと初期設定値であるCALSET値とに基づいて実際の6軸の原点位置に対応する補正CALSETIを求め、その補正CALSET値を用いて6軸の原点位置を較正する。このような構成を備えることにより、手先軸原点位置較正方法と同様に上記した効果を得ることができる。
【0053】
(第2実施形態)
以下、第2実施形態について図8および図9を参照して説明する。
本実施形態では、第1実施形態と同様の6軸のロボット装置1において、手先軸として6軸、駆動対象軸として1軸を想定し、6軸の原点位置を較正する。なお、原点較正処理の流れは第1実施形態と共通するので、図5も参照して説明する。
【0054】
まず、レーザ距離計13の設置位置について説明する。本実施形態の場合、レーザ距離計13は、図8に示すように、駆動対象軸である1軸(J1)の軸心と当該1軸の原点位置(J1=0°の位置)とを結ぶ仮想的な直線CL3の延長線上に1台のみ設置されている。つまり、本実施形態では、1軸の原点位置を基準位置に設定している。このとき、レーザ距離計13は、その測定軸(光軸PL)が、6軸の軸心に対して直交する関係となるように設置されている。つまり、光軸PLは、設置面に対して垂直となり、重力に沿った向きとなっている。また、1軸も、その軸心が重力に沿った向きとなっている。なお、本実施形態では4軸の軸心も設置面に対して垂直となるようにロボット2の姿勢を制御しているが、駆動対象軸である1軸の軸心が6軸の軸心に対して垂直(つまり、光軸PLと平行)になっていればよく、必ずしも4軸が垂直となっている必要はない。
【0055】
さて、制御装置3は、図5に示す原点位置較正処理において、ツール12を第1位置に保持する(S1)。このとき、制御装置3は、6軸の回転位置を原点位置(J6=0°の位置)に設定するとともに、レーザ距離計13の測定軸と1軸の軸心とが互いに平行であって、且つ、レーザ距離計13の測定軸と6軸の軸心とが互いに垂直となる状態で、ツール12が光軸PL上に位置するようにロボット2の姿勢を制御する。これにより、図8(A)に示すように、ロボット2の平面視において光軸PL上に測定点PMが定められる。この状態では、1軸は、原点位置(J1=0°の位置)から図示で時計方向に所定の角度だけ回転した状態となっている。
【0056】
続いて、制御装置3は、第1位置に保持されているツール12までの距離である第1距離L1を測定し(S2)、6軸の回転位置を180°に設定することで6軸を180°回転させる(S3)。このとき、ツール12は、図8(B)に示すように、6軸の軸心に対称となる位置に位置する。そして、制御装置3は、1軸のみを回転させることで、ツール12を再び光軸PL上となる第2位置に保持する(S4)。このステップS4では、制御装置3は、1軸をその原点位置(J1=0°の位置)から図示で反時計方向に、第1位置のときと同じ所定の角度だけ回転させている。これにより、ツール12は、図8(C)に示すように、6軸の軸心に対して第1位置と対称となるように位置するとともに、ツール長さL3が第1位置のときと一致することが担保される。この状態で、制御装置3は、第2距離L2を測定する(S5)。
【0057】
第1距離L1および第2距離L2を測定すると、制御装置3は、第1実施形態と同様に、角度誤差ΔAを求め(S6)、その角度誤差ΔAに対応するパルス誤差ΔPを求め(S7)、補正CALSET値を求める(S8)。そして、制御装置3は、補正CALSET値を用いて6軸の原点位置を較正する(S9)。
このように、駆動対象軸として1軸を設定した場合であっても、6軸の原点位置からのずれである角度誤差ΔAの影響のみが現れる2つの姿勢を作り出し、その2つの姿勢での距離差ΔLに基づいて角度誤差ΔAを求めることにより、第1実施形態と同様の効果を得ることができる。具体的には、大型の検査装置等を設置したりする必要がなく、大きな作業スペースを必要とすることなく、また、検出用の特殊センサ等を追加する必要もなく、6の原点位置を適切に較正することができ、作業時の自由度を向上させることができる等の効果を得ることができる。
【0058】
(第3実施形態)
以下、第3実施形態について図10を参照して説明する。
本実施形態では、第1実施形態と同様の6軸のロボット装置1において、手先軸として6軸、駆動対象軸として1軸および4軸の双方を想定し、6軸の原点位置を較正する。なお、原点較正処理の流れは第1実施形態と共通するので図5も参照し、レーザ距離計13の設置位置は第2実施形態と共通するので図8も参照して説明する。
【0059】
まず、レーザ距離計13の設置位置について説明する。本実施形態の場合、レーザ距離計13は、図8に示すように、駆動対象軸である1軸の軸心と当該1軸の原点位置(J1=0°の位置)とを結ぶ仮想的な直線CL3の延長線上であって、4軸の軸心と当該4軸の原点位置(J4=0°の位置)とを結ぶ仮想的な直線CL2(図6参照)の延長線上に、1台のみ設置されている。このとき、レーザ距離計13は、その測定軸(光軸PL)が、6軸の軸心に対して直交する関係となるように設置されており、1軸および4軸の軸心は、重力に沿った向きとなっている。
【0060】
さて、制御装置3は、図5に示す原点位置較正処理において、ツール12を第1位置に保持する(S1)。このとき、制御装置3は、6軸の回転位置を原点位置(J6=0°の位置)に設定するとともに、レーザ距離計13の測定軸と1軸および4軸の軸心とが互いに平行であって、且つ、レーザ距離計13の測定軸と6軸の軸心とが互いに垂直となる状態で、ツール12が光軸PL上に位置するようにロボット2の姿勢を制御する。これにより、図9(A)に示すように、ロボット2の平面視において、光軸PL上に測定点PMが定められる。
【0061】
続いて、制御装置3は、第1位置に保持されているツール12までの距離である第1距離L1を測定し(S2)、6軸の回転位置を180°に設定することで6軸を180°回転させる(S3)。このとき、ツール12は、図9(B)に示すように、6軸の軸心に対称となる位置に位置する。そして、制御装置3は、図9(C)に示すように、1軸および4軸を回転(つまり、駆動対象軸のみを回転)させることで、ツール12が再び光軸PL上となる第2位置に保持する(S4)。
第1距離L1および第2距離L2を測定すると、制御装置3は、第1実施形態と同様に、角度誤差ΔAを求め(S6)、その角度誤差ΔAに対応するパルス誤差ΔPを求め(S7)、補正CALSET値を求める(S8)。そして、制御装置3は、補正CALSET値を用いて6軸の原点位置を較正する(S9)。
【0062】
このように、駆動対象軸として1軸および4軸の双方を設定した場合であっても、6軸の原点位置からのずれである角度誤差ΔAの影響のみが現れる2つの姿勢を作り出し、その2つの姿勢での距離差ΔLに基づいて角度誤差ΔAを求めることにより、第1実施形態と同様の効果を得ることができる。具体的には、大型の検査装置等を設置したりする必要がなく、大きな作業スペースを必要とすることなく、また、検出用の特殊センサ等を追加する必要もなく、6の原点位置を適切に較正することができ、作業時の自由度を向上させることができる等の効果を得ることができる。
なお、本実施形態では1軸と4軸が駆動対象軸であることから、ツール12を光軸PL上に位置させるためのそれぞれの回転角度は多種多様であり、図9(C)はその一例を示している。また、1軸と4軸をそれぞれどのように回転させるかは、適宜設定すればよいが、第1実施形態と同様に1軸および4軸をそれぞれ基準位置に対して対称な角度で回転させてもよい。
【0063】
(その他の実施形態)
本発明は、各実施形態で例示した構成に限定されるものではなく、以下のような変形または拡張が可能である。
各実施形態では図1に示したように4軸に相当する第1の上アーム8を鉛直下向きとする姿勢を例示したが、図11に示すように第1の上アーム8を鉛直上向きとする姿勢であっても各実施形態と同様の効果を得ることができる。
【0064】
各実施形態で例示したロボット2の構成や外観等は一例である。
各実施形態では1軸と4軸が駆動対象軸となる例を示したが、本発明は、ツールが取り付けられる手先軸と、当該手先軸の軸心に対して垂直となる位置関係を設定可能な軸心を有する駆動対象軸とを備えたロボットであれば適用できる。例えば、各実施形態では6軸ロボットを対象としたが、7軸ロボット等の多関節型ロボットに適用しても良い。7軸ロボットの場合、図1を参照すると、下アーム7に新たな回転軸(7軸)を設ける構成が一般的であるが、その場合であっても、手先軸にツール12を取り付け、手先軸の軸心と距離測定手段の測定軸とが垂直な状態で回転可能な軸心を有する駆動対象軸のみを回転させることで、各実施形態と同様に、手先軸の原点位置を較正することができる。なお、便宜的に下アーム7に対応する回転軸を7軸と記載したが、対応する軸の名称が異なっていたとしても、実質的に共通する軸であれば本発明の要旨を逸脱しない範囲に含まれる。
【0065】
各実施形態では角度誤差ΔAを円周の長さとの比例関係により求める例を示したが、距離差ΔLに基づいて三角関数を用いて角度誤差ΔAを求めてもよい。
角度誤差ΔA、パルス誤差ΔPおよび補正CALSET値は、原点位置較正処理においてその都度演算するようにしてもよいが、例えば距離差ΔLに対応する角度誤差ΔAを予めテーブル化しておき、原点位置較正処理ではそのテーブルから読み出すようにしてもよい。パルス誤差ΔPおよび補正CALSET値についても同様である。すなわち、角度誤差ΔA、パルス誤差ΔPおよび補正CALSET値等をそれぞれの「式により求める」とは、式を利用して演算すること、および演算結果をテーブル等から読み出して利用すること等をも含んでいる。
【0066】
各実施形態ではレーザ距離計13を設置面に設置し、その測定軸が地面に対して鉛直となるようにしたが、測定軸は、駆動対象軸の軸心と平行であり、且つ、手先軸の軸心と垂直となっていればよい。すなわち、距離測定手段の測定軸は、必ずしも地面に鉛直で無くてもよい。
各実施形態では手先軸の原点位置が設置面に対して水平な平面内に存在する例を示したが、必ずしも原点位置が設置面に水平な平面内に存在する必要はない。例えば、図3において、図示下方が0°、図示右方が90°、図示左方が270°等に設定されている場合であっても、90°の位置を第1位置とし、270°の位置を第2位置としてそれぞれの距離を測定すれば、同様に角度誤差ΔAを求めることができる。すなわち、距離測定手段の測定軸に対して垂直となる平面の回転角度が特定できていればよい。
【0067】
各実施形態では原点位置較正処理を制御装置3で実行する例を示したが、各ステップの処理の一部や全部をティーチングペンダント4にて実行する構成であってもよい。
距離測定手段は、レーザ距離計13に限らず、距離を測定できるものであればどのようなものを採用してもよい。
ツール12上に測定点PMを予め定めておき、その測定点PMがレーザ距離計13の光軸上に位置するように第1位置と第2位置とにおける駆動対象軸の回転角度を制御してもよい。
【0068】
本発明は、手先軸と当該手先軸の軸心に対して垂直となる位置関係を設定可能な軸心を有する駆動対象軸とを備えたロボットに適用できるため、例えばレーザ距離計13の測定軸をロボット2の例えば5軸の軸心と平行となるようにすれば、5軸のみを回転させることで、各実施形態と同様に手先軸(6軸)の原点位置を較正することができる。また、2軸や3軸についても同様である。つまり、2軸、3軸、5軸あるいはそれらを複数組み合わせたものを、駆動対象軸とすることもできる。
【符号の説明】
【0069】
図面中、2はロボット、3は制御装置(制御手段、設定値取得手段、較正手段)、12はツール(測定板)、13はレーザ距離計(距離測定手段)、J1は1軸(駆動対象軸)、J4は4軸(駆動対象軸)、J6は6軸(手先軸)、25はモータ、26はロータリエンコーダ(角度検出器)を示す。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11