JPH07210251A - ソフトウェアによるフローティングサーボ制御方法 - Google Patents

ソフトウェアによるフローティングサーボ制御方法

Info

Publication number
JPH07210251A
JPH07210251A JP2470994A JP2470994A JPH07210251A JP H07210251 A JPH07210251 A JP H07210251A JP 2470994 A JP2470994 A JP 2470994A JP 2470994 A JP2470994 A JP 2470994A JP H07210251 A JPH07210251 A JP H07210251A
Authority
JP
Japan
Prior art keywords
driving body
loop gain
axis
control
tip
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.)
Withdrawn
Application number
JP2470994A
Other languages
English (en)
Inventor
Tetsuro Kato
哲朗 加藤
Souichi Arita
創一 有田
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 JP2470994A priority Critical patent/JPH07210251A/ja
Publication of JPH07210251A publication Critical patent/JPH07210251A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Control Of Position Or Direction (AREA)

Abstract

(57)【要約】 【目的】 人力によって被駆動物を移動させ、障害物か
らの容易な回避を可能とする柔軟なサーボ制御方法を提
供し、さらに、駆動体の姿勢にかかわらず、駆動体先端
でのバネ定数を常に一定に制御するサーボモータの制御
方法を提供する。 【構成】 位置制御ループ及び速度制御ループを備える
制御系で制御されるサーボモータの制御方法において、
制御する駆動体の回転中心から駆動体先端までの回転平
面上における先端距離Dをソフトウェアから求め、その
求めた先端距離Dに応じてバネ定数が設定値となるよう
に変更した位置ループゲインKp及び速度ループゲイン
Kvによりサーボモータを駆動することによってフロー
ティングサーボ制御を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ロボットコントローラ
等の数値制御装置に関し、ロボットアーム等を駆動する
サーボモータにおいて位置、速度制御ループを有し、位
置を制御するサーボ制御方法に関する。
【0002】
【従来の技術】ロボットアーム等の制御において、該ア
ームを駆動するサーボモータの制御は、位置・速度制御
ループを有し、該サーボモータの位置を制御することに
よってアーム等の被駆動体の位置を制御している。図2
は、従来の被駆動体を制御するサーボ制御系のブロック
図である。
【0003】図2において、1は位置ループにおけるボ
ジションゲインKpの項であり、2は速度ループゲイン
Kvの項である。3,4はモータの伝達関数の項であっ
て、3はトルク定数Ktで、4はイナーシャJである。
また、5はモータ速度vを積分してモータ位置yを求め
る伝達関数である。なお、sはラプラス演算子である。
【0004】移動指令rとモータ位置yより位置偏差e
を求め、該位置偏差eにポジションゲインKpを乗じて
速度指令vcmdを求める。該速度指令vcmdとモー
タ速度vより速度偏差eを求める。この速度偏差eに速
度ループゲインKvを乗じてトルク指令Tcを求め、該
トルク指令Tcによりモータに駆動する。
【0005】ロボットアーム等のサーボモータで駆動さ
れ、位置が制御される被駆動体の制御系は、一般に上述
した制御系により制御される(なお、速度ループの制御
においては、上記図2の例でPI制御を例として記載し
ているが、IP制御とすることもできる。)。
【0006】前記した制御系でサーボモータが制御され
る場合、与えられた位置指令によって目標位置に向かっ
てロボットアーム等の被駆動体が移動している途中にお
いて、障害物があると該被駆動体はその障害物を避ける
ことができず、そのまま目標位置に向かって移動し続け
るとういう現象が生じる。例えば、ロボットがハンドに
よってるワークの工作機械への取付け作業を行う場合、
ワークの精度が悪いと指令した位置とワークの位置との
間に位置ずれが生じて、ワークの工作機械への取付けが
困難となる。しかも、このような場合には、手動によっ
てロボットアームを移動させてワークを工作機械の取付
け位置に移動させることも困難となる。これは、サーボ
モータは目標位置に向かって移動しようとするが、障害
物によりその目標位置に移動することができずに位置偏
差が増大し、この位置偏差にポジションゲインKpを乗
じて得られる速度指令vcmdも増大する。この増大す
る速度指令vcmdとモータの速度(障害物に当接して
いるときには、その速度は「0」である)との差は、速
度ループの持つ積分器によって積分されて増大し、トル
ク指令Tcは大きな値となる。これにより、サーボモー
タは目標位置に達するように最大のトルクを出力するよ
うになる。そのため、人間の力τでは、簡単にアーム等
を移動して障害物を避けて目標位置に達するよう移動さ
せることは困難となる。
【0007】
【発明が解決しようとする課題】そこで、前記の問題点
を解消するために、従来、位置制御ループ及び速度制御
ループを備える制御系で制御されるサーボモータの制御
方法において、柔軟制御指令に入力されると、ポジショ
ンゲイン及び速度ループゲインをそれぞれあらかじめ設
定された設定値に低下させる等のゲイン変更により、速
度指令及びトルク指令の値を小さな値に抑え、サーボモ
ータで駆動される被駆動体の手動による移動を可能とす
るフローティング制御方法が提案されている。
【0008】しかしながら、この提案されている位置制
御ループ及び速度制御ループを備える制御系における柔
軟制御のフローティング制御方法においては、モータの
トルク指令を制御することにより、駆動体にかかる力と
移動距離の関係によって示される柔らかを制御している
ため、駆動体回転中心から実際に力のかかる駆動体先端
のまでの回転平面上での距離により、駆動体先端での柔
らかさが異なる場合がある。
【0009】図2において、移動指令が「0」のときの
外乱トルクτからモータ位置yのでの伝達関数は、 y/τ=1/(J・s2 +Kt・Kv・s+Kt・Kp・Kv) …(1) となる。ここで、速度および加速度が小さいとすると
(s,s2 をほぼ0とする)、上式(1)は、 y/τ=1/Kt・Kp・Kv …(2) となり、あるトルクτを与えた場合のモータの移動量y
は、位置ループゲインKpと速度ループゲインKvに比
例する。
【0010】柔軟制御のフローティング制御の柔らかさ
の程度は、駆動体にかかる力τと移動距離yの関係で示
されるy/τ(以下、バネ定数という)により表され
る。
【0011】図5に示すロボット機構図において、例え
ば、J1軸とJ2軸の2軸により構成される駆動体は、
J1軸がモータにより駆動されて、回転平面の中心点を
駆動体中心としてJ1軸が回転し、そのJ1軸に取り付
けられているJ2軸の先端の駆動体先端がワークWに当
接して力を作用する。
【0012】ワークWに対して力が印加されると、逆作
用によって駆動体の先端に力fがかかり、該力は駆動体
を介してモータに伝達されて、モータに外乱トルクτが
作用する。この駆動体の先端にかかる力fとモータに印
加される外乱トルクτとの間には、次の式(2)で表さ
れる関係がある。
【0013】 τ=D・i・f …(3) ここで、Dは駆動体中心から駆動体先端までの、回転平
面上での距離であり、iはモータ側での減速比、fは駆
動体先端にかかる力である。一方、モータ移動距離yと
駆動体の移動距離Y(rad)との間には、 Y=i・y …(4) の関係がある。前記式(3),(4)から、駆動体先端
にかかる力fと駆動体の移動距離Yとの関係により表さ
れる柔軟制御のフローティング制御の柔らかさの程度で
ある駆動体のバネ定数Y/fは、 Y/f=(D・i2 )/(Kt・Kp・Kv) …(5) となり、前記式(2)で示した駆動体にかかる力fとモ
ータの移動距離yの関係で示されるバネ定数は、トルク
定数Ktや位置ループゲインKpや速度ループゲインK
vが一定であっても、先端距離Dに応じて異なることに
なる。したがって、駆動体の先端距離によって、駆動体
にかかわる柔軟制御のフローティング制御の柔らかさの
程度を表すバネ定数は異なり、駆動体の姿勢によって駆
動体にかかわるバネ定数を調整する必要がある。
【0014】そこで、本発明は前記した従来の問題点を
解決して、人力によって被駆動体を移動させ、障害物か
らの容易な回避を可能とする柔軟なサーボ制御方法を提
供し、さらに、駆動体の姿勢にかかわらず、駆動体先端
でのバネ定数を常に一定に制御するサーボモータの制御
方法を提供することを目的とする。
【0015】
【課題を解決するための手段】本発明は、位置制御ルー
プ及び速度制御ループを備える制御系で制御されるサー
ボモータの制御方法において、制御する駆動体の回転中
心から駆動体先端までの回転平面上における先端距離を
ソフトウェアから求め、その求めた先端距離に応じてバ
ネ定数が設定値となるように変更した位置ループゲイン
及び速度ループゲインによりサーボモータを駆動してサ
ーボ制御することにより、フローティングサーボ制御を
行うことにより、前記目的を達成する。本発明におい
て、駆動体は駆動体の回転中心と被駆動体と接触する駆
動体の駆動体先端との間の、駆動体の回転平面上におけ
る距離を先端距離とし、被駆動体に対して力を印加して
被駆動体を駆動するものであり、その先端距離は、駆動
体の姿勢変化に応じて変更されるものであり、例えば駆
動体を構成する軸の長さと軸間の相互の角度により表す
ことができ、駆動体の駆動を制御するソフトウェアから
求めることができる。また、本発明のバネ定数は位置制
御ループ及び速度制御ループを備える制御系において、
駆動体にかかる力と移動距離との関係により定まる定数
であり、サーボモータのトルク出力の柔らかさを表すも
のである。そして、本発明においては、駆動体の姿勢変
化にかかわらず、このバネ定数が設定した値を保つよう
に位置ループゲイン及び速度ループゲインを求め、この
位置ループゲイン及び速度ループゲインによりサーボ制
御を行うものである。
【0016】また、本発明の位置ループゲインと速度ル
ープゲインの比を一定とすることにより、制御の安定性
を得ることができる。
【0017】
【作用】本発明によれば、位置制御ループ及び速度制御
ループを備える制御系で制御されるサーボモータの制御
方法において、通常のサーボ制御のための移動指令、モ
ータ位置を求め、さらに、駆動体にかかる力と移動距離
との関係により定まる値であるサーボモータのトルク出
力の柔らかさを表す定数をあらかじめ設定し、制御する
駆動体の回転中心から駆動体先端までの回転平面上にお
ける先端距離をソフトウェアから求め、その求めた先端
距離に応じて設定したバネ定数が一定となるとなるよう
に位置ループゲイン及び速度ループゲインを変更し、そ
の変更したた位置ループゲイン及び速度ループゲインに
よりサーボモータを駆動してフローティングサーボ制御
を行う。
【0018】本発明の先端距離は、駆動体を構成する軸
の長さと軸間の相互の角度により表すことができ、その
角度は駆動体の駆動を制御するソフトウェアから求める
ことができる。
【0019】したがって、被駆動体を駆動体する駆動体
の姿勢が変化すると、その姿勢変化に応じて駆動体の回
転中心から駆動体先端までの回転平面上における先端距
離が変化する。制御系はこの先端距離に応じて、制御系
を構成する位置制御ループ及び速度制御ループの位置ル
ープゲイン及び速度ループゲインを、バネ定数が一定と
なるように変更し、その変更した値によりサーボ制御を
行う。これにより、バネ定数は常に一定となって、駆動
体にかかる力と移動距離との関係が常に一定となり、サ
ーボモータのトルク出力を設定された柔らかさに保持す
ることができる。
【0020】
【実施例】以下、本発明の実施例を図を参照しながら詳
細に説明するが、本発明は実施例に限定されるものでは
ない。
【0021】図1は、本発明のソフトウェアによるフロ
ーティングサーボ制御方法を実施するサーボ制御系のブ
ロック図である。図2に示す従来のサーボ制御系と相違
する点は、位置制御ループのポジションゲインKp及び
速度制御ループゲインKvを駆動体の駆動中心からワー
クと接触する先端位置までの回転平面上における先端距
離Dに応じて変更して、常に設定されたバネ定数を保つ
ことにある。
【0022】図3は、本発明の一実施例を実施するロボ
ット制御系のブロック図である。図3中、10はロボッ
トを制御するホストコンピュータ、11は該ホストコン
ピュータから出力される移動指令や制御信号を後述のデ
ィジタルサーボ回路のプロセッサに引渡し、逆にディジ
タルサーボ回路のプロセッサからの各種信号をホストコ
ンピュータ11に引き渡すための共有メモリである。1
2は、上述したサーボ制御を実行するディジタルサーボ
(ソフトウェアサーボ)回路で、プロセッサ、ROM、
RAM等のメモリ等で構成される。13は、ロボット1
4における欠くサーボモータの位置のフィードバック
値、速度のフィードバック値、電流のフィードバック値
等が書き込まれる帰還レジスタである。図5の駆動体
は、J1軸とJ2軸の2軸により構成される駆動体の例
であり、J1軸がモータにより駆動されて、回転平面の
中心点を駆動体中心としてJ1軸が回転し、そのJ1軸
に取り付けられているJ2軸の先端の駆動体先端がワー
クWに当接して力を作用する。J2軸のJ1軸に対する
姿勢は、J1軸の回転平面に対してJ2軸のなす角度θ
により表される。ここで、J1軸のアーム長はL1、J
2軸のアーム長はL2により表されるものとする。
【0023】本発明のソフトウェアによるフローティン
グ制御は、図中のJ1軸の駆動により実施される。
【0024】図5に示すロボット機構図において、前記
したように、駆動体先端にかかる力f(例えば、kg)
と駆動体の移動距離Y(例えば、cm)との関係により
表される柔軟制御のフローティング制御の柔らかさの程
度である駆動体のバネ定数Y/fは、Dを駆動体中心か
ら駆動体先端までの回転平面上での距離、iをモータ側
での減速比、Kpを位置ループゲイン、Kvを速度ルー
プゲインとすると、 Y/f=(D・i2 )/(Kt・Kp・Kv) …(5) である。この式を位置ループゲインKpと速度ループゲ
インKvとの積の値について解くと、 Kp・Kv=(D・i2 )/{Kt・(Y/f)} …(6) となる。ここで、バネ定数Y/fをα(rag/kg)
と設定した場合、前記式(6)は次式(7)となる。
【0025】 Kp・Kv=(D・i2 )/(Kt・α) …(7) したがって、前記式(7)において、駆動体の姿勢が変
化して先端距離Dの値が変更されても、はじめに設定し
たバネ定数αの値が変化しないようにするためには、位
置ループゲインKpと速度ループゲインKvとの積の値
Kp・Kvを先端距離Dの値に応じて前記(7)の右辺
に一致するように変更させればよい。
【0026】一方、図に示す2軸の駆動体において、J
1軸は水平回転軸であり、駆動体の先端距離DはJ2軸
の角度θとJ2軸のアーム長L2に依存し、次式(8)
により表される。
【0027】 D=L2・cosθ …(8) また、バネ定数(=Y/f)をα(rag/kg)と設
定した場合の位置ループゲインpと速度ループゲインK
vの関係は前記式(7),(8)から Kp・Kv=(D・i2 )/(Kt・α) =(L2・cosθ・i2 )/(Kt・α) …(9) となる。この式(9)において、駆動体の姿勢変化は角
度θの角度変化として現れる。この角度θの変化により
先端距離Dの値が変更されても、はじめに設定したバネ
定数αの値が変化しないようにするためには、式(9)
の左辺の項である位置ループゲインKpと速度ループゲ
インKvとの積の値Kp・Kvが、θの値に応じて変化
する式(9)の右辺の値となるように変更させればよ
く、さらに、その制御安定性を崩さないためには位置ル
ープゲインKpと速度ループゲインKvの比が一定であ
ることが条件となる。そこで、通常動作時における位置
ループゲインをKpo、速度ループゲインをKvoとし
て、位置ループゲインKpと速度ループゲインKvの比
が一定となるように変更すると、 Kpo:Kvo=Kp:Kv …(10) の関係から、 Kpo・Kv=Kvo・Kp …(11) の条件式を満足する必要がある。この条件式(11)と
前記式(9)から、位置ループゲインKp及び速度ルー
プゲインKvについて解き、フローティング制御を行う
ときの位置ループゲイン、速度ループゲインをKpf、
Kvfとすると、それぞれ、 Kpf={(Kpo・i2 ・L2・cosθ)/(Kvo・Kt・α)}1/2 …(12) Kvf={(Kvo・i2 ・L2・cosθ)/(Kpo・Kt・α)}1/2 …(13) となる。
【0028】したがって、ソフトウェアによって、位置
ループゲインKp及び速度ループゲインKvの値を、上
記式(12),(13)により設定される値に変更して
フローティング制御を行うことにより、あらかじめ定め
た値のバネ定数により希望とする柔らかさの制御を行う
ことができる。
【0029】(本発明の実施例の作用)次に、前記した
図3のロボット制御系におけるディジタルサーボ回路1
2のプロセッサが実行する、本発明のソフトウェアによ
るフローティングサーボ制御の処理について、図5,6
に示す2軸の駆動体の例について、図4のフローチャー
トにおいてステップSの符号を用いて説明する。
【0030】なお、柔軟制御指令及び解除指令は手動で
オペレータに入力してもよく、また、あらかじめ柔軟な
制御を行うプログラム領域をプログラムで指定してもよ
い。また、通常のサーボ制御を行うときのポジションゲ
インKp、速度ループゲインKvの値は、Kpo、Kv
oとして設定されている。
【0031】ロボットの動作を開始させると、ディジタ
ルサーボ回路12のプロセッサは、位置・速度ループ処
理周期毎、図3に示す処理を実行する。
【0032】ディジタルサーボ回路12のプロセッサ
は、ホストコンピータ10から共有メモリ11を介して
送られてくる移動指令より移動指令rを読み込み(ステ
ップS1)、ロボット14のモータ位置yを読み込む
(ステップS2)。このモータ位置yは、帰還レジスタ
13に書き込まれている位置フィードバック値を用いる
ことができる。また、図示していない入力装置により共
有メモリ11にバネ定数αを入力して、柔軟制御の柔ら
かさの程度の設定を行う(ステップS3)。次に、ホス
トコンピータ10からJ2軸のアーム角度θを取り込む
(ステップS4)。このJ2軸のアーム角度θは、ワー
クに力を印加するための駆動体を駆動するために、ホス
トコンピータ10から駆動体に送られる角度信号を用い
ることができる。前記ステップS4で取り込んだJ2軸
のアーム角度θを用いて、駆動体の駆動体先端の位置を
算出する(ステップS5)。この駆動体の先端位置は、
図5,6において、駆動体の回転平面上における駆動体
中心から駆動体先端の投影位置までの距離Dとして求め
られ、次式により表される。
【0033】 D=L2・cosθ …(14) なお、L2はJ2軸のアーム長である。次に、式(1
4)で表される駆動体の先端距離Dを用いて、本発明の
フローティング制御を行うときの位置ループゲインKp
f、及び速度ループゲインKvfを算出する(ステップ
S6)。この位置ループゲインKpf、及び速度ループ
ゲインKvfの算出においては、前記式(12),(1
3),及び式(14)から得られる、 Kpf={(Kpo・i2 ・D)/(Kvo・Kt・α)}1/2 …(12) Kvf={(Kvo・i2 ・D)/(Kpo・Kt・α)}1/2 …(13) の式を用いて行うことができる。なお、iは減速比であ
る。これにより、共有メモリ11には、通常の制御を行
う場合の位置ループゲインKpo、及び速度ループゲイ
ンKvoと、フローティング制御を行うときの位置ルー
プゲインKpf、及び速度ループゲインKvfが格納さ
れることになる。
【0034】前記ステップS6までの工程により、サー
ボモータの制御を行う場合において、通常の制御に用い
る位置ループゲインKpo、及び速度ループゲインKv
oと、フローティング制御に用いる位置ループゲインK
pf、及び速度ループゲインKvfのゲイン値が準備で
きたことになる。そこで、次に、サーボモータの制御に
おいて、通常の制御を行うか、あるいはループゲインを
駆動体の姿勢に応じて変更するフローティング制御を行
うかの判定を行い(ステップS7)、その判定に応じて
位置ループゲイン値の設定を行う(ステップS8,
9)。ステップS7の判定は、ホストコンピータ10か
らの柔軟制御指令、あるいは手動によるオペレータから
の柔軟制御指令の有無を判断することにより行うことが
でき、例えば、共有メモリ11内に設けたフラグを柔軟
制御指令、及び解除指令によりセット、リセットし、そ
のフラグを監視することにより行うことができる。
【0035】前記ステップS7の判定において、フロー
ティング制御によりループゲインを駆動体の姿勢に応じ
て変更する場合には、フローティング制御に用いる位置
ループゲインKpfをKpの値とし(ステップS8)、
一方、通常制御を行う場合には通常の位置ループゲイン
KpoをKpの値とし(ステップS9)、それぞれの値
を共有メモリ11から読み出して設定する。
【0036】次に、前記ステップS1で読み込んだ移動
指令rから前記ステップS2で読み込んだモータ位置y
を減算して位置偏差eを求め、その位置偏差eに前記ス
テップS8,9で設定した位置ループゲインKpを乗算
して速度指令vcmdを算出する(ステップS10)。
次に、モータ速度の取込みを行う(ステップS11)。
このモータ速度の取込みは、例えば、帰還レジスタ13
内に書き込まれている速度フィードバック値を用いるこ
とができる。そして、速度ループゲインの設定を行うた
めに、サーボモータの制御において、通常の制御を行う
か、あるいはループゲインを駆動体の姿勢に応じて変更
するフローティング制御を行うかの判定を行い(ステッ
プS12)、その判定に応じて速度ループゲイン値の設
定を行う(ステップS13,14)。ステップS12の
判定は、前記ステップS7と同様に行うことができる。
前記ステップS12の判定において、フローティング制
御によりループゲインを駆動体の姿勢に応じて変更する
場合には、フローティング制御に用いる速度ループゲイ
ンKvfをKvの値とし(ステップS13)、一方、通
常制御を行う場合には通常の速度ループゲインKvoを
Kvの値とし(ステップS14)、それぞれの値を共有
メモリ11から読み出して設定する。
【0037】次に、前記ステップS10で算出した速度
指令vcmdから前記ステップS11で読み込んだモー
タ速度vを減算して速度偏差を求め、その速度偏差に前
記ステップS13,14で設定した速度ループゲインK
vを乗算してトルク指令Tcmdを算出する(ステップ
S15)。この算出したトルク指令Tcmdをアンプ等
に出力して、電流ループに引渡し(ステップS16)、
当該位置・速度ループ処理周期の処理を終了する。
【0038】前記位置・速度ループ処理を所定周期毎に
繰り返すことにより、ソフトウェアによるフローティン
グサーボ制御が行われ、駆動体の姿勢に応じて先端位置
を求めて、その先端位置に応じた位置ループゲインと速
度ループゲインによりサーボ制御を行い、設定したバネ
定数の柔らかさを実施することができる。
【0039】(他の実施例の作用)次に、図7,8に示
す3軸の駆動体の例において、本発明のソフトウェアに
よるフローティングサーボ制御の処理を行う場合につい
て説明する。
【0040】図7,8に示す3軸の駆動体は、JI軸,
J2軸,及びJ3軸からなり、各軸が同一平面上にある
例であり、JI軸はモータに接続されて該軸を駆動体中
心として回転する。JI軸の先端にはJ2軸が接続さ
れ、さらに該J2軸の先端にはJ3軸が接続され、J3
軸の先端を駆動体先端としてワークWと当接する。そし
て、J2軸のJI軸に対する取付け角度は回転平面に対
してθ2であり、J3軸のJ2軸に対する取付け角度は
回転平面に対してθ3である。したがって、この駆動体
の姿勢は、この角度θ2,及びθ3により決定されるこ
とになる。なお、J2軸,及びJ3軸のアーム長は、そ
れぞれL2,及びL3とする。この駆動体における先端
距離Dは、図においてJ2軸,及びJ3軸のアーム長を
回転平面に投影した長さD2,D3の和であり、 D=D2+D3 …(14) により表される。
【0041】なお、D2,及びD3は次式で表される。
【0042】 D2=L2・cosθ2 …(15) D3=L3・cosθ3 …(16) この駆動体を用いて、本発明のソフトウェアによるフロ
ーティングサーボ制御の処理は、前記実施例の作用で説
明したフローチャートとほぼ同様にして行われる。前記
作用のフローチャートとの相違は、ステップS4のアー
ム角度θの取込みと、ステップS5の先端位置の算出で
ある。
【0043】アーム角度θの取込みにおいては、J2軸
のJI軸に対する取付け角度を表す角度θ2と、J3軸
のJ2軸に対する取付け角度を表す角度θ3を取り込む
ことにより行うことができ、また、先端位置の算出にお
いては、前記式(15),(16),及び(14)を用
いて行うことができる。
【0044】さらに、別の駆動体に例について、図9,
10に示す3軸の駆動体の例において、本発明のソフト
ウェアによるフローティングサーボ制御の処理を行う場
合について説明する。
【0045】図9,10に示す3軸の駆動体は、JI
軸,J2軸,及びJ3軸からなり、J3軸はJI軸とJ
2軸で形成される平面に対して角度を有して姿勢の例で
あり、JI軸はモータに接続されて該軸を駆動体中心と
して回転する。そして、JI軸の先端にはJ2軸が接続
され、さらに該J2軸の先端にはある角度をなしてJ3
軸が接続され、そのJ3軸の先端を駆動体先端としてワ
ークWと当接する。そして、J2軸のJI軸に対する取
付け角度は回転平面に対してθ2であり、J3軸のJ2
軸に対する取付け角度は回転平面に対してθ3で、J1
軸とJ2軸とで形成される平面に対するJ3軸の取付け
角度はψ3である。したがって、この駆動体の姿勢は、
この角度θ2,θ3,及びψ3により決定されることに
なる。なお、J2軸,及びJ3軸のアーム長は、それぞ
れL2,及びL3とする。この駆動体における先端距離
Dは、図においてJ2軸のアーム長L2を回転平面に投
影した長さD2と、J3軸のアーム長L3のJ1軸とJ
2軸とで形成される平面へ投影した長さをさらに回転平
面に投影した長さD3の和となり、 D=D2+D3 =L2・cosθ2+L3・cosθ3・cosψ3 …(17) により表される。
【0046】この駆動体を用いて、本発明のソフトウェ
アによるフローティングサーボ制御の処理は、前記実施
例の作用で説明したフローチャートとほぼ同様にして行
われる。前記作用のフローチャートとの相違は、ステッ
プS4のアーム角度θの取込みと、ステップS5の先端
位置の算出であり、アーム角度θ,ψの取込みにおいて
は、J2軸のJI軸に対する取付け角度を表す角度θ2
と、J3軸のJ2軸に対する取付け角度を表す角度θ3
と、J1軸とJ2軸とで形成される平面に対するJ3軸
の取付け角度を表すψ3を取り込むことにより行うこと
ができる。
【0047】したがって、前記実施例の作用の説明で
は、駆動体が2軸の場合、3軸の場合を例として説明し
ているが、多軸の場合においても同様にして、ホストコ
ンピータ10から駆動体に送られる角度信号等によりソ
フトウェアからの制御信号を用いることにより軸相互の
位置関係を表す角度を逐次取込んで駆動体の姿勢を求
め、その姿勢における位置ループゲインと速度ループゲ
インを求め、その求めたゲインにより制御を行うことが
でき、これにより、駆動体の姿勢変化した場合でも設定
したバネ定数により所望の柔らかさによる制御を行うこ
とができる。
【0048】
【発明の効果】以上説明したように、本発明によれば、
サーボモータの制御方法において、人力によって被駆動
物を移動させ、障害物からの容易な回避を可能とする柔
軟なサーボ制御を可能とし、さらに、駆動体の姿勢にか
かわらず、駆動体先端でのバネ定数を常に一定に制御す
ることができる。
【図面の簡単な説明】
【図1】本発明のソフトウェアによるフローティングサ
ーボ制御方法を実施するサーボ制御系のブロック図であ
る。
【図2】従来のサーボ制御系のブロック図である。
【図3】本発明の一実施例を実施するロボット制御系の
ブロック図である。
【図4】本発明の実施例における位置・速度ループ処理
のフローチャートである。
【図5】本発明のロボット機構の一駆動体図である。
【図6】本発明のロボット機構の同駆動体の平面図であ
る。
【図7】本発明のロボット機構の他の駆動体図である。
【図8】本発明のロボット機構の同駆動体の平面図であ
る。
【図9】本発明のロボット機構の他の駆動体図である。
【図10】本発明のロボット機構の同駆動体の平面図で
ある。
【符号の説明】
1 位置ループのボジションゲインの項 2 速度ループゲインの項 3,4 モータの伝達関数の項 5 モータ速度からモータ位置を求める伝達関数 10 ホスト 11 共有メモリ 12 ディジタルサーボ回路 13 帰還レジスタ 14 ロボット Kp ポジションゲイン Kv 速度ループゲイン Kt トルク定数 J イナーシャ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成6年2月8日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図1】
【図2】
【図3】
【図5】
【図4】
【図6】
【図7】
【図8】
【図9】
【図10】

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 位置制御ループ及び速度制御ループを備
    える制御系で制御されるサーボモータの制御方法におい
    て、制御する駆動体の回転中心から駆動体先端までの回
    転平面上における先端距離をソフトウェアから求め、該
    先端距離に応じてバネ定数が設定値となるように変更し
    た位置ループゲイン及び速度ループゲインによりサーボ
    モータを駆動することによってサーボ制御することを特
    徴とするソフトウェアによるフローティングサーボ制御
    方法。
  2. 【請求項2】 前記位置ループゲインと速度ループゲイ
    ンの比は一定である請求項1記載のソフトウェアによる
    フローティングサーボ制御方法。
  3. 【請求項3】 前記先端距離は駆動体を構成する軸間の
    角度により求める請求項1,2記載のソフトウェアによ
    るフローティングサーボ制御方法。
