以下、本発明の実施形態について図面を参照しながら説明する。ただし、本発明はこの形態に限定されない。また、図面においては実施形態を説明するため、一部分を大きく又は強調して記載するなど適宜縮尺を変更して表現している。以下の各図において、XYZ座標系を用いて図中の方向を説明する。このXYZ座標系においては、水平面に平行な平面をXZ平面とする。このXZ平面において、後述する工作機械10の主軸13、14の回転軸に沿った方向をZ方向と表記し、Z方向に直交する方向をX方向と表記する。また、XZ平面に垂直な方向はY方向と表記する。X方向、Y方向、及びZ方向のそれぞれは、図中の矢印の指す方向が+方向であり、矢印の指す方向とは反対の方向が−方向であるとして説明する。
[第1実施形態]
図1は、第1実施形態に係るローダ制御装置1の一例を示す図である。図2及び図3は、ローダ制御装置1を適用した工作機械システムSYSの一例を示す図である。図2は、+Z方向から見た正面図である。図3は、+X方向から見た側面図である。本実施形態に係るローダ制御装置1を工作機械システムSYSに適用した例に基づいて説明する。
工作機械システムSYSは、工作機械10と、ローダ20と、ローダ制御装置1と、を備えている。ローダ20は、工作機械10に対してワークWを搬送する装置である。ローダ制御装置1は、ローダ20を制御する装置である。工作機械10は、例えば平行2軸旋盤である(図2参照)。なお、本明細書では、工作機械10が平行2軸旋盤である例を説明するが、工作機械10は平行2軸旋盤以外の工作機械でもよい。
工作機械システムSYSは、図2に示すように、本体部11と、ワーク供給部12Aと、ワーク排出部12Bとを有する。本体部11は、主軸13、14と、タレット15、16と、反転装置19と装置制御部C1とを有する。主軸13、14は、X方向に並んで配置される。主軸13、14は、不図示の軸受け等によって、Z方向に平行な軸周りに回転可能に支持される。主軸13、14の+Z側の端部には、それぞれ、ワークWを保持するチャック13a、14aが設けられている。
チャック13a、14aは、それぞれ、ワークWを把持する把握爪13b、14bを有している。各チャック13a、14aにおいて、把握爪13b、14bは、主軸13、14の回転方向に沿って所定の間隔で複数配置される。例えば、把握爪13b、14bは、主軸13、14の回転軸(中心軸)AX1、AX2の軸周りに120°間隔で3つ配置される。各把握爪13b、14bは、不図示のチャック駆動部により、主軸13、14の径方向において、主軸13、14の中心軸AX1、AX2に対して近接又は離間する方向に移動する。各チャック13a、14aは、把握爪13b、14bが中心軸AX1、AX2に向かって移動する閉動作によってワークWを把持し、把握爪13b、14bが中心軸AX1、AX2に対して外側に移動する開動作によって、ワークWの把持を解放する。チャック13a、14aは、中心軸AX1、AX2とワークWの中心軸とがほぼ一致するように、ワークWを把持する。ローダ20は、チャック13a、14aのそれぞれに対して、ワークWの搬入及び搬出を行う。
タレット15、16は、主軸13、14の軸線方向から外れて配置される。例えば、タレット15は、主軸13の−X側に配置される。タレット16は、主軸14の+X側に配置される。タレット15、16のそれぞれには、モータ等の回転駆動装置が設けられる。タレット15、16は、回転駆動装置により、Z方向に平行な軸周りに回転可能である。タレット15、16の周面には、切削工具TLを保持するための複数の保持部が設けられる。これら保持部の全部又は一部には、主軸13、14に対応して切削工具TLが保持される。従って、タレット15、16が回転することにより、所望の切削工具TLが選択される。タレット15、16の保持部に保持される切削工具TLは、各保持部に対して交換可能である。切削工具TLとしては、ワークWに対して切削加工を施すバイト等の他、ドリル又はエンドミル等の回転工具が用いられてもよい。また、タレット15、16は、不図示の駆動装置により、X方向及びZ方向に移動可能である。
反転装置19は、ワークを保持可能なチャック17、18を備える。ローダ20は、チャック17、18のそれぞれに対して、ワークWの搬入及び搬出を行う。チャック17、18は、主軸13、14の+Y側(上方)において、X方向に並んで配置される。チャック17、18は、不図示の軸受け等によって、Z方向に平行な軸線周りに回転可能に支持されてもよいし、回転しない形態であってもよい。チャック17、18の+Z側の端部には、それぞれ把握爪17a、18aが設けられる。把握爪17a、18aは、チャック17、18の中心軸AX3、AX4の軸周りに所定の間隔で複数配置される。例えば、把握爪17a、18aは、チャック17、18の中心軸AX3、AX4の軸周りに120°間隔で3つ配置される。把握爪17a、18aは、不図示のチャック駆動部により、チャック17、18の径方向において、チャック17、18の中心軸AX3、AX4に対して近接又は離間する方向に移動する。各チャック17、18は、把握爪17a、18aが中心軸AX3、AX4に向かって移動する閉動作によってワークWを把持し、把握爪17a、18aが中心軸AX3、AX4に対して外側に移動する開動作によって、ワークWの把持を解放する。チャック17、18は、中心軸AX3、AX4とワークWの中心軸とがほぼ一致するように、ワークWを把持する。
反転装置19のチャック17、18は、それぞれY方向に平行な軸線周りに回転することで、把握爪17a、18aが設けられる側(+Z側)の端部同士を対向させることが可能である。チャック18は、スライダ18b及びガイド部材18cを有する。スライダ18bは、チャック18を保持してガイド部材18c沿って移動可能である。ガイド部材18cは、X方向に平行に配置され、スライダ18bをX方向に案内する。スライダ18b及びガイド部材18cにより、チャック18はチャック17に対して近接及び離間が可能となっている。チャック17、18の+Z側の端部同士が対向した状態でチャック18がチャック17に近接することにより、チャック17とチャック18との間でワークWの受け渡しが可能となっている。
ワーク供給部12Aには、工作機械10における加工対象であるワークWが載置される。ワークWは、例えば、円筒状あるいは円柱状である。ワーク供給部12Aは、ローダ20により搬送先に搬送されるワークWが供給される。ワーク供給部12Aとしては、例えば、ワークWを載置する固定台が用いられてもよいし、コンベア又はロータリー式でワークを供給する構成などが用いられてもよい。ワーク排出部12Bには、工作機械10で加工されたワークWが載置される。ワーク排出部12Bは、ローダ20によるワークWの搬送先である。ワーク排出部12Bとしては、例えば、ワークWを載置する固定台が用いられてもよいし、コンベア又はロータリー式でワークを排出する構成などが用いられてもよい。
装置制御部C1は、工作機械10を制御する。装置制御部C1、例えば主軸13、14の動作、タレット15、16の動作、反転装置19のチャック17、18の動作等を制御する。装置制御部C1は、ローダ制御装置1と無線又は有線により接続され、各部の動作に関する情報をローダ制御装置1に送信し、ローダ制御装置1から所定の情報を受信する。なお、装置制御部C1は、複数台の工作機械を統括して制御する上位コントローラと無線又は有線により接続されていてもよい。
ローダ20は、工作機械10のチャック13a、14a、17、18に対してワークWの受け渡しを行う。ローダ20は、上記のワークWの受け渡しを自動運転により行う。なお、以下の説明において、工作機械10のチャック13a、14a、17、18を総称して工作機械チャックCHと称す。
ローダ20は、ワークWの搬送先に対応して配置されるガイドと、装置本体21と、ローダ制御装置1とを有する。ガイドは、XガイドGX、ZガイドGZ、及びYガイドGYを有する。XガイドGXは、X方向に沿って配置されるレールであり、後述する走行体BXをX方向に案内する。ZガイドGZは、Z方向に沿って配置され、後述する前後移動体BZをZ方向に案内する。YガイドGYは、Y方向に沿って配置され、後述する昇降ロッドBYをY方向に案内する。
装置本体21は、ワークWを保持するワーク保持部23と、ワーク保持部23を移動させる駆動部22と、を有する。駆動部22は、走行体(X移動部)BXと、前後移動体(Z移動部)BZと、昇降ロッド(Y移動部)BYと、を有する。走行体BXは、走行体駆動部(X駆動部)DXの駆動により、XガイドGXに沿ってX方向に移動可能である。走行体駆動部DXは、例えば、駆動源であるX軸モータMXと、X軸モータMXの駆動力を伝達する不図示の伝達機構とを有する。走行体駆動部DXは、ローダ制御装置1からの指令である電流値によりX軸モータMXを駆動させ、走行体BXを+X方向又は−X方向に移動させる。X軸モータMXは、例えばサーボモータである。走行体BXの+Y側の端部(上部)には、ZガイドGZが一体で設けられる。
前後移動体BZは、前後移動体駆動部(Z駆動部)DZの駆動により、ZガイドGZに沿ってZ方向に移動可能である。前後移動体駆動部DZは、駆動源であるZ軸モータMZと、Z軸モータMZの駆動力を伝達する不図示の伝達機構とを有する。前後移動体駆動部DZは、ローダ制御装置1からの指令である電流値によりZ軸モータMZを駆動させ、前後移動体BZを+Z方向又は−Z方向に移動させる。Z軸モータMZは、例えばサーボモータである。前後移動体BZの+Z側端部には、YガイドGYが一体で設けられる。
昇降ロッドBYは、昇降ロッド駆動部(Y駆動部)DYの駆動により、YガイドGYに沿ってY方向に移動可能である。昇降ロッド駆動部DYは、駆動源であるY軸モータMYと、Y軸モータMYの駆動力を伝達する不図示の伝達機構とを有する。昇降ロッド駆動部DYは、ローダ制御装置1からの指令である電流値により駆動源を駆動させ、昇降ロッドBYを+Y方向又は−Y方向に移動させる。Y軸モータMYは、例えばサーボモータである。昇降ロッドBYの下端部(−Y側端部)には、ワーク保持部23が設けられる。
ワーク保持部23は、ローダチャック25、26を備える。ワーク保持部23は、走行体BX、昇降ロッドBY、及び前後移動体BZの移動に伴って移動し、ワークWを搬送する。図2において、ローダチャック25は、−Y方向に向いた姿勢に配置され、ローダチャック26は、−Z方向に向いた姿勢に配置される。ローダチャック25、26は、YZ平面内においてY軸及びZ軸に対して45°傾いた回転軸AX5の軸周りに回転可能なスイベル機構などの回転機構に配置される(図3参照)。ローダチャック25、26は、不図示の駆動装置によって回転軸AX5の軸周りに回転することにより、ローダチャック25、26の互いの位置を入れ替えることができる。
ローダチャック25、26は、それぞれ、ワークWを把持する把握爪25a、25bを有している。各ローダチャック25、26において、把握爪25a、25bは、ローダチャック25、26の中心軸AX6、AX7の軸周りに所定の間隔で複数配置される。例えば、把握爪25a、25bは、ローダチャック25、26の中心軸AX6、AX7の軸周りに120°間隔で3つ配置される(図5(B)参照)。各把握爪25a、25bは、後述するローダチャック制御部33の指令により、不図示のチャック駆動部によって、ローダチャック25、26の中心軸AX6、AX7に対して近接又は離間する方向に移動する。各ローダチャック25、26は、把握爪25a、25bが中心軸AX6、AX7に向かって移動する閉動作によってワークWを把持し、把握爪25a、25bが中心軸AX6、AX7に対して外側に移動する開動作によって、ワークWの把持を解放する。ローダチャック25、26は、中心軸AX6、AX7とワークWの中心軸とがほぼ一致するように、ワークWを把持する。ローダチャック25、26により保持したワークWは、走行体BX、昇降ロッドBY、及び前後移動体BZがそれぞれ移動することにより、X方向、Y方向、Z方向、又はこれらの方向を2つ以上合成した方向(XY方向、YZ方向、XZ方向、XYZ方向)に搬送される。
ローダ制御装置1は、ローダ20を総括的に制御する。ローダ制御装置1は、駆動部22(走行体BX、前後移動体BZ、昇降ロッドBY)、及びワーク保持部23における動作を制御する。
ローダ制御装置1の構成について、図1を参照して説明する。ローダ制御装置1は、記憶部31、運転実行部32、ローダチャック制御部33、X軸モータ制御部34X、Y軸モータ制御部34Y、Z軸モータ制御部34Z、負荷検出部35(35X、35Y、35Z)、判定部36、及び、負荷時処理部37を備える。ローダ制御装置1は、CPU(Central Processing Unit)などの演算装置と、メインメモリと、情報を記憶する記憶部31とを有している。記憶部31は記憶装置である。ローダ制御装置1は、記憶部31に記憶されている所定のプログラムに従って演算装置が処理を実行することにより各種の動作を制御する。なお、ローダ制御装置1は、装置制御部C1と一体の装置でもよいし、複数台の工作機械を統括して制御する上位コントローラと一体の装置でもよい。
記憶部31には、制御プログラムPR(図4参照)、及び、動作に必要な各種情報が記憶されている。なお、記憶部31は、ローダ制御装置1内に設けられてもよいし、ローダ制御装置1外に設けられてもよく、例えば工作機械10の装置制御部C1に設けられる不図示の記憶部が用いられてもよい。
制御プログラムPRは、ローダチャック25、26をワーク受け渡し位置P(以下、「受け渡し位置P」と略す。)に移動させて、ローダチャック25、26と工作機械チャックCHとの間でワークWを受け渡しさせる動作を自動運転により、ローダ20に実行させるプログラムである。制御プログラムPRは、ローダ20の各種動作を制御する指令を含む。例えば、制御プログラムPRは、走行体駆動部DX、前後移動体駆動部DZ、及び昇降ロッド駆動部DYによるローダチャック25、26の駆動動作、並びにローダチャック25、26によるワークWの把持又は解放の動作を制御する指令を含む。後述する運転実行部32は、制御プログラムPRの指令に基づいた動作をローダ20の各部に実行させる。
図4は、制御プログラムPRの一例を示す図である。制御プログラムPRは、ローダチャック25、26を受け渡し位置Pに移動させて、ローダチャック25、26と工作機械チャックCHとの間でワークWを受け渡しさせる指令を含む。例えば、制御プログラムPRは、ローダチャック25、26をワーク供給部12Aに移動させ、ワーク供給部12Aに配置されるワークWをローダチャック25、26に保持させる指令X1、ワークWを保持したローダチャック25、26を受け渡し位置Pに移動させ、保持したワークWを工作機械チャックCHに渡す指令X2、ローダチャック25、26を受け渡し位置Pに移動させ工作機械チャックCHからワークWを受け取る指令X3、ワークWを保持したローダチャック25、26をワーク排出部12Bに移動させ、保持したワークWをワーク排出部12Bに解放する指令X4等の指令を含む。
制御プログラムPRには、ローダチャック25、26を移動させる位置、ローダチャック25、26を移動させる速度に関する指令を含む。制御プログラムPRにおいて、受け渡し位置P(図1参照)、ワーク供給部12A(図2参照)、あるいはワーク排出部12B(図2参照)等の工作機械システムSYSにおける各部の位置は、X方向の位置、Y方向の位置、及び、Z方向の位置を示す座標が用いられる。工作機械システムSYSにおける各部の位置は、位置情報IP(図1参照)として記憶部31に記憶される。制御プログラムPRは、工作機械システムSYSにおける各部の位置の位置を、位置情報IPから読みだして用いる。工作機械システムSYSにおける各部の位置は、工作機械システムSYSを運転させる前に、予め設定される。工作機械システムSYSにおける各部の位置は、教示により設定される教示位置である。なお、上記の制御プログラムPRは一例であり、制御プログラムPRは任意に設定可能である。
運転実行部32(図1参照)は、制御プログラムPRに基づく自動運転を、ローダ20の各部に実行させる。運転実行部32は、X軸モータ制御部34X、Y軸モータ制御部34Y、Z軸モータ制御部34Z、及びローダチャック制御部33を介して、X軸モータMX、Z軸モータMZ、Y軸モータMY、及びローダチャック25、26を制御することにより、制御プログラムPRに基づく所定の動作を各部に実行させる。
例えば、ローダ制御装置1が、制御プログラムPRに定められた座標にローダチャック25、26を移動させる場合、運転実行部32は、走行体BX、昇降ロッドBY、及び前後移動体BZが向かうべき座標に移動するように、X軸モータ制御部34X、Y軸モータ制御部34Y、及びZ軸モータ制御部34Zを制御する。X軸モータ制御部34X、Y軸モータ制御部34Y、及びZ軸モータ制御部34Zは、それぞれ、X軸モータMX、Z軸モータMZ、及び、Y軸モータMYを、電流値を与えて駆動することにより制御する。また、運転実行部32は、ローダチャック制御部33を介して、ローダチャック25、26の把握爪25a、26a開閉動作、ローダチャック25、26の回転機構等を制御する。
X軸モータ制御部34X、Y軸モータ制御部34Y、及びZ軸モータ制御部34Zは、それぞれ、X軸モータMX、Z軸モータMZ、及び、Y軸モータMYに設けられたエンコーダ等の回転情報(回転数、回転位置)に基づいて、X軸モータMX、Z軸モータMZ、及び、Y軸モータMYに対してフィードバック制御を行う。
ローダ20が、ワークWを工作機械チャックCHに渡す動作について説明する。図5及び図6は、ローダ20が、ワークWを工作機械チャックCHに渡す動作の一例について示す図である。図5及び図6において、(A)は+Y方向から見た時の上面図であり、(B)は+Z方向から見た時の正面図である。図5及び図6には、受け渡し位置Pが理想的な位置である場合の上記動作を示す。また、図5及び図6には、ローダチャック25が、ワークWを工作機械10のチャック13aに渡す動作を示す。
ローダ20が、ワークWを工作機械10のチャック13a(工作機械チャック13aと称す)に渡す際、図5(A)及び(B)に示すように、ワークWを保持したローダチャック25が、ローダ制御装置1の制御により、受け渡し位置Pに移動する。受け渡し位置Pは、工作機械チャック13aとローダチャック25との間でワークWを受け渡し可能な位置である。この状態の時、図5(B)に示すように、工作機械チャック13aの把握爪13bは開いた状態である。また、この状態の時、受け渡し位置Pが理想的な位置の場合、工作機械チャック13aの中心軸AX1とローダチャック25の中心軸AX6とは同軸になる。また、ローダチャック25により保持されたワークWも、ローダチャック25の中心軸AX6と同軸となる。続いて、ローダ制御装置1は、工作機械10の装置制御部C1に、ローダチャック25が受け渡し位置Pに移動したことを示す信号を送信する。
続いて、図6(A)及び(B)に示すように、工作機械10の装置制御部C1は、ローダ制御装置1からローダチャック25が受け渡し位置Pに移動したことを示す信号を受信した際に、工作機械チャック13aの把握爪13bを閉じるように制御する。工作機械チャック13aの中心軸AX1とローダチャック25の中心軸AX6とは同軸に位置するので、工作機械チャック13aの把握爪13bが閉じる際、ワークWは工作機械10の各把握爪13bに均等に接触する。工作機械チャック13aの把握爪13bが閉じることにより、ワークWは、工作機械チャック13a及びローダチャック25の双方に保持される。
続いて、工作機械10の装置制御部C1は、工作機械チャック13aの把握爪13bが閉じてワークWを保持したことを示す信号を、ローダ制御装置1に送信する。ローダ制御装置1は、工作機械チャック13aの把握爪13bが閉じてワークWを保持したことを示す信号を受信した際に、ローダチャック25の把握爪25aを開くように制御する。この動作により、ローダチャック25が保持していたワークWが、工作機械チャック13aに渡される。理想的な受け渡し位置Pにおいて、工作機械チャック13aに渡されたワークWの中心軸も、工作機械チャック13aの中心軸AX1と同軸となり、工作機械10による加工における理想的な位置に位置決めされる。
その後、工作機械チャック13aに渡されたワークWは、工作機械10により加工される。工作機械10の装置制御部C1は、ワークWの加工が終了した後、ローダ制御装置1に対して、ワークWの加工が終了したことを示す信号を送信する。ローダ制御装置1は、工作機械10の装置制御部C1からワークWの加工が終了したことを示す信号を受信した際に、ローダチャック25を受け渡し位置Pに移動させて、工作機械チャック13aから加工済みのワークWを受け取り、搬出するように、ローダ20を制御する。ローダチャック25により工作機械チャック13aから加工済みのワークWを受け取る動作は、上記した図5及び図6と反対の動作である。ローダチャック25により工作機械チャック13aから加工済みのワークWを搬出する際、ローダチャック25が受け渡し位置Pに移動し、工作機械チャック13aが保持する加工済みのワークWをローダチャック25により保持する。ローダチャック25が加工済みのワークWを保持した後、工作機械チャック13aの把握爪13bが開いてワークWを開放することにより、工作機械チャック13aからローダチャック25にワークWが渡される。続いて、ローダチャック25は、保持した加工済みのワークWをワーク排出部12Bに移動させる。
次に、受け渡し位置Pが理想的な位置からずれている場合に、ローダ20がワークWを工作機械チャックCHに渡す動作について説明する。図7は、受け渡し位置Pが理想的な位置からずれている場合に、ローダ20が、ワークWを工作機械チャックCHに渡す動作について示す図である。図7(A)及び(B)は、+Y方向から見た時の上面図である。なお、図7には、受け渡し位置Pが、図5及び図6に示した理想的な受け渡し位置Pに対して、−X方向にずれている例を示す。また、図7には、ローダチャック25が、ワークWを工作機械10のチャック13aに渡す動作を示す。
図7(A)の例において、ローダチャック25がワークWを工作機械チャック13aに渡す際、ワークWを保持したローダチャック25は、理想的な受け渡し位置に対して、−X方向にずれた受け渡し位置Pに移動する。このような位置のずれは、上記したように、様々な要因により生じる。
ローダ20が受け渡し位置Pに移動した後、工作機械チャック13aの把握爪13bが閉じる動作が開始する。工作機械チャック13aの把握爪13bが閉じる際、工作機械チャック13aの−X側(受け渡し位置がずれている側)の把握爪13bが、はじめにワークWに接触して、ワークWを+X側(チャック13aの中心軸AX1方向)に押す。この把握爪13bが+X側にワークWを押す力は、ワークWを保持するローダチャック25に加わる。
この把握爪13bが+X側に押す力がローダチャック25に加わると、ローダチャック25は+X側に移動する。ローダチャック25が+X側に移動すると、X軸モータ制御部34Xは、フィードバック制御により、ローダチャック25を、把握爪13bにより押される前の−X側の位置(受け渡し位置P)に移動させるように、X軸モータMXを駆動するが、工作機械チャック13aの把握爪13bによりローダチャック25が押されているので、X軸モータMXには大きな負荷が生じる(図8(B)参照)。
続いて、図7(B)に示すように、工作機械チャック13aの把握爪13bがさらに閉じる。工作機械チャック13aの把握爪13bの中心軸AX1とローダチャック25の中心軸AX6とがずれているので、ワークWは上述の理想的な位置からずれた状態で、工作機械チャック13a及びローダチャック25の双方に保持される。続いて、ローダチャック25がワークWを開放し、ワークWは理想的な位置からずれた状態で、工作機械チャック13aに保持される。ワークWが理想的な位置からずれた状態で工作機械チャック13aに保持されると、上述のように加工不良、さらには、機械の故障が生じる場合もある。
なお、本例では、受け渡し位置Pが理想的な位置から−X方向にずれた状態を説明したが、受け渡し位置Pが他の方向(+X方向、Y方向、Z方向、XY方向、XZ方向、YZ方向、XYZ方向等)にずれた場合においても、ワークWは理想的な位置からずれた状態で、工作機械チャック13aに保持される。
負荷検出部35(図1参照)は、駆動部22に掛かる負荷を検出する。負荷検出部35は、少なくとも、運転実行部32による自動運転中において、ローダチャック25、26と工作機械チャックCH(13a、14a、17、18)との双方によりワークWが保持された際の駆動部22に掛かる負荷L(図8等参照)を検出する。なお、本明細書では、ローダチャック25、26と工作機械チャックCHとの双方によりワークWが保持された際の駆動部22に掛かる負荷を「負荷L」と略す場合もある。
負荷検出部35は、走行体駆動部DX、昇降ロッド駆動部DY、及び前後移動体駆動部DZのそれぞれにおける負荷を検出する。本実施形態では、負荷検出部35X、35Y、35Zが、X軸モータMX、Y軸モータMY、及びZ軸モータMZに設けられ、走行体駆動部DX、昇降ロッド駆動部DY、及び前後移動体駆動部DZのそれぞれにおける負荷を検出する。負荷検出部35が走行体駆動部DX、昇降ロッド駆動部DY、及び前後移動体駆動部DZのそれぞれにおける負荷を検出する構成の場合、各軸の負荷を精度よく検出することができる。負荷検出部35X、35Y、35Zは、各モータの負荷トルクを検出する。負荷検出部35X、35Y、35Zは、例えばモータの負荷トルクの量及び方向を検出する。負荷検出部35X、35Y、35Zは、それぞれ、各モータに供給される電流を検出することにより、モータの負荷トルクの量及び方向を検出する。負荷トルクの量は、電流値に基づいて求められる。負荷トルクの方向は、電流の符号に基づいて求められる。
負荷検出部35X、35Y、35Zは、検出した負荷を、負荷の履歴情報として記憶部31に記憶させる。負荷の履歴情報は、例えば、負荷検出部35X、35Y、35Zが検出した各軸の負荷の時系列データ等である。なお、ローダ制御装置1は、負荷検出部35(35X、35Y、35Z)が検出した負荷の情報を、検出と同時にディスプレイ等の表示装置などに表示させる構成でもよい。
なお、負荷検出部35(35X、35Y、35Z)の構成は、上述の構成に限定されず、例えば、サーボモータの回転の目標値、及び、回転情報(回転数、回転位置)に基づいて、負荷を検出する構成でもよい。この負荷検出部35の構成の場合、サーボモータの回転数の目標値とエンコーダから取得した回転情報との差に基づいて、負荷を検出することができる。例えば、サーボモータの回転数の目標値に対して、エンコーダから取得した回転数が大きく下回っている場合、サーボモータに大きな負荷が掛けられていることがわかる。
図8(A)及び(B)は、負荷検出部35により検出される負荷の一例を示す図である。図8(A)には、図5及び図6に示した受け渡し位置Pが理想的な位置である場合のX軸モータMXに掛かる負荷Lを示す。図8(B)には、図7に示した受け渡し位置Pが理想的な位置からずれた場合のX軸モータMXに掛かる負荷を示す。
図8(A)に示すように、受け渡し位置Pが理想的な位置である場合、ローダチャック25と工作機械チャック13aとの双方によりワークWが保持された際(図6参照)のX軸モータMXに掛かる負荷Lは、この際にローダチャック25は理想的な受け渡し位置Pで静止する状態であるため、小さい。
一方、図8(B)に示すように、受け渡し位置Pが理想的な位置からずれている場合、ローダチャック25と工作機械チャック13aとの双方によりワークWが保持された際(図7参照)のX軸モータMXに掛かる負荷Lは、工作機械チャック13aの把握爪13bが閉動作を開始し、−X側の把握爪13bがワークWに接触した時から、把握爪13bが完全に閉じるまで増加し、その後、ローダチャック25がワークWを開放した時から減少する。閾値を超えた負荷Lは、後述する判定部36に検出される。
なお、本例では、受け渡し位置Pが理想的な位置から−X方向にずれた状態を説明したが、受け渡し位置Pが他の方向(+X方向、Y方向、Z方向、XY方向、XZ方向、YZ方向、XYZ方向等)にずれた場合においても、図8(B)に示したような負荷Lが、受け渡し位置Pのずれ量及びずれた方向に応じて、各軸のモータMX、MY、MZに掛かる。
判定部36(図1参照)は、ローダチャック25、26と工作機械チャックCHとの双方によりワークWが保持された際の負荷Lが閾値Tを超えたか否かを判定する。判定部36は、図8(B)に示す例の場合、負荷Lが閾値Tを超えたと判定する。判定部36は、各モータMX、MY、MZに掛かる負荷Lについて、閾値Tを超えたか否かを判定する。閾値Tは、各モータMX、MY、MZにおいて設定される。閾値Tは、受け渡し位置Pがずれたことを検出可能な任意の値に設定される。閾値Tは、予め設定され、記憶部31に記憶される。閾値Tは、予備試験などにより設定することができる。なお、閾値Tは、各モータMX、MY、MZにおいて、複数設定されてもよい。
負荷時処理部37は、判定部36により上記負荷Lが閾値Tを超えたと判定された場合に、所定の処理を行う。負荷時処理部37は、報知部40、及び特定処理実行部41を備える。
報知部40は、判定部36により負荷Lが閾値Tを超えたと判定された場合に、負荷Lが閾値Tを超えたことを報知する。報知部40の報知により、ローダの自動運転を停止させずに受け渡し位置Pがずれたことを報知することができる。報知部40は、負荷Lの程度(値)を報知してもよい。報知部40は、例えば、表示装置50、音声出力装置51、及び、端末52の少なくとも1つにより報知する。この構成の場合、報知を効果的に行うことができる。
表示装置50は、ディスプレイ、タッチパネル等である。表示装置50の設置場所は、任意であり、例えば、工作機械10、ローダ20、あるいはローダ制御装置1の近傍でもよいし、工作機械10、ローダ20、あるいはローダ制御装置1の設置場所の外部でもよい。また、表示装置50は、工作機械10、ローダ20、あるいはローダ制御装置1に接続される表示装置50、作業者の表示装置50であってもよい。
端末52は、例えば、コンピュータ、あるいはスマートフォン等の携帯端末である。報知部40は、例えば、予め設定された所定の表示装置50あるいは端末52に、負荷Lが閾値Tを超えたことを示すメッセージを表示させる。メッセージは、任意であり、例えば、文章でもよいし、エラー番号等でもよい。また、報知部40は、Eメールによりメッセージを端末52に送信することにより、報知してもよい。
音声出力装置51は、例えば、スピーカ等である。また、報知部40は、所定の照明装置(例、ランプ等)を点灯(点滅を含む)させることにより、報知してもよい。また、報知部40は、予め設定された電話及び携帯電話に電話をかけて、所定のメッセージを送信することによって、報知してもよい。
特定処理実行部41は、判定部36により負荷Lが閾値Tを超えたと判定された場合に、運転実行部32を介して、ローダ20に対して予め設定された所定の動作を実行させる。この構成により、自動運転中の教示位置のずれに対応するための処理を自動的に行うことができる。例えば、特定処理実行部41は、所定の動作として、運転の停止等を運転実行部32に実行させてもよい。この運転の停止は、自動運転の終了後に実施されてもよいし、所定の時間(所定の動作回数)経過後に実施されてもよいし、判定部36の判定後に直ちに実施されてもよいし。なお、特定処理実行部41を備えるか否かは、任意である。
次に、上記した本実施形態のローダ制御装置1に基づいて、本実施形態のローダ制御方法を説明する。図9は、本実施形態のローダ制御方法の一例を示すフローチャートである。なお、以下の説明は一例であって、本実施形態のローダ制御方法は、以下の説明に限定されない。
本実施形態のローダ制御方法は、ステップS1において、ローダチャック25、26を受け渡し位置Pに移動させて、ローダチャック25、26と工作機械チャックCHとの間でワークを受け渡しさせる制御プログラムPRにより自動運転を実行する。ステップS1は、例えばローダ制御装置1により図4の制御プログラムPRの指令X1〜X4を実行することにより、実施する。この場合、ローダ制御装置1は、ローダチャック25、26をワーク供給部12Aに移動させ、ワーク供給部12Aに配置されるワークWをローダチャック25、26に保持させた後、ローダチャック25、26を受け渡し位置Pに移動させるように制御する。続いて、ローダ制御装置1は、ローダチャック25、26で保持したワークWを工作機械チャックCHに渡すように制御する。続いて、ローダ制御装置1は、工作機械10によるワークWの加工の後、ローダチャック25、26を受け渡し位置Pに移動させ、ローダチャック25、26により工作機械チャックCHからワークWを受け取るように制御する。続いて、ローダ制御装置1は、ローダチャック25、26をワーク排出部12Bに移動させ、ローダチャック25、26で保持するワークWをワーク排出部12Bに移動させるように制御する。
続いて、ステップS2において、ローダ20の自動運転中に、ローダチャック25、26と工作機械チャックCHとの双方によりワークWが保持された際の駆動部22に掛かる負荷Lを検出する。ステップS2は、例えばローダ制御装置1の負荷検出部35により負荷Lを検出することにより実施する。続いて、ステップS3において、負荷Lが閾値Tを超えたか否かを判定する。ステップS3は、例えばローダ制御装置1の判定部36により、上記の判定を行うことにより実施する。ステップS3において、負荷Lが閾値Tを超えていないと判定された場合(ステップS3のNO)、ステップS2に戻る。
ステップS3において、負荷Lが閾値Tを超えたと判定された場合(ステップS3のYES)、ステップS4において、負荷Lが閾値Tを超えたことを報知する。ステップS4は、例えばローダ制御装置1の報知部40により上記の報知を行うことにより実施する。ステップS4により、ローダの自動運転を停止させずに受け渡し位置Pがずれたことを報知することができる。
続いて、ステップS4の後、ステップS1に戻り、上記の自動運転を行う。また、ステップS2〜S4は、上記の自動運転が終了するまで引き続き行われる。
なお、ローダ制御方法では、ステップS3において負荷Lが閾値Tを超えたと判定された場合(ステップS3のYES)に、特定の処理を行ってもよい。特定の処理は、例えば、ローダ制御装置1の特定処理実行部41により、上述した運転の停止等の処理を行うことにより、実施する。
また、ローダ制御方法は、ローダ制御プログラムにより実現してもよい。この場合、ローダ制御プログラムは、制御プログラムにより自動運転をローダに実行させる処理と、自動運転中において、ローダチャックと工作機械のチャックとの双方によりワークが保持された際の駆動部に掛かる負荷が閾値を超えたか否かを判定する処理と、負荷が閾値を超えたと判定された場合に、負荷が閾値を超えたことを報知する処理と、をコンピュータに実行させることを含む。また、このローダ制御プログラムは、ハードディスク、CD−ROM、DVD、USBメモリ、SDカード等の、コンピュータで読み取り可能な記憶媒体に格納されて提供されてもよい。
以上説明したように、本実施形態のローダ制御装置1は、ワークWを保持するローダチャック25、26と、ローダチャック25、26を移動させる駆動部22と、を備え、工作機械10に設けられてワークWを保持するチャックCH(13a、14a、17、18)に対してワークWの受け渡しを行うローダ20を制御するローダ制御装置1であって、ローダチャック25、26を受け渡し位置Pに移動させて、ローダチャック25、26と工作機械10のチャックCHとの間でワークを受け渡しさせる制御プログラムPRにより自動運転を実行する運転実行部32と、運転実行部32による自動運転中において、ローダチャック25、26と工作機械10のチャックCHとの双方によりワークWが保持された際の駆動部22に掛かる負荷Lを検出する負荷検出部35(35X、35Y、35Z)と、負荷Lが閾値Tを超えたか否かを判定する判定部36と、判定部36により負荷Lが閾値Tを超えたと判定された場合に、負荷Lが閾値Tを超えたことを報知する報知部40と、を備える。なお、ローダ制御装置1において、上記以外の構成は任意の構成であり、上記以外の構成はあってもよいし、なくてもよい。
以上のように、本実施形態のローダ制御装置1及びローダ制御方法は、ローダ20を自動運転させ、ローダ20の自動運転中に教示位置のずれを検出し、教示位置のずれに対応する処理を自動運転を停止させずに行うことにより、ローダ20の停止による装置の稼働率の低下を抑制することができる。
[第2実施形態]
第2実施形態について説明する。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を適宜省略あるいは簡略化する。また、本明細書の実施形態において説明する事項のうち、本実施形態に適用可能な構成は、適宜本実施形態でも適用する。
図10は、第2実施形態のローダ制御装置1Aの一例を示す図である。ローダ制御装置1Aは、記憶部31、運転実行部32、ローダチャック制御部33(図1参照)、X軸モータ制御部34X(図1参照)、Y軸モータ制御部34Y(図1参照)、Z軸モータ制御部34Z(図1参照)、負荷検出部35(図1参照)、判定部36、及び、負荷時処理部37Aを備える。ローダ制御装置1Aにおいて、記憶部31、運転実行部32、ローダチャック制御部33、X軸モータ制御部34X、Y軸モータ制御部34Y、Z軸モータ制御部34Z、負荷検出部35、及び判定部36の構成は、第1実施形態と同様である。また、第2実施形態のローダ制御装置1Aは、第1実施形態と同様の工作機械システムSYSに適用される。
ローダ制御装置1Aは、補正部42を有する負荷時処理部37Aを備える構成が、第1実施形態のローダ制御装置1と異なっている。補正部42は、判定部36により負荷Lが閾値Tを超えたと判定された場合に、予め定められた受け渡し位置Pの補正を、自動運転中に行う。
図11(A)から(C)は、補正部42による補正の一例を示す図である。図12は、図11(A)から(C)に示す補正の際の負荷Lを示す図である。図11(A)から(C)は、+Y方向から見た時の上面図である。図11(A)から(C)には、図7(A)及び(B)と同様に、受け渡し位置Pが、図5及び図6に示した理想的な位置に対して、−X方向にずれている例を示す。また、図11(A)から(C)には、ローダチャック25が、ワークWを工作機械10のチャック13aに渡す動作を示す。
本例の補正は、受け渡し位置Pの水平方向の成分を補正する場合に用いられる。図11(A)に示すように、受け渡し位置Pが理想的な位置に対してずれている場合、工作機械チャック13aが閉じる際、図7(A)と同様に、工作機械チャック13aの−X側の把握爪13bが、ワークWに接触して、ワークWを+X側に押すことにより、X軸モータMXに負荷Lが生じる。この時、図12に示すように、X軸モータMXに閾値Tを超えた負荷Lがかかり、判定部36は負荷Lが閾値Tを超えたと判定する。
補正部42は、判定部36により負荷Lが閾値Tを超えたと判定された場合に、制御プログラムPRによるローダチャック25の位置制御を行わずに、ローダチャック25が保持するワークWを工作機械チャック13aに保持させる。補正部42は、運転実行部32に対して、運転実行部32によるローダチャック25の位置制御を停止させる。運転実行部32は、ローダチャック25の位置制御を停止させる際、X軸モータ制御部34X、Y軸モータ制御部34Y、及びZ軸モータ制御部34Zに対して、X軸モータMX、Y軸モータMY、及びZ軸モータをサーボオフの状態にさせるように指令する。
続いて、図11(B)に示すように、工作機械チャック13aの−X側の把握爪13bがさらに+X側に移動する。この際、ローダチャック25は、位置制御がされていない状態なので、ローダチャック25も把握爪13bに押されて+X側に移動する。この際、図12に示すように、X軸モータMXに掛かっていた負荷Lは、各軸のモータMX、MY、MZがサーボオフの状態であるので、解消される。
そして、図11(C)に示すように、工作機械チャック13aの把握爪13bが完全に閉じた状態になる。この際、ローダチャック25は把握爪13bにさらに押されて+X側に移動して、最終的には、ローダチャック25の中心軸AX6は、工作機械チャック13aの中心軸AX1と同軸となる。この状態は、図6(A)で示した受け渡し位置Pが理想的な位置の場合と同様である。補正部42は、この際のローダチャック25が追従した位置を受け渡し位置Pとして補正する。補正部42は、このローダチャック25が追従した位置(座標)をローダチャック25の位置を検出するセンサ等により取得し、取得した位置を新たな受け渡し位置Pに設定し、位置情報IPの受け渡し位置Pを新たな受け渡し位置Pに更新(補正)する。続いて、補正部42は、運転実行部32によるローダチャック25の位置制御を再開させる。
上記のように、本例の補正部42は、受け渡し位置Pの水平方向(X方向、Z方向)の成分(軸)を補正する場合に、制御プログラムPRによるローダチャック25、26の位置制御を行わずに、ローダチャック25、26が保持するワークWを工作機械チャックCHに保持させ、ローダチャック25、26が追従した位置を受け渡し位置Pとして補正する。この構成の場合、駆動部22に掛かる負荷を簡単な制御により効果的に解消することができる。
図13(A)及び(B)は、補正部42による補正の他の例を示す図である。図14は、図13(A)及び(B)に示す補正の際の負荷を示す図である。図13(A)及び(B)は、+Y方向から見た時の上面図である。図13(A)及び(B)には、図7(A)及び(B)と同様に、受け渡し位置Pが、図5及び図6に示した理想的な位置に対して、−X方向にずれている例を示す。また、図13(A)及び(B)には、ローダチャック25が、ワークWを工作機械10のチャック13aに渡す動作を示す。
本例の補正は、ワーク受け渡し位置Pの鉛直方向(Y方向)及び水平方向(X方向、Z方向)の成分(軸)を補正する場合に用いることができる。図13(A)に示すように、受け渡し位置Pが理想的な位置に対してずれている場合、工作機械チャック13aの把握爪13bが閉じる際、図7(A)及び図11(A)と同様に、X軸モータMXに負荷Lが生じ、図14に示すように、判定部36により負荷Lが閾値Tを超えたと判定される。
本例の補正部42は、判定部36により負荷Lが閾値Tを超えたと判定された場合に、負荷検出部35が検出した負荷Lに対して、負荷Lが解消される位置に補正する。図13(A)に示す例では、X軸モータ制御部34Xは、フィードバック制御により、ローダチャック25を把握爪13bで押される前の−X側の位置(受け渡し位置P)に移動させるようにX軸モータMXを駆動するので、X軸モータMXに負荷Lが生じている。この際、負荷検出部35は、上記したように負荷Lの量(負荷トルク)及び負荷Lの方向を検出する。補正部42は、負荷検出部35が検出した負荷Lに基づいて、受け渡し位置Pを補正する。補正部42は、受け渡し位置Pを、負荷検出部35が検出した負荷Lの方向と反対の方向、且つ、負荷トルク等の負荷Lの量に応じた位置に補正する。これにより、補正部42は、負荷検出部35が検出した負荷Lに対して、負荷Lが解消される位置に補正することができ、駆動部に掛かる負荷Lを確実に解消することができる。例えば、補正部42は、図13(B)に示すように、運転実行部32を介して、ローダチャック25を+X側に負荷Lの量に応じた量で移動させ、ローダチャック25が移動した位置を新たなワーク受け渡し位置Pとして更新(補正)する。この補正部42によるローダチャック25の移動により、図14に示すように、X軸モータMXに掛かる負荷Lは解消される。
なお、本例の補正部42による補正のタイミングは任意であり、例えば、判定部36により負荷Lが閾値Tを超えたと判定された直後でもよいし、ローダチャック25が完全に閉じたタイミングでもよい。上記の負荷Lの量に応じたローダチャック25の移動量は、計算あるいは予備試験により求めることができる。なお、補正部42は、ローダチャック25を移動させた後、負荷検出部35により検出される負荷Lをモニターし、再度、ローダチャック25を負荷Lに基づく量に移動させる補正を行ってもよく、また、前記の処理を、負荷Lが所定の閾値Tを下回るまで、複数回繰り返し行ってもよい。
また、補正部42により、ワーク受け渡し位置Pの鉛直方向(Y方向)及び水平方向(X方向、Z方向)の成分を補正する場合、水平方向の成分を補正した後に、鉛直方向の成分を補正する場合、鉛直方向の成分を補正した後に、水平方向の成分を補正する場合よりも、精度よく補正をすることができる。
次に、上記した本実施形態のローダ制御装置1Aに基づいて、本実施形態のローダ制御方法を説明する。図15は、本実施形態のローダ制御方法の一例を示すフローチャートである。なお、以下の説明は一例であって、本実施形態のローダ制御方法は、以下の説明に限定されない。
本実施形態のローダ制御方法のステップS1〜S3は、第1実施形態のローダ制御方法と同様である。ステップS3において、負荷Lが閾値Tを超えていないと判定された場合(ステップS3のNO)、ステップS2に戻る。
ステップS3において、負荷Lが閾値Tを超えたと判定された場合(ステップS3のYES)、ステップS6において、予め定められたワークの受け渡し位置の補正を行う。ステップS6は、ローダ制御装置1Aの補正部42により上記の補正を行うことにより、実施する。ステップS6により、ローダの自動運転を停止させずに教示位置の補正を行うことができる。
続いて、ステップS6の後、ステップS1に戻り、上記の自動運転を行う。また、ステップS2、S3、S6は、上記の自動運転中に引き続き行われる。
なお、ローダ制御方法では、ステップS3の後に、負荷Lが閾値Tを超えたと判定された場合に、図9に示す第1実施形態のステップS4(報知)を行ってもよいし、上記した特定処理実行部41による予め設定された特定の処理を行ってもよい。
また、ローダ制御方法は、ローダ制御プログラムにより実現してもよい。この場合、ローダ制御プログラムは、制御プログラムにより自動運転をローダに実行させる処理と、自動運転中において、ローダチャックと工作機械のチャックとの双方によりワークが保持された際の駆動部に掛かる負荷が閾値を超えたか否かを判定する処理と、負荷が閾値を超えたと判定された場合に、予め定められたワークの受け渡し位置の補正を行う処理と、をコンピュータに実行させることを含む。また、このローダ制御プログラムは、ハードディスク、CD−ROM、DVD、USBメモリ、SDカード等の、コンピュータで読み取り可能な記憶媒体に格納されて提供されてもよい。
以上説明したように、本実施形態のローダ制御装置1Aは、ローダ20を制御するローダ制御装置であって、運転実行部32と、負荷検出部35と、判定部36と、判定部36により負荷Lが閾値Tを超えたと判定された場合に、予め定められたワークの受け渡し位置の補正を行う補正部42と、を備える。なお、ローダ制御装置において、上記以外の構成は任意の構成であり、上記以外の構成はあってもよいし、なくてもよい。なお、本実施形態のローダ制御装置1Aは、報知部40を備えてもよい。
以上のように、本実施形態のローダ制御装置1A及びローダ制御方法は、工作機械システムSYSの自動運転中に、教示位置のずれを検出するので、工作機械システムの教示位置にずれが生じた場合に生じる装置の稼働率の低下を抑制することができる。
なお、本発明の技術範囲は、上述の実施形態などで説明した態様に限定されるものではない。上述の実施形態などで説明した要件の1つ以上は、省略されることがある。また、上述の実施形態などで説明した要件は、適宜組み合わせることができる。また、法令で許容される限りにおいて、上述の実施形態などで引用した全ての文献の開示を援用して本文の記載の一部とする。
また、上述の実施形態では、工作機械10とローダ20との間のワークWの受け渡し位置Pとして、ローダチャック25と工作機械チャック13aとの間のワークWの受け渡し位置Pを例に説明したが、ワークの受け渡し位置Pは、他の受け渡し位置でもよい。例えば、受け渡し位置Pは、ローダチャック26と工作機械チャック13aとの間のワークWの受け渡し位置でもよいし、ローダチャック25、26と工作機械チャック14aとの間のワークWの受け渡し位置でもよいし、ローダチャック25、26と反転装置19のチャック17、18との間のワークWの受け渡しの位置でもよい。
また、上述の実施形態は、ローダ20として三軸のローダ装置に、ローダ制御装置1、1Aを適用した例を説明したが、ローダ制御装置1、1Aは、他のローダに適用してもよい。図16は、他のローダ20Aを示す斜視図である。このローダ20Aは、いわゆる多関節ロボット装置であり、図16では多関節ロボット装置の先端部分を模式的に示している。ローダ20Aは、第1アーム60、第2アーム61、及び関節部62を有している。第1アーム60は、関節部62を介して、第2アーム61と接続されている。関節部62には、第1アーム60を第2アーム61に対して旋回させるためのモータ等の駆動源63及び減速機64を備えている。第1アーム60の先端にはローダチャック25が設けられる。ローダチャック25は把握爪25aを備えている。また、ローダ制御装置1、1Aは、ローダ20A以外に、一軸あるいは二軸のローダにおいても、適用可能である。