JPH03164808A - 多自由度ロボツトの制御方法 - Google Patents

多自由度ロボツトの制御方法

Info

Publication number
JPH03164808A
JPH03164808A JP30216489A JP30216489A JPH03164808A JP H03164808 A JPH03164808 A JP H03164808A JP 30216489 A JP30216489 A JP 30216489A JP 30216489 A JP30216489 A JP 30216489A JP H03164808 A JPH03164808 A JP H03164808A
Authority
JP
Japan
Prior art keywords
pulses
robot
pulse
driver
corrected
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
Application number
JP30216489A
Other languages
English (en)
Inventor
Fujio Tajima
不二夫 田島
Toshio Ogiso
敏夫 小木曽
Haruaki Otsuki
治明 大槻
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP30216489A priority Critical patent/JPH03164808A/ja
Publication of JPH03164808A publication Critical patent/JPH03164808A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、その駆動手段に対し位置指令の変分をパルス
列で入力する形式によって駆動されるモータを用いた多
自由度ロボットの制御方法およびパルス列発生方法に関
する。
〔従来の技術〕
モータ制御用のサーボ系をその内部に持つモータ駆動手
段(以下ドライバと称する)に対し、位置指令の変分を
パルス列で入力する形式によって駆動されるモータ(以
下パルス駆動型サーボモータと称する)を用いて多自由
度ロボット(以下。
特に断らない限り、ロボットという表記は多自由度ロボ
ットを意味する)の関節駆動を行う場合。
演算処理手段はパルス発生手段に対し一周期内で発生す
べきパルス数を設定することによってドライバにパルス
を送るだけで良く、演算処理手段における制御に関する
負担が軽減される。しかし。
これはドライバのサーボ系の伝達特性がロボットの応答
性や追従性を規定してしまうことになり、特性に応じた
遅れが生じる。この遅れを打ち消す方法の一つとして、
ドライバ内のサーボ系に対して遅れを補償する要素を電
子回路等で実現し、これを新たに付加するものが考えら
れる。また、別の方法としては、ドライバへ入力される
指令値をドライバ内のサーボ系の伝達特性の逆特性で予
め修正しておくものが考えられる。後者の例として、特
開昭61−169905号公報には、ロボットの各関節
のサーボ系の動特性が非干渉化、定係数化され、一定の
伝達関数を持っているという前提のもとにこの伝達関数
が一次遅れ、および、二次遅れの特性を持つとした場合
の指令値の修正方法が示されている。
〔発明が解決しようとする課題〕
しかし、前者は、モジュールとしての完結性を高めて設
計されたドライバの回路特性を劣化させたり、予想外の
挙動をひきおこしたりするおそれがある。また、ロボッ
トの姿勢変化による伝達特性のパラメータ変動までを考
慮に入れて補償を行おうとした場合、電子回路等でこれ
を実現しようとするとかなり大がかりなものになってし
まうと考えられ、得策とぽ言えない、一方、後者の例で
ある特開昭61−169905号公報に記載の発明では
前提条件としてロボットの各関節の動特性が非干渉化、
定係数化され、一定の伝達関数を持つようになるための
方法なり装置が別途必要となる。また、この公報にはパ
ルス駆動型サーボモータを用いたロボットに対して前置
補償を加える場合の。
位置変分パルス数の具体的な修正方法といったものは示
されていない。
本発明の目的は、パルス駆動型サーボモータを用いたロ
ボットにおいて、ドライバへ入力する位置変分パルス数
をロボットの姿勢に応じたパラメータを用いてソフトウ
ェア上で修正することによって、サーボ系の遅れを補償
し、良好な軌跡制御を実現する制御装置を提供すること
にある。
〔課題を解決するための手段〕
本発明は、上記目的を達成するために、ロボットの制御
手段の内部の、演算処理手段において。
一定周期毎にドライバへ入力される位置変分パルス数を
、ロボットの姿勢に応じて各軸ごとに予め求められた格
納手段によって格納さ九ている時定数のテーブルを用い
て修正し、修正されたパルス数だけのパルスの発生をパ
ルス発生手段に対して設定することで、ロボットの姿勢
に応じて時定数の変化する一次遅れ要素として近似でき
るドライバ内のサーボ系に対し、それと略同−の時定数
を持つ一次すすみ要素を用いた前置補償を加えるように
したものである。
また、修正されたパルス数がパルス発生手段の一度に発
生するように設定し得る最大パルス数を超えないように
パルス数を分割し1位置指令変分パルス数計算周期より
短周期でパルス発生手段に対しパルス発生を設定するよ
うにしたものである。
【作用〕
上記のように、請求項1に記載の構成をとる制御手段に
よって制御される多自由度ロボットにおいて1、ロボッ
トの姿勢に応じて各軸ごとに予め求められ格納手段によ
って格納されている時定数テーブルを用いて一定周期毎
にドライバへ入力されるパルス数を修正し、修正された
パルス数だけのパルスの発生をパルス発生手段に対して
設定するという方法で一次すすみ要素を用いた前置補償
を実現する。それによって、ロボットの姿勢によって変
化する時定数を持つ一次遅れ要素として近似できるドラ
イバ内のサーボ系の伝達特性が打ち消され、全体として
の伝達関数が近似的に1となるため、ドライバのサーボ
系の伝達特性に起因した応答遅れを打ち消すことができ
る。
また、修正されたパルス数を分割し1位置指令計算周期
より短周期でパルス発生手段に対しパルス発生を設定す
ることによって、パルス発生手段をその性能限界以下で
使用できる。
〔実施例〕
以下1本発明の一実施例を図を用いて説明する。
第2図に本発明の一実施例のブロック図を示す。
演算処理部21は一定周期ts毎に位置変分パルス数P
r を計算し、これをパルス発生器22に数値データの
形で渡す、パルス発生器22は渡されたパルス数だけの
パルスをtp<tsなるある一定時間tpの間に均等に
発生するようにパルス幅を決定し、決定されたパルス幅
を持つパルス列をドライバ23へ送る。ドライバ23は
パルスを受は取るごとにパルス発生器に相当する角度だ
けロボット24のモータを回転させる。第3図の32は
ドライバの制御系にロボットの機構の影響が加わったも
のを示している。これをG(s)とする、G(s)は一
般には二次以上の系となるが、二次以上の項の係数が0
次および一次の項の係数に比べて無視できる程度に小さ
い場合、ロボットの姿勢に応じて時定数の変動する一次
遅れ要素として近似することができる。この時の時定数
をT−とするとG(s)=1/(1+T、(θ)S)と
表わせる。これに対しG(s)の入力θrを第3図31
に示されている一次すすみ要素によって θr=  (1+T(or)S)θ。
と変化させることにより ・・・(1) 1+TaS となる、さらに−次すすみの時定数TをT = T a
としてやることによりe=θr、すなわち、θ=θrと
することができる。ここでetはもとの位置指令値、θ
、は一次すすみ要素によって修正された指令値、θは位
置応答であり、θ1.θ1.θはそれらのラプラス変換
形である。
次に、−次すすみ補償に相当するパルス数の修正方法を
示す。
(1)式をラプラス逆変換すると θ、=or + Te3             ・
・・(2)となる、ここで任意の時刻t lI”l= 
(n + l ) t 5(n=o、1.・・・;  
jj:位置変分パルス数計算同期)において計算される
位置変分パルス数をPr(ts÷1)とし、その時の位
置指令値をθ。
(t adz)とする0時刻10=0における位置を基
準とすると k”0 =θr(ta)+R−Pr(ta”i)   −(3)
と表わせる。Rは角度とパルス数の変換定数である。一
方。
or(ta)=RPr(ta)/ls      −(
4)すなわち1位置度分パルス数をその計算周期で割っ
たもので速度を近似すると修正された指令値は。
or(ta)=θr(t−)+(T/1s)RPr(t
−)・・・(5)となる、よって時刻t、における修正
前の指令値は or(tn)”or(ta)−(’r/1s)Rpr(
t++)・・・(6) となる。
(3)。
(6)より or(tm+1)=θr(ta)−(’r/1s)Rp
r(ta)+ RP r (t s )       
    ・・・(7)(5)のn−4n + 1として
