(57)【特許請求の範囲】
【請求項１】
ロボットの動作を規定する可動部分を駆動する駆動軸と、前記駆動軸の一端部において動力伝達可能に接続されるマスタ動力伝達機構を介して前記駆動軸を回転駆動するマスタモータと、前記駆動軸の一端部において動力伝達可能に接続されるスレーブ動力伝達機構を介して前記駆動軸を回転駆動する１以上のスレーブモータと、を備えたロボットの制御装置であって、
前記マスタモータの回転位置であるマスタ位置を取得するマスタ位置取得部と、
位置指令値と前記マスタ位置とに基づいて原電流指令値を生成する原電流指令値生成部と、
前記マスタモータの速度であるマスタ速度を取得するマスタ速度取得部と、
１以上の前記スレーブモータの速度である１以上のスレーブ速度をそれぞれ取得するスレーブ速度取得部と、
前記マスタ速度に対する１以上の前記スレーブ速度の偏差に基づいてそれぞれの偏差に対応する前記スレーブ速度を補償するための１以上の補償要素と、を備え、
前記原電流指令値を分配してマスタ電流指令値と１以上のスレーブ電流指令値とを生成し、前記マスタ電流指令値に基づいて前記マスタモータを駆動し、前記１以上のスレーブモータにそれぞれ対応する１以上の前記スレーブ電流指令値に対しそれぞれに対応する前記補償要素の出力をそれぞれ加えた電流指令値に基づいて１以上の前記スレーブモータを駆動するように制御する、ロボットの制御装置。
【請求項２】
前記補償要素は、比例要素を含む、請求項１に記載のロボットの制御装置。
【請求項３】
前記比例要素の比例ゲインは、前記マスタ速度と前記スレーブ速度との偏差が単調に０に近づくような値に設定される、請求項２に記載のロボットの制御装置。
【請求項４】
前記マスタ速度取得部は、前記マスタ位置取得部と、前記マスタ位置取得部で取得された前記マスタ位置を微分して前記マスタ速度を出力する微分器と、を備え、
前記スレーブ速度取得部は、前記スレーブモータの回転位置であるスレーブ位置を取得するスレーブ位置取得部と、前記スレーブ位置を微分して前記スレーブ速度を出力する微分器と、を備えた、請求項１から３の何れかに記載のロボットの制御装置。
【請求項５】
ロボットの動作を規定する可動部分を駆動する駆動軸と、前記駆動軸の一端部において動力伝達可能に接続されるマスタ動力伝達機構を介して前記駆動軸を回転駆動するマスタモータと、前記駆動軸の一端部において動力伝達可能に接続されるスレーブ動力伝達機構を介して前記駆動軸を回転駆動する１以上のスレーブモータと、を備えたロボットの制御方法であって、
前記マスタモータの回転位置であるマスタ位置を取得し、
位置指令値と前記マスタ位置とに基づいて原電流指令値を生成し、
前記マスタモータの速度であるマスタ速度を取得し、
１以上の前記スレーブモータの速度である１以上のスレーブ速度をそれぞれ取得し、
前記マスタ速度に対する１以上の前記スレーブ速度の偏差に基づいてそれぞれの偏差に対応する前記スレーブ速度を補償するための補償値を算出し、
前記原電流指令値を分配してマスタ電流指令値と１以上のスレーブ電流指令値とを生成し、前記マスタ電流指令値に基づいて前記マスタモータを駆動し、前記１以上のスレーブモータにそれぞれ対応する１以上の前記スレーブ電流指令値に対しそれぞれに対応する前記補償値をそれぞれ加えた電流指令値に基づいて１以上の前記スレーブモータを駆動する、ロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの制御装置および制御方法に関し、特に、１つの駆動軸を少なくとも２つのモータで駆動するようにするサーボ制御構造を備えたロボットの制御装置および制御方法に関する。
【背景技術】
【０００２】
工作機械等のロボットにおいて、ロボットの動作を規定する可動部分を駆動する駆動軸にかかる負荷が大きく１つのモータだけで駆動軸を駆動することができない場合に、２つのモータを互いに連結し、１つの駆動軸を駆動するように２つのモータを制御するデュアルサーボ制御構造が知られている。従来のデュアルサーボ制御構造においては、２つのモータのうちの何れか一方のモータへの位置指令値に基づいて当該一のモータの現在位置を２つのモータの制御系にフィードバックすることにより２つのモータに対してフィードバック制御が行われる。
【０００３】
さらに、デュアルサーボ制御構造においてより安定的な制御を行うための構成として、例えば特許文献１のような構成が提案されている。特許文献１の構成においては、一方のモータ（マスタモータ）へのトルク指令と、他方のモータ（スレーブモータ）へのトルク指令との差に応じてスレーブモータへのトルク指令を補正している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−７９１８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、このような構成であっても、同じ性能のモータを同じように制御しても一方のモータに対して他方のモータの位置の偏差が生じる問題があった。このような問題は、３つ以上のモータを互いに連結し、１つの駆動軸を駆動するように３つ以上のモータを制御するサーバ制御構造でも同様に発生する。
【０００６】
本発明は、以上のような課題を解決すべくなされたものであり、１つの駆動軸を少なくとも２つのモータで駆動するようにするサーボ制御構造においてモータ間の位置偏差を小さくすることができるロボットの制御装置およびロボットの制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るロボットの制御装置は、ロボットの動作を規定する可動部分を駆動する駆動軸と、前記駆動軸を回転駆動するマスタモータと、前記駆動軸を回転駆動する１以上のスレーブモータと、を備えたロボットの制御装置であって、前記マスタモータの回転位置であるマスタ位置を取得するマスタ位置取得部と、位置指令値と前記マスタ位置とに基づいて原電流指令値を生成する原電流指令値生成部と、前記マスタモータの速度であるマスタ速度を取得するマスタ速度取得部と、１以上の前記スレーブモータの速度である１以上のスレーブ速度をそれぞれ取得するスレーブ速度取得部と、前記マスタ速度に対する１以上の前記スレーブ速度の偏差に基づいてそれぞれの偏差に対応する前記スレーブ速度を補償するための１以上の補償要素と、を備え、前記原電流指令値を分配してマスタ電流指令値と１以上のスレーブ電流指令値とを生成し、前記マスタ電流指令値に基づいて前記マスタモータを駆動し、前記１以上のスレーブモータにそれぞれ対応する１以上の前記スレーブ電流指令値に対しそれぞれに対応する前記補償要素の出力をそれぞれ加えた電流指令値に基づいて１以上の前記スレーブモータを駆動するように制御するものである。
【発明の効果】
【０００８】
一態様によれば、１つの駆動軸を少なくとも２つのモータで駆動するようにするサーボ制御構造においてモータ間の位置偏差を小さくすることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は本発明の第１の実施の形態に係るロボットの制御装置の概略構成を示すブロック図である。
【図２】図２は本発明の第１の実施の形態の変形例に係るロボットの制御装置の概略構成を示すブロック図である。
【図３】図３は本発明の第２の実施の形態に係るロボットの制御装置の概略構成を示すブロック図である。
【図４】図４は本実施例におけるマスタモータおよびスレーブモータのトルクおよび速度の時間的変化を示すグラフである。
【図５】図５は図４に示す速度の時間的変化を示すグラフにおけるＶ部拡大図である。
【図６】本実施例における補償後スレーブ電流指令値の時間的変化を比較例とともに示すグラフである。
【図７】図７は比較例におけるマスタモータおよびスレーブモータのトルクおよび速度の時間的変化を示すグラフである。
【図８】図８は図７に示す速度の時間的変化を示すグラフにおけるＶＩＩＩ部拡大図である。
【発明を実施するための形態】
【００１０】
＜本発明の一態様を得るに至った経緯＞
上述したように、従来のデュアルサーボ制御構造においては、同じ性能のモータを同じように制御しても一方のモータに対して他方のモータの位置の偏差が生じる問題があった。
【００１１】
そこで、本発明の発明者らは上記課題を解決するため、鋭意研究を行った。この結果、本発明の発明者らは、デュアルサーボ制御を行った２つのモータのそれぞれの速度を解析することによって、一方のモータ（例えばマスタモータ）の速度変化に対して、他方のモータ（例えばスレーブモータ）の速度変化が追従できず、振動が発生したりして両者のモータ間の速度差が広がるという知見を得た。そこで、本発明の発明者らは、２つのモータの変位差は、両者の速度差に比例すると仮定し、両者に共通の電流指令値を用いつつ、スレーブモータの電流指令値に両者の速度差に基づいた補償値を加えるという制御態様を想到するに至った。これにより、マスタモータとスレーブモータとの間の速度変化を抑え、モータ間の位置偏差を小さくすることができる。
【００１２】
＜本発明の一態様の概要＞
本発明は、以上のような発明者の知見に基づいて想到されたものである。本発明の一態様に係るロボットの制御装置は、ロボットの動作を規定する可動部分を駆動する駆動軸と、前記駆動軸を回転駆動するマスタモータと、前記駆動軸を回転駆動する１以上のスレーブモータと、を備えたロボットの制御装置であって、前記マスタモータの回転位置であるマスタ位置を取得するマスタ位置取得部と、位置指令値と前記マスタ位置とに基づいて原電流指令値を生成する原電流指令値生成部と、前記マスタモータの速度であるマスタ速度を取得するマスタ速度取得部と、１以上の前記スレーブモータの速度である１以上のスレーブ速度をそれぞれ取得するスレーブ速度取得部と、前記マスタ速度に対する１以上の前記スレーブ速度の偏差に基づいてそれぞれの偏差に対応する前記スレーブ速度を補償するための１以上の補償要素と、を備え、前記原電流指令値を分配してマスタ電流指令値と１以上のスレーブ電流指令値とを生成し、前記マスタ電流指令値に基づいて前記マスタモータを駆動し、前記１以上のスレーブモータにそれぞれ対応する１以上の前記スレーブ電流指令値に対しそれぞれに対応する前記補償要素の出力をそれぞれ加えた電流指令値に基づいて１以上の前記スレーブモータを駆動するように制御するものである。
【００１３】
上記構成によれば、位置指令値からマスタモータおよびスレーブモータへのそれぞれに共通する原電流指令値が生成される。マスタモータへは、原電流指令値から分配されたマスタ電流指令値が入力され、スレーブモータへは、原電流指令値から分配されたスレーブ電流指令値に、マスタ速度とスレーブ速度との偏差に基づいたスレーブ速度の補償分が加えられた電流指令値が入力される。このようにして、両者に共通の電流指令値を用いつつ、スレーブモータの電流指令値に両者の速度差に基づいた補償値を加えている。これにより、マスタモータとスレーブモータとの間の速度変化を抑え、モータ間の位置偏差を小さくすることができる。
【００１４】
前記補償要素は、比例要素を含んでもよい。これにより、マスタモータとスレーブモータとの間の速度偏差に比例した補償が行われるため、マスタモータとスレーブモータとの間の速度変化を抑えることができる。さらに、前記比例要素のゲインは、前記マスタ速度と前記スレーブ速度との偏差が単調に０に近づくような値に設定されてもよい。このように、両者間の速度偏差が単調に０に近づくような値にゲインが設定されることにより、より効率的に両者間の速度変化を抑えることができる。
【００１５】
前記マスタ速度取得部は、前記マスタ位置取得部と、前記マスタ位置を微分して前記マスタ速度を出力する微分器と、を備え、前記スレーブ速度取得部は、前記スレーブモータの回転位置であるスレーブ位置を取得するスレーブ位置取得部と、前記スレーブ位置を微分して前記スレーブ速度を出力する微分器と、を備えてもよい。これにより、既存の構成で容易に本発明の構成を実現することができる。
【００１６】
本発明の他の態様に係るロボットの制御方法は、ロボットの動作を規定する可動部分を駆動する駆動軸と、前記駆動軸を回転駆動するマスタモータと、前記駆動軸を回転駆動する１以上のスレーブモータと、を備えたロボットの制御方法であって、前記マスタモータの回転位置であるマスタ位置を取得し、位置指令値と前記マスタ位置とに基づいて生成された原電流指令値を分配してマスタ電流指令値と１以上のスレーブ電流指令値とを生成し、前記マスタモータの速度であるマスタ速度を取得し、１以上の前記スレーブモータの速度である１以上のスレーブ速度をそれぞれ取得し、前記マスタ速度に対する１以上の前記スレーブ速度の偏差に基づいてそれぞれの偏差に対応する前記スレーブ速度を補償するための補償値を算出し、前記マスタ電流指令値に基づいて前記マスタモータを駆動し、前記１以上のスレーブモータにそれぞれ対応する１以上の前記スレーブ電流指令値に対しそれぞれに対応する前記補償値をそれぞれ加えた電流指令値に基づいて１以上の前記スレーブモータを駆動するものである。
【００１７】
上記方法によれば、位置指令値からマスタモータおよびスレーブモータへのそれぞれに共通する原電流指令値が生成される。マスタモータへは、現電流指令値から分配されたマスタ電流指令値が入力され、スレーブモータへは、原電流指令値から分配されたスレーブ電流指令値に、マスタ速度とスレーブ速度との偏差に基づいてスレーブ速度を補償した電流指令値が入力される。このようにして、両者に共通の電流指令値を用いつつ、スレーブモータの電流指令値に両者の速度差に基づいた補償値を加えている。これにより、マスタモータとスレーブモータとの間の速度変化を抑え、モータ間の位置偏差を小さくすることができる。
【００１８】
＜実施の形態＞
以下、本発明の実施の形態を、図面を参照しながら説明する。なお、以下では全ての図を通じて同一又は相当する要素には同一の参照符号を付して、その重複する説明を省略する。
【００１９】
＜第１の実施の形態＞
まず、本発明の第１の実施の形態について説明する。図１は本発明の第１の実施の形態に係るロボットの制御装置の概略構成を示すブロック図である。図１に示すように、本実施の形態におけるロボットの制御装置１は、ロボットの動作を規定する可動部分を駆動する駆動軸２と、マスタ動力伝達機構３を介して駆動軸２を回転駆動するマスタモータ４と、スレーブ動力伝達機構５を介して駆動軸２を回転駆動するスレーブモータ６と、を備えている。さらに、制御装置１は、マスタ電流指令値ＩＭ（後述）に基づいてマスタモータ４を駆動するマスタモータ駆動部１４と、補償後スレーブ電流指令値ＩＣＳ（後述）に基づいてスレーブモータ６を駆動するスレーブモータ駆動部１５と、を備えている。
【００２０】
本実施の形態が適用されるロボットは、例えば複数のアーム部材と、これらを接続する複数の関節（回転軸）とを備えた多関節ロボットとして構成される。すなわち、多関節ロボットにおける特定のアーム部材を可動部分として回動させる回転軸が本実施の形態における駆動軸２となる。マスタ動力伝達機構３は、マスタモータ４から出力される回転動力を駆動軸２に伝達する機構であれば特に限定されない。例えばマスタ動力伝達機構３は、ギヤ機構、アーム機構またはこれらを組み合わせた構成等、種々の構成を採用可能である。また、スレーブ動力伝達機構５もスレーブモータ６から出力される回転動力を駆動軸２に伝達する機構としてマスタ動力伝達機構３と同様に構成される。
【００２１】
マスタ動力伝達機構３およびスレーブ動力伝達機構５は、それぞれ駆動軸２に対する所定の減速比を有している。本実施の形態においては、マスタ動力伝達機構３の減速比とスレーブ動力伝達機構５の減速比とは等しい値に設定されている。
【００２２】
さらに、制御装置１は、マスタモータ４の速度（現在速度）を示す値（マスタ速度ωＭ）を取得するマスタ速度取得部７と、スレーブモータ６の速度（現在速度）を示す値（スレーブ速度ωＳ）を取得するスレーブ速度取得部８と、を備えている。本実施の形態において、マスタ速度取得部７は、マスタモータ４の回転位置（現在位置）を示す値（マスタ位置ＰＭ）を取得するマスタ位置取得部９と、マスタ位置ＰＭを微分してマスタ速度ωＭを出力する微分器１０と、を備えている。同様に、スレーブ速度取得部８は、スレーブモータ６の回転位置を示す値（スレーブ位置ＰＳ）を取得するスレーブ位置取得部１１と、スレーブ位置ＰＳを微分してスレーブ速度ωＳを出力する微分器１２と、を備えている。位置取得部９，１１が取得する回転位置は、各モータ４，６の出力軸（モータ軸）の回転角度位置（基準位置からの回転数および回転角度）を意味する。例えば、位置取得部９，１１は、エンコーダまたはレゾルバ等により構成される。
【００２３】
さらに、制御装置１は、位置指令値Ｐｏとマスタ位置ＰＭとに基づいて原電流指令値Ｉｏを生成する原電流指令値生成部１３を備えている。原電流指令値生成部１３は、ＣＰＵ、メモリおよび各種信号の入出力装置等を備えたコンピュータの機能ブロックとして構成される。位置指令値Ｐｏは、マスタモータ４のモータ軸の回転位置（基準位置からの回転数および回転角度）を示す値として外部から入力される。
【００２４】
原電流指令値生成部１３で生成された原電流指令値Ｉｏは、マスタモータ４への経路およびスレーブモータ６への経路に分岐することにより均等に分配されてマスタ電流指令値ＩＭおよびスレーブ電流指令値ＩＳとなる。マスタ電流指令値ＩＭは、マスタモータ駆動部１４に入力される。マスタモータ駆動部１４は、入力されたマスタ電流指令値ＩＭに基づいた出力トルクＴＭを発生させるようにマスタモータ４を駆動し、マスタモータ４は、回転動力を出力する。
【００２５】
さらに、制御装置１は、マスタ速度ωＭに対するスレーブ速度ωＳの偏差Δωに基づいてスレーブ速度ωＳを補償する補償要素１６を備えている。補償要素１６も、原電流指令値生成部１３と同様にコンピュータの機能ブロックとして構成される。本実施の形態において、補償要素１６は、比例要素（ゲインＧ）を含むように構成される。さらに、補償要素１６は、速度偏差Δωを電流指令値に加えるための換算値を含むように構成される。
【００２６】
なお、補償要素１６は、ゲインＧとして比例要素、積分要素、および微分要素の少なくとも何れか１つを有する。これらの要素を複数組み合わせることとしてもよい。すなわち、比例補償だけでなく、ＰＩ補償やＰＩＤ補償を行うこととしてもよい。
【００２７】
補償要素１６から出力された補償値ＧΔωは、スレーブ電流指令値ＩＳに加えられ、補償後スレーブ電流指令値ＩＣＳとしてスレーブモータ駆動部１５に入力される。スレーブモータ駆動部１５は、入力された補償後スレーブ電流指令値ＩＣＳに基づいた出力トルクＴＳを発生させるようにスレーブモータ６を駆動し、スレーブモータ６は、回転動力を出力する。
【００２８】
マスタモータ４は、発生した出力トルクＴＭに応じた電流値をフィードバックし、当該フィードバック電流値とマスタ電流指令値ＩＭとの偏差に対してＰＩ補償を行うように構成されている。同様に、スレーブモータ６は、発生した出力トルクＴＳに応じた電流値をフィードバックし、当該フィードバック電流値と補償後スレーブ電流指令値ＩＣＳとの偏差に対してＰＩ補償を行うように構成されている。
【００２９】
本実施の形態におけるロボットの制御装置１によれば、位置指令値Ｐｏからマスタモータ４およびスレーブモータ６へのそれぞれに共通する原電流指令値Ｉｏが生成される。マスタモータ４へは、原電流指令値Ｉｏから分配されたマスタ電流指令値ＩＭが入力され、スレーブモータ６へは、マスタ速度ωＭとスレーブ速度ωＳとの偏差Δωに基づいたスレーブ速度ωＳの補償分が加えられた電流指令値（補償後スレーブ電流指令値）ＩＣＳが入力される。このようにして、両者に共通の原電流指令値Ｉｏを用いつつ、スレーブモータ６への電流指令値ＩＣＳとして両者の速度差Δωに基づいた補償値ＧΔωを加えている。これにより、マスタモータ４とスレーブモータ６との間の速度変化を抑え、モータ４，６間の位置偏差を小さくすることができる。
【００３０】
また、補償要素１６が、比例要素（ゲインＧ）を含むことにより、マスタモータ４とスレーブモータ６との間の速度偏差Δωに比例した補償が行われるため、２つのモータに共通の原電流指令値Ｉｏを用いつつ、スレーブモータ６の電流指令値ＩＣＳに両者の速度差Δωに基づいた補償値を加えるという制御態様を容易かつシンプルに実現することができる。さらに、ゲインＧは、速度偏差Δωが単調に０に近づくような値に設定されることが好ましい。このように、両者間の速度偏差Δωが単調に０に近づくような値にゲインＧが設定されることにより、より効率的に両者間の速度変化を抑えることができる。
【００３１】
本実施の形態において、第１電流指令値生成部１３は、位置指令値Ｐｏとマスタ位置ＰＭとの位置偏差（時間的偏差）ΔＰに基づいて速度指令値ωＯを算出する速度指令値算出部１７と、速度指令値ωｏとマスタ速度ωＭとの速度偏差（時間的偏差）Δωから第１電流指令値Ｉ１を算出する電流指令値算出部１８と、を備えている。より具体的には、速度指令値算出部１７は、位置ループゲインＫＰＭを用いて位置偏差ΔＰに対してＰＩ補償を行うことにより速度指令値ωｏを生成するよう構成される。また、電流指令値算出部１８は、速度ループゲインＫωＭを用いて速度偏差Δωに対してＰＩ補償を行い、第１電流指令値Ｉ１を出力する。なお、位置ループゲインＫＰＭおよび速度ループゲインＫωＭは、それぞれ比例ゲイン（ＫＰＰ，ＫωＰ）および積分ゲイン（ＫＰＩ，ＫωＩ）を含み、微分ゲインと積分ゲインとの値は個別に設定される。
【００３２】
このように、原電流指令値Ｉｏに対してマスタモータ４の位置ＰＭおよび速度ωＭに基づいてフィードバック制御を行うことにより、マスタモータ４およびスレーブモータ６への共通の原電流指令値Ｉｏに対して有効なフィードバック制御を行うことができる。
【００３３】
また、マスタ位置取得部９で検出されたマスタ位置ＰＭとこれを微分器１０で微分して得られたマスタ速度ωＭとを用いて位置フィードバック制御および速度フィードバック制御を行うため、速度検出器を別途設けることなく２つのフィードバック制御を容易に実現することができる。さらに、このような位置フィードバック制御および速度フィードバック制御を行う構成に予め設けられたマスタ速度取得部７を用いてスレーブモータ６への電流指令値ＩＣＳが生成されるため、既存の構成で容易に本発明の構成（すなわち、２つのモータに共通の原電流指令値Ｉｏを用いつつ、スレーブモータ６の電流指令値ＩＣＳに両者の速度差Δωに基づいた補償値を加えるという制御態様）を実現することができる。
【００３４】
なお、本実施の形態においては、マスタ動力伝達機構３の減速比とスレーブ動力伝達機構５の減速比とが同じ値であるため、電流指令値算出部１８は、速度ループゲインＫωＭを用いて速度偏差Δωに対してＰＩ補償を行った後の値に各モータへの分配のための０．５のゲインを掛けた値を原電流指令値Ｉｏとして出力する。したがって、本実施の形態においては、実質的に原電流指令値Ｉｏとマスタ電流指令値ＩＭおよびスレーブ電流指令値ＩＳとは同じ値となっている。
【００３５】
また、マスタモータ駆動部１４に入力される電流指令値として、マスタ電流指令値ＩＭにロボットの駆動軸２に作用する重力を考慮した動力学トルクに基づく電流補正値を加えてもよい。同様に、スレーブモータ駆動部１５に入力される電流指令値として、補償後スレーブ電流指令値ＩＣＳにロボットの駆動軸２に作用する重力を考慮した動力学トルクに基づく電流補正値を加えてもよい。
【００３６】
これらの電流補正値の基となる重力を考慮した動力学トルクは、例えば重力トルク、加減速トルク、摩擦トルク、他の軸の動きを支えるトルク（干渉トルク）等を含む。重力を考慮した動力学トルクは、ロボット動作における理論値に基づく値として規定され、予め設定される。このような動力学トルクに基づく電流補正値を加えるフィードフォワード制御を行うことにより、マスタモータ４とスレーブモータ６との位置偏差および速度偏差を予め小さくすることができ、より迅速な制御を行うことができる。
【００３７】
＜変形例＞
図２は本発明の第１の実施の形態の変形例に係るロボットの制御装置の概略構成を示すブロック図である。本変形例において第１の実施の形態と同様の構成については同じ符号を付し、説明を省略する。
【００３８】
本変形例のロボットの制御装置１Ｂが第１の実施の形態におけるロボットの制御装置１と異なる点は、マスタ動力伝達機構３Ｂの減速比αとスレーブ動力伝達機構５Ｂの減速比βとが異なることである。これに応じて、制御装置１Ｂは、減速比の割合に応じたゲインを各モータ４，６を駆動するための第１電流指令値Ｉ１にそれぞれ掛けるための分配要素１９，２０を備えている。さらに、制御装置１Ｂは、マスタ速度ωＭとスレーブ速度ωＳとの速度偏差Δωを算出するために、減速比の影響をなくすゲインを掛けるための速度調整要素２１を備えている。
【００３９】
分配要素１９は、原電流指令値生成部１３（電流指令値算出部１８）とマスタモータ駆動部１４との間に設けられる。分配要素２０は、原電流指令値生成部１３（電流指令値算出部１８）とスレーブモータ駆動部１５との間であって、補償要素１６から出力される補償値ＧΔωが加えられる加算器より前段に設けられる。
【００４０】
マスタ動力伝達機構３Ｂとスレーブ動力伝達機構５Ｂとの減速比の割合がα：βであるため、マスタモータ４へ原電流指令値Ｉｏを分配する分配要素１９の比例ゲインは、α／（α＋β）であり、スレーブモータ６へ原電流指令値Ｉｏを分配する分配要素２０の比例ゲインは、β／（α＋β）である。したがって、本変形例においては、マスタ電流指令値ＩＭは、原電流指令値Ｉｏに分配要素１９の比例ゲインα／（α＋β）を掛けたものであり、スレーブ電流指令値ＩＳは、原電流指令値Ｉｏに分配要素２０の比例ゲインβ／（α＋β）を掛けたものである。
【００４１】
また、マスタ動力伝達機構３Ｂの減速比αとスレーブ動力伝達機構５Ｂの減速比βとが異なるため、マスタ速度ωＭとスレーブ速度ωＳとは、目標とする速度がそもそも異なる。そこで、両者の速度ωＭ，ωＳを同じ目標速度に換算して比較するために速度取得部７，８の出力の少なくとも何れか一方に速度を調整するためのゲインを掛ける。本実施の形態において、制御装置１Ｂは、マスタ速度ωＭをスレーブ速度ωＳの速度に換算するために、マスタ速度ωＭを速度調整要素２１に入力し、速度調整要素２１の出力とスレーブ速度ωＳとの差を速度偏差Δωとして算出するように構成される。すなわち、微分器１０の出力端と速度偏差Δωを算出する減算器の入力端との間に速度調整要素２１が設けられる。この場合、速度調整要素の比例ゲインは、β／αである。
【００４２】
なお、速度偏差Δωを算出するための速度調整要素２１は、スレーブ速度ωＳをマスタ速度ωＭの目標速度に対応する速度に換算するようにしてもよいし、マスタ速度ωＭおよびスレーブ速度ωＳをその他の所定の目標速度に対応する速度（例えば駆動軸２の目標速度に対応する速度）に換算するようにしてもよい。これらの場合には、補償要素１６において、再度スレーブモータ６の本来の目標速度に対応する速度に換算するためのゲインを掛けることが好ましい。
【００４３】
また、本変形例は、マスタ動力伝達機構３Ｂの減速比αとスレーブ動力伝達機構５Ｂの減速比βとが同じ場合（α＝β）でも適用され得る。この場合、分配要素１９，２０の比例ゲインは、何れも０．５となり、速度調整要素の比例ゲインは１となる。
【００４４】
＜第２の実施の形態＞
次に、本発明の第２の実施の形態について説明する。図３は本発明の第２の実施の形態に係るロボットの制御装置の概略構成を示すブロック図である。第２の実施の形態において第１の実施の形態と同様の構成については同じ符号を付し、説明を省略する。
【００４５】
図３に示すように、本実施の形態におけるロボットの制御装置１Ｃが第１の実施の形態におけるロボットの制御装置１と異なる点は、１つのマスタモータ４と複数（図３の例では２つ）のスレーブモータ６ａ，６ｂとを備えることである。スレーブモータ６ａ，６ｂが複数となることにより、スレーブモータ６ａ，６ｂに関連する構成５，８，１１，１２，１５，１６についても複数（２つずつ）設けられている。図３ではこれらの各構成の相違を各符号にａまたはｂを付すことにより区別して示している。以下では場合によって２つのスレーブモータ６ａ，６ｂを第１スレーブモータ６ａおよび第２スレーブモータ６ｂと呼称する。
【００４６】
本実施の形態においても、第１の実施の形態と同様に、マスタ速度ωＭと第１スレーブモータ６ａの速度ωＳａとの速度偏差Δωａに補償要素１６ａの比例ゲインＧａを掛けた補償値ＧａΔωａをスレーブ電流指令値ＩＳａに加えた補償後スレーブ電流指令値ＩＣＳａが第１スレーブモータ６ａを駆動するためのスレーブモータ駆動部１５ａに入力される。また、マスタ速度ωＭと第２スレーブモータ６ｂの速度ωＳｂとの速度偏差Δωｂに補償要素１６ｂの比例ゲインＧｂを掛けた補償値ＧｂΔωｂをスレーブ電流指令値ＩＳｂに加えた補償後スレーブ電流指令値ＩＣＳｂが第２スレーブモータ６ｂを駆動するためのスレーブモータ駆動部１５ｂに入力される。スレーブモータ６の数が３つ以上の場合でも同様に、マスタモータ４のマスタ速度ωＭと各スレーブモータ６のスレーブ速度ωＳとの速度偏差Δωに基づいて各スレーブモータ６への電流指令値を補償することができる。
【００４７】
本実施の形態において、マスタ動力伝達機構３およびスレーブ動力伝達機構５ａ，５ｂの減速比が同じ場合、電流指令値算出部１８は、速度ループゲインＫωＭを用いて速度偏差Δωに対してＰＩ補償を行った後の原電流指令値Ｉｏに１／３のゲインを掛けた値をマスタ電流指令値ＩＭおよびスレーブ電流指令値ＩＳａ，ＩＳｂとして出力する。これにより、共通の原電流指令値Ｉｏをマスタモータ４とスレーブモータ６ａ，６ｂとに均等に分配している。
【００４８】
なお、本実施の形態においても第１の実施の形態の変形例と同様に、マスタ動力伝達機構３の減速比とスレーブ動力伝達機構５ａの減速比との割合が異なる場合、および／またはマスタ動力伝達機構３の減速比とスレーブ動力伝達機構５ｂの減速比との割合が異なる場合には、第１の実施の形態の分配要素１９，２０および速度調整要素２１に対応する箇所に各要素を設けることにより、本実施の形態の構成を実現することができる。
【００４９】
以上、本発明の実施の形態について説明したが、本発明は上記実施の形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。
【００５０】
例えば、第１の実施の形態およびその変形例において説明した構成の一部を第２の実施の形態において適用することも可能である。
【００５１】
また、上記実施の形態のマスタ速度取得部７およびスレーブ速度取得部８は、マスタモータ４およびスレーブモータ６の位置を検出し、速度に変換するように構成されているが、例えばエンコーダ等の速度検出器を用いてマスタモータ４およびスレーブモータ６の速度を直接取得することとしてもよい。
【００５２】
＜実施例＞
以下に、上記第１の実施の形態の構成に基づいてマスタモータ４およびスレーブモータ６間のトルク差、速度差および電流指令値差をシミュレーションした結果を示す。比較例としてスレーブモータ６の電流指令値として補償要素１６の出力ＧΔωを加えない（スレーブ電流指令値ＩＳをそのままスレーブモータ駆動部１５に入力する）態様におけるマスタモータ４およびスレーブモータ６間のトルク差、速度差および電流指令値差もシミュレーションした。
【００５３】
図４は本実施例におけるマスタモータおよびスレーブモータのトルクおよび速度の時間的変化を示すグラフである。図４の上側のグラフがトルクの時間的変化を示すグラフであり、下側のグラフが速度の時間的変化を示すグラフである。何れのグラフもマスタモータとスレーブモータとを重ねて示している。図５は図４に示す速度の時間的変化を示すグラフにおけるＶ部拡大図である。また、図７は比較例におけるマスタモータおよびスレーブモータのトルクおよび速度の時間的変化を示すグラフである。図８は図７に示す速度の時間的変化を示すグラフにおけるＶＩＩＩ部拡大図である。図７は実施例における図４に対応し、図８は実施例における図５に対応するグラフである。図５および図８の拡大図においては、マスタモータの速度波形とスレーブモータの速度波形が分かり易いように、概略的な波形のみをトレースするように加工している。
【００５４】
まず、図４と図７とのそれぞれのトルクの時間的変化を示すグラフ（上側のグラフ）を比較する。速度偏差Δωに基づく補償を行っていない比較例（図７）においては、特に、発生するトルクの向きが変わるＡｃ部においてノイズのような振動現象が大きく出ている。これは、トルク変動が大きいときに、一方のモータ（マスタモータ）に対して他方のモータ（スレーブモータ）がうまく追従できておらず、一方のモータのトルク値に対して他方のモータのトルク値が上回ったり下回ったりすることによるものと考えられる。
【００５５】
これに対し、速度偏差Δωに基づく補償を行った本実施例（図４）においては、発生するトルクの向きが変わるＡｅ部においてもノイズのような振動現象は比較的抑えられ、全体的に滑らかな波形となっている。このことから、本実施例においては、マスタモータ４およびスレーブモータ６でそれぞれ発生するトルク値に差が比較的生じず、マスタモータ４のトルク変動に対してスレーブモータ６のトルク変動がよく追従していると考えられる。
【００５６】
次に、図４と図７とのそれぞれの速度の時間的変化を示すグラフ（下側のグラフ）を比較する。比較例（図７）においては、特に、速度が連続的に変化する領域（例えばＶＩＩＩ部）において、図８に示すように、マスタモータの速度が比較的滑らかに変化するのに対し、スレーブモータの速度はマスタモータの速度にうまく追従できておらず、マスタモータの速度に対してスレーブモータの速度が近づいたり離れたりする結果となった。
【００５７】
これに対し、本実施例（図４）においては、同じ領域（Ｖ部）において、図５に示すように、マスタモータ４の速度およびスレーブモータ６の速度が何れも比較的滑らかに変化する結果が得られた。このように、本実施例によれば、マスタモータ４の速度とスレーブモータ６の速度とが離れることなくよく追従できていることが示された。
【００５８】
図６は本実施例における補償後スレーブ電流指令値ＩＣＳの時間的変化を比較例とともに示すグラフである。図６に示すように、速度偏差Δωに基づく補償を行っていない比較例においては電流指令値の振動幅が比較的大きいのに対し、本実施例では電流指令値ＩＣＳの振動的変化が比較的抑えられ、滑らかに変化する結果が得られた。このように、本実施例によればスレーブモータ６への電流指令値ＩＣＳ自体の振動的変化が抑えられ、比較的滑らかなトルク変動制御が行われることが示された。
【産業上の利用可能性】
【００５９】
本発明のロボットの制御装置およびロボットの制御方法は、１つの駆動軸を少なくとも２つのモータで駆動するようにするサーボ制御構造においてモータ間の位置偏差を小さくするために有用である。
【符号の説明】
【００６０】
１，１Ｂ  ロボットの制御装置
２  駆動軸
３  マスタ動力伝達機構
４  マスタモータ
５  スレーブ動力伝達機構
６  スレーブモータ
７  マスタ速度取得部
８  スレーブ速度取得部
９  マスタ位置取得部
１０，１２  微分器
１１  スレーブ位置取得部
１３  原電流指令値生成部
１６  補償要素
１７  速度指令値算出部
１８  電流指令値算出部
【図１】
0006564175.tif 000002
【図２】
0006564175.tif 000003
【図３】
0006564175.tif 000004
【図４】
0006564175.tif 000005
【図５】
0006564175.tif 000006
【図６】
0006564175.tif 000007
【図７】
0006564175.tif 000008
【図８】
0006564175.tif 000009