JP2015122932A - ロボットの制御装置および制御方法 - Google Patents

ロボットの制御装置および制御方法 Download PDF

Info

Publication number
JP2015122932A
JP2015122932A JP2013266920A JP2013266920A JP2015122932A JP 2015122932 A JP2015122932 A JP 2015122932A JP 2013266920 A JP2013266920 A JP 2013266920A JP 2013266920 A JP2013266920 A JP 2013266920A JP 2015122932 A JP2015122932 A JP 2015122932A
Authority
JP
Japan
Prior art keywords
current
command value
deviation
current command
master
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
JP2013266920A
Other languages
English (en)
Inventor
英紀 田中
Hidenori Tanaka
英紀 田中
慎司 梶原
Shinji Kajiwara
慎司 梶原
信恭 下村
Nobutaka Shimomura
信恭 下村
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.)
Kawasaki Heavy Industries Ltd
Original Assignee
Kawasaki Heavy Industries 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 Kawasaki Heavy Industries Ltd filed Critical Kawasaki Heavy Industries Ltd
Priority to JP2013266920A priority Critical patent/JP2015122932A/ja
Publication of JP2015122932A publication Critical patent/JP2015122932A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Control Of Multiple Motors (AREA)

Abstract

【課題】 デュアルサーボ制御を行う2つのモータのうちの一方にトルクが集中するのを防ぐことができるロボットの制御装置およびロボットの制御方法を提供する。【解決手段】 マスタモータ4が第1電流指令値I1に基づいて発生した出力トルクTMに応じた電流値IMと第1電流指令値I1との第1電流偏差ΔI1を監視する第1電流偏差監視部10と、スレーブモータ6が第2電流指令値I2に基づいて発生した出力トルクTSに応じた電流値ΔI2と第2電流指令値I2との第2電流偏差ΔI2を監視する第2電流偏差監視部11と、第1電流偏差ΔI1と第2電流偏差ΔI2との差が予め定められたしきい値以上である場合に、第1電流偏差ΔI1と第2電流偏差ΔI2との差が小さくなるように第1電流指令値I1および/または第2電流指令値I2を変更する電流指令値変更部1と、を備える。【選択図】 図1

Description