JP2470994A 1994-01-26 1994-01-26 ソフトウェアによるフローティングサーボ制御方法 Withdrawn JPH07210251A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2470994A JPH07210251A (ja) 1994-01-26 1994-01-26 ソフトウェアによるフローティングサーボ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2470994A JPH07210251A (ja) 1994-01-26 1994-01-26 ソフトウェアによるフローティングサーボ制御方法

Publications (1)

Publication Number Publication Date
JPH07210251A true JPH07210251A (ja) 1995-08-11

Family

ID=12145710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2470994A Withdrawn JPH07210251A (ja) 1994-01-26 1994-01-26 ソフトウェアによるフローティングサーボ制御方法

Country Status (1)

Country Link
JP (1) JPH07210251A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996026473A1 (fr) * 1995-02-21 1996-08-29 Fanuc Ltd Procede de commande de systeme d'asservissement capable d'adapter la flexibilite sur un systeme de coordonnees orthogonales

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996026473A1 (fr) * 1995-02-21 1996-08-29 Fanuc Ltd Procede de commande de systeme d'asservissement capable d'adapter la flexibilite sur un systeme de coordonnees orthogonales
US5742138A (en) * 1995-02-21 1998-04-21 Fanuc Ltd. Control method for servo system with adjustable softness in rectangular coordinate system

