(57)【要約】【課題】  本発明のロボットの制御システムの目的は、通信量を増やさずに制御を高度化し、マニピュレータロボットの小型化と高精度組立を両立することである。【解決手段】  制御装置と、多関節ロボットとを有し、前記多関節ロボットの複数の関節部に制御部が設けられた分散制御型のロボット制御システムであって、前記制御装置から第一番のサーボモータを制御する第一番の制御部に、前記第一番のサーボモータの関節角の目標値と第二番のサーボモータの関節角の目標値とをマルチキャスト通信で送信し、前記第一番の制御部は、前記第二番のサーボモータが前記第１番のサーボモータに与える負荷を相殺するように前記第１番のサーボモータの関節角を駆動させることを特徴とする分散制御型のロボット制御システム。【選択図】  図２
2015205357.tif 000002
【特許請求の範囲】
【請求項１】
制御装置と、多関節ロボットとを有し、前記多関節ロボットの複数の関節部に制御部が設けられた分散制御型のロボット制御システムであって、
前記制御装置から第一番のサーボモータを制御する第一番の制御部に、前記第一番のサーボモータの関節角の目標値と第二番のサーボモータの関節角の目標値とをマルチキャスト通信で送信し、
前記第一番の制御部は、前記第二番のサーボモータが前記第１番のサーボモータに与える負荷を相殺するように前記第１番のサーボモータの関節角を駆動させることを特徴とする分散制御型のロボット制御システム。
【請求項２】
前記第一番の制御部は、マルチキャスト通信された前記第２のサーボモータの関節角の目標値から、前記第二番のサーボモータが前記第一番のサーボモータに与える負荷を計算することを特徴とする請求項１に記載の分散制御型のロボット制御システム。
【請求項３】
前記第一番の制御部は、マルチキャスト通信された前記第２のサーボモータの関節角の実測値から、前記第二番のサーボモータが前記第一番のサーボモータに与える負荷を計算することを特徴とする請求項１に記載の分散制御型のロボット制御システム。
【請求項４】
前記多関節ロボットは、６軸多関節ロボットであり、
前記制御装置から６軸全てのサーボモータに、６軸全ての関節角の目標値をマルチキャスト通信で送信することを特徴とする請求項１乃至３のいずれか一項に記載の分散制御型のロボット制御システム。
【請求項５】
制御装置と、多関節ロボットとを有し、前記多関節ロボットの複数の関節にサーボ制御部が設けられた分散制御型のロボットの制御方法であって、
前記制御装置から第一番の制御部に、第一番のサーボモータの関節角の目標値と第二番のサーボモータの関節角の目標値とを含むデータをマルチキャスト通信で送信するとともに、前記第二番のサーボモータのモータ角度を取得する工程と、
前記第一番の制御部が、前記第二番のサーボモータのモータ角度目標値に基づいて、前記第一番のサーボモータの関節トルクを計算する工程と、
前記第一番のサーボモータが、前記第一番のサーボモータの関節トルクに基づいて、前記第一番の関節トルク相当の電流を換算する工程と、
前記第一番の制御部が、前記第二番のサーボモータが前記第１番のサーボモータに与える負荷を相殺するように、前記第一番のサーボモータの関節角の目標値に対応する電流と前記第一番の関節トルク相当の電流を足して、前記第一番のサーボモータに通電する工程と、
を有することを特徴とする分散制御型のロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多関節ロボットの制御システムに関する。
【背景技術】
【０００２】
産業用ロボットは、工場の自動化により広く用いられているが、動作の高速化・高精度化が求められている。近年産業用ロボットには多関節ロボットが広く使用されているが、多関節ロボットには、『他軸干渉』と言う課題がある。
【０００３】
『他軸干渉』について、図６を用いて説明する。図６に示す６軸多関節ロボット６００は、第１の関節部６０１、第２の関節部６０２、第３の関節部６０３、第４の関節部６０４、第５の関節６０５、第６の関節部６０６及びハンド６０７を有している。第３の関節部６０３を回転運動させるためには、第３の関節部６０３に第三の関節トルク６０８を加える。このとき第２の関節部６０２には、第三の関節トルク６０８の大きさに比例した逆方向のトルクである第二の関節トルク６０９が生じる。このように、第三の関節の回転運動により、第二の関節に回転トルクが発生することを『他軸干渉』という。
【０００４】
この『他軸干渉』を抑制する方法として、特許文献１には、複数軸から構成されるロボットにおいて、各間接から検出されるモータトルク信号とモータ位置信号を用いることが記載されている。この方法は、計算量を大幅に少なくすることができる。
【０００５】
また、多関節ロボットを高精度に動作させるために、関節ごとの高度な制御が求められている。このため、すべての関節を一括して制御する集中制御型のロボット制御システムではなく、多関節ロボットの各関節に制御部が設けられた分散制御型のロボット制御システムが検討されている。（特許文献２）
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１８６２３５号公報
【特許文献２】特開平５−３８６８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
分散制御型のロボット制御システムにおいて、例えば、他軸干渉を抑制するため高度な制御をしようとすると、ロボットの制御装置と関節部の制御部との間で高速通信を行う必要がある。高速通信を行う場合、単位時間当たりに通信する情報量が大きくなるため、一般的に通信線にシールド線が使用される。しかしながら、シールド線は屈曲に弱いため、多関節ロボットの関節部分に使用する場合、屈曲半径を大きくしなければならない。これはとる必要があり、多関節ロボットの小型化のための大きな障害となる。
【０００８】
そこで、本発明の目的は、分散制御型のロボット制御システムにおいて、通信量を増やさずに制御を高度化し、ロボットの小型化及びロボットの制御の高精度を図ることにある。
【課題を解決するための手段】
【０００９】
本発明の分散制御型のロボット制御システムは、制御装置と、多関節ロボットとを有し、前記多関節ロボットの複数の関節部に制御部が設けられた分散制御型のロボット制御システムであって、前記制御装置から第一番のサーボモータを制御する第一番の制御部に、前記第一番のサーボモータの関節角の目標値と第二番のサーボモータの関節角の目標値とをマルチキャスト通信で送信し、前記第一番の制御部は、前記第二番のサーボモータが前記第１番のサーボモータに与える負荷を相殺するように前記第１番のサーボモータの関節角を駆動させることを特徴とする。
【００１０】
また、分散制御型のロボット制御システムは、制御装置と、多関節ロボットとを有し、前記多関節ロボットの複数の関節にサーボ制御部が設けられた分散制御型のロボットの制御方法であって、前記制御装置から第一番の制御部に、第一番のサーボモータの関節角の目標値と第二番のサーボモータの関節角の目標値とを含むデータをマルチキャスト通信で送信するとともに、前記第二番のサーボモータのモータ角度を取得する工程と、前記第一番の制御部が、前記第二番のサーボモータのモータ角度目標値に基づいて、前記第一番のサーボモータの関節トルクを計算する工程と、前記第一番のサーボモータが、前記第一番のサーボモータの関節トルクに基づいて、前記第一番の関節トルク相当の電流を換算する工程と、前記第一番の制御部が、前記第二番のサーボモータが前記第１番のサーボモータに与える負荷を相殺するように、前記第一番のサーボモータの関節角の目標値に対応する電流と前記第一番の関節トルク相当の電流を足して、前記第一番のサーボモータに通電する工程と、
を有することを特徴とする。
【発明の効果】
【００１１】
本発明の分散制御型のロボット制御システムによれば、通信量を増やさずに制御を高度化し、ロボットの小型化及び関節ごとの高度な分散制御をすることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明のロボット制御システムの概略図である。
【図２】本発明の第１実施形態の制御装置を示す図である。
【図３】本発明の第１実施形態の制御装置の機能ブロック図である。
【図４】本発明の他軸干渉制御を示すフローチャートである。
【図５】本発明の第２実施形態の制御装置を示す図である。
【図６】多関節ロボットの他軸干渉を示す図である。
【発明を実施するための形態】
【００１３】
（第１実施形態）
（ロボットの構成）
本発明の分散制御型のロボットシステムで用いる多関節ロボットの概略構成について、図１を用いて説明する。本発明の分散制御型のロボットシステムは、制御装置と、多関節ロボットとを有し、多関節ロボットの複数の関節にサーボ制御部が設けられた分散制御型ロボットである。例えば、６軸全てにサーボモータを有する分散制御型の６軸多関節ロボットを用いることができる。
【００１４】
図１で、ロボット１００は、架台１１７、第１のアーム１０１ａ、第２のアーム１０１ｂ、第３のアーム１０１ｃ、第４のアーム１０１ｄ、第５のアーム１０１ｅ及び第６のアーム１０１ｆを有している。架台１１７と第１のアーム１０１ａは、第１の関節部１０２ａにおいて連結されている。第１のアーム１０１ａと第２のアーム１０１ｂは第２の関節部１０２ｂにおいて連結されている。第２のアーム１０１ｂと第３のアーム１０１ｃは第３の関節部１０２ｃにおいて連結されている。第３のアーム１０１ｃ第４のアーム１０１ｄは第４の関節部１０２ｄにおいて連結されている。第４のアーム１０１ｄと第５のアーム１０１ｅは第５の関節部１０２ｅにおいて連結されている。第５のアーム１０１ｅと第６のアーム１０１ｆは第６の関節部１０２ｆにおいて連結されている。
【００１５】
第１のアーム１０１ａは、架台１１７に対して第１の関節部１０２ａにおいて回転軸１０３ａを中心に回転する。第２のアーム１０１ｂは、第１のアームに対して第２の関節部１０２ｂにおいて回転軸１０４ｂを中心に回転する。第３のアーム１０１ｃは、第２のアーム１０１ｂに対して第３の関節部１０２ｃにおいて回転軸１０３ｃを中心に回転する。第４のアーム１０１ｄは、第３のアーム１０１ｃに対して第４の関節部１０２ｄにおいて回転軸１０３ｄを中心に回転する。第５のアーム１０１ｅは、第４のアーム１０１ｄに対して第５の関節部１０２ｅにおいて回転軸１０３ｅを中心に回転する。第６のアーム１０１ｆは、第５のアーム１０１ｅに対して第５の関節部１０２ｆにおいて回転軸１０３ｆを中心に回転する。
【００１６】
第１の関節部１０２ａには、第１のサーボモータ１０４ａと第１のサーボモータ１０４ａを制御する第１の制御部１０５ａが設けられている。第２の関節部１０２ｂには、第２のサーボモータ１０２ｂと第２のサーボモータ１０４ｂを制御する第２の制御部１０５ｂが設けられている。第３の関節部１０２ｃには、第３のサーボモータ１０４ｃと第３のサーボモータ１０４ｃを制御する第３の制御部１０５ｃが設けられている。第４の関節部１０２ｄには、第４のサーボモータ１０４ｄと第４のサーボモータ１０４ｄを制御する第４の制御部１０５ｄが設けられている。第５の関節部１０２ｅには、第５のサーボモータ１０４ｅと第５のサーボモータ１０４ｅを制御する第５の制御部１０５ｅが設けられている。第６の関節部１０２ｆには、第６のサーボモータ１０４ｆと第６のサーボモータ１０４ｆを制御する第６の制御部１０５ｆが設けられている。なお、各関節部には、サーボモータ１０４ａ〜１０４ｆおよび制御部１０５ａ〜１０５ｆ以外に、減速機やエンコーダやトルク検出器等が設けられている。
【００１７】
第１〜第６の制御部１０５ａ〜１０５ｆは、制御装置（不図示）から配線ケーブル１０６により直列に接続される。制御装置（不図示）と第１〜第６の制御部１０５ａ〜１０５ｆとの信号の送受信は、配線ケーブル１０６を介して行われる。また、配線ケーブル１０６を介して、各制御部間の信号の送受信も可能である。
【００１８】
（ロボットの制御システム）
本発明のロボット制御システムについて、図２を用いて説明する。図２（ａ）はロボット制御システムの構成を示す概念図である。制御装置２００は、第１の制御部１０５ａ、第２の制御部１０５ｂ、第３の制御部１０５ｃ、第４の制御部１０５ｄ、第５の制御部１０５ｅ及び第６の制御部１０５ｆとバスケーブル１０６を介して並列に接続されている。第１〜第６のサーボモータ１０４ａ〜１０４ｆは、制御装置２００からの関節角の目標値の角度目標値、回転速度、加速度、トルク等が送られてきて、それに応じで回転駆動する。
【００１９】
図２（ｂ）は、制御装置２００から、第１〜第６の制御部１０５ａ〜１０５ｆに同時に送信される第１〜第６の関節角の目標値である角度目標値に関する制御信号２００のフォーマットである。第一のデータ２００のフォーマットは、第一のＩＤ２１０、第一のモータ角度目標値２１１、第二のモータ角度目標値２１２、第三のモータ角度目標値２１３、第四のモータ角度目標値２１４、第五のモータ角度目標値２１５および第六のモータ角度目標値２１６で構成されている。第１〜第６のサーボ制御部１０５ａ〜１０５ｆには、それぞれ第１〜６のモータ角度目標値２１１〜２１６が送信される。第１のサーボ制御部１０５ａから第６のサーボ制御部１０５ｆは、第一のＩＤ２１０によって、第一のデータ２０１が制御装置２００から第１のサーボ制御部１０５ａ〜第６のサーボ制御部１０５ｆに同時に通信しているデータと認識することができる。このようにして。第１の制御部１１１ａ〜第六のサーボ制御部１１６ａには、各々が制御しているモータの角度目標値が通信される。この通信には、少ない帯域で通信できるマルチキャスト通信を用いることが好ましい。
【００２０】
次に、第３の関節部１０２ｃにおける第３のサーボモータ１０４ｃの駆動により発生する第３の間接トルクが、第２の関節部１０２ｂに及ぼす他軸干渉を抑制するための、第２のサーボモータの第２の制御部の制御方法を図３及び図４を用いて説明する。
【００２１】
（第２、第３制御部詳細）
図３は、第２の制御部１０５ｂと第３制御部１０５ｃのブロック図を示す。制御装置２００から第３の制御部（第二番の制御部）１０５ｃへ第一のデータ２０１が送信される。第３の制御部１０５ｃは、第一のデータ２０１に含まれる第３のモータ角度目標値２１３（第二番のサーボモータの関節角の目標値）に従った電流が第３のサーボモータ１０４ｃに流れるように制御する。第３のサーボモータ１０４ｃが回転することにより、第３のサーボモータ１０４ｃから第３の関節部１０２ｃにトルクが伝わる。第３の関節部１０２ｃには、負荷慣性モーメントが生じている。
【００２２】
図３で、制御装置２００は、第２の制御部１０５ｂ（第一番の制御部）に第一のデータ２０１を送信する。第２の制御部１０５ｂの外乱トルク計算器３１３は、送信された第一のデータ２０１の第３のサーボモータ角度目標値２１３から、外乱トルクの第二の関節トルク（他軸干渉により、第二番のサーボモータが第一番のサーボモータに与える負荷）を計算する。トルク電流換算器３１４は、第２の関節トルクを第２の関節トルクに相当する電流に換算する。
【００２３】
また、制御器３１１は、制御装置２００から送られてきた第一のデータ２０１中の第２のモータ角度目標値２１２に対応する電流を流す。電流増幅器３１２は、この電流と第２の関節トルク相当の電流とを増幅して第２のサーボモータに電流を送る。第２のサーボモータ１０４ｂは、モータが回転することにより、第２の関節部１０２ｂにトルクを伝える。エンコーダ（不図示）などにより測定された第２のサーボモータ１０４ｂの第２のモータの角度３０２は、制御器３１１に送られる。第２の関節部（１０２ｂ）には、負荷慣性モーメントが生じている。このようにして、第３のサーボモータ１０４ｃ（第二番のサーボモータ）が第２のサーボモータ（第一番のサーボモータ）に与える負荷を相殺することができる。
【００２４】
図４は、第３の関節部１０２ｃ（第二番の関節部）における第３のサーボモータ１０４ｃの駆動により発生する第二の関節トルクが、第２の関節部１０２ｂ（第一番の関節部）に及ぼす他軸干渉を抑制するフローチャートである。ステップ１（Ｓ１）では、ロボット１００の第２の制御部１０５ｂ（第一番の制御部）は、制御装置２００から図２（ｂ）で示す第一のデータ２０１がマルチキャスト通信によって、第２のモータ角度目標値２１２及び第３のデータ角度目標値を含むデータを取得する。また、第２の制御部１０５ｂは、モータに設けられたエンコーダ（不図示）によって第２のサーボモータの角度３０２のデータを取得する。
【００２５】
ステップ２（Ｓ２）では、制御器３０１は、第２のモータ角度目標値２１２と第２のモータの角度を比較し、差分に基づいてＰＩＤ演算等を実施し電流指令値を計算する。
【００２６】
ステップ３（Ｓ３）では、外乱トルク計算器３０３が、第３のサーボモータ１０４ｃの第３のモータ角度目標値２１３に基づいて、他軸干渉により第２の関節部１０２ｂに生じる第二の関節トルク６０９（第一番の関節トルク）を計算する。このステップでは、外乱トルク計算器３０３は、第３のモータ角度目標値２１３を演算することで第二の関節トルク６０９を求める。演算は、制御装置２００から通信される第一のデータ２０１と、マニピュレータロボットが有する各リンクの質量情報に基づいた順運動学計算及び動力学演算によって行う。ステップ３では、第一のデータ２０１は、第３のモータ角度目標値２１３を含む全モータの角度目標値で構成されているため、第２のサーボモータ１０４ｂで順運動学計算及び動力学演算が可能となっている。
【００２７】
ステップ４（Ｓ４）では、トルク電流換算器３０４が、第２のサーボモータの関節トルクに基づいて、第二の関節トルク相当の電流３０５を換算する。このステップでは、トルク電流換算器３０４は、第２の関節トルク７０９を既知の第二のモータ３０６のトルク定数で除することで第二の関節トルク相当の電流３０８を計算する。
【００２８】
ステップ５（Ｓ５）では、電流増幅器３０２が、電流指令３０８と第二の関節トルク相当の電流３０５を合算し、合算値に倣うよう電流３０７をモータに通電する。動作終了していない場合は（Ｓ１）から動作を繰り返し、動作終了している場合にはエンドとなる（ステップ６（Ｓ６））。
【００２９】
ステップ１（Ｓ１）〜ステップ６（Ｓ６）により、第３の関節１０２ｃが駆動することによる反力である第ニの関節トルクが第２の関節１０２ｂにかかるとともに、第二の関節トルクを打ち消すトルクが第２のサーボモータ１０４ｂに発生する。第二の関節トルクを打ち消すことにより、他軸干渉によって生じる第二のモータの角度３０２と第二のモータ角度目標値２１２の誤差を解消することができる。このようにして、第一のデータ２０１のみを通信し、通信量を増大することなく他軸干渉を解消することができる。
【００３０】
また、第一から第六のサーボ機構は、順運動学計算により、それぞれが制御しているモータが取り付いている関節にかかる慣性負荷が算出可能である。慣性負荷の平方根に反比例して制御ゲインを変更することで、最適なゲインを決定することができるため、姿勢に応じて最適なゲインを設定するゲインスケジューリング制御が可能である。
【００３１】
本発明の制御は、通信量を増やさずとも他軸干渉の補正、ゲインスケジューリング制御が可能であり、サーボ機構とモータドライバを結ぶ通信線にシールドがなくともマニピュレータロボットの高精度制御が可能である。したがって、通信量を増やさずに他軸干渉を抑制して、マニピュレータロボットを小型化することができる。
【００３２】
上記では、第２の関節部１０２ｂと第３の関節部１０２ｃの関係のみ説明したが、第２の関節部１０２ｂに対する第１の関節部１０２ａ、第４の関節部１０２ｄ、第５の関節部１０２ｅ、第６の関節部１０２ｆの干渉トルクも同様に補正可能である。また、第２の関節部１０２ｂ以外の他の関節に対する干渉トルクの補正及びゲインスケジューリング制御も可能である。
【００３３】
（第２実施形態）
第２実施形態では、第１実施形態と異なり、モータの実測値を制御装置２００及び／又は制御部１０５ａ〜１０５ｆに送って、他軸干渉を抑制する。
【００３４】
本発明の第２実施形態のロボット制御システムについて、図５を用いて説明する。制御装置２００は、第１の制御部１０５ａ、第２の制御部１０５ｂ、第３の制御部１０５ｃ、第４の制御部１０５ｄ、第５の制御部１０５ｅ及び第６の制御部１０５ｆとバスケーブル１０６を介して接続されている。
【００３５】
第２実施形態も、第１実施形態と同様に、第３の関節部１０２ｃが第２の関節部１０２ｂに影響を及ぼす他軸干渉を抑制する場合の制御について説明する。
【００３６】
第３の制御部１０５ｃから、第１の制御部１０５ａ、第２の制御部１０５ｂ、第４の制御部１０５ｄ、第５の制御部１０５ｅ、第６の制御部１０５ｆ及び制御部２００に第二のデータ５０１が通信される。第二のデータ５０１のフォーマットは、第二のＩＤ５１０と第３のサーボモータ１０４ｃの角度実測値５１１で構成されている。
【００３７】
第２実施形態のロボット制御システムの制御方法は、図４で示す第１実施形態のフローチャートと同様であり、異なる所だけ説明する。
【００３８】
ステップ１（Ｓ１）では、制御装置２００から第２の制御部１０５ｂ（第一番のサーボ機構）に、第２のサーボモータ１０４ｂ（第一番のサーボ機構）の第２のモータ角度目標値２１２をマルチキャスト通信で送信する。また、第３のサーボモータ（第二番のサーボモータ）の関節角の実測値５１１を含む第２のデータ５０１が、第二の制御部１０５ｂを含む制御部及び制御機構２００にマルチキャスト通信される。第２の制御部１０５ｂは、第二のＩＤ５１０により、第３の制御部１０５ｃから送られてきたデータだと認識できる。
【００３９】
ステップ３（Ｓ３）では、外乱トルク計算器３１３が、第３のサーボモータ１０４ｃのモータ角度実測値５１１に基づいて第２のサーボモータの第２の関節トルクを計算する。
【００４０】
第三のモータ角度目標値２１３と第三のモータ角度実測値５１１には僅かに差があり、第三のモータ角度実測値５１１の方が実際の動きを正確に表している。したがって、第２実施形態では、モータ角度実測値を用いることにより、精度良く他軸干渉を抑制することができ、またゲインスケジューリング制御を行うことができる。
【産業上の利用可能性】
【００４１】
本発明の分散制御型のロボット制御システムは、産業用ロボット等のロボットの制御に用いることができる。
【符号の説明】
【００４２】
１００  ロボット
１０１ａ〜１０１ｆ  第１〜第６のアーム
１０２ａ〜１０２ｆ  第１〜第６の関節部
１０３ａ〜１０３ｆ  回転軸
１０４ａ〜１０４ｆ  第１〜第６のサーボモータ
１０５ａ〜１０５ｆ  第１〜第６の制御部
２００  制御部
２０１  第一のデータ
３１１  制御器
３１２  電流増幅器
３１３  外乱トルク計算器
３１４  トルク電流換算器
５０１  第二のデータ
６０８  第三の関節トルク
６０９  第二の関節トルク
【図１】
2015205357.tif 000003
【図２】
2015205357.tif 000004
【図３】
2015205357.tif 000005
【図４】
2015205357.tif 000006
【図５】
2015205357.tif 000007
【図６】
2015205357.tif 000008