以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、本発明の第1実施形態に係る搬送システムの概略構成を示す説明図である。図2は、本発明の第1実施形態に係る搬送システムの制御系の構成を示すブロック図である。
図1に示すように、搬送システム100は、搬送装置101と、搬送装置101を制御する制御装置201と、を備えている。搬送装置101は、ワークWの所定の位置(例えば先端の位置)が始点sから経由点pを経由して終点eへ移動するように、ワークWを搬送する装置である。このワークWを搬送する経路上には、障害物である外部装置Oが存在し、ワークWが外部装置Oに衝突するのを避けるため、ワークWに経由点pを通過させる。
搬送装置101は、基台102と、基台102を搬送方向(図1では水平方向)であるX方向に駆動する第1駆動源であるモータ103(図2)と、基台102上に搭載された支持部材104と、を備えている。また、搬送装置101は、支持部材104にX方向に対して直交する方向(図1では垂直方向)であるZ方向に移動可能に支持された保持部材105と、保持部材105をZ方向に駆動する第2駆動源であるモータ106(図2)と、を備えている。つまり、保持部材105(ワークW)は、モータ103によりX方向に駆動され、モータ106によりZ方向に駆動される。これらモータ103,106は、電動の回転モータである。なお、モータ103,106には、それぞれ位置検出器であるエンコーダ111,112が設けられている。保持部材105は、ワークWを保持するものである。
制御装置201は、電子カム制御を行うものであり、図2に示すように、教示点記憶部202と、カム曲線生成部203と、テーブル記憶部204と、制御部を構成するX軸制御部205及びZ軸制御部206と、を有している。
本第1実施形態では、教示点記憶部202には、予めユーザによる不図示の教示装置の教示操作により、教示点であるワークWの始点s、経由点p及び終点eの座標データが格納されている。
カム曲線生成部203は、ワークWの先端が始点s、経由点p及び終点eを順次通過するように、時刻と駆動量との関係を示すカム曲線を、各モータ103,106に対応して生成する。本第1実施形態では、制御装置201がCPUを有しており、CPUがプログラムに従って動作することで、カム曲線生成部203として機能する。
テーブル記憶部204には、カム曲線生成部203により生成されたカム曲線が、テーブルデータとして格納される。
X軸制御部205は、テーブル記憶部204に格納されているモータ103に対応するカム曲線のテーブルデータを読み出し、カム曲線に従って、時刻に対応する駆動量でモータ103を動作させる電子カム制御を実行する。その際、X軸制御部205は、Z軸制御部206と同期して動作するように、同期信号を示す指令パルスをZ軸制御部206に送信し、カム曲線に従った電子カム制御の実行を開始する。
Z軸制御部206は、テーブル記憶部204に格納されているモータ106に対応するカム曲線のテーブルデータを読み出し、カム曲線に従って、時刻に対応する駆動量でモータ106を動作させる電子カム制御を実行する。その際、Z軸制御部206は、X軸制御部205と同期して動作するように、指令パルスの受信により、カム曲線に従った電子カム制御の実行を開始する。
以下に搬送装置101による搬送動作について説明する。搬送装置101は、X軸制御部205及びZ軸制御部206の制御の下、始点sの位置でワークWを不図示の前工程の位置決め装置から保持部材105によって受け取る。
搬送装置101は、それぞれのカム曲線に基づくX軸制御部205及びZ軸制御部206の電子カム制御により、ワークWを、始点sから経由点pを通過し終点eまで搬送(前進動作)する。この電子カム制御では、ワークWが経由点pを通過してワークWと外部装置Oとの衝突を回避するために、モータ103の駆動によるワークWのX方向への搬送中に、モータ106を同期して動作させる。
搬送装置101により搬送されるワークWが終点eに至ると、ワークWを次工程の不図示の位置決め装置へ受け渡す。その後、搬送装置101は前進動作と同様に後退動作し、始点sの位置へ戻る。この動作を繰り返し、ワークWを順次搬送する。
図3は、本発明の第1実施形態に係る制御装置のカム曲線生成部の動作を示すフローチャートである。図4は、各モータに対応するカム曲線を示す説明図である。
まず、カム曲線生成部203は、始点sを設定する(S1)。ここで、カム曲線生成部203が始点sを設定するとは、本第1実施形態では、カム曲線生成部203が教示点記憶部202から始点sの座標データを読み出して、始点sの座標データを後の演算に使用し得る状態にすることをいう。この始点sは、ワークWを受け取る位置の教示点である。始点sの座標は、例えば図1に示すように、(X,Z)=(0,0)に設定される。
また、カム曲線生成部203は、終点eを設定する(S2)。ここで、カム曲線生成部203が終点eを設定するとは、本第1実施形態では、カム曲線生成部203が教示点記憶部202から終点eの座標データを読み出して、終点eの座標データを後の演算に使用し得る状態にすることをいう。この終点eは、ワークWの搬送先を示す教示点である。終点eの座標は、例えば図1に示すように、(X,Z)=(300,50)に設定される。
次に、カム曲線生成部203は、ワークWを始点sから終点eに移動させる際に各モータ103,106の動作時間が最短となる各モータ103,106に対応する仮カム曲線f,uを生成する仮カム曲線生成処理を実行する(S3:仮カム曲線生成ステップ)。ここで、モータ103に対応する仮カム曲線fをX軸仮カム曲線、モータ106に対応する仮カム曲線uをZ軸仮カム曲線と称する。
以下、仮カム曲線f,uの生成について具体的に説明する。モータ103を最大出力で動作させることで、モータ103の動作時間が最短となり、図4(a)に示すような動作時間Txの速度曲線403となる。また、モータ106を最大出力で動作させることで、モータ106の動作時間が最短となり、図4(a)に示すような動作時間Tzの速度曲線406となる。これら速度曲線403,406から、図4(b)に示すようなX軸仮カム曲線f及びZ軸仮カム曲線uが生成される。ここで、仮カム曲線とは、カム曲線として決定される前の曲線のことである。また、モータ103,106を最大出力で動作させるとは、例えばモータ103,106を最大駆動速度で動作させる場合や、モータ103,106を最大駆動加速度で動作させる場合である。
次に、カム曲線生成部203は、X軸仮カム曲線fの動作時間TxとZ軸仮カム曲線uの動作時間Tzとを算出し、動作時間の長い仮カム曲線を判別する。この動作時間の長い仮カム曲線が調整しない仮カム曲線であるので、これ以外の仮カム曲線を、調整対象の仮カム曲線に決定する(S4)。なお、本第1実施形態では、動作時間の長い仮カム曲線は、Z軸仮カム曲線uであり、調整対象である動作時間の短い仮カム曲線は、X軸仮カム曲線fである。
したがって、カム曲線生成部203は、調整しない仮カム曲線(本第1実施形態では、Z軸仮カム曲線u)をカム曲線に設定する第1カム曲線設定処理を実行する(S5:第1カム曲線設定ステップ)。つまり、カム曲線生成部203は、複数のモータ103,106のうち最も長い時間動作するモータ106に対応するZ軸仮カム曲線uをモータ106に対応するカム曲線であるZ軸カム曲線uに設定する。より具体的には、カム曲線生成部203は、Z軸カム曲線uのテーブルデータを、テーブル記憶部204に格納する。
次に、カム曲線生成部203は、始点sと終点eとの間であってワークWが障害物である外部装置Oに衝突しない位置に経由点p(px,pz)を設定する経由点設定処理を実行する(S6:経由点設定ステップ)。本第1実施形態では、教示点記憶部202に経由点pの座標データが格納されているため、カム曲線生成部203は、教示点記憶部202から経由点pの座標データを読み出すことで、経由点pを設定する。つまり、カム曲線生成部203が経由点pを設定するとは、本第1実施形態では、カム曲線生成部203が教示点記憶部202から経由点pの座標データを読み出して、経由点pの座標データを後の演算に使用し得る状態にすることをいう。この教示点記憶部202に格納されている座標データは、ワークWが外部装置Oに衝突しないようにユーザが決めた値である。例えば、外部装置Oの座標が、図1に示すように(X,Z)=(100,30)であるので、経由点pは、図4(b)に示すX方向干渉領域及びZ方向干渉領域を避けた(px,pz)=(80,50)に設定される。ここで、図4(b)に示すX方向干渉領域は、Z軸カム曲線が変位30になる位相までに、X方向に100以上の位置に移動していると、ワークWと外部装置Oとが干渉する領域を表している。また、Z方向干渉領域は、X軸カム曲線が変位100になる位相以降、Z方向に30以下の位置に留まっていると干渉する領域を表している。つまり、経由点pは、ワークWが外部装置Oに接触しない領域内の点に設定される。
次にカム曲線生成部203は、モータ103,106のうち残りのモータ103の動作時間Txが、モータ106の動作時間Tzを超えない範囲で、X軸仮カム曲線fをワークが経由点pを通過するように調整する調整処理を実行する(S7:調整ステップ)。つまり、カム曲線生成部203は、調整対象である動作時間の短い仮カム曲線fを、モータ106の動作開始時刻を下回らず、且つ動作終了時刻を上回らないように、動作時間Tz内で調整する。
この調整方法は、どのような調整方法であってもよいが、本第1実施形態では、X軸仮カム曲線fの位相を調整する。このようにX軸仮カム曲線fの位相を調整するようにしたので、調整した仮カム曲線においてモータ103は最大出力に維持されて最大出力を超えることはなく、また、調整作業も容易である。
次に、カム曲線生成部203は、ステップS7にて調整済みのX軸仮カム曲線を、モータ103に対応するカム曲線であるX軸カム曲線hに設定する第2カム曲線設定処理を実行する(S8:第2カム曲線設定ステップ)。より具体的には、カム曲線生成部203は、X軸カム曲線hのテーブルデータを、テーブル記憶部204に格納する。
なお、テーブル記憶部204において、X軸カム曲線hのテーブルデータ及びZ軸カム曲線uのテーブルデータは、時刻の同期が図られた状態で格納されている。
次に、比較例として、始点s、経由点p及び終点eを設定した後に、各教示点s,p,eを通過するカム曲線を生成する場合について説明する。図5は、比較例の制御装置のカム曲線生成部の動作を示すフローチャートである。まず、カム曲線生成部は、始点s、終点e、経由点pを設定する(S11,S12,S13)。次に、カム曲線生成部は、X軸カム曲線における始点sと経由点pとの間の第1部分、及びZ軸カム曲線における始点sと経由点pとの間の第1部分を生成する(S14)。次に、カム曲線生成部は、X軸カム曲線における経由点pと終点eの間の第2部分、及びZ軸カム曲線における経由点pと終点eの間の第2部分を生成する(S15)。次に、カム曲線生成部は、第1部分と第2部分とを重ね合わせ、X軸カム曲線及びZ軸カム曲線を生成する(S16)。
図6は、第1実施形態及び比較例のカム曲線を示す説明図であり、図6(a)は第1実施形態のカム曲線、図6(b)は比較例のカム曲線を示している。
図6(b)に示す比較例のカム曲線では、経由点pを高精度に通過させるために、その近傍において、X軸、Z軸のモータの駆動速度はほぼゼロに近くなり、時刻に対する駆動量が小さい。そして、再度各軸のモータが駆動速度を上げて終点eに至るが、始点sから終点eまでの動作時間が遅延している。
これに対して、図6(a)に示す本第1実施形態のカム曲線では、最大出力で動作させた際のモータ103,106に対応する仮カム曲線を生成し、動作時間が長い方のモータに対応する仮カム曲線をカム曲線に設定している。本第1実施形態では、モータ106の動作時間が長いので、動作時間の遅延を避けるために、モータ106に対応する仮カム曲線をZ軸カム曲線に設定している。そして、残りの仮カム曲線をワークWが経由点pを通過するように位相調整して、調整結果をカム曲線に設定している。したがって、始点sから終点eまでの動作時間を短縮することができる。また、経由点pにおいても高精度に通過させることができる。
以上、本第1実施形態によれば、最短の動作時間が最も長いモータ106は、最短の動作時間Tzで動作し、残りのモータ103も、動作時間Txが最短の動作時間Tzを超えないように動作するよう、各カム曲線が設定される。したがって、搬送装置101の動作時間を短縮できる。
特に、モータ103に対応する仮カム曲線は、位相をずらすことで調整しているので、調整後もモータ103の最大出力を超えることがなく、また、調整作業を繰り返し行う必要もなくなり、調整作業の手間が省け、短時間でカム曲線を生成ことができる。
さらにワークWが経由点pを通過するため、ワークWの外部装置Oへの衝突もなく搬送装置101を動作させることができるようになり、生産効率が向上する。また、経由点pを通過するためにモータ103,106の駆動速度を下げる必要がなく、短時間かつ高精度に経由点pを通過させることができる。
なお、本第1実施形態では、ステップS7における調整処理で、モータ103に対応する仮カム曲線の位相を調整するようにしたが、これに限定するものではなく、モータ103に対応する仮カム曲線の傾き(モータ103の駆動速度)を調整するようにしてもよい。具体的には、モータ103の最大出力を超えないように、仮カム曲線の傾き(モータの駆動速度)を小さくするように調整するとよい。また、この調整処理は、動作時間Txが動作時間Tzを超えない範囲で行えばよく、これにより、搬送装置101の動作時間を短縮することができる。
[第2実施形態]
次に、本発明の第2実施形態の搬送システムについて説明する。図7は、本発明の第2実施形態に係る制御装置のカム曲線生成部の動作を示すフローチャートである。図8は、各モータに対応するカム曲線を示す説明図である。本第2実施形態では、カム曲線生成部203の処理動作が上記第1実施形態と異なるものである。具体的には、上記第1実施形態では、教示点記憶部202に経由点pの座標データが格納されている場合のカム曲線生成部203の処理動作について説明した。これに対し、本第2実施形態では、教示点記憶部202に経由点pの座標データが格納されておらず(つまり、ユーザにより経由点pが教示されておらず)、カム曲線生成部203が経由点pの座標データを求めるものである。本第2実施形態においては、カム曲線生成部203の処理動作について詳細に説明し、装置構成については、上記第1実施形態と同様であるため、上記第1実施形態と同一符号を付して、説明を省略する。
まず、カム曲線生成部203は、始点sを設定する(S21)。ここで、カム曲線生成部203が始点sを設定するとは、本第2実施形態では、カム曲線生成部203が教示点記憶部202から始点sの座標データを読み出して、始点sの座標データを後の演算に使用し得る状態にすることをいう。この始点sは、ワークWを受け取る位置の教示点である。始点sの座標は、例えば図1に示すように、(X,Z)=(0,0)に設定される。
また、カム曲線生成部203は、終点eを設定する(S22)。ここで、カム曲線生成部203が終点eを設定するとは、本第2実施形態では、カム曲線生成部203が教示点記憶部202から終点eの座標データを読み出して、終点eの座標データを後の演算に使用し得る状態にすることをいう。この終点eは、ワークWの搬送先を示す教示点である。終点eの座標は、例えば図1に示すように、(X,Z)=(300,50)に設定される。
次に、カム曲線生成部203は、ワークWを始点sから終点eに移動させる際に各モータ103,106の動作時間が最短となる各モータ103,106に対応する仮カム曲線f,uを生成する仮カム曲線生成処理を実行する(S23:仮カム曲線生成ステップ)。ここで、モータ103に対応する仮カム曲線fをX軸仮カム曲線、モータ106に対応する仮カム曲線uをZ軸仮カム曲線と称する。
次に、カム曲線生成部203は、X軸仮カム曲線fの動作時間TxとZ軸仮カム曲線uの動作時間Tzとを算出し、動作時間の長い仮カム曲線を判別する。この動作時間の長い仮カム曲線が調整しない仮カム曲線であるので、これ以外の仮カム曲線を、調整対象の仮カム曲線に決定する(S24)。なお、本第2実施形態では、動作時間の長い仮カム曲線は、Z軸仮カム曲線uであり、調整対象の仮カム曲線は、X軸仮カム曲線fである。
したがって、カム曲線生成部203は、調整しない仮カム曲線(本第2実施形態では、Z軸仮カム曲線u)をカム曲線に設定する第1カム曲線設定処理を実行する(S25:第1カム曲線設定ステップ)。つまり、カム曲線生成部203は、複数のモータ103,106のうち最も長い時間動作するモータ106に対応するZ軸仮カム曲線uをモータ106に対応するカム曲線であるZ軸カム曲線uに設定する。より具体的には、カム曲線生成部203は、Z軸カム曲線uのテーブルデータを、テーブル記憶部204に格納する。
次に、カム曲線生成部203は、X軸仮カム曲線fの位相を、ワークWが外部装置Oに衝突しない範囲で且つ最も長い時間動作するモータ106の動作時間を超えない範囲で変化させる。そして、カム曲線生成部203は、変化させたX軸仮カム曲線の値から所定時刻T1における経由点p(本第2実施形態では経由点px)の設定可能範囲αを求め、設定可能範囲α内で経由点pを設定する経由点設定処理を実行する(S26:経由点設定ステップ)。具体的には、上限のX軸仮カム曲線(図8ではX軸仮カム曲線f)と、下限のX軸仮カム曲線(図8ではX軸仮カム曲線g)とが求まり、所定時刻T1におけるX軸の経由点pxの設定可能範囲αが求まる。なお、Z軸についてはカム曲線が決定されているため、所定時刻T1における経由点pzの設定可能範囲は、一点に決まる。また、所定時刻T1は、モータ106の動作開始時刻と動作終了時刻との間の時刻である。
経由点p(px)の値は、設定可能範囲α内であれば任意に設定してよいが、本第2実施形態では、ワークWと外部装置Oとの衝突を確実に防止するために、設定可能範囲αの略中心値としている。
本第2実施形態において、カム曲線生成部203が経由点pを設定するとは、設定可能範囲内で経由点pの座標データを求めて、経由点pの座標データを後の演算に使用し得る状態にすることをいう。例えば、外部装置Oの座標が、図1に示すように(X,Z)=(100,30)であるので、経由点pは、図8に示すX方向干渉領域及びZ方向干渉領域を避けた(px,pz)=(80,50)に設定される。
次にカム曲線生成部203は、モータ103,106のうち残りのモータ103の動作時間Txが、モータ106の動作時間Tzを超えない範囲で、X軸仮カム曲線fをワークが経由点pを通過するように調整する調整処理を実行する(S27:調整ステップ)。つまり、カム曲線生成部203は、調整対象である動作時間の短い仮カム曲線fを、モータ106の動作開始時刻を下回らず、且つ動作終了時刻を上回らないように、動作時間Tz内で調整する。
本第2実施形態では、X軸仮カム曲線fの位相を調整する。このようにX軸仮カム曲線fの位相を調整するようにしたので、調整した仮カム曲線においてモータ103は最大出力に維持されて最大出力を超えることはなく、また、調整作業も容易である。
次に、カム曲線生成部203は、ステップS27にて調整済みのX軸仮カム曲線を、モータ103に対応するカム曲線であるX軸カム曲線hに設定する第2カム曲線設定処理を実行する(S28:第2カム曲線設定ステップ)。より具体的には、カム曲線生成部203は、X軸カム曲線hのテーブルデータを、テーブル記憶部204に格納する。
なお、テーブル記憶部204において、X軸カム曲線hのテーブルデータ及びZ軸カム曲線uのテーブルデータは、時刻の同期が図られた状態で格納されている。
図9は、第2実施形態及び比較例のカム曲線を示す説明図であり、図9(a)は第2実施形態のカム曲線、図9(b)は比較例のカム曲線を示している。
図9(b)に示す比較例のカム曲線では、経由点pを高精度に通過させるために、その近傍において、X軸、Z軸のモータの駆動速度はほぼゼロに近くなり、時刻に対する駆動量が小さい。そして、再度各軸のモータが駆動速度を上げて終点eに至るが、始点sから終点eまでの動作時間が遅延している。
これに対して、図9(a)に示す本第2実施形態のカム曲線では、最大出力で動作させた際のモータ103,106に対応する仮カム曲線を生成し、動作時間が長い方のモータに対応する仮カム曲線をカム曲線に設定している。本第2実施形態では、モータ106の動作時間が長いので、動作時間の遅延を避けるために、モータ106に対応する仮カム曲線をZ軸カム曲線に設定している。そして、残りの仮カム曲線をワークWが経由点pを通過するように位相調整して、調整結果をカム曲線に設定している。したがって、始点sから終点eまでの動作時間を短縮することができる。また、経由点pにおいても高精度に通過させることができる。
以上、本第2実施形態によれば、最短の動作時間が最も長いモータ106は、最短の動作時間Tzで動作し、残りのモータ103も、動作時間Txが最短の動作時間Tzを超えないように動作するよう、各カム曲線が設定される。これにより、経由点pを高精度に通過させることができるとともに、経由点pの近傍においてもモータ103,106の最大出力を維持することができる。したがって、搬送装置101の動作時間を短縮できる。
特に、モータ103に対応する仮カム曲線は、位相をずらすことで調整しているので、調整後もモータ103の最大出力を超えることがなく、また、調整作業を繰り返し行う必要もなくなり、調整作業の手間が省け、短時間でカム曲線を生成ことができる。
さらにワークWが経由点pを通過するため、ワークWの外部装置Oへの衝突もなく搬送装置101を動作させることができるようになり、生産効率が向上する。
また、動作時間の長いモータをモータ106と判定し、その動作時間以内に教示点である経由点pを設定できる設定可能範囲αを求めることができる。そのため、通常、最短時間となる経由点pを試行錯誤的に設定するような作業であったが、図8に示すように、経由点pの設定可能範囲αを求め、その範囲αの中において経由点pを設定することで、容易に最短時間となる経由点pの設定作業ができる。したがって、経由点pの設定作業を短時間で容易に行うことができる。また、範囲αの中で経由点pを設定したことで、始点sから終点eまでを最短の動作時間とすることができる。
[第3実施形態]
次に、本発明の第3実施形態に係る搬送システムについて説明する。図10は、本発明の第3実施形態に係る搬送システムの概略構成を示す説明図である。図11は、本発明の第3実施形態に係る制御装置のカム曲線生成部の動作を示すフローチャートである。図12は、各モータに対応するカム曲線を示す説明図である。
本第3実施形態では、カム曲線生成部203の処理動作が上記第1及び第2実施形態と異なるものである。本第3実施形態においては、カム曲線生成部203の処理動作について詳細に説明し、装置構成については、上記第1実施形態と同様であるため、上記第1実施形態と同一符号を付して、説明を省略する。
上記第1及び第2実施形態では、経由点が1つであったが、経由点が複数であってもよく、本第3実施形態では、2つの経由点がある場合について説明する。そして、本第3実施形態では、経由点が2つあるため、上記第2実施形態で説明した、図7のステップS26における経由点設定ステップを第1経由点設定ステップ及び第2経由点設定ステップに分けて説明する。同様に、ステップS27における調整ステップを第1調整ステップ及び第2調整ステップに分けて説明する。
まず、カム曲線生成部203は、始点sを設定する(S31)。ここで、カム曲線生成部203が始点sを設定するとは、本第3実施形態では、カム曲線生成部203が教示点記憶部202から始点sの座標データを読み出して、始点sの座標データを後の演算に使用し得る状態にすることをいう。この始点sは、ワークWを受け取る位置の教示点である。始点sの座標は、例えば図10に示すように、(X,Z)=(0,0)に設定される。
また、カム曲線生成部203は、終点eを設定する(S32)。ここで、カム曲線生成部203が終点eを設定するとは、本第3実施形態では、カム曲線生成部203が教示点記憶部202から終点eの座標データを読み出して、終点eの座標データを後の演算に使用し得る状態にすることをいう。この終点eは、ワークWの搬送先を示す教示点である。終点eの座標は、例えば図10に示すように、(X,Z)=(300,100)に設定される。
カム曲線生成部203は、ワークWを始点sから終点eに移動させる際に各モータ103,106の動作時間が最短となる各モータ103,106に対応する仮カム曲線f,u(図8)を生成する仮カム曲線生成処理を実行する(S33:仮カム曲線生成ステップ)。ここで、モータ103に対応する仮カム曲線fをX軸仮カム曲線、モータ106に対応する仮カム曲線uをZ軸仮カム曲線と称する。
次に、カム曲線生成部203は、X軸仮カム曲線fの動作時間TxとZ軸仮カム曲線uの動作時間Tzとを算出し、動作時間の長い仮カム曲線を判別する。この動作時間の長い仮カム曲線が調整しない仮カム曲線であるので、これ以外の仮カム曲線を、調整対象の仮カム曲線に決定する(S34)。なお、本第3実施形態では、動作時間の長い仮カム曲線は、Z軸仮カム曲線uであり、調整対象の仮カム曲線は、X軸仮カム曲線fである。
したがって、カム曲線生成部203は、調整しない仮カム曲線(本第3実施形態では、Z軸仮カム曲線u)をカム曲線に設定する第1カム曲線設定処理を実行する(S35:第1カム曲線設定ステップ)。つまり、カム曲線生成部203は、複数のモータ103,106のうち最も長い時間動作するモータ106に対応するZ軸仮カム曲線uをモータ106に対応するカム曲線であるZ軸カム曲線uに設定する。より具体的には、カム曲線生成部203は、Z軸カム曲線uのテーブルデータを、テーブル記憶部204に格納する。
次に、カム曲線生成部203は、X軸仮カム曲線fの位相を、ワークWが障害物である外部装置O1に衝突しない範囲で且つ最も長い時間動作するモータ106の動作時間を超えない範囲で変化させる。そして、カム曲線生成部203は、変化させたX軸仮カム曲線の値から第1所定時刻T1における第1経由点p(本第3実施形態では経由点px)の設定可能範囲α(図8)を求める。そして、カム曲線生成部203は、設定可能範囲α内で第1経由点pを設定する経由点設定処理を実行する(S36:第1経由点設定ステップ)。具体的には、上限のX軸仮カム曲線(図8ではX軸仮カム曲線f)と、下限のX軸仮カム曲線(図8ではX軸仮カム曲線g)とが求まり、第1所定時刻T1におけるX軸の経由点pxの設定可能範囲αが求まる。なお、Z軸についてはカム曲線が決定されているため、第1所定時刻T1における経由点pzの設定可能範囲は、一点に決まる。また、第1所定時刻T1は、モータ106の動作開始時刻と動作終了時刻との間の時刻である。
第1経由点p(px)の値は、設定可能範囲α内であれば任意に設定してよいが、本第3実施形態では、ワークWと外部装置O1との衝突を確実に防止するために、設定可能範囲αの略中心値としている。
本第3実施形態において、カム曲線生成部203が第1経由点pを設定するとは、設定可能範囲内で第1経由点pの座標データを求めて、第1経由点pの座標データを後の演算に使用し得る状態にすることをいう。例えば、外部装置O1の座標が、図10に示すように(X,Z)=(100,30)であるので、第1経由点pは、図12に示すX方向干渉領域及びZ方向干渉領域を避けた(px,pz)=(80,50)に設定される。
なお、予めユーザの教示により教示点記憶部202に第1経由点pの座標データが格納されている場合は、カム曲線生成部203は、教示点記憶部202から第1経由点pの座標データを読み出すことで、第1経由点pを設定するようにしてもよい。
カム曲線生成部203は、モータ103,106のうち残りのモータ103の動作時間Txが、モータ106の動作時間Tzを超えない範囲で、X軸仮カム曲線fをワークが第1経由点pを通過するように調整する調整処理を実行する(S37:第1調整ステップ)。つまり、カム曲線生成部203は、調整対象である動作時間の短い仮カム曲線fを、モータ106の動作開始時刻を下回らず、且つ動作終了時刻を上回らないように、動作時間Tz内で調整する。この調整処理により、X軸仮カム曲線hが生成される。
本第3実施形態では、X軸仮カム曲線fの位相を調整することで、X軸仮カム曲線hを生成している。このようにX軸仮カム曲線fの位相を調整するようにしたので、調整した仮カム曲線においてモータ103は最大出力に維持されて最大出力を超えることはなく、また、調整作業も容易である。
次に、カム曲線生成部203は、経由点pxを基準に、X軸仮カム曲線hの傾き(モータ103の駆動速度)を、ワークWが障害物である外部装置O2に衝突しない範囲で且つ最も長い時間動作するモータ106の動作時間を超えない範囲で変化させる。このとき、カム曲線生成部203は、X軸仮カム曲線hの傾きを小さくするように変化させる。そして、カム曲線生成部203は、変化させたX軸仮カム曲線の値から第2所定時刻T2における第2経由点q(本第3実施形態では経由点qx)の設定可能範囲βを求める。そして、カム曲線生成部203は、設定可能範囲β内で第2経由点qを設定する経由点設定処理を実行する(S38:第2経由点設定ステップ)。具体的には、上限のX軸仮カム曲線(図12ではX軸仮カム曲線h)と、下限のX軸仮カム曲線(図12ではX軸仮カム曲線m)とが求まり、第2所定時刻T2におけるX軸の経由点qxの設定可能範囲βが求まる。なお、Z軸についてはカム曲線が決定されているため、第2所定時刻T2における経由点qzの設定可能範囲は、一点に決まる。また、第2所定時刻T2は、モータ106の動作開始時刻と動作終了時刻との間の時刻であって、第1所定時刻T1と動作終了時刻との間の時刻である。
第2経由点q(qx)の値は、設定可能範囲β内であれば任意に設定してよいが、本第3実施形態では、ワークWと外部装置O2との衝突を確実に防止するために、設定可能範囲βの略中心値としている。
本第3実施形態において、カム曲線生成部203が第2経由点qを設定するとは、設定可能範囲内で第2経由点qの座標データを求めて、第2経由点qの座標データを後の演算に使用し得る状態にすることをいう。例えば、外部装置O2の座標が、図10に示すように(X,Z)=(200,60)であるので、第2経由点qは、図12に示すX方向干渉領域及びZ方向干渉領域を避けた(qx,qz)=(150,65)に設定される。
なお、予めユーザの教示により教示点記憶部202に第2経由点qの座標データが格納されている場合は、カム曲線生成部203は、教示点記憶部202から第2経由点qの座標データを読み出すことで、第2経由点qを設定するようにしてもよい。
カム曲線生成部203は、モータ103,106のうち残りのモータ103の動作時間Txが、モータ106の動作時間Tzを超えない範囲で、X軸仮カム曲線hをワークが経由点p,qを通過するように調整する調整処理を実行する(S39:第2調整ステップ)。つまり、カム曲線生成部203は、調整対象である仮カム曲線hを、モータ106の動作開始時刻を下回らず、且つ動作終了時刻を上回らないように、動作時間Tz内で調整する。
本第3実施形態では、経由点pxを基準として、X軸仮カム曲線hの傾きをワークWが経由点qを通過するように調整する。具体的には、X軸仮カム曲線hの傾きが小さくなるように調整する。傾きを調整した仮カム曲線においてモータ103の出力は最大出力よりも小さくなるので、最大出力を超えることはない。
次に、カム曲線生成部203は、ステップS39にて調整済みのX軸仮カム曲線を、モータ103に対応するカム曲線であるX軸カム曲線nに設定する第2カム曲線設定処理を実行する(S40:第2カム曲線設定ステップ)。より具体的には、カム曲線生成部203は、X軸カム曲線nのテーブルデータを、テーブル記憶部204に格納する。
なお、テーブル記憶部204において、X軸カム曲線nのテーブルデータ及びZ軸カム曲線uのテーブルデータは、時刻の同期が図られた状態で格納されている。
図13は、第3実施形態及び比較例のカム曲線を示す説明図であり、図13(a)は第3実施形態のカム曲線、図13(b)は比較例のカム曲線を示している。
図13(b)に示す比較例のカム曲線では、経由点p,qを高精度に通過させるために、その近傍において、X軸、Z軸のモータの駆動速度はほぼゼロに近くなり、時刻に対する駆動量が小さい。そして、再度各軸のモータが駆動速度を上げて終点eに至るが、始点sから終点eまでの動作時間が遅延している。
これに対して、図13(a)に示す本第1実施形態のカム曲線では、最大出力で動作させた際のモータ103,106に対応する仮カム曲線を生成し、動作時間が長い方のモータに対応する仮カム曲線をカム曲線に設定している。本第3実施形態では、モータ106の動作時間が長いので、動作時間の遅延を避けるために、モータ106に対応する仮カム曲線をZ軸カム曲線に設定している。そして、残りの仮カム曲線の位相又は傾きをワークWが経由点p,qを通過するように調整して、調整結果をカム曲線に設定している。したがって、始点sから終点eまでの動作時間を短縮することができる。また、経由点p,qにおいても高精度に通過させることができる。
以上、本第3実施形態によれば、最短の動作時間が最も長いモータ106は、最短の動作時間Tzで動作し、残りのモータ103も、動作時間Txが最短の動作時間Tzを超えないように動作するよう、各カム曲線が設定される。これにより、経由点p,qを高精度に通過させることができるとともに、経由点p,qの近傍においてもモータ103,106の最大出力を維持することができる。したがって、搬送装置101の動作時間を短縮できる。
特に、モータ103に対応する仮カム曲線は、モータ103の最大出力を維持又は低下するように、位相又は傾きをずらすことで調整しているため、調整作業を繰り返し行う必要もなく、調整作業の手間が省け、短時間でカム曲線を生成ことができる。
さらにワークWが経由点p,qを通過するため、ワークWの外部装置Oへの衝突もなく搬送装置101を動作させることができるようになり、生産効率が向上する。
また、動作時間の長いモータをモータ106と判定し、その動作時間以内に教示点である経由点p,qを設定できる設定可能範囲α,βを求めることができる。そのため、通常、最短時間となる経由点p,qを試行錯誤的に設定するような作業であったが、図8に示すように、経由点pの設定可能範囲αを求め、その範囲αの中において経由点pを設定することで、容易に最短時間となる経由点pの設定作業ができる。同様に、図12に示すように、経由点qの設定可能範囲βを求め、その範囲βの中において経由点qを設定することで、容易に最短時間となる経由点qの設定作業ができる。したがって、経由点p,qの設定作業を短時間で容易に行うことができる。また、範囲αの中で経由点pを設定し、範囲βの中で経由点qを設定したことで、始点sから終点eまでを最短の動作時間とすることができる。
なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。
上記第1〜第3実施形態では、駆動源としてのモータが2つの場合について説明したが、これに限定するものではなく、駆動源が3つ以上の場合についても適用可能である。
また、上記第1〜第3実施形態では、モータが電動の回転モータである場合について説明したが、これに限定するものではなく、例えばリニアモータであってもよい。また、駆動源としては、モータに限定するものではなく、例えばソレノイドアクチュエータや油圧シリンダであってもよい。
また、上記第1〜第3実施形態では、搬送装置が、搬送方向(X方向)に直交する垂直方向(Z方向)にワークを移動させて衝突を回避するように構成されている説明したが、駆動源は、衝突を回避できる方向であれば、どのような方向にワークを移動してもよい。例えば、駆動源の駆動によりX方向及びZ方向に直交するY方向にワークを移動させるようにしてもよい。