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

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

▶ 株式会社不二越の特許一覧

<>
  • 特許-ロボットの教示システム及び教示方法 図1
  • 特許-ロボットの教示システム及び教示方法 図2
  • 特許-ロボットの教示システム及び教示方法 図3
  • 特許-ロボットの教示システム及び教示方法 図4
  • 特許-ロボットの教示システム及び教示方法 図5
  • 特許-ロボットの教示システム及び教示方法 図6
  • 特許-ロボットの教示システム及び教示方法 図7
  • 特許-ロボットの教示システム及び教示方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-01-16
(45)【発行日】2024-01-24
(54)【発明の名称】ロボットの教示システム及び教示方法
(51)【国際特許分類】
   B25J 9/10 20060101AFI20240117BHJP
【FI】
B25J9/10 A
【請求項の数】 4
(21)【出願番号】P 2023170432
(22)【出願日】2023-09-29
【審査請求日】2023-10-19
【早期審査対象出願】
(73)【特許権者】
【識別番号】000005197
【氏名又は名称】株式会社不二越
(74)【代理人】
【識別番号】100176072
【弁理士】
【氏名又は名称】小林 功
(74)【代理人】
【識別番号】100169225
【弁理士】
【氏名又は名称】山野 明
(72)【発明者】
【氏名】村上 弘樹
【審査官】杉山 悟史
(56)【参考文献】
【文献】特開昭60-160410(JP,A)
【文献】特開平09-193066(JP,A)
【文献】特開2015-098076(JP,A)
【文献】特開2005-066771(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
(57)【特許請求の範囲】
【請求項1】
ロボットと、
前記ロボットの教示地点を指定する教示操作を受け付ける教示端末と、
機械座標空間を示す三次元座標系に基づいて前記ロボットの動作制御を行うとともに、前記教示端末からの前記教示操作を受け付ける制御装置と、
を備え、
前記制御装置は
前記ロボットの動作経路の内、第一経路上の少なくとも一つの第一地点からなる第一地点群と、前記動作経路の内、前記第一経路とは異なる第二経路上の少なくとも一つの第二地点からなる第二地点群とを指定する前記教示操作を受け付けた場合、前記第一地点群及び前記第二地点群を前記教示地点として設定するとともに、前記動作経路の内、前記第一経路と前記第二経路との間にある第三経路上の少なくとも一つの第三地点からなる第三地点群を前記教示地点として設定するデータ処理を行うデータ処理部と、
前記機械座標空間上における前記ロボットの位置・姿勢の状態を示す複数の状態量を取得する取得部と、
を備え
前記複数の状態量は、前記第一地点に対応する第一状態量の集合体である第一状態量セット、及び、前記第二地点に対応する第二状態量の集合体である第二状態量セットを含み、
前記データ処理は、前記取得部により取得された前記第一状態量セット及び前記第二状態量セットを用いて補間演算又は近似演算を施し、前記第三地点に対応する第三状態量の集合体である第三状態量セットを算出する算出処理を含むことを特徴とする、ロボットの教示システム。
【請求項2】
前記第二地点の数は、前記第一地点の数に等しく、
前記補間演算又は前記近似演算は、各地点の配列順に対応する前記第一状態量及び前記第二状態量の組を用いて行われる、ことを特徴とする請求項に記載の、ロボットの教示システム。
【請求項3】
前記データ処理は、一次元又は二次元に区画される複数の区画領域の相対的位置関係を示すレイアウト情報を用いて、前記ロボットが前記区画領域にアクセスするための前記第三経路をそれぞれ特定し、前記第三経路を前記区画領域の識別情報と対応付ける対応付け処理をさらに含む、ことを特徴とする請求項に記載の、ロボットの教示システム。
【請求項4】
ロボットと、前記ロボットの教示地点を指定する教示操作を受け付ける教示端末と、機械座標空間を示す三次元座標系に基づいて前記ロボットの動作制御を行うとともに、前記教示端末からの前記教示操作を受け付ける制御装置と、を備えるシステムを用いた、ロボットの教示方法であって、
前記ロボットの動作経路の内、第一経路上の少なくとも一つの第一地点からなる第一地点群と、前記動作経路の内、前記第一経路とは異なる第二経路上の少なくとも一つの第二地点からなる第二地点群とを指定する前記教示操作を受け付けるステップと、
記第一地点群及び前記第二地点群を前記教示地点として設定するとともに、前記動作経路の内、前記第一経路と前記第二経路との間にある第三経路上の少なくとも一つの第三地点からなる第三地点群を前記教示地点として設定するデータ処理を行うステップと、
前記機械座標空間上における前記ロボットの位置・姿勢の状態を示す複数の状態量を取得するステップと、
を前記制御装置が実行し、
前記複数の状態量は、前記第一地点に対応する第一状態量の集合体である第一状態量セット、及び、前記第二地点に対応する第二状態量の集合体である第二状態量セットを含み、
前記データ処理は、取得された前記第一状態量セット及び前記第二状態量セットを用いて補間演算又は近似演算を施し、前記第三地点に対応する第三状態量の集合体である第三状態量セットを算出する算出処理を含むことを特徴とする、ロボットの教示方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットに教示を行うための教示システム及び教示方法に関する。
【背景技術】
【0002】
産業用ロボットの技術分野において、ロボットに所望の動作を行わせるべく、ロボットに対してロボットの位置・姿勢を教示するティーチング(あるいは、教示作業)が行われる。この教示作業は、例えば、複数の基板を収納可能なカセットに基板を搬入し、あるいは基板をカセットから搬出する「搬送作業」にも適用することができる。
【0003】
特許文献1には、カセットへの進入位置及び基板の吸着位置に対してシフト演算を行うことにより、ロボットの動作制御を行う制御装置が開示されている。ここで、「シフト演算」とは、カセット内に設けられる最下段のラックの位置を基準点とし、当該基準点からの段差を考慮した演算であると解される。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2005-066771号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、ロボットは、装置固有に定義される三次元座標系、すなわち機械座標空間上での制御下において動作する。したがって、特許文献1に開示される「シフト演算」は、カセットが配置される実空間と上記した機械座標空間との相対的位置関係が既知である場合に限り、一意に特定することができる。
【0006】
特に、上記した搬送作業において、非常に狭いラック間の隙間に対して基板の挿入及び搬出を行うことが多いため、ツールの位置・姿勢を高精度に制御する必要がある。上記したシフト演算を用いて搬送動作を行う場合、カセットの座標空間系とロボットの機械座標系との間の変換行列を高精度で定義する必要がある。また、変換行列が高精度に定義できたとしても、ロボットの機体差に起因する誤差、あるいは、減速機又はアームのたわみに起因する誤差が生じるため、教示の精度が低下する場合がある。
【0007】
これに対して、ラックの段毎に教示作業を行うことにより教示の精度を高めることができるが、教示点数が増加すればその分だけ教示作業に要する工数が増加するという問題があった。
【0008】
本発明はこのような問題に鑑みてなされたものであり、その目的は、複数の教示地点を設定する際に、教示作業に要する工数を削減しつつも教示精度の低下を抑制可能な、ロボットの教示システム及び教示方法を提供することにある。
【課題を解決するための手段】
【0009】
本発明の第一態様におけるロボットの教示システムは、ロボットと、前記ロボットの教示地点を指定する教示操作を受け付ける教示端末と、機械座標空間を示す三次元座標系に基づいて前記ロボットの動作制御を行うとともに、前記教示端末からの前記教示操作を受け付ける制御装置と、を備え、前記制御装置は、前記ロボットの動作経路の内、第一経路上の少なくとも一つの第一地点からなる第一地点群と、前記動作経路の内、前記第一経路とは異なる第二経路上の少なくとも一つの第二地点からなる第二地点群とを指定する前記教示操作を受け付けた場合、前記第一地点群及び前記第二地点群を前記教示地点として設定するとともに、前記動作経路の内、前記第一経路と前記第二経路との間にある第三経路上の少なくとも一つの第三地点からなる第三地点群を前記教示地点として設定するデータ処理を行うデータ処理部を備える。
【0010】
本発明の第二態様におけるロボットの教示システムでは、前記制御装置は、前記機械座標空間上における前記ロボットの位置・姿勢の状態を示す複数の状態量を取得する取得部をさらに備え、前記複数の状態量は、前記第一地点に対応する第一状態量の集合体である第一状態量セット、及び、前記第二地点に対応する第二状態量の集合体である第二状態量セットを含み、前記データ処理は、前記取得部により取得された前記第一状態量セット及び前記第二状態量セットを用いて補間演算又は近似演算を施し、前記第三地点に対応する第三状態量の集合体である第三状態量セットを算出する算出処理を含む。
【0011】
本発明の第三態様におけるロボットの教示システムでは、前記第二地点の数は、前記第一地点の数に等しく、前記補間演算又は前記近似演算は、各地点の配列順に対応する前記第一状態量及び前記第二状態量の組を用いて行われる。
【0012】
本発明の第四態様におけるロボットの教示システムでは、前記データ処理は、一次元又は二次元に区画される複数の区画領域の相対的位置関係を示すレイアウト情報を用いて、前記ロボットが前記区画領域にアクセスするための前記第三経路をそれぞれ特定し、前記第三経路を前記区画領域の識別情報と対応付ける対応付け処理を含む。
【0013】
本発明の第五態様におけるロボットの教示システムでは、前記教示端末は、前記教示操作を受け付ける前又は受け付けている途中に、前記第一地点群及び前記第二地点群における前記教示地点の指定順番を案内するガイダンス情報を出力する。
【0014】
本発明の第六態様におけるロボットの教示システムでは、前記制御装置は、前記第一地点同士の位置関係、前記第二地点同士の位置関係、又は前記第一地点と前記第二地点との間の位置関係を判定する判定部をさらに備え、前記教示端末は、前記判定部による判定結果に応じて異なる報知情報を出力する。
【0015】
本発明の第七態様におけるロボットの教示方法は、ロボットと、前記ロボットの教示地点を指定する教示操作を受け付ける教示端末と、機械座標空間を示す三次元座標系に基づいて前記ロボットの動作制御を行うとともに、前記教示端末からの前記教示操作を受け付ける制御装置と、を備えるシステムを用いた方法であって、前記ロボットの動作経路の内、第一経路上の少なくとも一つの第一地点からなる第一地点群と、前記動作経路の内、前記第一経路とは異なる第二経路上の少なくとも一つの第二地点からなる第二地点群とを指定する前記教示操作を受け付けるステップと、前記制御装置が、前記第一地点群及び前記第二地点群を前記教示地点として設定するとともに、前記動作経路の内、前記第一経路と前記第二経路の間にある第三経路上の少なくとも一つの第三地点からなる第三地点群を前記教示地点として設定するデータ処理を行う処理ステップと、を前記制御装置が実行する。
【発明の効果】
【0016】
本発明によれば、複数の教示地点を設定する際に、教示作業に要する工数を削減しつつも教示精度の低下を抑制することができる。
【図面の簡単な説明】
【0017】
図1】本発明の一実施形態におけるロボットの教示システムの全体の構成を示す図である。
図2図1に示す教示システムに関するブロック図である。
図3図1及び図2の教示システムを用いた教示方法の一例を示すフローチャートである。
図4図1のティーチペンダントに表示される教示画面の一例を示す図である。
図5図3の設定工程(ステップSP16)に関する詳細フローチャートである。
図6図1のロボットの機械座標空間上における教示地点の位置関係を模式的に示す図である。
図7図5の教示地点の設定結果を模式的に示す図である。
図8】この実施形態における教示方法による効果を模式的に示す図である。
【発明を実施するための形態】
【0018】
以下、添付図面を参照しながら本発明の実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。
【0019】
[教示システム10の構成]
<全体構成>
図1は、本発明の一実施形態におけるロボットの教示システム(以下、単に「教示システム10」という)の全体の構成を示す図である。教示システム10は、ロボット12に位置・姿勢又は動きを教示する「教示作業」(あるいは、ティーチング作業)を行うために設けられる。この教示システム10は、具体的には、ロボット12と、制御装置14と、ティーチペンダント16(「教示端末」に相当)と、を含んで構成される。ロボット12及びティーチペンダント16はそれぞれ、制御装置14に接続されている。
【0020】
ロボット12は、ディスプレイパネルの生産に用いられる基板18を搬入又は搬出するものである。図1の例では、ロボット12は、アーム部20を有する垂直関節型ロボットから構成される。アーム部20の関節軸50(図2)に、サーボ制御を通じて回転駆動を行うサーボモータ52(図2)が接続されている。ロボット12は、制御装置14による指令に応じて、複数の関節軸50を独立して駆動することで、基板18の移動、搬送を含む様々な作業を行うことができる。
【0021】
アーム部20の先端には、基板18の搬入出を行うためのツール22が装着されている。このツール22は、具体的には、基板18を保持する板状の保持装置である。なお、ロボット12のアーム部20又はツール22に、ロボット12の位置・姿勢の状態を特定するための基準点TCP(いわゆる、ツールセンターポイント)が設定されている。図1の例では、基準点TCPは、ツール22の先端側中央の位置に対応する。
【0022】
ロボット12の動作範囲内に、作業台24が設けられている。図1の例では、作業台24がなす平面をX-Y平面と定義するとともに、作業台24の法線方向をZ軸と定義している。この場合、実空間は、XYZを三軸とする三次元直交座標系で表現される。
【0023】
作業台24の上に、複数枚の基板18を上下方向(つまり、Z軸方向)に積み重ねて収納可能なカセット26が載置されている。カセット26の内側に、奥行き方向(例えば、Y軸方向)に延びて、かつZ軸方向に略等間隔になるように複数のラック28が設けられている。複数のラック28により区画される複数の収納領域(以下、「区画領域30」という)に、基板18を一枚ずつ差し込むことにより、複数枚の基板18を互いに離間した状態で収納することができる。
【0024】
制御装置14は、ロボット12の動作制御を司るコンピュータである。この制御装置14は、具体的には、コネクタ32と、通信I/F34と、プロセッサ36と、メモリ38と、を備える。各構成要素の個数は、図1の例では一つであるが、二つ以上であってもよい。
【0025】
コネクタ32は、電力ケーブル又は通信ケーブル(いずれも不図示)を介して、ロボット12と電気的に接続するための端子である。これにより、制御装置14は、ロボット12に向けて電力や制御信号を供給するとともに、ロボット12に設けられる各種センサからの測定信号を取得する。
【0026】
通信I/F34は、外部装置との間で通信を行うためのインターフェースである。これにより、制御装置14は、例えば、ティーチペンダント16を含む作業端末、又は上位装置(不図示)との間でデータのやり取りを行うことができる。
【0027】
プロセッサ36は、CPU(Central Processing Unit)を含む汎用プロセッサであってもよいし、FPGA(Field Programmable Gate Array)やGPU(Graphics Processing Unit)を含む専用プロセッサであってもよい。メモリ38は、非一過性の記憶媒体であり、プロセッサ36が各構成要素を制御するのに必要なプログラム及びデータを記憶する。
【0028】
ティーチペンダント16は、ロボット12の教示作業に用いられる端末であり、ヒューマン・マシン・インターフェース(以下、「HMI40」という)を有する。HMI40は、教示地点を指示するための操作部42と、教示操作に関する様々な情報を出力する情報出力部44として機能する。操作部42は、例えば、機械スイッチ、タッチセンサ、又は音声センサを含む入力デバイスから構成される。情報出力部44は、例えば、表示パネル、スピーカ、又はランプを含む出力デバイスから構成される。
【0029】
ここでは、作業者が、ティーチペンダント16を操作装置として用いて、ロボット12を移動させながら教示作業を行う場合を想定している。教示作業は、具体的には、[1]所望の地点にロボット12を誘導する作業、及び[2]所望の地点にて教示地点を指定する操作を繰り返して行われる。実際の教示データとして、機械座標空間上でのロボット12(より詳しくは、基準点TCP)の位置・姿勢の状態を示す状態量が取得される。この状態量は、例えば、[1]機械座標空間をなすU軸における座標値(U)、[2]機械座標空間をなすV軸における座標値(V)、[3]機械座標空間をなすW軸における座標値(W)、[4]U軸回りのロール角(r)、[5]V軸回りのピッチ角(p)、及び[6]W軸回りのヨー角(y)の状態値を組み合わせてなる。
【0030】
<ブロック図>
図2は、図1に示す教示システム10に関するブロック図である。ロボット12は、関節軸50と、サーボモータ52と、位置センサ54と、を備える。制御装置14は、サーボモータ52を駆動制御するためのサーボ制御部60を備える。図示の便宜上、一組の構成要素のみを記載しているが、実際には、複数組(図1の例では、六組)が設けられている。
【0031】
サーボモータ52は、関節軸50を回転させる回転アクチュエータである。位置センサ54(あるいは、エンコーダ)は、サーボモータ52の角度位置を示す検出信号(以下、「位置信号」という)を出力する。サーボ制御部60は、位置センサ54からの位置信号に基づいて、サーボモータ52の駆動制御を行う。駆動制御には、例えば、サーボモータ52に流れる電流を制御量とするPWM(Pulse Width Modulation)が用いられる。
【0032】
制御装置14は、上記したサーボ制御部60の他に、状態演算部62と、操作受付部64と、教示処理部66と、データ記憶部68と、プログラム実行部70と、をさらに備える。
【0033】
状態演算部62は、サーボモータ52の位置情報及び動力学パラメータを用いて、ロボット12の基準点TCPにおける位置・姿勢の状態を示す状態量を算出する。この状態量は、上記した通り、U座標値、V座標値、W座標値、ロール角r、ピッチ角p、及びヨー角yの組み合わせからなるベクトル量(U,V,W,r,p,y)から構成される。以下、同一の経路上にある複数の地点に対応する状態量の集合体を「状態量セット」という場合がある。
【0034】
操作受付部64は、ティーチペンダント16からの教示操作を受け付ける。この教示操作には、ロボット12が動作する経路(以下、「動作経路」ともいう)上の一つ又は二以上の地点(以下、地点群ともいう)を指定する操作が含まれる。例えば、[1]第一経路上の少なくとも一つの第一地点からなる第一地点群、及び[2]第二経路上の少なくとも一つの第二地点からなる第一地点群がそれぞれ指定される。なお、第二地点の数は、第一地点の数と同じであってもよいし、第一地点の数と異なっていてもよい。
【0035】
また、操作受付部64は、ティーチペンダント16からの教示操作を受け付けたことを契機として、教示処理部66による教示処理に必要な情報を取得する。この「必要な情報」の一例として、[1]状態量を取得するタイミングを特定するタイミング情報、又は[2]カセット26のレイアウトに関する情報(以下、「レイアウト情報」という)が挙げられる。
【0036】
教示処理部66は、ロボット12の教示に関する情報処理(つまり、教示処理)を行う。教示処理部66は、具体的には、取得部72と、判定部74と、データ処理部76と、報知指示部78と、を含んで構成される。
【0037】
取得部72は、状態演算部62から、機械座標空間上におけるロボット12の位置・姿勢の状態を示す複数の状態量を取得する。複数の状態量は、[1]第一地点に対応する第一状態量の集合体(以下、「第一状態量セット」という)、及び[2]第二地点に対応する第二状態量の集合体(以下、「第二状態量セット」という)を含む。
【0038】
また、取得部72は、操作受付部64から、カセット26のレイアウトに関する情報(つまり、レイアウト情報)を取得する。レイアウト情報は、一次元又は二次元に区画される複数の区画領域30の相対的位置関係を示す情報を含む。レイアウト情報の一例として、ラック28の段数、ラック28の段毎の教示点数、教示作業を行うラック28の識別情報(例えば、最上段及び最下段)が挙げられる。
【0039】
判定部74は、取得部72により取得された第一状態量セット又は第二状態量セットを用いて、第一地点同士の位置関係、第二地点同士の位置関係、又は第一地点と第二地点の間の位置関係が妥当であるか否かについて判定処理を行う。「位置関係の妥当性」とは、例えば、[1]教示点数の過不足がないこと、[2]教示地点の位置ずれが許容範囲内であること、又は[3]指定された順番通りに教示が行われていること、が挙げられる。
【0040】
データ処理部76は、操作受付部64が第一地点群及び第二地点群を指定する教示操作を受け付けたことを契機として、データ処理部76は、教示地点を一括設定するためのデータ処理を行う。ここで、「設定」とは、作業プログラムを実行する際に、教示地点に対応する状態量を利用可能な状態にすることを意味する。また、「一括設定」とは、第一地点群及び第二地点群と併せて第三地点群を、教示地点として纏めて設定することを意味する。なお、「第三地点群」は、第一経路と第二経路の間にある第三経路上の一つ又は二つ以上の第三地点に相当する。第三経路の数は、一つであってもよいし、二つ以上あってもよい。
【0041】
データ処理部76が実行するデータ処理は、例えば、[1]状態量の算出処理、[2]状態量の補正処理、[3]区画領域30との対応付け処理、又は[4]教示データの生成処理を含む。
【0042】
「算出処理」は、取得部72により取得された第一状態量セット及び第二状態量セットを用いて補間演算又は近似演算を施し、第三地点に対応する第三状態量の集合体(以下、「第三状態量セット」という)を算出するための情報処理である。補間演算又は近似演算は、m個(mは自然数)の第一状態量及びn個(nは自然数)の第二状態量を組み合わせて行われる。第二地点の数が第一地点の数に等しい場合(m=n)、補間演算又は近似演算は、各地点の配列順に対応する第一状態量及び第二状態量の組を用いて行われてもよい。補間演算の手法の一例として、リニア補間、スプライン補間、又はラグランジュ補間が挙げられる。近似演算の手法の一例として、B-スプライン曲線、回帰直線、又は回帰曲線が挙げられる。
【0043】
「補正処理」は、取得部72により取得された第一状態量セットと第二状態量セットとのうち、少なくとも一つの状態量を補正するための情報処理である。補正処理は、第一地点同士の位置関係、第二地点同士の位置関係、又は第一地点と第二地点の間の位置関係が理想状態に近づくように行われる。この「理想状態」とは、例えば、複数の地点から回帰直線又は回帰平面を求め、得られた回帰直線又は回帰平面からの距離が許容範囲内にあることを意味する。
【0044】
「対応付け処理」は、カセット26のレイアウト情報を用いて、ロボット12が区画領域30にアクセスするための第三経路をそれぞれ特定し、第三経路を区画領域30の識別情報と対応付けるための情報処理である。識別情報の一例として、ラック28の位置を識別するためのラックIDが挙げられる。
【0045】
報知指示部78は、教示処理部66による処理結果の報知をティーチペンダント16に指示する。例えば、報知指示部78は、判定部74による判定結果又はデータ処理部76による処理結果に応じて、異なる報知情報を出力するようにティーチペンダント16に指示してもよい。報知情報の一例として、[1]正常終了又は異常終了したことを示すフラグ情報、又は[2]教示地点の修正が行われたことを示すフラグ情報が挙げられる。
【0046】
データ記憶部68は、教示処理部66により生成された教示データを記憶する。教示データは、作業プログラムを実行する際に、教示地点に対応する状態量を利用可能な状態に記憶されている。
【0047】
プログラム実行部70は、サーボ制御部60と連動して、ロボット12に基板18の搬入出作業を行わせるための作業プログラムを実行する。作業プログラムの実行する際に、データ記憶部68に記憶されている教示データが参照される。
【0048】
[教示システム10の動作]
この実施形態における教示システム10は、以上のように構成される。続いて、この教示システム10を用いたロボット12の教示方法について、図3図7を参照しながら説明する。図3は、図1及び図2の教示システム10を用いた教示方法の一例を示すフローチャートである。
【0049】
(SP10:入力工程)
図3のステップSP10において、レイアウト情報の入力工程が行われる。具体的には、作業者は、ティーチペンダント16に表示されている教示画面100を介して、カセット26に関するレイアウト情報を入力する。
【0050】
図4は、図1のティーチペンダント16のHMI40に表示される教示画面100の一例を示す図である。この教示画面100上には、入力欄102,104、ガイダンス欄106(「ガイダンス情報」に相当)、及びボタン108,110が設けられている。
【0051】
入力欄102は、カセット26が有するラック28の段数を入力するためのユーザコントロールから構成される。入力欄104はラック28の段毎の点数を入力するためのユーザコントロールから構成される。
【0052】
ガイダンス欄106は、ロボット12及びカセット26の位置関係を模式的に示すイラストを含んで構成される。このイラストの中に、教示位置を示す八つのマーク(ここでは、丸印)と、教示順番を示す八つの数字(ここでは、1~8)と、がさらに含まれている。作業者は、このガイダンス欄106を視認することにより、[1]最上段のラック28を目標として、カセット26の遠側から近側に向かって四点の教示を行い、[2]最下段のラック28を目標として、カセット26の遠側から近側に向かって四点の教示を行う、という作業手順を把握することができる。
【0053】
なお、ガイダンス欄106は、教示に関する各種設定が変更される度に、設定の内容と合致するように描画内容が更新されてもよい。例えば、入力欄104の入力値の変更を受け付けた場合にイラスト中のマークの個数が変更されてもよいし、基準点TCP(図1)の位置の変更を受け付けた場合にイラスト中のマークの位置が変更されてもよい。
【0054】
[開始]と表記されたボタン108は、ロボット12の教示動作を開始するためのユーザコントロールに相当する。[キャンセル]と表記されたボタン110は、教示画面100からの入力操作を中止するためのユーザコントロールに相当する。例えば、作業者は、入力欄102,104に所望の数字を入力した後、[開始]ボタン108をタッチ又はクリックする操作を行うことにより、次の工程(ステップSP12)に進む。
【0055】
(SP12:第一教示工程)
図3のステップSP12において、最上段経路の教示工程が行われる。具体的には、作業者は、最上段のラック28にアクセスするための経路(つまり、最上段経路)に沿って教示操作を行う。作業者は、[1]最上段経路上にある所望の地点にロボット12を誘導する作業、及び[2]所望の地点にて教示地点を指定する操作を繰り返して行う。これにより、最上段経路に対応する状態量セット(つまり、第一状態量セット)が取得される。
【0056】
(SP14:第二教示工程)
ステップSP14において、最下段経路の教示工程が行われる。具体的には、作業者は、最下段のラック28にアクセスするための経路(つまり、最下段経路)に沿って教示操作を行う。作業者は、[1]最下段経路上にある所望の地点にロボット12を誘導する作業、及び[2]所望の地点にて教示地点を指定する操作を繰り返して行う。これにより、最下段経路に対応する状態量セット(つまり、第二状態量セット)が取得される。
【0057】
(SP16:設定工程)
ステップSP16において、教示地点の設定工程が行われる。具体的には、制御装置14は、ステップSP12,SP14の工程を通じて取得された第一状態量セット及び第二状態量セットを用いて、最上段経路120、最下段経路122、又は中段経路124(図7)の上にある複数の教示地点を設定する。この設定工程に伴う制御装置14の具体的な動作については、図5図7を参照しながら後述する。
【0058】
(SP18:報知工程)
ステップSP18において、作業者に対する報知工程が行われる。具体的には、ティーチペンダント16は、[1]正常終了の旨の報知、[2]異常終了の旨の報知、又は[3]教示地点の修正を行った旨の報知のいずれかを行う。以上のようにして、ロボット12の教示に関する一連の工程が終了する。
【0059】
<設定工程の具体例>
図5は、図3の設定工程(ステップSP16)に関する詳細フローチャートである。図5に示すステップSP30~SP48は、制御装置14の教示処理部66(図2)により実行される。
【0060】
(SP30:取得ステップ)
ステップSP30において、取得部72は、操作受付部64から、カセット26のレイアウト情報を取得する。例えば、ラック28の段数が「11」であり、段数毎の点数が「4」である場合、最上段のラックIDが「1」、最下段のラックIDが「11」にそれぞれ割り当てられる。
【0061】
(SP32:取得ステップ)
図5のステップSP32において、取得部72は、状態演算部62から、最上段経路に対応する第一状態量セットを取得する。
【0062】
(SP34:取得ステップ)
ステップSP34において、取得部72は、状態演算部62から、最下段経路に対応する第二状態量セットを取得する。
【0063】
(SP36:判定ステップ)
ステップSP36において、判定部74は、ステップSP30で取得された第一状態量セット及びステップSP32で取得された第二状態量セットを用いて、複数の教示地点間の位置関係に関する妥当性について判定する。
【0064】
図6は、図1のロボット12の機械座標空間上における教示地点の位置関係を模式的に示す図である。実際の状態量は、六つの成分を有するベクトル量であるが、図示の便宜上、V軸及びW軸を二軸とする平面座標系で表現されている。図6の例では、基準点TCPがカセット26から遠ざかるにつれてV座標値が小さくなり、基準点TCPがカセット26に近づくにつれてV座標値が大きくなるように設けられている。
【0065】
点P11~P14は、最上段経路上の地点を示す。点P21~P24は、最下段経路上の地点を示す。仮想線L1は、二点P11,P21を結ぶ直線を示す。仮想線L2は、二点P21,P22を結ぶ直線を示す。仮想線L3は、二点P13,P23を結ぶ直線を示す。仮想線L4は、二点P14,P24を結ぶ直線を示す。仮想線L5は、四点P11~P14の回帰直線(あるいは、近似直線)を示す。仮想線L6は、四点P21~P24の回帰直線(あるいは、近似直線)を示す。
【0066】
判定パラメータの一例として、[1]仮想線L1~L4とW軸のなす角、[2]仮想線L1~L4同士のなす角、又は[3]仮想線L5,L6同士のなす角が挙げられる。例えば、判定部74は、上記した角度が閾値以下である場合に位置関係が「妥当である」と判定する一方、上記した角度が閾値を上回る場合に位置関係が「妥当でない」と判定する。
【0067】
(SP38:確認ステップ)
図5のステップSP38において、データ処理部76は、ステップSP36により得られた判定結果を確認する。位置関係が妥当でない場合(ステップSP38:NO)、教示処理部66は、図5に示すフローチャートの動作をそのまま終了する。その一方、位置関係が妥当である場合(ステップSP38:YES)、データ処理部76は、次のステップS40に進む。
【0068】
(SP40:選択ステップ)
ステップSP40において、データ処理部76は、最上段経路(又は最下段経路)上にある四組の教示地点の中から、まだ選択されていない教示地点の組を選択する。ここでは、図6における点P11,P21の組が選択されたとする。
【0069】
(SP42:算出ステップ)
ステップSP42において、データ処理部76は、ステップSP40で選択された教示地点の組に対応する状態量の組を用いて補間演算を施し、複数(ここでは、ラック段数と同数)の状態量をそれぞれ算出する。例えば、リニア補間の場合、二点P11,P21を結ぶ直線区間を九等分するように、各々の状態量が求められる。
【0070】
(SP44:対応付けステップ)
ステップSP44において、データ処理部76は、ステップSP42で算出された複数の状態量をラックIDに対応付ける。これにより、点P11の状態量がID=1に、点P21の状態量がID=11にそれぞれ対応付けられる。また、残りの状態量は、点P11から近い順に、ID=2,3,‥,10にそれぞれ対応付けられる。
【0071】
(SP46:確認ステップ)
ステップSP46において、データ処理部76は、四組の教示地点がすべて選択されたか否かを確認する。まだ選択されていない場合(ステップSP46:NO)、データ処理部76は、ステップSP40に戻って、四組の教示地点がすべて選択されるまで、ステップSP40~SP46を順次繰り返す。そして、四組の教示地点がすべて選択された場合(ステップSP46:YES)、データ処理部76は、次のステップSP48に進む。
【0072】
(SP48:設定ステップ)
ステップSP48において、データ処理部76は、[1]最上段経路120、[2]最下段経路122、及び[3]中段経路124の上にある地点群を、ロボット12の教示地点として一括して設定する。
【0073】
図7は、図5の教示地点の設定結果を模式的に示す図である。図6の場合と同様に、教示地点に対応する状態量が、V軸及びW軸を二軸とする平面座標系で表現されている。図7から理解されるように、P11~P14を通る最上段経路120(ID=1)と、P21~P24を通る最下段経路122(ID=11)と、最上段経路120と最下段経路122の間にある九つの中段経路124(ID=2~10)と、がそれぞれ設定される。図示の便宜上、ID=6に対応する中段経路124のみを示しているが、実際には、四点の教示地点を通る九つの中段経路124が設定されている。
【0074】
このようにして、制御装置14が図5のフローチャートを実行することにより、図3の設定工程(ステップSP16)が終了する。
【0075】
図8は、この実施形態における教示方法による効果を模式的に示す図である。図6及び図7の場合と同様に、各地点に対応する状態量が、V軸及びW軸を二軸とする平面座標系で表現されている。破線のグラフは「比較例」における状態量の計算値を示すとともに、実線のグラフは「実施例」における状態量の計算値を示している。
【0076】
「比較例」は、Z軸及びW軸が一致する場合を想定したシフト演算(特開2005-066771号公報を参照)による状態量の軌跡を示している。「比較例」の状態量は、唯一の教示地点に対応する「最下段」の状態量に、ラック28の段あたりの状態量(つまり、シフト量)に段差数を乗算した値を加算することで求められる。
【0077】
「実施例」は、この実施形態における教示方法による状態量の軌跡を示している。「実施例」の状態量は、二つの教示地点に対応する「最下段」及び「最上段」の状態量を通過するリニア補間演算により求められる。
【0078】
太線のグラフは、ロボット12のツール22をカセット26の最下段から最上段までの区間を高さ方向(つまり、Z軸方向)に連続的に移動させた場合における状態量の軌跡を示している。この状態量は、ロボット12の外部に設けられている計測装置(例えば、レーザトラッカ)を用いて実際に測定した実測値に相当する。以下、状態量の計算値と実測値との差を「教示誤差」という。
【0079】
ここで、Err1は、「比較例」における教示誤差の最大値を示している。また、Err2は、「実施例」における教示誤差の最大値を示している。図8から理解されるように、Err1>Err2の大小関係が成り立ち、「実施例」では「比較例」よりも教示誤差が大幅に低減されている。以下、この理由について説明する。
【0080】
上記した搬送作業において、非常に狭いラック28間の隙間に対して基板18の挿入及び搬出を行うことが多いため、ツール22の位置・姿勢を高精度に制御する必要がある。「比較例」のシフト演算を用いて搬送動作を行う場合、カセット26の座標空間系(例えば、XYZ座標系)とロボット12の機械座標系(例えば、UVW座標系)との間の変換行列を高精度で定義する必要がある。また、変換行列が高精度に定義できたとしても、ロボット12の機体差に起因する誤差、あるいは、減速機又はアームのたわみに起因する誤差が生じるため、教示の精度が低下する場合がある。
【0081】
「比較例」では、上記したすべての誤差の影響を受けることで、教示誤差Err1が大きくなる傾向がある。図8の例では、特に、W軸がZ軸に対して僅かに傾いているので、唯一の教示地点に対応する「最下段」では教示誤差が小さいが、教示地点からの距離が長くなるにつれて、つまり、「最上段」に向かうにつれて教示誤差が徐々に大きくなる傾向がみられる。
【0082】
そこで、「実施例」では、最上段及び最下段からなる二段のラック28の搬送動作を現物合わせで教示し、得られた教示データから中間段のラック28毎の指令位置(つまり、状態量)を自動で演算する。これにより、カセット26の座標系と機械座標系との間の相対的位置関係を定義する手間を省くことができる。また、現物合わせを行うことにより、その教示位置における精度が保障される。また、現物合わせを行うことにより、ロボット12の機体差に起因する誤差、あるいは、減速機又はアームのたわみに起因する誤差を吸収できる。特に、補間式又は近似式を用いて中間段の状態量を算出することで、上記した各種誤差をあらかじめ考慮した教示作業を実現することができる。
【0083】
[実施形態のまとめ]
以上のように、この実施形態におけるロボット12の教示システム10及び教示方法によれば、制御装置14は、第一経路(ここでは、最上段経路120)上の第一地点群と、第二経路(ここでは、最下段経路122)上の第二地点群とを指定する教示操作を受け付けた場合、第一地点群及び第二地点群を教示地点として設定するとともに、最上段経路120と最下段経路122の間にある第三経路(ここでは、中段経路124)上の第三地点群を教示地点として設定するデータ処理を行う。これにより、それぞれ現物合わせがなされた最上段経路120と最下段経路122との関係から、中段経路124の教示を自動的にかつ高精度に行うことができる。これにより、複数の教示地点を設定する際に、教示作業に要する工数を削減しつつも教示精度の低下を抑制することができる。
【0084】
また、複数の状態量が、第一地点に対応する第一状態量の集合体である第一状態量セット、及び、第二地点に対応する第二状態量の集合体である第二状態量セットを含む場合、データ処理は、第一状態量セット及び第二状態量セットを用いて補間演算又は近似演算を施し、第三地点に対応する第三状態量の集合体である第三状態量セットを算出してもよい。補間演算又は近似演算を通じて、第一状態量及び第二状態量の関係性を反映しつつ、より高い精度で第三状態量を算出することができる。
【0085】
また、第二地点の数が第一地点の数に等しい場合、補間演算又は近似演算は、各地点の配列順に対応する第一状態量及び第二状態量の組を用いて行われてもよい。補間演算又は近似演算を通じて、各地点の配列順を反映しつつ、より高い精度で第三状態量を算出することができる。
【0086】
また、データ処理は、一次元又は二次元に区画される複数の区画領域30の相対的位置関係を示すレイアウト情報を用いて、ロボット12が区画領域30にアクセスするための中段経路124をそれぞれ特定し、中段経路124を区画領域30の識別情報と対応付ける対応付け処理を含んでもよい。これにより、ロボット12に対して各々の区画領域30にアクセスするように教示することができる。
【0087】
また、教示端末(ここでは、ティーチペンダント16)は、教示操作を受け付ける前又は受け付けている途中に、第一地点群及び第二地点群における教示地点の指定順番を案内するガイダンス情報(ここでは、ガイダンス欄106)を出力してもよい。これにより、教示操作を行おうとする作業者の支援になる。
【0088】
また、制御装置14は、第一地点同士の位置関係、第二地点同士の位置関係、又は第一地点と第二地点との間の位置関係を判定する場合、ティーチペンダント16は、制御装置14による判定結果に応じて異なる報知情報を出力してもよい。作業者は、報知情報の出力を通じて、自身による教示操作が妥当であったか否かを把握することができる。
【0089】
[変形例]
なお、本発明は、上記した実施形態に限定されるものではなく、この発明の主旨を逸脱しない範囲で自由に変更できることは勿論である。あるいは、技術的に矛盾が生じない範囲で各々の構成を任意に組み合わせてもよい。あるいは、技術的に矛盾が生じない範囲でフローチャートを構成する各ステップの実行順を変更してもよい。
【0090】
上記した実施形態では、教示データに中段経路124の状態量セットが含まれる場合を例を挙げて説明したが、補間演算又は近似演算の実行タイミングはこれに限られない。例えば、作業プログラムを実行する際、教示データを読み出す度に、補間演算又は近似演算を行って中段経路124の状態量セットを計算してもよい。この場合、例えば、ラック28の識別情報(つまり、ラックID)が、関数コマンドの引数として参照されてもよい。
【0091】
上記した実施形態では、複数の区画領域30がZ軸方向に並んで設けられている場合を例に挙げて説明したが、区画領域30のレイアウトはこれに限られない。例えば、複数の区画領域は、X軸方向又はY軸方向に一次元的に配置されてもよいし、XY平面・YZ平面・XZ平面上のいずれかに二次元的に配置されていてもよい。
【0092】
上記した実施形態では、ティーチペンダント16を操作装置として用いる場合を例に挙げて説明したが、教示の態様はこれに限られない。教示の態様は、例えば、ネットワークに接続された作業端末を操作装置として用いるものであってもよいし、ロボット12のアーム部20にハンドルを取り付けて直接操作するものであってもよい。
【0093】
上記した実施形態では、ロボット12が垂直多関節ロボットである場合を例に挙げて説明したが、産業用ロボットの種類はこれに限られない。例えば、水平多関節ロボット、パラレルリンクロボット、あるいは直交ロボットのいずれであってもよい。上記した実施形態では、ワークが基板18である場合を例に挙げて説明したが、ワークの種類はこれに限られない。同様に、ツール22の種類は、ワークの種類又は作業の種類に応じて種々変更され得る。
【符号の説明】
【0094】
10…教示システム、12…ロボット、14…制御装置、16…ティーチペンダント(教示端末)、72…取得部、74…判定部、76…データ処理部、78…報知指示部、120…最上段経路(第一経路)、122…最下段経路(第二経路)、124…中段経路(第三経路)、P11~P14…地点(第一地点)、P21~P24…地点(第二地点)
【要約】
【課題】複数の教示地点を設定する際に、教示作業に要する工数を削減しつつも教示精度の低下を抑制可能な、ロボットの教示システム及び教示方法を提供する。
【解決手段】教示システム(10)の制御装置(14)は、ロボット(12)の動作経路の内、第一経路(120)上の少なくとも一つの第一地点からなる第一地点群と、第一経路(120)とは異なる第二経路(122)上の少なくとも一つの第二地点からなる第二地点群とを指定する教示操作を受け付けた場合、第一地点群及び第二地点群を教示地点として設定するとともに、第一経路(120)と第二経路(122)の間にある第三経路(124)上の少なくとも一つの第三地点からなる第三地点群を教示地点として設定する。
【選択図】図7

図1
図2
図3
図4
図5
図6
図7
図8