JP5220241B1 - 指令生成装置および指令生成方法 - Google Patents

指令生成装置および指令生成方法 Download PDF

Info

Publication number
JP5220241B1
JP5220241B1 JP2012539136A JP2012539136A JP5220241B1 JP 5220241 B1 JP5220241 B1 JP 5220241B1 JP 2012539136 A JP2012539136 A JP 2012539136A JP 2012539136 A JP2012539136 A JP 2012539136A JP 5220241 B1 JP5220241 B1 JP 5220241B1
Authority
JP
Japan
Prior art keywords
command
movable shaft
movable
axis
time
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.)
Expired - Fee Related
Application number
JP2012539136A
Other languages
English (en)
Other versions
JPWO2013136412A1 (ja
Inventor
仁之 高橋
貴弘 丸下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5220241B1 publication Critical patent/JP5220241B1/ja
Publication of JPWO2013136412A1 publication Critical patent/JPWO2013136412A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration

Abstract

可動軸の運転パターンを変更することなく干渉回避動作を実現するために、指令生成装置(100)は、第1の可動軸と第2の可動軸との間の干渉距離と、前記第1の可動軸および前記第2の可動軸の運転パターンとに基づいて、運転中に双方の可動軸間の距離が干渉距離よりも常時大きくなるように前記第1の可動軸の運転開始タイミングを遅延せしめる待機時間を算出する起動待機時間演算部(110)と、前記第2の可動軸の運転パターンに基づいて前記第2の可動軸を駆動する指令の出力を開始し、前記第2の可動軸にかかる指令の出力開始後から前記算出された待機時間が経過したとき、前記第1の可動軸の運転パターンに基づいて前記第1の可動軸を駆動する指令の出力を開始する、指令出力部としての起動待機部(120)および指令演算部(130)と、を備える。

Description

本発明は、実装機、工作機械、XYテーブル、ロボットアームなど、複数の可動軸を備えた各種産業機械(被制御装置)を駆動するための指令を生成する指令生成装置および指令生成方法に関する。
複数の可動軸の可動領域が互いに交差している場合、これらの可動軸が互いに干渉しないように位置決め運転を行う必要がある。複数の可動軸が干渉しないように位置決め運転を行うための最も単純な技術としては、他軸を干渉しない位置まで移動させてから自軸の位置決め運転を開始する方法がある。しかしながら、この方法によれば、他軸が移動完了するまで自軸は待機する必要があるため、被制御装置のタクトタイムが長くなり、作業効率が低下するといった課題がある。
これに対し、例えば特許文献1には、他軸が干渉しない位置に退避するまでは自軸の移動速度を小さくして移動を開始しておくことで、干渉を回避しつつ待機時間を削減することを可能にする技術が開示されている。
特開平9−251320号公報
例えば実装機が駆動対象である場合には、指令生成装置は、振動抑制のため速度・移動場所・移動量に応じてあらかじめ最適化されて設定されたモータ制御ゲインを用いて、可動軸の指令を生成する。しかしながら、特許文献1に記載の技術によれば、干渉を回避するために一方の軸の移動速度が小さくなるため、あらかじめ設定されたゲインが適切ではなくなる。そのため、実装機に意図しない振動が発生する虞がある。また、干渉しないと判断できるエリアでは移動途中で再度加速するため、振動発生の要因となる。その結果、位置決めの整定時間が長くなり、被制御装置のタクトタイムが長くなるといった問題がある。
本発明は、上記に鑑みてなされたものであって、可動軸の運転パターンを変更することなく干渉回避動作を実現する指令生成装置および指令生成方法を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、被制御装置が具備する第1の可動軸と第2の可動軸とを夫々駆動する指令を生成する指令生成装置であって、前記第1の可動軸と前記第2の可動軸との間の干渉距離と、時間の関数である指令位置関数または前記指令位置関数を時間微分して得られる指令速度関数で記述される前記第1の可動軸および前記第2の可動軸の運転パターンとに基づいて、運転中に双方の可動軸間の距離が干渉距離よりも常時大きくなるように前記第1の可動軸の運転開始タイミングを遅延せしめる待機時間を算出する待機時間演算部と、前記第2の可動軸の運転パターンに基づいて前記第2の可動軸を駆動する指令の出力を開始し、前記第2の可動軸にかかる指令の出力開始後から前記算出された待機時間が経過したとき、前記第1の可動軸の運転パターンに基づいて前記第1の可動軸を駆動する指令の出力を開始する、指令出力部と、を備え、前記待機時間演算部は、前記第2の可動軸の運転パターンに基づく指令位置が前記第1の可動軸の目標位置と前記干渉距離との合算値と一致する時刻Tbを演算し、前記第1の可動軸の運転パターンに基づく指令速度を含む第1の関数が前記第2の可動軸の運転パターンに基づく指令速度を含む第2の関数の時刻Tbにおける値に一致する時刻Taを演算し、時刻Tbから時刻Taを減算し、当該減算により得られた値を前記待機時間とする、ことを特徴とする。
本発明にかかる指令生成装置は、自軸(第1の可動軸)の運転パターンに基づく指令の出力を遅延せしめることで自軸と他軸(第2の可動軸)との干渉を回避することができるので、可動軸の運転パターンを変更することなく干渉回避動作を実現することができる。
図1−1は、本発明の実施の形態1の指令生成装置による位置決め動作の特徴を説明する図である。 図1−2は、本発明の実施の形態1の指令生成装置による位置決め動作の特徴を説明する図である。 図2は、本発明の実施の形態1にかかる指令生成装置の機能構成を示すブロック図である。 図3−1は、実施の形態1において使用される安全距離を説明する図である。 図3−2は、実施の形態1において使用される安全距離を説明する図である。 図4は、起動待機時間Twの算出方法の概要と、自軸と他軸との間の干渉を回避できることの原理を説明する図である。 図5は、実施の形態1の指令生成装置のハードウェア構成例を説明する図である。 図6は、実施の形態1の指令生成方法を説明するフローチャートである。 図7は、実施の形態1の待機時間算出処理を説明するフローチャートである。 図8−1は、実施の形態2において使用される安全距離を説明する図である。 図8−2は、実施の形態2において使用される安全距離を説明する図である。 図9は、本発明の実施の形態2にかかる指令生成装置の機能構成を示すブロック図である。 図10は、実施の形態2の待機時間算出処理を説明するフローチャートである。 図11は、実施の形態2の指令生成装置により干渉が回避される様子を説明する図である。
以下に、本発明にかかる指令生成装置および指令生成方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1−1および図1−2は、本発明の実施の形態1の指令生成装置による位置決め動作の特徴を説明する図である。なお、ここでは、説明を簡単にするため、指令生成装置の制御対象とする機械(被制御装置)が有する可動軸(以下、単に軸と記述)は2つ(自軸および他軸)であるとする。
図1−1は、自軸(第1の可動軸)および他軸(第2の可動軸)が互いに近づく方向に移動する場合の動作例を示している。実施の形態1の指令生成装置によれば、自軸および他軸が互いに近づく方向に移動する場合であって、双方の目標位置の間が安全距離以上離れている場合には、干渉回避の制御を実行しない。安全距離とは、予め設定される自軸と他軸との間の距離であって、干渉を回避するための自軸と他軸との間の距離をいう。
図1−2は、他軸が自軸に対して離れる方向に移動する場合の動作例を示している。他軸が自軸から離れる方向に移動中においては、双方の可動軸の現在位置の間、および双方の可動軸の目標位置の間が安全距離以上の距離だけ離れていたとしても、移動の途中で互いに干渉する可能性がある。実施の形態1の指令生成装置によれば、他軸が自軸に対して離れる方向に移動する場合には、干渉回避の制御を実行する。即ち、実施の形態1の指令生成装置は、停止中または動作中の他軸に自軸が干渉することを回避するための待機時間を算出し、待機時間が経過した後に自軸の目標位置までの位置決めを開始する。
図2は、本発明の実施の形態1にかかる指令生成装置の機能構成を示すブロック図である。図示するように、指令生成装置100は、起動待機時間演算部110、起動待機部120、指令演算部130、および位置更新部140を備えている。指令生成装置100は、目標位置(自軸目標位置X1および他軸目標位置X2)、目標速度(自軸目標速度V1および他軸目標速度V2)、および安全距離Dsが入力される。そして、指令生成装置100は、各軸に対する指令速度(出力指令速度vo1、vo2)をサーボアンプなどのモータ駆動制御部150に出力する。なお、目標位置(自軸目標位置X1および他軸目標位置X2)および目標速度(自軸目標速度V1および他軸目標速度V2)は、NCプログラムなどから与えられる。
なお、実施の形態1においては、安全距離とは、ユーザの停止指令・エラー発生などの要因により他軸が停止を開始しても自軸の停止が間に合う(干渉を回避できる)だけの減速時の移動量(以下、減速移動量)を含むものとする。減速移動量とは、言い換えると、緊急停止開始から停止完了するまでの可動軸の移動量である。図3−1および図3−2は、実施の形態1において使用される安全距離を説明する図である。図示するように、自軸および他軸が互いに近づく方向に移動する場合であっても、他軸が自軸に対して離れる方向に移動する場合であっても、安全距離は、軸間のオフセットに、自軸および他軸の減速移動量の絶対値を夫々加算したものとなっている。軸間のオフセットとは、軸同士を物理的に近づけることができる最小の距離をいう。減速移動量は次式1で定義される。ここで、安全距離には減速移動量の最大値を考慮する必要があるため、指令速度は運転パターン中の最大値が採用される。
(減速移動量)=(1/2)×(指令速度)/(減速度) (式1)
起動待機時間演算部110は、目標位置X1、X2と、目標速度V1、V2と、指令生成装置100内部の位置更新部140で演算される各軸の現在の指令位置xo1、xo2と、安全距離と、を入力とし、自軸および他軸の運転パターンとに基づいて、運転中に双方の可動軸間の距離が安全距離よりも常時大きくなるように自軸の運転開始タイミングを他軸の運転開始タイミングから遅延せしめる遅延量である起動待機時間Twを演算する。
自軸の運転パターンは、時刻tを変数とした指令位置関数p1[t]または/および指令位置関数p1[t]を時間微分して得られる指令速度関数w1[t]で記述される。同様に、他軸の運転パターンは、指令位置関数p2[t]または/および指令位置関数p2[t]を時間微分して得られる指令速度関数w2[t]で記述される。起動待機時間演算部110は、運転パターンが指令速度関数w1[t]、w2[t]で記述される場合には、指令速度関数w1[t]、w2[t]を夫々積分して指令位置関数p1[t]、p2[t]を得ることができるし、運転パターンが指令位置関数p1[t]、p2[t]で与えられる場合には、指令位置関数p1[t]、p2[t]を夫々微分して指令速度関数w1[t]、w2[t]を得ることができる。夫々の可動軸の運転パターンは、例えば、時間t以外の変数を含む関数(例えば台形加減速を実現する関数やS字加減速を実現する関数)で表現される。そして、時間t以外の変数は、目標位置X1、X2、目標速度V1、V2、および現在の指令位置xo1、xo2に基づいて決定され、各軸の運転パターンを記述する関数が確定される。起動待機時間演算部110は、自軸目標位置X1および指令位置関数p2[t]に基づいて自軸と他軸の距離が安全距離未満になる時間Tbを演算する。そして、指令速度関数w1[t]およびw2[t]に基づいて時間Tbにおける他軸の指令速度w2[Tb]と自軸の指令速度が一致する時間Taを演算する。そして、時間Tbと時間Taから式「T=Tb−Ta」により起動待機時間Twを演算する。
起動待機部120および指令演算部130は、協働して、実施の形態1の指令出力部として機能する。指令出力部は、他軸の運転パターンに基づいて他軸を駆動する指令の出力を開始し、他軸を駆動する指令の出力を開始してから起動待機時間Twが経過したとき、自軸の運転パターンに基づいて自軸を駆動する指令の出力を開始する。
具体的には、起動待機部120は、起動待機時間演算部110で演算される自軸に対する起動待機時間Twだけ起動指令の出力を遅らせる。即ち、起動待機部120は、他軸の起動指令を出力し、当該他軸の起動指令の出力後、起動待機時間Twだけ経過すると、自軸の起動指令を出力する。なお、算出された起動待機時間Twがゼロ値以下の値である場合、他軸の起動指令を出力すると、即、自軸の起動指令を出力する。指令演算部130は、起動指令、目標位置、目標速度を入力とし、各軸の起動指令入力後は該当軸の目標位置、目標速度から、制御周期ごとに各軸指令速度を演算する。算出された自軸の指令速度をvo1、他軸の指令速度をvo2とする。ここで、指令演算部130は、他軸の起動指令を受信すると、他軸の演算周期毎の指令速度vo2の出力を開始し、自軸の起動指令を受信すると、自軸の演算周期毎の指令速度vo1の出力を開始する。
位置更新部140は、各軸に出力される指令速度vo1、vo2を夫々積分して、各軸の現在指令位置xo1、xo2を算出する。
なお、モータ駆動制御部150は、例えばサーボアンプであって、指令速度vo1、vo2を入力とし、モータの駆動の制御を行う。
ここで、起動待機時間Twの算出方法の概要と、自軸の位置決め開始を起動待機時間Twだけ遅らせることで、自軸と他軸との間の干渉を回避できることの原理を、図4を使用して説明する。なお、ここでは、説明を単純化するため安全距離がゼロ値であるとして説明する。
まず、起動待機時間演算部110は、自軸の目標位置X1と指令位置関数p2[t]の交点の時間Tbを求めることで、指令位置関数p2[t]において、干渉の考慮が必要な時間区分を算出する。即ち、時刻Tb以降の時間は、自軸と他軸との間が安全距離以上に離れるため、干渉は発生しない時間区分であり、時刻0〜時刻Tbは、干渉の考慮が必要な時間区分である。次に、起動待機時間演算部110は、自軸の指令速度が時刻Tbでの他軸の指令速度(指令位置の微分)Vに一致する時刻Taを求める。そして、起動待機時間演算部110は、Tb−Taの値を起動待機時間Twとする。Tw=Tb−Taだけ自軸の指令位置関数が遅延せしめられると(p1[t−Tw])、時刻Tbでの自軸の速度はVと等しくなる。自軸の指令位置関数は単調増加関数であるため、時刻Tbでの自軸の指令位置(p1[Tb−Tw]=p1[Ta])は明らかに自軸の目標位置X1以下である。さらに時刻Tbでの自軸と他軸の指令位置関数の傾き(指令速度)はVと等しいため、時刻Tbで自軸と他軸の指令位置関数は接するかまたは離れている(安全距離0であるため、接する場合も干渉無しである)。よって、2つの指令位置関数は交点を持たないことから、干渉を回避するための起動待機時間が算出できる。
図5は、実施の形態1の指令生成装置100のハードウェア構成例を説明する図である。指令生成装置100は、CPU(Central Processing Unit)1、RAM(Random Access Memory)2、およびROM(Read Only Memory)3を備えている。CPU1、RAM2およびROM3は、バスラインを介して夫々接続されている。
ROM3は、実施の形態1の指令生成方法を実行する指令生成プログラム4を予め記憶している記録媒体である。CPU1は、ROM3から指令生成プログラム4をバスラインを介して読み出して、RAM2へロードし、RAM2内にロードされた指令生成プログラム4を実行する。指令生成プログラム4がRAM2にロードされることによって、RAM2上に、起動待機時間演算部110、起動待機部120、指令演算部130、および位置更新部140の夫々に対応するプログラムモジュールが生成される。CPU1は、夫々のプログラムモジュールを実行することによって、対応する機能構成部として機能する。なお、指令生成プログラム4をインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、指令生成プログラム4のロード元となる記録媒体として、外部記憶装置、着脱可能なメモリデバイス、光ディスク装置を採用することが可能である。
なお、起動待機時間演算部110、起動待機部120、指令演算部130、および位置更新部140は、CPU1、即ちソフトウェアにより実現されるものとして説明するが、これらのうちの一部もしくは全部は、ハードウェアおよびソフトウェアのいずれか、または両者の組み合わせとして実現するようにしてもよい。
図6は、指令生成装置100によって実行される、実施の形態1の指令生成方法を説明するフローチャートである。図示するように、まず、起動待機時間演算部110は、外部から入力される目標位置X1、X2および目標速度V1、V2と、位置更新部140で演算される各軸の現在の指令位置xo1、xo2とを取得する(ステップS1)。そして、起動待機時間演算部110は、自軸および他軸の目標位置の差を計算し、目標位置が安全距離Ds以内であるか否かを判定する(ステップS2)。自軸および他軸の目標位置の差が安全距離Ds未満である場合(ステップS2、Yes)、干渉を回避することなく自軸の移動を実行せしめることができないので、指令生成装置100は、自軸の運転開始をキャンセルし(ステップS3)、指令生成装置100は動作を終了する。
なお、指令生成装置100が自軸の運転開始をキャンセルするとは、例えば、指令生成装置100が、自軸を駆動する指令の出力を禁止し、指令生成装置100が自軸を駆動する指令の出力を禁止している場合には、指令演算部130が指令速度xo1を出力しないようにすることで実現される。自軸および他軸の目標位置の差が安全距離Ds以上である場合には、指令生成装置100は、自軸を駆動する指令の出力を許可し、自軸を駆動する指令の出力が許可されている場合には、指令演算部130は、起動待機部120からの起動指令を受信したときに自軸を駆動する指令を出力することができる。
なお、指令生成装置100は、自軸の運転開始をキャンセルした場合に、オペレータにエラーを通知するなどの所定のエラー処理を実行するようにしてもよい。また、起動待機時間演算部110は、ステップS2の処理に併せて、他軸と自軸とが交差するか否かを判定するようにし、他軸と自軸とが交差する場合にもステップS3の処理が実行されるようにしてもよい。
自軸および他軸の目標位置の差が安全距離Ds以上である場合(ステップS2、No)、指令生成装置100は、他軸の位置決めを開始する(ステップS4)。具体的には、起動待機時間演算部110は、起動待機部120に指令して他軸を起動する起動指令を指令演算部130に出力せしめ、前記他軸を起動する起動指令を受信した指令演算部130は、目標位置X2および目標速度V2に基づいて制御周期毎の他軸の指令速度vo2を算出し、出力する。
続いて、起動待機時間演算部110は、他軸が停止中であるか否かの判定(ステップS5)と、他軸が自軸から離れる方向に移動中であるか否かの判定(ステップS6)とを実行する。起動待機時間演算部110は、ステップS5およびステップS6の判定を、位置更新部140が算出する現在の指令位置xo2と目標位置xo2との差分に基づいて判定することができる。他軸が停止している場合(ステップS5、Yes)、または他軸が自軸に近づく方向に移動中である場合(ステップS6、No)、起動待機時間演算部110は、起動待機時間Twをゼロ値とする(ステップS7)。
他軸が移動中であり(ステップS5、No)、かつ、他軸の移動方向が自軸から離れる方向である場合(ステップS6、Yes)、起動待機時間演算部110は、干渉を回避するための自軸の起動待機時間Twを算出する待機時間算出処理を実行する(ステップS8)。
図7は、実施の形態1の待機時間算出処理を説明するフローチャートである。なお、ここでは、便宜上、自軸および他軸の動作方向がともにプラス方向である場合について説明するが、自軸および他軸の動作方向がともにマイナス方向である場合であっても同様の動作が可能である。まず、起動待機時間演算部110は、p2[t]=X1+Dsとなる時間Tbを算出する(ステップS21)。なお、起動待機時間演算部110は、時刻Tbを算出するためには、例えば、一定時間間隔ごとにtを増減させてp2[t]=X1+Dsとなる時間Tbを探索することができる。ただし、繰り返し判断を行うため、計算コスト(処理時間)が問題になる場合、起動待機時間演算部110は、反復法(挟み撃ち法・二分法など)に代表される数値解析に基づいて時刻Tbを演算するようにしてもよい。続いて、起動待機時間演算部110は、w1[t]=w2[Tb]となる時間Taを算出する(ステップS22)。なお、w1[t]の減速区間にw2[t]が含まれる場合、起動待機時間演算部110は、w1[t]の逆関数に基づいて時刻Taを演算するようにしてもよい。また、w1[t]<w2[Tb]の場合(Taが求まらない場合)、起動待機時間演算部110は、減速開始時の時刻をTaとするようにしてもよい。続いて、起動待機時間演算部110は、起動待機時間Tw=Tb−Taを算出し(ステップS23)、待機時間算出処理を終了する。
ステップS7またはステップS8にて算出された起動待機時間Twは、起動待機部120に入力される。ステップS7またはステップS8の処理の後、起動待機部120は、起動待機時間Twだけ待機する(ステップS9)。即ち、起動待機部120は、他軸の起動指令を出力してから起動待機時間Twが経過するまで待機する。起動待機時間Twが経過した後、指令生成装置100は、自軸の位置決めを開始する(ステップS10)。具体的には、起動待機部120は、自軸の起動指令を指令演算部130に入力し、自軸の起動指令が入力された指令演算部130は、目標速度V1および目標速度V1に基づいて速度指令vo1を算出し、出力する。自軸および他軸が位置決めによりともに目標位置に到達すると、指令生成装置100は、動作を終了する。
なお、以上の説明においては、他軸が1つしかない場合について説明したが、他軸が複数存在する場合には、指令生成装置100は、ステップS2〜ステップS8の処理を他軸毎に実行し、ステップS3の処理を実行しない場合において、他軸毎の起動待機時間Twの最大値を用いてステップS9の処理を実行することで、自軸と他軸との干渉を回避することができる。
このように、実施の形態1によれば、自軸(第1の可動軸)と他軸(第2の可動軸)との間の安全距離(干渉距離)と、自軸および他軸の運転パターンとに基づいて、運転中に双方の可動軸間の距離が安全距離よりも常時大きくなるように自軸の運転開始タイミングを遅延せしめる待機時間を算出する起動待機時間演算部110と、他軸の運転パターンに基づいて他軸を駆動する指令の出力を開始し、他軸にかかる指令の出力開始後から前記算出された待機時間が経過したとき、自軸の運転パターンに基づいて自軸を駆動する指令の出力を開始する、指令出力部として機能する、起動待機部120および指令演算部130と、を備えるように指令生成装置100を構成したので、指令生成装置100は、自軸の運転パターンに基づく指令の出力を遅延せしめることで自軸と他軸との干渉を回避することができるので、可動軸の運転パターンを変更することなく干渉回避動作を実現することができる。
また、起動待機時間演算部110は、自軸および他軸の目標位置および現在指令位置に基づいて、他軸が自軸に近づく方向に移動しているか、他軸が自軸から離れる方向に移動しているか、または他軸が停止しているかを判定し、他軸が自軸に近づく方向に移動している場合と、他軸が停止している場合には、待機時間をゼロ値とする、ようにしたので、双方の可動軸の目標位置のみから干渉が回避不可能であると判断できる場合には起動待機時間演算部110は待機時間の演算を省略することができるので、指令生成装置100の計算コストを低減することができるようになる。
また、起動待機時間演算部110は、指令位置p2[t]が自軸の目標位置と安全距離との合算値と一致する時刻Tbを演算し、自軸の指令速度w1[t]が他軸の指令速度w2[Tb]と一致する時刻Taを演算し、時刻Tbから時刻Taを減算し、当該減算により得られた値を前記待機時間とする、ように構成したので、安全距離が双方の可動軸間の静止状態でのオフセット距離と双方の可動軸の緊急停止開始から停止完了するまでの移動量とを合算して得られる値である場合に、可動軸の運転パターンを変更することなく干渉回避動作を実現することができる。
また、起動待機時間演算部110は、双方の可動軸の目標位置間の距離が安全距離よりも大きいか否かを判定し、双方の可動軸の目標位置間の距離が安全距離よりも大きい場合、自軸を駆動する指令の出力を許可し、双方の可動軸の目標位置間の距離が安全距離よりも小さい場合、自軸を駆動する指令の出力を禁止する、安全確認部として機能する、ようにしたので、双方の可動軸の目標位置のみから干渉が回避不可能であると判断できる場合には、待機時間を算出することなく自軸の運転をキャンセルすることができる。
また、起動待機時間演算部110は、双方の可動軸が交差するか否かを判定し、双方の可動軸が交差しない場合、自軸を駆動する指令の出力を許可し、双方の可動軸が交差する場合には、自軸を駆動する指令の出力を禁止する、ように構成したので、双方の可動軸間の距離が安全距離よりも離れていたとしても双方の可動軸が交差する場合には自軸の運転をキャンセルすることができる。
実施の形態2.
実施の形態2の指令生成装置は、安全距離として、減速移動量を含まない値を入力とすることができる。図8−1および図8−2は、実施の形態2において使用される安全距離を説明する図である。図示するように、自軸および他軸が互いに近づく方向に移動する場合であっても、他軸が自軸に対して離れる方向に移動する場合であっても、軸間のオフセットが安全距離として使用される。
図9は、本発明の実施の形態2にかかる指令生成装置の機能構成を示すブロック図である。ここでは、実施の形態1の構成要素と同様の構成要素には、実施の形態1と同じ名称および符号を付して、重複する説明を省略する。
図示するように、指令生成装置200は、起動待機時間演算部210、起動待機部120、指令演算部130、および位置更新部140を備えている。
起動待機時間演算部210は、目標位置X1、X2と、目標速度V1、V2と、安全距離と、指令生成装置100内部の位置更新部140で演算される各軸の現在の指令位置xo1、xo2と、に基づいて、実施の形態2の待機時間算出処理を実行する。
実施の形態2の待機時間算出においては、自軸および他軸について、指令速度w[t]から減速度dccに従って減速停止させた場合の減速移動量を加算した指令位置関数pd[t]と、指令位置関数pd[t]の微分から得られる、指令速度関数wd[t]が使用される。即ち、指令位置関数pd[t]、指令速度関数wd[t]は、夫々、以下の式2および式3により記述される。
pd[t]=p[t]+w[t] /(2×dcc) (式2)
wd[t]=w[t]×(1w’[t]/dcc) (式3)
なお、w’[t]は、w[t]を微分したものを示す。
図10は、実施の形態2の待機時間算出処理を説明するフローチャートである。図示するように、起動待機時間演算部210は、まず、p2[t]=X1+Dsとなる時間Tbを算出する(ステップS31)。そして、起動待機時間演算部210は、wd1[t]=wd2[Tb]となる時間Taを算出する(ステップS32)。そして、起動待機時間演算部210は、起動待機時間Tw=Tb−Taを算出し(ステップS33)、待機時間算出処理を終了する。
図11は、実施の形態2の指令生成装置200により干渉が回避される様子を説明する図である。図示するように、指令生成装置200によれば、減速移動量を含まない安全距離が入力されても、他軸の指令位置関数と自軸の指令位置関数とが交差しないように、減速移動量を考慮して自軸の指令位置関数が遅延せしめられるので、干渉が回避される。
このように、実施の形態2によれば、起動待機時間演算部210は、指令位置p1[t]に自軸の減速移動量を加算して得られる関数pd1[t]と、関数pd1[t]を時間微分して得られる関数wd1[t]と、指令位置p2[t]に他軸の減速移動量を加算して得られる関数pd2[t]と、関数pd2[t]を時間微分して得られる関数wd2[t]と、を求め、関数pd2[t]の値が自軸の目標位置と安全距離との合算値と一致する時刻Tbを演算し、関数wd1[t]の値が関数wd2[t]にt=Tbを代入した値と一致する時刻Taを演算し、時刻Tbから時刻Taを減算し、当該減算により得られた値を前記待機時間とする、ように構成したので、ユーザは、双方の軸の減速移動量を考慮することなく、双方の可動軸間の静止状態でのオフセット距離を安全距離として入力することが可能となるので、安全距離の設定値の検討を簡略化することが可能となる。
以上のように、本発明にかかる指令生成装置および指令生成方法は、複数の可動軸を備えた各種産業機械を駆動するための指令を生成する指令生成装置および指令生成方法に適用して好適である。
1 CPU
2 RAM
3 ROM
4 指令生成プログラム
100 指令生成装置
110 起動待機時間演算部
120 起動待機部
130 指令演算部
140 位置更新部
150 モータ駆動制御部
200 指令生成装置
210 起動待機時間演算部

Claims (9)

  1. 被制御装置が具備する第1の可動軸と第2の可動軸とを夫々駆動する指令を生成する指令生成装置であって、
    前記第1の可動軸と前記第2の可動軸との間の干渉距離と、時間の関数である指令位置関数または前記指令位置関数を時間微分して得られる指令速度関数で記述される前記第1の可動軸および前記第2の可動軸の運転パターンとに基づいて、運転中に双方の可動軸間の距離が干渉距離よりも常時大きくなるように前記第1の可動軸の運転開始タイミングを遅延せしめる待機時間を算出する待機時間演算部と、
    前記第2の可動軸の運転パターンに基づいて前記第2の可動軸を駆動する指令の出力を開始し、前記第2の可動軸にかかる指令の出力開始後から前記算出された待機時間が経過したとき、前記第1の可動軸の運転パターンに基づいて前記第1の可動軸を駆動する指令の出力を開始する、指令出力部と、
    を備え、
    前記待機時間演算部は、前記第2の可動軸の運転パターンに基づく指令位置が前記第1の可動軸の目標位置と前記干渉距離との合算値と一致する時刻Tbを演算し、前記第1の可動軸の運転パターンに基づく指令速度を含む第1の関数が前記第2の可動軸の運転パターンに基づく指令速度を含む第2の関数の時刻Tbにおける値に一致する時刻Taを演算し、時刻Tbから時刻Taを減算し、当該減算により得られた値を前記待機時間とする、
    ことを特徴とする指令生成装置。
  2. 前記干渉距離は、双方の可動軸間の静止状態でのオフセット距離と双方の可動軸の緊急停止開始から停止完了するまでの移動量である減速移動量との合算値である、外部から与えられる値であって、
    前記第1の関数は前記第1の可動軸の運転パターンを記述する指令速度関数であって、
    前記第2の関数は前記第2の可動軸の運転パターンを記述する指令速度関数である、
    ことを特徴とする請求項1に記載の指令生成装置。
  3. 前記双方の可動軸の目標位置間の距離が前記干渉距離よりも大きいか否かを判定し、前記双方の可動軸の目標位置間の距離が前記干渉距離よりも大きい場合、前記第1の可動軸を駆動する指令の出力を許可し、前記双方の可動軸の目標位置間の距離が前記干渉距離よりも小さい場合、前記第1の可動軸を駆動する指令の出力を禁止する、安全確認部をさらに備える、ことを特徴とする請求項2に記載の指令生成装置。
  4. 前記安全確認部は、双方の可動軸が交差するか否かを判定し、双方の可動軸が交差しない場合、前記第1の可動軸を駆動する指令の出力を許可し、双方の可動軸が交差する場合には、前記第1の可動軸を駆動する指令の出力を禁止する、
    ことを特徴とする請求項3に記載の指令生成装置。
  5. 前記干渉距離は、外部から与えられる双方の可動軸間の静止状態でのオフセット距離であって、
    前記第1の関数は前記第1の可動軸の運転パターンに基づく指令位置と前記第1の可動軸が緊急停止開始してから停止完了するまでの移動量との合算値を時間微分して得られる関数であって、
    前記第2の関数は前記第2の可動軸の運転パターンに基づく指令位置と前記第2の可動軸が緊急停止開始してから停止完了するまでの移動量との合算値を時間微分して得られる関数である、
    ことを特徴とする請求項1に記載の指令生成装置。
  6. 前記双方の可動軸の目標位置間の距離が前記オフセット距離よりも大きいか否かを判定し、前記双方の可動軸の目標位置間の距離が前記オフセット距離よりも大きい場合、前記第1の可動軸を駆動する指令の出力を許可し、前記双方の可動軸の目標位置間の距離が前記オフセット距離よりも小さい場合、前記第1の可動軸を駆動する指令の出力を禁止する、安全確認部をさらに備える、ことを特徴とする請求項5に記載の指令生成装置。
  7. 前記安全確認部は、双方の可動軸が交差するか否かを判定し、双方の可動軸が交差しない場合、前記第1の可動軸を駆動する指令の出力を許可し、双方の可動軸が交差する場合には、前記第1の可動軸を駆動する指令の出力を禁止する、
    ことを特徴とする請求項6に記載の指令生成装置。
  8. 前記待機時間演算部は、双方の可動軸の目標位置および現在指令位置に基づいて、前記第2の可動軸が前記第1の可動軸に近づく方向に移動しているか、前記第1の可動軸から離れる方向に移動しているか、または停止しているかを判定し、前記第2の可動軸が前記第1の可動軸に近づく方向に移動している場合と、前記第2の可動軸が停止している場合には、前記待機時間をゼロ値とする、
    ことを特徴とする請求項1乃至請求項7の何れか一項に記載の指令生成装置。
  9. 被制御装置が具備する第1の可動軸と第2の可動軸とを夫々駆動する指令を生成する指令生成方法であって、
    前記第1の可動軸と前記第2の可動軸との間の干渉距離と、時間の関数である指令位置関数または前記指令位置関数を時間微分して得られる指令速度関数で記述される前記第1の可動軸および前記第2の可動軸の運転パターンとに基づいて、運転中に双方の可動軸間の距離が干渉距離よりも常時大きくなるように前記第1の可動軸の運転開始タイミングを遅延せしめる待機時間を算出する待機時間演算ステップと、
    前記第2の可動軸の運転パターンに基づいて前記第2の可動軸を駆動する指令の出力を開始する第1開始ステップと、
    前記第1開始ステップの実行後、前記算出された待機時間が経過したとき、前記第1の可動軸の運転パターンに基づいて前記第1の可動軸を駆動する指令の出力を開始する第2開始ステップと、
    を備え、
    前記待機時間演算ステップは、
    前記第2の可動軸の運転パターンに基づく指令位置が前記第1の可動軸の目標位置と前記干渉距離との合算値と一致する時刻Tbを演算するステップと、
    前記第1の可動軸の運転パターンに基づく指令速度を含む第1の関数が前記第2の可動軸の運転パターンに基づく指令速度を含む第2の関数の時刻Tbにおける値に一致する時刻Taを演算するステップと、
    時刻Tbから時刻Taを減算し、当該減算により得られた値を前記待機時間とするステップと、
    を含む、
    ことを特徴とする指令生成方法。
JP2012539136A 2012-03-12 2012-03-12 指令生成装置および指令生成方法 Expired - Fee Related JP5220241B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/056273 WO2013136412A1 (ja) 2012-03-12 2012-03-12 指令生成装置および指令生成方法

Publications (2)

Publication Number Publication Date
JP5220241B1 true JP5220241B1 (ja) 2013-06-26
JPWO2013136412A1 JPWO2013136412A1 (ja) 2015-07-30

Family

ID=48778735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012539136A Expired - Fee Related JP5220241B1 (ja) 2012-03-12 2012-03-12 指令生成装置および指令生成方法

Country Status (5)

Country Link
JP (1) JP5220241B1 (ja)
KR (1) KR101535046B1 (ja)
CN (1) CN104106016B (ja)
TW (1) TWI481977B (ja)
WO (1) WO2013136412A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015173865A1 (ja) * 2014-05-12 2015-11-19 三菱電機株式会社 位置決め装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6444969B2 (ja) * 2016-12-21 2018-12-26 ファナック株式会社 数値制御装置
CN110825035A (zh) * 2019-11-28 2020-02-21 苏州威兹泰克软件科技有限公司 多轴设备控制方法、计算设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06238542A (ja) * 1993-02-16 1994-08-30 Mori Seiki Co Ltd 安全装置付き機械
JPH09251320A (ja) * 1996-03-14 1997-09-22 Nissan Motor Co Ltd ロボット衝突防止システム
JPH11347984A (ja) * 1998-06-02 1999-12-21 Nissan Motor Co Ltd ロボット制御装置
JP2009187343A (ja) * 2008-02-07 2009-08-20 Toyota Motor Corp 自律移動体、その制御方法、及び制御システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1279415C (zh) * 2001-05-16 2006-10-11 时至准钟表股份有限公司 设有梳齿形相对刀具台的数控车床及其制品的加工方法
JP4541218B2 (ja) * 2005-04-08 2010-09-08 三菱電機株式会社 指令生成装置
US20070063367A1 (en) * 2005-09-12 2007-03-22 Litwin Michael W Devices and methods for evaluating alignment of an end of arm tool and a molding apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06238542A (ja) * 1993-02-16 1994-08-30 Mori Seiki Co Ltd 安全装置付き機械
JPH09251320A (ja) * 1996-03-14 1997-09-22 Nissan Motor Co Ltd ロボット衝突防止システム
JPH11347984A (ja) * 1998-06-02 1999-12-21 Nissan Motor Co Ltd ロボット制御装置
JP2009187343A (ja) * 2008-02-07 2009-08-20 Toyota Motor Corp 自律移動体、その制御方法、及び制御システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015173865A1 (ja) * 2014-05-12 2015-11-19 三菱電機株式会社 位置決め装置
JP5911645B1 (ja) * 2014-05-12 2016-04-27 三菱電機株式会社 位置決め装置

Also Published As

Publication number Publication date
KR101535046B1 (ko) 2015-07-07
WO2013136412A1 (ja) 2013-09-19
KR20140102765A (ko) 2014-08-22
TW201337485A (zh) 2013-09-16
CN104106016B (zh) 2016-10-12
JPWO2013136412A1 (ja) 2015-07-30
TWI481977B (zh) 2015-04-21
CN104106016A (zh) 2014-10-15

Similar Documents

Publication Publication Date Title
JP5229396B2 (ja) 位置決め制御装置
JP4199270B2 (ja) 位置制御と圧力制御を切り換え実行する数値制御装置及び数値制御方法
US20090160389A1 (en) Method and device for guiding the movement of a moveable machine element of a machine
JP5791815B2 (ja) 工作機械の送り軸制御方法および送り軸制御装置
JP5897648B2 (ja) 同期制御中に位置制御のゲインを切換える機能を有する数値制御装置
JP6386516B2 (ja) 学習機能を備えたロボット装置
JP5220241B1 (ja) 指令生成装置および指令生成方法
JP6041762B2 (ja) モータ制御装置
WO2011101897A1 (ja) 並列駆動システム
JP6392805B2 (ja) 複数モータ駆動用サーボ制御装置
JP2016081172A (ja) 共通加減速制御部による任意ブロック間のオーバラップ機能を備えた数値制御装置
JP5912953B2 (ja) 制御装置、及び制御方法
JP5030628B2 (ja) 干渉チェックシステム
JP2007172068A (ja) 数値制御装置
JP5362146B1 (ja) 数値制御装置および数値制御システム
JP2011224694A (ja) 多関節型ロボットの速度指令プロファイルの生成方法
JP5558638B1 (ja) 指令生成装置
JP5832382B2 (ja) 数値制御装置
JP6444969B2 (ja) 数値制御装置
WO2015177912A1 (ja) 指令生成装置および方法
JP2007052590A (ja) 数値制御装置と数値制御方法
JP6649336B2 (ja) ワーク移動装置及びロボットを協調して動作させるように制御する制御装置及び制御方法
KR20130013096A (ko) 산업용 로봇의 서보 제어 방법
JP2020106930A (ja) 制御方法、制御装置及びプログラム
JP6926882B2 (ja) ロボットの制御装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130205

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees