IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ セイコーエプソン株式会社の特許一覧

特開2024-78698ロボット監視方法、ロボット監視装置およびロボットモデル作成方法
<>
  • 特開-ロボット監視方法、ロボット監視装置およびロボットモデル作成方法 図1
  • 特開-ロボット監視方法、ロボット監視装置およびロボットモデル作成方法 図2
  • 特開-ロボット監視方法、ロボット監視装置およびロボットモデル作成方法 図3
  • 特開-ロボット監視方法、ロボット監視装置およびロボットモデル作成方法 図4
  • 特開-ロボット監視方法、ロボット監視装置およびロボットモデル作成方法 図5
  • 特開-ロボット監視方法、ロボット監視装置およびロボットモデル作成方法 図6
  • 特開-ロボット監視方法、ロボット監視装置およびロボットモデル作成方法 図7
  • 特開-ロボット監視方法、ロボット監視装置およびロボットモデル作成方法 図8
  • 特開-ロボット監視方法、ロボット監視装置およびロボットモデル作成方法 図9
  • 特開-ロボット監視方法、ロボット監視装置およびロボットモデル作成方法 図10
  • 特開-ロボット監視方法、ロボット監視装置およびロボットモデル作成方法 図11
  • 特開-ロボット監視方法、ロボット監視装置およびロボットモデル作成方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024078698
(43)【公開日】2024-06-11
(54)【発明の名称】ロボット監視方法、ロボット監視装置およびロボットモデル作成方法
(51)【国際特許分類】
   B25J 19/06 20060101AFI20240604BHJP
