JP6006277B2 - 産業用ロボットのプログラム修正装置及びプログラム修正方法 - Google Patents

産業用ロボットのプログラム修正装置及びプログラム修正方法 Download PDF

Info

Publication number
JP6006277B2
JP6006277B2 JP2014226498A JP2014226498A JP6006277B2 JP 6006277 B2 JP6006277 B2 JP 6006277B2 JP 2014226498 A JP2014226498 A JP 2014226498A JP 2014226498 A JP2014226498 A JP 2014226498A JP 6006277 B2 JP6006277 B2 JP 6006277B2
Authority
JP
Japan
Prior art keywords
program
moving speed
speed
correction
correction method
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.)
Active
Application number
JP2014226498A
Other languages
English (en)
Other versions
JP2016087755A (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.)
FANUC Corp
Original Assignee
FANUC 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 FANUC Corp filed Critical FANUC Corp
Priority to JP2014226498A priority Critical patent/JP6006277B2/ja
Priority to DE102015014236.4A priority patent/DE102015014236B4/de
Priority to CN201510745167.5A priority patent/CN105589407B/zh
Priority to US14/933,133 priority patent/US9891618B2/en
Publication of JP2016087755A publication Critical patent/JP2016087755A/ja
Application granted granted Critical
Publication of JP6006277B2 publication Critical patent/JP6006277B2/ja
Active 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
    • 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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36087Edit, modify program for position errors, moving path, use conversion matrix
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43011Shorter time by adjusting corner speed, avoid zero speed when engage corner
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43129Speed as function of curvature, in curves, corners smaller than in straight line
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)

Description