(7)を代入するとor(tm÷1)=θr(ta”i
)+(T/ tx)RPr(tact);or(tJ +R[Pr(t a+i)+(T/ t a)(Pr(
t Il+1)−Pr(t 、l)1・・・(8) (8)より位置変分パルス数P r (t a”i)は
以下のように修正すればよいことがわかる。
Pr(tact)=Pr(ta◆t)+T’ (Pr(
tact)−Pr(tn)) 19)ただし、 Pr(
ta”t)は修正された位置パルス数、T’ =T/l
sである。各軸におけるT′は姿勢によって多少変化す
るため1代表的ないくつかの姿勢における値をテーブル
化してそれを補間することによって値を得るものとする
。ロボットの軸の数を2とした場合のテーブルの一部分
を第4図に示す、なお、(9)式はパルス数列に関する
再帰的な形式で書かれており、この処理をコントローラ
のプログラム上に付加するのは容易である。また、わず
か数命令で記述し得るため、演算時間の増加は殆ど生じ
ない。
以上によって修正された位置変分パルス数がパルス発生
器に渡される。パルス発生器は渡されたパルス数からな
るパルス列がある設定された時間内に均等に出力される
ようにパルス幅を調整し、ドライバへパルス列を送る。
この時、渡されたパルス数がパルス発生器の一度に発生
し得るパルス数を超えることがある。このような場合の
パルス落ちを防ぐために、位置変分パルス数の計算周期
t!より短周期でパルスを分割出力してやる。ロボット
の軸数がnの場合のむ!の間の処理をタイムチャートで
示すと、従来、第5図右のようであったものを第5図右
のようにすることでこれを実現するものとする。その際
に、コントローラのメモリ上に第6図のようなパルス数
分割出力用サイクリックバッファを用意する0図中のラ
ベル^XlSx[j] (i* j=1* n)はi軸
のj番目の分割出力データの格納場所を表わす、ブロッ
クごと(7)AXISI〜AXISn、および、ブロッ
ク1〜ブロツクnはメモリ上の連続した番地に割り付け
られている。ブロック1におけるAXISI〜AXIS
nのインデックスは順にn、n−1゜・・・ 1となっ
ており、以下1次のブロックへ行くごとに各々のインデ
ックスは1ずつ増える。途中でインデックスがnに達し
たものについてはその次のブロックでのインデックスは
1になりそこからまた、1ずつ増してゆく、すなわち、
任意のAXISk (1<k<n)におけるインデック
スはブロック(k+1 ■odn)で1となり、その直
前のブロック((k sod n) +(k div 
n)on)でnとなる。このようにして各軸ごとにイン
デックスの1ずつずれたサイクリックバッファが形成さ
れる。第5図右に示すように、tsの中で任意のに軸(
1<k<n)に関する処理を行う順番が来た時には、そ
の処理手順の先頭でブロックkに格納されている1軸〜
n軸への分割出力パルス数に応じて各軸へパルスを出力
する。よって上記のように出力データを配置すると、マ
イクロプロセッサの間接データ参照形式の一つであるポ
ストインクリメントアドレスレジスタ間接形式によるデ
ータの番地順の逐次参照を行うことができ、複雑なアド
レス計算が不要になるため、プログラム上の処理時間、
および、軸間のパルス出力時刻のタイムラグを短縮する
ことができる。ブロックにのAXISkのインデックス
はれである。AXISkin]には1回前のtxで分割
された出力パルス数の最後の値が格納されており、ブロ
ックにの値を出力した時点で前回に計算された位置変分
パルス数をすべて出し終えたことになる0次に、バッフ
ァへの分割出力パルス数の格納を行う6分割の方法は色
々考えられるが1分割された出力パルス数の値とそれら
の出力の順序が重要な意味を持つ場合がある。既述のサ
イクリックバッファにインデックスで順序づけをしたの
はこの理由による。
分割格納の一例を第7図に基づいて説明する。ステップ
1でに軸への出力パルス数を計算する。ステップ2でそ
の値をnで割り、商dと余りm(0< m < n )
を求める。ステップ3で1からnのiに対して、AXI
Sk [il :=dとする。ステップ4で余りmが0
かどうかを判断する。m#0の場合は、1からmまでの
iに対してAXISk[il  :=AXISk [i
l +1とする。こうすることにより位置変分パルス数
の分割出力の値を±1パルスの範囲で均等にすることが
でき、出力パルスの不均等に起因する振動の発生等を抑
制することができる。また、ここでは分割出力パルス数
を均等にする方法を示したが、−回前と一回後の位置変
分パルス数を知ることで、この間を階段状になめらかに
つなぐ等の他の方法も考えられる。
〔発明の効果〕
本発明によれば、多自由度ロボットとその制御装置にお
いて、ドライバの伝達特性に起因した応答遅れを打ち消
すことができるので、ロボットの位置および速度の追従
性を向上させることができる。
修正されたパルス数を分割し、パルス数の計算周期より
短周期でパルス発生器にパルス発生を設定することによ
ってパルス発生器を性能限界以下で使用でき、高速時に
おけるパルス数の修正に伴うパルス落ちを防ぐことがで
きる。
【図面の簡単な説明】
第1図は本発明の一実施例の方法のフローチャート、第
2図は本発明の一実施例のブロック図。 第3図は前置補償要素と補償されるサーボ系の伝達特性
図、第4図は一次すすみ前置補償に用いる時定数テーブ
ルの説明図、第5図は位置変分出力パルス数計算同期に
おけるタイムチャート、第6図は分割出力パルス数用サ
イクリックバッファのデータの説明図、梶7図はバッフ
ァへの値の格納手順のフローチャートである。 21・・・制御装置の演算処理部、22・・・パルス発
生器、23・・・ドライバ、24・・・ロボット本体、
31・・・姿勢対応−次すすみ補償要素、32・・・ド
ライバの制御系+ロボットの機構系の影響を姿勢対応−
次おくれ要素で近似したもの。

Claims (1)

  1. 【特許請求の範囲】 1、演算処理のプログラムおよびデータを格納する格納
    手段と、前記格納手段に格納された内容に従つて演算処
    理を行う演算処理手段と、前記演算処理手段によつて一
    定周期毎に設定された数のパルスをその一周期内に発生
    することのできるパルス発生手段と、発生したパルスを
    受けてその内部に構成されているサーボ系によつてモー
    タを駆動するモータ駆動手段とからなるロボットの制御
    手段によつて制御される多自由度ロボットにおいて、 一定周期毎に位置変分パルス数を計算し、計算されたパ
    ルス数を前記多自由度ロボットの姿勢に応じて予め求め
    られ前記格納手段によつて格納されている各軸ごとの時
    定数のテーブルを用いて一次すすみ前置補償に相当する
    パルス数の修正を行い、修正されたパルス数を用いて位
    置指令を行うことを特徴とする多自由度ロボットの制御
    方法。 2、請求項1において、修正された前記位置変分パルス
    数を、前記パルス発生手段に対して一度に発生するよう
    に設定し得る最大パルス数を超えないように分割し、前
    記位置変分パルス数の計算周期より短い周期で前記パル
    ス発生手段へパルス列発生を設定するパルス列発生方法
JP30216489A 1989-11-22 1989-11-22 多自由度ロボツトの制御方法 Pending JPH03164808A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30216489A JPH03164808A (ja) 1989-11-22 1989-11-22 多自由度ロボツトの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30216489A JPH03164808A (ja) 1989-11-22 1989-11-22 多自由度ロボツトの制御方法

Publications (1)

Publication Number Publication Date
JPH03164808A true JPH03164808A (ja) 1991-07-16

Family

ID=17905695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30216489A Pending JPH03164808A (ja) 1989-11-22 1989-11-22 多自由度ロボツトの制御方法

Country Status (1)

Country Link
JP (1) JPH03164808A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108638074A (zh) * 2018-06-13 2018-10-12 杭州电子科技大学 一种能够消除回程误差的多自由度机械臂回转方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108638074A (zh) * 2018-06-13 2018-10-12 杭州电子科技大学 一种能够消除回程误差的多自由度机械臂回转方法
CN108638074B (zh) * 2018-06-13 2020-04-07 杭州电子科技大学 一种能够消除回程误差的多自由度机械臂回转方法

Similar Documents

Publication Publication Date Title
KR100951754B1 (ko) 기계 위치 제어 장치
US20080218116A1 (en) Servo controller
JP2009512042A (ja) 機械の移動可能な機械要素の移動案内のための方法および装置
CN111687838B (zh) 机械手轨迹跟随误差的在线补偿方法、系统及存储介质
CN107942680B (zh) 一种机器人抖动抑制方法
Moulin et al. On the accuracy of end-point trajectory tracking for flexible arms by noncausal inverse dynamic solutions
EP1023973B1 (en) Robot control method and device
WO2019049328A1 (ja) サーボ制御装置
CN111033396A (zh) 用于模型预测控制的控制参数的设定方法
CN110955192B (zh) 伺服控制装置、机器人及伺服控制方法
JPH04255007A (ja) 制振制御方式
TWI516888B (zh) 伺服控制裝置
CN109388099B (zh) 利用模型支持的误差补偿对工件的加工
CN115151883B (zh) 隔振控制装置及隔振控制方法
JPH03164808A (ja) 多自由度ロボツトの制御方法
JP3943061B2 (ja) サーボ制御装置
JP2008015610A (ja) 制御装置
JP2004070790A (ja) 機械の位置制御装置および機械の位置制御システム
JP2002325473A (ja) 振動抑制装置
JP6469320B1 (ja) サーボ制御装置
JP3970091B2 (ja) 制御装置
JPH0454605A (ja) 多自由度ロボツトの制御方法
KR970002259B1 (ko) 서보모터의 제어방법
JPH06222817A (ja) ロボットのウィービング制御装置
Trautt et al. Inverse dynamics of flexible manipulators with coulomb friction or backlash and non-zero initial conditions