【FI】
B25J19/06
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022191193
(22)【出願日】2022-11-30
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100179475
【弁理士】
【氏名又は名称】仲井 智至
(74)【代理人】
【識別番号】100216253
【弁理士】
【氏名又は名称】松岡 宏紀
(74)【代理人】
【識別番号】100225901
【弁理士】
【氏名又は名称】今村 真之
(72)【発明者】
【氏名】田辺 輝
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS12
3C707BS15
3C707JS03
3C707JS07
3C707KS16
3C707KS20
3C707LS20
3C707MS15
(57)【要約】
【課題】汎用性に優れるロボット監視方法、ロボット監視装置およびロボットモデル作成方法を提供すること。
【解決手段】m(mは、2以上の整数)個のアームおよび該アームに対応するm個の関節を有する第1ロボットアームを備える第1ロボットと、n(nは、整数かつn<m)個のアームおよび該アームに対応するn個の関節を有する第2ロボットアームを備える第2ロボットと、に兼用のロボットモデルデータを用いてロボットモデルを作成する第1工程と、第1工程で作成されたロボットモデルに基づいて第1ロボットまたは第2ロボットの監視を行う第2工程と、を有するロボット監視方法。
【選択図】図8
【特許請求の範囲】
【請求項1】
m(mは、2以上の整数)個のアームおよび該アームに対応するm個の関節を有する第1ロボットアームを備える第1ロボットと、n(nは、整数かつn<m)個のアームおよび該アームに対応するn個の関節を有する第2ロボットアームを備える第2ロボットと、に兼用のロボットモデルデータを用いてロボットモデルを作成する第1工程と、
前記第1工程で作成された前記ロボットモデルに基づいて前記第1ロボットまたは前記第2ロボットの監視を行う第2工程と、を有し、
前記第1工程では、
監視対象が前記第1ロボットである場合、前記ロボットモデルデータに、
前記第1ロボットの関節データとして、m個の前記関節に、それぞれ前記関節の回転軸の方向のベクトルを3次元座標で表したm個の第1関節データAを割り当て、
前記第1ロボットのアームデータとして、m個の前記アームに、それぞれ前記アームの長さおよび方向のベクトルを3次元座標で表した第1アームデータBを割り当て、
監視対象が前記第2ロボットである場合、前記ロボットモデルデータに、
前記第2ロボットの関節データとして、n個の前記関節に、それぞれ前記関節の回転軸の方向のベクトルを3次元座標で表したn個の第2関節データCを割り当てるとともに、m-n個のゼロベクトルで表される第2関節データDを割り当て、
第2ロボットのアームデータとして、n個の前記アームに、それぞれ前記アームの長さおよび方向のベクトルを3次元座標で表したn個の第2アームデータEを割り当てるとともに、m-n個のゼロベクトルで表される第2アームデータFを割り当てることを特徴とするロボット監視方法。
【請求項2】
前記第1ロボットは、垂直多関節6軸ロボットであり、
前記第2ロボットは、水平多関節4軸ロボットであり、
前記第1工程では、第2ロボットのアームデータとして、実在する4個のアームおよび関節に、それぞれ前記第2関節データCおよび前記第2アームデータEを割り当てるとともに、実在しないアームおよび関節に、それぞれ前記第2関節データDおよび前記第2アームデータFを割り当てる請求項1に記載のロボット監視方法。
【請求項3】
m(mは、2以上の整数)個のアームおよび該アームに対応するm個の関節を有する第1ロボットアームを備える第1ロボットと、n(nは、整数かつn<m)個のアームおよび該アームに対応するn個の関節を有する第2ロボットアームを備える第2ロボットと、に兼用のロボットモデルデータを用いて作成されたロボットモデルを取得する取得部と、
前記取得部が取得した前記ロボットモデルに基づいて前記第1ロボットまたは前記第2ロボットの監視を行う監視部と、を備え、
前記ロボットモデルは、
監視対象が前記第1ロボットである場合、前記ロボットモデルデータに、
前記第1ロボットの関節データとして、m個の前記関節に、それぞれ前記関節の回転軸の方向のベクトルを3次元座標で表したm個の第1関節データAが割り当てられ、
前記第1ロボットのアームデータとして、m個の前記アームに、それぞれ前記アームの長さおよび方向のベクトルを3次元座標で表した第1アームデータBが割り当てられ、
監視対象が前記第2ロボットである場合、前記ロボットモデルデータに、
前記第2ロボットの関節データとして、n個の前記関節に、それぞれ前記関節の回転軸の方向のベクトルを3次元座標で表したn個の第2関節データCが割り当てられているとともに、m-n個のゼロベクトルで表される第2関節データDが割り当てられており、
第2ロボットのアームデータとして、n個の前記アームに、それぞれ前記アームの長さおよび方向のベクトルを3次元座標で表したn個の第2アームデータEが割り当てられているとともに、m-n個のゼロベクトルで表される第2アームデータFが割り当てられていることを特徴とするロボット監視装置。
【請求項4】
m(mは、2以上の整数)個のアームおよび該アームに対応するm個の関節を有する第1ロボットアームを備える第1ロボットと、n(nは、整数かつn<m)個のアームおよび該アームに対応するn個の関節を有する第2ロボットアームを備える第2ロボットと、に兼用のロボットモデルデータを用いてロボットモデルを作成する第1工程を有し、
前記第1工程では、
監視対象が前記第1ロボットである場合、前記ロボットモデルデータに、
前記第1ロボットの関節データとして、m個の前記関節に、それぞれ前記関節の回転軸の方向のベクトルを3次元座標で表したm個の第1関節データAを割り当て、
前記第1ロボットのアームデータとして、m個の前記アームに、それぞれ前記アームの長さおよび方向のベクトルを3次元座標で表した第1アームデータBを割り当て、
監視対象が前記第2ロボットである場合、前記ロボットモデルデータに、
前記第2ロボットの関節データとして、n個の前記関節に、それぞれ前記関節の回転軸の方向のベクトルを3次元座標で表したn個の第2関節データCを割り当てるとともに、m-n個のゼロベクトルで表される第2関節データDを割り当て、
第2ロボットのアームデータとして、n個の前記アームに、それぞれ前記アームの長さおよび方向のベクトルを3次元座標で表したn個の第2アームデータEを割り当てるとともに、m-n個のゼロベクトルで表される第2アームデータFを割り当てることを特徴とするロボットモデル作成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット監視方法、ロボット監視装置およびロボットモデル作成方法に関する。
【背景技術】
【0002】
ロボットを安全に動作させるために、ロボットの動作を監視することが行われている。例えば、特許文献1に記載の装置は、マニピュレーター構造に基づく各アームの長さの差や、各軸間のオフセット量といった静的パラメータを、DH記法を用いてロボットモデルを作成し、ロボットの動作における位置姿勢を推定することにより監視を行う。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017-164838号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1のような、DH記法を用いたロボットモデルを利用する順運動学計算は、マニピュレーター構造に応じて監視処理を用意する必要があり、マニピュレーターの構造が異なる複数のロボットに対応することができず、汎用性に乏しいという問題があった。
【課題を解決するための手段】
【0005】
本発明のロボット監視方法は、m(mは、2以上の整数)個のアームおよび該アームに対応するm個の関節を有する第1ロボットアームを備える第1ロボットと、n(nは、整数かつn<m)個のアームおよび該アームに対応するn個の関節を有する第2ロボットアームを備える第2ロボットと、に兼用のロボットモデルデータを用いてロボットモデルを作成する第1工程と、
前記第1工程で作成された前記ロボットモデルに基づいて前記第1ロボットまたは前記第2ロボットの監視を行う第2工程と、を有し、
前記第1工程では、
監視対象が前記第1ロボットである場合、前記ロボットモデルデータに、
前記第1ロボットの関節データとして、m個の前記関節に、それぞれ前記関節の回転軸の方向のベクトルを3次元座標で表したm個の第1関節データAを割り当て、
前記第1ロボットのアームデータとして、m個の前記アームに、それぞれ前記アームの長さおよび方向のベクトルを3次元座標で表した第1アームデータBを割り当て、
監視対象が前記第2ロボットである場合、前記ロボットモデルデータに、
前記第2ロボットの関節データとして、n個の前記関節に、それぞれ前記関節の回転軸の方向のベクトルを3次元座標で表したn個の第2関節データCを割り当てるとともに、m-n個のゼロベクトルで表される第2関節データDを割り当て、
第2ロボットのアームデータとして、n個の前記アームに、それぞれ前記アームの長さおよび方向のベクトルを3次元座標で表したn個の第2アームデータEを割り当てるとともに、m-n個のゼロベクトルで表される第2アームデータFを割り当てることを特徴とする。
【0006】
本発明のロボット監視装置は、m(mは、2以上の整数)個のアームおよび該アームに対応するm個の関節を有する第1ロボットアームを備える第1ロボットと、n(nは、整数かつn<m)個のアームおよび該アームに対応するn個の関節を有する第2ロボットアームを備える第2ロボットと、に兼用のロボットモデルデータを用いて作成されたロボットモデルを取得する取得部と、
前記取得部が取得した前記ロボットモデルに基づいて前記第1ロボットまたは前記第2ロボットの監視を行う監視部と、を備え、
前記ロボットモデルは、
監視対象が前記第1ロボットである場合、前記ロボットモデルデータに、
前記第1ロボットの関節データとして、m個の前記関節に、それぞれ前記関節の回転軸の方向のベクトルを3次元座標で表したm個の第1関節データAが割り当てられ、
前記第1ロボットのアームデータとして、m個の前記アームに、それぞれ前記アームの長さおよび方向のベクトルを3次元座標で表した第1アームデータBが割り当てられ、
監視対象が前記第2ロボットである場合、前記ロボットモデルデータに、
前記第2ロボットの関節データとして、n個の前記関節に、それぞれ前記関節の回転軸の方向のベクトルを3次元座標で表したn個の第2関節データCが割り当てられているとともに、m-n個のゼロベクトルで表される第2関節データDが割り当てられており、
第2ロボットのアームデータとして、n個の前記アームに、それぞれ前記アームの長さおよび方向のベクトルを3次元座標で表したn個の第2アームデータEが割り当てられているとともに、m-n個のゼロベクトルで表される第2アームデータFが割り当てられていることを特徴とする。
【0007】
本発明のロボットモデル作成方法は、m(mは、2以上の整数)個のアームおよび該アームに対応するm個の関節を有する第1ロボットアームを備える第1ロボットと、n(nは、整数かつn<m)個のアームおよび該アームに対応するn個の関節を有する第2ロボットアームを備える第2ロボットと、に兼用のロボットモデルデータを用いてロボットモデルを作成する第1工程を有し、
前記第1工程では、
監視対象が前記第1ロボットである場合、前記ロボットモデルデータに、
前記第1ロボットの関節データとして、m個の前記関節に、それぞれ前記関節の回転軸の方向のベクトルを3次元座標で表したm個の第1関節データAを割り当て、
前記第1ロボットのアームデータとして、m個の前記アームに、それぞれ前記アームの長さおよび方向のベクトルを3次元座標で表した第1アームデータBを割り当て、
監視対象が前記第2ロボットである場合、前記ロボットモデルデータに、
前記第2ロボットの関節データとして、n個の前記関節に、それぞれ前記関節の回転軸の方向のベクトルを3次元座標で表したn個の第2関節データCを割り当てるとともに、m-n個のゼロベクトルで表される第2関節データDを割り当て、
第2ロボットのアームデータとして、n個の前記アームに、それぞれ前記アームの長さおよび方向のベクトルを3次元座標で表したn個の第2アームデータEを割り当てるとともに、m-n個のゼロベクトルで表される第2アームデータFを割り当てることを特徴とする。
【図面の簡単な説明】
【0008】
図1】本発明の実施形態に係るロボット監視装置を備えるロボットシステムの概略構成図である。
図2】本発明の実施形態に係るロボット監視装置が監視を行う対象である第1ロボットの一例を示す図である。
図3】本発明の実施形態に係るロボット監視装置が監視を行う対象である第2ロボットの一例を示す図である。
図4図2に示す第1ロボットの模式図である。
図5図3に示す第2ロボットの模式図である。
図6】従来のロボットモデルの一例を示す図である。
図7】従来のロボットモデルの一例を示す図である。
図8】本発明のロボット監視方法に用いられるロボットモデルの一例を示す図である。
図9図8に示すロボットモデルを作成する際に用いられるロボットモデルデータの一例を示す図である。
図10図6に示すロボットモデルを作成する際に用いられる従来のロボットモデルデータの一例を示す図である。
図11図7に示すロボットモデルを作成する際に用いられる従来のロボットモデルデータの一例を示す図である。
図12】本発明のロボット監視方法の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明のロボット監視方法、ロボット監視装置およびロボットモデル作成方法を添付図面に示す実施形態に基づいて詳細に説明する。なお、以下の説明において、単に「ロボット」と言うときは、第1ロボットおよび第2ロボットを含むロボットの総称を言う。
【0010】
<第1実施形態>
図1は、本発明の実施形態に係るロボット監視装置を備えるロボットシステムの概略構成図である。図2は、本発明の実施形態に係るロボット監視装置が監視を行う対象である第1ロボットの一例を示す図である。図3は、本発明の実施形態に係るロボット監視装置が監視を行う対象である第2ロボットの一例を示す図である。図4は、図2に示す第1ロボットの模式図である。図5は、図3に示す第2ロボットの模式図である。図6は、従来のロボットモデルの一例を示す図である。図7は、従来のロボットモデルの一例を示す図である。図8は、本発明のロボット監視方法に用いられるロボットモデルの一例を示す図である。図9は、図8に示すロボットモデルを作成する際に用いられるロボットモデルデータの一例を示す図である。図10は、図6に示すロボットモデルを作成する際に用いられる従来のロボットモデルデータの一例を示す図である。図11は、図7に示すロボットモデルを作成する際に用いられる従来のロボットモデルデータの一例を示す図である。図12は、本発明のロボット監視方法の一例を説明するためのフローチャートである。
【0011】
図2図5中では、互いに直交する3軸であるX軸、Y軸およびZ軸が設定されている。3軸のうちZ軸方向は鉛直方向を示し、X-Y平面は水平面を示す。
【0012】
図2および図3中の上下方向は、鉛直方向と一致している。図2図5中の上側を「上」、下側を「下」とも言い、第1ロボットアーム10、第2ロボットアーム22等については、基台11、21側を基端部、エンドエフェクター20、26側を先端部と言う。
【0013】
本明細書において、「鉛直」とは、鉛直と一致している場合のみならず、鉛直に対して若干、例えば±10°以内傾斜している場合も含む意味である。また、本明細書において、「平行」とは、2つの対象が平行と一致している場合のみならず、平行から若干、例えば±10°以内傾斜している場合も含む意味である。
【0014】
図1に示すように、ロボットシステム100は、第1ロボット1と、第2ロボット2と、第1ロボット1の駆動を制御するロボット制御装置9Aと、第2ロボット2の駆動を制御するロボット制御装置9Bと、を有している。第2ロボット2は、第1ロボット1と機種が異なるロボットである。
【0015】
まず、第1ロボット1について説明する。
図2に示すように、第1ロボット1は、基台11と、基台11に対し回転可能に接続されている第1ロボットアーム10とを有する。第1ロボットアーム10は、m(mは、2以上の整数)個のアームおよび該アームに対応するm個の関節を有する。第1ロボットアーム10におけるアームの数と関節の数は等しい。本実施形態では、mは、6である。すなわち、第1ロボット1は、6軸垂直多関節ロボットである。
【0016】
なお、第1ロボット1は、図示の構成に限定されず、例えば、mが6以外の垂直多関節ロボットであってもよい。
【0017】
基台11は、第1ロボットアーム10をその基端側において、駆動可能に支持する支持体であり、例えば工場内の床に固定されている。第1ロボット1は、基台11が中継ケーブルの電気線を介してロボット制御装置9Aと電気的に接続されている。なお、第1ロボット1とロボット制御装置9Aとの接続は、図2に示す構成のように有線による接続に限定されず、例えば、無線による接続であってもよい。また、インターネット等のネットワークを介して接続されていてもよい。
【0018】
本実施形態では、第1ロボットアーム10は、第1アーム12と、第2アーム13と、第3アーム14と、第4アーム15と、第5アーム16と、第6アーム17とを有し、これらのアームが基台11側からこの順に連結されている。なお、第1ロボットアーム10が有するアームの数は、6個に限定されず、例えば、2、3、4、5個または7個以上であってもよい。また、各アームの全長等の大きさは、それぞれ、特に限定されず、組み立てまたは加工の対象物であるワーク等の条件、作業内容等に応じて適宜設定可能である。
【0019】
基台11と第1アーム12とは、第1関節アクチュエーター171を介して連結されている。そして、第1関節アクチュエーター171により、第1アーム12は、基台11に対し、鉛直方向に延びる第1回転軸を回転中心とし、その第1回転軸回りに回転可能に支持されている。このように、第1回転軸は、基台11が固定される床の床面の法線と一致しており、第1ロボットアーム10の全体が第1回転軸の軸回りに正方向・逆方向のいずれへも回転することができる。
【0020】
なお、図2中、第1回転軸は図示されておらず、以下に説明する第2回転軸、第3回転軸、第4回転軸、第5回転軸および第6回転軸についても同様である。
【0021】
第1アーム12と第2アーム13とは、第2関節アクチュエーター172を介して連結されている。そして、第3関節アクチュエーター173により、第2アーム13は、第1アーム12に対し、水平方向に延びる第2回転軸を回転中心として回転可能に支持されている。
【0022】
第2アーム13と第3アーム14とは、第3関節アクチュエーター173を介して連結されている。そして、第3関節アクチュエーター173により、第3アーム14は、第2アーム13に対し、水平方向に延びる第3回転軸を回転中心として回転可能に支持されている。第3回転軸は、第2回転軸と平行である。
【0023】
第3アーム14と第4アーム15とは、第4関節アクチュエーター174を介して連結されている。そして、第4関節アクチュエーター174により、第4アーム15は、第3アーム14に対し、第3アーム14の中心軸方向と平行な第4回転軸を回転中心として回転可能に支持されている。第4回転軸は、第3回転軸と直交している。
【0024】
第4アーム15と第5アーム16とは、第5関節アクチュエーター175を介して連結されている。そして、第5関節アクチュエーター175により、第5アーム16は、第4アーム15に対して第5回転軸を回転中心として回転可能に支持されている。第5回転軸は、第4回転軸と直交している。
【0025】
第5アーム16と第6アーム17とは、第6関節アクチュエーター176を介して連結されている。そして、第6関節アクチュエーター176により、第6アーム17は、第5アーム16に対して第6回転軸を回転中心として回転可能に支持されている。第6回転軸は、第5回転軸と直交している。
【0026】
第1ロボットアーム10の先端部には、エンドエフェクター20を着脱可能に装着することができる。エンドエフェクター20の先端には、制御点TCPが設定されている。
【0027】
エンドエフェクター20としては、例えば、ワークを把持するハンド、チャック、孔あけ、研削、研磨等を行う工具、スプレーガン等の塗装具等が挙げられる。
【0028】
各アームの接続部である関節アクチュエーター171~176は、それぞれ、図示しないモーター、モータードライバー、減速機、エンコーダー等を有する。各モーター、各モータードライバーおよび各エンコーダーは、それぞれ、ロボット制御装置9Aと電気的に接続されている。各エンコーダーは、対応するモーターの回転位置情報を検出し、ロボット制御装置9Aに送信する。ロボット制御装置9Aは、各エンコーダーから受信した各モーターの回転位置情報に基づいて、モータードライバーを介して各モーターへの通電条件を制御する。これにより、第1アーム12~第6アーム17がそれぞれ作動し、予め定められたプログラムに従い第1ロボットアーム10の姿勢が経時的に変化して、第1ロボットアーム10の先端部に装着されたエンドエフェクター20により所望の作業を行うことができる。
【0029】
次に、第2ロボット2について説明する。
図3に示す第2ロボット2は、基台21と、基台21に対し回転可能に接続されている第2ロボットアーム22と、を有する。第2ロボットアーム22は、n(nは、整数かつn<m)個のアームおよび該アームに対応するn個の関節を有する。アームの数と関節の数は等しい。本実施形態では、nは、4であり、第2ロボット2は、4軸水平多関節ロボット、すなわち、スカラロボットである。
【0030】
なお、第2ロボット2は、図示の構成に限定されず、例えば、nが4以外の水平多関節ロボットであってもよい。
【0031】
第2ロボットアーム22の先端部には、図示しないエンドエフェクター等を着脱可能に装着することができる。基台21は、水平面と平行な床面に固定されている。基台21の内部には、ロボット制御装置9Bが設置されている。なお、図示の構成と異なり、ロボット制御装置9Bは、基台21の外部に設置されていてもよい。
【0032】
第2ロボットアーム22は、基端部が基台21に接続され、基台21に対して鉛直方向に沿う第1回転軸O1回りに回転する第1アーム23と、基端部が第1アーム23の先端部に接続され、第1アーム23に対して鉛直方向に沿う第2回転軸O2回りに回転する第2アーム24と、を有している。
【0033】
第2アーム24の先端部には作業ヘッド25が設けられている。作業ヘッド25は、第2アーム24の先端部に、互いに同軸で配置されているスプラインナット251およびボールネジナット252と、スプラインナット251およびボールネジナット252に挿通されているスプラインシャフト253と、を有している。スプラインシャフト253は、第2アーム24に対して、その中心軸であり、かつ鉛直方向に沿う第3回転軸O3回りに回転可能であるとともに、第3回転軸O3に沿って上下方向に移動可能である。
【0034】
スプラインシャフト253の下端部には、エンドエフェクター26が装着されている。エンドエフェクター26の先端には、制御点TCPが設定されている。エンドエフェクター26としては、前述したエンドエフェクター20で例示したものを用いることができる。
【0035】
第2ロボット2は、基台21と第1アーム23とを連結し、基台21に対して第1アーム23を第1回転軸O1回りに回転させる第1関節アクチュエーター27と、第1アーム23と第2アーム24とを連結し、第1アーム23に対して第2アーム24を第2回転軸O2回りに回転させる関節部としての第2関節アクチュエーター28と、を有している。
【0036】
また、第2ロボット2は、ボールネジナット252を回転させてスプラインシャフト253を第3回転軸O3に沿った方向に昇降させる関節部としての第1駆動機構291と、スプラインナット251を回転させてスプラインシャフト253を第3回転軸O3回りに回転させる関節部としての第2駆動機構292と、を有する。第1駆動機構291の作動によりスプラインシャフト253が第3回転軸O3の軸方向に移動し、これに伴いエンドエフェクター26が同方向に移動、すなわち上昇または下降する。また、第2駆動機構292の作動によりスプラインシャフト253が第3回転軸O3回りに所定方向に回転し、これに伴いエンドエフェクター26が同方向に回転する。
【0037】
第1関節アクチュエーター27、第2関節アクチュエーター28、第1駆動機構291および第2駆動機構292は、それぞれ、図示しないモーター、モータードライバー、減速機、エンコーダー等を有する。各モーター、各モータードライバーおよび各エンコーダーは、それぞれ、ロボット制御装置9Bと電気的に接続されている。各エンコーダーは、対応するモーターの回転位置情報を検出し、ロボット制御装置9Bに送信する。ロボット制御装置9Bは、各エンコーダーから受信した各モーターの回転位置情報に基づいて、各モータードライバーを介して各モーターへの通電条件を制御する。これにより、第1アーム23、第2アーム24およびスプラインシャフト253がそれぞれ作動し、予め定められたプログラムに従い第2ロボットアーム22の姿勢が経時的に変化して、第2ロボットアーム22の先端部、すなわち作業ヘッド25の下端部に装着されたエンドエフェクター26により所望の作業を行うことができる。
【0038】
次に、ロボット監視装置3について説明する。
図1に示すように、ロボット監視装置3は、本発明のロボット監視方法を実行する装置であり、第1ロボット1または第2ロボット2の監視を行う監視部31と、記憶部32と、ロボットモデルを取得する取得部としての通信部33と、を備える。
【0039】
監視部31は、CPU(Central Processing Unit)等の少なくとも1つのプロセッサーを有し、記憶部32に記憶されている各種プログラムを読み出し、実行する。具体的には、監視部31は、記憶部32に記憶されているロボット監視プログラムを読み出し、実行することにより、監視対象であるロボットの監視を行う。監視部31は、例えば、後述するロボットモデルRMに基づいて各アームの長さの差や、各軸間のオフセット量といった静的パラメータを推定し、順運動学計算を用いてロボットの動作中の位置姿勢を導出し、第1ロボット1または第2ロボット2を監視する。
【0040】
記憶部32は、監視部31で実行される各種プログラム等を保存する。記憶部32としては、例えば、RAM(Random Access Memory)等の揮発性メモリー、ROM(Read Only Memory)等の不揮発性メモリー、着脱式の外部記憶装置等を有する構成のものが挙げられる。記憶部32には、本発明のロボット監視方法を実行するためのプログラムが記憶されている。また、記憶部32には、通信部33を介して入力されたロボットモデルRMが一時的または永続的に記憶される。
【0041】
通信部33は、例えば有線LAN(Local Area Network)、無線LAN等のネットワーク4を用いてロボット制御装置9Aおよびロボット制御装置9Bとの間で信号の送受信を行う。この場合、図示しないサーバーを介して通信を行ってもよく、また、インターネット等のネットワークを介して通信を行ってもよい。
【0042】
従来では、ロボットの機種毎にロボットモデルデータおよびロボットモデルが設定されていた。すなわち、第1ロボット1に対しては、図6に示すようなロボットモデルRM1が設定され、第2ロボット2には、図7に示すようなロボットモデルRM2が設定されていた。
【0043】
そのため、従来では、ロボットモデルRM1およびロボットモデルRM2がそれぞれロボット監視装置3に相当するロボット監視装置に入力され、例えば、順運動学計算を用いてロボットの動作における位置姿勢を導出することにより監視対象である第1ロボット1または第2ロボット2の監視が行われていた。
【0044】
なお、図4図6および図8では、図2に示す第1ロボット1において、第1関節アクチュエーター171を第1関節として「J1」で示し、第2関節アクチュエーター172を第2関節として「J2」で示し、第3関節アクチュエーター173を第3関節として「J3」で示し、第4関節アクチュエーター174を第4関節として「J4」で示し、第5関節アクチュエーター175を第5関節として「J5」で示し、第6関節アクチュエーター176を第6関節として「J6」で示している。
【0045】
また、図5図7および図8では、図3に示す第2ロボット2において、第1関節アクチュエーター27を第1関節として「J1」で示し、第2関節アクチュエーター28を第2関節として「J2」で示し、第1駆動機構291を第3関節として「J3」で示し、第2駆動機構292を第4関節として「J4」で示している。
【0046】
図6に示す従来のロボットモデルRM1は、ベクトルで表されるロボットモデルであり、一例として、図2に示す第1ロボット1の機種を特定するための情報を含むデータである。ロボットモデルRM1は、第1関節データAと、第1アームデータBとを含むものであり、一例として、テーブルで表すことができる。
【0047】
第1関節データAは、m個、本実施形態では、6個の第1関節アクチュエーター171~第6関節アクチュエーター176に、それぞれ関節の回転軸の方向のベクトルを3次元座標で表した関節の情報である関節データが割り当てられた有効関節データである。また、第1関節データAは、制御点TCPにも割り当てられている。回転軸の方向は、第1ロボット1の初期姿勢における回転軸の方向である。
【0048】
図4に示すように、第1関節J1(第1関節アクチュエーター171)は、ベクトルaで表される。初期姿勢において第1関節J1の回転軸は、z軸方向に沿っているので、図6に示すように、ベクトルaは、3次元座標(0,0,1)で表される。
【0049】
図4に示すように、第2関節J2(第2関節アクチュエーター172)は、ベクトルaで表される。初期姿勢において第2関節J2の回転軸は、x軸方向に沿っているので、図6に示すように、ベクトルaは、3次元座標(1,0,0)で表される。
【0050】
図4に示すように、第3関節J3(第3関節アクチュエーター173)は、ベクトルaで表される。初期姿勢において第3関節J3の回転軸は、x軸方向に沿っているので、図6に示すように、ベクトルaは、3次元座標(1,0,0)で表される。
【0051】
図4に示すように、第4関節J4(第4関節アクチュエーター174)は、ベクトルaで表される。初期姿勢において第4関節J4の回転軸は、y軸方向に沿っているので、図6に示すように、ベクトルaは、3次元座標(0,1,0)で表される。
【0052】
図4に示すように、第5関節J5(第5関節アクチュエーター175)は、ベクトルaで表される。初期姿勢において第5関節J5の回転軸は、x軸方向に沿っているので、図6に示すように、ベクトルaは、3次元座標(1,0,0)で表される。
【0053】
図4に示すように、第6関節J6(第6関節アクチュエーター176)は、ベクトルaで表される。初期姿勢において第6関節J6の回転軸は、y軸方向に沿っているので、図6に示すように、ベクトルaは、3次元座標(0,1,0)で表される。
【0054】
図4に示すように、制御点TCPは、ベクトルatcpで表される。ベクトルatcpは、回転軸を有していないので、図6および図8に示すように、3次元座標(0,0,0)、すなわち、ゼロベクトルで表される。
【0055】
以上のように、第1関節データAのうち、回転軸を有している関節の関節データでは、3次元座標のX、Y、Zのいずれかの値として1を用いたが、これに限定されず、0と区別できるものであれば1以外の値を用いてもよい。
【0056】
第1アームデータBは、m個、本実施形態では、6個のアームに、それぞれアームの長さおよび延在する方向のベクトル(相対位置ベクトル)を3次元座標で表した関節の情報である関節データが割り当てられた有効アームデータである。また、第1アームデータBは、制御点TCPにも割り当てられている。アームの延在する方向は、第1ロボット1の初期姿勢におけるアームの延在する方向である。ここで、「アームの長さ」は、当該アームを回転駆動する当該アームの基端側の関節に設定された原点と当該アームの先端との離間距離Lおよび前記原点と当該アームの基端との離間距離Lの差ΔL(=L-L)で示される。
【0057】
図4に示すように、基台に設定された原点と第1関節J1との相対位置ベクトルは、ベクトルbで表される。ベクトルbは、図6および図8に示すように、3次元座標(0,0,L)で表される。なお、Lは、正の整数である。
【0058】
図4に示すように、第1アーム12は、ベクトルbで表される。初期姿勢において第1アーム12の延在方向は、y軸方向に沿っているため、ベクトルbは、図6および図8に示すように、3次元座標(0,L,0)で表される。なお、Lは、第1アーム12の長さを表す正の整数である。
【0059】
図4に示すように、第2アーム13は、ベクトルbで表される。初期姿勢において第2アーム13の延在方向は、z軸方向に沿っているため、ベクトルbは、図6および図8に示すように、3次元座標(0,0,L)で表される。なお、Lは、第2アーム13の長さを表す正の整数である。
【0060】
図4に示すように、第3アーム14は、ベクトルbで表される。初期姿勢において第3アーム14の延在方向は、z軸方向に沿っているため、ベクトルbは、図6および図8に示すように、3次元座標(0,0,L)で表される。なお、Lは、第3アーム14の長さを表す正の整数である。
【0061】
図4に示すように、第4アーム15は、ベクトルbで表される。初期姿勢において第4アーム15の延在方向は、y軸方向に沿っているため、ベクトルbは、図6および図8に示すように、3次元座標(0,L,0)で表される。なお、Lは、第4アーム15の長さを表す正の整数である。
【0062】
図4に示すように、第5アーム16は、ベクトルbで表される。初期姿勢において第5アーム16の延在方向は、y軸方向に沿っているため、ベクトルbは、図6および図8に示すように、3次元座標(0,L,0)で表される。なお、Lは、第5アーム16の長さを表す正の整数である。
【0063】
図4に示すように、第6アーム17およびエンドエフェクター20は、ベクトルbtcpで表される。ベクトルbtcpは、第6関節アクチュエーター176から制御点TCPがどの方向にどの程度ずれているかを表すものであり、図6および図8に示すように、3次元座標(Ofs,Ofs,Ofs)で表される。Ofs、OfsおよびOfsは、上記ずれ量を示す整数である。
【0064】
このようなロボットモデルRM1がロボット監視装置3に入力された場合、ロボット監視装置3は、例えば、順運動学計算を用いて第1ロボット1の位置姿勢を導出し、監視することができる。
【0065】
次に、従来のロボットモデルRM2について説明する。
図7に示すロボットモデルRM2は、ベクトルで表されるロボットモデルであり、一例として、図3に示す第2ロボット2の機種を特定するための情報を含むデータである。ロボットモデルRM2は、第2関節データCと、第2アームデータEとを含む。
【0066】
第2関節データCは、n個、本実施形態では、4個の関節に、それぞれ関節の回転軸の方向のベクトルを3次元座標で表した関節の情報である関節データが割り当てられた有効関節データである。また、第2関節データCは、制御点TCPにも割り当てられている。回転軸の方向は、第2ロボット2の初期姿勢における回転軸の方向である。
【0067】
図5に示すように、第1関節J1(第1関節アクチュエーター27)は、ベクトルaで表される。初期姿勢において第1関節J1の回転軸は、z軸方向に沿っているため、図7に示すように、ベクトルaは、(0,0,1)で表される。
【0068】
図5に示すように、第2関節J2(第2関節アクチュエーター28)は、ベクトルaで表される。初期姿勢において第2関節J2の回転軸は、z軸方向に沿っているので、図7(および図8)に示すように、ベクトルaは、(0,0,1)で表される。
【0069】
図5に示すように、第3関節J3(第1駆動機構291)は、ベクトルaで表される。第3関節J3は、回転軸を有していないので、図7(および図8)に示すように、ベクトルaは、(0,0,0)、すなわち、ゼロベクトルで表される。
【0070】
図5に示すように、第4関節J4(第2駆動機構292)は、ベクトルaで表される。初期姿勢において第4関節J4の回転軸は、z軸方向に沿っているので、図7に示すように、ベクトルaは、(0,0,1)で表される。
【0071】
図5に示すように、制御点TCPは、ベクトルatcpで表される。ベクトルatcpは、回転軸を有していないので、図7(および図8)に示すように、(0,0,0)、すなわち、ゼロベクトルで表される。
【0072】
以上のように、第2関節データCのうち、回転軸を有している関節の関節データでは、3次元座標のX、Y、Zのいずれかの値として1を用いたが、これに限定されず、0と区別できるものであれば1以外の値を用いてもよい。
【0073】
第2アームデータEは、n個、本実施形態では、4個のアームに、それぞれアームの長さおよび延在する方向のベクトルを3次元座標で表した関節の情報である関節データが割り当てられた有効アームデータである。また、第2アームデータEは、制御点TCPにも割り当てられている。アームの延在する方向は、第2ロボット2の初期姿勢におけるアームの延在する方向である。
【0074】
図5に示すように、第1関節J1~第3関節J3までは2次元平面、すなわちX-Y平面と平行な平面で順運動学計算を行うため、第1関節J1に対応するベクトルbは、図7および図8に示すように、(0,0,0)、すなわち、ゼロベクトルで表される。
【0075】
図5に示すように、第1関節J1と第2関節J2との相対位置ベクトル、すなわち、第1アーム23の長さは、ベクトルbで表される。初期姿勢において第1アーム23の延在方向は、x軸方向に沿っているため、ベクトルbは、図7(および図8)に示すように、(l,0,0)で表される。なお、lは、第1アーム23の長さを表す正の整数である。
【0076】
図5に示すように、第2関節J2と第3関節J3との相対位置ベクトル、すなわち、第2アーム24の長さは、ベクトルbで表される。初期姿勢において第2アーム24の延在方向は、x軸方向に沿っているため、ベクトルbは、図7(および図8)に示すように、(l,0,0)で表される。なお、lは、第2アーム24の長さを表す正の整数である。
【0077】
図5に示すように、第3関節J3と第4関節J4との相対位置ベクトル、すなわち、作業ヘッド25の長さは、ベクトルbで表される。ベクトルbは、図7および図8に示すように、(0,0,0)、すなわち、ゼロベクトルで表される。
【0078】
図5に示すように、第2駆動機構292およびエンドエフェクターは、ベクトルbtcpで表される。ベクトルbtcpは、作業ヘッド25の先端から制御点TCPがどの方向にどの程度ずれているかを表すものであり、図7(および図8)に示すように、(Ofs,Ofs,Ofs)で表される。Ofs、OfsおよびOfsは、上記ずれ量を示す整数である。
【0079】
このようなロボットモデルRM2がロボット監視装置3に入力された場合、ロボット監視装置3は、監視対象が第2ロボット2であることを認識し、順運動学計算を用いて第2ロボット2の位置姿勢を導出し、監視することができる。
【0080】
上述のように、ロボットモデルRM1およびロボットモデルRM2は、DH記法ではなく、ベクトルで表されるロボットモデルで定義される。ベクトルで表されるロボットモデルは、ロボットの関節が完全に平行な隣接する関節の回転軸であった場合でも対応可能であり、また、関節毎に座標系の姿勢を回転させることなくロボットモデルを表すことが可能であるため、DH記法を用いたロボットモデルに比べて、より汎用性が高い。
【0081】
従来では、これから作業を行うロボットの機種等に対応して、それぞれ異なるベクトルで表されるロボットモデルを作成する必要があった。すなわち、例えば、第1ロボット1に対しては上記ロボットモデルRM1、第2ロボット2に対しては上記ロボットモデルRM2をそれぞれ作成する必要があった。
【0082】
ロボットモデルRM1を作成するには、図10に示すようなそれ専用のロボットモデルデータRMD1を用意し、当該ロボットモデルデータRMD1の空欄部分に各種データを割り当てる。一方、ロボットモデルRM2を作成するには、図11に示すようなそれ専用のロボットモデルデータRMD2を用意し、当該ロボットモデルデータRMD2の空欄部分に各種データを割り当てる。ロボットモデルデータRMD1は、7行×2列のテーブルで構成され、ロボットモデルデータRMD2は、5行×2列のテーブルで構成され、両者は、データの格納箇所の数、表のサイズ、表の形式またはフォーマット等の条件が異なっている。このように、従来では、異なる2つのロボットモデルデータRMD1およびRMD2を用意する必要があった。すなわち、1つのロボットモデルデータでは、第1ロボット1および第2ロボット2のような機種またはアームの数等が異なる複数種のロボットを兼用のロボットモデルを用いて監視することができない。本発明では、このような課題を以下のような方法により解決することができる。
【0083】
以下、本発明のロボット監視方法およびロボットモデル作成方法の一例について説明する。
【0084】
本発明のロボット監視方法は、第1ロボット1および第2ロボット2に兼用のロボットモデルデータRMDを用いて図8に示すようなロボットモデルRMを作成する第1工程(ロボットモデル作成方法)と、第1工程で作成されたロボットモデルRMに基づいてロボットの監視を行う第2工程と、を有する。
【0085】
第1工程は、ステップS101と、ステップS102と、ステップS103とを有する。
【0086】
まず、ステップS101において、監視対象が6軸ロボットであるか否かを判断する。すなわち、監視対象が第1ロボット1であるか否かを判断する。本ステップにおける判断は、ロボット制御装置9Aまたはロボット制御装置9Bが行う。また、本ステップにおける判断は、作業者が例えば教示装置等の入力装置を用いて入力した情報等に基づいてなされる。
【0087】
ただし、この構成に限定されず、ステップS101における判断は、ロボット制御装置9Aまたはロボット制御装置9Bと通信可能な外部機器、例えば、教示装置等が行う構成であってもよい。
【0088】
ステップS101において、監視対象が6軸ロボット(正確には、垂直多関節6軸ロボット)であると判断した場合には、ステップS102に移行し、監視対象が6軸ロボットではない、すなわちスカラロボット(正確には、水平多関節4軸ロボット)であると判断した場合には、ステップS103に移行する。
【0089】
ステップS102では、6軸ロボットのロボットモデルを作成する、すなわち、第1ロボット1のロボットモデルRMを作成する。ステップS103では、スカラロボットのロボットモデルを作成する、すなわち、第2ロボット2のロボットモデルRMを作成する。
【0090】
本発明では、ステップS102、103いずれの場合でも、図9に示すような1種類のロボットモデルデータRMDを用いて作成する。すなわち、ロボットモデルデータRMDは、第1ロボット1および第2ロボット2のそれぞれに対し兼用である。ロボットモデルデータRMDは、一例として、7行×4列のテーブルで構成される。
【0091】
ステップS102では、図8に示すように、ロボットモデルデータRMDの「(6軸)関節軸ベクトル」の列のJ1~J6およびTCPに対応する各行に第1関節データAを割り当て、「(6軸)相対位置ベクトル」の列のJ1~J6およびTCPに対応する各行に第1アームデータBを割り当てる。第1関節データAおよび第1アームデータBに関しては、前述した通りである。なお、「(スカラ)関節軸ベクトル」および「(スカラ)相対位置ベクトル」の列には、データを割り当てない。すなわち、図8に示す表では、これらの列は、ダミーデータとしてのゼロベクトルが割り当てられる。
【0092】
一方、ステップS103では、図8に示すように、ロボットモデルデータRMDの「(スカラ)関節軸ベクトル」の列のJ1~J4およびTCPに対応する各行に第2関節データCを割り当てるとともに、「(スカラ)関節軸ベクトル」の列のJ5およびJ6に対応する各行にダミー関節データとしての第2関節データDを割り当て、「(スカラ)相対位置ベクトル」の列のJ1~J4およびTCPに対応する各行に第2アームデータEを割り当てるとともに、「(スカラ)相対位置ベクトル」の列のJ5およびJ6に対応する各行にダミーアームデータとしての第2アームデータFを割り当てる。なお、「(6軸)関節軸ベクトル」および「(6軸)相対位置ベクトル」の列には、データを割り当てない。すなわち、図8に示す表では、これらの列は、ダミーデータとしてのゼロベクトルが割り当てられる。
【0093】
第2関節データCは、前述したように、J1~J4およびTCPに対応する各行に、3次元ベクトルとして割り当てられる。
【0094】
第2関節データDは、m-nの全ての行、すなわち、第1ロボット1に存在しかつ第2ロボット2に存在しないn+1番目の関節およびn+2(=m)番目の関節の回転軸方向のベクトルを3次元座標で表したものである。具体的には、第2関節データDは、「(スカラ)関節軸ベクトル」の列の「J5」に対応する行に、ベクトルaとして割り当てられ、「(スカラ)関節軸ベクトル」の列の「J6」に対応する行に、ベクトルaとして割り当てられる。ベクトルaおよびベクトルaは、実際には存在しないため、3次元座標(0,0,0)、すなわちゼロベクトルで表される。
【0095】
第2アームデータEは、前述したように、J1~J4およびTCPに対応する行に、3次元ベクトルとして割り当てられる。
【0096】
第2アームデータFは、m-nの全ての行、すなわち、第1ロボット1に存在しかつ第2ロボット2に存在しないn+1番目のアームおよびn+2(=m)番目のアームの長さ並びに延在方向のベクトルを3次元座標で表したものである。具体的には、第2アームデータFは、「(スカラ)関節軸ベクトル」の列の「J5」に対応する行に、ベクトルbとして割り当てられ、「(スカラ)関節軸ベクトル」の列の「J6」に対応する行に、ベクトルbとして割り当てられる。ベクトルbおよびベクトルbは、実際には存在しないため、3次元座標(0,0,0)すなわちゼロベクトルで表される。
【0097】
このように、関節およびアームの数が多い方の第1ロボット1を想定したロボットモデルデータRMDを用意し、関節およびアームの数が少ない第2ロボット2を監視する場合には、実際に存在しないアームおよび関節に対しダミーデータ(第2関節データDおよび第2アームデータF)としてゼロベクトルを割り振ることにより、1つの共通のロボットモデルRMを作成する。これにより、第1ロボット1はもちろんのこと、第2ロボット2の監視にも対応することができる。特に、1つのロボットモデルデータRMDで第1ロボット1と第2ロボット2とに対応することができるため、汎用性に優れる。
【0098】
上記では、mを6とし、nを4として説明したが、n<mを満足していれば、これに限定されず、m、nは、正の整数であればいかなる数であってもよい。
【0099】
また、上記では、ロボットモデルデータRMDに、第1関節データAおよび第1アームデータBを割り当てる場合(ステップS102)と、第2関節データC、第2関節データD、第2アームデータEおよび第2アームデータFを割り当てる場合(ステップS103)とを分けて説明したが、本発明ではこれに限定されず、図8に示すように、ロボットモデルデータRMDに、第1関節データA、第1アームデータB、第2関節データC、第2関節データD、第2アームデータEおよび第2アームデータFの全てを割り当てたロボットモデルRMを作成してもよい。これにより、ステップS101における判断を省略することができる。さらに、このようなロボットモデルRMを一旦作成し、記憶部32に記憶しておけば、次回からは、ステップS101~ステップS103を省略することができ、第1ロボット1および第2ロボット2の監視をより迅速に開始することができる。
【0100】
ステップS102またはステップS103の後、ステップS104の前工程として、監視対象である第1ロボット1または第2ロボット2をXYZ座標上の基準位置に配置するとともに定められた所定の方向に向けて設置する。次いで、監視対象である第1ロボット1または第2ロボット2を所定の動作プログラムに従って作動させるとともに、ステップS104において、当該作動状態の第1ロボット1または第2ロボット2の監視を行う。ステップS104では、例えば作成したロボットモデルRMを用いて第1ロボット1、または、第2ロボット2の監視を行う。本ステップは、ロボット監視装置3の監視部31が行う。
【0101】
以上説明したように、ロボット監視方法は、m(mは、2以上の整数)個のアームおよび該アームに対応するm個の関節を有する第1ロボットアーム10を備える第1ロボット1と、n(nは、整数かつn<m)個のアームおよび該アームに対応するn個の関節を有する第2ロボットアーム22を備える第2ロボット2と、に兼用のロボットモデルデータRMDを用いてロボットモデルRMを作成する第1工程と、第1工程で作成されたロボットモデルRMに基づいて第1ロボット1または第2ロボット2の監視を行う第2工程と、を有する。また、第1工程では、監視対象が第1ロボット1である場合、ロボットモデルデータRMDに、第1ロボット1の関節データとして、m個の関節に、それぞれ関節の回転軸の方向のベクトルを3次元座標で表したm個の第1関節データAを割り当て、ロボット1のアームデータとして、m個のアームに、それぞれアームの長さおよび方向を3次元座標で表した第1アームデータBを割り当て、監視対象が第2ロボット2である場合、ロボットモデルデータRMDに、第2ロボット2の関節データとして、n個の関節に、それぞれ関節の回転軸の方向のベクトルを3次元座標で表したn個の第2関節データCを割り当てるとともに、m-n個のゼロベクトルで表される第2関節データDを割り当て、第2ロボット2のアームデータとして、n個のアームに、それぞれアームの長さおよび方向を3次元座標で表したn個の第2アームデータEを割り当てるとともに、m-n個のゼロベクトルで表される第2アームデータFを割り当てる。これにより、第1ロボット1はもちろんのこと、第2ロボット2の監視にも対応することができる。特に、1つのロボットモデルデータRMDで第1ロボット1と第2ロボット2の双方に対応することができるため、汎用性に優れる。
【0102】
なお、上記では、監視対象として、2台のロボットを想定した場合について説明したが、本発明ではこれに限定されず、3台以上のロボットを監視対象としてもよい。この場合、ロボットモデルデータは、例えば、1台のロボットにつき、関節データおよびアームデータの2つの列を有する。また、ロボットモデルデータは、アームおよび関節の数が最も多いロボットに合わせて、少なくともアームおよび関節の数に対応する行を有する。
【0103】
また、第1ロボット1は、垂直多関節6軸ロボットであり、第2ロボット2は、水平多関節4軸ロボットであり、第1工程では、第2ロボット2のアームデータとして、実在する4個のアームおよび関節に、それぞれ第2関節データCおよび第2アームデータEを割り当てるとともに、実在しないアームおよび関節に、それぞれ第2関節データDおよび第2アームデータFを割り当てる。このように、第1ロボット1および第2ロボット2の組み合わせとして、比較的広く普及している垂直多関節6軸ロボットおよび水平多関節4軸ロボットを適用することにより、本発明をより有効に活用することができる。
【0104】
また、ロボット監視装置3は、m(mは、2以上の整数)個のアームおよび該アームに対応するm個の関節を有する第1ロボットアーム10を備える第1ロボット1と、n(nは、整数かつn<m)個のアームおよび該アームに対応するn個の関節を有する第2ロボットアーム22を備える第2ロボット2と、に兼用のロボットモデルデータRMDを用いて作成されたロボットモデルRMを取得する取得部としての通信部33と、通信部33が取得したロボットモデルRMに基づいて第1ロボット1または第2ロボット2の監視を行う監視部31と、を備える。また、ロボットモデルRMは、監視対象が第1ロボット1である場合、ロボットモデルデータRMDに、第1ロボット1の関節データとして、m個の関節に、それぞれ関節の回転軸の方向のベクトルを3次元座標で表したm個の第1関節データAが割り当てられ、第1ロボット1のアームデータとして、m個のアームに、それぞれアームの長さおよび方向を3次元座標で表した第1アームデータBが割り当てられており、監視対象が第2ロボット2である場合、ロボットモデルデータRMDに、ロボット2の関節データとして、n個の関節に、それぞれ関節の回転軸の方向のベクトルを3次元座標で表したn個の第2関節データCが割り当てられるとともに、m-n個のゼロベクトルで表される第2関節データDが割り当てられ、第2ロボット2のアームデータとして、n個のアームに、それぞれアームの長さおよび方向を3次元座標で表したn個の第2アームデータEが割り当てられるとともに、m-n個のゼロベクトルで表される第2アームデータFが割り当てられている。これにより、第1ロボット1はもちろんのこと、第2ロボット2の監視にも対応することができる。特に、1つのロボットモデルデータRMDで第1ロボット1と第2ロボット2の双方に対応することができるため、汎用性に優れる。
【0105】
また、ロボット監視方法は、m(mは、2以上の整数)個のアームおよび該アームに対応するm個の関節を有する第1ロボットアーム10を備える第1ロボット1と、n(nは、整数かつn<m)個のアームおよび該アームに対応するn個の関節を有する第2ロボットアーム22を備える第2ロボット2と、に兼用のロボットモデルデータRMDを用いてロボットモデルRMを作成する第1工程を有する。また、第1工程では、監視対象が第1ロボット1である場合、ロボットモデルデータRMDに、第1ロボット1の関節データとして、m個の関節に、それぞれ関節の回転軸の方向のベクトルを3次元座標で表したm個の第1関節データAを割り当て、第1ロボット1のアームデータとして、m個のアームに、それぞれアームの長さおよび方向を3次元座標で表した第1アームデータBを割り当て、監視対象が第2ロボット2である場合、ロボットモデルデータRMDに、第2ロボット2の関節データとして、n個の関節に、それぞれ関節の回転軸の方向のベクトルを3次元座標で表したn個の第2関節データCを割り当てるとともに、m-n個のゼロベクトルで表される第2関節データDを割り当て、第2ロボット2のアームデータとして、n個のアームに、それぞれアームの長さおよび方向を3次元座標で表したn個の第2アームデータEを割り当てるとともに、m-n個のゼロベクトルで表される第2アームデータFを割り当てる。これにより、第1ロボット1はもちろんのこと、第2ロボット2の監視にも対応することができる。特に、1つのロボットモデルデータRMDで第1ロボット1と第2ロボット2の双方に対応することができるため、汎用性に優れる。
【0106】
なお、上記では、第1工程で作成したロボットモデルデータRMDを監視に用いる場合について説明したが、本発明ではこれに限定されず、例えば、第1工程で作成したロボットモデルデータRMDをその他の用途、例えば、シミュレーション等に用いてもよい。
【0107】
以上、本発明を図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではなく、第1ロボット1、第2ロボット2、ロボット監視装置3、ロボットシステム100等における各部の構成は、同様の機能を有する任意の構成のものに置換することができ、また、他の任意の構成物が付加されていてもよい。
【符号の説明】
【0108】
1…第1ロボット、2…第2ロボット、3…ロボット監視装置、4…ネットワーク、9A…ロボット制御装置、9B…ロボット制御装置、10…第1ロボットアーム、11…基台、12…第1アーム、13…第2アーム、14…第3アーム、15…第4アーム、16…第5アーム、17…第6アーム、20…エンドエフェクター、21…基台、22…第2ロボットアーム、23…第1アーム、24…第2アーム、25…作業ヘッド、26…エンドエフェクター、27…第1関節アクチュエーター、28…第2関節アクチュエーター、31…監視部、32…記憶部、33…通信部、100…ロボットシステム、171…第1関節アクチュエーター、172…第2関節アクチュエーター、173…第3関節アクチュエーター、174…第4関節アクチュエーター、175…第5関節アクチュエーター、176…第6関節アクチュエーター、251…スプラインナット、252…ボールネジナット、253…スプラインシャフト、291…第1駆動機構、292…第2駆動機構、A…第1関節データ、B…第1アームデータ、C…第2関節データ、D…第2関節データ、E…第2アームデータ、F…第2アームデータ、J1…第1関節、J2…第2関節、J3…第3関節、J4…第4関節、J5…第5関節、J6…第6関節、O1…第1回転軸、O2…第2回転軸、O3…第3回転軸、RM…ロボットモデル、RM1…ロボットモデル、RM2…ロボットモデル、RMD…ロボットモデルデータ、RMD1…ロボットモデルデータ、RMD2…ロボットモデルデータ、TCP…制御点
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12