本発明は、産業用ロボットの動作プログラムを修正するプログラム修正装置及びプログラム修正方法に関する。
近年、垂直多関節ロボットのような産業用ロボットは、レーザ切断、アーク溶接、及びバリ取りのような種々の用途に使用されている。それらロボットの制御装置は、予め用意された動作プログラムを実行することによって、ロボットに装着された工具(例えば、レーザ切断用のレーザ発振器)を指定速度で移動させるようになっている。ところが、工具の移動経路に曲がり角が含まれる場合には、工具が曲がり角を通過する間の移動速度が指定速度から低下することが避けられない。特に、移動速度の低下量が大きい場合には、工具が曲がり角を通過する間のワークの加工品質が低下する虞がある。例えば、工具が指定速度を大きく下回る速度で移動する結果として、ワークの加工過多が引き起こされる虞がある。
これに関連して、特許文献1には、工具先端に設定された制御点から曲がり角までの距離が所定の基準距離よりも小さくなったら、手首フランジの駆動軸線と教示平面との交点が所定の円弧上を移動するように手首フランジを回転駆動することを含む、ロボットの経路補間方法が提案されている。特許文献1の経路補間方法によれば、手首フランジが滑らかに回転駆動されることによって制御点が教示平面上で直線駆動されるので、制御点が曲がり角を通過する間の移動速度が低下することを防止できる。ところが、特許文献1の経路補間方法を採用する場合には、工具が装着される手首フランジのフランジ面を教示平面に対して平行に方向付ける必要がある。このように手首フランジを方向付けるにはロボットのハードウェア設定を詳細に変更する必要があるが、通常のユーザがこのような設定変更を行うは困難であると考えられる。
特開平11−39021号公報
ロボットのハードウェア設定を変更せずに工具先端点の速度低下を軽減できる装置及び方法が求められている。
本発明の第1の態様によれば、ロボットに装着された工具の先端点を所定の移動経路に沿って指定速度で移動させるためのロボットの動作プログラムを修正するプログラム修正装置であって、動作プログラムに基づいてロボットの動作シミュレーションを実行する実行部と、動作シミュレーションの結果から、先端点が移動経路を通過する間の先端点の移動速度の時間変化を算出する算出部と、算出部が算出した時間変化における移動速度の最小値が予め定めた下限値以下である場合に、算出部が算出した時間変化のパターンを評価する評価部と、移動速度の最小値を増加させる動作プログラムの修正方式を、予め定めた複数の修正方式の中から、時間変化のパターンの評価結果に応じて選択する選択部と、選択部が選択した修正方式に従って動作プログラムを修正する修正部と、を備えるプログラム修正装置が提供される。
本発明の第2の態様によれば、第1の態様において、修正部は、時間変化における移動速度の最小値が下限値よりも大きくなるまで動作プログラムを繰り返し修正する、プログラム修正装置が提案される。
本発明の第3の態様によれば、第1または第2の態様において、動作プログラムは、順番に実行される複数の動作指令から構成され、算出部は、複数の動作指令のそれぞれが実行される間の時間変化を順番に算出する、プログラム修正装置が提供される。
本発明の第4の態様によれば、第3の態様において、評価部は、移動速度が指定速度から減少し始める時間と移動速度が最小値に到達する時間との間の第1区間、及び移動速度が最小値から増加し始める時間と移動速度が指定速度に収束する時間までの第2区間のそれぞれにおける時間変化の単調性に基づいて、時間変化のパターンを評価する、プログラム修正装置が提供される。
本発明の第5の態様によれば、第4の態様において、複数の修正方式には、複数の動作指令のうちの移動速度が指定速度から減少し始めるときの動作指令の直後に新たな動作指令を追加することを含む第1修正方式が含まれ、選択部は、第1区間における時間変化が単調減少であり、かつ第2区間における時間変化が単調増加である場合には、第1修正方式を選択する、プログラム修正装置が提供される。
本発明の第6の態様によれば、第4または第5の態様において、複数の修正方式には、複数の動作指令のうちの移動速度が指定速度から減少し始めるときの動作指令の直後の動作指令を変更することを含む第2修正方式が含まれ、選択部は、第1区間における時間変化が単調減少であり、かつ第2区間における時間変化が非単調増加である場合には、第2修正方式を選択する、プログラム修正装置が提供される。
本発明の第7の態様の態様によれば、第4〜第6の態様のいずれか1つにおいて、複数の修正方式には、複数の動作指令のうちの移動速度が最小値に到達するときの動作指令の直前の動作指令を削除することを含む第3修正方式が含まれ、選択部は、第1区間における時間変化が非単調減少である場合には、第3修正方式を選択する、プログラム修正装置が提供される。
本発明の第8の態様によれば、ロボットに装着された工具の先端点を所定の移動経路に沿って指定速度で移動させるための動作プログラムを修正するプログラム修正方法であって、動作プログラムに基づいてロボットの動作シミュレーションを実行し、動作シミュレーションの結果から、先端点が移動経路を通過する間の先端点の移動速度の時間変化を算出し、算出した時間変化における移動速度の最小値が予め定めた下限値以下である場合に、算出した時間変化のパターンを評価し、移動速度の最小値を増加させる動作プログラムの修正方式を、予め定めた複数の修正方式の中から、時間変化のパターンの評価結果に応じて選択し、選択した修正方式に従って動作プログラムを修正することを含むプログラム修正方法が提供される。
本発明の第9の態様によれば、第8の態様において、時間変化における移動速度の最小値が下限値よりも大きくなるまで動作プログラムを繰り返し修正することをさらに含む、プログラム修正方法が提供される。
本発明の第10の態様によれば、第8または第9の態様において、動作プログラムは、順番に実行される複数の動作指令から構成され、複数の動作指令のそれぞれが実行される間の時間変化を順番に算出する、プログラム修正方法が提供される。
本発明の第11の態様によれば、第10の態様において、移動速度が指定速度から減少し始める時間と移動速度が最小値に到達する時間との間の第1区間、及び移動速度が最小値から増加し始める時間と移動速度が指定速度に収束する時間までの第2区間のそれぞれにおける時間変化の単調性に基づいて、時間変化のパターンを評価する、プログラム修正方法が提供される。
本発明の第12の態様によれば、第11の態様において、複数の修正方式には、複数の動作指令のうちの移動速度が指定速度から減少し始めるときの動作指令の直後に新たな動作指令を追加することを含む第1修正方式が含まれ、第1区間における時間変化が単調減少であり、かつ第2区間における時間変化が単調増加である場合には、第1修正方式を選択する、プログラム修正方法が提案される。
本発明の第13の態様によれば、第11または第12の態様において、複数の修正方式には、複数の動作指令のうちの移動速度が指定速度から減少し始めるときの動作指令の直後の動作指令を変更することを含む第2修正方式が含まれ、第1区間における時間変化が単調減少であり、かつ第2区間における時間変化が非単調増加である場合には、第2修正方式を選択する、プログラム修正方法が提供される。
本発明の第14の態様によれば、第11〜第13の態様のいずれか1つにおいて、複数の修正方式には、複数の動作指令のうちの移動速度が最小値に到達するときの動作指令の直前の動作指令を削除することを含む第3修正方式が含まれ、第1区間における時間変化が非単調減少である場合には、第3修正方式を選択する、プログラム修正方法が提案される。
本発明の第1及び第8の態様によれば、工具先端点の移動速度の最小値が下限値以下である場合に、工具先端点の速度変化のパターンが評価されるとともに、速度変化のパターンの評価結果に応じた適切な動作プログラムの修正方式が選択される。よって、第1及び第8の態様によれば、ロボットのハードウェア設定を変更せずに既存の動作プログラムを修正するだけで工具先端点の速度低下を軽減できるようになる。
本発明の第1及び第9の態様によれば、工具先端点の移動速度の最小値が下限値以下になるまで動作プログラムの修正が繰り返される。よって、第1及び第9の態様によれば、工具先端点の移動速度が下限値を越えて減少することが原因で発生する加工精度の低下(例えば加工過多)を確実に防止できるようになる。
本発明の第3及び第10の態様によれば、動作プログラム中の複数の動作指令のそれぞれが実行される間の工具先端点の速度変化が順番に算出されるので、複数の動作指令のそれぞれと工具先端点の速度変化との間の対応関係を確認することが可能になる。よって、第3及び第10の態様によれば、工具先端点の移動速度が指定速度から減少し始めるときの動作指令、及び工具先端点の移動速度が最小値に到達するときの動作指令等を特定することが可能になる。
本発明の第4〜第7の態様、及び第11〜第14の態様によれば、典型的な動作プログラムによって与えられる工具先端点の速度変化パターンに適した修正方式を選択することが可能になる。特に、第5及び第12の態様によれば、工具先端点の移動速度が第1区間で単調に減少し、かつ第2区間で単調に増加する速度変化パターンに適した第1修正方式を選択することが可能になる。同様に、第6及び第13の態様によれば、工具先端点の移動速度が第1区間で単調に減少し、かつ第2区間で非単調に増加する速度変化パターンに適した第2修正方式を選択することが可能になる。同様に、第7及び第14の態様によれば、工具先端点の移動速度が第1区間で非単調に減少する速度変化パターンに適した第3修正方式を選択することが可能になる。
本発明の1つの実施形態のプログラム修正装置を含むロボットシステムの構成を示すブロック図である。 図1中のプログラム修正装置の構成を示すブロック図である。 図1中のロボットの動作プログラムの第1の例を示す概略図である。 図3の動作プログラムによる工具先端点の移動経路の一部を示す概略図である。 図1中のロボットの動作プログラムの第2の例を示す概略図である。 図1中のロボットの動作プログラムの第3の例を示す概略図である。 図1中のロボットの動作プログラムの第4の例を示す概略図である。 図1中のロボットの動作プログラムの第5の例を示す概略図である。 図3の動作プログラムに対応する工具先端点の移動速度の時間変化を示すグラフである。 図5の動作プログラムに対応する工具先端点の移動速度の時間変化を示すグラフである。 図6の動作プログラムに対応する工具先端点の移動速度の時間変化を示すグラフである。 図7の動作プログラムに対応する工具先端点の移動速度の時間変化を示すグラフである。 図8の動作プログラムに対応する工具先端点の移動速度の時間変化を示すグラフである。 図3の動作プログラムを第1修正方式に従って修正した結果を示す概略図である。 図6の動作プログラムを第2修正方式に従って修正した結果を示す概略図である。 図7の動作プログラムを第3修正方式に従って修正した結果を示す概略図である。 図8の動作プログラムを第3修正方式に従って修正した結果を示す概略図である。 本実施形態のプログラム修正装置がロボットの動作プログラムを修正する手順を示すフローチャートである。 本実施形態のプログラム修正装置によって修正された動作プログラムに対応する工具先端点の移動速度Vの時間変化を示す第1のグラフである。 本実施形態のプログラム修正装置によって修正された動作プログラムに対応する工具先端点の移動速度Vの時間変化を示す第2のグラフである。
以下、本発明の実施形態を、図面を参照して詳細に説明する。各図面において、同様の構成要素には同様の符号が付与されている。なお、以下に記載される内容は、特許請求の範囲に記載される発明の技術的範囲や用語の意義等を限定するものではない。
図1〜図20を参照して、本発明の1つの実施形態のプログラム修正装置について説明する。図1は、本実施形態のプログラム修正装置1を含む例示的なロボットシステムの構成を示すブロック図である。図1のように、本例のロボットシステムは、種々の産業用ロボット2と、ロボット2の動作を制御する制御装置3と、を含んでおり、プログラム修正装置1は、制御装置3に接続されている。制御装置3には、教示操作盤4がさらに接続されている。本実施形態のプログラム修正装置1の詳細について説明する前に、上記のロボット2、制御装置3、及び教示操作盤4の各々について簡単に説明する。
図1のように、本例のロボット2は、一般的な垂直多関節ロボットであり、種々の工具TLが装着されるアーム20を備えている。アーム20の手首部21に装着される工具TLは、例えば、レーザ切断用のレーザ発振器、アーク溶接用の溶接トーチ、又はバリ取り用のスピンドル等が含まれる。また、本例の制御装置3は、CPU、記憶装置、入力装置、及び表示装置等を備えたデジタルコンピュータであり、予め用意された動作プログラムに従ってロボット2の各部の動作を制御する機能を有している。
また、本例の教示操作盤4は、ロボット2の教示操作に使用される専用の機器であり、種々の情報をオペレータに表示する表示部41と、教示操作の入力をオペレータから受け付ける入力部42と、を備えている。本例の教示操作盤4は、制御装置3と協働してロボット2の動作プログラムを生成する機能を有している。より具体的には、オペレータが教示操作盤4を用いてロボット2の教示操作を実行すると、その教示操作によるロボット2の動作を再生するための動作プログラムが制御装置3において生成される。このようにして生成された動作プログラムは、プログラム修正装置1に送信されてプログラム修正装置1の記憶部1Mに格納される。
図2は、図1中のプログラム修正装置1の構成を示すブロック図である。本例のプログラム修正装置1は、制御装置3と同様のデジタルコンピュータであり、上記の教示操作によって生成された動作プログラムに基づくロボット2の動作シミュレーションを実行する機能、及び動作シミュレーションの結果に応じて動作プログラムを修正する機能等を有している。プログラム修正装置1は、制御装置3に内蔵されていてもよい。図2のように、本例のプログラム修正装置1は、種々のデータを格納する記憶部1Mの他に、実行部10、算出部11、設定部12、判定部13、評価部14、選択部15、及び修正部16等を有している。これら機能部の詳細については後述する。上述した通り、記憶部1Mには、ロボット2の動作プログラムが予め格納されている。
図3は、ロボット2の動作プログラムの第1の例を示す概略図である。図3のように、本例の動作プログラムは、順番に実行される複数の動作指令から構成されている。より具体的に、本例の動作プログラムは、ロボット2に装着された工具TLの先端点を所定の移動経路MPに沿って指定速度Vcで移動させるのに用いられる。本例の指定速度Vcは100mm/secである。図4は、図3の動作プログラムによる工具先端点の移動経路MPの一部を示す概略図である。図4のように、本例の移動経路MPは、工具先端点の進行方向が変化する曲がり角CNを含んでいる。図4の移動経路MP上の第1教示点P1は、曲がり角CNの手前に位置する教示点であり、第2教示点P2は、工具先端点の進行方向が変化する教示点である。また、図4の移動経路MP上の第3教示点P3は、曲がり角CNの先方に位置する教示点であり、第4教示点P4は、第2教示点P2から第3教示点P3に至る経路の延長線上に位置する教示点である。移動経路MP上の他の教示点については後述する。ここで図3を参照すると、本例の動作プログラムの第4行(4:チョクセン イチ[1]100mm/sec ナメラカ100)は、ロボット2の工具先端点を直線補間によって図4中の第1教示点P1まで速度100mm/secで移動させるための動作指令である。
同様に、図3の動作プログラムの第5行(5:チョクセン イチ[2]100mm/sec ナメラカ100)は、ロボット2の工具先端点を直線補間によって図4中の第2教示点P2まで速度100mm/secで移動させるための動作指令である。また、図3の動作プログラムの第6行(6:チョクセン イチ[3]100mm/sec ナメラカ100)は、ロボット2の工具先端点を直線補間によって図4中の第3教示点P3まで速度100mm/secで移動させるための動作指令である。そして、図3の動作プログラムの第7行(7:チョクセン イチ[4]100mm/sec ナメラカ100)は、ロボット2の工具先端点を直線補間によって図4中の第4教示点P4まで速度100mm/secで移動させるための動作指令である。
なお、各々の動作指令中の「ナメラカ100」は、工具先端点を減速することなく指令位置に位置決めし、かつ各々の動作指令の完了直後に次の動作指令を開始するための指令である。図4のように、工具先端点の移動経路MP上に曲がり角CNが存在する場合には、工具先端点が曲がり角CNを通過する間に、工具先端点の移動速度が指定速度Vcから大きく低下する虞があり、その結果、ワークの加工精度が低下する虞がある。そのため、本実施形態のプログラム修正装置1は、工具先端点が曲がり角CNを通過する間の移動速度が指定速度Vcから大きく低下しないように動作プログラムを修正する機能を有している。この点についてはさらに後述する。図5〜図8には、ロボット2の動作プログラムの別の例が示されている。
再び図2を参照すると、プログラム修正装置1の実行部10は、記憶部1M内の動作プログラムに基づいてロボット2の動作シミュレーションを実行する機能を有している。また、プログラム修正装置1の算出部11は、実行部10による動作シミュレーションの結果から、工具先端点が移動経路MPを通過する期間中の工具先端点の移動速度Vの時間変化を算出する機能を有している。より具体的に、本例の算出部11は、ロボット2の駆動モータに対する速度指令に基づいて、工具先端点の移動速度Vを所定の周期で算出するようになっている。ロボット2の駆動モータに対する速度指令は、動作プログラムに基づく動作シミュレーションの結果から抽出される。図9は、本例の算出部11によって算出された工具先端点の移動速度Vの時間変化を示すグラフである。図9のグラフは、図3の動作プログラムに対応する移動速度Vの時間変化を示している。図9のグラフから分かるように、図3の動作プログラムが実行されると、工具先端点の移動速度Vは、時間t1で指定速度Vcから減少し始め、時間t2で最小値Vmiに到達する。時間t1から時間t2までの間に、工具先端点の移動速度Vは単調に減少する。その後、工具先端点の移動速度Vは、時間t3で指定速度Vcに収束するまで単調に増加する。ここで、移動速度Vが指定速度Vcに収束することは、それ以降の移動速度Vが指定速度Vcで一定に保たれることを意味する。
図5は、ロボット2の動作プログラムの第2の例を示す概略図である。図3と図5とを比較すると分かるように、本例の動作プログラムは、第2教示点P2に到達した工具先端点を第5教示点P5まで速度200mm/secで移動させるための動作指令をさらに含んでいる(図5中の第6行を参照)。図4から分かるように、第5教示点P5は、第2教示点P2と第3教示点P3とを結んだ線分上に位置している。図10は、図5の動作プログラムに対応する工具先端点の移動速度Vの時間変化を示すグラフである。図10のグラフから分かるように、図5の動作プログラムが実行されると、工具先端点の移動速度Vは、時間t1で指定速度Vcから減少し始め、時間t2で最小値Vmiに到達する。時間t1から時間t2までの間に、工具先端点の移動速度Vは単調に減少する。その後、工具先端点の移動速度Vは、時間t3で指定速度Vcに収束するまで非単調に増加する。より具体的に、工具先端点の移動速度Vは、時間t2と時間t3との間で極大値及び極小値を経由して指定速度Vcに収束する。上記の極大値は指定速度Vcよりも大きい。また、上記の極小値は指定速度Vcよりも小さい。
図6は、図1中のロボット2の動作プログラムの第3の例を示す概略図である。図5と図6とを比較すると分かるように、本例の動作プログラムは、第6行の動作指令における速度指令の数値のみが図5の動作プログラムと相違している。より具体的には、図5中の第6行における速度指令の数値が200mm/secであるのに対して、図6中の第6行における速度指令の数値は100mm/secである。図11は、図6の動作プログラムに対応する工具先端点の移動速度Vの時間変化を示すグラフである。図11のグラフから分かるように、図6の動作プログラムが実行されると、工具先端点の移動速度Vは、時間t1で指定速度Vcから減少し始め、時間t2で最小値Vmiに到達する。時間t1から時間t2までの間に、工具先端点の移動速度Vは単調に減少する。
その後、工具先端点の移動速度Vは、時間t3で指定速度Vcに収束するまで非単調に増加する。より具体的に、工具先端点の移動速度Vは、時間t2と時間t3との間で極大値及び極小値を経由して指定速度Vcに収束する。ただし、図11中の極大値は指定速度Vcよりも小さい。また、図11中の極小値は図10中の極小値よりも小さい。図10及び図11から分かるように、移動速度Vが最小値Vmiに到達するときの動作指令と、移動速度Vが指定速度Vcに収束するときの動作指令と、の間に介在する動作指令(図5及び図6中の第6行)は、移動速度Vが最小値Vmiから指定速度Vcまで非単調に増加することの原因になりうる。
図7は、ロボット2の動作プログラムの第4の例を示す概略図である。図3と図7とを比較すると分かるように、本例の動作プログラムは、第1教示点P1に到達した工具先端点を第6教示点P6まで速度100mm/secで移動させるための動作指令をさらに含んでいる(図7中の第5行を参照)。図4から分かるように、第6教示点P6は、第1教示点P1と第2教示点P2とを結んだ線分上に位置している。図12は、図7の動作プログラムに対応する工具先端点の移動速度Vの時間変化を示すグラフである。図12のグラフから分かるように、図7の動作プログラムが実行されると、工具先端点の移動速度Vは、時間t1で指定速度Vcから減少し始め、時間t2で最小値Vmiに到達する。時間t1から時間t2までの間に、工具先端点の移動速度Vは非単調に減少する。より具体的に、工具先端点の移動速度Vは、時間t1と時間t2との間で極小値及び極大値を経由して最小値Vmiに到達する。その後、工具先端点の移動速度Vは、時間t3で指定速度Vcに収束するまで単調に増加する。
図8は、ロボット2の動作プログラムの第5の例を示す概略図である。図7と図8とを比較すると分かるように、本例の動作プログラムは、第2教示点P2に到達した工具先端点を第5教示点P5まで速度100mm/secで移動させるための動作指令をさらに含んでいる(図8中の第7行を参照)。上述した通り、第5教示点P5は、第2教示点P2と第3教示点P3とを結んだ直線上に位置している。図13は、図8の動作プログラムに対応する工具先端点の移動速度Vの時間変化を示すグラフである。
図13のグラフから分かるように、図8の動作プログラムが実行されると、工具先端点の移動速度Vは、時間t1で指定速度Vcから減少し始め、時間t2で最小値Vmiに到達する。時間t1から時間t2までの間に、工具先端点の移動速度Vは非単調に減少する。より具体的に、工具先端点の移動速度Vは、時間t1と時間t2との間で極小値及び極大値を経由して最小値Vmiに到達する。その後、工具先端点の移動速度Vは、時間t3で指定速度Vcに収束するまで非単調に増加する。より具体的に、工具先端点の移動速度Vは、時間t2と時間t3との間で極大値及び極小値を経由して指定速度Vcに収束する。図12及び図13から分かるように、移動速度Vが最小値Vmiに到達するときの動作指令の直前に配置された動作指令(図7及び図8中の第5行)は、移動速度Vが指定速度Vcから最小値Vmiまで非単調に減少することの原因になりうる。
図9〜図13を参照して説明した通り、工具先端点の移動速度Vの時間変化を表す波形は、ロボット2の動作プログラムの内容に応じて種々に変形されうる。なお、本例の算出部11が算出した移動速度Vの時間変化は、上記の記憶部1Mに所定の形式で格納されうる。例えば、算出部が算出した移動速度Vの時間変化は、所定の周期で算出した移動速度Vの数値を動作プログラムの行番号と関連付けた時系列データの形式で格納されうる。これにより、複数の動作指令のそれぞれと工具先端点の速度変化との間の対応関係を確認することが可能になる。例えば、工具先端点の移動速度Vが指定速度Vcから減少し始めるときの動作指令、及び工具先端点の移動速度Vが最小値Vmiに到達するときの動作指令等を特定することが可能になる。
再び図2を参照すると、プログラム修正装置1の設定部12は、ロボット2の工具先端点が曲がり角CNを通過する期間中の移動速度Vの許容範囲を設定する機能を有している。ここで、工具先端点が曲がり角CNを通過する期間とは、工具先端点の移動速度Vが指定速度Vcから減少し始める時間(図9〜図13中の時間t1)と、移動速度Vが最小値Vmiから増加して指定速度Vcに収束する時間(図9〜図13中の時間t3)と、の間の期間のことである。図3及び図5〜図8では、上記の期間における工具先端点の動作を規定する動作指令に下線が引かれている。特に、本例のプログラム修正装置1では、上記の許容範囲を画定する上限値U及び下限値Lが予めオペレータによって指定されており、それら上限値U及び下限値Lが予め記憶部1M等に格納されている。移動速度Vの許容範囲の上限値U及び下限値Lの例が図9〜図13のグラフに示されている。
続いて、プログラム修正装置1の判定部13は、工具先端点が曲がり角CNを通過する期間中の移動速度Vの時間変化が上記の許容範囲に収まるかどうかを判定する機能を有している。特に、本例の判定部13は、算出部11が算出した移動速度Vの時間変化における最小値Vmiが上記の下限値L以下であるかどうかを判定する機能を有している。図9〜図13の例では、いずれも移動速度Vの最小値Vmiが下限値L以下になっている。続いて、プログラム修正装置1の評価部14は、判定部13による判定結果が正である場合に(すなわち、移動速度Vの最小値Vmiが下限値L以下である場合に)移動速度Vの時間変化のパターンを評価する機能を有している。以下の説明では、工具先端点の移動速度Vの時間変化を単に「速度変化」と称することがある。本例の評価部14が工具先端点の速度変化のパターンを評価するときの具体的な手順について以下に詳細に説明する。
先ず、本例の評価部14は、工具先端点が曲がり角CNを通過する期間中の速度変化の波形を特定し、次いで、当該速度変化の波形を、移動速度Vが減少し始める時間(図9〜図13中の時間t1)から最小値Vmiに到達する時間(図9〜図13中の時間t2)までの区間と、移動速度Vが増加し始める時間(図9〜図13中の時間t2)から指定速度Vcに収束する時間(図9〜図13中の時間t3)までの区間と、に分割する。以下では、前者の区間を第1区間S1と称し、後者の区間を第2区間S2と称する。次いで、本例の評価部14は、時間変化の波形の第1区間S1及び第2区間S2のそれぞれの単調性を判定する。つまり、本例の評価部14は、移動速度Vが第1区間S1で単調に減少するのか或いは非単調に減少するのかを判定するとともに、移動速度Vが第2区間S2で単調に増加するのか或いは非単調に増加するのかを判定する。そして、本例の評価部14は、上述した単調性の判定結果に基づいて、速度変化のパターンが予め定めた複数の類型のどれに分類されるかを評価する。
ここで、本例のプログラム修正装置1では、工具先端点の速度変化のパターンを表す複数の類型として、以下に説明する第1〜第4類型が予め定義されている。第1類型は、速度変化の波形が第1区間S1で単調に減少し、かつ第2区間S2で単調に増加する速度変化のパターンを表している(図9を参照)。第2類型は、速度変化の波形が第1区間S1で単調に減少し、かつ第2区間S2で非単調に増加する速度変化のパターンを表している(図10及び図11を参照)。第3類型は、速度変化の波形が第1区間S1で非単調に減少し、かつ第2区間S2で単調に増加するパターンを表している(図12を参照)。そして、第4類型は、速度変化の波形が第1区間S1で非単調に減少し、かつ第2区間S2で非単調に増加するパターンを表している(図13を参照)。つまり、本例の評価部14は、工具先端点の速度変化のパターンが上述した第1〜第4類型のどれに分類されるかを特定する。評価部14によるパターン評価の結果は後述する選択部15に送信される。
再び図2を参照すると、プログラム修正装置1の選択部15は、動作プログラムを修正するための修正方式を、評価部14によるパターン評価の結果に応じて選択する機能を有している。ここで、本例のプログラム修正装置1では、移動速度Vの最小値Vmiを増加させるための複数の修正方式として、以下に説明する第1〜第3修正方式が予め定義されている。第1修正方式は、動作プログラムに含まれる複数の動作指令のうちの移動速度Vが指定速度Vcから減少し始めるときの動作指令を特定し、その動作指令の直後に新たな動作指令を追加することを含む修正方式である。また、第2修正方式は、動作プログラムに含まれる複数の動作指令のうちの移動速度Vが指定速度Vcから減少し始めるときの動作指令を特定し、その動作指令の直後の動作指令の内容を変更することを含む修正方式である。
そして、第3修正方式は、動作プログラムに含まれる複数の動作指令のうちの、移動速度Vが最小値Vmiに到達するときの動作指令を特定し、その動作指令の直前に配置された動作指令を削除することを含む修正方式である。上述した第1〜第3修正方式は、プログラム修正装置1の記憶部1M等に予め格納されている。特に、第1〜第3修正方式の各々は、上述した速度変化のパターンを表す複数の類型のいずれかと関連付けて格納されている。例えば、動作プログラムの第1修正方式は、工具先端点の速度変化のパターンの第1類型と関連付けられており、動作プログラムの第2修正方式は、工具先端点の速度変化のパターンの第2類型と関連付けられている。そして、動作プログラムの第3修正方式は、工具先端点の速度変化のパターンの第3類型及び第4類型のそれぞれと関連付けられている。
つまり、本例の選択部15は、移動速度Vの最小値Vmiを増加させるための動作プログラムの修正方式として、上記のパターン評価で特定された類型と関連付けられた修正方式を選択するようになっている。例えば、速度変化のパターンが第1類型に分類される場合には(図9を参照)、第1類型と関連付けられた第1修正方式が選択される。同様に、速度変化のパターンが第2類型に分類される場合には(図10及び図11を参照)、第2類型と関連付けられた第2修正方式が選択される。同様に、速度変化のパターンが第3類型又は第4類型に分類される場合には(図12及び図13を参照)、それら類型と関連付けられた第3修正方式が選択される。
再び図2を参照すると、プログラム修正装置1の修正部16は、選択部15が選択した修正方式に従って動作プログラムを修正する機能を有している。例えば、プログラム修正装置1の選択部が上記の第1修正方式を選択したら、本例の修正部16は、移動速度Vが指定速度Vcから減少し始めるときの動作指令の直後に新たな動作指令を追加する。図14は、図3の動作プログラムを第1修正方式に従って修正した結果を示す概略図である。上述した通り、図3の動作プログラムによる工具先端点の時間変化のパターンは第1類型に分類される(図9を参照)。通常、第1類型において移動速度Vが指定速度Vcから減少し始めるときの動作指令は、工具先端点を上記の第2教示点P2まで移動させるための動作指令である(例えば、図3中の第5行を参照)。図3と図14を比較すると分かるように、第1修正方式に従って、工具先端点を第2教示点P2から第5教示点P5まで移動させるための新たな動作指令が動作プログラムに追加されている(図14中の第6行を参照)。
新たな動作指令中の速度指令値は、指定速度Vc(Vc=100mm/sec)よりも大きくされる。図14の例では、新たな動作指令中の速度指令値が150mm/secにされている。ここで、工具先端点が第2教示点P2から第5教示点P5まで移動する期間は、上述した速度変化の第2区間S2の一部に相当する。そのため、動作プログラムが第1修正方式に従って修正されると、移動速度Vが第2区間S2内で指定速度Vcよりも大きい速度指令値(例えば150mm/sec)に近づくように、速度変化のグラフが変形されうる。これにより、修正後の動作プログラムによる移動速度Vの最小値Vmiが、修正前の動作プログラムによる移動速度Vの最小値Vmiよりも大きくなることが期待される。
また、プログラム修正装置1の選択部15が上記の第2修正方式を選択したら、本例の修正部16は、移動速度Vが指定速度Vcから減少し始めるときの動作指令の直後に配置された動作指令の内容を変更する。図15は、図6の動作プログラムを第2修正方式に従って修正した結果を示す概略図である。上述した通り、図6の動作プログラムによる工具先端点の時間変化のパターンは第2類型に分類される(図11を参照)。通常、第2類型において移動速度Vが指定速度Vcから減少し始めるときの動作指令は、工具先端点を上記の第2教示点P2まで移動させるための動作指令である(例えば、図6中の第5行を参照)。図6と図15とを比較すると分かるように、本例の第2修正方式に従って、工具先端点を第2教示点P2から第5教示点P5まで移動させるための動作指令(第6行)における速度指令値が変更されている。より具体的に、図15の例では、第6行の動作指令における速度指令値が100mm/secから150mm/secに変更されている。
このように、本例の第2修正方式は、工具先端点の移動速度Vが減少し始めるときの動作指令の直後の動作指令における速度指令値を増加させることを含んでいる(図6及び図15の第6行を参照)。特に、上記の速度指令値が指定速度Vc以下である場合には、上記の速度指令値が指定速度Vcよりも大きくされる。ここで、工具先端点が第2教示点P2から第5教示点P5まで移動する期間は、上述した速度変化の第2区間S2の一部に相当する。そのため、動作プログラムが第2修正方式に従って修正されると、工具先端点の移動速度Vが第2区間S2内でより大きい速度指令値(例えば150mm/sec)に近づくように、速度変化のグラフが変形されうる。これにより、修正後の動作プログラムによる移動速度Vの最小値Vmiは、修正前の動作プログラムによる移動速度Vの最小値Vmiよりも大きくなることが期待される。なお、本例の第2修正方式は、必要に応じて、移動速度Vが減少し始めるときの動作指令の直後の動作指令における位置指令、加速度指令、及び位置決め指令等を変更することをさらに含みうる。
また、プログラム修正装置1の選択部15が上記の第3修正方式を選択したら、本例の修正部16は、動作プログラムに含まれる複数の動作指令のうちの、移動速度Vが最小値Vmiに到達するときの動作指令の直前に配置された動作指令を削除する。図16は、図7の動作プログラムを第3修正方式に従って修正した結果を示す概略図である。上述した通り、図7の動作プログラムによる工具先端点の時間変化のパターンは第3類型に分類される(図12を参照)。通常、第3類型において移動速度Vが最小値Vmiに到達するときの動作指令は、工具先端点を上記の第2教示点P2まで移動させるための動作指令である(例えば、図7中の第6行を参照)。図7と図16とを比較すると分かるように、本例の第3修正方式によって、工具先端点を第2教示点P2まで移動させるため動作指令(第6行)の直前に配置された動作指令(第5行)が削除されている。より具体的に、図16の例では、工具先端点を第1教示点P1から第6教示点P6まで速度100mm/secで移動させるための動作指令(第5行)が削除されている。
図12及び図13を参照して説明した通り、移動速度Vが最小値Vmiに到達するときの動作指令の直前に配置された動作指令(図7及び図8中の第5行)は、上記の第1区間S1における工具先端点の速度変化を非単調にする原因になりうる。そのため、第3修正方式に従って上記の動作指令が削除されると、工具先端点の移動速度Vが第1区間S1内で単調に減少するように、工具先端点の速度変化のグラフが変形されうる。つまり、図7の動作プログラムが第3修正方式に従って修正されると、工具先端点の速度変化のパターンが第3類型から第1類型に変更されることになる。
図17は、図8の動作プログラムを第3修正方式に従って修正した結果を示す概略図である。上述した通り、図8の動作プログラムによる工具先端点の時間変化のパターンは第4類型に分類される(図13を参照)。通常、第4類型において移動速度Vが最小値Vmiに到達するときの動作指令は、工具先端点を上記の第2教示点P2まで移動させるための動作指令である(例えば、図8中の第6行を参照)。図8と図17とを比較すると分かるように、本例の第3修正方式に従って、工具先端点を第2教示点P2まで移動させるため動作指令(第6行)の直前に配置された動作指令(第5行)が削除されている。より具体的に、図17の例では、工具先端点を第1教示点P1から第6教示点P6まで速度100mm/secで移動させるための動作指令が削除されている。図16の例と同様に、第3修正方式に従って上記の動作指令が削除されると、工具先端点の移動速度Vが第1区間S1内で単調に減少するように、工具先端点の速度変化のグラフが変形されうる。つまり、図8の動作プログラムが第3修正方式に従って修正されると、工具先端点の速度変化のパターンが第4類型から第2類型に変更されることになる。
次に、本実施形態のプログラム修正装置1の動作の概要について説明する。図18は、本実施形態のプログラム修正装置1がロボット2の動作プログラムを修正する手順を示すフローチャートである。図18のように、ステップS1では、プログラム修正装置1の設定部12が、ロボット2の工具先端点が曲がり角CNを通過する期間中の移動速度Vの上限値U及び下限値Lを設定する。上記の上限値U及び下限値Lは、予めオペレータによって指定されて記憶部1M等に格納されている。ステップS2では、プログラム修正装置1の実行部10が、記憶部1M内の動作プログラムに基づいてロボット2の動作シミュレーションを実行する。ステップS3では、プログラム修正装置1の算出部11が、工具先端点の移動速度Vの時間変化を算出する。より具体的に、ステップS3では、算出部11が、ステップS2で実行された動作シミュレーションの結果から、工具先端点の移動速度Vを所定の周期で算出する。ステップS4では、算出部11が、所定の周期で算出した工具先端点の移動速度Vを、動作プログラムの行番号と関連付けて記憶部1Mに格納する。
ステップS5では、プログラム修正装置1の判定部13が、工具先端点の移動速度Vの最小値Vmiが上記の下限値L以下であるかどうかを判定する。工具先端点の移動速度Vの最小値Vmiが下限値Lよりも大きい場合には(ステップS5のNO)、動作プログラムを修正する必要はないので、プログラム修正装置1はフローチャートを終了する。他方、工具先端点の移動速度Vの最小値Vmiが下限値L以下である場合には(ステップS5のYES)、プログラム修正装置1の評価部14が、工具先端点が曲がり角CNを通過する間の工具先端点の速度変化のパターンを評価する(ステップS6)。より具体的に、ステップS6では、評価部14が、工具先端点の速度変化のパターンを、予め定義された複数の類型(すなわち、上記の第1〜第4類型)のいずれかに分類する。
ステップS7では、プログラム修正装置1の選択部15が、評価部14によるパターン評価の結果に応じて、移動速度Vの最小値Vmiを増加させるための動作プログラムの修正方式を選択する。より具体的に、ステップS7では、選択部15が、評価部14によるパターン評価の結果に応じて、予め定義された複数の修正方式(すなわち、上記の第1〜第3修正方式)のいずれかを選択する。上述した通り、プログラム修正装置1の記憶部1Mには、動作プログラムの複数の修正方式の各々が、工具先端点の速度変化のパターンを表す複数の類型のいずれかと関連付けて記憶されている。つまり、ステップS7では、選択部15が、上記のパターン評価で特定された類型と関連付けられた修正方式を、移動速度Vの最小値Vmiを増加させるための修正方式として選択する。例えば、工具先端点の速度変化のパターンが上記の第1類型である場合(図9を参照)、選択部15は、移動速度Vが指定速度Vcから減少し始めるときの動作指令の直後に新たな動作指令を追加することを含む第1修正方式を選択する。
また、工具先端点の速度変化のパターンが上記の第2類型である場合(図11を参照)、選択部15は、移動速度Vが指定速度Vcから減少し始めるときの動作指令の直後に配置された動作指令の内容を変更することを含む第2修正方式を選択する。また、工具先端点の速度変化のパターンが上記の第3類型である場合(図12を参照)、選択部15は、移動速度Vが最小値Vmiに到達するときの動作指令の直前の動作指令を削除することを含む第3修正方式を選択する。工具先端点の速度変化のパターンが上記の第4類型である場合も(図13を参照)、選択部15は、移動速度Vが最小値Vmiに到達するときの動作指令の直前の動作指令を削除することを含む第3修正方式を選択する。
再び図18を参照すると、ステップS8では、プログラム修正装置1の修正部16が、ステップS7で選択された修正方式に従って動作プログラムを修正する。つまり、ステップS8では、修正部16が上記の第1〜第3修正方式のいずれかに従って動作プログラムを修正する。その後、修正後の動作プログラムについて上記のステップS2〜ステップS4が再び実行される。次いで、プログラム修正装置1の判定部13が、修正後の動作プログラムによる移動速度Vの最小値Vmiが下限値L以下であるかどうかを再び判定する(ステップS5)。そして、移動速度Vの最小値Vmiが下限値Lよりも大きい場合には(ステップS5のNO)フローチャートが終了される一方で、移動速度Vの最小値Vmiが下限値L以下である場合には(ステップS5のYES)修正後の動作プログラムについて上記のステップS6〜S8が再び実行される。このように、本例のプログラム修正装置1は、工具先端点の移動速度Vの最小値Vmiが下限値Lよりも大きくなるまで、上記の第1〜第3修正方式のいずれかに従って動作プログラムを繰り返し修正することになる。
図19及び図20は、本実施形態のプログラム修正装置1によって修正された動作プログラムに対応する工具先端点の移動速度Vの時間変化を示すグラフである。図19及び図20に示される速度変化のパターンはいずれも上記の第2類型に分類される。ただし、それら2つのパターンは、第2区間S2における極大値の大きさが互いに相違している。このような極大値の差は、工具先端点を第2教示点P2から第5教示点P5まで移動させるための動作指令における速度指令値の差に起因している。より具体的に、図19の例では、上記の動作指令における速度指令値が120mm/secに設定されているのに対して、図20の例では、上記の動作指令における速度指令値が180mm/secに設定されている。
図19及び図20のような速度変化は、例えば、図9のような第1類型の速度変化パターンを与える動作プログラムに第1修正方式及び第2修正方式を順番に適用することによって達成されうる。ただし、第1修正方式が適用された結果、移動速度Vの最小値Vmiが下限値Lよりも大きくなった場合には、第2修正方式がさらに適用される必要はない。また、第1修正方式の適用後に、第2修正方式の適用が2回以上繰り返される場合もある。或いは、図19及び図20のような速度変化は、図11のような第2類型の速度変化パターンを与える動作プログラムに第2修正方式を適用することによって達成されうる。この際、第2修正方式の適用が2回以上繰り返される場合もある。
或いは、図19及び図20のような速度変化は、図12のような第3類型の速度変化パターンを与える動作プログラムに第3修正方式、第1修正方式、及び第2修正方式を順番に適用することによって達成されうる。ただし、第3修正方式及びそれに次ぐ第1修正方式が適用された結果、移動速度Vの最小値Vmiが下限値Lよりも大きくなった場合には、第2修正方式がさらに適用される必要はない。また、第3修正方式及びそれに次ぐ第1修正方式の適用後に、第2修正方式の適用が2回以上繰り返される場合もある。或いは、図19及び図20のような速度変化は、図13のような第4類型の速度変化パターンを与える動作プログラムに第3修正方式及び第2修正方式を順番に適用することによって達成されうる。ただし、第3修正方式が適用された結果、移動速度Vの最小値Vmiが下限値Lよりも大きくなった場合には、第2修正方式がさらに適用される必要はない。また、第3修正方式の実行後に、第2修正方式が回以上繰り返される場合もある。
以上のように、本例プログラム修正装置1によれば、工具先端点の移動速度Vの最小値Vmiが下限値L以下である場合に、工具先端点の速度変化のパターンが評価されるとともに(上記のステップS6を参照)、速度変化のパターンの評価結果に応じた適切な動作プログラムの修正方式が選択される(上記のステップS7を参照)。よって、本例のプログラム修正装置1によれば、ロボット2のハードウェア設定を変更せずに既存の動作プログラムを修正するだけで工具先端点の速度低下を軽減できるようになる。
また、本例のプログラム修正装置1によれば、工具先端点の移動速度Vの最小値Vmiが下限値L以下になるまで動作プログラムの修正が繰り返される(上記のステップS5を参照)。よって、本例のプログラム修正装置1によれば、工具先端点の移動速度Vが下限値Lを越えて減少することに起因する加工精度の低下(例えば加工過多)を確実に防止できるようになる。
また、本例のプログラム修正装置1によれば、動作プログラム中の複数の動作指令のそれぞれが実行される間の工具先端点の速度変化が順番に算出されるので、複数の動作指令のそれぞれと工具先端点の速度変化との間の対応関係を確認することが可能になる。よって、本例のプログラム修正装置1によれば、工具先端点の移動速度Vが指定速度Vcから減少し始めるときの動作指令、及び工具先端点の移動速度Vが最小値Vmiに到達するときの動作指令等を特定することが可能になる。
また、本例のプログラム修正装置1によれば、典型的な動作プログラムによって与えられる工具先端点の速度変化パターンに適した修正方式を選択することが可能になる。特に、本例のプログラム修正装置1によれば、工具先端点の移動速度Vが第1区間S1で単調に減少し、かつ第2区間S2で単調に増加する速度変化パターン(すなわち第1類型)に適した第1修正方式を選択することが可能になる。同様に、本例のプログラム修正装置1によれば、工具先端点の移動速度Vが第1区間S1で単調に減少し、かつ第2区間S2で非単調に増加する速度変化パターン(すなわち第2類型)に適した第2修正方式を選択することが可能になる。同様に、本例のプログラム修正装置1によれば、工具先端点の移動速度Vが第1区間S1で非単調に減少する速度変化パターン(すなわち、第3類型及び第4類型)に適した第3修正方式を選択することが可能になる。
本発明は、上記実施形態のみに限定されるものではなく、特許請求の範囲に記載された範囲内で種々改変されうる。例えば、図3及び図5〜図8等に示される動作プログラムは典型例にすぎず、本発明によるロボット2の動作プログラムがそれらに限定されることはない。同様に、上記の第1〜第4類型は工具先端点の速度変化パターンの典型例にすぎないし、上記の第1〜第3修正方式は動作プログラムの修正方式の典型例にすぎない。つまり、速度変化パターンの他の類型、及び動作プログラムの他の修正方式が本発明の範囲内で採用されうることに留意すべきである。さらに、上記実施形態に記載されたロボットシステムの各装置の機能及び構成は一例にすぎず、本発明の効果を達成するために多様な機能及び構成が採用されうる。
1 プログラム修正装置
10 実行部
11 算出部
12 設定部
13 判定部
14 評価部
15 選択部
16 修正部
1M 記憶部
2 ロボット
3 制御装置
4 教示操作盤
CN 曲がり角
L 下限値
MP 移動経路
P1 第1教示点
P2 第2教示点
P3 第3教示点
P4 第4教示点
P5 第5教示点
P6 第6教示点
S1 第1区間
S2 第2区間
TL 工具
U 上限値
V 移動速度
Vc 指定速度
Vmi 最小値

