(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024007104
(43)【公開日】2024-01-18
(54)【発明の名称】ロボットシステム、ロボット制御方法及びロボット制御プログラム
(51)【国際特許分類】
B25J 9/10 20060101AFI20240111BHJP
【FI】
B25J9/10 A
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022108324
(22)【出願日】2022-07-05
(71)【出願人】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】100131200
【弁理士】
【氏名又は名称】河部 大輔
(72)【発明者】
【氏名】芝田 武士
(72)【発明者】
【氏名】小野 良太
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707BS15
3C707CT04
3C707CV07
3C707CW07
3C707EV23
3C707HS14
3C707HS27
3C707KS37
3C707LT11
3C707NS13
(57)【要約】
【課題】ロボットアームにおけるハンドの位置精度を向上させる。
【解決手段】ロボットシステム100は、ワークWを保持するハンド3とハンド3が連結されたロボットアーム2とを有するロボット1と、ロボットアーム2を動作させて、ハンド3の位置制御を行う制御装置6とを備えている。制御装置6は、位置制御におけるハンド3の目標高さをハンド3によって保持されるワークWに応じて補正する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ワークを保持するハンドと前記ハンドが連結されたロボットアームとを有するロボットと、
前記ロボットアームを動作させて、前記ハンドの位置制御を行う制御装置とを備え、
前記制御装置は、前記位置制御における前記ハンドの目標高さを前記ハンドによって保持されるワークに応じて補正するロボットシステム。
【請求項2】
請求項1に記載のロボットシステムにおいて、
前記ロボットアームは、前記ハンドの高さ位置を変更する電動モータを有し、
前記制御装置は、前記ハンドがワークを取ることに起因する、前記電動モータへのモータ電流の変動に基づいて前記目標高さを補正するロボットシステム。
【請求項3】
請求項2に記載のロボットシステムにおいて、
前記制御装置は、予め取得された、前記ハンドがワークを取っていない場合の前記モータ電流と前記ハンドがワークを取った後の実際の前記モータ電流との変動量に基づいて、前記目標高さを補正するロボットシステム。
【請求項4】
請求項2に記載のロボットシステムにおいて、
前記制御装置は、前記位置制御によって前記ハンドがワークを取って搬送する一連の動作における、前記ハンドがワークを取る前の実際の前記モータ電流と前記ハンドがワークを取った後の実際の前記モータ電流との変動量に基づいて、前記目標高さを補正するロボットシステム。
【請求項5】
請求項4に記載のロボットシステムにおいて、
前記制御装置は、
前記ハンドがワークを取る前後において前記ハンドの高さ位置が等速に変化する等速動作を前記ロボットアーム及び前記ハンドに実行させ、
前記等速動作中における、前記ハンドがワークを取る前の実際の前記モータ電流と前記ハンドがワークを取った後の実際の前記モータ電流との変動量に基づいて、前記目標高さを補正するロボットシステム。
【請求項6】
請求項2に記載のロボットシステムにおいて、
前記制御装置は、前記ハンドがワークを取った後に前記目標高さを補正するロボットシステム。
【請求項7】
請求項1乃至6の何れか1つに記載のロボットシステムにおいて、
前記ロボットアームは、水平方向へ回転可能に連結された複数のリンクを有するロボットシステム。
【請求項8】
請求項1乃至6の何れか1つに記載のロボットシステムにおいて、
前記ハンドは、ワークとして基板を保持するロボットシステム。
【請求項9】
請求項1乃至6の何れか1つに記載のロボットシステムにおいて、
前記ハンドは、複数種類のワークの何れかを保持するロボットシステム。
【請求項10】
ワークを保持するハンドが連結されたロボットアームを動作させて、前記ハンドの位置制御を行うことと、
前記位置制御における前記ハンドの目標高さを前記ハンドによって保持するワークに応じて補正することとを含むロボット制御方法。
【請求項11】
ワークを保持するハンドと前記ハンドが連結されたロボットアームとを有するロボットを制御する機能をコンピュータに実現させるためのロボット制御プログラムであって、
前記ロボットアームを動作させて、前記ハンドの位置制御を行う機能と、
前記位置制御における前記ハンドの目標高さを前記ハンドによって保持するワークに応じて補正する機能とをコンピュータに実現させるためのロボット制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
ここに開示された技術は、ロボットシステム、ロボット制御方法及びロボット制御プログラムに関する。
【背景技術】
【0002】
従来より、ワークを保持したハンドをロボットアームで移動させるロボットシステムが知られている。特許文献1に開示されたロボットシステムは、ロボットの撓みを考慮して、ロボットの手先位置を補正している。具体的には、このロボットシステムは、ロボットの姿勢に応じてロボットの撓みが変化することを考慮して、ロボットの手先位置を補正している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
前述の如く、ロボットアームによってワークを搬送するシステムにおいては、ロボットアームの撓み等を考慮することによって、ハンドの位置精度を向上させることができる。しかしながら、ロボットの撓みは、ロボットの姿勢以外の要因に基づいても変動する。つまり、ハンドの位置精度は、さらに向上させる余地がある。
【0005】
ここに開示された技術は、かかる点に鑑みてなされたものであり、その目的とするところは、ロボットアームにおけるハンドの位置精度を向上させることにある。
【課題を解決するための手段】
【0006】
本開示のロボットシステムは、ワークを保持するハンドと前記ハンドが連結されたロボットアームとを有するロボットと、前記ロボットアームを動作させて、前記ハンドの位置制御を行う制御装置とを備え、前記制御装置は、前記位置制御における前記ハンドの目標高さを前記ハンドによって保持されるワークに応じて補正する。
【0007】
本開示のロボット制御方法は、ワークを保持するハンドが連結されたロボットアームを動作させて、前記ハンドの位置制御を行うことと、前記位置制御における前記ハンドの目標高さを前記ハンドによって保持するワークに応じて補正することとを含む。
【0008】
本開示のロボット制御プログラムは、ワークを保持するハンドと前記ハンドが連結されたロボットアームとを有するロボットを制御する機能をコンピュータに実現させるためのロボット制御プログラムであって、前記ロボットアームを動作させて、前記ハンドの位置制御を行う機能と、前記位置制御における前記ハンドの目標高さを前記ハンドによって保持するワークに応じて補正する機能とをコンピュータに実現させる。
【発明の効果】
【0009】
前記ロボットシステムによれば、ロボットアームにおけるハンドの位置精度を向上させることができる。
【0010】
前記ロボット制御方法によれば、ロボットアームにおけるハンドの位置精度を向上させることができる。
【0011】
前記ロボット制御プログラムによれば、ロボットアームにおけるハンドの位置精度を向上させることができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、ロボットシステムを示す模式図である。
【
図2】
図2は、ロボットシステムをクリーンルームに組み込んだ平面的な模式図である。
【
図3】
図3は、制御装置の概略的なハードウェア構成を示す図である。
【
図4】
図4は、制御装置の制御部の制御系統の構成を示す機能ブロック図である。
【
図5】
図5は、第1ボックス又は第2ボックスにおけるワークを示す模式図である。
【
図7】
図7は、第1電動モータへのモータ電流及びハンドの高さを示すグラフである。
【
図8】
図8は、上昇動作におけるハンドを説明するための模式図である。
【
図9】
図9は、ハンドの目標高さを補正しない場合の搬送動作中の第1電動モータへのモータ電流及びハンドの高さを示すグラフである。
【発明を実施するための形態】
【0013】
以下、例示的な実施形態を図面に基づいて詳細に説明する。
図1は、ロボットシステム100を示す模式図である。
図2は、ロボットシステム100をクリーンルーム110に組み込んだ平面的な模式図である。
【0014】
ロボットシステム100は、ロボット1と、ロボット1を制御する制御装置6とを備えている。ロボット1は、ワークWを保持するハンド3と、ハンド3が連結されたロボットアーム2とを有する。ロボット1は、いわゆる水平多関節ロボットであり、スカラ(SCARA: Selective Compliance Assembly Robot Arm)型のロボットである。ロボット1は、ロボットアーム2が連結された基台10をさらに有していてもよい。ハンド3は、いわゆるエンドエフェクタである。制御装置6は、ロボットアーム2を動作させて、ハンド3の位置制御、即ち、ワークWの位置制御を行う。
【0015】
ロボット1は、様々な種類のワークWを扱う。つまり、ハンド3は、複数種類のワークWの何れかを保持する。例えば、ワークWの1つは、基板である。基板は、半導体基板(即ち、半導体ウェハ)及びガラス基板(即ち、ガラスウェハ)などの半導体デバイスの基板の材料となる薄板であり得る。半導体基板としては、例えば、シリコン基板、サファイヤ基板等がある。ガラス基板としては、例えば、FPD(Flat Panel Display)用ガラス基板、MEMS(Micro Electro Mechanical Systems)用ガラス基板等がある。ワークWが基板である場合、ロボット1は、複数種類の基板を扱い得る。ロボット1は、例えば、200mm、300mm又は450mm等のサイズの異なる基板をワークWとして扱い得る。複数のワークWには、基板以外に、フォーカスリング、治具、又は、治具に基板が組み込まれたアッセンブリ等が含まれる。尚、ワークWは、これらに限定されず、任意の部品が含まれ得る。
【0016】
[ロボット]
例えば、ロボット1は、クリーンルーム対応のロボットである。ロボット1は、クリーンルーム110内に配置されて使用される。クリーンルーム110は、複数の周壁によって区画され、内部がクリーン化、即ち、清浄に保たれている。クリーンルーム110には、ワークWが配置される第1場所としての第1ボックス111と、ワークWが配置される第2場所としての第2ボックス112とが設けられている。
【0017】
ロボットアーム2は、略鉛直方向へ昇降可能に基台10に設けられた昇降器21と、複数のリンク22と、リンク22を水平方向に回転可能に連結する複数の関節23と、昇降器21及びリンク22を動作させる複数の電動モータ24と、各電動モータ24に設けられたエンコーダ25とを有している。
【0018】
昇降器21は、柱状に形成されている。昇降器21が最も降下した状態においては、昇降器21の大部分が基台10内に収容される。昇降器21は、基台10から上方に突出するように上昇する。
【0019】
複数のリンク22は、第1リンク22a、第2リンク22b及び第3リンク22cを含んでいる。第1リンク22a、第2リンク22b及び第3リンク22cのそれぞれを区別しない場合には、単に「リンク22」と称する。第1リンク22aは、略水平方向へ回転可能に関節23を介して昇降器21に連結されている。第2リンク22bは、第1リンク22aと第3リンク22cとにそれぞれ略水平方向へ回転可能に関節23を介して連結されている。第3リンク22cには、略水平方向へ回転可能にハンド3が関節23を介して連結されている。
【0020】
具体的には、リンク22は、所定の長手方向に延びる形状を有している。リンク22は、中空状に形成され、内部空間を有している。リンク22の長手方向における両端部のうち一方の端部を第1端部と称し、他方の端部を第2端部と称する。第1リンク22aの第1端部は、略鉛直方向へ延びる軸L1回りに回転可能に昇降器21に連結されている。第1リンク22aの第2端部には、第2リンク22bの第1端部が略鉛直方向へ延びる軸L2回りに回転可能に連結されている。第2リンク22bの第2端部には、第3リンク22cの第1端部が略鉛直方向へ延びる軸L3回りに回転可能に連結されている。第3リンク22cの第2端部には、ハンド3が略鉛直方向へ延びる軸L4回りに回転可能に連結されている。
【0021】
第1リンク22a、第2リンク22b、第3リンク22c、ハンド3は、この順で下から上へ、互いに接触しない状態で積み上げられている。第1リンク22a、第2リンク22b、第3リンク22c及びハンド3は、互いに干渉することなく略水平方向に回転する。
【0022】
ハンド3は、本体31と、本体31に連結され、二又状に分かれた保持部32とを有している。ハンド3は、板状に形成されている。ハンド3は、その厚み方向を向いて見た場合に、略Y字状に形成されている。本体31は、第3リンク22cの第2端部に連結されている。
【0023】
ハンド3による保持は、把持、吸着、載置又は嵌合等、様々な態様で実現し得る。この例では、ハンド3は、ワークWを把持するように構成されている。具体的には、保持部32の2つの先端部のそれぞれには爪33が固定的に設けられている。本体31には、移動可能な爪34と爪34を駆動する保持アクチュエータ35(
図2参照)とが設けられている。保持アクチュエータ35は、例えばエアシリンダを有している。保持アクチュエータ35は、エアシリンダによって爪34を駆動することによって、ハンド3によるワークWの保持及び保持解除を切り替える。
【0024】
電動モータ24は、例えばサーボモータである。エンコーダ25は、対応する電動モータ24の回転位置又は回転速度を検出する。複数の電動モータ24は、昇降器21用の第1電動モータ24aと、リンク22用の複数の第2電動モータ24bとを含む。第1電動モータ24aは、昇降器21を昇降させる。第1電動モータ24aは、基台10の内部に収容されている。第2電動モータ24bは、対応する関節23を回転駆動する。第2電動モータ24bは、リンク22の内部空間に収容されている。
【0025】
制御装置6は、ロボットアーム2及びハンド3を制御して、ロボット1を動作させる。制御装置6は、位置制御において、ロボットアーム2及びハンド3の目標位置を設定し、ハンド3が目標位置に位置するようにロボットアーム2及びハンド3を制御する。ハンド3の目標位置には、ハンド3の目標高さが含まれる。制御装置6は、位置制御におけるハンド3の目標高さをハンド3によって保持するワークWに応じて補正する。
【0026】
図3は、制御装置6の概略的なハードウェア構成を示す図である。制御装置6は、例えば、コンピュータである。制御装置6には、電動モータ24、エンコーダ25及び保持アクチュエータ35等が接続されている。尚、
図3では、一組だけ図示されているが、制御装置6には複数組の第2電動モータ24b及びエンコーダ25が接続されている。制御装置6は、主制御装置60とサーボアンプ61とを有している。主制御装置60は、保持アクチュエータ35を制御すると共に、サーボアンプ61を介してロボット1を制御する。例えば、主制御装置60は、保持アクチュエータ35のエアシリンダへのエアの供給を切り替える電磁弁を制御して、ハンド3によるワークWの保持及び保持解除を切り替える。主制御装置60は、ロボット1の各電動モータ24の回転位置、回転速度又は回転トルクに関する指令値をサーボアンプ61に出力する。サーボアンプ61は、主制御装置60からの指令値に応じたモータ電流を各電動モータ24へ印加する。サーボアンプ61は、各電動モータ24へ印加されるモータ電流を検出する電流センサ61aを有している。このとき、サーボアンプ61は、各エンコーダ25の検出結果に基づいてモータ電流をフィードバック制御する。これにより、制御装置6は、ハンド3を目標位置へ移動させたり、目標速度又は目標加速度で移動させたりする。
【0027】
一例として、制御装置6は、電動モータ24及び保持アクチュエータ35を制御することによって、ロボット1に搬送動作を実行させる。具体的には、制御装置6には、搬送動作を行う際のハンド3の目標位置、即ち、目標軌跡が予め設定されている。主制御装置60は、ハンド3の目標位置に対応する指令値、即ち、各電動モータ24の目標回転位置をサーボアンプ61へ出力する。サーボアンプ61は、指令値に対応するモータ電流を各電動モータ24へ印加する。サーボアンプ61は、電動モータ24の回転位置が目標回転位置になるように、モータ電流をエンコーダ25の検出結果に基づいてフィードバック制御する。こうして、主制御装置60は、ハンド3が目標位置に位置するように、各電動モータ24を制御する。また、主制御装置60は、保持アクチュエータ35を動作させて、ハンド3によるワークWの保持及び保持解除を切り替える。
【0028】
主制御装置60は、制御部62と、記憶部63と、メモリ64とを有している。
【0029】
制御部62は、主制御装置60の全体を制御する。制御部62は、各種の演算処理を行う。例えば、制御部62は、CPU(Central Processing Unit)等のプロセッサで形成されている。制御部62は、MCU(Micro Controller Unit)、MPU(Micro Processor Unit)、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)、システムLSI等で形成されていてもよい。
【0030】
記憶部63は、制御部62で実行されるプログラム及び各種データを格納している。具体的には、記憶部63は、ロボット制御プログラム63aを格納している。また、記憶部63は、ロボット1を動作させるための教示データを格納している。記憶部63は、不揮発性メモリ、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等で形成される。
【0031】
メモリ64はそれぞれ、データ等を一時的に格納する。例えば、メモリ64は、揮発性メモリで形成される。
【0032】
図4は、制御装置6の制御部62の制御系統の構成を示す機能ブロック図である。制御部62は、記憶部63からロボット制御プログラム63aをメモリ64に読み出して展開することによって、各種機能を実現する。具体的には、制御部62は、目標設定部65と動作制御部66と補正部67として機能する。
【0033】
目標設定部65は、ロボットアーム2及びハンド3の目標位置(以下、「ロボットアーム2等の目標位置」という)、並びに、保持アクチュエータ35を動作及び動作解除させるときのロボットアーム2及びハンド3の目標位置(以下、「保持アクチュエータ35の動作目標位置」という)を設定する。目標設定部65は、記憶部63から教示データを読み出し、教示データに従って、ロボットアーム2等の目標位置及び保持アクチュエータ35の動作目標位置を生成する。教示データは、ロボットアーム2及びハンド3の目標軌跡、即ち、目標位置に対応するデータであり得る。また、教示データは、保持アクチュエータ35を動作させるとき及び動作解除させるときのロボットアーム2及びハンド3の目標位置も含んでいる。この例では、教示データは、ロボットアーム2及びハンド3の目標位置に対応する各電動モータ24の目標回転位置である。つまり、目標設定部65は、実質的にロボットアーム2等の目標位置及び保持アクチュエータ35の動作目標位置として、それらに対応する各電動モータ24の目標回転位置を設定する。
【0034】
動作制御部66は、目標設定部65によって設定された目標位置に従って、電動モータ24及び保持アクチュエータ35への指令値を生成して出力する。具体的に、動作制御部66は、各電動モータ24の目標回転位置を指令回転位置としてサーボアンプ61へ出力する。サーボアンプ61は、指令回転位置に対応するモータ電流を各電動モータ24へ印加する。サーボアンプ61は、各電動モータ24の回転位置が指令回転位置となるようにモータ電流を制御する。また、動作制御部66は、保持アクチュエータ35の動作目標位置に対応する指令回転位置をサーボアンプ61へ出力するタイミングで、保持アクチュエータ35へ動作指令を出力する。保持アクチュエータ35は、動作指令に応じて、ワークWの保持及び保持解除を切り替える。
【0035】
補正部67は、目標設定部65によって設定された、ロボットアーム2及びハンド3の目標位置のうちハンド3の目標高さを補正する。この例では、目標位置として電動モータ24の目標回転位置が設定されているので、ハンド3の目標高さに対応する電動モータ24の目標回転位置が補正される。具体的には、補正部67は、目標設定部65によって設定された第1電動モータ24aの目標回転位置を補正する。目標高さが補正された結果、動作制御部66は、補正後の目標高さに対応する指令値を生成し、指令値をサーボアンプ61へ出力する。詳しくは、補正部67は、ハンド3の目標高さをハンド3によって保持するワークWに応じて補正する。例えば、補正部67は、ワークWの重量が重いほどハンド3の目標高さが高くなるように目標高さを補正する。
【0036】
続いて、ロボットシステム100の動作例について説明する。例えば、制御装置6は、第1ボックス111に配置されたワークWをピッキングして第2ボックス112まで搬送する搬送動作をロボット1に実行させる。
図5は、第1ボックス111又は第2ボックス112におけるワークWを示す模式図である。
図6は、搬送動作のフローチャートである。
【0037】
この例では、ワークWは、
図5に示すように、第1ボックス111又は第2ボックス112においてステージ113上に載置される。この例では、ワークWは、ステージ113上に単純に載置されているだけである。ステージ113は、ワークWの端部の下面を支持している。
【0038】
制御装置6は、まずステップS101において、ロボットアーム2及びハンド3の目標位置を設定する。具体的には、目標設定部65は、記憶部63に記憶された教示データに基づいて、搬送動作におけるロボットアーム2及びハンド3の目標位置に対応する各電動モータ24の目標回転位置を設定する。
【0039】
次に、制御装置6は、ステップS102において、ハンド3を所定の開始位置へ移動させる。開始位置におけるハンド3の目標高さは、第1ボックス111におけるワークWの高さ(以下、「ワーク高さZ0」という)よりも低く且つ、第1ボックス111内においてワークWの下方に進入できる高さである。開始位置における目標高さを「第1目標高さZ1」と称する。制御装置6は、各電動モータ24へモータ電流を印加することによって、ロボットアーム2及びハンド3を開始位置に位置させる。
【0040】
ロボット1の場合、第1電動モータ24aがハンド3の高さを調整し、第2電動モータ24bがハンド3の水平方向位置を調整する。
図7は、第1電動モータ24aへのモータ電流及びハンド3の高さを示すグラフである。ここでは、各第2電動モータ24bへのモータ電流及びハンド3の水平方向の位置の図示は省略する。サーボアンプ61は、第1電動モータ24aの回転位置が第1目標高さZ1に対応する位置になるように第1電動モータ24aのモータ電流を調整する。その結果、ハンド3の実際の高さ(以下、「実高さ」という)は、第1目標高さZ1と略同じ高さに調整される。
【0041】
続いて、制御装置6は、ステップS103において、ロボット1に第1水平移動を実行させる。第1水平移動では、ロボットアーム2は、ハンド3を第1ボックス111内におけるワークWの下方まで水平方向へ移動させる。制御装置6は、第2電動モータ24bを制御することによってリンク22を動作させ、ハンド3を第1ボックス111内のワークWの下方へ移動させる。第1水平移動中は、ハンド3の高さは変更されないので、第1電動モータ24aへのモータ電流は、
図7に示すように、開始位置に位置するときからほとんど変化しない。
【0042】
ハンド3が第1ボックス111内のワークWの下方へ移動すると、制御装置6は、ステップS104においてロボット1に上昇動作を実行させる。
図8は、上昇動作におけるハンド3を説明するための模式図である。上昇動作では、ロボット1は、ハンド3を第1目標高さZ1から第2目標高さZ2まで上方へ移動させる。第2目標高さZ2は、例えば、第1ボックス111内のステージ113よりも高い高さである。この例では、上昇動作においては、制御装置6は、ハンド3が等速で上昇する等速動作をロボットアーム2及びハンド3に実行させる。制御装置6は、第1電動モータ24aへのモータ電流を調整することによってハンド3の上昇速度を制御する。制御装置6は、ハンド3の上昇速度が所定の目標速度に達するまではモータ電流を増大させ、上昇速度が目標速度に達するとモータ電流を制御して目標速度を略一定に維持する。ステップS104は、ワークを保持するハンドが連結されたロボットアームを動作させて、前記ハンドの位置制御を行うことに相当する。
【0043】
制御装置6は、上昇動作中に第1電動モータ24aのモータ電流を電流センサ61aによって検出する。制御装置6は、検出されたモータ電流、即ち、電流値(以下、「検出電流値」という)を記憶部63又はメモリ64に記録していく。尚、制御装置6は、上昇動作中に限らず、搬送動作中に第1電動モータ24aのモータ電流の電流値を検出及び記録してもよい。
【0044】
ハンド3の上昇動作が継続すると、
図8に示すように、ハンド3は、第1目標高さZ1から第2目標高さZ2に達するまでの間にワークWの位置を通過する。このとき、ハンド3は、ワークWをステージ113から取り上げる。ワークWは、ハンド3上に載置された状態となる。尚、ハンド3は、少なくともハンド3がワークWを取る前後においては実質的に等速で上昇しているので、ハンド3は、ワークWを安定的に取り上げる。
【0045】
制御装置6は、上昇動作中に第1電動モータ24aのモータ電流の変動を監視し、ステップS105において、モータ電流の変動量が所定の閾値以上か否かを判定する。モータ電流の変動量が閾値未満の場合には、制御装置6は、ステップS105を繰り返す。モータ電流の変動量が閾値以上の場合には、制御装置6は、ステップS106へ進み、ハンド3の目標高さを補正する。ステップS106は、前記位置制御における前記ハンドの目標高さを前記ハンドによって保持するワークに応じて補正することに相当する。
【0046】
詳しくは、制御装置6は、上昇動作中に、記憶部63又はメモリ64に記録された検出電流値の移動平均値である平均電流値を求めている。制御装置6の補正部67は、ステップS105において、平均電流値の計時変化において平均電流値の変動量が所定の閾値以上になるか否かを判定する。閾値は、ハンド3がワークWを取ることに起因する平均電流値の変動量に相当する値である。例えば、閾値は、ロボット1で扱う、最軽量のワークWをハンド3が取ることに起因する平均電流値の変動量に相当する値である。
【0047】
平均電流値の変動量が閾値未満の場合には、補正部67は、ステップS105を繰り返し、平均電流値の変動量が閾値以上となるまで待機する。
【0048】
平均電流値の変動量が閾値以上の場合には、補正部67は、ステップS106において、変動量が閾値以上となった直前の平均電流値を第1電流値Iaとし、変動量が閾値以上となったときの平均電流値を第2電流値Ibとし、ハンド3の目標高さの補正量ΔZを以下の式(1)によって求める。
【0049】
ΔZ=K×(Ib-Ia) ・・・(1)
ここで、Kは、補正係数であり、記憶部63に予め保存されている。Ib-Iaは、ハンド3がワークWを取ることに起因する、第1電動モータ24aへのモータ電流の変動量ΔIである。このモータ電流の変動は、ハンド3がワークWを取ることによって生じする。そのため、第1電流値Iaは、ハンド3がワークWを取っていない場合のモータ電流の電流値である。第2電流値Ibは、ハンド3がワークWを取った後のモータ電流の電流値である。この例では、第1電流値Ia及び第2電流値Ibは、一連の搬送動作中、即ち、同じ搬送動作中におけるハンド3がワークWを取る前の実際のモータ電流の電流値である。また、第1電流値Iaは、ハンド3がワークWを取る直前の電流値であり、第2電流値Ibは、ハンド3がワークWを取った直後の電流値であるので、第1電流値Ia及び第2電流値Ibは、ハンド3が略等速で上昇しているときのモータ電流の電流値である。
【0050】
補正部67は、ハンド3の第2目標高さZ2を補正量ΔZで補正する。具体的には、補正部67は、第2目標高さZ2を補正量ΔZだけ高くする。より詳しくは、補正部67は、第1電動モータ24aの目標回転位置を補正量ΔZに対応する回転量で補正する。つまり、補正部67は、ハンド3がワークWを取った後であってワークWを第2ボックス112内のステージ113に置くまでの間に第2目標高さZ2を補正する。
【0051】
また、制御装置6は、ステップS107において、保持アクチュエータ35を動作させて、ハンド3にワークWを保持させる。制御装置6は、ハンド3の位置を制御しているので、ハンド3がワークWの高さを概ね過ぎるタイミングを知っている。制御装置6は、ハンド3がワークWの高さを過ぎた後、即ち、ハンド3がワークWを取った後のタイミングで保持アクチュエータ35を動作させる。尚、保持アクチュエータ35の動作タイミングは、ハンド3がワークWを取った後であれば、ハンド3の目標高さの補正前であってもよい。
【0052】
図7に示すように、第1電動モータ24aへのモータ電流は、ハンド3がワークWを取ることに起因して変動する。詳しくは、第1電動モータ24aの目標回転位置を実現するためのモータ電流は、ワークWの重量の分だけ増加する。このワークWの重量に起因するモータ電流の増加分が、モータ電流の変動量ΔIとなる。モータ電流の変動量ΔIは、ワークWの重量に応じて変化する。ワークWの重量が重くなれば、モータ電流の変動量ΔIも大きくなる。モータ電流の変動量ΔIは、ワークWの重量に略比例する。
【0053】
一方、制御装置6は、ハンド3の高さを第1電動モータ24aの回転位置によって制御している。そのため、ハンド3の目標高さを実現するための第1電動モータ24aの目標回転位置は、ロボットアーム2及びハンド3の寸法、撓み及びガタツキ等を考慮して決定されている。ところが、ハンド3がワークWを取ると、ハンド3の重量がワークWの分だけ見かけ上重くなる。第1電動モータ24aの回転位置が同じであっても、ハンド3がワークWを持っているか否かによって、ロボットアーム2及びハンド3の撓み及びガタツキ等が変動し、ハンド3の実高さが異なり得る。つまり、第1電動モータ24aの回転位置に対応するハンド3の実高さは、ハンド3がワークWを取ることに起因して変動する。
図9は、ハンド3の目標高さを補正しない場合の搬送動作中の第1電動モータ24aへのモータ電流及びハンド3の高さを示すグラフである。ハンド3がワークWを取ることによって、第1電動モータ24aの目標回転位置を実現するための回転トルクが増大するので、
図7と同様に、モータ電流が増大する。モータ電流がワークWの重量に応じて増大するものの、目標回転位置は補正されない。第1電動モータ24aは目標回転位置を実現するように動作する。しかしながら、ワークWの重量によってロボットアーム2及びハンド3の撓み及びガタツキが大きくなるので、第1電動モータ24aの目標回転位置に対応するハンド3の実高さはワークWを取る前に比べて低くなる。つまり、ハンド3の実高さは、第1電動モータ24aの目標回転位置に対応する目標高さよりも低くなってしまう。
【0054】
ワークWの重量に起因するハンド3の実高さの変動量は、ワークWの重量に略比例する。ワークWの重量が重くなれば、ハンド3の実高さの変動量も大きくなる。前述の如く、モータ電流の変動量ΔIも、ワークWの重量に略比例する。つまり、ワークWの重量に起因するハンド3の実高さの変動量は、モータ電流の変動量ΔIに略比例する。そのため、制御装置6は、式(1)に示すように、モータ電流の変動量ΔIに補正係数Kを乗じて補正量ΔZを求める。制御装置6は、第2目標高さZ2を補正量ΔZを加算することによって第2目標高さZ2’に補正する。制御装置6は、第1電動モータ24aが補正後の第2目標高さZ2’に対応する目標回転位置に位置するようにモータ電流を調整する。結果として、ハンド3の実高さは、目標高さを補正しない場合に比べて高くなり、補正前の第2目標高さZ2に近づく。つまり、補正後の第2目標高さZ2’は、制御上の目標高さであり、実際のハンド3の目標高さは、補正前の第2目標高さZ2のままである。尚、補正により第2目標高さZ2’が高くなるので、ハンド3が上昇する時間が長くなり、その分、第1電動モータ24aへのモータ電流が大きい期間も増大する。
【0055】
制御上、ハンド3が補正後の第2目標高さZ2’に達すると、即ち、第1電動モータ24aの回転位置が第2目標高さZ2’に対応する目標回転位置に達すると、制御装置6は、ステップS108において、ロボット1に第2水平移動を実行させる。第2水平移動では、ロボットアーム2は、ハンド3を第1ボックス111から第2ボックス112内におけるステージ113の上方まで水平方向へ移動させる。制御装置6は、第2電動モータ24bを制御することによってリンク22を動作させ、ハンド3を第2ボックス112内へ移動させる。
図7に示すように、第2水平移動中は、第1電動モータ24aへのモータ電流は、ほとんど変化しない。つまり、ハンド3の実高さは、補正前の第2目標高さZ2と略同じままである。
【0056】
ハンド3が第2ボックス112内のステージ113の上方へ移動すると、制御装置6は、ステップS110においてロボット1に下降動作を実行させる。下降動作では、ロボット1は、ハンド3を補正後の第2目標高さZ2’から第1目標高さZ1まで下方へ移動させる。この例では、下降動作においては、制御装置6は、ハンド3が等速で下降する等速動作をロボットアーム2及びハンド3に実行させる。制御装置6は、第1電動モータ24aへのモータ電流を調整することによってハンド3の下降速度を制御する。尚、
図7及び
図9においては、下降動作を省略している。
【0057】
その後、ハンド3が下降していくと、やがてワークWにステージ113に接触する。ワークWがステージ113に接触する前のタイミングで、制御装置6は、ステップS110において、保持アクチュエータ35の動作を停止させ、ハンド3にワークWの保持を解除させる。ハンド3がワークWの保持を解除した後に、ワークWがハンド3からステージ113へ受け渡される。ハンド3が第1目標高さZ1まで下降すると、搬送動作が終了する。
【0058】
このような搬送動作によれば、位置制御におけるハンド3の目標高さがハンド3によって保持されるワークWに応じて補正される。ロボットアーム2及びハンド3の撓み等は、少なくともワークWの重量に依存する。ロボット1が扱うワークWの種類が1つだけの場合には、ハンド3の高さ位置はワークWに応じて変動しない。制御装置6は、ハンド3の目標高さをワークWに応じて補正するので、ワークWの重量が変わってもハンド3の目標高さが適切に補正される。例えば、ロボットシステム100が複数種類のワークWを搬送する場合には、ハンド3の目標高さの補正量がワークWの重量に応じて調整される。その結果、どの種類のワークWに対してもハンド3の位置精度を向上させることができる。
【0059】
さらに、制御装置6は、ワークWに応じた補正量の調整を自動的に行う。ユーザは、ワークWが変更されるたびに補正量等を設定し直す必要がない。具体的には、制御装置6は、ハンド3がワークWを取ることに起因する、第1電動モータ24aへのモータ電流の変動に基づいて目標高さを補正する。ハンド3がワークWを取ると、第1電動モータ24aへのモータ電流はワークWの重量に応じて変動する。つまり、ハンド3がワークWを取った後の第1電動モータ24aへのモータ電流は、ワークWの重量を反映している。第1電動モータ24aへのモータ電流は搬送動作中に制御装置6が取得できるため、ユーザからのワークWの種類又は重量等の入力なしに、制御装置6は、ハンド3の目標高さの補正量を自動的に決定することができる。
【0060】
また、制御装置6は、ハンド3がワークWを取る前の第1電動モータ24aへのモータ電流も搬送動作中に取得している。制御装置6は、一連の搬送動作中、即ち、同じ搬送動作中にハンド3がワークWを取る前の実際のモータ電流とハンド3がワークWを取った後の実際のモータ電流とを取得し、それらのモータ電流の変動量に基づいてハンド3の目標高さの補正量を決定している。そのため、ユーザは、ハンド3がワークWを取る前の第1電動モータ24aへのモータ電流も制御装置6へ入力する必要がない。さらに、ハンド3がワークWを取る前の実際のモータ電流とハンド3がワークWを取った後の実際のモータ電流とが同じ条件下で取得されるため、制御装置6は、ワークWの重量を適切に反映した、目標高さの補正を実現することができる。
【0061】
このとき、制御装置6は、ハンド3がワークWを取る前後でハンド3の高さ位置が等速に変化する等速動作をロボットアーム2及びハンド3に実行させている。つまり、ハンド3がワークWを取る前後において、ワークWの重量以外の要因での第1電動モータ24aへのモータ電流の変動を低減することができる。これにより、制御装置6は、ワークWの重量をより適切に反映した、目標高さの補正を実現することができる。
【0062】
《その他の実施形態》
以上のように、本出願において開示する技術の例示として、前記実施形態を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、前記実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。また、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、前記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【0063】
例えば、ロボット1は、基板搬送に使用されるものに限定されない。ロボット1は、半導体を処理できる程度のクリーン環境での使用に限定されるものではない。ロボット1は、生産ライン等に組み込まれてもよい。
【0064】
ロボット1は、水平多関節ロボットに限定されない。例えば、ロボット1は、垂直多関節ロボットであってもよい。ロボット1は、ハンドが連結されたロボットアームを有していればよい。
【0065】
ロボットアーム2は、複数のリンク22で構成されていなくてもよい。ロボットアーム32分割されている場合、ロボットアーム2の分割数、即ち、リンク22の個数は、3に限定されない。ロボットアーム2は、2又は4以上のリンク22を有していてもよい。
【0066】
ハンド3の構成は、前述の構成に限定されない。例えば、ハンド3のワークの保持は、爪による把持に限定されない。例えば、ハンド3は、吸着によってワークを保持し得る。ハンド3は、ワークを単に下から支持するだけ、即ち、ワークを載せるだけでワークを保持し得る。ハンド3は、複数の指によってワークを把持してもよい。
【0067】
ハンド3の目標高さの補正は、前述の方法に限定されない。例えば、第1電動モータ24aの変動量は、前述の方法で求められる値に限定されない。モータ電流は、移動平均値に限定されず、平均処理されていない値であってもよい。また、第1電流値Iaと第2電流値Ibは、変動量が閾値以上となった直前と直後の電流値に限定されない。ハンド3及びワークWの位置は概ね既知であるので、ハンド3がワークWを取る前の所定のタイミングの電流値を第1電流値Iaとし、ハンド3がワークWを取った後の所定のタイミングの電流値を第2電流値Ibとしてもよい。
【0068】
また、第1電流値Iaは、予め取得された、ハンド3がワークWを取っていない場合の第1電動モータ24aへのモータ電流の電流値であってもよい。尚、第2電流値Ibは、ワークWの重量を反映するため、実際の搬送動作において取得される。第1電流値Iaが予め取得される場合、第1電流値Iaの取得条件は、第2電流値Ibの取得条件と近い方が好ましい。そのため、ロボット1に搬送動作と同じ動作をワークWをピッキングすることなく実行させ、搬送動作において第2電流値Ibが取得されるタイミングで第1電流値Iaを取得してもよい。これにより、ワークWを持っているか否か以外は略同じ条件で第1電流値Iaと第2電流値Ibとを取得することができる。
【0069】
また、補正量ΔZは、式(1)によって求められるものに限定されない。制御装置6は、モータ電流の変動量と目標高さの補正量との関係を規定したテーブルを記憶部63等に予め保存しておいてもよい。その場合、制御装置6は、モータ電流の変動量を記憶部63のテーブルに照らし合わせて、目標高さの補正量を求める。また、制御装置6は、モータ電流の変動量に応じて目標高さの補正量を連続的に変化させるものに限定されない。例えば、制御装置6は、モータ電流の変動量に応じて段階的に目標高さの補正量を調整してもよい。例えば、制御装置6は、大きさの異なる複数の目標高さの補正量を予め用意しておき、モータ電流の変動量に応じて何れかの補正量を選択してもよい。
【0070】
また、ハンド3の目標高さを補正するタイミングも任意に設定することができる。前述の例では、モータ電流の変動量が閾値以上になると、制御装置6は、補正量ΔZを求め、ハンド3の目標高さを補正している。例えば、制御装置6は、ハンド3の高さを第2目標高さZ2へ制御した後に、第2目標高さZ2を第2目標高さZ2’に補正し、ハンド3を第2目標高さZ2’に位置するように制御してもよい。
【0071】
フローチャートは、一例に過ぎない。フローチャートにおけるステップを適宜、変更、置き換え、付加、省略等を行ってもよい。また、フローチャートにおけるステップの順番を変更したり、直列的な処理を並列的に処理したりしてもよい。例えば、搬送動作のフローチャート(
図6)において、ステップS106の目標高さの補正とステップS107の保持動作とは、並行して行われてもよいし、順番が入れ替わってもよい。また、ステップS109の下降とステップ110の保持解除の順番が入れ替わってもよい。
【0072】
本明細書中に記載されている構成要素により実現される機能は、当該記載された機能を実現するようにプログラムされた、汎用プロセッサ、特定用途プロセッサ、集積回路、ASICs(Application Specific Integrated Circuits)、CPU(a Central Processing Unit)、従来型の回路、及び/又はそれらの組合せを含む、回路(circuitry)又は演算回路(processing circuitry)において実装されてもよい。プロセッサは、トランジスタ及びその他の回路を含み、回路又は演算回路とみなされる。プロセッサは、メモリに格納されたプログラムを実行する、プログラマブルプロセッサ(programmed processor)であってもよい。
【0073】
本明細書において、回路(circuitry)、ユニット、手段は、記載された機能を実現するようにプログラムされたハードウェア、又は実行するハードウェアである。当該ハードウェアは、本明細書に開示されているあらゆるハードウェア、又は、当該記載された機能を実現するようにプログラムされた、又は、実行するものとして知られているあらゆるハードウェアであってもよい。
【0074】
当該ハードウェアが回路(circuitry)のタイプであるとみなされるプロセッサである場合、当該回路、手段、又はユニットは、ハードウェアと、当該ハードウェア及び又はプロセッサを構成する為に用いられるソフトウェアの組合せである。
【0075】
本開示の技術をまとめると、以下のようになる。
【0076】
[1]ロボットシステム100は、ワークWを保持するハンド3と前記ハンド3が連結されたロボットアーム2とを有するロボット1と、前記ロボットアーム2を動作させて、前記ハンド3の位置制御を行う制御装置6とを備え、前記制御装置6は、前記位置制御における前記ハンド3の目標高さを前記ハンド3によって保持されるワークWに応じて補正する。
【0077】
この構成によれば、ワークWを取得することによって生じるロボットアーム2及びハンド3の撓みは、ワークWの重量によって異なる。つまり、ハンド3の高さは、ワークWの重量に応じて変動し得る。ハンド3の目標高さをワークWに応じて補正することによって、ワークWの重量に応じたハンド3の高さの変動を低減することができる。ワークWの重量が変わっても、ハンド3の高さの位置精度を安定させることができる。その結果、ハンド3の高さの位置精度を向上させることができる。
【0078】
[2] [1]のロボットシステム100において、前記ロボットアーム2は、前記ハンド3の高さ位置を変更する第1電動モータ24aを有し、前記制御装置6は、前記ハンド3がワークWを取ることに起因する、前記第1電動モータ24aへのモータ電流の変動に基づいて前記目標高さを補正する。
【0079】
この構成によれば、ハンド3がワークWを取ると、第1電動モータ24aへのモータ電流は、ワークWの重量に応じて変動する。つまり、ワークWを取ることに起因する、第1電動モータ24aへのモータ電流の変動は、ワークWの重量を反映している。このモータ電流の変動に基づいてハンド3の目標高さを補正することによって、ワークWに応じたハンド3の目標高さの補正を実現することができる。
【0080】
[3] [1]又は[2]に記載のロボットシステム100において、前記制御装置6は、予め取得された、前記ハンド3がワークWを取っていない場合の第1電動モータ24aへの前記モータ電流と前記ハンド3がワークWを取った後の実際の第1電動モータ24aへの前記モータ電流との変動量に基づいて、前記目標高さを補正する。
【0081】
この構成によれば、ハンド3がワークWを取っていない場合の第1電動モータ24aへのモータ電流、即ち、第1電流値Iaは、予め取得されている。一方、ハンド3がワークWを取った後の第1電動モータ24aへのモータ電流、即ち、第2電流値Ibは、ハンド3の位置制御中に実際のモータ電流の電流値が取得される。第2電流値Ibは、ハンド3が取ったワークWの重量に応じて変化する。一方、第1電流値Iaは、ワークWの影響を受けない。そのため、第1電流値Iaは、予め取得しておくことができる。これにより、実際の位置制御における補正時の処理を簡便にすることができる。
【0082】
[4] [1]又は[2]のロボットシステム100において、前記制御装置6は、前記位置制御によって前記ハンド3がワークWを取って搬送する一連の動作における、前記ハンド3がワークWを取る前の実際の前記モータ電流と前記ハンド3がワークWを取った後の実際の前記モータ電流との変動量に基づいて、前記目標高さを補正する。
【0083】
この構成によれば、ハンド3がワークWを取っていない場合の第1電動モータ24aへのモータ電流、即ち、第1電流値Iaも、ハンド3がワークWを取っている場合の第1電動モータ24aへのモータ電流、即ち、第2電流値Ibも、実際の一連の搬送動作中に取得される。この場合、事前にモータ電流の電流値を取得しておく必要が無いので、その点において補正の処理が簡便になる。
【0084】
[5] [2]乃至[4]の何れか1つに記載のロボットシステム100において、前記制御装置6は、前記ハンド3がワークWを取る前後において前記ハンド3の高さ位置が等速に変化する等速動作を前記ロボットアーム2及び前記ハンド3に実行させ、前記等速動作中における、前記ハンド3がワークWを取る前の実際の前記モータ電流と前記ハンド3がワークWを取った後の実際の前記モータ電流との変動量に基づいて、前記目標高さを補正する。
【0085】
この構成によれば、ハンド3がワークWを取る前後において第1電動モータ24aへのモータ電流が安定する。これにより、ハンド3がワークWを取ることに起因する、第1電動モータ24aへのモータ電流の変動を安定的に取得することができる。つまり、第1電流値Iaと第2電流値Ibとをモータ電流が比較的安定した状態で取得することができる。これにより、モータ電流の変動に基づいたハンド3の高さ位置の補正を精度よく行うことができる。
【0086】
[6] [2]に記載のロボットシステム100において、前記制御装置6は、前記ハンド3がワークWを取った後に前記目標高さを補正する。
【0087】
この構成によれば、ハンド3がワークWを取った後にハンド3の目標高さが補正される。つまり、ハンド3がワークWを取る前後で、第1電動モータ24aへのモータ電流が変動し得る。そのため、ハンド3がワークWを取った後に目標高さが補正される。
【0088】
[7] [1]乃至[6]の何れか1つに記載のロボットシステム100において、前記ロボットアーム2は、水平方向へ回転可能に連結された複数のリンク22を有する。
【0089】
この構成によれば、ロボット1は、いわゆる水平多関節ロボットである。前述のハンド3の目標高さの補正を行うことによって、水平多関節ロボットにおけるハンド3の高さの位置精度をより一層向上させることができる。
【0090】
[8] [1]乃至[6]の何れか1つに記載のロボットシステム100において、前記ハンド3は、ワークWとして基板を保持する。
【0091】
この構成によれば、ロボット1は、基板を搬送する。例えば、半導体ウェハの取り扱いには、高い位置精度が要求される。ロボット1によれば、半導体ウェハ等の基板の重量に応じて、ハンド3の実高さが適切に調整されるので、高い位置精度で基板を搬送することができる。
【0092】
[9] [1]乃至[6]の何れか1つに記載のロボットシステム100において、前記ハンド3は、複数種類のワークWの何れかを保持する。
【0093】
この構成によれば、ロボット1は、複数種類のワークWを扱う。ハンド3は、複数種類のワークWの中から選択されたワークWを保持する。制御装置6がハンド3の目標高さをワークWに応じて補正するので、ハンド3が保持するワークWの種類が異なっても、ハンド3の高さの位置精度の悪化が抑制される。
【0094】
[10]ロボット制御方法は、ワークWを保持するハンド3が連結されたロボットアーム2を動作させて、前記ハンド3の位置制御を行うことと、前記位置制御における前記ハンド3の目標高さを前記ハンド3によって保持するワークWに応じて補正することとを含む。
【0095】
この構成によれば、ハンド3の目標高さをワークWに応じて補正することによって、ワークWの重量に応じたハンド3の高さの変動を低減することができる。ワークWの重量が変わっても、ハンド3の高さの位置精度を安定させることができる。その結果、ハンド3の高さの位置精度を向上させることができる。
【0096】
[11]ワークWを保持するハンド3と前記ハンド3が連結されたロボットアーム2とを有するロボット1を制御する機能を制御装置6(コンピュータ)に実現させるためのロボット制御プログラム63aは、前記ロボットアーム2を動作させて、前記ハンド3の位置制御を行う機能と、前記位置制御における前記ハンド3の目標高さを前記ハンド3によって保持するワークWに応じて補正する機能とを制御装置6に実現させる。
【0097】
この構成によれば、ハンド3の目標高さをワークWに応じて補正することによって、ワークWの重量に応じたハンド3の高さの変動を低減することができる。ワークWの重量が変わっても、ハンド3の高さの位置精度を安定させることができる。その結果、ハンド3の高さの位置精度を向上させることができる。
【符号の説明】
【0098】
100 ロボットシステム
1 ロボット
2 ロボットアーム
22 リンク
24a 第1電動モータ(電動モータ)
3 ハンド
6 制御装置
63a ロボット制御プログラム
W ワーク