JPH11277468A - ロボットの制御装置 - Google Patents
ロボットの制御装置Info
- Publication number
- JPH11277468A JPH11277468A JP10084175A JP8417598A JPH11277468A JP H11277468 A JPH11277468 A JP H11277468A JP 10084175 A JP10084175 A JP 10084175A JP 8417598 A JP8417598 A JP 8417598A JP H11277468 A JPH11277468 A JP H11277468A
- Authority
- JP
- Japan
- Prior art keywords
- joint
- time
- torque
- calculated
- limit value
- 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.)
- Pending
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
- B25J9/1656—Program controls characterised by programming, planning systems for manipulators
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
- Control Of Position Or Direction (AREA)
Abstract
(57)【要約】
【課題】 モータの能力を最大限利用して関節を動作さ
せることができ、また、ロボット先端の軌跡のずれを生
ずることなく関節の動作を制御する。 【解決手段】 速度パターンに基づいて加算時間量ST
k の経過毎に、次の加算時間量STk の経過時点での関
節の角度を仮関節角度指令値として演算し、この仮関節
角度指令値に動作させるに必要な駆動トルクが限界値以
下の場合には、仮関節角度指令値を角度指令値として関
節の動作を制御する。駆動トルクが限界値を越えた場合
には、限界値を越えないようにするための速度変更比率
Rを求め、この速度変更比率Rに基づいて加算時間量S
Tk を短く修正し、再度仮関節角度指令値を演算し、こ
れを角度指令値として関節の動作を制御する。
せることができ、また、ロボット先端の軌跡のずれを生
ずることなく関節の動作を制御する。 【解決手段】 速度パターンに基づいて加算時間量ST
k の経過毎に、次の加算時間量STk の経過時点での関
節の角度を仮関節角度指令値として演算し、この仮関節
角度指令値に動作させるに必要な駆動トルクが限界値以
下の場合には、仮関節角度指令値を角度指令値として関
節の動作を制御する。駆動トルクが限界値を越えた場合
には、限界値を越えないようにするための速度変更比率
Rを求め、この速度変更比率Rに基づいて加算時間量S
Tk を短く修正し、再度仮関節角度指令値を演算し、こ
れを角度指令値として関節の動作を制御する。
Description
【0001】
【発明の属する技術分野】本発明はモータを駆動源とし
て動作する関節を備え、その関節をモータの持つ能力を
最大限利用して動作させることができるようにしたロボ
ット制御装置に関する。
て動作する関節を備え、その関節をモータの持つ能力を
最大限利用して動作させることができるようにしたロボ
ット制御装置に関する。
【0002】
【発明が解決しようとする課題】多関節型の産業用ロボ
ットは、複数の可動部を有し、それら可動部が関節結合
された構造となっている。そして、各可動部(関節)
は、駆動源である直流サーボモータなどのモータから適
宜の伝動機構を介して駆動トルクを受けて回転動作を行
うようになっており、それぞれの可動部の総合動作の結
果としてロボット先端がプログラムされた通りの動作を
行う。
ットは、複数の可動部を有し、それら可動部が関節結合
された構造となっている。そして、各可動部(関節)
は、駆動源である直流サーボモータなどのモータから適
宜の伝動機構を介して駆動トルクを受けて回転動作を行
うようになっており、それぞれの可動部の総合動作の結
果としてロボット先端がプログラムされた通りの動作を
行う。
【0003】ここで、関節の回転動作の制御を一つの関
節を例にして説明するに、まず、ロボットでは、モータ
のロータリエンコーダから与えられる信号により関節の
現在の角度(位置)を検出し、この現在の角度をフィー
ドバック信号として、現在角度が指令角度に一致するよ
うにモータを制御するという、いわゆるフィードバック
制御によって関節の動作を制御するようにしている。
節を例にして説明するに、まず、ロボットでは、モータ
のロータリエンコーダから与えられる信号により関節の
現在の角度(位置)を検出し、この現在の角度をフィー
ドバック信号として、現在角度が指令角度に一致するよ
うにモータを制御するという、いわゆるフィードバック
制御によって関節の動作を制御するようにしている。
【0004】このフィードバック制御を行うために、制
御装置は、動作プログラム中から読み出したパラメータ
に基づいて速度パターンを決定し、次いで、その速度パ
ターンから所定のサンプリング時間が経過する毎に、そ
の時点を現在として、現在からサンプリング時間経過後
の角度を算出し、これを指令角度とする。そして、関節
の現在位置と指令角度とを比較し、サンプリング時間と
同じ長さに定められた単位制御時間後に、関節が指令さ
れた角度まで動作するようにモータの速度を制御する。
この制御により、関節は最初に動作プログラムが定める
速度パターンと同様の速度パターンにて動作するように
なり、このようなことが各関節の全体について行われる
ことから、ロボット先端がプログラムされた通りの動作
を行うのである。
御装置は、動作プログラム中から読み出したパラメータ
に基づいて速度パターンを決定し、次いで、その速度パ
ターンから所定のサンプリング時間が経過する毎に、そ
の時点を現在として、現在からサンプリング時間経過後
の角度を算出し、これを指令角度とする。そして、関節
の現在位置と指令角度とを比較し、サンプリング時間と
同じ長さに定められた単位制御時間後に、関節が指令さ
れた角度まで動作するようにモータの速度を制御する。
この制御により、関節は最初に動作プログラムが定める
速度パターンと同様の速度パターンにて動作するように
なり、このようなことが各関節の全体について行われる
ことから、ロボット先端がプログラムされた通りの動作
を行うのである。
【0005】ところで、ロボットでは、モータの負荷ト
ルクが限界値、例えば最大許容トルクを越えると、モー
タ保護の観点から、動作を停止させるように構成されて
いる。このため、ロボットの動作プログラムを作成する
ティーチング時には、モータが過負荷とならないよう
に、関節の動作速度などを設定するようにしている。し
かしながら、そのような負荷トルクの限界を各関節につ
いて考えながらティーチング作業を行うことは、大変に
煩わしく、非常に多くの手間を要するもので、ティーチ
ング作業の能率が悪いという問題があった。しかも、モ
ータが過負荷とならないように関節の動作速度を設定す
るため、必然的に、ほとんどの動作においてモータの許
容最大トルクを越えることはなくなるが、現実には、許
容最大トルクよりもかなり低いレベルでモータを使用す
ることとなり、この結果、関節の動作速度が遅くなっ
て、ロボット作業のタクトタイムが長くなるという問題
を生じていた。
ルクが限界値、例えば最大許容トルクを越えると、モー
タ保護の観点から、動作を停止させるように構成されて
いる。このため、ロボットの動作プログラムを作成する
ティーチング時には、モータが過負荷とならないよう
に、関節の動作速度などを設定するようにしている。し
かしながら、そのような負荷トルクの限界を各関節につ
いて考えながらティーチング作業を行うことは、大変に
煩わしく、非常に多くの手間を要するもので、ティーチ
ング作業の能率が悪いという問題があった。しかも、モ
ータが過負荷とならないように関節の動作速度を設定す
るため、必然的に、ほとんどの動作においてモータの許
容最大トルクを越えることはなくなるが、現実には、許
容最大トルクよりもかなり低いレベルでモータを使用す
ることとなり、この結果、関節の動作速度が遅くなっ
て、ロボット作業のタクトタイムが長くなるという問題
を生じていた。
【0006】このような問題を解決するものとして、例
えば、特開平5−138563号公報に開示された技術
がある。これは、一般にロボットでは、移動動作におい
ては、加速完了付近、減速開始付近で最も大きな負荷が
かかるので、その加速完了位置と減速開始位置の負荷状
態に合わせて、両位置でモータの負荷トルクが限界値を
越えないように加速度および減速度を決定するというも
のである。
えば、特開平5−138563号公報に開示された技術
がある。これは、一般にロボットでは、移動動作におい
ては、加速完了付近、減速開始付近で最も大きな負荷が
かかるので、その加速完了位置と減速開始位置の負荷状
態に合わせて、両位置でモータの負荷トルクが限界値を
越えないように加速度および減速度を決定するというも
のである。
【0007】しかしながら、このものでは、加速完了位
置、減速開始位置という代表的な動作状態で移動動作の
加速度および減速度を計算するため、必要とする全ての
時点でモータの最大能力を発揮できる動作が実現される
というものではなく、逆に、加速完了位置、減速開始位
置以外の他の動作位置では、モータの最大能力を越える
おそれもある。また、各関節の移動動作の加速度および
減速度は、各関節毎に加速完了位置と減速開始位置の動
作状態に基づいて決定するため、各関節毎に速度パター
ンを設定する動作(PTP動作)の場合には良いが、ロ
ボット先端の軌道を設定する場合には適用できず、適用
した場合には、ロボット先端の軌跡がプログラムされた
軌跡から外れてしまうという問題を生ずる。
置、減速開始位置という代表的な動作状態で移動動作の
加速度および減速度を計算するため、必要とする全ての
時点でモータの最大能力を発揮できる動作が実現される
というものではなく、逆に、加速完了位置、減速開始位
置以外の他の動作位置では、モータの最大能力を越える
おそれもある。また、各関節の移動動作の加速度および
減速度は、各関節毎に加速完了位置と減速開始位置の動
作状態に基づいて決定するため、各関節毎に速度パター
ンを設定する動作(PTP動作)の場合には良いが、ロ
ボット先端の軌道を設定する場合には適用できず、適用
した場合には、ロボット先端の軌跡がプログラムされた
軌跡から外れてしまうという問題を生ずる。
【0008】本発明は上記の事情に鑑みてなされたもの
で、その目的は、必要なときには、駆動源の能力を最大
限利用して関節を動作させることができ、また、ロボッ
ト先端の軌跡のずれを生ずることなく関節の動作制御を
行うことができるロボットの制御装置を提供するにあ
る。
で、その目的は、必要なときには、駆動源の能力を最大
限利用して関節を動作させることができ、また、ロボッ
ト先端の軌跡のずれを生ずることなく関節の動作制御を
行うことができるロボットの制御装置を提供するにあ
る。
【0009】
【課題を解決するための手段】本発明は、速度パターン
に基づき、サンプリング時間が経過する度に、次のサン
プリング時間経過時点における関節の位置を演算する位
置演算手段と、前記関節を前記位置演算手段により演算
された位置に動作させるに必要な駆動トルクを演算する
トルク演算手段と、このトルク演算手段により演算され
た駆動トルクが予め設定された限界値を越えるとき、駆
動トルクが前記限界値を越えないようにするための速度
変更比率を演算し、この速度変更比率に基づいて通常の
サンプリング時間よりも短い修正サンプリング時間を演
算するサンプリング時間変更手段とを備え、前記トルク
演算手段により演算された駆動トルクが前記限界値以下
のとき、前記位置演算手段により演算された位置を指令
位置として、前記関節が所定の単位制御時間後にその指
令位置まで動作するように制御し、前記トルク演算手段
により演算された駆動トルクが前記限界値を越えたと
き、前記サンプリング時間変更手段により演算された前
記修正サンプリング時間を前記次のサンプリング時間と
して前記位置演算手段により再度関節の位置を演算し、
その位置を指令位置として、前記関節が前記所定の単位
制御時間後にその指令位置まで動作するように制御する
構成としたことを特徴とするものである(請求項1)。
に基づき、サンプリング時間が経過する度に、次のサン
プリング時間経過時点における関節の位置を演算する位
置演算手段と、前記関節を前記位置演算手段により演算
された位置に動作させるに必要な駆動トルクを演算する
トルク演算手段と、このトルク演算手段により演算され
た駆動トルクが予め設定された限界値を越えるとき、駆
動トルクが前記限界値を越えないようにするための速度
変更比率を演算し、この速度変更比率に基づいて通常の
サンプリング時間よりも短い修正サンプリング時間を演
算するサンプリング時間変更手段とを備え、前記トルク
演算手段により演算された駆動トルクが前記限界値以下
のとき、前記位置演算手段により演算された位置を指令
位置として、前記関節が所定の単位制御時間後にその指
令位置まで動作するように制御し、前記トルク演算手段
により演算された駆動トルクが前記限界値を越えたと
き、前記サンプリング時間変更手段により演算された前
記修正サンプリング時間を前記次のサンプリング時間と
して前記位置演算手段により再度関節の位置を演算し、
その位置を指令位置として、前記関節が前記所定の単位
制御時間後にその指令位置まで動作するように制御する
構成としたことを特徴とするものである(請求項1)。
【0010】この構成によれば、サンプリング時間が経
過する毎に、そのサンプリング時間経過時点から次のサ
ンプリング時間経過後における関節の位置が演算され、
その位置を仮の位置として当該仮位置に動作させるに必
要な駆動トルクが演算される。そして、演算された駆動
トルクが限界値以下の場合には、上記の仮位置を指令位
置とし、関節が所定の単位制御時間(例えばサンプリン
グ時間と同じ長さ)でその指令位置まで動作するように
関節を制御する。しかしながら、仮位置に動作させるに
要する駆動トルクが限界値を越える場合には、通常のサ
ンプリング時間よりも短い修正サンプリング時間が設定
され、そして、修正サンプリング時間の経過後の位置を
指令位置として再度演算し、関節を所定の単位制御時間
で指令位置に動作するように制御する。このため、最初
に演算された仮位置までの距離よりも修正後の指令位置
までの方が短いため、単位制御時間の長さを変えること
なく、修正後の仮位置を指令位置として関節を動作させ
れば、駆動トルクが限界値を越えないようにすることが
できる。
過する毎に、そのサンプリング時間経過時点から次のサ
ンプリング時間経過後における関節の位置が演算され、
その位置を仮の位置として当該仮位置に動作させるに必
要な駆動トルクが演算される。そして、演算された駆動
トルクが限界値以下の場合には、上記の仮位置を指令位
置とし、関節が所定の単位制御時間(例えばサンプリン
グ時間と同じ長さ)でその指令位置まで動作するように
関節を制御する。しかしながら、仮位置に動作させるに
要する駆動トルクが限界値を越える場合には、通常のサ
ンプリング時間よりも短い修正サンプリング時間が設定
され、そして、修正サンプリング時間の経過後の位置を
指令位置として再度演算し、関節を所定の単位制御時間
で指令位置に動作するように制御する。このため、最初
に演算された仮位置までの距離よりも修正後の指令位置
までの方が短いため、単位制御時間の長さを変えること
なく、修正後の仮位置を指令位置として関節を動作させ
れば、駆動トルクが限界値を越えないようにすることが
できる。
【0011】このようにサンプリング時間が経過する毎
に、仮位置を設定して当該仮位置に動作させるに必要な
駆動トルクが限界値を越えるか否かを判断し、越えたと
きには、越えないように関節の指令位置を修正するの
で、ティーチングの際には、モータの駆動トルクが限界
値を越えないように考慮しながら作業する必要がなくな
り、容易にティーチング作業を行うことができる。ま
た、駆動トルクが限界値を越える場合には、限界値と同
等かやや下回る駆動トルクとなるように指令位置が修正
されるので、ティーチングの際には駆動トルクが限界値
を越えるように、速度や加速度を大きく設定しておけ
ば、モータなどの駆動源の能力を最大限利用して動作さ
せることができ、タクトタイムを短縮することができ
る。
に、仮位置を設定して当該仮位置に動作させるに必要な
駆動トルクが限界値を越えるか否かを判断し、越えたと
きには、越えないように関節の指令位置を修正するの
で、ティーチングの際には、モータの駆動トルクが限界
値を越えないように考慮しながら作業する必要がなくな
り、容易にティーチング作業を行うことができる。ま
た、駆動トルクが限界値を越える場合には、限界値と同
等かやや下回る駆動トルクとなるように指令位置が修正
されるので、ティーチングの際には駆動トルクが限界値
を越えるように、速度や加速度を大きく設定しておけ
ば、モータなどの駆動源の能力を最大限利用して動作さ
せることができ、タクトタイムを短縮することができ
る。
【0012】また、本発明では、速度パターンに基づ
き、サンプリング時間が経過する度に、次のサンプリン
グ時間経過時点における関節の位置を演算する位置演算
手段と、前記関節を前記位置演算手段により演算された
位置に動作させるに必要な駆動トルクを演算するトルク
演算手段と、このトルク演算手段により演算された駆動
トルクが予め設定された限界値を越えるとき、駆動トル
クが前記限界値を越えないようにするための速度変更比
率を演算する速度変更比率演算手段とを備え、前記トル
ク演算手段により演算された駆動トルクが前記限界値以
下のとき、前記位置演算手段により演算された位置を指
令位置として、前記関節が単位制御時間後にその指令位
置まで移動するように制御し、前記トルク演算手段によ
り演算された駆動トルクが前記限界値を越えたとき、前
記速度変更比率演算手段により演算された速度変更比率
に基づいて前記単位制御時間を通常の単位制御時間より
も長く設定し、前記位置演算手段により演算された位置
を指令位置として、前記関節が前記長く設定された単位
制御時間後にその指令位置に動作するように制御する構
成とすることができる(請求項2)。
き、サンプリング時間が経過する度に、次のサンプリン
グ時間経過時点における関節の位置を演算する位置演算
手段と、前記関節を前記位置演算手段により演算された
位置に動作させるに必要な駆動トルクを演算するトルク
演算手段と、このトルク演算手段により演算された駆動
トルクが予め設定された限界値を越えるとき、駆動トル
クが前記限界値を越えないようにするための速度変更比
率を演算する速度変更比率演算手段とを備え、前記トル
ク演算手段により演算された駆動トルクが前記限界値以
下のとき、前記位置演算手段により演算された位置を指
令位置として、前記関節が単位制御時間後にその指令位
置まで移動するように制御し、前記トルク演算手段によ
り演算された駆動トルクが前記限界値を越えたとき、前
記速度変更比率演算手段により演算された速度変更比率
に基づいて前記単位制御時間を通常の単位制御時間より
も長く設定し、前記位置演算手段により演算された位置
を指令位置として、前記関節が前記長く設定された単位
制御時間後にその指令位置に動作するように制御する構
成とすることができる(請求項2)。
【0013】この構成によれば、駆動トルクが限界値を
越えた場合、指令位置を変えることなく、単位制御時間
を長くするので、駆動トルクの限界値と同等の駆動トル
クかそれよりやや下回る駆動トルクとなる程度に関節の
速度が抑制される。このため、前述したと同様に、ティ
ーチングの際に駆動トルクが限界値を越えないように考
慮する必要がなく、作業を楽に行うことができると共
に、ティーチングの際に、駆動トルクが限界値を越える
ように、速度や加速度を大きく設定しておくことによ
り、モータの能力を最大限利用して動作させることがで
きる。
越えた場合、指令位置を変えることなく、単位制御時間
を長くするので、駆動トルクの限界値と同等の駆動トル
クかそれよりやや下回る駆動トルクとなる程度に関節の
速度が抑制される。このため、前述したと同様に、ティ
ーチングの際に駆動トルクが限界値を越えないように考
慮する必要がなく、作業を楽に行うことができると共
に、ティーチングの際に、駆動トルクが限界値を越える
ように、速度や加速度を大きく設定しておくことによ
り、モータの能力を最大限利用して動作させることがで
きる。
【0014】
【発明の実施の形態】以下、本発明をロボットに適用し
た一実施例につき図面に基づいて説明する。ロボット
は、図4に示すように、ロボット本体1と、このロボッ
ト本体1を制御する制御装置2と、ティーチングペンダ
ント3を備えている。この実施例において、制御装置2
の制御対象であるロボット本体1は、例えば垂直多関節
型の組み立て用ロボットとして構成され、ベース4と、
このベース4に水平方向に旋回可能に設けられたショル
ダ部5と、このショルダ部5に上下方向に旋回可能に設
けられた下アーム6と、この下アーム6に上下方向に旋
回可能に且つ捻り回転可能に設けられた上アーム7と、
この上アーム7に上下方向に旋回可能に設けられた手首
8とを備えており、手首8は先端部に捻り回転可能なフ
ランジ9を備えている。なお、図示はしないが、ワーク
を把持するハンド(図示せず)は、フランジ9に取り付
けられるようになっている。
た一実施例につき図面に基づいて説明する。ロボット
は、図4に示すように、ロボット本体1と、このロボッ
ト本体1を制御する制御装置2と、ティーチングペンダ
ント3を備えている。この実施例において、制御装置2
の制御対象であるロボット本体1は、例えば垂直多関節
型の組み立て用ロボットとして構成され、ベース4と、
このベース4に水平方向に旋回可能に設けられたショル
ダ部5と、このショルダ部5に上下方向に旋回可能に設
けられた下アーム6と、この下アーム6に上下方向に旋
回可能に且つ捻り回転可能に設けられた上アーム7と、
この上アーム7に上下方向に旋回可能に設けられた手首
8とを備えており、手首8は先端部に捻り回転可能なフ
ランジ9を備えている。なお、図示はしないが、ワーク
を把持するハンド(図示せず)は、フランジ9に取り付
けられるようになっている。
【0015】そして、ショルダ部5の水平方向の旋回動
作、下アーム6の上下方向の旋回動作、上アーム7の上
下方向の旋回動作、上アーム7の回転動作、手首8の上
下方向の旋回動作、フランジ9の回転動作は、それぞれ
関節が、駆動源である例えば直流サーボモータからなる
モータ10(図3参照)により図示しない適宜の伝動機
構を介して回転駆動されることにより行われる。なお、
図3では、ショルダ部5、下アーム6、上アーム7、手
首8およびフランジ9を可動部として一つのブロックで
示し、これに応じてそれらの関節の駆動源であるモータ
10も一台だけ示した。
作、下アーム6の上下方向の旋回動作、上アーム7の上
下方向の旋回動作、上アーム7の回転動作、手首8の上
下方向の旋回動作、フランジ9の回転動作は、それぞれ
関節が、駆動源である例えば直流サーボモータからなる
モータ10(図3参照)により図示しない適宜の伝動機
構を介して回転駆動されることにより行われる。なお、
図3では、ショルダ部5、下アーム6、上アーム7、手
首8およびフランジ9を可動部として一つのブロックで
示し、これに応じてそれらの関節の駆動源であるモータ
10も一台だけ示した。
【0016】一方、図3に示すように、制御装置2は、
制御部としてのCPU11、各関節のモータ10を駆動
する駆動手段としての駆動回路12、位置検出手段とし
ての位置検出回路13などを備えている。そして、CP
U11には、ロボット全体のシステムプログラム等を記
憶したROM14、ロボット本体1の動作プログラム等
を記憶したRAM15および前記ティーチングペンダン
ト3を接続するためのインターフェース16が接続され
ている。
制御部としてのCPU11、各関節のモータ10を駆動
する駆動手段としての駆動回路12、位置検出手段とし
ての位置検出回路13などを備えている。そして、CP
U11には、ロボット全体のシステムプログラム等を記
憶したROM14、ロボット本体1の動作プログラム等
を記憶したRAM15および前記ティーチングペンダン
ト3を接続するためのインターフェース16が接続され
ている。
【0017】上記位置検出回路13は、各関節の現在位
置(回転角度)を検出するためのもので、この位置検出
回路13には、各関節を駆動するモータ10に設けられ
た位置検出センサとしてのロータリエンコーダ17が接
続されている。ロータリエンコーダ17は、各モータ1
0の回転角度に応じたパルス信号を出力し、そのパルス
信号は位置検出回路13に与えられる。位置検出回路1
3は、各ロータリエンコーダ17からのパルス信号に基
づいて各モータ10ひいては各関節の現在の角度位置を
検出し、その位置情報は、各モータ10の駆動回路12
に与えられると共に、CPU11に与えられるようにな
っている。
置(回転角度)を検出するためのもので、この位置検出
回路13には、各関節を駆動するモータ10に設けられ
た位置検出センサとしてのロータリエンコーダ17が接
続されている。ロータリエンコーダ17は、各モータ1
0の回転角度に応じたパルス信号を出力し、そのパルス
信号は位置検出回路13に与えられる。位置検出回路1
3は、各ロータリエンコーダ17からのパルス信号に基
づいて各モータ10ひいては各関節の現在の角度位置を
検出し、その位置情報は、各モータ10の駆動回路12
に与えられると共に、CPU11に与えられるようにな
っている。
【0018】そして、各駆動回路12は、CPU11か
ら与えられる指令角度と位置検出回路13から与えられ
る現在角度とを比較し、その偏差に応じた電流を各モー
タ10に供給してそれらを駆動する。これにより、ロボ
ット先端であるフランジ9の中心部が動作プログラムに
より定められた通りの軌跡を辿って動作し、部品の組み
立て作業などを行うものである。
ら与えられる指令角度と位置検出回路13から与えられ
る現在角度とを比較し、その偏差に応じた電流を各モー
タ10に供給してそれらを駆動する。これにより、ロボ
ット先端であるフランジ9の中心部が動作プログラムに
より定められた通りの軌跡を辿って動作し、部品の組み
立て作業などを行うものである。
【0019】さて、動作プログラムには、一つの動作毎
に動作終了位置、速度係数、加減速度係数などのパラメ
ータが記録されている。このうち、速度係数および加減
速度係数とは、動作の最高速度および加減速度をモータ
10の許容最大速度および許容最大加減速度に対する割
合で定めたもので、許容最大速度および許容最大加減速
度は、モータ10の負荷トルクが例えば許容最大トルク
を越えることのないように、各モータ10毎にその性能
を考慮して設定されている。
に動作終了位置、速度係数、加減速度係数などのパラメ
ータが記録されている。このうち、速度係数および加減
速度係数とは、動作の最高速度および加減速度をモータ
10の許容最大速度および許容最大加減速度に対する割
合で定めたもので、許容最大速度および許容最大加減速
度は、モータ10の負荷トルクが例えば許容最大トルク
を越えることのないように、各モータ10毎にその性能
を考慮して設定されている。
【0020】CPU11は、上記の動作プログラムに記
録されたパラメータから速度パターンを例えば台形パタ
ーンに当て嵌めて決定し、その速度パターンに基づいて
各関節について経過時間毎の角度を演算し、これを角度
指令値として駆動回路12に与えるようになっている。
すなわち、台形速度パターンは、図2(a)に示すよう
に、加速過程、最高速度での等速過程、減速過程からな
るが、この台形の速度パターンとなるような動作角度の
パターンは図2(b)に示すようになる。
録されたパラメータから速度パターンを例えば台形パタ
ーンに当て嵌めて決定し、その速度パターンに基づいて
各関節について経過時間毎の角度を演算し、これを角度
指令値として駆動回路12に与えるようになっている。
すなわち、台形速度パターンは、図2(a)に示すよう
に、加速過程、最高速度での等速過程、減速過程からな
るが、この台形の速度パターンとなるような動作角度の
パターンは図2(b)に示すようになる。
【0021】図2(b)に示す角度パターンにおいて、
tn 時点での関節の角度をθn 、このtn 時点からΔt
時間後のt(n+1) 時点での角度をθ(n+1) とすると、次
式で示すように、Δt時間での角度の変化がt(n+1) 時
点での関節の角速度V(n+1)となる。 V(n+1) ・Δt=θ(n+1) −θn
tn 時点での関節の角度をθn 、このtn 時点からΔt
時間後のt(n+1) 時点での角度をθ(n+1) とすると、次
式で示すように、Δt時間での角度の変化がt(n+1) 時
点での関節の角速度V(n+1)となる。 V(n+1) ・Δt=θ(n+1) −θn
【0022】上の式から、θ(n+1) =θn +V(n+1) ・
Δt となるので、tn 時点からΔt時間後の関節の角
度θ(n+1) は、tn 時点の角度θn に、速度パターンか
ら得られるt(n+1) 時点の角速度V(n+1) にΔtを乗じ
た値を加算することによって求めることができる。従っ
て、速度パターンに基づいて、動作開始時点から所定の
サンプリング時間(Δt)経過毎に、その経過時点を現
在として次のサンプリング時点(Δt経過後に相当する
時点)の速度を算出し、これにサンプリング時間を乗じ
た値を順次加算してゆけば、動作開始時点から動作終了
時点までの間、サンプリング時間経過毎の関節の角度を
順次求めることができ、それを角度指令値として駆動回
路12に与えれば速度パターン通りの動作を関節に行わ
せることができるものである。
Δt となるので、tn 時点からΔt時間後の関節の角
度θ(n+1) は、tn 時点の角度θn に、速度パターンか
ら得られるt(n+1) 時点の角速度V(n+1) にΔtを乗じ
た値を加算することによって求めることができる。従っ
て、速度パターンに基づいて、動作開始時点から所定の
サンプリング時間(Δt)経過毎に、その経過時点を現
在として次のサンプリング時点(Δt経過後に相当する
時点)の速度を算出し、これにサンプリング時間を乗じ
た値を順次加算してゆけば、動作開始時点から動作終了
時点までの間、サンプリング時間経過毎の関節の角度を
順次求めることができ、それを角度指令値として駆動回
路12に与えれば速度パターン通りの動作を関節に行わ
せることができるものである。
【0023】この実施例のロボットは、ロボット先端の
動作軌跡を動作プログラムに設定し、ロボット先端を設
定された軌跡に従って動作させるように各関節を制御す
るようにしている。そして、CPU11は、一つの動作
を制御する場合、動作プログラムに記録されているパラ
メータに基づいて速度パターンを決定し、この速度パタ
ーンに基づいてサンプリング時点毎に次のサンプリング
時点におけるロボット先端の座標位置を求め、次いで、
ロボット先端の座標位置から各関節の角度を求めるよう
にしている。
動作軌跡を動作プログラムに設定し、ロボット先端を設
定された軌跡に従って動作させるように各関節を制御す
るようにしている。そして、CPU11は、一つの動作
を制御する場合、動作プログラムに記録されているパラ
メータに基づいて速度パターンを決定し、この速度パタ
ーンに基づいてサンプリング時点毎に次のサンプリング
時点におけるロボット先端の座標位置を求め、次いで、
ロボット先端の座標位置から各関節の角度を求めるよう
にしている。
【0024】以下、制御の内容を図1のフローチャート
を参照しながら説明する。ここで、以下の説明では、サ
ンプリング時間(Δt)を加算時間量STk 、動作開始
時点から各サンプリング時点までの経過時間を指令動作
時間tiとし、関節(モータ10)を現在の角度から角
度指令値まで動作させる制御を行うための時間を単位制
御時間tu ということとする。上記加算時間量STk
は、通常は一定の時間に定められているが、後述のよう
に、仮に定められた角度指令値に動作させるために必要
とする駆動トルクが、例えばモータ10の最大許容トル
クに等しく設定された限界値を越えると予測される場合
には、通常時よりも短い時間に修正されるようになって
いる。これに対し、単位制御時間tu は、常に一定で変
化することはない。
を参照しながら説明する。ここで、以下の説明では、サ
ンプリング時間(Δt)を加算時間量STk 、動作開始
時点から各サンプリング時点までの経過時間を指令動作
時間tiとし、関節(モータ10)を現在の角度から角
度指令値まで動作させる制御を行うための時間を単位制
御時間tu ということとする。上記加算時間量STk
は、通常は一定の時間に定められているが、後述のよう
に、仮に定められた角度指令値に動作させるために必要
とする駆動トルクが、例えばモータ10の最大許容トル
クに等しく設定された限界値を越えると予測される場合
には、通常時よりも短い時間に修正されるようになって
いる。これに対し、単位制御時間tu は、常に一定で変
化することはない。
【0025】しかして、CPU11は、一つの動作に対
する制御を開始すると、まず、動作プログラム中から動
作終了位置の座標、速度および加速度の両係数などのパ
ラメータを読み出し、それらパラメータから速度パター
ンを決定する(ステップS1、速度パターン決定手
段)。
する制御を開始すると、まず、動作プログラム中から動
作終了位置の座標、速度および加速度の両係数などのパ
ラメータを読み出し、それらパラメータから速度パター
ンを決定する(ステップS1、速度パターン決定手
段)。
【0026】速度パターンは、動作開始から終了までの
ロボット先端の移動量L、加速度α、最高速度Vmax 、
減速度βに基づいて、図2(a)に示す台形パターンに
当て嵌めて決定される。ここで、加速度αと減速度β
は、モータ10の最大許容加速度および最大許容減速度
に加減速度係数を乗じて求められ、最高速度Vmax は、
モータ10の許容最大速度に速度係数を乗じて求めら
れ、また、移動距離Lは、パラメータの一つとして動作
プログラムから得た動作終了位置と位置検出回路13の
位置情報から求められる現在位置(動作開始時の位置)
から演算される。
ロボット先端の移動量L、加速度α、最高速度Vmax 、
減速度βに基づいて、図2(a)に示す台形パターンに
当て嵌めて決定される。ここで、加速度αと減速度β
は、モータ10の最大許容加速度および最大許容減速度
に加減速度係数を乗じて求められ、最高速度Vmax は、
モータ10の許容最大速度に速度係数を乗じて求めら
れ、また、移動距離Lは、パラメータの一つとして動作
プログラムから得た動作終了位置と位置検出回路13の
位置情報から求められる現在位置(動作開始時の位置)
から演算される。
【0027】速度パターンを決定すると、CPU11
は、動作パラメータを演算する(ステップS2、動作パ
ラメータ演算手段)。動作パラメータとは、速度パター
ンを形成するパラメータで、加速度過程の所要時間t1
、減速過程の所要時間t2 、動作開始から終了までの
所要時間Tおよび最高速度Vmax である。なお、最高速
度Vmax 以外の動作パラメータは、次式にて求められ
る。
は、動作パラメータを演算する(ステップS2、動作パ
ラメータ演算手段)。動作パラメータとは、速度パター
ンを形成するパラメータで、加速度過程の所要時間t1
、減速過程の所要時間t2 、動作開始から終了までの
所要時間Tおよび最高速度Vmax である。なお、最高速
度Vmax 以外の動作パラメータは、次式にて求められ
る。
【0028】t1 =Vmax /α t2 =Vmax /β T=(L/Vmax )+Vmax ・(1/α+1/β)/2
【0029】次に、CPU11は、速度パターンにおい
て、指令動作時間ti を初期化し、「ti=0」に設定
する(ステップS3)。この初期化により、図2(a)
の速度パターンの時間軸において、現在時点が原点(動
作開始時点)に設定される。この後、CPU11は、加
算時間量STk を一定時間STに設定する初期化を実行
する(ステップS4)。
て、指令動作時間ti を初期化し、「ti=0」に設定
する(ステップS3)。この初期化により、図2(a)
の速度パターンの時間軸において、現在時点が原点(動
作開始時点)に設定される。この後、CPU11は、加
算時間量STk を一定時間STに設定する初期化を実行
する(ステップS4)。
【0030】次に、CPU11は、ステップS1で決定
した速度パターンの動作パラメータに基づき、現在時点
tiから加算時間量STk 経過後におけるロボット先端
の位置を演算する(ステップS5、先端位置演算手
段)。ここで、ロボット先端の動作開始位置を三次元の
直交座標(Xs,Ys,Zs)および直交座標の3軸に
対する傾き角(αs,βs,γs)、動作終了位置を同
じく(Xe,Ye,Ze)および(αe,βe,γe)
で表すと共に、ロボット先端の最高速度Vmax を三次元
直交座標の3軸方向の速度成分(Vmx,Vmy,Vmz)お
よび直交座標の3軸を中心とする回転速度成分(Vm
α,Vmβ,Vmγ)で表した場合、t時点でのロボット
先端の位置を、三次元の直交座標(Xt,Yt,Zt)
および三次元の直交座標の3軸に対する傾き角(αt,
βt,γt)で示すと、次の(1−1)式〜(1−3)
式のようになる。なお、(1−1)式〜(1−3)式は
X座標についてだけを示しているが、Yt,Ztおよび
αt,βt,γtも同様にして求めることができるもの
である。
した速度パターンの動作パラメータに基づき、現在時点
tiから加算時間量STk 経過後におけるロボット先端
の位置を演算する(ステップS5、先端位置演算手
段)。ここで、ロボット先端の動作開始位置を三次元の
直交座標(Xs,Ys,Zs)および直交座標の3軸に
対する傾き角(αs,βs,γs)、動作終了位置を同
じく(Xe,Ye,Ze)および(αe,βe,γe)
で表すと共に、ロボット先端の最高速度Vmax を三次元
直交座標の3軸方向の速度成分(Vmx,Vmy,Vmz)お
よび直交座標の3軸を中心とする回転速度成分(Vm
α,Vmβ,Vmγ)で表した場合、t時点でのロボット
先端の位置を、三次元の直交座標(Xt,Yt,Zt)
および三次元の直交座標の3軸に対する傾き角(αt,
βt,γt)で示すと、次の(1−1)式〜(1−3)
式のようになる。なお、(1−1)式〜(1−3)式は
X座標についてだけを示しているが、Yt,Ztおよび
αt,βt,γtも同様にして求めることができるもの
である。
【0031】
【数1】
【0032】CPU11は、このようにして現在時点t
iから加算時間量STk 経過した時点におけるロボット
先端の位置を演算した後、そのロボット先端の位置から
各関節の(ti+STk )時間における位置を求め、こ
れを各関節についての仮関節角度指令値とする(ステッ
プS6、位置演算手段)。次いで、CPU11は、各関
節をST時間で現在位置から仮関節角度指令値まで動作
させる場合、各関節の動作に必要な駆動トルク(各モー
タ10の負荷トルク)を仮関節駆動トルクとして演算す
る(ステップS7、トルク演算手段)。
iから加算時間量STk 経過した時点におけるロボット
先端の位置を演算した後、そのロボット先端の位置から
各関節の(ti+STk )時間における位置を求め、こ
れを各関節についての仮関節角度指令値とする(ステッ
プS6、位置演算手段)。次いで、CPU11は、各関
節をST時間で現在位置から仮関節角度指令値まで動作
させる場合、各関節の動作に必要な駆動トルク(各モー
タ10の負荷トルク)を仮関節駆動トルクとして演算す
る(ステップS7、トルク演算手段)。
【0033】ここで、n個の関節を有するロボットにお
いて、関節iの駆動トルクτiは次の(2)式により求
めることができる。
いて、関節iの駆動トルクτiは次の(2)式により求
めることができる。
【数2】 ここで、上記(2)式において、右辺第1項は各関節の
角加速度に比例した項、第2項は2つの関節の角速度の
積に比例した項、第3項は自身の関節iの角速度に比例
した項、第4項は定数項である。なお、ハンドやハンド
で把持するワークの重量は関節の駆動トルクに影響を及
ぼすが、それらの要素は(2)式に入れて演算すること
は可能であるので、それらの重量が無視できない場合に
は、(2)式にそれらの重量要素を入れることによって
一層正確に駆動トルクを演算することができる。
角加速度に比例した項、第2項は2つの関節の角速度の
積に比例した項、第3項は自身の関節iの角速度に比例
した項、第4項は定数項である。なお、ハンドやハンド
で把持するワークの重量は関節の駆動トルクに影響を及
ぼすが、それらの要素は(2)式に入れて演算すること
は可能であるので、それらの重量が無視できない場合に
は、(2)式にそれらの重量要素を入れることによって
一層正確に駆動トルクを演算することができる。
【0034】次いで、CPU11は、ステップS7で演
算した各関節の仮関節駆動トルクが予め設定されている
限界値以下であるか否かを判断する(ステップS8、判
断手段)。各関節の仮関節駆動トルクが各モータ10の
最大許容トルクの範囲内である場合には、CPU11
は、ステップS8で「YES」と判断し、上記仮関節角
度指令値を各関節の角度指令値としてCPU11が有す
るアキュームレータなどのバッファに転送する(ステッ
プS9)。
算した各関節の仮関節駆動トルクが予め設定されている
限界値以下であるか否かを判断する(ステップS8、判
断手段)。各関節の仮関節駆動トルクが各モータ10の
最大許容トルクの範囲内である場合には、CPU11
は、ステップS8で「YES」と判断し、上記仮関節角
度指令値を各関節の角度指令値としてCPU11が有す
るアキュームレータなどのバッファに転送する(ステッ
プS9)。
【0035】そして、CPU11は、動作完了か否か、
すなわち指令動作時間tiがT時間以上になったか否か
を判断し(ステップS10)、動作完了でない場合(t
i<T)には、ステップS10で「NO」と判断して次
のステップS11でバッファに格納されている各関節の
角度指令値を駆動回路12に送信する。この後、CPU
11は、指令動作時間tiにSTk 時間を加算して現在
時点をti時点からSTk 時間だけ進めた時点に更新し
(ステップS12)、前述の加算時間量STkを初期化
するステップS4に戻る。以下、CPU11は、上述し
たと同様にして単位制御時間tu の経過毎に、加算時間
量STk 時間後における各関節の仮関節角度指令値を求
め、仮関節駆動トルクが限界値以下ならば、その仮関節
角度指令値を角度指令値として駆動回路12に与える、
という動作を繰り返す。
すなわち指令動作時間tiがT時間以上になったか否か
を判断し(ステップS10)、動作完了でない場合(t
i<T)には、ステップS10で「NO」と判断して次
のステップS11でバッファに格納されている各関節の
角度指令値を駆動回路12に送信する。この後、CPU
11は、指令動作時間tiにSTk 時間を加算して現在
時点をti時点からSTk 時間だけ進めた時点に更新し
(ステップS12)、前述の加算時間量STkを初期化
するステップS4に戻る。以下、CPU11は、上述し
たと同様にして単位制御時間tu の経過毎に、加算時間
量STk 時間後における各関節の仮関節角度指令値を求
め、仮関節駆動トルクが限界値以下ならば、その仮関節
角度指令値を角度指令値として駆動回路12に与える、
という動作を繰り返す。
【0036】このようにして駆動回路12には、単位制
御時間tu の経過毎に、各関節についての指令角度が与
えられる。そして、駆動回路12は、単位制御時間tu
をn等分してtu /n毎の指令角度に分割し、tu /n
毎に指令角度と位置検出回路13から与えられる現在角
度とを比較してその差に応じた電流を各モータ10に供
給し、各関節の動作角度を指令角度と一致するように動
作させる。このとき、加算時間量STk と単位制御時間
tu は、同じ時間であるので、各関節の角速度、ひいて
はロボット先端の角速度はステップS1で決定された速
度パターンと同等のものとなる。
御時間tu の経過毎に、各関節についての指令角度が与
えられる。そして、駆動回路12は、単位制御時間tu
をn等分してtu /n毎の指令角度に分割し、tu /n
毎に指令角度と位置検出回路13から与えられる現在角
度とを比較してその差に応じた電流を各モータ10に供
給し、各関節の動作角度を指令角度と一致するように動
作させる。このとき、加算時間量STk と単位制御時間
tu は、同じ時間であるので、各関節の角速度、ひいて
はロボット先端の角速度はステップS1で決定された速
度パターンと同等のものとなる。
【0037】さて、今、ステップS8において、一つの
関節或いは複数の関節について仮関節駆動トルクが限界
値を越えたとする。すると、CPU11は、ステップS
8で「NO」と判断し、速度変更比率Rを演算するステ
ップS13に移行する。このステップS13で、CPU
11は、各関節について、次の(3−1)および(3−
3)式により示された第j関節の修正角速度、および第
j関節の修正角加速度を、上記(2)式の第j関節の角
速度、および第j関節の角加速度に代入し、駆動トルク
が限界値τimaxを越えないような速度変換比率Rを求め
る(速度変換比率演算手段)。
関節或いは複数の関節について仮関節駆動トルクが限界
値を越えたとする。すると、CPU11は、ステップS
8で「NO」と判断し、速度変更比率Rを演算するステ
ップS13に移行する。このステップS13で、CPU
11は、各関節について、次の(3−1)および(3−
3)式により示された第j関節の修正角速度、および第
j関節の修正角加速度を、上記(2)式の第j関節の角
速度、および第j関節の角加速度に代入し、駆動トルク
が限界値τimaxを越えないような速度変換比率Rを求め
る(速度変換比率演算手段)。
【0038】
【数3】
【0039】なお、上記(3−1)および(3−3)式
で示される第j関節の修正角速度、第j関節の修正角加
速度を(2)式の第j関節の角速度、第j関節の角加速
度に代入して整理すると、次の(4−1)式のようにな
る。ただし、C1 、C2 およびC3 は、(4−2)〜
(4−4)式により示す内容のものである。
で示される第j関節の修正角速度、第j関節の修正角加
速度を(2)式の第j関節の角速度、第j関節の角加速
度に代入して整理すると、次の(4−1)式のようにな
る。ただし、C1 、C2 およびC3 は、(4−2)〜
(4−4)式により示す内容のものである。
【0040】
【数4】
【0041】上記のステップS13での演算の結果、求
められる速度変換比率Rの解は、次の(5)式となる。
められる速度変換比率Rの解は、次の(5)式となる。
【数5】 このRの解は数学上はプラスの解とマイナスの解とが存
在するが、マイナスの解は速度変換比率としては有り得
ないので、プラスの解を速度変換比率Rの解とする。
在するが、マイナスの解は速度変換比率としては有り得
ないので、プラスの解を速度変換比率Rの解とする。
【0042】速度変換比率Rを求めた後、CPU11
は、通常の加算時間量であるST時間に速度変換比率R
を乗じた時間(ST・R)を加算時間量STk (修正サ
ンプリング時間)として新たに設定する(ステップS1
4、サンプリング時間変更手段)。次に、CPU11
は、前述のステップS5に戻り、ここで、速度パターン
に基づき、現時点から修正後の加算時間量STk (=S
T・R)だけ経過した時点でのロボット先端の位置を演
算する。
は、通常の加算時間量であるST時間に速度変換比率R
を乗じた時間(ST・R)を加算時間量STk (修正サ
ンプリング時間)として新たに設定する(ステップS1
4、サンプリング時間変更手段)。次に、CPU11
は、前述のステップS5に戻り、ここで、速度パターン
に基づき、現時点から修正後の加算時間量STk (=S
T・R)だけ経過した時点でのロボット先端の位置を演
算する。
【0043】そして、前に述べたと同様にして各関節の
仮関節角度指令値を計算し(ステップS6)、次いで各
関節の仮関節駆動トルクを演算し(ステップS7)、演
算した仮関節駆動トルクが限界値以下であるか否かを判
断し(ステップS8)、限界値以下であった場合には
(ステップS8で「YES」)、ステップS9およびス
テップS10を経てステップS11に移行して新たに求
めた仮関節角度指令値を指令角度として駆動回路12に
与える。
仮関節角度指令値を計算し(ステップS6)、次いで各
関節の仮関節駆動トルクを演算し(ステップS7)、演
算した仮関節駆動トルクが限界値以下であるか否かを判
断し(ステップS8)、限界値以下であった場合には
(ステップS8で「YES」)、ステップS9およびス
テップS10を経てステップS11に移行して新たに求
めた仮関節角度指令値を指令角度として駆動回路12に
与える。
【0044】この結果、駆動回路12に与えられる角度
指令値としては、加算時間量STkがSTのままのとき
と比べて現在角度に近い値となり、関節の動作角度は小
さくなる。これに対し、駆動回路12は、単位制御時間
tu を短縮することなく、通常と同じ時間(ST)で小
さく設定し直された角度指令値に関節を動作させるの
で、関節の角速度、或いは角加速度としては低くなり、
関節の駆動トルクが限界値を越えないようにすることが
できる。
指令値としては、加算時間量STkがSTのままのとき
と比べて現在角度に近い値となり、関節の動作角度は小
さくなる。これに対し、駆動回路12は、単位制御時間
tu を短縮することなく、通常と同じ時間(ST)で小
さく設定し直された角度指令値に関節を動作させるの
で、関節の角速度、或いは角加速度としては低くなり、
関節の駆動トルクが限界値を越えないようにすることが
できる。
【0045】このように本実施例では、加算時間量ST
k の経過毎に、仮関節角度指令値を求めて仮関節駆動ト
ルクを演算し、この仮関節駆動トルクが限界値を越える
場合には、限界値以下となるような角度指令値に修正す
るので、ティーチング時に速度係数、加減速度係数を大
きく設定しておいても、実際の関節の速度や加減速度
は、限界値を越えないように制御される。
k の経過毎に、仮関節角度指令値を求めて仮関節駆動ト
ルクを演算し、この仮関節駆動トルクが限界値を越える
場合には、限界値以下となるような角度指令値に修正す
るので、ティーチング時に速度係数、加減速度係数を大
きく設定しておいても、実際の関節の速度や加減速度
は、限界値を越えないように制御される。
【0046】このため、ティーチング時に、モータ10
が過負荷状態にならないように配慮しながら速度係数や
加減速度係数を設定する必要がなくなり、ティーチング
作業を容易に行うことができる。また、最高速度Vmax
を速くしたり、加減速度を大きくしたりするなど、必要
なときにモータ10の能力を最大限利用できるようにな
るので、ロボット作業のタクトタイムを短縮することが
できる。
が過負荷状態にならないように配慮しながら速度係数や
加減速度係数を設定する必要がなくなり、ティーチング
作業を容易に行うことができる。また、最高速度Vmax
を速くしたり、加減速度を大きくしたりするなど、必要
なときにモータ10の能力を最大限利用できるようにな
るので、ロボット作業のタクトタイムを短縮することが
できる。
【0047】しかも、仮関節駆動トルクが限界値を越え
る場合、限界値以下となるように加算時間量STk が修
正され、この結果、実際の関節の速度や加速度が、速度
パターンから求められる速度や加速度より低くなって
も、各関節は同じ割合で速度や加速度を減じて速度パタ
ーンから求められる角度と同じ角度だけ動作するので、
ロボット先端の軌跡はプログラムされた通りのものとな
る。
る場合、限界値以下となるように加算時間量STk が修
正され、この結果、実際の関節の速度や加速度が、速度
パターンから求められる速度や加速度より低くなって
も、各関節は同じ割合で速度や加速度を減じて速度パタ
ーンから求められる角度と同じ角度だけ動作するので、
ロボット先端の軌跡はプログラムされた通りのものとな
る。
【0048】なお、上記実施例では、仮関節駆動トルク
の限界値をモータ10の許容最大トルクに設定し、仮関
節駆動トルクがその限界値を越えたとき、限界値以下と
なるように加算時間量STk を短くして角度指令値を修
正するように構成したが、例えばモータ10の最大許容
トルクを上限値、その最大許容トルクよりもやや低いト
ルクを下限値として設定し、仮関節駆動トルクが下限値
を下回ったときには、加算時間量STk を長くして角度
指令値を修正するように構成しても良く、このようにす
れば、一層モータ10の能力を最大限利用でき、タクト
タイムの短縮化を図ることができる。
の限界値をモータ10の許容最大トルクに設定し、仮関
節駆動トルクがその限界値を越えたとき、限界値以下と
なるように加算時間量STk を短くして角度指令値を修
正するように構成したが、例えばモータ10の最大許容
トルクを上限値、その最大許容トルクよりもやや低いト
ルクを下限値として設定し、仮関節駆動トルクが下限値
を下回ったときには、加算時間量STk を長くして角度
指令値を修正するように構成しても良く、このようにす
れば、一層モータ10の能力を最大限利用でき、タクト
タイムの短縮化を図ることができる。
【0049】また、上記実施例では、仮関節駆動トルク
が限界値を越えたとき、速度変更比率R(R<1)を求
め、加算時間量STk をST・Rに短縮することにより
駆動トルクが限界値以下となるようにしたが、加算時間
量STは常に一定時間とし、そのかわりに、単位制御時
間tu を長くすることにより関節の角速度を低下させて
限界値を越えないように構成しても良い。
が限界値を越えたとき、速度変更比率R(R<1)を求
め、加算時間量STk をST・Rに短縮することにより
駆動トルクが限界値以下となるようにしたが、加算時間
量STは常に一定時間とし、そのかわりに、単位制御時
間tu を長くすることにより関節の角速度を低下させて
限界値を越えないように構成しても良い。
【0050】更には、ロボット先端の軌跡をプログラム
するのではなく、各関節毎に速度パターンを設定するP
TP制御の場合には、各関節毎に速度パターンを設定
し、それら速度パターンに基づいて各関節の仮関節角度
指令値を演算すれば良い。このとき、仮関節駆動トルク
が限界値を越える関節が一つでもあれば、その関節につ
いて速度変更比率を演算し、演算した速度変更比率を全
ての関節について適用して、加算時間量或いは単位制御
時間を修正すれば、各関節ひいてはロボット先端の軌跡
を当初プログラムした軌跡を辿るように制御できる。
するのではなく、各関節毎に速度パターンを設定するP
TP制御の場合には、各関節毎に速度パターンを設定
し、それら速度パターンに基づいて各関節の仮関節角度
指令値を演算すれば良い。このとき、仮関節駆動トルク
が限界値を越える関節が一つでもあれば、その関節につ
いて速度変更比率を演算し、演算した速度変更比率を全
ての関節について適用して、加算時間量或いは単位制御
時間を修正すれば、各関節ひいてはロボット先端の軌跡
を当初プログラムした軌跡を辿るように制御できる。
【図1】本発明の一実施例を示すフローチャート
【図2】速度パターンおよびその速度パターンでの動作
角度を示す図
角度を示す図
【図3】電気回路構成を示すブロック図
【図4】ロボットの斜視図
図中、1はロボット本体、2は制御装置、10はモー
タ、11はCPU(位置演算手段、トルク演算手段、サ
ンプリング時間変更手段)、17はロータリエンコーダ
である。
タ、11はCPU(位置演算手段、トルク演算手段、サ
ンプリング時間変更手段)、17はロータリエンコーダ
である。
Claims (2)
- 【請求項1】 速度パターンに基づき、サンプリング時
間が経過する度に、次のサンプリング時間経過時点にお
ける関節の位置を演算する位置演算手段と、 前記関節を前記位置演算手段により演算された位置に動
作させるに必要な駆動トルクを演算するトルク演算手段
と、 このトルク演算手段により演算された駆動トルクが予め
設定された限界値を越えるとき、駆動トルクが前記限界
値を越えないようにするための速度変更比率を演算し、
この速度変更比率に基づいて通常のサンプリング時間よ
りも短い修正サンプリング時間を演算するサンプリング
時間変更手段とを備え、 前記トルク演算手段により演算された駆動トルクが前記
限界値以下のとき、前記位置演算手段により演算された
位置を指令位置として、前記関節が所定の単位制御時間
後にその指令位置まで動作するように制御し、 前記トルク演算手段により演算された駆動トルクが前記
限界値を越えたとき、前記サンプリング時間変更手段に
より演算された前記修正サンプリング時間を前記次のサ
ンプリング時間として前記位置演算手段により再度関節
の位置を演算し、その位置を指令位置として、前記関節
が前記所定の単位制御時間後にその指令位置まで動作す
るように制御する構成としたことを特徴とするロボット
の制御装置。 - 【請求項2】 速度パターンに基づき、サンプリング時
間が経過する度に、次のサンプリング時間経過時点にお
ける関節の位置を演算する位置演算手段と、 前記関節を前記位置演算手段により演算された位置に動
作させるに必要な駆動トルクを演算するトルク演算手段
と、 このトルク演算手段により演算された駆動トルクが予め
設定された限界値を越えるとき、駆動トルクが前記限界
値を越えないようにするための速度変更比率を演算する
速度変更比率演算手段とを備え、 前記トルク演算手段により演算された駆動トルクが前記
限界値以下のとき、前記位置演算手段により演算された
位置を指令位置として、前記関節が単位制御時間後にそ
の指令位置まで移動するように制御し、 前記トルク演算手段により演算された駆動トルクが前記
限界値を越えたとき、前記速度変更比率演算手段により
演算された速度変更比率に基づいて前記単位制御時間を
通常の単位制御時間よりも長く設定し、前記位置演算手
段により演算された位置を指令位置として、前記関節が
前記長く設定された単位制御時間後にその指令位置に動
作するように制御することを特徴とするロボットの制御
装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10084175A JPH11277468A (ja) | 1998-03-30 | 1998-03-30 | ロボットの制御装置 |
| DE19914245A DE19914245B4 (de) | 1998-03-30 | 1999-03-29 | Roboter-Steuervorrichtung |
| US09/280,452 US6127792A (en) | 1998-03-30 | 1999-03-30 | Control apparatus for robot |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10084175A JPH11277468A (ja) | 1998-03-30 | 1998-03-30 | ロボットの制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11277468A true JPH11277468A (ja) | 1999-10-12 |
Family
ID=13823162
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10084175A Pending JPH11277468A (ja) | 1998-03-30 | 1998-03-30 | ロボットの制御装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6127792A (ja) |
| JP (1) | JPH11277468A (ja) |
| DE (1) | DE19914245B4 (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005069907A (ja) * | 2003-08-26 | 2005-03-17 | Mitsubishi Electric Corp | 寿命評価装置 |
| KR100494385B1 (ko) * | 2002-10-14 | 2005-06-13 | 삼성전자주식회사 | 로봇의 속도제어시스템 및 그 속도제어방법 |
| DE102008031668A1 (de) | 2007-07-05 | 2009-01-08 | Denso Wave Inc. | Robotersystem mit Vielgelenk-Robotern und Werkstück-Übergabeverfahren |
| JP2010167516A (ja) * | 2009-01-21 | 2010-08-05 | Fanuc Ltd | 5軸加工機の数値制御装置 |
| KR20190054639A (ko) * | 2017-11-14 | 2019-05-22 | 한국과학기술원 | 자동 타임 워핑에 기반한 온라인 궤적 최적화 시스템 및 방법 |
| WO2021187378A1 (ja) * | 2020-03-18 | 2021-09-23 | ファナック株式会社 | 制御装置及びプログラム |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6286387B1 (en) * | 1999-03-03 | 2001-09-11 | Suzuki Motor Corporation | Three-dimensional input manipulator |
| US10820949B2 (en) * | 1999-04-07 | 2020-11-03 | Intuitive Surgical Operations, Inc. | Medical robotic system with dynamically adjustable slave manipulator characteristics |
| JP3715850B2 (ja) * | 1999-11-08 | 2005-11-16 | キヤノン株式会社 | モータ制御装置及び該装置を用いたプリンタ |
| US6900608B2 (en) * | 2003-04-17 | 2005-05-31 | Automated Assemblies Corporation | Apparatus for controlling a motor |
| US6911792B2 (en) * | 2003-05-20 | 2005-06-28 | Hewlett-Packard Development Company, L.P. | System and method for controlling movement |
| JP3946753B2 (ja) * | 2005-07-25 | 2007-07-18 | ファナック株式会社 | ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置 |
| USD549756S1 (en) * | 2005-12-29 | 2007-08-28 | Sk Telecom Co., Ltd | Home service robot |
| JP4508164B2 (ja) * | 2006-06-26 | 2010-07-21 | トヨタ自動車株式会社 | 多関節ロボット及びその制御プログラム |
| DE102008029657A1 (de) | 2008-06-24 | 2009-12-31 | Technische Universität Carolo-Wilhelmina Zu Braunschweig | Positionsgesteuerter Mechanismus und Verfahren zur Steuerung von in mehreren Bewegungsfreiheitsgraden beweglichen Mechanismen |
| US20110015787A1 (en) * | 2009-01-22 | 2011-01-20 | Yuko Tsusaka | Control apparatus and control method for robot arm, robot, control program for robot arm, and integrated electronic circuit |
| KR101749515B1 (ko) * | 2010-10-27 | 2017-06-21 | 삼성전자 주식회사 | 모터 속도 제어 장치 및 그 방법 |
| CN103025492B (zh) * | 2010-12-08 | 2015-07-22 | 松下电器产业株式会社 | 机器人的控制装置以及控制方法、机器人 |
| DE102011111758A1 (de) * | 2011-08-24 | 2013-02-28 | Dürr Systems GmbH | Steuerverfahren für einen Roboter |
| CN103056879B (zh) * | 2012-12-31 | 2016-04-20 | 东莞艾尔发自动化机械有限公司 | 一种五轴数控机械手臂的制备方法及五轴数控机械手臂 |
| US20140316571A1 (en) * | 2013-04-22 | 2014-10-23 | Quanta Storage Inc. | Articulation module for a robot and control method for the same |
| DE102014103370B4 (de) * | 2014-03-12 | 2017-08-24 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren und Vorrichtung zur zeitdiskreten Steuerung eines Manipulators |
| WO2015137038A1 (ja) * | 2014-03-14 | 2015-09-17 | ソニー株式会社 | ロボットアーム装置、ロボットアーム制御方法及びプログラム |
| CN110313124B (zh) * | 2017-02-09 | 2023-03-21 | 株式会社富士 | 马达控制装置及供料器 |
| JP7267688B2 (ja) * | 2018-05-31 | 2023-05-02 | キヤノン株式会社 | ロボットシステム、ロボットアームの制御方法、物品の製造方法、駆動装置および駆動装置の制御方法 |
| US20220297293A1 (en) * | 2021-03-22 | 2022-09-22 | X Development Llc | Dynamic torque saturation limits for robot actuator(s) |
| CN115431268B (zh) * | 2022-08-31 | 2025-07-04 | 美的集团(上海)有限公司 | 采样方法及装置、采样设备、存储介质和计算机程序产品 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0799486B2 (ja) * | 1984-04-27 | 1995-10-25 | 松下電器産業株式会社 | 角加速度制御方法 |
| US4807153A (en) * | 1986-11-20 | 1989-02-21 | Unimation Inc. | Multiaxis digital robot control having a backup velocity monitor and protection system |
| JPH0820893B2 (ja) * | 1987-06-30 | 1996-03-04 | ファナック株式会社 | 産業用多関節ロボットの最適移動制御方式 |
| EP0530033B1 (en) * | 1991-08-30 | 1999-06-02 | Makino Milling Machine Co. Ltd. | Feed rate control method and apparatus in numerical control system |
| JP2674398B2 (ja) * | 1991-11-13 | 1997-11-12 | 三菱電機株式会社 | ロボットの制御装置 |
| US5323309A (en) * | 1992-01-30 | 1994-06-21 | Siemens Industrial Automation, Inc. | Algorithm for optimizing data sampling in a discrete periodic system with a bounded rate of change for the discrete system periods |
| EP0881044B1 (en) * | 1995-09-11 | 2006-06-07 | Kabushiki Kaisha Yaskawa Denki | Robot controller |
| JPH0991025A (ja) * | 1995-09-26 | 1997-04-04 | Fanuc Ltd | 動作デューティを考慮したロボットの最短時間制御方法 |
| SE505981C2 (sv) * | 1996-02-14 | 1997-10-27 | Asea Brown Boveri | Förfarande för styrning av en industrirobot med hänsyn till moment och belastning |
-
1998
- 1998-03-30 JP JP10084175A patent/JPH11277468A/ja active Pending
-
1999
- 1999-03-29 DE DE19914245A patent/DE19914245B4/de not_active Expired - Fee Related
- 1999-03-30 US US09/280,452 patent/US6127792A/en not_active Expired - Fee Related
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100494385B1 (ko) * | 2002-10-14 | 2005-06-13 | 삼성전자주식회사 | 로봇의 속도제어시스템 및 그 속도제어방법 |
| JP2005069907A (ja) * | 2003-08-26 | 2005-03-17 | Mitsubishi Electric Corp | 寿命評価装置 |
| DE102008031668A1 (de) | 2007-07-05 | 2009-01-08 | Denso Wave Inc. | Robotersystem mit Vielgelenk-Robotern und Werkstück-Übergabeverfahren |
| JP2010167516A (ja) * | 2009-01-21 | 2010-08-05 | Fanuc Ltd | 5軸加工機の数値制御装置 |
| KR20190054639A (ko) * | 2017-11-14 | 2019-05-22 | 한국과학기술원 | 자동 타임 워핑에 기반한 온라인 궤적 최적화 시스템 및 방법 |
| WO2021187378A1 (ja) * | 2020-03-18 | 2021-09-23 | ファナック株式会社 | 制御装置及びプログラム |
| JPWO2021187378A1 (ja) * | 2020-03-18 | 2021-09-23 |
Also Published As
| Publication number | Publication date |
|---|---|
| DE19914245B4 (de) | 2009-05-07 |
| US6127792A (en) | 2000-10-03 |
| DE19914245A1 (de) | 1999-10-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6127792A (en) | Control apparatus for robot | |
| US4594671A (en) | Velocity method of controlling industrial robot actuators | |
| US20070030271A1 (en) | Robot controller and robot control method using spline interpolation | |
| KR101689793B1 (ko) | 모터 제어장치 및 모터 제어 방법 | |
| JP2000190262A (ja) | ロボットの制御装置 | |
| EP0380678B1 (en) | Method of controlling tool attitude of a robot | |
| US4734866A (en) | Computer controller for an industrial multiaxis robot | |
| KR910009266B1 (ko) | 산업용 로보트의 속도 제어방법 및 장치 | |
| JPWO2002066210A1 (ja) | ロボット制御装置 | |
| EP0484551B1 (en) | Acceleration/deceleration time constant control system of robot | |
| JP2004025387A (ja) | 多関節ロボットの負荷重量及び負荷重心位置の自動算出方法 | |
| JPH03130808A (ja) | ロボットの制御方法およびその制御装置 | |
| JP2004025355A (ja) | ロボットの制御装置 | |
| JPH06312392A (ja) | 多関節ロボットの制御装置 | |
| JP3339642B2 (ja) | ロボットの加減速時定数決定方法 | |
| JP2688372B2 (ja) | ロボットの軌跡制御装置 | |
| JPH11345010A (ja) | ロボットの制御装置 | |
| JPH0639066B2 (ja) | 産業用ロボツトの制御方法 | |
| JPH1058368A (ja) | マニピュレータ制御装置 | |
| JP3194829B2 (ja) | ロボットの動作プログラム生成装置 | |
| JP3930956B2 (ja) | 一平面内多自由度スカラ型ロボットの軌跡制御装置および軌跡制御方法、並びに、一平面内多自由度スカラ型ロボットの軌跡制御プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
| JPH06309040A (ja) | ロボットアームの制御装置 | |
| JP2688491B2 (ja) | 産業用ロボットの速度制御方法および装置 | |
| JP2566475B2 (ja) | ロボットの回動軸速度制御装置 | |
| JPH1142577A (ja) | ロボットの制御方法および装置 |