Claims (14)

  1. ロボットに装着された工具の先端点を所定の移動経路に沿って指定速度で移動させるための前記ロボットの動作プログラムを修正するプログラム修正装置であって、
    前記動作プログラムに基づいて前記ロボットの動作シミュレーションを実行する実行部と、
    前記動作シミュレーションの結果から、前記先端点が前記移動経路を通過する間の前記先端点の移動速度の時間変化を算出する算出部と、
    前記算出部が算出した前記時間変化における前記移動速度の最小値が予め定めた下限値以下である場合に、前記算出部が算出した前記時間変化のパターンを評価する評価部と、
    前記移動速度の最小値を増加させる前記動作プログラムの修正方式を、予め定めた複数の修正方式の中から、前記時間変化のパターンの評価結果に応じて選択する選択部と、
    前記選択部が選択した修正方式に従って前記動作プログラムを修正する修正部と、を備えるプログラム修正装置。
  2. 前記修正部は、前記時間変化における前記移動速度の最小値が前記下限値よりも大きくなるまで前記動作プログラムを繰り返し修正する、請求項1に記載のプログラム修正装置。
  3. 前記動作プログラムは、順番に実行される複数の動作指令から構成され、
    前記算出部は、前記複数の動作指令のそれぞれが実行される間の前記時間変化を順番に算出する、請求項1または2に記載のプログラム修正装置。
  4. 前記評価部は、前記移動速度が前記指定速度から減少し始める時間と前記移動速度が最小値に到達する時間との間の第1区間、及び前記移動速度が最小値から増加し始める時間と前記移動速度が前記指定速度に収束する時間までの第2区間のそれぞれにおける前記時間変化の単調性に基づいて、前記時間変化のパターンを評価する、請求項3に記載のプログラム修正装置。
  5. 前記複数の修正方式には、前記複数の動作指令のうちの前記移動速度が前記指定速度から減少し始めるときの動作指令の直後に新たな動作指令を追加することを含む第1修正方式が含まれ、
    前記選択部は、前記第1区間における前記時間変化が単調減少であり、かつ前記第2区間における前記時間変化が単調増加である場合には、前記第1修正方式を選択する、請求項4に記載のプログラム修正装置。
  6. 前記複数の修正方式には、前記複数の動作指令のうちの前記移動速度が前記指定速度から減少し始めるときの動作指令の直後の動作指令を変更することを含む第2修正方式が含まれ、
    前記選択部は、前記第1区間における前記時間変化が単調減少であり、かつ前記第2区間における前記時間変化が非単調増加である場合には、前記第2修正方式を選択する、請求項4または5に記載のプログラム修正装置。
  7. 前記複数の修正方式には、前記複数の動作指令のうちの前記移動速度が最小値に到達するときの動作指令の直前の動作指令を削除することを含む第3修正方式が含まれ、
    前記選択部は、前記第1区間における前記時間変化が非単調減少である場合には、前記第3修正方式を選択する、請求項4〜6のいずれか1つに記載のプログラム修正装置。
  8. ロボットに装着された工具の先端点を所定の移動経路に沿って指定速度で移動させるための動作プログラムを修正するプログラム修正方法であって、
    前記動作プログラムに基づいて前記ロボットの動作シミュレーションを実行し、
    前記動作シミュレーションの結果から、前記先端点が前記移動経路を通過する間の前記先端点の移動速度の時間変化を算出し、
    算出した前記時間変化における前記移動速度の最小値が予め定めた下限値以下である場合に、算出した前記時間変化のパターンを評価し、
    前記移動速度の最小値を増加させる前記動作プログラムの修正方式を、予め定めた複数の修正方式の中から、前記時間変化のパターンの評価結果に応じて選択し、
    選択した修正方式に従って前記動作プログラムを修正することを含むプログラム修正方法。
  9. 前記時間変化における前記移動速度の最小値が前記下限値よりも大きくなるまで前記動作プログラムを繰り返し修正することをさらに含む、請求項8に記載のプログラム修正方法。
  10. 前記動作プログラムは、順番に実行される複数の動作指令から構成され、
    前記複数の動作指令のそれぞれが実行される間の前記時間変化を順番に算出する、請求項8または9に記載のプログラム修正方法。
  11. 前記移動速度が前記指定速度から減少し始める時間と前記移動速度が最小値に到達する時間との間の第1区間、及び前記移動速度が最小値から増加し始める時間と前記移動速度が前記指定速度に収束する時間までの第2区間のそれぞれにおける前記時間変化の単調性に基づいて、前記時間変化のパターンを評価する、請求項10に記載のプログラム修正方法。
  12. 前記複数の修正方式には、前記複数の動作指令のうちの前記移動速度が前記指定速度から減少し始めるときの動作指令の直後に新たな動作指令を追加することを含む第1修正方式が含まれ、
    前記第1区間における前記時間変化が単調減少であり、かつ前記第2区間における前記時間変化が単調増加である場合には、前記第1修正方式を選択する、請求項11に記載のプログラム修正方法。
  13. 前記複数の修正方式には、前記複数の動作指令のうちの前記移動速度が前記指定速度から減少し始めるときの動作指令の直後の動作指令を変更することを含む第2修正方式が含まれ、
    前記第1区間における前記時間変化が単調減少であり、かつ前記第2区間における前記時間変化が非単調増加である場合には、前記第2修正方式を選択する、請求項11または12にプログラム修正方法。
  14. 前記複数の修正方式には、前記複数の動作指令のうちの前記移動速度が最小値に到達するときの動作指令の直前の動作指令を削除することを含む第3修正方式が含まれ、
    前記第1区間における前記時間変化が非単調減少である場合には、前記第3修正方式を選択する、請求項11〜13のいずれか1つに記載のプログラム修正方法。
