JP2021145062A - 角度ズレ取得方法、教示指令値取得方法、角度ズレ取得プログラム、及び教示指令値取得プログラム - Google Patents
角度ズレ取得方法、教示指令値取得方法、角度ズレ取得プログラム、及び教示指令値取得プログラム Download PDFInfo
- Publication number
- JP2021145062A JP2021145062A JP2020043416A JP2020043416A JP2021145062A JP 2021145062 A JP2021145062 A JP 2021145062A JP 2020043416 A JP2020043416 A JP 2020043416A JP 2020043416 A JP2020043416 A JP 2020043416A JP 2021145062 A JP2021145062 A JP 2021145062A
- Authority
- JP
- Japan
- Prior art keywords
- hand
- posture
- link
- angle deviation
- command value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Container, Conveyance, Adherence, Positioning, Of Wafer (AREA)
- Manipulator (AREA)
Abstract
【課題】水平多関節ロボットの特定の関節の角度誤差を取得する。【解決手段】角度ズレ取得方法は、第1工程と、第2工程と、第3工程と、を含む。第1工程では、制御装置の制御により、地面に対して一定の姿勢である第1基準姿勢に前記ハンドを保持しつつ当該ハンドを移動させることで、固定的に配置された第1基準部材に前記ハンドの特定部位を接触させる。この特定部位は、前記ハンドに対する相対位置が既知な部位である。第2工程では、前記制御装置の制御により、前記第1基準姿勢に前記ハンドを保持しつつ当該ハンドを移動させることで、固定的に配置された第2基準部材に前記ハンドの前記特定部位を接触させる。第3工程では、前記第1工程及び前記第2工程でそれぞれの基準部材に前記特定部位が接触したときの前記制御装置の指令値、及び、2つの基準部材の間の距離から、所定のリンクの姿勢の指令値と実際の姿勢の間のズレを計算により取得する。【選択図】図4
Description
本発明は、主として、水平多関節型のロボットにおいて、指令値と実際の姿勢とのズレを取得する手法に関する。
従来から、例えば半導体基板等の基板をハンドに保持して搬送するために、水平多関節型のロボットが用いられている。
特許文献1のロボットでは、ハンドにマッピングセンサが設けられている。特許文献1では、ハンドを所定の旋回軸の周りに揺動することで、マッピングセンサのセンサビームによりターゲットが水平方向に走査される。マッピングセンサの検出信号に基づいてオフセット量が算出され、このオフセット量に基づいてハンドをシフトさせる。これにより、ロボットから見たターゲットの平面位置を特定できる。特定されたターゲットの位置に基づいて、教示位置に対応するハンドの位置がロボットに教示される。
上記特許文献1の構成は、各関節での角度ゼロイングの誤差を考慮することなく、教示位置に対応するハンドの位置の誤差を是正している。従って、教示位置以外の位置にハンドを動かしたときの精度が十分でない場合があり、この点で改善の余地があった。
本発明は以上の事情に鑑みてされたものであり、その目的は、水平多関節ロボットにおいて、特定の関節の角度誤差を取得することにある。
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
本発明の第1の観点によれば、以下の角度ズレ取得方法が提供される。即ち、この角度ズレ取得方法は、第1リンクと、第2リンクと、ハンドと、制御装置と、を備える水平多関節型のロボットにおける、前記第2リンクの姿勢の指令値と実際の姿勢の間のズレである第2リンク角度ズレを取得する。前記第1リンクは、上下方向の第1軸を中心として回転することで姿勢を変更可能である。前記第2リンクは、前記第1リンクの先端に連結され、前記第1リンクに対して、上下方向の第2軸を中心として回転することで姿勢を変更可能である。前記ハンドは、前記第2リンクの先端に連結され、前記第2リンクに対して、上下方向の第3軸を中心として回転することで姿勢を変更可能である。前記制御装置は、前記第1リンクの姿勢、前記第2リンクの姿勢、及び前記ハンドの姿勢を制御する。前記角度ズレ取得方法は、第1工程と、第2工程と、第3工程と、を含む。前記第1工程では、前記制御装置の制御により、地面に対して一定の姿勢である第1基準姿勢に前記ハンドを保持しつつ当該ハンドを移動させることで、固定的に配置された第1基準部材に前記ハンドの特定部位を接触させる。この特定部位は、前記ハンドに対する相対位置が既知な部位である。前記第2工程では、前記制御装置の制御により、前記第1基準姿勢に前記ハンドを保持しつつ当該ハンドを移動させることで、前記第1基準部材とは別の位置に固定的に配置された第2基準部材に前記ハンドの前記特定部位を接触させる。前記第3工程では、前記第1工程で前記第1基準部材に前記特定部位が接触したときの前記制御装置の指令値、前記第2工程で前記第2基準部材に前記特定部位が接触したときの前記制御装置の指令値、及び、前記第1基準部材と前記第2基準部材との間の距離から、前記第2リンク角度ズレを計算により取得する。
本発明の第2の観点によれば、以下の構成の角度ズレ取得プログラムが提供される。即ち、この角度ズレ取得プログラムは、第1リンクと、第2リンクと、ハンドと、制御装置と、を備える水平多関節型のロボットにおける、前記第2リンクの姿勢の指令値と実際の姿勢の間のズレである第2リンク角度ズレを取得する。前記第1リンクは、上下方向の第1軸を中心として回転することで姿勢を変更可能である。前記第2リンクは、前記第1リンクの先端に連結され、前記第1リンクに対して、上下方向の第2軸を中心として回転することで姿勢を変更可能である。前記ハンドは、前記第2リンクの先端に連結され、前記第2リンクに対して、上下方向の第3軸を中心として回転することで姿勢を変更可能である。前記制御装置は、前記第1リンクの姿勢、前記第2リンクの姿勢、及び前記ハンドの姿勢を制御する。前記角度ズレ取得プログラムは、第1ステップと、第2ステップと、第3ステップと、を含む。前記第1ステップでは、前記制御装置の制御により、地面に対して一定の姿勢である第1基準姿勢に前記ハンドを保持しつつ当該ハンドを移動させることで、固定的に配置された第1基準部材に前記ハンドの特定部位を接触させる。この特定部位は、前記ハンドに対する相対位置が既知な部位である。前記第2ステップでは、前記制御装置の制御により、前記第1基準姿勢に前記ハンドを保持しつつ当該ハンドを移動させることで、前記第1基準部材とは別の位置に固定的に配置された第2基準部材に前記ハンドの前記特定部位を接触させる。前記第3ステップでは、前記第1ステップで前記第1基準部材に前記特定部位が接触したときの前記制御装置の指令値、前記第2ステップで前記第2基準部材に前記特定部位が接触したときの前記制御装置の指令値、及び、前記第1基準部材と前記第2基準部材との間の距離から、前記第2リンク角度ズレを計算により取得する。
これにより、2つの基準部材にハンドの特定部位を接触させる簡単な動作で、第2リンク角度ズレを計算により得ることができる。
本発明によれば、水平多関節ロボットにおいて、特定の関節の角度誤差を取得することができる。
次に、図面を参照して本発明の実施の形態を説明する。図1は、本発明の一実施形態に係る角度ズレ取得方法が適用されるロボット1の全体的な構成を示す斜視図である。図2は、ロボット1の電気的構成を示すブロック図である。
図1に示すロボット1は、ウエハ(基板)2を移載するロボットとして用いられる。ロボット1は、SCARA(スカラ)型の水平多関節ロボットによって実現される。SCARAは、Selective Compliance Assembly Robot Armの略称である。
ロボット1は、図1等に示すように、ロボット本体5と、コントローラ(制御装置)50と、を備える。ロボット本体5は、基台6と、昇降軸10と、第1リンク11と、第2リンク12と、ハンド13と、を備える。
基台6は、地面(例えば、工場の床面)に固定される。基台6は、昇降軸10を支持するベース部材として機能する。基台6は、工場等の建物の天井に固定されても良い。
昇降軸10は、基台6に対して上下方向に移動する。この昇降により、第1リンク11、第2リンク12及びハンド13の高さを変更することができる。
昇降軸10の上部には、第1リンク11が支持されている。第1リンク11は、昇降軸10に対して、上下方向の第1軸c1を中心として回転する。これにより、第1リンク11の姿勢を水平面内で変更することができる。
第1リンク11の先端に、第2リンク12が支持されている。第2リンク12は、第1リンク11に対して、上下方向の第2軸c2を中心として回転する。これにより、第2リンク12の姿勢を水平面内で変更することができる。
第2リンク12の先端に、ハンド13が支持されている。ハンド13は、第2リンク12に対して、上下方向の第3軸c3を中心として回転する。これにより、ハンド13の姿勢を水平面内で変更することができる。ハンド13は、エンドエフェクタの一種である。ハンド13は、公知の適宜の方法で、搬送対象物であるウエハ2を保持したり、保持を解除したりすることができる。
ハンド13は、概ね、平面視でV字状又はU字状に形成されている。ハンド13の幅方向外側には、凹部13aが形成されている。凹部13aには、後述の第1ピン61及び第2ピン62を接触させることができる。本実施形態において、凹部13aはハンド13の特定の位置に設けられている。従って、ハンド13における凹部13aの部分を特定部位と呼ぶこともできる。
本実施形態において、ハンド13の基準位置は、ハンド13にウエハ2を保持した場合の基板中心に定められる。ただし、ハンド13の基準位置として他の位置が用いられても良い。凹部13aは予め定めた場所に形成されるので、凹部13aの位置と、ハンド13の基準位置と、の関係は既知である。
ハンド13の幅方向外側には、直線部分13bが形成されている。直線部分13bには、第1ピン61を接触させることができる。ハンド13の姿勢に対する直線部分13bの傾斜は既知である。
図2に示すように、ロボット本体5は、昇降アクチュエータ20と、第1姿勢アクチュエータ21と、第2姿勢アクチュエータ22と、第3姿勢アクチュエータ23と、を備える。本実施形態において、これらのアクチュエータは電動モータ、具体的にはサーボモータとして構成されるが、これに限定されない。それぞれのアクチュエータは、コントローラ50に電気的に接続される。
昇降アクチュエータ20は、基台6に対して昇降軸10を上下方向に変位させる。
第1姿勢アクチュエータ21は、昇降軸10に対して第1リンク11を回転させ、その姿勢を変更させる。
第2姿勢アクチュエータ22は、第1リンクに対して第2リンク12を回転させ、その姿勢を変更させる。
第3姿勢アクチュエータ23は、第2リンクに対してハンド13を回転させ、その姿勢を変更させる。
それぞれのアクチュエータの駆動は、コントローラ50から入力された指令値を反映するように行われる。
コントローラ50は、予め定められる動作プログラム又はユーザから入力される移動指令に従って、上述のアクチュエータに指令値を出力して制御し、予め定められる位置にハンド13を移動させる。
コントローラ50は、図2等に示すように、記憶部51と、演算部52と、を備える。記憶部51は、所定のプログラム及び各種のデータを記憶する。演算部52は、前記プログラムに従って演算処理を行う。コントローラ50は、演算部52の演算結果に基づいて、上述のアクチュエータに指令値を出力する。
コントローラ50は、CPU、ROM、RAM、補助記憶装置等を備える公知のコンピュータとして構成されている。補助記憶装置は、例えばHDD、SSD等として構成される。補助記憶装置には、ロボット制御プログラム、及び、本発明の角度ズレ取得プログラム等が記憶されている。これらのハードウェア及びソフトウェアの協働により、コントローラ50を、記憶部51及び演算部52等として動作させることができる。
次に、第2姿勢アクチュエータ22及び第3姿勢アクチュエータ23の角度基準の誤差について説明する。
ロボット本体5に備えられる各アクチュエータは、入力された指令値に応じて、出力軸の回転角度を変化させる。指令値は、適宜のソフトウェアによって生成される。以下、指令値を生成するソフトウェアを指令生成ソフトウェアと呼ぶことがある。指令生成ソフトウェアでロボット本体5の動作をプログラムすることで、ウエハ2の搬送を実現できる。
しかし、各アクチュエータの回転角度のゼロ基準に誤差が生じているために、アクチュエータに与えられる指令値と、出力軸の回転角度と、が一致しないことがある。
以下、角度ズレについて詳細に説明する。図3はロボット本体5の平面図である。図3には、第2姿勢アクチュエータ22の角度ズレα、及び、第3姿勢アクチュエータ23の角度ズレβが示されている。以下では、便宜上、第1姿勢アクチュエータ21の角度ズレは生じていないものとして説明する。ただし、本実施形態の角度ズレ取得方法は、第1姿勢アクチュエータ21の角度ズレの有無にかかわらず適用することができる。
図3には、第1リンク11、第2リンク12及びハンド13に関して、指令生成ソフトウェアで意図していた位置及び姿勢が鎖線で示され、実際の位置及び姿勢が実線で示されている。第2リンク12の実際の姿勢は、指令生成ソフトウェアでの姿勢と比較して、第2姿勢アクチュエータ22の角度ズレαの分だけ異なっている。ハンド13は第2リンク12の先端に支持されているので、ハンド13の実際の位置も、第2姿勢アクチュエータ22の角度ズレαの影響を受ける。なお、図3のl4は第2リンク12のリンク長である。
ハンド13の実際の姿勢は、指令生成ソフトウェアでの姿勢と比較して、第2姿勢アクチュエータ22の角度ズレα、及び、第3姿勢アクチュエータ23の角度ズレβの分だけ異なっている。
これらの角度ズレα,βは、動作精度を低下させる原因になるので、補正することが望まれる。
そこで本実施形態では、以下に示す方法で、角度ズレα,βを計算により取得している。この方法は、ロボット本体5にインストールされた角度ズレ取得プログラムによって自動的に実現される。
最初に、コントローラ50は、図4に示すように、ロボット本体5の設置面に対して固定的に配置された第1ピン(第1基準部材)61に、ハンド13に形成された凹部13aを接触させるようにロボット本体5を動作させる(第1工程)。第1ピン61は、上下方向に細長い円柱状の部材である。
第1リンク11、第2リンク12及びハンド13に関して、図3から図7までにおいて、指令生成ソフトウェアで意図した姿勢が鎖線で示され、実際の姿勢が実線で示されている。
ハンド13を第1ピン61に近づける過程で、コントローラ50は、第1姿勢アクチュエータ21、第2姿勢アクチュエータ22及び第3姿勢アクチュエータ23の指令値を連動して変化させ、ハンド13の地面の姿勢が一定となるように保持する。以下、このときのハンド13の姿勢を第1基準姿勢と呼ぶことがある。
指令生成ソフトウェアでのハンド13の移動が、図4の白抜き矢印で示されている。図4ではハンド13を直線的に移動させる例が示されているが、ハンド13をどのような経路で第1ピン61に近づけるかは任意である。指令生成ソフトウェアでのハンド13の移動に伴って、各アクチュエータへ指令値が出力され、この結果、実際のハンド13も移動する。
前述の角度ズレα,βの影響で、実際のハンド13の位置及び姿勢は、指令生成ソフトウェアでのハンド13の位置及び姿勢と異なっている。しかし、角度ズレα,βは一定であるため、ハンド13の移動の過程で姿勢が変化しないように指令生成ソフトウェアがアクチュエータへの指令値を生成すれば、実際のハンド13の姿勢も変化しないはずである。
やがて、実際のハンド13において、凹部13aに第1ピン61が入り込んで接触したことが、図略の検出センサにより検出される。検出センサは、ハンド13における凹部13aの近傍に配置されている。この検出センサは、例えば光センサとして構成することができるが、これに限定されない。コントローラ50は、凹部13aに第1ピン61が入り込んで接触した時点での、第1姿勢アクチュエータ21、第2姿勢アクチュエータ22及び第3姿勢アクチュエータ23の指令値を記憶する。
実際のハンド13が、凹部13a以外の場所で第1ピン61に接触する場合もあり得る。ハンド13と第1ピン61との接触は、アクチュエータが電動モータである場合は、当該モータの負荷を監視することで検出することができる。前述の検出センサが第1ピン61を検出していないのに、モータの負荷が閾値を上回った場合、コントローラ50は、ハンド13が凹部13a以外の場所で第1ピン61に接触していると判断する。この場合、コントローラ50は、ハンド13を前述の第1基準姿勢で保持しつつ、凹部13aに第1ピン61を入れるように、当該ハンド13の位置を試行錯誤的に変化させる。
次に、コントローラ50は、図5に示すように、ロボット本体5の設置面に対して固定的に配置された第2ピン(第2基準部材)62に、ハンド13の凹部13aを接触させるようにロボット本体5を動作させる(第2工程)。第2ピン62は、第1ピン61とは別の位置に設けられている。第2ピン62は、第1ピン61と同一形状の部材である。
ハンド13を第2ピン62に近づける過程で、コントローラ50は、ハンド13の姿勢を、図4の工程で示したハンド13の第1基準姿勢と同一の姿勢で保持する。図5の工程は、接触させる対象のピンが異なる以外は図4の工程と実質的に同様であるので、説明を省略する。コントローラ50は、凹部13aに第2ピン62が入り込んで接触した時点での、第1姿勢アクチュエータ21、第2姿勢アクチュエータ22及び第3姿勢アクチュエータ23の指令値を記憶する。
続いて、コントローラは、図4の工程と図5の工程で得られたハンド13の指令生成ソフトウェア上での位置及び姿勢から、第2姿勢アクチュエータ22の角度ズレαを、計算により求める(第3工程)。以下、詳細に説明する。
図4の工程で、実際のハンド13で凹部13aに第1ピン61が入り込んだ状態での各アクチュエータへの指令値を用いて、実際のハンド13の位置及び姿勢を、上述の角度ズレα,βで表すことができる。なお、平面視でのハンド13の位置は、例えば、第1リンク11の回転中心を原点とした直交座標系で表現することができる。ハンド13の位置と凹部13aの位置関係は既知であるから、上記の直交座標系における第1ピン61の位置も角度ズレα,βを用いて表すことができる。
図5の工程でも同様に、実際のハンド13で凹部13aに第2ピン62が入り込んだ状態での各アクチュエータへの指令値を用いて、実際のハンド13の位置及び姿勢を、角度ズレα,βで表すことができる。従って、第2ピン62の位置も角度ズレα,βを用いて表すことができる。
上記のように第1ピン61及び第2ピン62のそれぞれの位置を座標の形で表すことができるので、第1ピン61及び第2ピン62の中心間距離を、角度ズレα,βを用いて表すことができる。そして、(角度ズレα,βを用いて表されたピン中心間距離)=(実際のピン中心間距離)の方程式を解く計算により、第2姿勢アクチュエータ22の角度ズレαを求めることができる。実際のピン中心間距離は、設計上の値を用いても良いし、実測で求めても良い。
なお、図4の工程で第1ピン61に接触するハンド13の姿勢と、図5の工程で第2ピン62に接触するハンド13の姿勢と、が一致している。この結果、上記の方程式を解くにあたって、第3姿勢アクチュエータ23の角度ズレβを消去することができる。
ここで、l4は、第2リンク12のリンク長である。A2は、ハンド13の凹部13aが第1ピン61に接触したときの、第1リンク11の姿勢の指令値である。A4は、ハンド13の凹部13aが第1ピン61に接触したときの、第2リンク12の姿勢の指令値である。B2は、ハンド13の凹部13aが第2ピン62に接触したときの、第1リンク11の姿勢の指令値である。B4は、ハンド13の凹部13aが第2ピン62に接触したときの、第2リンク12の姿勢の指令値である。
ax及びayは、ハンド13の凹部13aが第1ピン61に接触したときの指令値から得られる、指令生成ソフトウェアでの第1ピン61の中心のx座標及びy座標である。bx及びbyは、ハンド13の凹部13aが第2ピン62に接触したときの指令値から得られる、指令生成ソフトウェアでの第2ピン62の中心のx座標及びy座標である。Lは、実際のピン中心間距離である。ピン中心間距離とは、第1ピン61の中心と、第2ピン62の中心と、の間の距離をいう。Lsは、ax、ay、bx及びbyから得られるピン中心間距離である。
以下、上記の方程式の導出について簡単に説明する。
[A]指令生成ソフトウェアにおけるハンド13の基準位置(x座標及びy座標)は、第1リンク11のリンク長、第2リンク12のリンク長、ハンド13のリンク長、第1リンク11の姿勢の指令値、第2リンク12の姿勢の指令値、及び、ハンド13の姿勢の指令値を用いて、三角関数で表すことができる。ここで、ハンド13のリンク長とは、第3軸c3からハンド13の基準位置までの長さを意味する。
[B]指令生成ソフトウェアにおけるハンド13の姿勢は、第1リンク11の姿勢の指令値、第2リンク12の姿勢の指令値、及び、ハンド13の姿勢の指令値の総和として得られる。
[C]実際のハンドの基準位置(x座標及びy座標)は、第2リンク12の姿勢の指令値に対して角度ズレαを加算し、ハンド13の姿勢の指令値に対して角度ズレβを加算した上で、[A]と同様に計算することができる。
[D]実際のハンド13の姿勢は、[B]で得られた姿勢に対し、2つの角度ズレα,βを加算することで得られる。
[E]実際のハンド13の凹部13aに第1ピン61が入っているとき、第1ピン61の中心位置(x座標及びy座標)と各指令値の関係は、[C]で得られた実際のハンド13の基準位置と、[D]で得られた実際のハンド13の姿勢と、を用いて、三角関数で表すことができる。
[F]実際のハンド13の凹部13aに第2ピン62が入っているとき、第2ピン62の中心位置(x座標及びy座標)と各指令値の関係は、第1ピンの場合と同様に三角関数で表すことができる。
[G]凹部13aが第1ピン61に接触しているときと、凹部13aが第2ピン62に接触しているときとで、ハンド13の姿勢は、指令生成ソフトウェアにおいても、実際においても一致している。
[H]実際の2つのピンの中心間距離をLとすると、三平方の定理により、L2=(実際の2つのピンのx座標の差)2+(実際の2つのピンのy座標の差)2の関係が成立する。この式の左辺に、[E]及び[F]で得られた結果が代入される。
[I][H]の式を適宜変形し、整理する。変形には、三角関数の加法定理が用いられたり、[G]の関係が用いられたりする。また、角度ズレα,βの単位をradとすると、α及びβは十分にゼロに近いため、sinα≒α、α2≒0、cosα=√(1−α2)≒1、sin(α+β)≒α+β、cos(α+β)≒1等と近似できる。この整理の過程で、第1リンク11のリンク長、ハンド13のリンク長、角度ズレβ等が消去される。以上により、上述の2次方程式を得ることができる。示された2次方程式は一例であり、式の変形方法、及び近似手法に応じて、他の方程式が得られる場合もある。
次に、第3姿勢アクチュエータ23の角度ズレβを取得する一連の工程を説明する。
コントローラ50は、図6に示すように、前述の第1ピン(基準部材)61に、ハンド13に形成された直線部分13bの任意の場所を接触させるように制御する(第4工程)。この移動の際も、図3及び図4の場合と同じように、ハンド13の姿勢は所定の姿勢に保持される。以下、このときのハンド13の姿勢を第2基準姿勢と呼ぶことがある。第2基準姿勢は前述の第1基準姿勢と一致しても良いし、異なっても良い。
直線部分13bと第1ピン61との接触は、図4で説明したのと同様に、モータの負荷を監視することで検出することができる。コントローラ50は、実際のハンド13の直線部分13bに第1ピン61が接触した時点での、第1姿勢アクチュエータ21、第2姿勢アクチュエータ22及び第3姿勢アクチュエータ23の指令値を記憶する。
次に、コントローラ50は、図7に示すように、ハンド13に形成された直線部分13bのうち図6の接触場所とは異なる場所を第1ピン61に接触させるように制御する(第5工程)。このとき、図6と同様に、ハンド13の姿勢は第2基準姿勢に保持される。コントローラ50は、実際のハンド13の直線部分13bに第1ピン61が接触した時点での、第1姿勢アクチュエータ21、第2姿勢アクチュエータ22及び第3姿勢アクチュエータ23の指令値を記憶する。
上述のとおり、ハンド13の姿勢に対する直線部分13bの角度は既知である。従って、図6の工程及び図7の工程で得られた指令値により、指令生成ソフトウェアでのハンド13の姿勢と、直線部分13bの2点を第1ピン61に接触させることで得られる実際のハンド13の姿勢と、のズレを得ることができる。
得られたハンド13の姿勢のズレは、図3を用いて説明したとおり、第2姿勢アクチュエータ22の角度ズレαと、第3姿勢アクチュエータ23の角度ズレβと、が累積したものである。第2姿勢アクチュエータ22の角度ズレαは既に得られているので、計算により、第3姿勢アクチュエータ23の角度ズレβを得ることができる(第6工程)。
次に、ハンド13を所定の教示位置及び教示姿勢とするための指令値を求める方法について説明する。この教示位置及び教示姿勢は、例えば、他の装置に対してハンド13でウエハ2を受渡しするための位置及び姿勢とすることができるが、これに限定されない。この方法は、ロボット本体5にインストールされた教示指令値取得プログラムによって自動的に実現される。
教示位置を自動的にロボット1に認識させるために、図8に示すように、4つの位置決めピン71,72,73,74が、ロボット本体5の設置面に対して固定的に配置されている。4つの位置決めピン71,72,73,74は、ハンド13の教示位置を重心とする4角形の頂点をなすように配置される。それぞれの位置決めピン71,72,73,74の形状は、第1ピン61と同じでも良いし、異なっていても良い。
コントローラ50は、図8に示すように、ハンド13に形成された凹部13aを、4つの位置決めピン71,72,73,74のそれぞれに順次接触させるように動作させる。このときの制御は、ハンド13の姿勢を任意に制御して良いことを除き、図4で説明した制御と実質的に同じである。コントローラ50は、実際のハンド13の凹部13aに各位置決めピン71,72,73,74が接触する毎に、第1姿勢アクチュエータ21、第2姿勢アクチュエータ22及び第3姿勢アクチュエータ23の指令値を記憶する。
得られた指令値、及び、前述の角度ズレα,βに基づいて計算することにより、位置決めピン71,72,73,74のそれぞれの中心位置(実際の位置)を計算により取得することができる。
次に、コントローラ50は、4つの位置決めピン71,72,73,74を頂点とする4角形の重心位置を計算する。コントローラ50は、4角形の重心位置に前述のハンド13の基準位置を一致させ、かつ、予め設定された(理想的な)教示姿勢にハンド13の姿勢を一致させるための第1リンク11、第2リンク12及びハンド13の実際の姿勢を計算する。計算により得られた姿勢が、図9に実線で示されている。
コントローラ50は、図9の実線で示す第1リンク11、第2リンク12及びハンド13の姿勢と、前述の角度ズレα,βと、を用いて計算することで、実際のハンド13を教示位置及び教示姿勢とするために各アクチュエータに与えるべき指令値(教示指令値)を得る(第7工程)。この教示指令値は、教示位置及び教示姿勢として指令生成ソフトウェアがアクチュエータに与える値ということができる。教示指令値に相当する第1リンク11、第2リンク12及びハンド13の姿勢は、図9に鎖線で示されている。
本実施形態のコントローラ50は、ハンド13の教示位置及び教示姿勢を実現するために、誤差の原因となる第2姿勢アクチュエータ22の角度ズレα及び第3姿勢アクチュエータ23の角度ズレβを特定した形で、教示指令値を生成している。言い換えれば、リンク構造の先端にあるハンド13の位置及び姿勢だけを教示するのではなく、リンク構造の途中のリンクの姿勢も教示する。従って、ハンド13を教示位置及び教示姿勢から変化させた場合でも、位置及び姿勢の精度が良好である。
上記の角度ズレ取得方法及び教示指令値取得方法は、コントローラ50の記憶部51に記憶されているプログラムによって実現される。上述の第1工程から第7工程は、プログラムの第1ステップから第7ステップに対応する。
以上に説明したように、本実施形態では、水平多関節型のロボット1は、第1リンク11と、第2リンク12と、ハンド13と、コントローラ50と、を備える。第1リンク11は、上下方向の第1軸c1を中心として回転することで姿勢を変更可能である。第2リンク12は、第1リンク11の先端に連結され、第1リンク11に対して、上下方向の第2軸c2を中心として回転することで姿勢を変更可能である。ハンド13は、第2リンク12の先端に連結され、第2リンク12に対して、上下方向の第3軸c3を中心として回転することで姿勢を変更可能である。コントローラ50は、第1リンク11の姿勢、第2リンク12の姿勢、及びハンド13の姿勢を制御する。このロボット1において、第2リンク12の姿勢の指令値と実際の姿勢の間のズレである第2リンク角度ズレαが、以下の方法で取得される。この角度ズレ取得方法は、第1工程と、第2工程と、第3工程と、を含む。第1工程では、コントローラ50の制御により、地面に対して一定の姿勢である第1基準姿勢にハンド13を保持しつつハンド13を移動させることで、固定的に配置された第1ピン61にハンド13の凹部13aを接触させる。凹部13aは、ハンド13に対する相対位置が既知な部位である。第2工程では、コントローラ50の制御により、第1基準姿勢にハンド13を保持しつつハンド13を移動させることで、第1ピン61とは別の位置に固定的に配置された第2ピン62にハンド13の凹部13aを接触させる。第3工程では、第1工程で第1ピン61に凹部13aが接触したときのコントローラ50の指令値、第2工程で第2ピン62に凹部13aが接触したときのコントローラ50の指令値、及び、第1ピン61と第2ピン62との間の距離から、第2リンク角度ズレαを計算により取得する。
これにより、2つのピンにハンドの凹部13aを接触させる簡単な動作で、第2リンク角度ズレαを計算により得ることができる。
また、本実施形態では、角度ズレ取得方法は、第4工程と、第5工程と、第6工程と、を含む。第4工程では、コントローラ50の制御により、地面に対して一定の姿勢である第2基準姿勢にハンド13を保持しつつハンド13を移動させることで、固定的に配置された第1ピン61に、ハンド13が有する直線部分13bを接触させる。第5工程では、コントローラ50の制御により、第2基準姿勢にハンド13を保持しつつハンド13を移動させることで、第1ピン61に、ハンド13の直線部分13bを、第4工程で接触した場所以外の場所で接触させる。第6工程では、第4工程で第1ピン61に直線部分13bが接触したときのコントローラ50の指令値、第5工程で第1ピン61に直線部分13bが接触したときのコントローラ50の指令値、及び、第3工程で得られた第2リンク角度ズレαに基づいて、ハンド13の姿勢の指令値と実際のハンド13の間の角度ズレであるハンド角度ズレβを計算により取得する。
これにより、ピンにハンド13の直線部分13bを接触させる簡単な動作で、ハンド角度ズレβを計算により得ることができる。
また、本実施形態では、角度ズレ取得方法で得られた第2リンク角度ズレα及びハンド角度ズレβを用いて、基準指令値を計算により取得する第7工程を含む。基準指令値とは、ハンド13を教示位置及び教示姿勢とするためにコントローラ50が出力する指令値である。
これにより、ロボット1への位置及び姿勢の教示を、簡単に、かつ高精度に行うことができる。
以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
ハンド13の特定部位は、凹部13aの部分に限定されない。第1ピン61等がハンド13の特定部位に接触したことをセンサ等で検出できる限り、特定部位の形状は任意である。特定部位の数も1つに限らず、複数とすることもできる。
図6及び図7の工程でハンド13の直線部分13bを接触させる相手は、第1ピン61の代わりに第2ピン62としても良い。直線部分13bを接触させるピンが、第1ピン61及び第2ピン62とは別に設けられても良い。
上記の実施形態で、図8の工程における4つの位置決めピン71,72,73,74のうち、位置決めピン71は第1ピン61と共通であり、位置決めピン72は第2ピン62と共通である。しかし、位置決めピン71,72,73,74は、第1ピン61及び第2ピン62とは別に設けられても良い。
図8の工程で用いられる4つの位置決めピン71,72,73,74のうち一部を、ハンド13の教示姿勢の基準として用いることもできる。例えば、2つの位置決めピン71,72を、ハンド13の教示姿勢と平行な線分の両端に配置することができる。この場合、コントローラ50は、2つの位置決めピン71,72の中心を結ぶ直線の傾きを計算して、この直線と平行な姿勢をハンド13の教示姿勢とする。
図8の工程で用いられる位置決めピンの数は、複数であれば任意である。ハンド13の教示位置との位置関係が既知である2以上の位置決めピンが配置されていれば、ロボット1側で教示位置を自動的に認識することができる。例えば、位置決めピンを2つ配置し、この位置決めピンの中心同士を結ぶ線分の2等分点がハンド13の教示位置と一致するように構成することができる。
ロボット1は、半導体ウエハ以外の基板、例えばガラス板等の搬送のために用いることもできる。
1 ロボット
11 第1リンク
12 第2リンク
13 ハンド
13a 凹部(特定部位)
13b 直線部分
50 コントローラ(制御装置)
61 第1ピン(第1基準部材、基準部材)
62 第2ピン(第2基準部材)
α 第2リンク角度ズレ
β ハンド角度ズレ
c1 第1軸
c2 第2軸
c3 第3軸
11 第1リンク
12 第2リンク
13 ハンド
13a 凹部(特定部位)
13b 直線部分
50 コントローラ(制御装置)
61 第1ピン(第1基準部材、基準部材)
62 第2ピン(第2基準部材)
α 第2リンク角度ズレ
β ハンド角度ズレ
c1 第1軸
c2 第2軸
c3 第3軸
Claims (6)
- 上下方向の第1軸を中心として回転することで姿勢を変更可能な第1リンクと、
前記第1リンクの先端に連結され、前記第1リンクに対して、上下方向の第2軸を中心として回転することで姿勢を変更可能な第2リンクと、
前記第2リンクの先端に連結され、前記第2リンクに対して、上下方向の第3軸を中心として回転することで姿勢を変更可能なハンドと、
前記第1リンクの姿勢、前記第2リンクの姿勢、及び前記ハンドの姿勢を制御する制御装置と、
を備える水平多関節型のロボットにおける、前記第2リンクの姿勢の指令値と実際の姿勢の間のズレである第2リンク角度ズレを取得する角度ズレ取得方法であって、
前記制御装置の制御により、地面に対して一定の姿勢である第1基準姿勢に前記ハンドを保持しつつ当該ハンドを移動させることで、固定的に配置された第1基準部材に前記ハンドの特定部位を接触させ、この特定部位は、前記ハンドに対する相対位置が既知な部位である第1工程と、
前記制御装置の制御により、前記第1基準姿勢に前記ハンドを保持しつつ当該ハンドを移動させることで、前記第1基準部材とは別の位置に固定的に配置された第2基準部材に前記ハンドの前記特定部位を接触させる第2工程と、
前記第1工程で前記第1基準部材に前記特定部位が接触したときの前記制御装置の指令値、前記第2工程で前記第2基準部材に前記特定部位が接触したときの前記制御装置の指令値、及び、前記第1基準部材と前記第2基準部材との間の距離から、前記第2リンク角度ズレを計算により取得する第3工程と、
を含むことを特徴とする角度ズレ取得方法。 - 請求項1に記載の角度ズレ取得方法であって、
前記制御装置の制御により、地面に対して一定の姿勢である第2基準姿勢に前記ハンドを保持しつつ当該ハンドを移動させることで、固定的に配置された基準部材に、前記ハンドが有する直線部分を接触させる第4工程と、
前記制御装置の制御により、前記第2基準姿勢に前記ハンドを保持しつつ当該ハンドを移動させることで、前記基準部材に、前記ハンドの前記直線部分を、前記第4工程で接触した場所以外の場所で接触させる第5工程と、
前記第4工程で前記基準部材に前記直線部分が接触したときの前記制御装置の指令値、前記第5工程で前記基準部材に前記直線部分が接触したときの前記制御装置の指令値、及び、前記第3工程で得られた前記第2リンク角度ズレに基づいて、前記ハンドの姿勢の指令値と実際の姿勢の間のズレであるハンド角度ズレを計算により取得する第6工程と、
を含むことを特徴とする角度ズレ取得方法。 - 請求項2に記載の角度ズレ取得方法で得られた前記第2リンク角度ズレ及び前記ハンド角度ズレを用いて、前記ハンドの実際の位置及び姿勢を所定の教示位置及び教示姿勢とするために前記制御装置が出力する指令値である教示指令値を計算により取得する第7工程を含むことを特徴とする教示指令値取得方法。
- 上下方向の第1軸を中心として回転することで姿勢を変更可能な第1リンクと、
前記第1リンクの先端に連結され、前記第1リンクに対して、上下方向の第2軸を中心として回転することで姿勢を変更可能な第2リンクと、
前記第2リンクの先端に連結され、前記第2リンクに対して、上下方向の第3軸を中心として回転することで姿勢を変更可能なハンドと、
前記第1リンクの姿勢、前記第2リンクの姿勢、及び前記ハンドの姿勢を制御する制御装置と、
を備える水平多関節型のロボットにおける、前記第2リンクの姿勢の指令値と実際の姿勢の間のズレである第2リンク角度ズレを取得する角度ズレ取得プログラムであって、
前記制御装置の制御により、地面に対して一定の姿勢である第1基準姿勢に前記ハンドを保持しつつ当該ハンドを移動させることで、固定的に配置された第1基準部材に前記ハンドの特定部位を接触させ、この特定部位は、前記ハンドに対する相対位置が既知な部位である第1ステップと、
前記制御装置の制御により、前記第1基準姿勢に前記ハンドを保持しつつ当該ハンドを移動させることで、前記第1基準部材とは別の位置に固定的に配置された第2基準部材に前記ハンドの前記特定部位を接触させる第2ステップと、
前記第1ステップで前記第1基準部材に前記特定部位が接触したときの前記制御装置の指令値、前記第2ステップで前記第2基準部材に前記特定部位が接触したときの前記制御装置の指令値、及び、前記第1基準部材と前記第2基準部材との間の距離から、前記第2リンク角度ズレを計算により取得する第3ステップと、
を含むことを特徴とする角度ズレ取得プログラム。 - 請求項4に記載の角度ズレ取得プログラムであって、
前記制御装置の制御により、地面に対して一定の姿勢である第2基準姿勢に前記ハンドを保持しつつ当該ハンドを移動させることで、固定的に配置された基準部材に、前記ハンドが有する直線部分を接触させる第4ステップと、
前記制御装置の制御により、前記第2基準姿勢に前記ハンドを保持しつつ当該ハンドを移動させることで、前記基準部材に、前記ハンドの前記直線部分を、前記第4ステップで接触した場所以外の場所で接触させる第5ステップと、
前記第4ステップで前記基準部材に前記直線部分が接触したときの前記制御装置の指令値、前記第5ステップで前記基準部材に前記直線部分が接触したときの前記制御装置の指令値、及び、前記第3ステップで得られた前記第2リンク角度ズレに基づいて、前記ハンドの姿勢の指令値と実際の姿勢の間のズレであるハンド角度ズレを計算により取得する第6工程と、
を含むことを特徴とする角度ズレ取得プログラム。 - 請求項5に記載の角度ズレ取得プログラムで得られた前記第2リンク角度ズレ及び前記ハンド角度ズレを用いて、前記ハンドの実際の位置及び姿勢を所定の教示位置及び教示姿勢とするために前記制御装置が出力する指令値である教示指令値を計算により取得する第7ステップを含むことを特徴とする教示指令値取得プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020043416A JP2021145062A (ja) | 2020-03-12 | 2020-03-12 | 角度ズレ取得方法、教示指令値取得方法、角度ズレ取得プログラム、及び教示指令値取得プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020043416A JP2021145062A (ja) | 2020-03-12 | 2020-03-12 | 角度ズレ取得方法、教示指令値取得方法、角度ズレ取得プログラム、及び教示指令値取得プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021145062A true JP2021145062A (ja) | 2021-09-24 |
Family
ID=77767120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020043416A Pending JP2021145062A (ja) | 2020-03-12 | 2020-03-12 | 角度ズレ取得方法、教示指令値取得方法、角度ズレ取得プログラム、及び教示指令値取得プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021145062A (ja) |
-
2020
- 2020-03-12 JP JP2020043416A patent/JP2021145062A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5129910B2 (ja) | ロボットを較正する方法及び装置 | |
US6317699B1 (en) | Device and method for calibrating a robot | |
US6996456B2 (en) | Robot with tactile sensor device | |
JPH11502776A (ja) | 多軸工業ロボットの較正の装置と方法 | |
US10020216B1 (en) | Robot diagnosing method | |
KR20210100685A (ko) | 로봇의 위치 보정 방법 및 로봇 | |
JP2009125857A (ja) | ロボットのキャリブレーション装置及び方法 | |
US20200206933A1 (en) | Method of correcting position of robot and robot | |
JP4613955B2 (ja) | 回転軸線算出方法、プログラムの作成方法、動作方法およびロボット装置 | |
US11745349B2 (en) | Origin calibration method of manipulator | |
JP6011089B2 (ja) | ロボットシステム並びにロボット制御装置及び方法 | |
WO2021060227A1 (ja) | 高さ補正システム | |
JP2021145062A (ja) | 角度ズレ取得方法、教示指令値取得方法、角度ズレ取得プログラム、及び教示指令値取得プログラム | |
CN111332833B (zh) | 运送系统以及运送控制方法 | |
CN113580126A (zh) | 用于设置机器人装配操作的系统和方法 | |
JP2017047479A (ja) | ロボット、制御装置、及びロボットシステム | |
JP6984711B1 (ja) | ロボット位置校正システム、ロボット位置校正方法およびロボット位置校正プログラム | |
US20230311306A1 (en) | Robot and hand orientation adjustment method | |
WO2021060228A1 (ja) | 高さ補正システム | |
US20230191611A1 (en) | Robot system | |
JP2022142376A (ja) | ロボットシステム、およびロボットシステムの制御方法 | |
JP7384653B2 (ja) | ロボットの位置を制御するロボット装置の制御装置 | |
KR102517746B1 (ko) | 기판 반송 로봇 및 타겟체의 에지 위치 교시 방법 | |
WO2023204143A1 (ja) | 基板搬送ロボットの制御装置及び基板搬送ロボットの制御方法 | |
JP7149815B2 (ja) | ロボットシステム及びその運転方法 |