本発明は、ロボットの制御装置および制御方法に関し、特に、1つの駆動軸を2つのモータで駆動するようにするデュアルサーボ制御構造を備えたロボットの制御装置および制御方法に関する。
工作機械等のロボットにおいて、ロボットの動作を規定する可動部分を駆動する駆動軸にかかる負荷が大きく1つのモータだけで駆動軸を駆動することができない場合に、2つのモータを互いに連結し、1つの駆動軸を駆動するように2つのモータを制御するデュアルサーボ制御構造が知られている。従来のデュアルサーボ制御構造においては、2つのモータのうちの何れか一方のモータへの位置指令値に基づいて当該一のモータの現在位置を2つのモータの制御系にフィードバックすることにより2つのモータに対してフィードバック制御が行われる。
さらに、デュアルサーボ制御構造においてより安定的な制御を行うための構成として、例えば特許文献1のような構成が提案されている。特許文献1の構成においては、一方のモータ(マスタモータ)へのトルク指令と、他方のモータ(スレーブモータ)へのトルク指令との差に応じてスレーブモータへのトルク指令を補正している。
特開2003−79180号公報
しかし、このような構成であっても、以下のような問題が生じ得る。すなわち、駆動軸が外力を受けている状態において、一方のモータ軸にガタ(バックラッシュ)が存在すると、ガタのない(少ない)方のモータ軸を有するモータが駆動軸にかかる外力のすべてを負担することになる。このため、本来であれば2つのモータを使用することにより、各モータにおける定格負荷に対する負荷の割合(対定格負荷率)を低減することができる所定の動作時においても、一方のモータにおける対定格負荷率が増大し、モータの寿命を縮めてしまったり、動作計画の変更が必要となったりする可能性が生じる。
本発明は、以上のような課題を解決すべくなされたものであり、デュアルサーボ制御を行う2つのモータのうちの一方にトルクが集中するのを防ぐことができるロボットの制御装置およびロボットの制御方法を提供することを目的とする。
本発明の一態様に係るロボット制御装置は、ロボットの動作を規定する可動部分を駆動する駆動軸と、マスタ動力伝達機構を介して前記駆動軸を回転駆動するマスタモータと、スレーブ動力伝達機構を介して前記駆動軸を回転駆動するスレーブモータと、前記マスタモータの現在位置を検出する位置検出器と、を備えたロボットの制御装置であって、前記マスタモータへの位置指令値と前記位置検出器により検出される前記マスタモータの現在位置を示す値との偏差(以下、マスタ位置偏差)に基づいて前記マスタモータへの電流指令値(以下、第1電流指令値)を生成する第1電流指令値生成部と、前記マスタ位置偏差または所定のトルク指令値に基づいて前記スレーブモータへの電流指令値(以下、第2電流指令値)を生成する第2電流指令値生成部と、前記マスタモータが前記第1電流指令値に基づいて発生した出力トルクに応じた電流値と前記第1電流指令値との偏差(以下、第1電流偏差)を監視する第1電流偏差監視部と、前記スレーブモータが前記第2電流指令値に基づいて発生した出力トルクに応じた電流値と前記第2電流指令値との偏差(以下、第2電流偏差)を監視する第2電流偏差監視部と、前記第1電流偏差と前記第2電流偏差との差が予め定められたしきい値以上である場合に、前記第1電流偏差と前記第2電流偏差との差が小さくなるように前記第1電流指令値および/または前記第2電流指令値を変更する電流指令値変更部と、を備えている。
上記構成によれば、マスタモータとスレーブモータとの間で電流偏差に差がある場合に、電流偏差の差が小さくなるように第1電流指令値および/または第2電流指令値が変更される。したがって、マスタモータとスレーブモータとの位置偏差が大きい場合に、マスタモータおよびスレーブモータのうちの一方にトルクが集中するのを防ぐことができる。
前記第1電流指令値生成部は、前記マスタ位置偏差に基づいたマスタ速度指令値の時間的偏差(以下、マスタ速度偏差)に対してPI補償を行うことにより電流指令値を生成する第1速度ループ演算部と、前記ロボットの駆動軸に作用する重力を考慮した動力学トルクに基づく電流補正値を生成し、前記第1速度ループ演算部で生成された前記電流指令値に前記電流補正値を加えて前記第1電流指令値を生成する第1電流補正部と、を有し、前記第2電流指令値生成部は、前記マスタ速度偏差に対してPI補償を行うことにより電流指令値を生成する第2速度ループ演算部と、前記ロボットの駆動軸に作用する重力を考慮した動力学トルクに基づく電流補正値を生成し、前記第2速度ループ演算部で生成された前記電流指令値に前記電流補正値を加えて前記第2電流指令値を生成する第2電流補正部と、を有してもよい。これにより、マスタモータへの電流指令値(第1電流指令値)とスレーブモータへの電流指令値(第2電流指令値)とを共通の目標値に基づいて生成することができる。
前記電流指令値変更部は、前記第1電流偏差と前記第2電流偏差との差が予め定められたしきい値以上である場合に、前記第2速度ループ演算部のPI補償における比例ゲインおよび積分ゲインのうちの少なくとも一方を前記第1速度ループ演算部のPI補償において対応するゲインに対して低くしてもよい。これによれば、スレーブモータに対する制御ゲインをマスタモータに対する制御ゲインに比べて小さくすることにより、加速時または減速時においてマスタ軸およびスレーブ軸の何れかにガタがある場合に、ガタがある方の軸の動作が急峻になり、発生するトルクが不安定になることを防止することができる。
前記電流指令値変更部は、前記マスタ速度偏差が所定値以下である場合、かつ、前記第1電流偏差および前記第2電流偏差のうちの少なくとも一方において対応するモータが正転と反転とを繰り返す場合に、前記第2電流指令値生成部における前記速度ループ演算部のPI補償における積分ゲインを0にしてもよい。これによれば、スレーブの速度ループにおけるフィードバック制御をPI制御から比例制御に変更することにより、その場停止時においてマスタモータおよびスレーブモータにおいて不安定な動作(例えばマスタモータおよびスレーブモータが互いに逆回転するように正転反転を繰り返したり、マスタモータのある方向の回転とスレーブモータの逆方向の回転とが交互に生じたり、マスタモータ4およびスレーブモータ6の何れか一方が正転反転を繰り返したりする等の押し引き動作)が生じるのを防止することができる。
前記第2速度ループ演算部のPI補償における比例ゲインおよび積分ゲインと前記第2電流補正部におけるゲインとの間で所定の重み付けが設定可能に構成されてもよい。これによれば、スレーブモータに対する第2電流補正部による理論値に基づく制御ゲインと、第2速度ループ演算部のPI制御における制御ゲインとの重み付けを変更することにより、マスタモータおよびスレーブモータの制御の高精度化と、マスタモータおよびスレーブモータの制御の迅速化とのバランスを調整することができる。
前記第2電流指令値生成部は、前記ロボットの駆動軸に作用する重力を考慮した動力学トルクに基づいて前記マスタ位置偏差に依存しない前記第2電流指令値を生成するよう構成されてもよい。これによれば、スレーブモータは、マスタモータから独立した別系統の制御系となるため、スレーブモータの制御は、マスタ位置偏差に無関係となり、安定した制御系とすることができる。
本発明の他の態様に係るロボットの制御方法は、ロボットの動作を規定する可動部分を駆動する駆動軸と、マスタ動力伝達機構を介して前記駆動軸を回転駆動するマスタモータと、スレーブ動力伝達機構を介して前記駆動軸を回転駆動するスレーブモータと、前記マスタモータの現在位置を検出する位置検出器と、を備えたロボットの制御方法であって、前記マスタモータへの位置指令値と前記位置検出器により検出される前記マスタモータの現在位置を示す値との偏差(以下、マスタ位置偏差)に基づいて前記マスタモータへの電流指令値(以下、第1電流指令値)を生成し、前記マスタ位置偏差またはトルク指令値に基づいて前記スレーブモータへの電流指令値(以下、第2電流指令値)を生成し、前記マスタモータが前記第1電流指令値に基づいて発生した出力トルクに応じた電流値と前記第1電流指令値との偏差(以下、第1電流偏差)を監視し、前記スレーブモータが前記第2電流指令値に基づいて発生した出力トルクに応じた電流値と前記第2電流指令値との偏差(以下、第2電流偏差)を監視し、前記第1電流偏差と前記第2電流偏差との差が予め定められたしきい値以上である場合に、前記第1電流偏差と前記第2電流偏差との差が小さくなるように前記第1電流指令値および/または前記第2電流指令値を変更するものである。
上記方法によれば、マスタモータとスレーブモータとの間で電流偏差に差がある場合に、電流偏差が等しくなるように第1電流指令値および/または第2電流指令値が変更される。したがって、マスタモータとスレーブモータとの位置偏差が大きい場合に、マスタモータおよびスレーブモータのうちの一方にトルクが集中するのを防ぐことができる。
本発明は以上に説明したように構成され、デュアルサーボ制御を行う2つのモータのうちの一方にトルクが集中するのを防ぐことができるという効果を奏する。
図1は本発明の第1実施形態に係るロボットの制御装置の概略構成を示すブロック図である。 図2は図1に示すロボットの制御装置のより具体的な構成を示すブロック図である。 図3は本発明の第2実施形態に係るロボットの制御装置の構成を示すブロック図である。
以下、本発明の実施の形態を、図面を参照しながら説明する。なお、以下では全ての図を通じて同一又は相当する要素には同一の参照符号を付して、その重複する説明を省略する。
<第1実施形態>
まず、本発明の第1実施形態について説明する。図1は本発明の第1実施形態に係るロボット制御装置の概略構成を示すブロック図である。図1に示すように、本実施形態におけるロボット制御装置1は、ロボットの動作を規定する可動部分を駆動する駆動軸2と、マスタ動力伝達機構3を介して駆動軸2を回転駆動するマスタモータ4と、スレーブ動力伝達機構5を介して駆動軸2を回転駆動するスレーブモータ6と、マスタモータ4の現在位置を検出する位置検出器7と、を備えている。
本実施形態が適用されるロボットは、例えば複数のアーム部材と、これらを接続する複数の関節(回転軸)とを備えた多関節ロボットとして構成される。すなわち、多関節ロボットにおける特定のアーム部材を可動部分として回動させる回転軸が本実施形態における駆動軸2となる。マスタ動力伝達機構3は、マスタモータ4から出力される回転動力を駆動軸2に伝達する機構であれば特に限定されない。例えばマスタ動力伝達機構3は、ギヤ機構、アーム機構またはこれらを組み合わせた構成等、種々の構成を採用可能である。また、スレーブ動力伝達機構5もスレーブモータ6から出力される回転動力を駆動軸2に伝達する機構としてマスタ動力伝達機構3と同様に構成される。
位置検出器7は、マスタモータ4の出力軸の回転角度を検出するよう構成される。例えば、位置検出器7は、エンコーダまたはレゾルバ等により構成される。
さらに、ロボット制御装置1は、マスタモータ4への位置指令値Pと位置検出器7により検出されるマスタモータ4の現在位置を示す値(マスタ位置)Pとの偏差(以下、マスタ位置偏差)ΔPに基づいてマスタモータ4への電流指令値(以下、第1電流指令値)Iを生成する第1電流指令値生成部8を備えている。第1電流指令値生成部8は、CPU、メモリおよび各種信号の入出力装置等を備えたコンピュータの機能ブロックとして構成される。
第1電流指令値生成部8で生成された第1電流指令値Iは、マスタモータ駆動部13に入力される。マスタモータ駆動部13は、入力された第1電流指令値Iに基づいた出力トルクTを発生させるようにマスタモータ4を駆動し、マスタモータ4は、回転動力を出力する。
さらに、ロボット制御装置1は、マスタ位置偏差ΔPに基づいてスレーブモータ6への電流指令値(以下、第2電流指令値)Iを生成する第2電流指令値生成部9を備えている。第2電流指令値生成部9も、第1電流指令値生成部8と同様にコンピュータの機能ブロックとして構成される。第2電流指令値生成部9で生成された第2電流指令値Iは、スレーブモータ駆動部14に入力される。スレーブモータ駆動部14は、入力された第2電流指令値Iに基づいた出力トルクTを発生させるようにスレーブモータ6を駆動し、スレーブモータ6は、回転動力を出力する。
このように、本実施形態においては、マスタモータ4およびスレーブモータ6を制御する電流指令値I,Iを共通のマスタ位置偏差ΔPに基づいて生成する電流指令共通方式を採用している。
マスタモータ4は、発生した出力トルクTに応じた電流値(以下、第1フィードバック電流値)I(後述する図2参照)をフィードバックし、当該第1フィードバック電流値Iと第1電流指令値Iとの偏差(以下、第1電流偏差)ΔIに対してPI補償を行うように構成されている。同様に、スレーブモータ6は、発生した出力トルクTに応じた電流値(以下、第2フィードバック電流値)I(後述する図2参照)をフィードバックし、当該第2フィードバック電流値Iと第2電流指令値Iとの偏差(以下、第2電流偏差)ΔIに対してPI補償を行うように構成されている。
ロボット制御装置1は、第1電流偏差ΔIを監視する第1電流偏差監視部10と、第2電流偏差を監視する第2電流偏差監視部11と、第1電流偏差ΔIと第2電流偏差ΔIとの差が予め定められたしきい値以上である場合に、第1電流偏差ΔIと第2電流偏差ΔIとの差が小さくなるように第1電流指令値Iおよび/または第2電流指令値Iを変更する電流指令値変更部12と、を備えている。第1電流偏差監視部10、第2電流偏差監視部11および電流指令値変更部12も、コンピュータの機能ブロックとして構成される。電流指令値変更部12は、第1電流偏差監視部10から入力される第1電流偏差ΔIおよび第2電流偏差監視部12から入力される第2電流偏差ΔIに基づいて、第1電流指令値生成部8に指令値変更信号Sを出力し、第2電流指令値生成部9に指令値変更信号Sを出力することが可能であるように構成される。
上記構成によれば、マスタモータ4に基づく第1電流偏差ΔIとスレーブモータ6に基づく第2電流偏差ΔIとの間で差がある場合に、電流偏差ΔI,ΔI間の差が小さくなるように第1電流指令値Iおよび/または第2電流指令値Iが変更される。したがって、マスタモータ4とスレーブモータ6との位置偏差が大きい場合に、マスタモータ4およびスレーブモータ6のうちの一方にトルクが集中するのを防ぐことができる。
例えば、スレーブモータ6の出力軸からスレーブ動力伝達機構5を介して駆動軸2への伝達経路中にガタが生じている(マスタモータ4側に比べてガタが大きい)場合、駆動軸2の加速開始時において、両モータ4,6を駆動させると、ガタが生じていないマスタモータ4に全負荷が集中する。また、例えば、第1電流指令値Iおよび第2電流指令値Iに基づいて、対応するモータの軸角度、負荷設定、および、ダイナミクスからモータをモデル化してアシストする出力トルクT,Tを算出するトルクフィードフォワード制御を行うことが一般的に行われるが、このモデルと実際のモータとのダイナミクスの誤差が大きい場合(定常的な位置偏差ΔPが大きい場合)にも何れか一方のモータ(例えばマスタモータ4)に全負荷が集中する場合がある。このように、マスタモータ4に全負荷が集中した状態が継続すると、当該マスタモータ4が出力可能なトルクを超えてしまい、正常な位置制御ができなくなるおそれがある。
マスタモータ4に全負荷が集中した状態において、マスタモータ4は負荷の増大により出力トルクTが抑えられ、当該出力トルクTに基づく第1フィードバック電流値Iは、第1電流値Iとの偏差(すなわち、第1電流偏差)ΔIが大きくなる。一方、ガタが生じている側のスレーブモータ6は負荷の負担が軽い(ほとんどない)ので、出力トルクTに基づく第2フィードバック電流値Iは、第2電流指令値Iによく追従し、第2電流偏差ΔIは小さい。
そこで、電流指令値変更部12は、第1電流偏差ΔIと第2電流偏差ΔIとの差が予め定められたしきい値以上となった場合に、第1電流指令値Iと第2電流指令値Iとの差が小さくなるように各電流指令値I,Iを変更する。上記例においては、電流指令値変更部12は、第1電流指令値生成部8に第1電流指令値Iを小さくするための指令値変更信号Sを出力し、第2電流指令値生成部9に第2電流指令値Iを大きくするための指令値変更信号Sを出力する。電流指令値の変更量は、予め定められていてもよいし、電流偏差の差に応じて異なる値に設定されてもよい。スレーブモータ6側にガタが生じる(大きい)場合も同様である。
なお、電流指令値変更部12は、いったん電流偏差の差がしきい値以上となった場合、電流偏差の差が所定値以下(例えば0)になるまで指令値の変更制御を継続してもよい。また、電流指令値変更部12は、電流偏差の差がしきい値以上となった場合に、第1電流指令値Iのみを変更してもよいし、第2電流指令値Iのみを変更してもよい。電流指令値変更部12は、電流偏差の差がしきい値を超えた時の各電流偏差ΔI,ΔIの値または各電流指令値I,Iの値に応じて電流指令値を変更する対象(第1電流指令値Iのみ、第2電流指令値Iのみ、または、第1および第2電流指令値I,Iの両方)を切り替えてもよい。
以下、本実施形態におけるロボット制御装置1のより詳しい構成を例示する。図2は図1に示すロボットの制御装置のより具体的な構成を示すブロック図である。前述したように、本実施形態におけるロボット制御装置1は、第1電流指令値Iおよび第2電流指令値Iに基づいて、対応するモータの軸角度、負荷設定、および、ダイナミクスからモータをモデル化してアシストする出力トルクT,Tを算出するトルクフィードフォワード制御を行う。
図2に示すように、第1電流指令値生成部8は、マスタ位置偏差ΔPに基づいたマスタ速度指令値vの時間的偏差(以下、マスタ速度偏差)Δvに対してPI補償を行うことにより電流指令値I’を生成する第1速度ループ演算部15と、ロボットの駆動軸2に作用する重力を考慮した動力学トルクに基づく電流補正値Igを生成し、第1速度ループ演算部15で生成された電流指令値I’に電流補正値Igを加えて第1電流指令値Iを生成する第1電流補正部16と、を有している。
さらに、第1電流指令値生成部8は、マスタ位置偏差ΔPに対してPI補償を行うことによりマスタ速度指令値vを生成する第1位置ループ演算部17と、マスタ位置Pを微分する微分器18とを有している。第1位置ループ演算部17は、位置ループゲインKpを用いてマスタ位置偏差ΔPに対してPI補償を行い、マスタ速度指令値vを出力する。マスタ速度指令値vとマスタ位置Pの微分値との差分がマスタ速度偏差Δvとして第1速度ループ演算部15に入力される。第1速度ループ演算部15は、速度ループゲインKvを用いてマスタ速度偏差Δvに対してPI補償を行い、電流指令値I’を出力する。なお、位置ループゲインKpおよび速度ループゲインKvは、それぞれ比例ゲイン(KpMP,KvMP)および積分ゲイン(KpMI,KvMI)を含み、微分ゲインと積分ゲインとの値は個別に設定される。
第1電流補正部16で生成される電流補正値Igの基となる重力を考慮した動力学トルクは、例えば重力トルク、加減速トルク、摩擦トルク、他の軸の動きを支えるトルク(干渉トルク)等を含む。重力を考慮した動力学トルクは、ロボット動作における理論値に基づく値として規定され、予め設定される。
マスタモータ駆動部13は、第1速度ループ演算部15から出力される電流指令値I’1に第1電流補正部16から出力される第1電流補正値Igを加算した第1電流指令値Iと第1フィードバック電流値Iとの偏差である第1電流偏差ΔIに基づいてPWM制御するように構成される。マスタモータ駆動部13は、第1電流偏差ΔIを出力トルクTに変換するPWM演算部19を含む。PWM演算部19は、PWM制御における電流制御ループゲインKiを用いて第1電流偏差ΔIが0になるように、マスタモータ4へのPWM出力におけるデューティ比を変化させ、出力トルクTを発生させる。出力トルクTは電流演算部20により第1フィードバック電流値Iとしてフィードバックされる。
第1電流偏差ΔIは、第1電流偏差監視部10に入力され、電流指令値変更部12に伝達される。
第2電流指令値生成部9は、マスタ速度偏差Δvに対してPI補償を行うことにより電流指令値I’を生成する第2速度ループ演算部21と、ロボットの駆動軸2に作用する重力を考慮した動力学トルクに基づく電流補正値Igを生成し、第2速度ループ演算部21で生成された電流指令値I’に電流補正値Igを加えて第2電流指令値Iを生成する第2電流補正部22と、を有している。第2速度ループ演算部21は、速度ループゲインKvを用いてスレーブ速度偏差Δvに対してPI補償を行い、電流指令値I’を出力する。なお、速度ループゲインKvは、比例ゲイン(KvSP)および積分ゲイン(KvSI)を含み、微分ゲインと積分ゲインとの値は個別に設定される。
これにより、スレーブモータ6を制御するための第2電流指令値Iがマスタモータ4のためのマスタ位置偏差ΔPに基づくマスタ速度偏差Δvを用いて生成される。したがって、マスタモータ4への電流指令値(第1電流指令値)Iとスレーブモータ6への電流指令値(第2電流指令値)Iとを共通の目標値に基づいて生成することができる。これにより、マスタモータ4の位置フィードバックをスレーブモータ6にも効率的に負担させることができる。
スレーブモータ駆動部14は、第2速度ループ演算部21から出力される電流指令値I’に第2電流補正部22から出力される第2電流補正値Igを加算した第2電流指令値Iと第2フィードバック電流値Iとの偏差である第1電流偏差ΔIに基づいてPWM制御するように構成される。スレーブモータ駆動部14は、第2電流偏差ΔIを出力トルクTに変換するPWM演算部23を含む。PWM演算部23は、PWM制御における電流制御ループゲインKiを用いて第2電流偏差ΔIが0になるように、スレーブモータ6へのPWM出力におけるデューティ比を変化させ、出力トルクTを発生させる。出力トルクTは電流演算部24により第2フィードバック電流値Iとしてフィードバックされる。
本実施形態において、電流指令値変更部12は、第1電流偏差ΔIと第2電流偏差ΔIとの差が予め定められたしきい値以上である場合に、第2速度ループ演算部21のPI補償における比例ゲインKvSPおよび積分ゲインKvSIのうちの少なくとも一方を第1速度ループ演算部15のPI補償において対応するゲインKvMP,KvMIに対して低く設定するように構成される。これによれば、スレーブモータ6に対する制御ゲイン(速度ループゲイン)Kvをマスタモータ4に対する制御ゲイン(速度ループゲイン)Kvに比べて小さくすることにより、加速時または減速時においてマスタ軸(マスタモータ4の出力軸)およびスレーブ軸(スレーブモータ6の出力軸)の何れかにガタがある場合に、ガタがある方の軸の動作が急峻になり、発生するトルクが不安定になることを防止することができる。
例えば、マスタモータ4側の伝達経路におけるガタに対してスレーブモータ6側の伝達経路におけるガタが大きい場合、前述したように、駆動軸2の加速開始時において、両モータ4,6を駆動させると、ガタが生じていないマスタモータ4に全負荷が集中する。このため、正常な位置制御ができなくなるおそれがある。また、スレーブモータ6はガタが大きいため、当該ガタが埋まるまで一気に動作する。これにより、ガタが生じている伝達経路において、モータ側の部材(例えばモータの出力ギヤ等)が駆動軸側の部材(例えば出力ギヤに噛合される減速ギヤ等)に勢いよく衝突する。このため、駆動軸2に伝達されるトルクが不安定になり、制御が安定しなくなる(後述する押し引き動作のきっかけとなる)場合がある。
これに対し、スレーブモータ6に対する制御ゲインKvSP,KvSIの少なくとも何れか一方が小さく設定されることにより、スレーブモータ6に対してマスタモータ4の速度制御を優先させることによって、スレーブモータ6の制御を緩やかに行うことにより急峻な動作を抑制し、駆動軸2に伝達されるトルクが不安定になることを防止することができる。さらに、上述したような電流偏差ΔI,ΔIを監視することによる電流指令値I,Iの変更制御を行うことにより、一方のモータへの負荷の集中を抑制することができる。
なお、電流指令値変更部12は、第1電流偏差ΔIと第2電流偏差ΔIとの差が予め定められたしきい値以上である場合に、その都度、スレーブモータ6側の制御ゲインを小さく設定することとしてもよいし、例えば駆動軸2の動作開始時等、電流偏差の差がしきい値以上となる可能性が高いと思われる場合に、スレーブモータ6側の制御ゲインを予め小さく設定することとしてもよい。また、電流指令値I,Iの変更制御を行うためのしきい値と、スレーブモータ6側の制御ゲインを小さくするしきい値とを異なる値としてもよい。この場合、何れのしきい値が大きくてもよい。また、比例ゲインKvSPおよび積分ゲインKvSIの何れについても小さく設定可能とする場合に、比例ゲインKvSPを小さく設定するしきい値と積分ゲインKvSIを小さく設定するしきい値とを異なる値としてもよい。また、上記実施形態に限られず、例えば、電流偏差の差がしきい値以上である場合に、電流指令値変更部12がオペレータにその旨を警告ランプ、警告ブザー等の報知部(図示せず)より報知するよう構成されるとともに、第2電流指令値生成部9は、オペレータにより手動で制御ゲインを小さく設定変更可能に構成されてもよい。
さらに、電流指令値変更部12は、マスタ速度偏差Δvが所定値以下である場合、かつ、第1電流偏差ΔIおよび第2電流偏差ΔIのうちの少なくとも一方において対応するモータが正転と反転とを繰り返す場合に、第2電流指令値生成部9における速度ループ演算部21のPI補償における積分ゲインKvSIを0にしてもよい。これによれば、スレーブモータ6側の速度ループにおけるフィードバック制御をPI制御から比例制御に変更することにより、その場停止時においてマスタモータ4およびスレーブモータ6において不安定な動作(例えばマスタモータ4およびスレーブモータ6が互いに逆回転するように正転反転を繰り返したり、マスタモータ4のある方向の回転とスレーブモータ6の逆方向の回転とが交互に生じたり、マスタモータ4およびスレーブモータ6の何れか一方が正転反転を繰り返したりする等の押し引き動作)が生じるのを防止することができる。
例えば、トルクフィードフォワード制御に用いられるモデルと実際のモータとのダイナミクスの誤差が大きく、マスタモータ4の出力トルクTおよびスレーブモータ6の出力トルクTが非常に大きい場合、または、マスタモータ4側の伝達経路におけるガタおよびスレーブモータ6側の伝達経路におけるガタが何れも大きい場合、駆動軸2をその場停止させておきたいときでも(位置指令値Pが0でも)、制御が不安定となり上記のような押し引き動作が発生するおそれがある。このような場合に、スレーブモータ6側の速度ループゲインのうちの積分ゲインKvSIを0にし、スレーブモータ6側において、マスタ速度偏差Δvに対して比例補償のみが行われる。このようにスレーブモータ6側において、積分補償をなくして、比例補償において生じる残留偏差に追従させないように制御することにより、スレーブモータ6において出力される出力トルクTが目標値に対して振動することを抑制することができる。スレーブモータ6における出力値の振動が抑制されることにより、マスタモータ4における出力値の振動も抑制される。
なお、第2速度ループ演算部21のPI補償における比例ゲインKvSPおよび積分ゲインKvSIと第2電流補正部22において設定されるゲインKgとの間で所定の重み付けが設定可能に構成されてもよい。
これにより、スレーブモータ6に対する第2電流補正部22による理論値に基づく制御ゲインKgと、第2速度ループ演算部21のPI補償における制御ゲインKvとの重み付けを変更することにより、マスタモータ4およびスレーブモータ6の制御の高精度化と、マスタモータ4およびスレーブモータ6の制御の迅速化とのバランスを調整することができる。すなわち、第2電流補正部22による制御ゲインKgに対する第2速度ループ演算部21の制御ゲインKvの割合を大きくすると、指令値において実際の誤差に基づく割合が大きくなるため、マスタモータ4およびスレーブモータ6の制御の高精度化を図ることができる。また、第2電流補正部22による制御ゲインKgに対する第2速度ループ演算部21の制御ゲインKvの割合を小さくすると、指令値において理論値に基づく割合が大きくなるため、マスタモータ4およびスレーブモータ6の制御の迅速化を図ることができる。
<第2実施形態>
次に、本発明の第2実施形態について説明する。図3は本発明の第2実施形態に係るロボットの制御装置の構成を示すブロック図である。第2実施形態において第1実施形態と同様の構成については同じ符号を付し、説明を省略する。
図3に示すように、本実施形態におけるロボット制御装置1Bが第1実施形態におけるロボット制御装置1と異なる点は、第2電流指令値生成部9Bが、所定のトルク指令値に基づいて第2電流指令値Iを生成することである。より具体的には、第2電流指令値生成部9Bは、ロボットの駆動軸2に作用する重力を考慮した動力学トルクに基づいてマスタ位置偏差ΔPに依存しない第2電流指令値Iを生成するよう構成される。すなわち、第2電流指令値生成部9Bは、第1電流指令値生成部8から独立した第2電流補正部22Bを備えている。
これにより、スレーブモータ6は、マスタモータ4から独立した別系統の制御系となる。このため、スレーブモータ6の制御は、マスタ位置偏差ΔPに無関係となり、安定した制御系とすることができる。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。
例えば、第1実施形態において説明した構成の一部を第2実施形態において適用することも可能である。
本発明のロボットの制御装置およびロボットの制御方法は、デュアルサーボ制御を行う2つのモータのうちの一方にトルクが集中するのを防ぐために有用である。
1,1B ロボット制御装置
2 駆動軸
3 マスタ動力伝達機構
4 マスタモータ
5 スレーブ動力伝達機構
6 スレーブモータ
7 位置検出器
8 第1電流指令値生成部
9,9B 第2電流指令値生成部
10 第1電流偏差監視部
11 第2電流偏差監視部
12 電流指令値編後部
13 マスタモータ駆動部
14 スレーブモータ駆動部
15 第1速度ループ演算部
16 第1電流補正部
17 第1位置ループ演算部
18 微分器
19,23 PWM演算部
20,24 電流演算部
21 第2速度ループ演算部
22,22B 第2電流補正部