JP2014226498A 2014-11-06 2014-11-06 産業用ロボットのプログラム修正装置及びプログラム修正方法 Active JP6006277B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014226498A JP6006277B2 (ja) 2014-11-06 2014-11-06 産業用ロボットのプログラム修正装置及びプログラム修正方法
DE102015014236.4A DE102015014236B4 (de) 2014-11-06 2015-11-04 Programmkorrekturvorrichtung und Programmkorrekturverfahren eines Industrieroboters
CN201510745167.5A CN105589407B (zh) 2014-11-06 2015-11-05 工业用机器人的程序修正装置和程序修正方法
US14/933,133 US9891618B2 (en) 2014-11-06 2015-11-05 Program correcting device and program correcting method of industrial robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014226498A JP6006277B2 (ja) 2014-11-06 2014-11-06 産業用ロボットのプログラム修正装置及びプログラム修正方法

Publications (2)

Publication Number Publication Date
JP2016087755A JP2016087755A (ja) 2016-05-23
JP6006277B2 true JP6006277B2 (ja) 2016-10-12

Family

ID=55803391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014226498A Active JP6006277B2 (ja) 2014-11-06 2014-11-06 産業用ロボットのプログラム修正装置及びプログラム修正方法

Country Status (4)

Country Link
US (1) US9891618B2 (ja)
JP (1) JP6006277B2 (ja)
CN (1) CN105589407B (ja)
DE (1) DE102015014236B4 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180103375A (ko) * 2017-03-09 2018-09-19 한국기계연구원 공압 기반 촉각센서

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6006277B2 (ja) * 2014-11-06 2016-10-12 ファナック株式会社 産業用ロボットのプログラム修正装置及びプログラム修正方法
TWI666684B (zh) 2015-11-16 2019-07-21 日商東京威力科創股份有限公司 塗佈膜形成方法、塗佈膜形成裝置及記憶媒體
US10493544B2 (en) * 2016-02-05 2019-12-03 Textron Innovations, Inc. System and method for cutting composite materials
US9882071B2 (en) * 2016-07-01 2018-01-30 Sunpower Corporation Laser techniques for foil-based metallization of solar cells
JP6400751B2 (ja) * 2017-01-26 2018-10-03 ファナック株式会社 ロボットプログラム修正装置、ロボット制御装置、ロボットシミュレーション装置およびロボットプログラム修正方法
JP6705847B2 (ja) * 2018-02-14 2020-06-03 ファナック株式会社 加工結果に基づいた学習制御を行うロボットシステム及びその制御方法
TW202227244A (zh) * 2021-01-07 2022-07-16 日商發那科股份有限公司 機器人的動作模擬裝置、機器人的控制裝置、及機器人的動作模擬方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6134610A (ja) * 1984-07-27 1986-02-18 Kobe Steel Ltd ロボツトの制御装置
JP2668148B2 (ja) * 1990-04-26 1997-10-27 トヨタ自動車株式会社 シミュレータ
JP4091124B2 (ja) * 1996-11-26 2008-05-28 ファナック株式会社 動作経路シミュレーション機能を有するロボット制御装置
JP4085208B2 (ja) 1997-07-24 2008-05-14 株式会社安川電機 ロボットの制御方法
DE10305384A1 (de) * 2003-02-11 2004-08-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Visualisierung rechnergestützter Informationen
JP3946753B2 (ja) * 2005-07-25 2007-07-18 ファナック株式会社 ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置
JP2007094936A (ja) * 2005-09-30 2007-04-12 Fanuc Ltd 数値制御装置
JP4256440B2 (ja) * 2007-08-10 2009-04-22 ファナック株式会社 ロボットプログラム調整装置
JP4802170B2 (ja) * 2007-10-18 2011-10-26 株式会社ソディック 加工時間算出装置およびそのプログラム
CN102119072B (zh) * 2008-06-09 2013-09-11 Abb技术有限公司 有助于对离线编程机器人单元进行校准的方法和系统
WO2010140390A1 (ja) * 2009-06-03 2010-12-09 三菱電機株式会社 数値制御装置および生産システム
JP4980458B2 (ja) * 2010-10-27 2012-07-18 ファナック株式会社 数値制御工作機械の加工時間予測装置
JP5192578B2 (ja) * 2011-06-03 2013-05-08 ファナック株式会社 加工プログラムの移動経路を修正する機能を備えた数値制御装置
JP5426722B2 (ja) * 2012-05-24 2014-02-26 ファナック株式会社 ロボットプログラム変更装置
JP6006277B2 (ja) * 2014-11-06 2016-10-12 ファナック株式会社 産業用ロボットのプログラム修正装置及びプログラム修正方法
US10317872B2 (en) * 2015-08-07 2019-06-11 Spm Automation (Canada) Inc. Method of self-adjusting a machine to compensate for part-to-part variations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180103375A (ko) * 2017-03-09 2018-09-19 한국기계연구원 공압 기반 촉각센서
KR101980224B1 (ko) * 2017-03-09 2019-05-21 한국기계연구원 공압 기반 촉각센서

