JPH11175130A - ロボットの制御装置 - Google Patents

ロボットの制御装置

Info

Publication number
JPH11175130A
JPH11175130A JP9362300A JP36230097A JPH11175130A JP H11175130 A JPH11175130 A JP H11175130A JP 9362300 A JP9362300 A JP 9362300A JP 36230097 A JP36230097 A JP 36230097A JP H11175130 A JPH11175130 A JP H11175130A
Authority
JP
Japan
Prior art keywords
override
robot
output
value
processing
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.)
Granted
Application number
JP9362300A
Other languages
English (en)
Other versions
JP3673383B2 (ja
Inventor
Takayuki Ito
孝幸 伊藤
Toru Shirahata
透 白幡
Atsuro Nagayama
敦朗 永山
Kazuto Hirose
一人 廣瀬
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 JP36230097A priority Critical patent/JP3673383B2/ja
Priority to DE69839795T priority patent/DE69839795D1/de
Priority to EP98310162A priority patent/EP0922542B1/en
Priority to US09/210,627 priority patent/US6163124A/en
Publication of JPH11175130A publication Critical patent/JPH11175130A/ja
Application granted granted Critical
Publication of JP3673383B2 publication Critical patent/JP3673383B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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/406Numerical 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 monitoring or safety
    • G05B19/4067Restoring data or position after power failure or other interruption

Landscapes

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

Abstract

(57)【要約】 【課題】 オーバライドや一時停止に関連して発生する
軌跡ずれの解消。 【解決手段】 ロボット制御装置のソフトウェアの動作
計画部は、オーバライドを考慮せずにロボットの動作計
画を作成し、補間処理部へ出力する。補間処理部は、計
算処理周期毎に補間処理を行ない、ITP毎の移動量を
計算し、フィルタ部へ出力する。フィルタ部で加減速制
御のためにフィルタリングされた出力が、動的シャッタ
付のオーバライド処理部で処理される。各軸共通のオー
バライド値β(0≦β≦1)を適用した処理後の出力
は、速度、加速度についてそれぞれβ、β2 倍したもの
とされる。2つの動作が重なるコーナ部において、両動
作の加減速が均等に消化されるので、軌跡誤差を生じな
い。オーバライドがコーナ部通過中に変更されても、同
様である。また、一時停止前後の減速、加速にオーバラ
イド変更を徐々に行なうことで、一時停止に伴う軌跡ず
れも解消出来る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は産業用ロボット(以
下、単に「ロボット」と言う。)を制御するための制御
装置に関し、更に詳しく言えば、オーバライド指令時や
一時停止前後におけるロボット軌跡精度を向上させるよ
うにしたロボット制御装置に関する。
【0002】
【従来の技術】動作プログラムで指定されている速度
(以下、「プログラム速度」と言う)よりも低い速度で
ロボットを移動させる必要がある場合には、プログラム
速度に対して一定の割合で動作速度を低下させるオーバ
ライドの手法が広く用いられている。例えば、新規作成
された動作プログラムや修正を行なった動作プログラム
については、低率のオーバライドを指定して再生運転
(テストラン)を行ない、危険を避けながら移動軌跡の
確認を行なっている。
【0003】軌跡が適正であると確認された動作プログ
ラムは、実際の作業を担当するロボットの制御装置内で
再生されるが、再生運転に際して指定されるオーバライ
ドは、当然、プログラム速度通りでの移動を指令する
「100%」、あるいはそれに近い高率とされることが
通例である。
【0004】ところが従来のロボット制御装置を用いた
場合、オーバライドによって移動速度を低下させた場合
に実現される軌跡と、オーバライド100%指定時(速
度低下なし)に実現される軌跡との間にずれが生じてい
た。この軌跡ずれは、指定されたオーバライド値が低い
程大きくなる性質がある。即ち、低率のオーバライドの
下での動作中にロボットがコーナ部分にさしかかると、
そのコーナで位置決めが行なわれる場合を除き、各軸及
ぴ直線、円弧動作いずれの動作形式においてもツール先
端点の軌跡が、指定されているオーバライド値によって
大きく変化していた。
【0005】そのため、実際の軌跡確認にあたっては、
低率のオーバライドを指定した動作から始め、徐々にオ
ーバライドをあげながらテストランを繰り返すことで正
確な軌跡の確認を試みているのが現状である。このよう
な軌跡ずれは、低率のオーバライド指定時のみならず、
動作中のオーバライド値変更時やロボットの一時停止の
前後(減速時、加速時)においても同様の態様で発生す
る。
【0006】結局、従来技術においては、位置教示後、
オーバライド100%で動作させるまでのテストランの
繰り返しに長時間を要していた。また、プログラム再生
動作時に一時停止の処理をした場合、減速に伴なってツ
ール先端点位置が、一時停止の処理を行なわない通常勤
作時に描かれるツール先端点の軌跡(以下、「通常軌
跡」と言う)からはずれて行き、通常軌跡上に無い位置
で停止する。なお、本明細書では、「一時停止」には、
アラーム出力によりサーボへの移動指令出力を瞬時に停
止させることを意味する「非常停止」は含まないことと
する。
【0007】同様に、一時停止後プログラム再生を再開
した直後のツール先端点の軌跡も通常軌跡からはずれて
おり、通常軌跡に一致するまでに相当の移動距離を要す
る。このような軌跡のずれは、ロポットハンド等のエン
ドエフェクタと外部物体(ジグ、ワーク、他の設置機器
等)が干渉する原因にもなっていた。
【0008】図1は、上述した問題について考察するた
めに、プログラム再生時に動作計画からサーボへの移動
指令出力までにロボット制御装置内部で行なわれていた
従来方式の処理の枠組みを説明する図である。従来方式
に従った通常処理の枠組は図1に示したようなもので、
枠組み全体は、動作計画部と、補間処理部と、フィルタ
部に大別され、各部は各軸動作用の系列と直交動作(直
線動作、円弧動作等)用の系列に2分することが出来
る。
【0009】動作計画部は、動作プログラムの指定内容
(移動目標位置、運動形式、プログラム速度など)に従
ってロボットの動作計画を作成する部分で、動作プログ
ラムで指定された運動形式が各軸動作であれば各軸動作
計画部で動作計画が作成され、動作プログラムで指定さ
れた運動形式が直交動作(直線動作、円弧動作等)であ
れば直交動作計画部で動作計画が作成される。
【0010】オーバライドはこの動作計画部で考慮さ
れ、プログラム速度にオーバライド(百分率)を乗じた
ものが、補間処理部に対する指令遠度出力となる。動作
計画部と補間処理部の間には、動作計画部からの指令速
度出力の補間処理部への送り込みを制御する動作シャッ
タとして機能するブロックが設けられている。動作シャ
ッタは、指令遠度出力が生成される毎に開放され、指令
遠度出力を補間処理部に渡す。
【0011】補間処理部では、この指令遠度出力を受け
て計算処理周期(ITP)毎に補間処理が各軸上あるい
は直交座標系上で行なわれ、ITP毎の移動量が計算さ
れ、出力される。続くフィルタ部では、補間処理部の出
力に対して所定の時定数でフィルタリングが行なわれ
る。この処理はロボットの加減速を制御して、加速/減
速の動きを滑らかにするために行なわれる。
【0012】各軸フィルタ処理部でフィルタリング処理
された出力も、フィルタリング後、各軸(J1〜J6)
のサーボへ出力される。なお、直交動作の場合、直交座
標系から各軸座標系への変換を行なうためのいわゆる逆
変換の処理が必要となる。この逆変換の処理はフィルタ
リングの前に逆変換を行なわれることが多いが、フィル
タリングの後で行なうこともある。
【0013】再生動作中にロボット制御装置内部で一時
停止の指令が出力された場合には、動作シャッタのオフ
反転により補間処理部にホールドがかけられ、補問処理
が中断される。ホールド指令が出される前に補間処理で
作成された出力はフィルタ部でフィルタ処理されて後、
サーボへ出力される。サーボへ出力された移動指令が各
軸の移動で消化されるとサーボへの入力が途絶え、ロボ
ットは停止に至る。
【0014】動作プログラムで2つの動作を滑らかにつ
なぐ経路が指定されている場合、2つの動作指令は重畳
して処理される。その際、2つの動作の内先行動作の終
点における移動接線方向と後行動作の始点における移動
接線方向が互いに異なる場合には、丸みを帯びたコーナ
が生成される。この時の動作の重なり量が、コーナの内
回りの形状を左右する。
【0015】ここで、オーバライドの高低と動作の重な
り量との関係を考えてみる。オーバライドが低い場合に
は、指令速度は当然低くなるが、フィルタ都の加減速処
理の時定数は変わらないので、動作の重なり量は小さく
なる。このことは、コーナの内回り量が小さくなる(即
ち、丸みの曲率が小さくなる)ことを意味している。逆
に、オーバライドが高い場合には、指令速度は当然高く
なり、同じフィルタ都の加減速処理の時定数の下で動作
の重なり量は大きくなる。その結果、コーナの内回り量
が大きくなる(即ち、丸みの曲率が大きくなる)。
【0016】図2は、簡単な例でこれらの現象を説明す
る図である。図2の例では、動作プログラムとして、イ
チ[1]へ向けて2000mm/secで直線移動する
動作と、イチ[2]へ向けて1000mm/secで直
線移動して停止(位置決め)する動作を100%の滑ら
かさで接続するものを考えている。コーナ通過に伴う現
象を考察するために、図示した如く、イチ[1]へ向か
う直線経路は−X軸方向へ向い、イチ[2]へ向かう直
線経路は+Y軸方向へ向うケースを想定する。各動作の
フィルタ処理後の指令速度出力推移が右上部に併記され
ており、符号a、bが動作の重なりを一般的に表わして
いる。
【0017】今、高いオーバライドとして100%、低
いオーバライドとして50%を想定すると、オーバライ
ド100%時におけるフィルタ処理後の重なりa1、b
1と、オーバライド50%時におけるフィルタ処理後の
重なりa2、b2はぞれぞれ図示したようなものとな
る。即ち、オーバライドが2倍のファクタで異なってい
るにも拘らず同じ時定数でフィルタリングが行なわれる
ために、動作の重なり量に大きな差が生じる。その結
果、実現される軌跡はc1、c2で示したように異なっ
たものとなる。コーナ部の丸みはc1では大きく、c2
では小さい。
【0018】次に、オーバライド100%の場合につい
て、イチ[1]で代表されるコーナ通過中のP点で一時
停止によりホールドがかかった場合を考える。ホールド
がかかった時点から、イチ[2]へ向かう動作分の補間
処理部の出力は、ホールドがかからなかった場合(破線
dで表示)に比して急減して残留指令出力のみとなる。
そのため、フィルタ処理後の2つの動作の重なりが、コ
ーナ移動途上で急減する効果をもたらす。
【0019】その結果、ホールドがかかった時点に対応
するP点から軌跡がコーナ代表点イチ[2]側へずれて
c3のようになり、ホールドがかからなかった場合の軌
跡c1からはずれた点Qで停止する(イチ[1]へ向か
う動作は消化されることに注意)。一時停止後に再生を
再開すると、ロボット軌跡は点Qから、c4で示したよ
うな軌跡を辿ることになる(途中からc1に一致)。
【0020】これと類似した軌跡ずれ現象は、コーナ通
過中にオーバライドが切り替わった場合にも発生するこ
とは明らかである。なぜならば、同じ時定数の下でフィ
ルタリングが行なわれるために、補間処理部の出力の大
小によって2つの動作の重なり量が変化し、その結果、
軌跡が変化するからである。
【0021】即ち、これら軌跡ずれを発生させる諸ケー
ス(オーバライドの高低、オーバライドの動作中の切
換、一時停止の前後)には、フィルタリング処理の入力
レベルの推移が通常時とは異なっているという共通した
要因がある。フィルタリング処理の入力レベルが変化し
ているのに、同じ時定数の下でフィルタリング処理行な
われるために、2つの方向の異なる動作が重なる部分で
は、動作経路に差異が生じてしまうと考えることが出来
る。
【0022】
【発明が解決しようとする課題】そこで、本発明の目的
は、従来技術において上記共通した要因で発生する軌跡
ずれを解消出来るロボット制御装置を提供することにあ
る。即ち、本発明は、オーバライドの高低、オーバライ
ドの動作中の切換、一時停止の前後における軌跡精度の
低下を防止出来るロボット制御装置を提供することにあ
る。
【0023】本発明はまたそのことを通して、教示後の
テストラン時の軌跡と高オーバライドの下での運転時の
軌跡のずれを解消し、軌跡確認作業の効率性と安全性を
向上させようとするものである。更に、本発明は、オー
バライドの動作中の切換や一時停止に伴う軌跡ずれをな
くすことを通して、ロボット作業の精度と安全性を図る
ものでもある。
【0024】
【課題を解決するための手段】本発明は、上述の如き要
因で発生する軌跡ずれを解消出来るソフトウェアを装備
したロボット制御装置を提供するもので、ロボットの各
軸を駆動するサーボモータのサーボ系へ移動指令を出力
するためのソフトウェア手段を備えたロボット制御装置
に適用される。
【0025】本発明に従えば、ロボット制御装置に装備
されるソフトウェア手段は、動作プログラムに基づく動
作計画の出力を所定の周期で補間処理し、補間処理され
た出力を加減速制御のためにフィルタリング処理し、フ
ィルタリング処理後のデータを入力として、指定された
各軸共通のオーバライド値によってロボットのツール先
端点の軌跡を変えることなく動作させるようにオーバラ
イドのための処理を行う。
【0026】プログラム実行中にオーバライド値を変更
した揚合には、ロボットのツール先端点の軌跡を変える
ことなく動作させるように、オーバライドのための処理
が行なわれる。そして、プログラム実行時にロボットを
一時停止させた場合には、オーバライド値を0まで低下
させる処理を行なってロボットを減速させ、通常動作で
描くツール先端点の軌跡に沿って前記減速が行なわれて
停止に至るようにロボットを制御することが出来る。
【0027】また、プログラムラム実行時にロボットを
一時停止させた後、停止後に動作を再開させた場合に
は、オーバライド値を0から上昇させる処理を行なって
ロボットを通常動作で描くツール先端点の軌跡に沿って
加速し、一時停止前と同じ速度と同じ軌跡を以て動作す
るする状態に至るようにロボットを制御することが出来
る。
【0028】更に、プログラムラム実行時にロボットを
非常停止させた後、停止後に動作を再開させた場合に
は、通常動作で描くツール先端点の軌跡上に戻るための
移動を表わす移動指令を前記サーボ系へ出力する処理を
行なって通常動作で描くツール先端点の前記軌跡上に戻
り、その後、オーバライド値を所定値まで上昇させる処
理を行なってその軌跡に沿って加速し、非常停止前と同
じ速度と同じ軌跡を以て動作する状態に至るようにロボ
ットを制御することも出来る。
【0029】以上のような制御を可能にするために、ロ
ボット制御装置内部でオーバライドの目標値が保持さ
れ、オーバライド現在値をオーバライドの前記目標値に
向けて漸次変更することによってオーバライド値の変更
が行ない得るようになっていることが好ましい。
【0030】また、一時停止時点付近では、ロボット制
御装置内部で動作データを保存し、動作再開時に前記保
存された動作データを利用することが好ましい。
【0031】なお、動作プログラムに基づいてなされる
動作計画は、動作形式として直線動作が指定されている
動作区間については直交動作計画になり、動作形式とし
て各軸動作が指定されている動作区間については各軸動
作計画となる。本発明では、直交動作、各軸動作いずれ
の動作形式による動作に関しても、オーバーライド値の
高低や一時停止/動作再開に伴う軌跡のずれを解消出来
る。
【0032】
【発明の実施の形態】図3は本発明が適用されるロボッ
ト制御装置を含むロボットシステムのハードウェアの構
成を例示した要部ブロック図である。同図に示したよう
に、全体を符号30で指示したロボット制御装置は、エ
ンドエフェクタとしてハンド10をアーム先端部1に取
り付けたロボットRBを制御する。ロボットRBはここ
では6軸ロボットとする。エンドエフェクタ(ハンド1
0)の位置を代表する点であるツール先端点TCPは、
ハンド10の中心部に設定されている。
【0033】ロボット制御装置30はホストCPU3
1、共有RAM32、サーボCPU33、サーボアンプ
34、メモリ35、教示操作盤用インターフェイス36
並びに一般外部装置用の入出力装置38を備えている。
メモリ35は、システムプログラムが格納されたRO
M、データの一時記憶用のRAM、及びシステム(ロボ
ットRBの動作を定めた各種プログラムデータが格納さ
れた不揮発性メモリを含んでいる。
【0034】教示操作盤用インターフェイス36に接続
された教示操作盤37は、プログラムデータの入力、修
正、登録や、手動送り((ジョグ送り)指令、再生運転
指令等のマニュアル入力に利用される。また、外部装置
用入出力装置38にはロボットRBのメカニカルブレー
キの他、アプリケーションに応じた各種外部装置(例え
ば、溶接用電力電源装置)が接続される。
【0035】再生運転あるいは手動送り(ジョグ送り)
の実行時には、ホストCPU31はロボットRBの各軸
に対する移動指令を作成し、共有RAM32へ出力す
る。サーボCPU33はこれを所定の短周期で読み出
し、ロボット各軸の位置検出器(パルスコーダ)から送
られてくる位置信号(フィードバック)信号に基づいて
サーボ処理を実行し、各軸のサーボアンプ34に電流指
令を出力し、ロボット各軸のサーボモータを駆動する。
また、サーボCPU33はロボット各軸の位置検出器
(パルスコーダ)から送られてくる位置信号(フィード
バック)信号に基づいてロボット各軸の現在位置を周期
的に共有RAM32に書き込む。
【0036】上述した構成と機能は、通常のロボットシ
ステムのそれと特に変わるところはない。本システムで
用いられているロボット制御装置30が従来のものと異
なるのは、ホストCPU31がプログラムデータを読み
込んでから、ロボットRBの各軸に対する移動指令を作
成するまでの処理過程が改良され、前述した諸要因(オ
ーバライドの高低、オーバライドの動作中の切換、一時
停止の前後処理)で発生するロボットの軌跡ずれが回避
出来るようになっていることにある。改良されたプログ
ラムデータ及び関連設定値は、メモリ35に格納されて
いる。以下、この改良点を中心に説明する。
【0037】図4は、本発明の実施形態について、プロ
グラム再生時に動作計画からサーボへの移動指令出力ま
でにロボット制御装置内部で行なわれる処理の枠組みを
図1と同様の形式で説明する図である。
【0038】図4に示した処理の枠組み全体は、従来と
同様に、動作計画部と、補間処理部と、フィルタ部を備
え、それぞれが各軸動作用のブロックと直交動作用のブ
ロックを有し、各部は各軸動作用の系列と直交動作(直
線動作、円弧動作等)用の系列に2分することが出来
る。
【0039】動作計画部は、動作プログラムの指定内容
(移動目標位置、運動形式、プログラム速度など)に従
ってロボットの動作計画を作成する部分で、動作プログ
ラムで指定された運動形式が各軸動作であれば各軸動作
計画部で動作計画が作成され、動作プログラムで指定さ
れた運動形式が直交動作(直線動作、円弧動作等)であ
れば直交動作計画部で動作計画が作成される。
【0040】補間処理部では、この指令遠度出力を受け
て所定の計算処理周期(ITP)毎に補間処理が各軸上
あるいは直交座標系上で行なわれ、ITP毎の移動量が
計算され、出力される。続くフィルタ部では、加減速制
御のために補間処理部の出力に対して所定の時定数でフ
ィルタリングが行なわれる。各軸補間処理部からの出力
は、各軸フィルタ処理部でフィルタリング処理される。
【0041】以上のブロック構成は従来と共通したもの
であるが、オーバライドを考慮する段階が従来とは基本
的に異なっている。即ち、前述したように、従来の処理
においては、オーバライドは動作計画の処理の中で考慮
され、オーバライド値を乗じた後の出力が動作シャッタ
を介して補間処理部に渡されていたのに対し、本実施形
態では本発明の特徴に従い、フィルタ部の後段に設けら
れている。また、それに伴って動作シャッタのブロック
もフィルタ部の後段に移されている。
【0042】オーバライドはこの動作シャッタ付のオー
バライド処理部(動的速度制御部とも言う。以下、同
じ。)で考慮され、フィルタ部の出力にオーバライド
(百分率)を乗じたものが、各軸(J1〜J6)のサー
ボへ分配・出力される。直交補間処理部からの出力は、
直交フィルタ処理部でフィルタリング処理され、逆変換
を経て、各軸(J1〜J6)のサーボへ分配・出力され
る。直交補間処理部からの出力は、各軸への分配に際し
て逆変換の処理を受ける。
【0043】再生動作中にロボット制御装置内部で一時
停止の指令が出力された場合には、補間処理部ではな
く、動作シャッタのオフ反転によりオーバライド部(フ
ィルタ部の出力)にホールドがかけられる。
【0044】本実施形態の特徴をなす処理を、オーバラ
イド関連処理と一時停止関連処理に分けてその概略を述
べれば、次のようになる。 (1)オーバライド関連処理の概略;本実施形態では、
図4の下半部に示したように、動作計画部ではオーバラ
イドは考慮されず、プログラム速度通りの入力に対して
補間処理が行なわれる。補間処理後の出力は続くフィル
タ部で所定の時定数の下でフィルタリング処理される。
ここまでの段階では、処理がオーバライドに左右される
余地が無いことが明らかである。従って、オーバライド
が高くても低くても、また、動作途中でオーバライドの
率が切り換えられても、フィルタ部の出力に全く影響は
ない。
【0045】続くオーバライドの処理では、フィルタ部
の出力を次の条件式(1)、(2)を満たすように修正
する。なお、オーバライド値をβ%(0≦β≦10
0)、フィルタ部出力が表わす速度をvflout 加速度を
αflout 、オーバライド処理後の出力が表わす速度をv
ovout 、加速度をαovout で表記する。 αovout =αflout ×(β/100)2 ・・・(1) vovout =vflout ×(β/100) ・・・(2) 図5は、オーバライドの処理をフィルタ部出力に50%
のオーバライドをかけた場合を例にとって説明する図で
ある。オーバライド処理では、全軸同期させながら、指
令を分割して出力が生成される。今、仮にフィルタ部出
力を7個のセグメントsg1〜sg7(7個の移動指
令)で表わすと、それらセグメントsg1、sg2・・
・sg7は、15ITPを使って、計15個のセグメン
トに分割されて出力される。
【0046】例えば、sg1は、sh2で半分出力さ
れ、sh1とsh3で1/4づつ出力される。また、s
g4は、sh8で半分出力され、sh7とsh9で1/
4づつ出力される。出力時の各セグメントshは、両端
部を除いて一般には、複数のフィルタ部出力のセグメン
トsgに由来する移動量が重なったものとなる。今、s
g1、sg2、sg3に対応する移動量がベクトルm
1、m2、m3で表される場合、それらに由来する出力
のセグマントsh1〜sh5は図示したようなベクトル
n1〜n5で表わされるような移動量を表わすことにな
る。経路としては、オーバライドが低い程滑らかさが増
した軌跡が得られるが、オーバライド処理の前後で軌跡
の基本ラインは変化しない。
【0047】オーバライド処理における各ITP毎の移
動量(出力セグメント=1ITP当りの移動量で速度瞬
時値に相当)の計算式については後述するが、要点は次
の通りである。1−1.加減速処理を行なったフィルタ
部の出力の各移動量(入力セグメント)に対してオーバ
ライド率(β/100)を乗じた移動量を計算する。1
−2.上記1−1.で計算された移動量が過大な場合
(そのまま出力したのでは上記式(1)、(2)の左辺
が過大となって等式を成立させられない場合)には、過
剰分を差し引いて出力する。なお、最初のITPでは、
上記1−1.で計算された移動量では移動量が小さ過ぎ
て上記式(1)、(2)を満たせなくなるというケース
は生じない(β≦100なので、上記式(1)、(2)
の左辺が過小になることはない)。
【0048】2.次回ITPでは、未出力の移動量に対
して再度オーバライド率(β/100)を乗じた移動量
を計算する。但し、それでは移動量が不足する場合(上
記式(1)、(2)を満たせない場合)には、不足分を
足して出力する。不足分の出力は、古い移動指令(入力
セグメント)の未出力分を優先して選ぶ。2回目以降の
ITPでは、未出力の移動量に対して再度オーバライド
率(β/100)を乗じる上記計算で移動量が過剰にな
ることはない。
【0049】3.更にその次のITPでは、未出力の移
動量が存在する移動指令について、それぞれ再度オーバ
ライド率(β/100)を乗じた移動を出力する。それ
では移動量が不足する場合(上記式(1)、(2)を満
たせない場合)には、不足分を足して出力する。不足分
の出力は、古い移動指令(入力セグメント)の未出力分
を優先して選ぶ。以下、同様の処理を繰り返し、全移動
指令の全移動量を出力したら処理を終了する。
【0050】このような処理では、加速に使われる移動
量、加速部の移動量、減速部の移動量はほぼ一定にな
る。この事は、オーバライドが変わっても、2つの動作
が重なる時の重なり量が一定になることを意味してい
る。従って、オーバライドの高低によらず、コーナ部通
過時についてもほぼ一定の軌跡が実現されることにな
る。
【0051】図6は、セグメントsg1〜sg7で表わ
される動作と、セグメントsk1〜sk7で表わされる
動作が、sg6、sg7とsk1、sk2が同期する関
係で重なり合った場合について、オーバライド処理の影
響を説明する図である。今、例としてオーバライド50
%を考えると、図5で説明したように、セグメントsg
1〜sg7は、sh1〜sh15に分割して出力され
る。その際、sg6で表わされる移動量はsh11、s
h12、sh13に分配され、sg7で表わされる移動
量はsh13、sh14、sh15に分配される。
【0052】同様に、セグメントsk1〜sk7も、s
k1〜sk15に分割して出力される。そして、sk1
で表わされる移動量はsq1、sq2、sq3に分配さ
れ、sk2で表わされる移動量はsq3、sq4、sq
5に分配される。オーバライド処理後で見ると、2つの
動作はsh11〜sh15とsq1〜sq7で重なり合
うことになる。
【0053】このように、動作の重なりにおける移動量
の消化速度は両動作均等に低下しており(ここでは半
分)、且つ、消化される総移動量はオーバライド50%
の処理によって変化していない。このような性質は、オ
ーバライドの率が他の値でも変わらない。
【0054】オーバライドが動作途中で切り換えた場合
も、フィルタ部出力のセグメントの分割比率を滑らかに
変えて上記例に準じてオーバライドの処理を行なうこと
により、同様に、一定の軌跡を保つ事が可能である。
【0055】この場合、新旧オーバライド率を(βN /
100)、(βO /100)として、加速度が(βN /
100)2 から(βO /100)2 に途中変更される。
そのために、オーバライド変更指令直後のITPで出力
予定だったオーバライド処理出力は、更に1/[βN /
(βO ×100)]回に振り分けるように調整して出力
される。
【0056】新旧オーバライド率(βN /100)、
(βO /100)の急変の影響を避けるためには、オー
バライド率を(βN /100)から(βO /100)に
段階的に滑らかに変えていくことが好ましい。そのため
に、実際には、目標オ一バライド値を設定するレジスタ
をメモリ内に設定しておき、ユーザがこのレジスタに新
オーバライド値βN を更新入力することで、現在オーバ
ライド値を目標オーバライド値(ここでは新オーバライ
ド率βN )へ漸近、到達させる処理が開始される。
【0057】各ITPにおける移動量の計算にあたって
は、オーバライド目標値が更新された直後のITPか
ら、オーバライド値として、旧オーバライド目標値(β
O )のオーバライド目標値(βN )の間を段階的にn回
(n≧2)に区切った値を使用して移動量を計算する。
例えば、オーバライド目標値が更新された直後からj回
目のITPではβ=βO +jΔβとする。但し、Δβ=
(βN −βO )/n、j=1,2・・・nである。
【0058】(2)一時停止関連処理の概略;図7は、
本実施形態における一時停止関連処理について説明する
ための図である。ここでは、1例として、sg1〜sg
18のセグメントで表わされるフィルタ部出力(オーバ
ライド処理後の出力であっても良い)について、セグメ
ントsg4までのサーボへの出力が完了し、セグメント
sg5の出力のためのITPでホールド指令が内部出力
された場合を考える。
【0059】この場合、図示されているように、セグメ
ントsg5以降の移動量を表わすデータは、そのままサ
ーボへ出力されることはなく、所定のメモリ(図3にお
けるメモリ35内に予め設定されるバッファ)内に一旦
格納される。但し、所定の時定数(ここでは3ITP)
に対応するセグメントsg5、sg6、sg7について
は、オーバライド処理部で動的に処理され、各軸を減速
させ、やがて停止させる。減速・停止のための動的処理
としては、上述のオーバライドのかけ方を応用して、オ
ーバライド目標値を0とし、徐々にオーバライド目標値
である0までn回(n≧2)に分けて低下させる処理が
採用出来る。
【0060】図示した例では、セグメントsg5、sg
6、sg7がsw5〜sw9に分配されている。結局、
サーボには、セグメントsg1〜sg4(ホールド前)
に続いて、sw5〜sw9が出力され、これらセグメン
トで表わされる移動が完了した時点でロボットは停止す
る。ここで注意すべきことは、減速過程を表わすsw5
〜sw9で消化される総移動量は、セグメントsg5、
sg6、sg7が表わす全移動量より小さいことであ
る。
【0061】余った移動量は、一時停止を解除して動作
を再開する際に加速過程の中で消化される。即ち、一時
停止を解除時には、メモリからセグメントsg5以降の
移動量を表わすデータを読み出し、元の指令速度まで加
速を行ないながらサーボへ出力する。
【0062】加速過程では、セグメントsg5、sg
6、sg7が表わす全移動量の内、減速過程で消化され
たsw5〜sw9を差し引いたものが消化される。その
ために、上述のオーバライドのかけ方を応用して、オー
バライド目標値を一時停止前のオーバライド値(例えば
100)とし、徐々にオーバライド目標値までn回に分
けて上昇させる処理が採用出来る。
【0063】動的処理として、上述のオーバライドのか
け方を応用して、オーバライドをn回(n≧2)に分け
て徐々に100%まで上昇させるに相当する処理が採用
出来る。
【0064】結局、動作再開時、サーボには、sw10
〜sw15が出力され、次いで、sg8以降が出力され
る。減速過程と加速過程を表わすセグメントsw5〜s
w15で消化される総移動量は、セグメントsg5、s
g6、sg7が表わす全移動量と等しくなる。
【0065】一時停止の前後でこのような処理を行なう
ことで、ホールド指令出力時に軌跡を保ったままロボッ
トを減速し、停止にさせ、再動作時にはそこからやはり
軌跡を保ったままロボットを加速し、本来の動作に移行
させることが出来る。
【0066】ホールド時には、動作再開に備えて、減速
停止時の動作計画データ、補間データ、フィルタデータ
等がそのまま凍結して保存されることは言うまでもな
い。再開動作時には、オーバライドを0に設定した状態
から出発し、ホールド時に保存したデータを復帰させ
る。その後、再び滑らかに全軸同期させながらオーバラ
イドを徐々に上げていく。これにより、動作計画部、補
間部及びフィルタ部までは、あたかもホールドがなかっ
たかのように処理を行いつつ、オーバライドを全軸同期
させながら変更することにより、減速停止、及ぴ再開動
作を行うことが可能になる。
【0067】なお、アラームによる非常停止を行なう場
合には、上述の一時停止手法をそのままは用いないで、
直ちにサーボへの出力を止めて、可能な限り早くロボッ
トを停止させる。図6の例で言えば、減速過程を形成す
るsw6〜sw9をサーボへの出力しない。
【0068】その場合には、非常停止によって軌跡がは
ずれるので、低率のオーバライドで元の軌跡まで戻り
(一旦、位置決め)、しかる後に上述のオーバライド変
更手法を適用して加速させても良い。元の軌跡まで戻る
に要する移動量を計算するためのデータ(図6の例で言
えば、非常停止によってサーボセグメントに未出力のま
まとなっているsw6〜sw9のデータ)、プログラム
速度のデータ等は、非常停止時点付近でメモリに記憶す
る。また、元の軌跡に復帰してからの動作のを定めるた
めの諸データも、非常停止時点付近でメモリに記憶す
る。
【0069】以上が実施形態の概略である。以下では、
ロボットの軌跡ずれを回避するために実行される動的速
度制御の処理をオーバライドの処理、一時停止/動作再
開の処理に分けてより詳しく説明する。なお、説明の中
で、オーバライド率50%(β=50)とは別のオーバ
ライド率の例として、オーバライド率30%(β=3
0)のケースを考える。
【0070】図8は、本発明の実施形態について、プロ
グラム再生時に動作計画からサーボへの移動指令出力ま
でにロボット制御装置内部で行なわれる処理の枠組みを
図4とはやや異なる形式で説明する図である。本図で
は、各軸動作用の系列と直交動作(直線動作、円弧動作
等)用の系列の区分記載は省略す一方、動的シャッタ付
のオーバライド処理部を動的速度制御部と表記し、動的
速度制御に関連して使用されるメモリを簡略化してブロ
ック表示に加えた。
【0071】図8を参照すると、系全体は、動作計画部
と、補間処理部と、フィルタ部と、動的速度制御部を備
え、動的速度制御部の出力が各軸のサーボ系(モータと
表示)へ渡される。そして、処理の流れの中で、動的速
度制御部の入力側と出力側にメモリが介在する構成とな
っている。メモリには、以下に説明する処理に適合する
ように多数のレジスタ領域が予め用意されている。
【0072】なお、各レジスタ領域のことを単にメモリ
とも言う。また、フィルタ部から出力されたフルタリン
グ処理後のn番目の移動指令をDnで表記する。図中に
は、動的速度制御部の入力側において、移動指令Dnが
メモリMnに格納されることが記されている。縦細に記
された各ブロックは1単位のメモリ(バッファレジスタ
領域)を意味する。入力側メモリM1にD1、M2にD
2、MnにDn(n=1,2)が各々格納されることが
例記されている。
【0073】また、動的速度制御部の出力側メモリO1
〜O4には、各々D2、D2’、D1、D1’が格納さ
れることが例記されている。ここで、D2’、D1’は
各々D1、D2にオーバライド値(β/100)を乗じ
た値である。このような入力側及び出力側のメモリの使
い方の詳細は、以下の処理説明の中で述べる。
【0074】[オーバライドの処理]図9は、動的速度
制御部で行なわれるオーバライドの処理を説明するフロ
ーチャートである。各ステップの要点は次の通りであ
る。なお、iは補間周期のラベリング指標で、初期値は
i=1とする。また、オーバライドの現在値βと目標値
γを設定するレジスタが用意され、後者には希望するオ
ーバライド目標値γ0 が予め設定される。オーバライド
の現在値βの初期値は、初期設定された目標値γ0 と一
致した値が自動設定される。
【0075】(ステップS1);メモリM1、M2に各
々移動指令Di、Di+1が格納されているかチェック
する。格納いなければステップS2へ進み、格納されて
いればステップS3へ進む。 (ステップS2);メモリM1、M2に各々移動指令D
i、Di+1を格納し、移動指令Dm1、Dm2とす
る。ここで、m1、m2は各々メモリM1、M2に格納
されたデータであることを意味するラベルである。
【0076】(ステップS3);メモリM1に格納され
ている移動指令Mm1の値が0であるかチェックする。
イエスであればステップS4へ進み、ノーであればステ
ップS5へ進む。
【0077】(ステップS4);メモリM2に格納され
ている移動指令Dm2をメモリM1にコピーし、Dm1
とする(移動指令Dm1の値の更新)。そして、Di+
1の次の動指令Di+2を読み出し、メモリM2に格納
し、Dm2とする(Dm2の値の更新)。
【0078】(ステップS5);オーバライドの現在値
β%を定め、定められたβ値の下で1補間当り(1IT
P当り)の移動量(移動量を表わすセグメントの高さ)
Diを算出する。Diの算出法については後述する。オ
ーバライド現在値βは、目標値γが変化すれば動作中に
変化し得る。βの値が動作中に変化するのは、ユーザの
途中入力、外部信号による変更、一時停止(ホールド)
時、一時停止(ホールド)あるいは非常停止後の運転再
開時などである。オーバライドの現在値β%を定める処
理については、一時停止(ホールド)とその後の運転再
開時の処理などとともに後述する。 (ステップS6);ステップS5で算出されたDiとメ
モリM1に格納されている移動指令Dm1とを比較す
る。Dm1−Di>0であれば、ステップS8へ進み、
それ以外(Dm1−Di≧0)であればステップS7へ
進む。
【0079】(ステップS7);メモリM1に格納され
ている移動指令Dm1を出力側のメモリO1へコピーす
る。次いで、このDm1とDm2を用いて、 Di=Dm1+Dm2*μ となるμを求める。そして、このμから、Di’=Dm
2*μとなるDi’を出力メモリO1へ加算する。ま
た、Dm2をDm2=Dm2−Dm2*μに更新し、そ
れをメモリM1にコピーして新たなDm1(Dm1の更
新)とする。
【0080】(ステップS8);ステップS5で定めら
れた移動指令Diを出力側メモリO1に書き込む。ま
た、メモリM1に格納されている移動指令Dm1を新た
なDm1=Dm1−Diに更新する。
【0081】(ステップS9);出力側メモリの移動指
令Doをモータ(各軸サーボ系)へ出力する。
【0082】(ステップS10);ホールド、一時停
止、非常停止、動作終了指令(新たなDi出力がフィル
タ部からなく、ステップS2の処理が出来ない場合に出
される)等、ロボットを停止させるための指令がロボッ
ト制御装置内部で出力されているかチェックする。イエ
スであれば、それらのための処理(後述)を実行して、
ロボットを停止させる。ノーであれば、ステップS11
へ進む。 (ステップS11);移動指令の指標値iに1を加算
し、ステップS1へ戻る。
【0083】ここで、上記ステップS5におけるオーバ
ライド(現在値)がβ%である場合の1補間当り(1I
TP当り)の移動量Di’の計算方法を記しておく。移
動量Di’の算出には、フィルタ部から出力される移動
指令Diが一定でない場合にも滑らかに速度変化が得ら
れるように、以下の式を使用する。
【0084】現在i番目の1補間時間(ITP)t0 当
りの移動指令Di’は、次式(3)で表わされる。 Di’=V(i)*t0 ・・・(3) ここで、V(i)はi番目のITPにおけるオーバライ
ド100%とした場合の速度である。i番目のITPに
おけるオーバライド100%とした場合の1ITP当り
の加速度A(i)は、一応次式(4)で表わされる。 A(i)=V(i)−V(i−1) ・・・(4) 速度推移を滑らかにするためにこのA(i)を使って、
現在i番目のITPにおける加速度出力の基準式として
次式(5)を採用する。 Aout(i)=−A(i−1)/2+3*A(i)/2 ・・・(5) これを用いて、現在i番目のITPにおける速度出力と
して次式(6)を採用する。 Vout(i)=OVR*[V(i)+Aout(i)* (δ+OVR/2−1/2) ・・・(6) ここで、OVR=β/100、δはV(i)の出力をサ
ーボ系へ出し切っている場合にはδ=1となり、V
(i)の出力をサーボ系へ出し切っていない場合にはδ
=0となる。
【0085】例えば、オーバライド100%の場合に
は、Vout(i)=1*[V(i)+Aout(i)
*(0+1/2−1/2)=V(i)と、当然の結果が
得られる。また、オーバライド50%の場合には、 Vout(i)=0.5*[V(i)+Aout(i)
*(δ+0.5/2−1/2)=V(i)/2+Aou
t(i)/2*(δ−1/4) であり、 δ=1の場合;V(i)/2−Aout(i)/8 δ=0の場合;V(i)/2+Aout(i)/8 となる。
【0086】以上説明した処理を行ないながらコーナ部
を含む経路動作を行なった場合にオーバライド値の高低
が軌跡に与える影響について、オーバライド率30%の
場合を例にとり、図15、図16を参照して説明する。
コーナ部を含む経路動作としては、図14に示すよう
に、位置G1から位置G2への直線動作と位置G2から
位置G3への直線動作を滑らかに接続したものを考え
る。両動作のプログラム速度は等しいものとする。
【0087】×印は教示点G1、G2、G3を表わし、
★印は最終的にサーボ系へ出力される移動指令に対応す
る補間点の位置(補間位置)を表わしている。コーナー
部は符号Aで示されている。一方、範囲Bは、始動のた
めの加速及び停止(位置決め)のための減速の区間を表
わしている。
【0088】本例の場合、コーナー部Aでは速度一定で
★印は等間隔で並ぶが、加減速区間Bでは、★印の間隔
が徐々に拡大あるいは縮小している。符号q1、q2、
q3はコーナー部A内の軌跡を代表する補間点で、コー
ナー部においてフィルタ部からの出力D1、D2に対応
する移動区間を形成する。
【0089】また、符号p1、p2、p3、p4は加速
区間B内の軌跡を代表する補間点で、加減速区間におけ
るフィルタ部からの出力D1、D2に対応する移動区間
を形成するものである。なお、実際に生成される補間点
(★印)の数は遥かに大きいが表示のために少数で簡略
描示した。
【0090】図15を参照すると、図の左上部に示した
ように、オーバライド100%でロボットを動作させた
場合のコーナー部Aの軌跡は、図14に示した通りで、
フィルタ部からの出力D1、D2に対応する補間点q
1、q2、q3を通る軌跡が得られる。
【0091】これに対してオーバライド30%でロボッ
トを動作させた場合のコーナー部Aの軌跡は、図15の
右上部に示したようになる。上述したオーバライドの処
理(β=30)により、フィルタ部からの出力D1、D
2に対応する補間点q1、q2、q3が、より多数の補
間点qd1〜qd9(符号は一部のみ表記)に変換され
る。各区間の計算式は図中に併記した通りである。
【0092】ここで重要な事は、これら補間点qd1〜
qd9は、元のオーバライド100%時の軌跡上に乗っ
ていることである。この性質は、オーバライド率30%
でなくとも同様に保証されている。一般には、オーバラ
イド値100%時の補間点を基準にして、オーバライド
値に反比例する数の補間点が出力され、しかもそれらは
オーバライド値100%時の軌跡上に並ぶように形成さ
れる。従って、オーバライド値の高低によらず、同じ軌
跡がコーナー部でも得られることになる。
【0093】図15の左下部及び右下部には、フィルタ
部出力段階の移動指令D1、D2が、分割出力される様
子がセグメントで表示されている。本例のように、一定
速度でコーナー部を通過する場合は、各セグメントの高
さは一定となる。なお、コーナー部を形成する2つの動
作のプログラム速度が異なる場合には、当然、各セグメ
ントの高さは段階的に変化したものとなる。その場合で
も、補間点が作る軌跡はオーバライド率に影響されな
い。
【0094】次に加速区間を例にとって、加減速区間に
おける軌跡について考察する。図16を参照すると、図
の左上部に示したように、オーバライド100%でロボ
ットを動作させた場合の加減速部B(ここでは加速部で
代表)の軌跡は、図14に示した通りで、フィルタ部か
らの出力D1、D2、D3に対応する補間点p1、p
2、p3、p4を通る軌跡に沿ってプログラム速度へ向
かっての加速が行なわれる。
【0095】オーバライド30%でロボットを動作させ
た場合の加速部Bの軌跡は、図15の右上部に示したよ
うに、オーバライド100%の場合と変らない。但し、
上述したオーバライドの処理(β=30)により、フィ
ルタ部からの出力D1、D2、D3に対応する補間点p
1、p2、p3、p4が、より多数の補間点pd1〜q
d11(符号は一部のみ表記)に変換される。各区間の
計算式は図中に併記した通りである。
【0096】このような性質は、オーバライド率30%
でなくとも同様に保証されている。一般には、オーバラ
イド値100%時の補間点を基準にして、オーバライド
値に反比例する数の補間点が出力され、しかもそれらは
オーバライド値100%時の軌跡上に並ぶように形成さ
れる。
【0097】図15の左下部及び右下部には、フィルタ
部出力段階の移動指令D1、D2、D3が、分割出力さ
れる様子がセグメントで表示されている。加減速部で
は、各セグメントの高さは段階的に変化したものとな
る。この変化は、オーバライド100%時の速度をその
30%(一般にはβ%)に減じて滑らかに加速する過程
を表わしている。加速の最終到達速度は当然プログラム
速度の30%(一般にはβ%)となる。
【0098】オーバライドをロボットの動作中に変更す
る場合には、図17のフローチャートに示したオーバラ
イド漸近・到達処理を行なう。この処理は後述するホー
ルドの処理や動作再開処理でも利用される。オーバライ
ド漸近・到達処理の各ステップの要点は次の通りであ
る。 (ステップL1);オーバライド目標値を新値βN に更
新する。
【0099】(ステップL2);オーバライド目標値の
更新の次のITPからf回目のITPの到来を待つ。f
は適当な大きさに設定された正整数値である。 (ステップL3);オーバライド現在値をβからβ+Δ
βに更新する。Δβは、例えばΔβ=1(%)などに予
め決めておくか、あるいは次式(7)で計算する。 Δβ=(βN −オーバライド目標値更新直前のβ)/n ・・・(7) ここで、nはオーバライド現在値を目標値に一致させる
までに要する更新回数で、例えばn=10などとする
か、別途条件から定める(後述するホールド処理の説明
を参照)。このような処理を行なうことで、図9のフロ
ーチャートにおけるβが新たな目標値に向かって段階的
に変更される。
【0100】[ホールドの処理]図10は、動的速度制
御部で行なわれるホールドの処理を説明するフローチャ
ートである。ホールドの処理は、例えばオペレータが一
時停止の指令をロボット制御装置に入力した際に実行さ
れる。各ステップの要点は次の通りである。
【0101】(ステップH1);ホールド指令がロボッ
ト制御装置内部で出力されたか否かITP毎にチェック
する。出力されたら、ステップH2へ進む。 (ステップH2);動的制御部にて現在の速度Vから、
時間t1経過後に滑らかに速度が0となるように、減速
オーバライド値OVdを制御する。
【0102】(ステップH3);ロボットが停止したか
否かITP毎にチェックする。停止を確認したら、ステ
ップH4へ進む。 (ステップH4);その時点における現在位置(停止位
置)、フィルタ内の移動指令のデータ、その他ロボット
の動作に関する諸データをメモリ(ホールド時格納用の
レジスタ)に格納して、ホールドの処理を終了する。
【0103】ステップH2の処理における減速オーバラ
イド値OVdの制御には、図17のフローチャートに示
したオーバライド漸近・到達処理を利用する。即ち、ス
テップL1におけるオーバライドの更新目標値βN をβ
N =0とする。また、時間t1のITP換算値をs1と
してs1をη分割し(ηは1でない適当な正整数)、ス
テップL2におけるfをf=s1/ηとする。そして、
ステップL3におけるΔβの計算式(7)におけるnを
βN =0、n=ηで計算する。
【0104】図12は、上記のホールド処理を行なった
場合の速度推移を表わしている。オーバーライドは段階
的に0に向かうが、それが実際の速度に反映し切るには
移動指令がサーボ系に出力され切る必要がある。そのた
め、速度推移は直線的には降下しない。また、動作をよ
り滑らかにするために、Δβの値を一定値とせずに滑ら
かな関数(例えば指数関数)に従って徐々に変化させて
滑らかな加速度推移が得られるようにしても良い。
【0105】[動作再開の処理]図11は、動的速度制
御部で行なわれる動作再開の処理を説明するフローチャ
ートである。動作再開の処理は、一時停止後に例えば動
作再開指令をロボット制御装置に入力した際に実行され
る。各ステップの要点は次の通りである。
【0106】(ステップH11);メモリに格納した停
止位置を読み出す。 (ステップH12);現在のロボット位置(例えば、ジ
ョグ送りで移動している)からステップH11で読み出
された停止位置までロボットを動作させる。
【0107】(ステップH13);ステップH12によ
る動作の完了の確認。確認したら、ステップH14へ進
む。 (ステップH14);再開動作に必要なデータをメモリ
とり読み出し、動作計画部、補間部、フィルタ部へ戻
し、ホールド直前の状態を回復させる。
【0108】(ステップH15);停止位置から、ホー
ルド前と同様に補間動作を行なう。また、同時に動的制
御部にて現在のオーバーライド値(β=0)から、時間
t2経過後に滑らかに速度が元の速度vとなるように、
加速オーバライド値OVaを制御する。
【0109】ステップH15の処理における加速オーバ
ライド値OVaの制御には、図17のフローチャートに
示したオーバライド漸近・到達処理を利用する。即ち、
ステップL1におけるオーバライドの更新目標値βN を
βN =ホールド直前のβの値とする。また、時間t2の
ITP換算値をs2としてs2をη分割し(ηは1でな
い適当な正整数)、ステップL2におけるfをf=s2
/ηとする。そして、ステップL3におけるΔβの計算
式(7)におけるnをβN =ホールド直前のβの値0、
n=ηで計算する。
【0110】図13は、上記のステップH15の処理を
行なった場合の速度推移を表わしている。オーバーライ
ドは0から段階的に元の値に向かうが、それが実際の速
度に反映し切るには移動指令がサーボ系に出力され切る
必要がある。そのため、速度推移は直線的には上昇しな
い。また、動作をより滑らかにするために、Δβの値を
一定値とせずに滑らかな関数(例えば指数関数)に従っ
て徐々に変化させて滑らかな加速度推移が得られるよう
にしても良い。
【0111】
【発明の効果】本発明によれば、従来技術においてオー
バライドの高低、オーバライドの動作中の切換あるいは
一時停止に関連して発生していた軌跡ずれが防止出来
る。また、そのこととを通して、教示後のテストランに
よる軌跡確認作業の効率性、信頼性並びに安全性を向上
させることが出来る。更に、オーバライドの動作中の切
換や一時停止に伴う軌跡ずれをなくなるので、ロボット
作業の精度と安全性が向上する。
【図面の簡単な説明】
【図1】プログラム再生時に動作計画からサーボへの移
動指令出力までにロボット制御装置内部で行なわれてい
た従来方式の処理の枠組みを説明する図である。
【図2】図1に示した従来方式の処理に関連して、簡単
な例を用いて、軌跡ずれが発生する理由を説明するため
の図である。
【図3】本発明が適用されるロボット制御装置を含むロ
ボットシステムのハードウェアの構成を例示した要部ブ
ロック図である。
【図4】本発明の実施形態について、プログラム再生時
に動作計画からサーボへの移動指令出力までにロボット
制御装置内部で行なわれる処理の枠組みを図1と同様の
形式で説明する図である。
【図5】オーバライドの処理をフィルタ部出力に50%
のオーバライドをかけた場合を例にとって説明する図で
ある。
【図6】セグメントsg1〜sg7で表わされる動作
と、セグメントsk1〜sk7で表わされる動作が、s
g6、sg7とsk1、sk2が同期する関係で重なり
合った場合について、オーバライド処理の影響を説明す
る図である。
【図7】本実施形態における一時停止関連処理について
説明するための図である。
【図8】本発明の実施形態について、プログラム再生時
に動作計画からサーボへの移動指令出力までにロボット
制御装置内部で行なわれる処理の枠組みを図4とはやや
異なる形式で説明する図である。
【図9】動的速度制御部で行なわれるオーバライドの処
理の要点を記したフローチャートである。
【図10】動的速度制御部で、一時停止時に実行される
ホールドの処理の要点を記したフローチャートである。
【図11】動的速度制御部で、一時停止後の動作再開時
に実行される処理の要点を記したフローチャートであ
る。
【図12】ホールド処理を行なった場合の速度推移を表
わした図である。
【図13】動作再開におけるオーバーライド漸増の処理
を行なった場合の速度推移を表わした図である。
【図14】図15、図16の説明の前提として想定され
る経路動作を示した図である。
【図15】図14に示した経路動作について、オーバラ
イド値の高低がコーナー部における軌跡に与える影響に
ついて、オーバライド率30%の場合を例にとって説明
する図である。
【図16】図14に示した経路動作について、オーバラ
イド値の高低が加減速部における軌跡に与える影響につ
いて、オーバライド率30%の場合を例にとって説明す
る図である。
【図17】オーバライド漸近・到達処理を説明するフロ
ーチャートである。
【符号の説明】
1 アーム先端部 10 ハンド 30 ロボット制御装置 31 ホストCPU 32 共有RAM 33 サーボCPU 34 サーボアンプ 35 メモリ 36 教示操作盤用インターフェイス 38 入出力装置 37 教示操作盤 RB ロボット
【手続補正書】
【提出日】平成10年12月22日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0024
【補正方法】変更
【補正内容】
【0024】
【課題を解決するための手段】本発明は、上述の如き要
因で発生する軌跡ずれを解消出来るソフトウェアを装備
したロボットの制御装置を提供するもので、ロボットの
各軸を駆動するサーボモータへ移動指令を出力するため
のソフトウェア手段を備えたロボットの制御装置に適用
される。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0025
【補正方法】変更
【補正内容】
【0025】本発明に従えば、ロボットの制御装置に装
備されるソフトウェア手段は、ロボットの動作目標位置
までの移動量を求め、これをある周期で補間処理し、
間処理された出力を加減速制御のためにフィルタリング
処理し、フィルタリング処理のデータに基づいて、指定
された各軸共通のオーバライド値によってロボットのツ
ール先端点の軌跡を変えることなく動作させるようにオ
ーバライドのための処理を行う。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0028
【補正方法】変更
【補正内容】
【0028】更に、プログラムラム実行時にロボットを
非常停止させた後、停止後に動作を再開させた場合に
は、通常動作で描くツール先端点の軌跡上に戻るための
移動を表わす移動指令をサーボモータへ出力する処理を
行なって通常動作で描くツール先端点の前記軌跡上に戻
り、その後、オーバライド値を所定値まで上昇させる処
理を行なってその軌跡に沿って加速し、非常停止前と同
じ速度と同じ軌跡を以て動作する状態に至るようにロボ
ットを制御することも出来る。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 永山 敦朗 山梨県南都留郡忍野村忍草字古馬場3580番 地 ファナック株式会社内 (72)発明者 廣瀬 一人 山梨県南都留郡忍野村忍草字古馬場3580番 地 ファナック株式会社内

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 ロボットの各軸を駆動するサーボモータ
    のサーボ系へ移動指令を出力するためのソフトウェア手
    段を備えたロボット制御装置において、 前記ソフトウェア手段は、動作プログラムに基づく動作
    計画の出力を所定の周期で補間処理し、 前記補間処理された出力を加減速制御のためにフィルタ
    リング処理し、 前記フィルタリング処理後のデータを入力として、指定
    された各軸共通のオーバライド値によってロボットのツ
    ール先端点の軌跡を変えることなく動作させるようにオ
    ーバライドのための処理を行うようにした、前記ロボッ
    ト制御装置。
  2. 【請求項2】 プログラム実行中にオーバライド値を変
    更した揚合に、ロボットのツール先端点の軌跡を変える
    ことなく動作させるように、前記オーバライドのための
    処理が行なわれる、請求項1に記載のロボット制御装
    置。
  3. 【請求項3】 プログラム実行時にロボットを一時停止
    させた場合に、オーバライド値を0まで低下させる処理
    を行なってロボットを減速させ、通常動作で描くツール
    先端点の軌跡に沿って前記減速が行なわれて停止に至る
    ようにロボットを制御する、請求項2に記載されたロボ
    ット制御装置。
  4. 【請求項4】 プログラムラム実行時にロボットを一時
    停止させた後、停止後に動作を再開させた場合に、オー
    バライド値を0から上昇させる処理を行なってロボット
    を通常動作で描くツール先端点の軌跡に沿って加速し、
    一時停止前と同じ速度と同じ軌跡を以て動作するする状
    態に至るようにロボットを制御する、請求項3に記載さ
    れたロボット制御装置。
  5. 【請求項5】 プログラムラム実行時にロボットを非常
    停止させた後、停止後に動作を再開させた場合には、通
    常動作で描くツール先端点の軌跡上に戻るための移動を
    表わす移動指令を前記サーボ系へ出力する処理を行なっ
    て通常動作で描くツール先端点の前記軌跡上に戻り、そ
    の後、前記オーバライド値を所定値まで上昇させる処理
    を行なってその軌跡に沿って加速し、非常停止前と同じ
    速度と同じ軌跡を以て動作する状態に至るようにロボッ
    トを制御する、請求項2に記載されたロボット制御装
    置。
  6. 【請求項6】 前記ロボット制御装置内部でオーバライ
    ドの目標値が保持され、オーバライド現在値をオーバラ
    イドの前記目標値に向けて漸次変更することによってオ
    ーバライド値の変更が行ない得る、請求項2〜請求項5
    のいずれか1項に記載のロボット制御装置。
  7. 【請求項7】 前記一時停止時点付近で、前記ロボット
    制御装置内部で動作データを保存し、動作再開時に前記
    保存された動作データを利用するようにした、請求項3
    〜請求項5のいずれか1項に記載のロボット制御装置。
  8. 【請求項8】 前記動作プログラムに基づく前記動作計
    画は、少なくとも一つの動作区間について直交動作を行
    なうための直交動作計画を含んでいる、請求項1〜請求
    項7のいずれか1項に記載のロボット制御装置。
  9. 【請求項9】 前記動作プログラムに基づく前記動作計
    画は、少なくとも一つの動作区間について各軸動作を行
    なうための各軸動作計画を含んでいる、請求項1〜請求
    項7のいずれか1項に記載のロボット制御装置。
JP36230097A 1997-12-12 1997-12-12 ロボットの制御装置 Expired - Fee Related JP3673383B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP36230097A JP3673383B2 (ja) 1997-12-12 1997-12-12 ロボットの制御装置
DE69839795T DE69839795D1 (de) 1997-12-12 1998-12-11 Robotersteuerung
EP98310162A EP0922542B1 (en) 1997-12-12 1998-12-11 Robot controller
US09/210,627 US6163124A (en) 1997-12-12 1998-12-14 Robot controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36230097A JP3673383B2 (ja) 1997-12-12 1997-12-12 ロボットの制御装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001213995A Division JP3588063B2 (ja) 2001-07-13 2001-07-13 ロボット制御装置

Publications (2)

Publication Number Publication Date
JPH11175130A true JPH11175130A (ja) 1999-07-02
JP3673383B2 JP3673383B2 (ja) 2005-07-20

Family

ID=18476501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36230097A Expired - Fee Related JP3673383B2 (ja) 1997-12-12 1997-12-12 ロボットの制御装置

Country Status (4)

Country Link
US (1) US6163124A (ja)
EP (1) EP0922542B1 (ja)
JP (1) JP3673383B2 (ja)
DE (1) DE69839795D1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002033815A1 (fr) * 2000-10-17 2002-04-25 Technowave, Ltd. Procede de commande de l'acceleration/deceleration d'un moteur
US6480760B1 (en) 2000-03-15 2002-11-12 Kawasaki Jukogyo Kabushiki Kaisha Robot restarting method
JP2008142787A (ja) * 2006-12-06 2008-06-26 Nidec Sankyo Corp ロボットシステム及び補間方法
JP2011194497A (ja) * 2010-03-18 2011-10-06 Denso Wave Inc ロボットの制御装置及びロボットの位置修正制御方法
DE102012112019A1 (de) 2011-12-13 2013-06-20 Fanuc Corporation Simulationsvorrichtung zur Schätzung der Lebensdauer eines Roboter-Untersetzungsgetriebes
JP2014076497A (ja) * 2012-10-09 2014-05-01 Sinfonia Technology Co Ltd 多関節ロボット及び半導体ウェハ搬送装置
JP2014076498A (ja) * 2012-10-09 2014-05-01 Sinfonia Technology Co Ltd 多関節ロボット及び半導体ウェハ搬送装置
CN104238464A (zh) * 2013-06-12 2014-12-24 发那科株式会社 具有在倍率变化时平缓地变更进给速度的功能的数值控制装置
JP2015079491A (ja) * 2013-09-13 2015-04-23 株式会社ソディック 加工データ演算装置および加工データ演算プログラム

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10032096A1 (de) * 2000-07-01 2002-01-24 Kuka Roboter Gmbh Geräteverbund und Steuerschrank für einen solchen
DE10255037A1 (de) * 2002-11-26 2004-06-09 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Bearbeiten eines Werkstücks
US7813836B2 (en) * 2003-12-09 2010-10-12 Intouch Technologies, Inc. Protocol for a remotely controlled videoconferencing robot
JP4210270B2 (ja) * 2005-06-07 2009-01-14 ファナック株式会社 ロボット制御装置及びロボット制御方法
DE102005058867B4 (de) * 2005-12-09 2018-09-27 Cine-Tv Broadcast Systems Gmbh Verfahren und Vorrichtung zum Bewegen einer auf einem Schwenk- und Neigekopf angeordneten Kamera entlang einer vorgegebenen Bewegungsbahn
CN101375222B (zh) * 2006-01-17 2010-12-01 武藏工业株式会社 作业再次开始性优异的作业机器人
US8214415B2 (en) * 2008-04-18 2012-07-03 Motion Engineering Incorporated Interpolator for a networked motion control system
US9921712B2 (en) 2010-12-29 2018-03-20 Mako Surgical Corp. System and method for providing substantially stable control of a surgical tool
US9119655B2 (en) 2012-08-03 2015-09-01 Stryker Corporation Surgical manipulator capable of controlling a surgical instrument in multiple modes
JP5149421B2 (ja) * 2011-05-20 2013-02-20 ファナック株式会社 加工時間予測部および加工誤差予測部を有する数値制御装置
US9820818B2 (en) 2012-08-03 2017-11-21 Stryker Corporation System and method for controlling a surgical manipulator based on implant parameters
US9226796B2 (en) 2012-08-03 2016-01-05 Stryker Corporation Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path
CN112932672B (zh) 2012-08-03 2024-09-03 史赛克公司 用于机器人外科手术的系统和方法
US9221175B2 (en) * 2013-03-28 2015-12-29 Denso Wave Incorporated Method of generating path of multiaxial robot and control apparatus for the multiaxial robot
US9162357B2 (en) * 2013-06-26 2015-10-20 Canon Kabushiki Kaisha Control method for robot system and robot system
JP6706518B2 (ja) * 2016-03-17 2020-06-10 ローランドディー.ジー.株式会社 加工時間予測装置、切削加工システムおよび加工時間予測方法
JP6581049B2 (ja) * 2016-08-15 2019-09-25 ファナック株式会社 ロボットシステム
US11202682B2 (en) 2016-12-16 2021-12-21 Mako Surgical Corp. Techniques for modifying tool operation in a surgical robotic system based on comparing actual and commanded states of the tool relative to a surgical site

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63273108A (ja) * 1987-04-30 1988-11-10 Fanuc Ltd 速度制御装置
JPH05324046A (ja) * 1992-05-18 1993-12-07 Mitsubishi Electric Corp 多系統数値制御方法及びその装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5962909A (ja) * 1982-10-01 1984-04-10 Fanuc Ltd 加減速装置
DE3244307A1 (de) * 1982-11-30 1984-05-30 Siemens AG, 1000 Berlin und 8000 München Robotersteuerung
DE3408523A1 (de) * 1984-03-08 1985-09-12 Siemens AG, 1000 Berlin und 8000 München Verfahren zur ueberwachung der durch die steuerung der antriebe einer rechnergesteuerten werkzeugmaschine oder eines industrieroboters erzeugten bahn
JPS6118009A (ja) * 1984-07-04 1986-01-25 Fanuc Ltd 加減速制御方式
EP0340538B2 (de) * 1988-05-03 1995-11-22 Siemens Aktiengesellschaft Verfahren zum Steuern der Bewegung eines Maschinenelementes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63273108A (ja) * 1987-04-30 1988-11-10 Fanuc Ltd 速度制御装置
JPH05324046A (ja) * 1992-05-18 1993-12-07 Mitsubishi Electric Corp 多系統数値制御方法及びその装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480760B1 (en) 2000-03-15 2002-11-12 Kawasaki Jukogyo Kabushiki Kaisha Robot restarting method
WO2002033815A1 (fr) * 2000-10-17 2002-04-25 Technowave, Ltd. Procede de commande de l'acceleration/deceleration d'un moteur
JP2008142787A (ja) * 2006-12-06 2008-06-26 Nidec Sankyo Corp ロボットシステム及び補間方法
JP2011194497A (ja) * 2010-03-18 2011-10-06 Denso Wave Inc ロボットの制御装置及びロボットの位置修正制御方法
US8731886B2 (en) 2011-12-13 2014-05-20 Fanuc Corporation Simulator for estimating life of robot speed reducer
DE102012112019A1 (de) 2011-12-13 2013-06-20 Fanuc Corporation Simulationsvorrichtung zur Schätzung der Lebensdauer eines Roboter-Untersetzungsgetriebes
DE102012112019B4 (de) * 2011-12-13 2016-06-23 Fanuc Corporation Simulationsvorrichtung zur Schätzung der Lebensdauer eines Roboter-Untersetzungsgetriebes
JP2014076498A (ja) * 2012-10-09 2014-05-01 Sinfonia Technology Co Ltd 多関節ロボット及び半導体ウェハ搬送装置
JP2014076497A (ja) * 2012-10-09 2014-05-01 Sinfonia Technology Co Ltd 多関節ロボット及び半導体ウェハ搬送装置
CN104238464A (zh) * 2013-06-12 2014-12-24 发那科株式会社 具有在倍率变化时平缓地变更进给速度的功能的数值控制装置
JP2014241074A (ja) * 2013-06-12 2014-12-25 ファナック株式会社 オーバライドの変化時に送り速度を円滑に変更する機能を有する数値制御装置
US9256213B2 (en) 2013-06-12 2016-02-09 Fanuc Corporation Numerical control unit having function to smoothly change feed speed when override is changed
JP2015079491A (ja) * 2013-09-13 2015-04-23 株式会社ソディック 加工データ演算装置および加工データ演算プログラム

Also Published As

Publication number Publication date
US6163124A (en) 2000-12-19
EP0922542A3 (en) 2001-01-17
DE69839795D1 (de) 2008-09-11
EP0922542A2 (en) 1999-06-16
JP3673383B2 (ja) 2005-07-20
EP0922542B1 (en) 2008-07-30

Similar Documents

Publication Publication Date Title
JPH11175130A (ja) ロボットの制御装置
CN100460124C (zh) 电弧焊接用数据处理装置
US6330493B1 (en) Control system for synchronously cooperative operation of plurality of robots
CN103970139B (zh) 一种机器人连续点位运动规划方法
EP1629933A2 (en) Laser processing apparatus
JPH0944225A (ja) ロボットの制御方法
JP2001125613A (ja) 数値制御シミュレーション装置
JP3588063B2 (ja) ロボット制御装置
JP4842656B2 (ja) 溶接ロボット制御装置
JPH06274228A (ja) 数値制御装置
JP3462570B2 (ja) ロボット動作プログラムの作成方法
WO2022138843A1 (ja) 数値制御装置
JP4560191B2 (ja) 数値制御装置
JPH0628004B2 (ja) 複数ロボットの制御方法
EP0864400B1 (en) Stitch processing method using industrial robot
JP2002312006A (ja) 制御装置および制御システム
JPH06110532A (ja) 位置制御方法及び装置
JPS6359604A (ja) 数値制御装置の加工径路変更方法
JPH1148176A (ja) ロボット位置教示装置
JPS63105864A (ja) Nc加工方法と装置
JPH0557642A (ja) 産業用ロボツトの制御装置
JPH1063329A (ja) 加減速制御方法
JP2000347715A (ja) 数値制御装置
JPH05261546A (ja) 溶接ロボットの制御方法
JPH06285781A (ja) ロボット制御装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050422

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080428

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110428

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120428

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130428

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130428

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees