JPH1133954A - ロボットの加減速制御方法 - Google Patents
ロボットの加減速制御方法Info
- Publication number
- JPH1133954A JPH1133954A JP9207374A JP20737497A JPH1133954A JP H1133954 A JPH1133954 A JP H1133954A JP 9207374 A JP9207374 A JP 9207374A JP 20737497 A JP20737497 A JP 20737497A JP H1133954 A JPH1133954 A JP H1133954A
- Authority
- JP
- Japan
- Prior art keywords
- acceleration
- joint
- index
- command
- ring buffer
- 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
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
(57)【要約】
【課題】 本発明の課題は移動加速度を制限しなければ
ならないワークの搬送において、従来技術において各関
節の許容角加速度は固定値であったが、これを把持する
ワークの許容角加速度に合わせて自動的に変えさせるこ
とにより、ワークを把持しているときは、ワークに過度
の加速度、減速度を加えることなく、スムーズに搬送を
行い、かつワークを把持していないときは、ロボット本
体が出しうる最大限度の加速度、減速度でロボットを動
作させることにより、最短時間で効率良く作業を行うこ
とを可能にし、かつ速度を変化させながら複数の教示点
を教示するような面倒な教示をなくしたロボットの加減
速制御方法を提供。 【構成】 前記各関節の許容角加速度は、ワークを把持
しているときはワーク搬送に許容されるワーク搬送許容
角加速度を用い、ワークを把持していないときは各関節
自身の許容角加速度を用いる。
ならないワークの搬送において、従来技術において各関
節の許容角加速度は固定値であったが、これを把持する
ワークの許容角加速度に合わせて自動的に変えさせるこ
とにより、ワークを把持しているときは、ワークに過度
の加速度、減速度を加えることなく、スムーズに搬送を
行い、かつワークを把持していないときは、ロボット本
体が出しうる最大限度の加速度、減速度でロボットを動
作させることにより、最短時間で効率良く作業を行うこ
とを可能にし、かつ速度を変化させながら複数の教示点
を教示するような面倒な教示をなくしたロボットの加減
速制御方法を提供。 【構成】 前記各関節の許容角加速度は、ワークを把持
しているときはワーク搬送に許容されるワーク搬送許容
角加速度を用い、ワークを把持していないときは各関節
自身の許容角加速度を用いる。
Description
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はワークの搬送を行う
ロボットにおいて、ワークを把持しているときは、ワー
クに過度の加速度、減速度を加えることなく、スムーズ
に搬送を行い、かつワークを把持していないときは、ロ
ボット本体が出しうる最大限度の加速度、減速度でロボ
ットを動作させることにより、最短時間で効率良く作業
を行うためのロボットの加減速制御方法に関する。
ロボットにおいて、ワークを把持しているときは、ワー
クに過度の加速度、減速度を加えることなく、スムーズ
に搬送を行い、かつワークを把持していないときは、ロ
ボット本体が出しうる最大限度の加速度、減速度でロボ
ットを動作させることにより、最短時間で効率良く作業
を行うためのロボットの加減速制御方法に関する。
【0002】
【従来の技術】従来は本出願人が出願した特開平6 ─13
1018号公報に示すような制御方法によりロボットの加減
速制御を行っていた。同公報では、各関節の許容角加速
度をもとに制御していたが、この許容角加速度は固定値
であり、各関節自身が出しうる最大角加速度を使用して
いた。しかし、ワークの搬送を行うロボットにおいて、
ロボットの先端にワークを把持することになり、例えば
水などの流体物などのようにワークによってはその移動
加速度に制限があるものもある。また例えばエア吸着ハ
ンドなどワークの把持がしっかりとできないために移動
加速度を制限しなければならない場合もあった。
1018号公報に示すような制御方法によりロボットの加減
速制御を行っていた。同公報では、各関節の許容角加速
度をもとに制御していたが、この許容角加速度は固定値
であり、各関節自身が出しうる最大角加速度を使用して
いた。しかし、ワークの搬送を行うロボットにおいて、
ロボットの先端にワークを把持することになり、例えば
水などの流体物などのようにワークによってはその移動
加速度に制限があるものもある。また例えばエア吸着ハ
ンドなどワークの把持がしっかりとできないために移動
加速度を制限しなければならない場合もあった。
【0003】
【発明が解決しようとする課題】従来のロボットでかか
る移動加速度を制限しなければならないワークの搬送で
は、移動経路上に複数の指令位置を教示し、指令位置毎
に徐々に指令速度を変えるような教示を行なって対処し
ていた。しかしこのような速度を変化させながら複数の
教示点を教示する教示は面倒で教示時間も増えてしまう
などの課題があった。
る移動加速度を制限しなければならないワークの搬送で
は、移動経路上に複数の指令位置を教示し、指令位置毎
に徐々に指令速度を変えるような教示を行なって対処し
ていた。しかしこのような速度を変化させながら複数の
教示点を教示する教示は面倒で教示時間も増えてしまう
などの課題があった。
【0004】本発明の課題は移動加速度を制限しなけれ
ばならないワークの搬送において、従来技術において各
関節の許容角加速度は固定値であったが、これを把持す
るワークの許容角加速度に合わせて自動的に変えさせる
ことにより、ワークを把持しているときは、ワークに過
度の加速度、減速度を加えることなく、スムーズに搬送
を行い、かつワークを把持していないときは、ロボット
本体が出しうる最大限度の加速度、減速度でロボットを
動作させることにより、最短時間で効率良く作業を行う
ことを可能にし、かつ速度を変化させながら複数の教示
点を教示するような面倒な教示をなくしたロボットの加
減速制御方法を提供することにある。
ばならないワークの搬送において、従来技術において各
関節の許容角加速度は固定値であったが、これを把持す
るワークの許容角加速度に合わせて自動的に変えさせる
ことにより、ワークを把持しているときは、ワークに過
度の加速度、減速度を加えることなく、スムーズに搬送
を行い、かつワークを把持していないときは、ロボット
本体が出しうる最大限度の加速度、減速度でロボットを
動作させることにより、最短時間で効率良く作業を行う
ことを可能にし、かつ速度を変化させながら複数の教示
点を教示するような面倒な教示をなくしたロボットの加
減速制御方法を提供することにある。
【0005】
【課題を解決するための手段】このため本発明は、ロボ
ットのツール先端位置を直交座標系で表現し、直交座標
系に定義された2点を結ぶ直線に沿ってツール先端位置
を指示されたスピードで移動させるよう、アクチュエー
タを含む関節駆動系が関節角及び関節角速度を指令値と
して受け取って関節毎に独立にサーボ系を構成する多関
節ロボットの関節座標系に独立な第2の座標系を定義
し、現在位置および目標位置によって決める軌跡を前記
第2の座標系上に与え、指令された移動速度からあらか
じめ決められた周期毎に指令する目標位置までの前記第
2の座標系上の軌跡の等間隔の中間点を計算し、前記各
関節の許容角加速度から前記軌跡の移動方向の最大加速
度をあらかじめ求め、前記最大加速度から前記軌跡の移
動方向の実現可能な速度を求め、前記計算した軌跡上の
中間点が前記最大加速度の制限によって達成可能かどう
かを判定し、そして、可能でなければ直前に指令した中
間点に対して加減速可能な次の中間点に変更して新たな
中間点とする、ロボットの軌跡制御方法において、前記
各関節の許容角加速度は、ワークを把持しているときは
ワーク搬送に許容されるワーク搬送許容角加速度を用
い、ワークを把持していないときは各関節自身の許容角
加速度を用いることを特徴とするロボットの加減速制御
方法を提供することによって上述した課題を解決した。
ットのツール先端位置を直交座標系で表現し、直交座標
系に定義された2点を結ぶ直線に沿ってツール先端位置
を指示されたスピードで移動させるよう、アクチュエー
タを含む関節駆動系が関節角及び関節角速度を指令値と
して受け取って関節毎に独立にサーボ系を構成する多関
節ロボットの関節座標系に独立な第2の座標系を定義
し、現在位置および目標位置によって決める軌跡を前記
第2の座標系上に与え、指令された移動速度からあらか
じめ決められた周期毎に指令する目標位置までの前記第
2の座標系上の軌跡の等間隔の中間点を計算し、前記各
関節の許容角加速度から前記軌跡の移動方向の最大加速
度をあらかじめ求め、前記最大加速度から前記軌跡の移
動方向の実現可能な速度を求め、前記計算した軌跡上の
中間点が前記最大加速度の制限によって達成可能かどう
かを判定し、そして、可能でなければ直前に指令した中
間点に対して加減速可能な次の中間点に変更して新たな
中間点とする、ロボットの軌跡制御方法において、前記
各関節の許容角加速度は、ワークを把持しているときは
ワーク搬送に許容されるワーク搬送許容角加速度を用
い、ワークを把持していないときは各関節自身の許容角
加速度を用いることを特徴とするロボットの加減速制御
方法を提供することによって上述した課題を解決した。
【0006】
【発明の実施の形態】以下添付した図1乃至図6に基づ
きこの発明を詳細に説明する。図6は本発明の一実施例
ロボットの加減速制御方法に使用する例示的な2つのア
ームを有する多関節ロボットの説明図を示す。図6に示
すロボットの関節角を図のようにθ1,θ2 と定め、第
1アームの回転中心を原点とする第1の座標系(x1,x2)
を定義する。ロボットの関節座標系に独立な第2の座標
系を定義し、現在位置および目標位置によって決める軌
跡を前記第2の座標系上に与え、アクチュエータを含む
関節駆動系は、現在点P0 及び目標点P1 によって決め
る軌跡を前記第2の経路座標系p上に与え、指令された
移動速度vからあらかじめ決められた指令周期毎に指令
する目標点P1 までの経路座標系p上の軌跡の等間隔の
中間点A1...Amを求め、角関節駆動用サーボアンプは
関節角θ1 ,θ2 あるいは関節角速度を指令値として受
け取って関節毎に独立にサーボ系を構成するようされて
いるものとする。
きこの発明を詳細に説明する。図6は本発明の一実施例
ロボットの加減速制御方法に使用する例示的な2つのア
ームを有する多関節ロボットの説明図を示す。図6に示
すロボットの関節角を図のようにθ1,θ2 と定め、第
1アームの回転中心を原点とする第1の座標系(x1,x2)
を定義する。ロボットの関節座標系に独立な第2の座標
系を定義し、現在位置および目標位置によって決める軌
跡を前記第2の座標系上に与え、アクチュエータを含む
関節駆動系は、現在点P0 及び目標点P1 によって決め
る軌跡を前記第2の経路座標系p上に与え、指令された
移動速度vからあらかじめ決められた指令周期毎に指令
する目標点P1 までの経路座標系p上の軌跡の等間隔の
中間点A1...Amを求め、角関節駆動用サーボアンプは
関節角θ1 ,θ2 あるいは関節角速度を指令値として受
け取って関節毎に独立にサーボ系を構成するようされて
いるものとする。
【0007】図1は軌跡上の非線型制御を含んだ関節毎
に独立したサーボ系全体のブロック図を示し、ロボット
ハンド40に取り付けたワークの把持を検知するリミッ
トスイッチ入力回路42が軌跡上の非線型制御処理部2
にワークの把持を検知する信号を入力するようにされて
いる。1は指令位置を演算し決定する指令位置演算部、
3は位置ループ・速度ループ・電流ループからなるサー
ボアンプユニット、4がACサーボモータ、そして5が
位置検出器である。ロボットハンド40が図示しないワ
ークを把持すると、リミットスイッチがONし、リミッ
トスイッチ入力回路42を介しその入力情報をロボット
コントロラーの入力回路を介して軌跡上の非線型制御を
実施する非線型制御処理部2に入力される。軌跡上の非
線型制御を実施する非線型制御処理部2は、指令位置演
算部1とサーボアンプユニット3との間にあり、指令位
置演算部1が出力した指令位置(以下要求指令位置とい
う)を入力としこれに軌跡上非線型処理を加えてサーボ
アンプユニット3へ出力する(以下実指令位置という)
ものである。
に独立したサーボ系全体のブロック図を示し、ロボット
ハンド40に取り付けたワークの把持を検知するリミッ
トスイッチ入力回路42が軌跡上の非線型制御処理部2
にワークの把持を検知する信号を入力するようにされて
いる。1は指令位置を演算し決定する指令位置演算部、
3は位置ループ・速度ループ・電流ループからなるサー
ボアンプユニット、4がACサーボモータ、そして5が
位置検出器である。ロボットハンド40が図示しないワ
ークを把持すると、リミットスイッチがONし、リミッ
トスイッチ入力回路42を介しその入力情報をロボット
コントロラーの入力回路を介して軌跡上の非線型制御を
実施する非線型制御処理部2に入力される。軌跡上の非
線型制御を実施する非線型制御処理部2は、指令位置演
算部1とサーボアンプユニット3との間にあり、指令位
置演算部1が出力した指令位置(以下要求指令位置とい
う)を入力としこれに軌跡上非線型処理を加えてサーボ
アンプユニット3へ出力する(以下実指令位置という)
ものである。
【0008】図2は軌跡上の非線型制御処理部2の概略
構成を表わしたブロック図で、まずロボットハンド40
に取り付けた図示しないワークの把持を検知するリミッ
トスイッチ41のON/OFF信号がリミットスイッチ
入力回路42に送られ、信号がONであれば、ワーク搬
送に許容されるワーク搬送許容角加速度を採用し、OF
Fであれば、各関節の許容角加速度を採用する。そし
て、ここで採用した許容角加速度αi から、軌跡の移動
方向の最大加速度をあらかじめ求め、最大加速度から軌
跡の移動方向の実現可能な速度を求め、前記計算した軌
跡上の中間点が前記最大許容角加速度αi の制限によっ
て達成可能かどうかが判定される。図中のεi は指令値
偏差(要求指令位置から実指令位置を差引いたもの)、
vi は指令位置が単位時間当りに進んでよい距離即ち指
令値速度(添字iは関節番号を意味し、vi は該番号の
関節に対する指令値速度を示す)、許容角加速度αi は
関節番号iの関節に対する単位時間当りに指令値速度v
i が変化してもよい量即ち指令値加速度である。ここで
前記中間点間の距離を移動するに必要な一定計算周期毎
に、例えば20msec毎に、非線型処理ルーチンは1回スキ
ャンを実行するものとする。1秒間にスキャンする回数
をc回とすると、前記一定計算周期が20msec毎であれ
ば、1秒間にスキャンする回数は50回となる。
構成を表わしたブロック図で、まずロボットハンド40
に取り付けた図示しないワークの把持を検知するリミッ
トスイッチ41のON/OFF信号がリミットスイッチ
入力回路42に送られ、信号がONであれば、ワーク搬
送に許容されるワーク搬送許容角加速度を採用し、OF
Fであれば、各関節の許容角加速度を採用する。そし
て、ここで採用した許容角加速度αi から、軌跡の移動
方向の最大加速度をあらかじめ求め、最大加速度から軌
跡の移動方向の実現可能な速度を求め、前記計算した軌
跡上の中間点が前記最大許容角加速度αi の制限によっ
て達成可能かどうかが判定される。図中のεi は指令値
偏差(要求指令位置から実指令位置を差引いたもの)、
vi は指令位置が単位時間当りに進んでよい距離即ち指
令値速度(添字iは関節番号を意味し、vi は該番号の
関節に対する指令値速度を示す)、許容角加速度αi は
関節番号iの関節に対する単位時間当りに指令値速度v
i が変化してもよい量即ち指令値加速度である。ここで
前記中間点間の距離を移動するに必要な一定計算周期毎
に、例えば20msec毎に、非線型処理ルーチンは1回スキ
ャンを実行するものとする。1秒間にスキャンする回数
をc回とすると、前記一定計算周期が20msec毎であれ
ば、1秒間にスキャンする回数は50回となる。
【0009】各軸毎にまずはステップ21で要求指令位
置から実指令位置を差引いた指令値偏差εi を算出し、
制御切換部であるステップ22で、指令値偏差εi と前
記許容角加速度である線型非線型切換点の値αi /c2
と比較する。εi ≦(αi /c2 )であればステップ2
3に移りそこで線型処理をし、εi >(αi /c2 )で
あればステップ27に移り非線型処理を行う。これらの
処理は、図3に示す如く減衰時に指令値偏差εi がαi
/c2 に達した時に非線型制御から線型制御に切り換え
ることによってよりスムーズな位置決めを可能にするた
めである。線型処理または非線型処理によって得られた
指令値速度vi にステップ25で加速制限を加えたあ
と、更にステップ26で積分処理を加えることによって
実指令位置が決定され、ステップ28に入力される。
置から実指令位置を差引いた指令値偏差εi を算出し、
制御切換部であるステップ22で、指令値偏差εi と前
記許容角加速度である線型非線型切換点の値αi /c2
と比較する。εi ≦(αi /c2 )であればステップ2
3に移りそこで線型処理をし、εi >(αi /c2 )で
あればステップ27に移り非線型処理を行う。これらの
処理は、図3に示す如く減衰時に指令値偏差εi がαi
/c2 に達した時に非線型制御から線型制御に切り換え
ることによってよりスムーズな位置決めを可能にするた
めである。線型処理または非線型処理によって得られた
指令値速度vi にステップ25で加速制限を加えたあ
と、更にステップ26で積分処理を加えることによって
実指令位置が決定され、ステップ28に入力される。
【0010】フローチャート上での一連の処理を説明す
ると上記の如くとなるが、出願人はこれを実際に実現さ
せるひとつの方策として、特開平6 ─131018号公報で開
示した「指令値リングバッファ」なるものを使用した。
その構造の概念図を図4に示す。これは図6で現在点P
0 から目標点P1 までの経路座標系p上の軌跡の一定計
算周期毎に、例えば20msec毎に、指令位置演算部1が出
力してきた要求指令位置θ1 ,θ2 ,..θimax(imax=最
大関節数) を、0から最大PMAX 回数分まで、蓄積でき
るキャパシティを有する。蓄積された指令値リングバッ
ファのデータは予め定めた時間だけ遅れて、前記一定計
算周期毎に、蓄積された指令値リングバッファから読み
出され、前記予め定めた時間分のデータ蓄積が可能にさ
れる。
ると上記の如くとなるが、出願人はこれを実際に実現さ
せるひとつの方策として、特開平6 ─131018号公報で開
示した「指令値リングバッファ」なるものを使用した。
その構造の概念図を図4に示す。これは図6で現在点P
0 から目標点P1 までの経路座標系p上の軌跡の一定計
算周期毎に、例えば20msec毎に、指令位置演算部1が出
力してきた要求指令位置θ1 ,θ2 ,..θimax(imax=最
大関節数) を、0から最大PMAX 回数分まで、蓄積でき
るキャパシティを有する。蓄積された指令値リングバッ
ファのデータは予め定めた時間だけ遅れて、前記一定計
算周期毎に、蓄積された指令値リングバッファから読み
出され、前記予め定めた時間分のデータ蓄積が可能にさ
れる。
【0011】軌跡上の非線型制御処理ルーチンは前記一
定計算周期毎に、例えば20msec毎に、次々とリングバッ
ファ6上に要求指令値を格納していき(以下格納される
場所をインデクス:0〜Pmax という)、各関節につい
て図2の処理を施し実現できる実指令位置を算出し、蓄
積された指令値リングバッファのデータを読み出してこ
れと比較することにより、求まった実指令位置がリング
バッファ上のどこに在るかを探索する。探索の際は求ま
った実指令位置がリングバッファ6上のとなりあったイ
ンデクスの位置データ間にあるときはリングバッファ上
の求まった実指令位置をはさむ2つのとなりあったイン
デクスの位置データを単純補間することによって、当該
関節が進行しても良いインデクスの増分として導き出す
のである。こうして全ての関節について進行しても良い
インデクス増分が求まったら、これらの最小値を選択し
これを今回のインデクス増分と決定する。ここで最小値
を選択することで全ての関節が動作可能な実指令位置を
求めることができるので、軌跡上の非線型制御が成り立
つ。今回のインデクス増分が決定されたら、このインデ
クス増分又は、インデクス増分がリングバッファ6上の
となりあったインデクスの位置データ間にあるときはリ
ングバッファ上のインデクス増分をはさむ2つのとなり
あったインデクスの位置データを単純補間することによ
って実指令位置を導き出しこれをサーボアンプユニット
3へ出力する。こうして再生運転中は要求指令位置イン
デクスがリングバッファ上を一定速度で進行しそのあと
を追いかけるように実指令位置インデクスが進行してい
くといった具合である。
定計算周期毎に、例えば20msec毎に、次々とリングバッ
ファ6上に要求指令値を格納していき(以下格納される
場所をインデクス:0〜Pmax という)、各関節につい
て図2の処理を施し実現できる実指令位置を算出し、蓄
積された指令値リングバッファのデータを読み出してこ
れと比較することにより、求まった実指令位置がリング
バッファ上のどこに在るかを探索する。探索の際は求ま
った実指令位置がリングバッファ6上のとなりあったイ
ンデクスの位置データ間にあるときはリングバッファ上
の求まった実指令位置をはさむ2つのとなりあったイン
デクスの位置データを単純補間することによって、当該
関節が進行しても良いインデクスの増分として導き出す
のである。こうして全ての関節について進行しても良い
インデクス増分が求まったら、これらの最小値を選択し
これを今回のインデクス増分と決定する。ここで最小値
を選択することで全ての関節が動作可能な実指令位置を
求めることができるので、軌跡上の非線型制御が成り立
つ。今回のインデクス増分が決定されたら、このインデ
クス増分又は、インデクス増分がリングバッファ6上の
となりあったインデクスの位置データ間にあるときはリ
ングバッファ上のインデクス増分をはさむ2つのとなり
あったインデクスの位置データを単純補間することによ
って実指令位置を導き出しこれをサーボアンプユニット
3へ出力する。こうして再生運転中は要求指令位置イン
デクスがリングバッファ上を一定速度で進行しそのあと
を追いかけるように実指令位置インデクスが進行してい
くといった具合である。
【0012】以下、本発明を実施例について具体的に説
明する。図2のブロック図を指令値リングバッファを用
いた実際のアルゴリズムに書き降ろしたものが図5のフ
ローチャートである。許容角加速度切換部20では、ス
テップ15でリミットスイッチ41がONであれば、リ
ミットスイッチ入力回路42にON信号が送られ、ワー
ク把持が確認されステップ17に進み、ワーク搬送に許
容されるワーク搬送許容角加速度αi を採用し、OFF
であれば、ワーク把持がないことが確認されステップ1
6に進み、各関節自身の許容角加速度αi を採用し、ス
テップ21に入力され、指令値リングバッファ6上に格
納された要求指令位置Ringi (PD)を読出し、これと実指
令位置ACTUALi との差である指令値偏差εi を算出し、
次に制御切換部7で線型/非線型の判別を行ない、線型
であれば線型処理部8に移り、そこで実指令位置は要求
指令位置がリングバッファ上を進んだ距離と同じ分進行
することを許される(実指令位置=要求指令位置)。例
えば20msec毎といった微小一定計算周期毎に進む微小距
離では、指令速度vi =指令値偏差εi となる。即ちス
テップ14に進みインデクス増分ΔPi は、ΔP i =1イ
ンデクスとして、インデクス決定部12に出力され、指
令値リングバッファ6上に格納された要求指令位置Ring
i (PD)はそのまま読み出されインデクス決定部12に出
力される。一方非線型であったならば、非線型処理部9
に進み、許容角加速度αi からまず進んでもよい指令速
度vi を算出し、そして加速制限部10で、加速制限を
施こす。ここで使用する加速制限値は当該関節自身の実
際の能力値にでき得る限り近い値でなければならない。
vi (Z-1) は一つ前の指令速度である。
明する。図2のブロック図を指令値リングバッファを用
いた実際のアルゴリズムに書き降ろしたものが図5のフ
ローチャートである。許容角加速度切換部20では、ス
テップ15でリミットスイッチ41がONであれば、リ
ミットスイッチ入力回路42にON信号が送られ、ワー
ク把持が確認されステップ17に進み、ワーク搬送に許
容されるワーク搬送許容角加速度αi を採用し、OFF
であれば、ワーク把持がないことが確認されステップ1
6に進み、各関節自身の許容角加速度αi を採用し、ス
テップ21に入力され、指令値リングバッファ6上に格
納された要求指令位置Ringi (PD)を読出し、これと実指
令位置ACTUALi との差である指令値偏差εi を算出し、
次に制御切換部7で線型/非線型の判別を行ない、線型
であれば線型処理部8に移り、そこで実指令位置は要求
指令位置がリングバッファ上を進んだ距離と同じ分進行
することを許される(実指令位置=要求指令位置)。例
えば20msec毎といった微小一定計算周期毎に進む微小距
離では、指令速度vi =指令値偏差εi となる。即ちス
テップ14に進みインデクス増分ΔPi は、ΔP i =1イ
ンデクスとして、インデクス決定部12に出力され、指
令値リングバッファ6上に格納された要求指令位置Ring
i (PD)はそのまま読み出されインデクス決定部12に出
力される。一方非線型であったならば、非線型処理部9
に進み、許容角加速度αi からまず進んでもよい指令速
度vi を算出し、そして加速制限部10で、加速制限を
施こす。ここで使用する加速制限値は当該関節自身の実
際の能力値にでき得る限り近い値でなければならない。
vi (Z-1) は一つ前の指令速度である。
【0013】指令速度vi が決定したら前回の実指令位
置ACTUALi から指令速度vi だけ進んだ新しい実指令位
置となるべきデータがリングバッファ上のどのあたりに
あるかを探索する。フローチャート上で、PDは実指令
位置算出部13が出力してきた、最新の要求指令位置が
格納されているインデクス、PAは実指令位置決定に際
し使用する前回に求めた実指令位置インデクス、又Rin
g i (N) はインデクスN番地に格納されている当該関節
の位置データである。探索の結果(PA+J-1)番地と(PA+J)
番地との間に所望の位置データがあったときは、インデ
クス増分決定部11で前後の位置データを単純補間する
ことでインデクス増分ΔPi を求める。
置ACTUALi から指令速度vi だけ進んだ新しい実指令位
置となるべきデータがリングバッファ上のどのあたりに
あるかを探索する。フローチャート上で、PDは実指令
位置算出部13が出力してきた、最新の要求指令位置が
格納されているインデクス、PAは実指令位置決定に際
し使用する前回に求めた実指令位置インデクス、又Rin
g i (N) はインデクスN番地に格納されている当該関節
の位置データである。探索の結果(PA+J-1)番地と(PA+J)
番地との間に所望の位置データがあったときは、インデ
クス増分決定部11で前後の位置データを単純補間する
ことでインデクス増分ΔPi を求める。
【0014】詳説すると、新しく実指令位置となるべき
位置データは、ACTUALi から速度vi だけ変化した位置
にある。引数をJとすると、vi の符号は、格納されて
いるRing i (PA+J)とACTUALi との大小関係で決まる
故、δi =Sign (Ring i (PA+J)-ACTUAL i )・vi
とすれば新しい実指令位置はACTUALi + δi と表わせ
る。求めるものはこの値ではなく、この値がどこにある
のかそのインデクス値である。今ACTUALi + δi がR
ing i (PA+J-1)とRing i (PA+J)との間にあることが探
索の結果わかったとする。図5は引数Jによるループを
考えれば、導き出されるべきインデクス増分ΔPi は、
ΔPi =(J-1) +[ACTUAL i + δi - Ring i (PA+
J-1)]/[ Ring i (PA+J)- Ring i (PA+J-1)]という単
純補間計算によって得られた増分を加え合わせることに
よって求まる。
位置データは、ACTUALi から速度vi だけ変化した位置
にある。引数をJとすると、vi の符号は、格納されて
いるRing i (PA+J)とACTUALi との大小関係で決まる
故、δi =Sign (Ring i (PA+J)-ACTUAL i )・vi
とすれば新しい実指令位置はACTUALi + δi と表わせ
る。求めるものはこの値ではなく、この値がどこにある
のかそのインデクス値である。今ACTUALi + δi がR
ing i (PA+J-1)とRing i (PA+J)との間にあることが探
索の結果わかったとする。図5は引数Jによるループを
考えれば、導き出されるべきインデクス増分ΔPi は、
ΔPi =(J-1) +[ACTUAL i + δi - Ring i (PA+
J-1)]/[ Ring i (PA+J)- Ring i (PA+J-1)]という単
純補間計算によって得られた増分を加え合わせることに
よって求まる。
【0015】全ての関節について上記の処理を繰り返し
たあと、インデクス決定部12で、ΔPi の最小値を求
めこれをΔPminとする。ΔPminが求まれば新しい実指令
位置インデクスPAも処理部12によって求まる。最小
値ΔPminを採用し、これによって決まるPAで以って全
軸の実指令位置を算出することで軌跡上の非線型制御が
実現できるわけである。新インデクスPA及びΔPminが
求まればあとは実指令位置算出部13によりRing i (P
A)とRing i (PA+J)を[1- ΔPmin+int( ΔPmin)]対[ Δ
Pmin-int( ΔPmin)]に単純補間して実指令位置ACTUAL i
を算出することができる。このようにして求まった実指
令位置ACTUAL iは全ての関節について実現可能な位置で
あり、またもちろん目標とする軌跡上の位置である。そ
して位置ループゲインが変化するものでは決してないこ
とは当然である。求まった実指令位置ACTUAL iをサーボ
アンプ部3へ出力する。以上の処理を例えば20msec毎と
いった一定計算周期ごとに繰り返す。(Pmax +1) 回目以
降の処理はリングバッファ上のインデクス0から順次上
書きする。
たあと、インデクス決定部12で、ΔPi の最小値を求
めこれをΔPminとする。ΔPminが求まれば新しい実指令
位置インデクスPAも処理部12によって求まる。最小
値ΔPminを採用し、これによって決まるPAで以って全
軸の実指令位置を算出することで軌跡上の非線型制御が
実現できるわけである。新インデクスPA及びΔPminが
求まればあとは実指令位置算出部13によりRing i (P
A)とRing i (PA+J)を[1- ΔPmin+int( ΔPmin)]対[ Δ
Pmin-int( ΔPmin)]に単純補間して実指令位置ACTUAL i
を算出することができる。このようにして求まった実指
令位置ACTUAL iは全ての関節について実現可能な位置で
あり、またもちろん目標とする軌跡上の位置である。そ
して位置ループゲインが変化するものでは決してないこ
とは当然である。求まった実指令位置ACTUAL iをサーボ
アンプ部3へ出力する。以上の処理を例えば20msec毎と
いった一定計算周期ごとに繰り返す。(Pmax +1) 回目以
降の処理はリングバッファ上のインデクス0から順次上
書きする。
【0016】
【発明の効果】以上に説明したように、本発明によれ
ば、ワークを把持しているときはワーク搬送に許容され
るワーク搬送許容角加速度を自動的に採用し、またワー
クを把持していないときは各関節自身の許容角加速度を
自動的に採用するので、ワークを把持しているときは、
ワークに過度の加速度、減速度を加えることなく、スム
ーズに搬送を行い、かつワークを把持していないとき
は、ロボット各関節自身が出しうる最大限度の加速度、
減速度でロボットを動作させることにより、最短時間で
効率良く作業を行うことが可能となり、かつ速度を変化
させながら複数の教示点を教示するような面倒な教示は
不要となった。好ましくは本発明では、指令値リングバ
ッファを用いた軌跡上の非線型制御と云う新しいロボッ
ト制御方法を採用することにより、リングバッファ上の
加減速可能な次の中間点データを選択し出力するように
し、どのような速度域に於いても各関節の位置ループゲ
インを不均一に減少せしめることなく常に実現可能な道
のり上の指令位置を出力することができるため、指令値
への高追従性即ち直線補間動作であれば高軌跡精度を実
現することが可能となった。
ば、ワークを把持しているときはワーク搬送に許容され
るワーク搬送許容角加速度を自動的に採用し、またワー
クを把持していないときは各関節自身の許容角加速度を
自動的に採用するので、ワークを把持しているときは、
ワークに過度の加速度、減速度を加えることなく、スム
ーズに搬送を行い、かつワークを把持していないとき
は、ロボット各関節自身が出しうる最大限度の加速度、
減速度でロボットを動作させることにより、最短時間で
効率良く作業を行うことが可能となり、かつ速度を変化
させながら複数の教示点を教示するような面倒な教示は
不要となった。好ましくは本発明では、指令値リングバ
ッファを用いた軌跡上の非線型制御と云う新しいロボッ
ト制御方法を採用することにより、リングバッファ上の
加減速可能な次の中間点データを選択し出力するように
し、どのような速度域に於いても各関節の位置ループゲ
インを不均一に減少せしめることなく常に実現可能な道
のり上の指令位置を出力することができるため、指令値
への高追従性即ち直線補間動作であれば高軌跡精度を実
現することが可能となった。
【図1】本発明の実施の形態方法の軌跡上の非線型制御
を含んだ各関節毎に独立したサーボ系全体のブロック
図。
を含んだ各関節毎に独立したサーボ系全体のブロック
図。
【図2】図1の軌跡上の非線型制御処理部2の概略構成
を表わしたブロック図。
を表わしたブロック図。
【図3】図2の非線型制御処理部2が減衰時に指令値偏
差εi がαi /c2 に達した時に非線型制御から線型制
御に切り換える制御を説明するグラフ。
差εi がαi /c2 に達した時に非線型制御から線型制
御に切り換える制御を説明するグラフ。
【図4】本発明の指令値リングバッファの構造の概念
図。
図。
【図5】図2のブロック図を図4の指令値リングバッフ
ァを用いた実際のアルゴリズムに書き降ろしたフローチ
ャート。
ァを用いた実際のアルゴリズムに書き降ろしたフローチ
ャート。
【図6】本発明の実施例に使用する例示的2つのアーム
の多関節ロボットの説明図。
の多関節ロボットの説明図。
Claims (2)
- 【請求項1】 ロボットのツール先端位置を直交座標系
で表現し、直交座標系に定義された2点を結ぶ直線に沿
ってツール先端位置を指示されたスピードで移動させる
よう、アクチュエータを含む関節駆動系が関節角及び関
節角速度を指令値として受け取って関節毎に独立にサー
ボ系を構成する多関節ロボットの関節座標系に独立な第
2の座標系を定義し、現在位置および目標位置によって
決める軌跡を前記第2の座標系上に与え、指令された移
動速度からあらかじめ決められた周期毎に指令する目標
位置までの前記第2の座標系上の軌跡の等間隔の中間点
を計算し、前記各関節の許容角加速度から前記軌跡の移
動方向の最大加速度をあらかじめ求め、前記最大加速度
から前記軌跡の移動方向の実現可能な速度を求め、前記
計算した軌跡上の中間点が前記最大加速度の制限によっ
て達成可能かどうかを判定し、そして、可能でなければ
直前に指令した中間点に対して加減速可能な次の中間点
に変更して新たな中間点とする、ロボットの軌跡制御方
法において、前記各関節の許容角加速度は、ワークを把
持しているときはワーク搬送に許容されるワーク搬送許
容角加速度を用い、ワークを把持していないときは各関
節自身の許容角加速度を用いることを特徴とするロボッ
トの加減速制御方法。 - 【請求項2】 前記計算した軌跡上の中間点間の距離よ
り小さい距離を移動するに必要な一定計算周期毎に指令
された要求指令位置θ1 ,θ2 ,..θimax(imax=最大関
節数) を、0から最大PMAX 回数分まで、蓄積できるキ
ャパシティを有する指令値リングバッファを設け、前記
リングバッファ上の前記加減速可能な次の中間点データ
を選択し出力するようにし、前記リングバッファ上の前
記加減速可能な次の中間点データを選択し出力する軌跡
上の非線型制御処理ルーチンは、前記一定計算周期ごと
に次々と前記リングバッファ上の格納される場所に前記
要求指令値を、インデクス:0〜Pmax として格納して
いき、各関節について前記実現できる実指令位置を算出
し、求まった実指令位置がリングバッファ上のどこに在
るかを探索し、探索の際前記求まった実指令位置が前記
リングバッファ上のとなりあったインデクスの位置デー
タ間にあるときは前記となりあったインデクスの位置デ
ータを単純補間することによって、当該関節が進行して
も良いインデクスの増分として導き出し、全ての関節に
ついて進行しても良いインデクス増分が求まったら、こ
れらの最小値を選択しこれを今回のインデクス増分と決
定し、前記今回のインデクス増分が前記リングバッファ
上のとなりあったインデクスの位置データ間にあるとき
は前記となりあったインデクスの位置データを単純補間
することによって実指令位置を導き出しこれをサーボア
ンプユニットへ出力することを特徴とする請求項1記載
のロボットの加減速制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9207374A JPH1133954A (ja) | 1997-07-17 | 1997-07-17 | ロボットの加減速制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9207374A JPH1133954A (ja) | 1997-07-17 | 1997-07-17 | ロボットの加減速制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1133954A true JPH1133954A (ja) | 1999-02-09 |
Family
ID=16538675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9207374A Pending JPH1133954A (ja) | 1997-07-17 | 1997-07-17 | ロボットの加減速制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1133954A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100836240B1 (ko) * | 2001-11-01 | 2008-06-09 | 현대중공업 주식회사 | 로봇의 최적 가감속 제어방법 |
JP2013097736A (ja) * | 2011-11-04 | 2013-05-20 | Fanuc Ltd | 指令経路速度条件による速度制御を行う数値制御装置 |
-
1997
- 1997-07-17 JP JP9207374A patent/JPH1133954A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100836240B1 (ko) * | 2001-11-01 | 2008-06-09 | 현대중공업 주식회사 | 로봇의 최적 가감속 제어방법 |
JP2013097736A (ja) * | 2011-11-04 | 2013-05-20 | Fanuc Ltd | 指令経路速度条件による速度制御を行う数値制御装置 |
US9274517B2 (en) | 2011-11-04 | 2016-03-01 | Fanuc Corporation | Numerical controller for speed control according to instructed path speed condition |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20120073616A (ko) | 로봇의 경로 계획 장치 및 그 방법 | |
Jin et al. | A fine-interpolation-based parametric interpolation method with a novel real-time look-ahead algorithm | |
JP2008204188A (ja) | モーションコントローラおよびモーションプランナおよび多軸サーボシステムおよびサーボアンプ | |
US5373221A (en) | Method and system for estimating robot tool center point speed | |
JP2728399B2 (ja) | ロボツトの制御方法 | |
US20190077010A1 (en) | Robot system, robot controller, and method for producing to-be-worked material | |
JPH1133954A (ja) | ロボットの加減速制御方法 | |
CN114378830B (zh) | 一种机器人腕关节奇异规避方法及*** | |
CN113867157B (zh) | 一种控制补偿的最优轨迹规划方法、设备及存储设备 | |
CN111699079A (zh) | 协调***、操作设备和方法 | |
JPH02219107A (ja) | 数値制御装置 | |
JP2737725B2 (ja) | ロボット制御装置及び方法 | |
JPH07334228A (ja) | ロボットの教示データ補正装置 | |
CN114089730A (zh) | 机器人的运动规划方法和自动引导车 | |
JPH06131018A (ja) | ロボットの制御方法 | |
JP5278850B2 (ja) | 3次元経路制御方法 | |
JPH11198072A (ja) | ロボットの最短時間速度制御装置 | |
JP2007007779A (ja) | ロボット制御装置 | |
CN113478479B (zh) | 一种基于工业机器人五次多项式轨迹规划中间点的加速度选取方法 | |
JPH0830978B2 (ja) | 産業用ロボットの教示・再生方法 | |
Gang et al. | A Fast Approach for Time Optimal and Smooth Trajectory Planning of Robot Manipulators [J] | |
JPH0343171A (ja) | 多関節ロボット制御装置 | |
KR0155281B1 (ko) | 다관절 로보트의 직선보간방법 | |
JPH07314359A (ja) | マニピュレータ用追従装置およびその制御方法 | |
JP2703099B2 (ja) | 産業用ロボットのコンベア追従方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20010227 |