Also Published As

Publication number Publication date
CN105589407A (zh) 2016-05-18
US9891618B2 (en) 2018-02-13
JP2016087755A (ja) 2016-05-23
US20160129589A1 (en) 2016-05-12
DE102015014236B4 (de) 2020-09-03
DE102015014236A1 (de) 2016-05-12
CN105589407B (zh) 2018-02-13

Similar Documents

Publication Publication Date Title
JP6006277B2 (ja) 産業用ロボットのプログラム修正装置及びプログラム修正方法
EP2835228B1 (en) Robot apparatus and robot controlling method
JP6314324B2 (ja) オフラインティーチング装置
JP4137909B2 (ja) ロボットプログラム補正装置
JP6717768B2 (ja) 生産ラインにおける運用を考慮した学習制御を行うロボット及びその制御方法
JP5444412B2 (ja) 加工処理の評価を行うための情報を表示する表示部を備えた数値制御装置
US20100305753A1 (en) Method And Device For Controlling A Manipulator
JP5374616B1 (ja) 工作機械の工具ベクトルを表示する工具軌跡表示装置
JP4942672B2 (ja) ロボット軌道制御装置及びロボット軌道制御方法
JP6450732B2 (ja) 数値制御装置
JP6386516B2 (ja) 学習機能を備えたロボット装置
US10994422B2 (en) Robot system for adjusting operation parameters
JP2015098076A (ja) ロボットプログラム作成方法、ロボットプログラム作成装置、プログラム及び記録媒体
JPWO2016136209A1 (ja) オフライン教示装置
JP2005149016A (ja) ロボットプログラム修正装置
JP7509880B2 (ja) 軌道生成装置および自動位置制御装置
JP7165951B2 (ja) ロボットの制御方法
WO2013031492A1 (ja) プログラム生成装置及びその方法
JPH08286722A (ja) Cadデータ利用オフラインティーチング方法及びそのシステム
JP4998180B2 (ja) ウィービング動作制御方法
JP5133185B2 (ja) アーク溶接ロボット装置
JP7232704B2 (ja) ロボットプログラム評価装置、ロボットプログラム評価方法及びロボットプログラム評価プログラム
JP5005366B2 (ja) ロボット制御装置
JP5946680B2 (ja) アーク溶接用プログラムのプログラム変換方法、及びアーク溶接用プログラムのプログラム変換装置
JP7444588B2 (ja) 軌道生成装置、自動位置制御装置および軌道生成方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160812

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160908

R150 Certificate of patent or registration of utility model

Ref document number: 6006277

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150