Claims (7)

  1. ロボットの動作を規定する可動部分を駆動する駆動軸と、マスタ動力伝達機構を介して前記駆動軸を回転駆動するマスタモータと、スレーブ動力伝達機構を介して前記駆動軸を回転駆動するスレーブモータと、前記マスタモータの現在位置を検出する位置検出器と、を備えたロボットの制御装置であって、
    前記マスタモータへの位置指令値と前記位置検出器により検出される前記マスタモータの現在位置を示す値との偏差(以下、マスタ位置偏差)に基づいて前記マスタモータへの電流指令値(以下、第1電流指令値)を生成する第1電流指令値生成部と、
    前記マスタ位置偏差または所定のトルク指令値に基づいて前記スレーブモータへの電流指令値(以下、第2電流指令値)を生成する第2電流指令値生成部と、
    前記マスタモータが前記第1電流指令値に基づいて発生した出力トルクに応じた電流値と前記第1電流指令値との偏差(以下、第1電流偏差)を監視する第1電流偏差監視部と、
    前記スレーブモータが前記第2電流指令値に基づいて発生した出力トルクに応じた電流値と前記第2電流指令値との偏差(以下、第2電流偏差)を監視する第2電流偏差監視部と、
    前記第1電流偏差と前記第2電流偏差との差が予め定められたしきい値以上である場合に、前記第1電流偏差と前記第2電流偏差との差が小さくなるように前記第1電流指令値および/または前記第2電流指令値を変更する電流指令値変更部と、を備えた、ロボットの制御装置。
  2. 前記第1電流指令値生成部は、
    前記マスタ位置偏差に基づいたマスタ速度指令値の時間的偏差(以下、マスタ速度偏差)に対してPI補償を行うことにより電流指令値を生成する第1速度ループ演算部と、
    前記ロボットの駆動軸に作用する重力を考慮した動力学トルクに基づく電流補正値を生成し、前記第1速度ループ演算部で生成された前記電流指令値に前記電流補正値を加えて前記第1電流指令値を生成する第1電流補正部と、を有し、
    前記第2電流指令値生成部は、
    前記マスタ速度偏差に対してPI補償を行うことにより電流指令値を生成する第2速度ループ演算部と、
    前記ロボットの駆動軸に作用する重力を考慮した動力学トルクに基づく電流補正値を生成し、前記第2速度ループ演算部で生成された前記電流指令値に前記電流補正値を加えて前記第2電流指令値を生成する第2電流補正部と、を有する、請求項1に記載のロボットの制御装置。
  3. 前記電流指令値変更部は、前記第1電流偏差と前記第2電流偏差との差が予め定められたしきい値以上である場合に、前記第2速度ループ演算部のPI補償における比例ゲインおよび積分ゲインのうちの少なくとも一方を前記第1速度ループ演算部のPI補償において対応するゲインに対して低くする、請求項2に記載のロボットの制御装置。
  4. 前記電流指令値変更部は、前記マスタ速度偏差が所定値以下である場合、かつ、前記第1電流偏差および前記第2電流偏差のうちの少なくとも一方において対応するモータが正転と反転とを繰り返す場合に、前記第2電流指令値生成部における前記速度ループ演算部のPI補償における積分ゲインを0にする、請求項2または3に記載のロボットの制御装置。
  5. 前記第2速度ループ演算部のPI補償における比例ゲインおよび積分ゲインと前記第2電流補正部におけるゲインとの間で所定の重み付けが設定可能に構成されている、請求項2から4の何れかに記載のロボットの制御装置。
  6. 前記第2電流指令値生成部は、前記ロボットの駆動軸に作用する重力を考慮した動力学トルクに基づいてマスタ位置偏差に依存しない前記第2電流指令値を生成するよう構成される、請求項1に記載のロボットの制御装置。
  7. ロボットの動作を規定する可動部分を駆動する駆動軸と、マスタ動力伝達機構を介して前記駆動軸を回転駆動するマスタモータと、スレーブ動力伝達機構を介して前記駆動軸を回転駆動するスレーブモータと、前記マスタモータの現在位置を検出する位置検出器と、を備えたロボットの制御方法であって、
    前記マスタモータへの位置指令値と前記位置検出器により検出される前記マスタモータの現在位置を示す値との偏差(以下、マスタ位置偏差)に基づいて前記マスタモータへの電流指令値(以下、第1電流指令値)を生成し、
    前記マスタ位置偏差またはトルク指令値に基づいて前記スレーブモータへの電流指令値(以下、第2電流指令値)を生成し、
    前記マスタモータが前記第1電流指令値に基づいて発生した出力トルクに応じた電流値と前記第1電流指令値との偏差(以下、第1電流偏差)を監視し、
    前記スレーブモータが前記第2電流指令値に基づいて発生した出力トルクに応じた電流値と前記第2電流指令値との偏差(以下、第2電流偏差)を監視し、
    前記第1電流偏差と前記第2電流偏差との差が予め定められたしきい値以上である場合に、前記第1電流偏差と前記第2電流偏差との差が小さくなるように前記第1電流指令値および/または前記第2電流指令値を変更する、ロボットの制御方法。
