(57)【要約】【課題】各軸のモータ電流の正領域から負領域、または負領域から正領域に切り替わる不感帯領域に起因するエンドエフェクタの速度変動の制御性能の劣化を防止するロボット制御装置を提供する。【解決手段】コントローラＲＣはマニピュレータの関節軸を駆動するサーボモータ４１〜４７を、ＰＩＤ制御を備えた電流制御ループを含むＣＰＵ９１によりサーボ制御する。ＣＰＵ９１はサーボモータ４１〜４７の相電流がゼロクロスを含む不感帯領域に入ったとき、電流制御ループに加えて予め設定されたフィードフォワード量でサーボモータ４１〜４７をフィードフォワード制御するとともに電流制御ループの積分制御を前記不感帯領域に入る直前の電流制御ループの積分ゲインよりも大きい積分ゲインで行う。相電流が不感帯領域から脱したとき、フィードフォワード制御を停止するとともに不感帯領域に入る直前の電流制御ループの積分ゲインの大きさに戻す。【選択図】図２
2014137626.tif 000002
【特許請求の範囲】
【請求項１】
多関節ロボットの関節軸を駆動するサーボモータを、比例制御、積分制御及び微分制御のうち、少なくとも比例制御及び積分制御を備えた電流制御ループを含む制御部によりサーボ制御するロボット制御装置において、
前記制御部は、
前記サーボモータのモータ電流がゼロクロスを含む不感帯領域に入ったとき、前記電流制御ループに加えて予め設定されたフィードフォワード量で前記サーボモータをフィードフォワード制御するとともに、前記電流制御ループの積分制御を、前記不感帯領域に入る直前の電流制御ループの積分ゲインよりも大きい積分ゲインで行い、前記モータ電流が前記不感帯領域から脱したとき、前記フィードフォワード制御を停止するとともに、前記電流制御ループの積分制御を、前記不感帯領域に入る直前の電流制御ループの積分ゲインの大きさに戻すことを行うロボット制御装置。
【請求項２】
多関節ロボットの関節軸を駆動するサーボモータを、比例制御、積分制御及び微分制御のうち、少なくとも比例制御及び積分制御を備えた電流制御ループを含む制御部によりサーボ制御するロボット制御装置において、
前記制御部は、
前記サーボモータのモータ電流がゼロクロスを含む不感帯領域にあるか否かを判定する判定部と、
前記モータ電流が前記不感帯領域にある場合、予め設定されたフィードフォワード量で前記サーボモータをフィードフォワード制御するフィードフォワード制御部を備え、
前記制御部は、前記モータ電流が前記不感帯領域にある場合、前記電流制御ループの積分制御を前記不感帯領域に入る直前の電流制御ループの積分ゲインよりも大きい積分ゲインで行い、前記モータ電流が前記不感帯領域から脱したとき、前記電流制御ループの積分制御を、前記不感帯領域に入る直前の電流制御ループの積分ゲインの大きさに戻すことを行うロボット制御装置。
【請求項３】
多関節ロボットの関節軸を駆動するサーボモータを、比例制御、積分制御及び微分制御のうち、少なくとも比例制御及び積分制御を備えた電流制御ループを含む制御部によりサーボ制御するロボットの制御方法において、
前記サーボモータのモータ電流がゼロクロスを含む不感帯領域に入ったとき、前記電流制御ループに加えて予め設定されたフィードフォワード量で前記サーボモータをフィードフォワード制御するとともに、前記電流制御ループの積分制御を、前記不感帯領域に入る直前の電流制御ループの積分ゲインよりも大きい積分ゲインで行い、前記モータ電流が前記不感帯領域から脱したとき、前記フィードフォワード制御を停止するとともに、前記電流制御ループの積分制御を、前記不感帯領域に入る直前の電流制御ループの積分ゲインの大きさに戻すことを行うロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの制御方法及びロボット制御装置に関する。
【背景技術】
【０００２】
ロボットのアームを駆動するモータにおいて、不感帯を解消する制御方法としては、特許文献１及び特許文献２が公知である。
特許文献１は、モータの可動部の位置に応じて、相互に９０°位相差のある２つの正弦波を決められたピッチを周期として出力するエンコーダを設け、前記エンコーダと演算器との間に指令値に従って帯域を指定するプログラマブル・フィルタを設け、アームの移動開始時は前記プログラマブル・フィルタをハイパスフィルタとして使用し、アームの移動後の停止時にはバンドパスフィルタとして使用するものである。前記演算器は、前記プログラマブル・フィルタを介して入力された前記エンコーダからの２相の出力に基づいて演算し、減算器は指令部からの指令値によりモータ電流検出値と前記演算器の出力（演算結果）を減算するようにしている。このことによって、アームの移動開始時の伝達系の静止摩擦によるモータの出力軸への力の不感帯を補正するとともに、アームの空間移動から対象物へ接触するときに発生する衝撃力を減少させる利点がある。
【０００３】
また、特許文献２は、ロボットのアームを駆動する駆動装置において、アームの位置信号と指令信号との偏差の絶対値が閾値より大きいと判断されたときから一定期間内は不感帯の補償信号を生成して出力を保持し、前記補償信号と前記偏差とを加算して被制御体の駆動を行うようにしたものである。このことによって、アクチュエータの不感帯を除去する利点がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平３−２７３８８６号公報
【特許文献２】特開昭６３−６６０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、多軸ロボットを動作させる場合、各軸のモータ電流の正領域から負領域及び負領域から正領域に切り替わるゼロクロスを中心とした不感帯領域に対してはなんら考慮されていない技術である。
【０００６】
本発明の目的は、各軸のモータ電流の正領域から負領域、または負領域から正領域に切り替わる不感帯領域に起因するエンドエフェクタの速度変動の制御性能の劣化を防止するロボットの制御方法及びロボット制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記問題点を解決するために、本ロボット制御装置は、多関節ロボットの関節軸を駆動するサーボモータを、比例制御、積分制御及び微分制御のうち、少なくとも比例制御及び積分制御を備えた電流制御ループを含む制御部によりサーボ制御するロボット制御装置において、前記制御部は、前記サーボモータのモータ電流がゼロクロスを含む不感帯領域に入ったとき、前記電流制御ループに加えて予め設定されたフィードフォワード量で前記サーボモータをフィードフォワード制御するとともに、前記電流制御ループの積分制御を、前記不感帯領域に入る直前の電流制御ループの積分ゲインよりも大きい積分ゲインで行い、前記モータ電流が前記不感帯領域から脱したとき、前記フィードフォワード制御を停止するとともに、前記電流制御ループの積分制御を、前記不感帯領域に入る直前の電流制御ループの積分ゲインの大きさに戻すことを行うものである。
【０００８】
また、ロボット制御装置は、多関節ロボットの関節軸を駆動するサーボモータを、比例制御、積分制御及び微分制御のうち、少なくとも比例制御及び積分制御を備えた電流制御ループを含む制御部によりサーボ制御するロボット制御装置において、前記制御部は、前記サーボモータのモータ電流がゼロクロスを含む不感帯領域にあるか否かを判定する判定部と、前記モータ電流が前記不感帯領域にある場合、予め設定されたフィードフォワード量で前記サーボモータをフィードフォワード制御するフィードフォワード制御部を備え、前記制御部は、前記モータ電流が前記不感帯領域にある場合、前記電流制御ループの積分制御を前記不感帯領域に入る直前の電流制御ループの積分ゲインよりも大きい積分ゲインで行い、前記モータ電流が前記不感帯領域から脱したとき、前記電流制御ループの積分制御を、前記不感帯領域に入る直前の電流制御ループの積分ゲインの大きさに戻すことを行うものである。
【０００９】
また、本ロボットの制御方法は、多関節ロボットの関節軸を駆動するサーボモータを、比例制御、積分制御及び微分制御のうち、少なくとも比例制御及び積分制御を備えた電流制御ループを含む制御部によりサーボ制御するロボットの制御方法において、前記サーボモータのモータ電流がゼロクロスを含む不感帯領域に入ったとき、前記電流制御ループに加えて予め設定されたフィードフォワード量で前記サーボモータをフィードフォワード制御するとともに、前記電流制御ループの積分制御を、前記不感帯領域に入る直前の電流制御ループの積分ゲインよりも大きい積分ゲインで行い、前記モータ電流が前記不感帯領域から脱したとき、前記フィードフォワード制御を停止するとともに、前記電流制御ループの積分制御を、前記不感帯領域に入る直前の電流制御ループの積分ゲインの大きさに戻すことを行うものである。
【発明の効果】
【００１０】
本発明のロボットの制御方法及びロボット制御装置によれば、各軸のモータ電流の正領域から負領域、または負領域から正領域に切り替わる不感帯領域に起因するエンドエフェクタの速度変動の制御性能の劣化を防止することができる効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】一実施形態のマニピュレータのスケルトン図。
【図２】一実施形態のロボット制御装置の概略構成図。
【図３】電流制御ループのブロック線図。
【図４】制御部の電流制御ループのフローチャート。
【図５】相電流の説明図。
【発明を実施するための形態】
【００１２】
以下、本発明を具体化した一実施形態の７軸マニピュレータを制御するロボット制御方法及びロボット制御装置を図１〜図５を参照して説明する。
まず、本実施形態の作業自由度に対して冗長自由度を有するマニピュレータについて説明する。
【００１３】
図１に示すように、マニピュレータ１０は、８個のリンク１１〜１８が７個の関節２１〜２７により直列に連結されて形成されている。多関節ロボットであるマニピュレータ１０は、７個の関節２１〜２７においてリンク１２〜１８が旋回することのできる７自由度（自由度ｎ＝７）を有するロボットであり、その作業空間の次元数（次元数ｍ）は６であって、１（＝ｎ−ｍ）の冗長性を有する。
【００１４】
第１リンク１１は一端が床面ＦＬに固定され、他端が第１関節２１の一側に接続されている。第１関節２１の他側には、第２リンク１２の一端が接続され、第２リンク１２の他端には第２関節２２の一側が接続されている。以下同様に、第３リンク１３、第４リンク１４、第５リンク１５、第６リンク１６、第７リンク１７及び第８リンク１８が、それぞれ第３関節２３、第４関節２４、第５関節２５、第６関節２６及び第７関節２７を介して順に連結されている。
【００１５】
第１関節２１の他側は一側に対して、矢印３１に示すように、図１において上下方向に延びる軸を中心に回転可能とされており、これにより、第２リンク１２は隣接する第１リンク１１に対して、第１関節２１の回転軸（Ｊ１軸）を中心に矢印３１方向に旋回可能である。
【００１６】
また、第２関節２２の他側は一側に対して、矢印３２に示すように、図１において紙面に垂直な方向に延びる軸（Ｊ２軸）を中心に回転可能とされている。これにより、第３リンク１３は隣接する第２リンク１２に対して、第２関節２２の回転軸を中心に矢印３２方向、すなわち、上下方向に回転可能である。
【００１７】
以下、第３関節２３、第４関節２４、第５関節２５、第６関節２６及び第７関節２７についてもそれぞれ、回転可能とされており、第４リンク１４、第５リンク１５、第６リンク１６、第７リンク１７及び第８リンク１８も、それぞれ関節２３〜２７の回転軸（Ｊ３軸〜Ｊ７軸）を中心に、矢印３３〜３７方向に旋回可能である。尚、本願の全体にわたって、第１関節２１〜２７を介して連結されているリンク１１〜１８同士を、互いに隣接するリンク１１〜１８という。また、Ｊ１軸〜Ｊ７軸は、関節軸に相当する。
【００１８】
なお、Ｊ２軸、Ｊ４軸及びＪ６軸の回転方向は、図１に示すように、重力加速度が働く方向と一致している。
図１に示すように、第１関節２１には第１サーボモータ４１が取り付けられており、電力が供給されることにより、第２リンク１２を図示しない減速機を介して第１リンク１１に対して旋回させる。
【００１９】
また、第２関節２２には第２サーボモータ４２が取り付けられており、電力が供給されることにより、第３リンク１３を図示しない減速機を介して第２リンク１２に対して旋回させる。以下、同様に、第３関節２３、第４関節２４、第５関節２５、第６関節２６及び第７関節２７にはそれぞれサーボモータ４３〜４７が取り付けられており、電力が供給されることにより、各々リンク１４〜１８を図示しない減速機を介して旋回させる。
【００２０】
なお、各モータは、各関節内に設けられるが、図１では、説明の便宜上、関節とは分離して図示している。また、本実施形態では回転系アクチュエータ（以下、単にアクチュエータという）としてサーボモータであるＡＣモータが使用されているが、限定されるものではない。
【００２１】
第８リンク１８の先端には、エンドエフェクタとしてのツール４９が取り付けられている。ツール４９は第８リンク１８とともに、第７関節２７の回転軸（Ｊ７軸）を中心に図１に示すように矢印３７方向に旋回可能とされている。ツール４９は、例えば、ワーク等を把持可能なハンドである。なお、ツール４９の種類は、本発明とは関係しないため、限定されるものではない。
【００２２】
上述したようにマニピュレータ１０は、第１サーボモータ４１〜第７サーボモータ４７を駆動して第２リンク１２〜第８リンク１８を回転させることにより、第２リンク１２〜第８リンク１８の回転角度が累積して先端部にあるツール４９に働くため、ツール４９の先端の位置および姿勢を、その作業内容に応じた目標位置および目標姿勢に一致させることが可能である。
【００２３】
次に、図２を参照して、前記マニピュレータ１０を制御するロボット制御装置としてのコントローラＲＣを中心とした多関節ロボットの電気的な構成を説明する。
コントローラＲＣは、コンピュータ９０と、コンピュータ９０に電気的に接続されたＰＷＭジェネレータ５１〜５７と、ＰＷＭジェネレータ５１〜５７に電気的に接続されたサーボアンプ６１〜６７を有する。各サーボアンプ６１〜６７はそれぞれ第１サーボモータ４１〜第７サーボモータ４７に電気的に接続されている。
【００２４】
コンピュータ９０は、制御指令をＰＷＭジェネレータ５１〜５７に出力し、ＰＷＭジェネレータ５１〜５７は、当該制御指令に基づいてＰＷＭ信号をサーボアンプ６１〜６７に出力する。サーボアンプ６１〜６７は、その出力に応じてサーボモータ４１〜４７を作動させることにより、各リンク１２〜１８を回転させる。
【００２５】
前記サーボモータ４１〜４７にはロータリエンコーダ７１〜７７が内蔵されており、インターフェイス８０を介してコンピュータ９０と接続されている。ロータリエンコーダ７１〜７７は、各々のサーボモータ４１〜４７の回動角度を検出することにより、すなわち、リンク１２〜１８のそれぞれが隣接するリンク１１〜１７に対する回転角度（なお、関節軸の関節角度ということがある）を検出して、その検出信号をコントローラＲＣに送信する。ロータリエンコーダ７１〜７７は、回転角度検出器に相当する。なお、回転角度検出器としては、ロータリエンコーダに限定するものではなく、レゾルバ、或いは、ポテンショメータであってもよい。
【００２６】
なお、第１サーボモータ４１〜第７サーボモータ４７に対してロータリエンコーダ７１〜７７を設ける代わりに、リンク１１〜１８または第１関節２１〜第７関節２７に、リンク１１〜１８の回転角度（関節軸の関節角度）を直接に検出可能なセンサを取り付けてもよい。
【００２７】
前記コンピュータ９０は、ＣＰＵ９１、ＲＯＭ９２、ＲＡＭ９３、及びハードディスク等の不揮発性の記憶部９４、及びインターフェイス９５等を備え、バス９６を介して電気的に接続されている。
【００２８】
記憶部９４には、各種データ、ロボットに各種作業を行わせるための作業プログラム、各種パラメータ等が記憶されている。作業プログラムは、教示ステップ（教示により記述されたプログラムの行）毎に、教示点、動作指令或いは各種動作条件等のパラメータが記述されている。
【００２９】
本実施形態のロボットは、ティーチングプレイバック方式で作動するロボットであり、前記作業プログラムが実行されることにより、前記マニピュレータ１０が動作する。ＲＯＭ９２は、システム全体のシステムプログラムが記憶されている。ＲＡＭ９３は、ＣＰＵ９１の作業用のメモリであって、各種演算等が実行されるときに一時的にデータが格納される。ＣＰＵ９１は、判定部、フィードフォワード制御部及び制御部に相当する。
【００３０】
コントローラＲＣには入力装置８２が前記インターフェイス９５を介して接続されている。入力装置８２は、図示しないモニター画面及び各種入力キー等を有する操作盤であり、ユーザーが各種のデータを入力操作可能とされている。入力装置８２は、多関節ロボットの電源スイッチが設けられるとともに、コンピュータ９０に対して、マニピュレータ１０の先端部にあるツール４９の先端（以下、手先という）の最終目標位置および最終目標姿勢、ツール４９の先端の補間点における位置および姿勢の入力、並びに、冗長性を利用したマニピュレータ１０の姿勢変更のためのジョグ操作等による入力が可能となっている。
【００３１】
（実施形態の作用）
次に、本実施形態による多関節ロボットのコントローラＲＣの作用を図３〜図５を参照して説明する。
【００３２】
図３に示すように、ＣＰＵ９１は、それぞれ位置制御部１１０、速度制御部１２０及び電流制御部１３０として位置制御、速度制御及び電流制御を実行する。なお、図３は、一点鎖線から左側は、コントローラＲＣ側の動作を表わし、右側は、サーボモータ側の動作を表わしている。
【００３３】
図３に示すように、ＣＰＵ９１が、ＲＡＭ９３に格納された作業プログラムに記述されているエンドエフェクタ(ツール４９)の目標位置及び目標姿勢に基づいて逆変換演算を行って求めた各サーボモータの回転位置を位置指令θｓ＊とする。
【００３４】
この位置指令θｓ＊と、ロータリエンコーダ７１〜７７にて求めた各サーボモータ４１〜４７の実位置θｋとの偏差を算出する。なお、前記ロータリエンコーダ７１〜７７は作業プログラムでの制御周期よりも、十分に短い検出周期で回転角度（すなわち、関節角度）を検出している。
【００３５】
そして、この算出した位置偏差に、位置制御部１１０では、Ｐ制御（比例制御）にて、予め設定されている位置ゲインＫ０を乗じて、サーボモータの目標速度（速度指令ωｓ＊）を算出する。位置ゲインＫ０は、位置制御ループのゲインである。
【００３６】
さらにこの速度指令ωｓ＊と、実位置θｋから求められた各サーボモータ４１〜４７の実速度ωとの速度偏差に、速度制御部１２０では、ＰＩＤ制御により、予め設定されている所定の速度ゲインＫ１を乗じて、各サーボモータ４１〜４７に対する電流指令ｉｑ＊を算出し、この電流指令ｉｑ＊を電流制御部１３０に出力する。
【００３７】
ここでの速度ゲインＫ１は、ＰＩＤ制御における比例制御の比例ゲインＫ１１、積分制御の積分ゲインＫ１２及び微分制御の微分ゲインＫ１３を総合したものであり、各ゲインは予め設定されたものである。ここでは、実速度ωがフィードバックされた速度制御ループが構成されている。
【００３８】
また、電流制御部１３０は、図示しない電流検出回路にて検出されるとともにＡ／Ｄ変換された各サーボモータ４１〜４７の各相の相電流（実電流ｉｑ）と前記電流指令ｉｑ＊の電流偏差を取り込む。また、電流制御部１３０は後述する制御フローチャートの実行時のために実電流ｉｑを取り込む。
【００３９】
図４は、電流制御部１３０が実行する制御フローチャートである。この制御フローチャートは、実電流ｉｑの検出周期毎に実行される。Ｓ１０では、実電流ｉｑが不感帯領域Ｄにあるか否かを判定する。不感帯領域Ｄは、｜ｉｑ｜≦εの範囲をいい、閾値ε（＞０）は、ゼロクロスに近い値である。すなわち、図５に示すように不感帯領域Ｄは、正領域及び負領域のうち、ゼロクロスに近い値を含む領域である。なお、図５は、ＡＣモータが三相モータの場合であって、定常状態のときの相電流を正弦波で示している。図５において、横軸はＡＣモータの回転子の回転角であり、縦軸は電流である。
【００４０】
Ｓ１０で、実電流ｉｑ（モータ電流）が不感帯領域にないと電流制御部１３０が判定した場合は、Ｓ２０で電流制御部１３０はフィードバック制御を行う。このように、電流制御部１３０ではＰＩ制御が行われることにより、実電流ｉｑがフィードバックされる電流制御ループが構成される。
【００４１】
すなわち、電流制御部１３０は、ＰＩ制御により制御指令を算出し、具体的には、電流指令ｉｑ＊と実電流ｉｑとの電流偏差に対して、予め設定されている所定のゲインＫ２を乗じて、各サーボモータ４１〜４７に対する制御指令を算出し、この制御指令を図２に示すＰＷＭジェネレータ５１〜５７に出力してこのフローチャートを一旦終了する。
【００４２】
前記所定のゲインＫ２は、ＰＩ制御における比例制御の比例ゲインＫｐ、及び積分制御の積分ゲインＫＩ１を総合したものであり、各ゲインは予め設定されたものである。
ここで、積分ゲインＫＩ１は、後述する積分ゲインＫＩ２を使用しない場合のフィードバック制御中に使用するものであり、モータ電流が不感帯領域から脱している、すなわち、モータ電流が不感帯領域にないと判定されたとき、不感帯領域に入る直前の電流制御ループの積分ゲインに相当する。
【００４３】
なお、図３において、ＫＩ１・１／ｓ、ＫＩ２・１／ｓ、及び後述するＫｉｆ・ｓ、並びに、以下の説明で記述する「ｓ」はラプラス演算子である。
Ｓ１０で、実電流ｉｑ（モータ電流）が不感帯領域にあると電流制御部１３０が判定した場合は、Ｓ３０でフィードバック制御の積分制御を不感帯領域に入る直前の電流制御ループの積分ゲインＫＩ１よりも大きい積分ゲインＫＩ２で行うとともに、さらにフィードフォワード制御を加える。
【００４４】
フィードフォワード制御を行うのは、不感帯領域Ｄでは電流制御ループによる制御が大きく貢献できないためである。
図４に示すようにフィードフォワード制御では、位置制御部１１０からの速度指令ωｓ＊にゲインＫｉｆ・ｓ（微分演算子）を乗算することによりフィードフォワード量ｕを算出する。このフィードフォワード量uは、この不感帯領域Ｄにおいてエンドエフェクタ（ツール４９）の速度変動等の制御性能が劣化しない量である。なお、ゲインＫｉｆは電流フィードフォワードゲインである。
【００４５】
図４に示すように、電流制御部１３０は、速度制御部１２０からの電流指令ｉｑ＊と前記フィードフォワード量ｕの和と、実電流ｉｑの偏差を入力してＰＩ制御を行う。ここでの電流制御部１３０が行うＰＩ制御での所定のゲインＫ２は、ＰＩ制御における比例制御の比例ゲインＫｐ、及び積分制御の積分ゲインＫＩ２を総合したものである。
【００４６】
前記積分ゲインＫＩ２の大きさは、例えば積分ゲインＫＩ１の２倍とするが限定するものではない。
電流制御部１３０は、前記ＰＩ制御により算出した制御指令を図２に示すＰＷＭジェネレータ５１〜５７に出力してこのフローチャートを一旦終了する。
【００４７】
前記制御指令が図２に示すＰＷＭジェネレータ５１〜５７に出力されると、ＰＷＭジェネレータ５１〜５７はＰＷＭ信号を生成する。
そして、ＰＷＭジェネレータ５１〜５７は生成したＰＷＭ信号を各サーボアンプ６１〜６７に出力して、各サーボモータ４１〜４７の通電電流を制御する。なお、図３において、実電流をＡ／Ｄ変換にて取り込む手順を表わすブロックＰ６に記載のＫＡ/Ｄ は、実電流をデジタル値に変換する際の変換定数を表わす。
【００４８】
この結果、各サーボモータ４１〜４７のモータ巻線には、各サーボアンプ６１〜６７から、ＰＷＭ信号に応じて駆動電圧が印加され、モータ巻線の端子電圧は、この駆動電圧と、モータの回転角速度に逆起電力定数Ｋｅを乗じて得られる逆起電圧とを合成した電圧となる。そして、各モータ巻線には、この端子電圧に、モータインダクタンスＬ及びモータ抵抗Ｒをパラメータとする係数｛１／（Ｒ＋Ｌｓ）｝を乗じた電流（つまり実電流）が流れる。
【００４９】
また、モータ巻線に電流が流れると、各サーボモータ４１〜４７においては、回転子に、実電流とトルク定数Ｋｔとにより決定されるモータトルクＴＭが発生し、モータ軸のイナーシャＪによる遅れ（１／Ｊ）を伴って回転角加速度が発生し、その回転角加速度を積分（１／ｓ）した回転速度に制御される。そして、この回転速度を積分（１／ｓ）した回転位置が、各サーボモータ４１〜４７に設けられたロータリエンコーダ等のセンサにて検出され、その検出信号がコントローラＲＣ内にフィードバックされる。
【００５０】
このようにして、コントローラＲＣは、各サーボモータ４１〜４７の回転位置，速度をフィードバック制御するサーボ系の制御装置として構成され、各サーボモータ４１〜４７の回転位置、及びツール４９の位置を制御する。
【００５１】
本実施形態では、下記の特徴を有する。
（１）  本実施形態のロボットの制御方法は、マニピュレータ１０（多関節ロボット）の関節軸を駆動するサーボモータ４１〜４７を、ＰＩ制御を備えた電流制御ループを含むＣＰＵ９１（制御部）によりサーボ制御する。そして、ＣＰＵ９１は、サーボモータ４１〜４７の相電流（モータ電流）がゼロクロスを含む不感帯領域Ｄに入ったとき、電流制御ループに加えて予め設定されたフィードフォワード量ｕでサーボモータ４１〜４７をフィードフォワード制御するとともに、電流制御ループの積分制御を、不感帯領域に入る直前の電流制御ループの積分ゲインＫＩ１よりも大きい積分ゲインＫＩ２で行い、モータ電流が不感帯領域から脱したとき、フィードフォワード制御を停止するとともに、電流制御ループの積分制御を、不感帯領域に入る直前の電流制御ループの積分ゲインの大きさに戻すことを行うようにした。
【００５２】
従来は、モータ電流が不感帯領域に入った場合、不感帯領域では電流制御ループによる制御は大きく貢献できない。このため、従来は不感帯領域にモータ電流が入ると速度変動が生ずるが、本実施形態では、この不感帯領域中は、電流制御ループ（フィードバック制御）の積分ゲインを不感帯領域に入る直前の電流制御ループの積分ゲインよりも大きくし、さらに、予め設定されたフィードフォワード量ｕでサーボモータをフィードフォワード制御するため、不感帯領域で、速度変動が生じない。
【００５３】
なお、モータ電流が不感帯領域を脱したときは、フィードフォワード制御を停止し、電流制御ループ（フィードバック制御）の積分ゲインを不感帯領域に入る直前の電流制御ループの積分ゲインに戻すため、フィードフォワード制御終了後の速度変動を抑制することができる。
【００５４】
この結果、各軸のモータ電流の正領域から負領域、または負領域から正領域に切り替わる不感帯領域に起因するエンドエフェクタの速度変動の制御性能の劣化を防止することができる。
【００５５】
（２）  本実施形態のロボット制御装置（コントローラＲＣ）は、マニピュレータ１０（多関節ロボット）の関節軸を駆動するサーボモータ４１〜４７を、ＰＩ制御を備えた電流制御ループを含むＣＰＵ９１（制御部）によりサーボ制御する。そして、ＣＰＵ９１は、サーボモータ４１〜４７の相電流（モータ電流）がゼロクロスを含む不感帯領域Ｄに入ったとき、電流制御ループに加えて予め設定されたフィードフォワード量ｕでサーボモータ４１〜４７をフィードフォワード制御するとともに、電流制御ループの積分制御を、不感帯領域に入る直前の電流制御ループの積分ゲインＫＩ１よりも大きい積分ゲインＫＩ２で行い、モータ電流が不感帯領域から脱したとき、フィードフォワード制御を停止するとともに、電流制御ループの積分制御を、不感帯領域に入る直前の電流制御ループの積分ゲインの大きさに戻すことを行うようにした。この結果、上記（１）と同様の効果を奏する。
【００５６】
（３）  本実施形態のロボット制御装置のＣＰＵ９１（制御部）は、モータ電流が不感帯領域にあるか否かを判定する判定部として機能し、前記モータ電流が不感帯領域にあると判定した場合、予め設定されたフィードフォワード量でサーボモータ４１〜４７をフィードフォワード制御するフィードフォワード制御部として機能する。また、ＣＰＵ９１（制御部）は、前記モータ電流が前記不感帯領域にある場合、電流制御ループの積分制御を前記不感帯領域に入る直前の電流制御ループの積分ゲインよりも大きい積分ゲインで行い、モータ電流が前記不感帯領域から脱したとき、前記電流制御ループの積分制御を、前記不感帯領域に入る直前の電流制御ループの積分ゲインの大きさに戻すことを行うようにした。この結果、上記（１）と同様の効果を奏する。
【００５７】
なお、本発明の実施形態は前記実施形態に限定されるものではなく、下記のように変更しても良い。
・  前記実施形態では、７軸マニピュレータのロボット制御装置に具体化したが、６軸以下のマニピュレータを制御するロボット制御装置、または８軸以上のマニピュレータを制御するロボット制御装置に具体化してもよい。
【００５８】
・  前記実施形態では、サーボモータをＡＣモータとしたが、ＤＣモータに変更してもよい。
・  前記実施形態では、電流制御部１３０は、ＰＩ制御を行うようにしたが、ＰＩＤ制御を行うようにしてもよい。
【符号の説明】
【００５９】
ＲＣ…コントローラ（ロボット制御装置）、
１０…マニピュレータ、４１〜４７…サーボモータ、
９１…ＣＰＵ（制御部、判定部、フィードバック制御部）。
【図１】
2014137626.tif 000003
【図２】
2014137626.tif 000004
【図３】
2014137626.tif 000005
【図４】
2014137626.tif 000006
【図５】
2014137626.tif 000007