Similar Documents

Publication Publication Date Title
JPH079606B2 (ja) ロボット制御装置
JP2002307344A (ja) ロボット制御装置
JPH0144476B2 (ja)
US5742138A (en) Control method for servo system with adjustable softness in rectangular coordinate system
JPH1133960A (ja) ロボット制御方法
JP3283650B2 (ja) ロボット制御装置
JPH07319547A (ja) ロボットの倣い制御方法
JPH07210251A (ja) ソフトウェアによるフローティングサーボ制御方法
JP2960232B2 (ja) ロボットの制御装置
JP2713702B2 (ja) ロボットの制御方法および装置
JP3350687B2 (ja) ロボット制御方法およびロボット制御装置
JPS59220806A (ja) 工業用ロボツトの制御方法
JPS62154006A (ja) ロボツト制御装置
JP2682977B2 (ja) ロボットの制御方法および装置
JPS61217802A (ja) ロボツト制御装置
JP2019214105A (ja) ロボット制御装置およびロボット制御方法
JPH05250029A (ja) 産業用ロボット
JPH08263128A (ja) ロボットの位置決め制御時の加減速制御方法
JP7182952B2 (ja) 制御方法、制御プログラム、記録媒体、制御装置、ロボットシステム、および物品の製造方法
JPH0285906A (ja) 産業用ロボットの制御装置
JP2537469Y2 (ja) 回転外部軸を有する産業用ロボットの制御装置
JP2594546B2 (ja) ロボツトの仮想内部モデルに基づく制御方法
JP2000084878A (ja) ロボットの制御装置
JPH07205068A (ja) ロボットの座標系設定方法
JP2832903B2 (ja) 倣い制御の座標切替方式

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010403