JP2013266920A 2013-12-25 2013-12-25 ロボットの制御装置および制御方法 Pending JP2015122932A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013266920A JP2015122932A (ja) 2013-12-25 2013-12-25 ロボットの制御装置および制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013266920A JP2015122932A (ja) 2013-12-25 2013-12-25 ロボットの制御装置および制御方法

Publications (1)

Publication Number Publication Date
JP2015122932A true JP2015122932A (ja) 2015-07-02

Family

ID=53534080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013266920A Pending JP2015122932A (ja) 2013-12-25 2013-12-25 ロボットの制御装置および制御方法

Country Status (1)

Country Link
JP (1) JP2015122932A (ja)

Similar Documents

Publication Publication Date Title
US11148282B2 (en) Control device for motor drive device, control device for multi-axial motor, and control method for motor drive device
WO2018079075A1 (ja) エンコーダの異常検出方法及び異常検出装置、並びにロボット制御システム
WO2018212305A1 (ja) モータ制御システム、モータ制御システムの制御方法、及びロボットシステム
US20060161274A1 (en) Position control device, measuring device and machining device
US9317028B2 (en) Electric motor control device
JP5916583B2 (ja) 多関節ロボットのウィービング制御装置
JP5943650B2 (ja) サーボ制御装置及びサーボ制御方法
JP2016051398A (ja) 軸間干渉を補正するモータ制御装置
JPWO2019031219A1 (ja) コントローラの情報送信方法及びエンコーダの異常検出方法
JP2008222334A (ja) 搬送装置
US9969083B2 (en) Control apparatus of motor
WO1998053962A1 (fr) Procede et dispositif de commande de robot
JPH1170490A (ja) 産業用ロボットの衝突検出方法
JP2014046425A (ja) 駆動装置
JPH1110580A (ja) 産業用ロボットの駆動軸制御方法及びその装置
JP2003216243A (ja) ロボットの制御装置
JP2015122932A (ja) ロボットの制御装置および制御方法
JP6992443B2 (ja) 駆動装置、制御方法およびプログラム
JP2001198765A (ja) 送り駆動装置の位置制御方法および位置制御装置
JP5983457B2 (ja) 倒立二輪車及びその制御方法
JPH11291190A (ja) 溶接ロボットの動作異常検出方法
JP2013110874A (ja) 回転駆動装置及びロボット装置
US20230318514A1 (en) Current limiting device, robot system, and current limiting method
JPH11254380A (ja) 産業用ロボットの衝突検出方法
JP2024017883A (ja) 動力学トルク補償に基づく制御方法及び制御装置