(57)【特許請求の範囲】
【請求項１】
作業自由度に対して少なくとも１つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸を該関節毎に設けられた回転系アクチュエータにより駆動するロボットの制御方法において、
手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を変化させた場合の、少なくとも各リンクの関節軸の慣性力と遠心力・コリオリ力と重力に基づく負荷トルクを算出し、
変化させた場合の前記リンク位置姿勢の中で、前記負荷トルクと前記回転系アクチュエータの定格トルク比が最小となるリンク位置姿勢を求め、
前記手先位置姿勢を目標値とした各関節軸の回転系アクチュエータの制御指令に、前記負荷トルクと前記回転系アクチュエータの定格トルク比が前記最小となるときの各負荷トルクとなるフィードフォワード値を付与することを特徴とするロボットの制御方法。
【請求項２】
作業自由度に対して少なくとも１つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸を該関節毎に設けられた回転系アクチュエータにより駆動するロボットの制御方法において、
手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を示す姿勢パラメータを順次変化させる毎に、少なくとも各リンクの関節軸の慣性力と遠心力・コリオリ力と重力に基づく負荷トルクを算出し、
前記姿勢パラメータの変化の中で、前記負荷トルクと前記回転系アクチュエータの定格トルク比が最小となるリンク位置姿勢を求め、
前記手先位置姿勢を目標値とした各関節軸の回転系アクチュエータの制御指令に、前記負荷トルクと前記回転系アクチュエータの定格トルク比が前記最小となるときの各負荷トルクとなるフィードフォワード値を付与することを特徴とするロボットの制御方法。
【請求項３】
前記負荷トルクには、摩擦トルクが含まれていることを特徴とする請求項１または請求項２に記載のロボットの制御方法。
【請求項４】
作業自由度に対して少なくとも１つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸を該関節毎に設けられた回転系アクチュエータにより駆動するロボット制御装置において、
手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を示す姿勢パラメータを順次変化させる毎に、少なくとも各リンクの関節軸の慣性力と遠心力・コリオリ力と重力に基づく負荷トルクを算出する負荷トルク算出部と、
前記姿勢パラメータの変化の中で、前記負荷トルクと前記回転系アクチュエータの定格トルク比が最小となるリンク位置姿勢を求めるリンク姿勢算出部と、
前記手先位置姿勢を目標値とした各関節軸の回転系アクチュエータの制御指令に、前記負荷トルクと前記回転系アクチュエータの定格トルク比が前記最小となるときの各負荷トルクとなるフィードフォワード値を付与する付与部を備えることを特徴とするロボット制御装置。
【請求項５】
前記負荷トルク算出部は、各リンクの関節軸の慣性力と遠心力・コリオリ力と重力の他に摩擦トルクを含む負荷トルクを算出することを特徴とする請求項４に記載のロボット制御装置。
【請求項６】
作業自由度に対して少なくとも１つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸を該関節毎に設けられた回転系アクチュエータにより駆動するロボット制御システムにおいて、
手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を示す姿勢パラメータを順次変化させる毎に、少なくとも各リンクの関節軸の慣性力と遠心力・コリオリ力と重力に基づく負荷トルクを算出する負荷トルク算出部と、
前記姿勢パラメータの変化の中で、前記負荷トルクと前記回転系アクチュエータの定格トルク比が最小となるリンク位置姿勢を求めるリンク姿勢算出部と、
前記手先位置姿勢を目標値とした各関節軸の回転系アクチュエータの制御指令に、前記負荷トルクと前記回転系アクチュエータの定格トルク比が前記最小となるときの各負荷トルクとなるフィードフォワード値を付与する付与部を備えることを特徴とするロボット制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの制御方法ロボット制御装置に関し、特に、作業自由度に対して少なくとも１つの冗長自由度を備えるロボットの制御方法及びロボット制御装置、並びにロボット制御システムに関する。
【背景技術】
【０００２】
従来、ロボットアームの計算トルク制御器として、特許文献１が公知である。特許文献１では、この制御器により、ロボットアームの運動に伴って、所定のサンプリング周期毎の角度の出力値と、前記角度の目標値との偏差と角速度の目標値との偏差とからの状態フィードバック値とにより、目標角加速度を修正して慣性力、コリオリ力、求心力、重力をリアルタイムで計算し、それらと等価のトルクを関節駆動アクチュエータに発生させてロボットアームの運動を制御するようにしている。
【０００３】
上記のように前記慣性力等をリアルタイムで計算してロボットアームを回転駆動するモータに対し、トルクを与えることにより、制御性を向上させることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−９８３０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、作業自由度に対して冗長自由度を有するロボットに対して、上記のように慣性力等をリアルタイムで計算してロボットアームを回転駆動するモータに対し、トルクを与える場合、ロボット姿勢によっては、過大なトルクを発生させなければならない場合があり、逆に制御性が劣化することがある。
【０００６】
本発明の目的は、作業自由度に対して冗長自由度を有するロボットにおいて、冗長自由度を利用して制御性を向上することができ、さらには、回転系アクチュエータのトルク容量を必要最小限にできるため、回転系アクチュエータの小型化、ひいてはロボットの小型化を実現できるロボットの制御方法及びロボット制御装置、並びにロボット制御システムを提供することにある。
【課題を解決するための手段】
【０００７】
上記問題点を解決するために、請求項１の発明は、作業自由度に対して少なくとも１つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸を該関節毎に設けられた回転系アクチュエータにより駆動するロボットの制御方法において、手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を変化させた場合の、少なくとも各リンクの関節軸の慣性力と遠心力・コリオリ力と重力に基づく負荷トルクを算出し、変化させた場合の前記リンク位置姿勢の中で、前記負荷トルクと前記回転系アクチュエータの定格トルク比が最小となるリンク位置姿勢を求め、前記手先位置姿勢を目標値とした各関節軸の回転系アクチュエータの制御指令に、前記負荷トルクと前記回転系アクチュエータの定格トルク比が前記最小となるときの各負荷トルクとなるフィードフォワード値を付与することを特徴とするロボットの制御方法を要旨としている。
【０００８】
請求項２の発明は、作業自由度に対して少なくとも１つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸を該関節毎に設けられた回転系アクチュエータにより駆動するロボットの制御方法において、手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を示す姿勢パラメータを順次変化させる毎に、少なくとも各リンクの関節軸の慣性力と遠心力・コリオリ力と重力に基づく負荷トルクを算出し、前記姿勢パラメータの変化の中で、前記負荷トルクと前記回転系アクチュエータの定格トルク比が最小となるリンク位置姿勢を求め、前記手先位置姿勢を目標値とした各関節軸の回転系アクチュエータの制御指令に、前記負荷トルクと前記回転系アクチュエータの定格トルク比が前記最小となるときの各負荷トルクとなるフィードフォワード値を付与することを特徴とするロボットの制御方法を要旨としている。
【０００９】
請求項３の発明、請求項１または請求項２において、前記負荷トルクには、摩擦トルクが含まれていることを特徴とする。
請求項４の発明は、作業自由度に対して少なくとも１つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸を該関節毎に設けられた回転系アクチュエータにより駆動するロボット制御装置において、手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を示す姿勢パラメータを順次変化させる毎に、少なくとも各リンクの関節軸の慣性力と遠心力・コリオリ力と重力に基づく負荷トルクを算出する負荷トルク算出部と、前記姿勢パラメータの変化の中で、前記負荷トルクと前記回転系アクチュエータの定格トルク比が最小となるリンク位置姿勢を求めるリンク姿勢算出部と、前記手先位置姿勢を目標値とした各関節軸の回転系アクチュエータの制御指令に、前記負荷トルクと前記回転系アクチュエータの定格トルク比が前記最小となるときの各負荷トルクとなるフィードフォワード値を付与する付与部を備えることを特徴とするロボット制御装置を要旨としている。
【００１０】
請求項５の発明は、請求項４において、前記負荷トルク算出部は、各リンクの関節軸の慣性力と遠心力・コリオリ力と重力の他に摩擦トルクを含む負荷トルクを算出することを特徴とする。
【００１１】
請求項６の発明は、作業自由度に対して少なくとも１つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸を該関節毎に設けられた回転系アクチュエータにより駆動するロボット制御システムにおいて、手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を示す姿勢パラメータを順次変化させる毎に、少なくとも各リンクの関節軸の慣性力と遠心力・コリオリ力と重力に基づく負荷トルクを算出する負荷トルク算出部と、前記姿勢パラメータの変化の中で、前記負荷トルクと前記回転系アクチュエータの定格トルク比が最小となるリンク位置姿勢を求めるリンク姿勢算出部と、前記手先位置姿勢を目標値とした各関節軸の回転系アクチュエータの制御指令に、前記負荷トルクと前記回転系アクチュエータの定格トルク比が前記最小となるときの各負荷トルクとなるフィードフォワード値を付与する付与部を備えることを特徴とするロボット制御システムを要旨としている。
【発明の効果】
【００１２】
請求項１、請求項２、請求項４、請求項６の発明によれば、作業自由度に対して冗長自由度を有するロボットにおいて、冗長自由度を利用して制御性を向上することができ、さらには、回転系アクチュエータのトルク容量を必要最小限にできるため、回転系アクチュエータの小型化、ひいてはロボットの小型化を実現できる。
【００１３】
請求項３及び請求項５の発明によれば、負荷トルクに摩擦トルクが含まれることにより、さらに、制御性の精度が高めることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態の冗長性を有するマニピュレータのスケルトン図。
【図２】一実施形態のロボット制御装置の概略構成図。
【図３】姿勢パラメータの説明図。
【図４】ロボット制御装置の制御フローチャート。
【図５】ロボット制御装置の制御フローチャート。
【図６】他の実施形態のロボット制御システムのブロック図。
【発明を実施するための形態】
【００１５】
以下、本発明を具体化した一実施形態の作業自由度に対して冗長自由度を有するロボット制御装置及びロボット制御方法を図１〜図５を参照して説明する。
まず、本実施形態の作業自由度に対して冗長自由度を有するマニピュレータについて説明する。
【００１６】
図１に示すように、マニピュレータ１０は、８個のリンク１１〜１８が７個の関節２１〜２７により直列に連結されて形成されている。多関節ロボットであるマニピュレータ１０は、７個の関節２１〜２７においてリンク１２〜１８が旋回することのできる７自由度（自由度ｎ＝７）を有するロボットであり、その作業空間の次元数（次元数ｍ）は６であって、１（＝ｎ−ｍ）の冗長性を有する。すなわち、本実施形態のマニピュレータは、作業自由度６に対して、１つの冗長自由度を有する。
【００１７】
第１リンク１１は一端が床面ＦＬに固定され、他端が第１関節２１の一側に接続されている。第１関節２１の他側には、第２リンク１２の一端が接続され、第２リンク１２の他端には第２関節２２の一側が接続されている。以下同様に、第３リンク１３、第４リンク１４、第５リンク１５、第６リンク１６、第７リンク１７及び第８リンク１８が、それぞれ第３関節２３、第４関節２４、第５関節２５、第６関節２６及び第７関節２７を介して順に連結されている。
【００１８】
第１関節２１の他側は一側に対して、矢印３１に示すように、図１において上下方向に延びる軸を中心に回転可能とされており、これにより、第２リンク１２は隣接する第１リンク１１に対して、第１関節２１の回転軸（Ｊ１軸）を中心に矢印３１方向に旋回可能である。
【００１９】
また、第２関節２２の他側は一側に対して、矢印３２に示すように、図１において紙面に垂直な方向に延びる軸（Ｊ２軸）を中心に回転可能とされている。これにより、第３リンク１３は隣接する第２リンク１２に対して、第２関節２２の回転軸を中心に矢印３２方向に回転可能である。
【００２０】
以下、第３関節２３、第４関節２４、第５関節２５、第６関節２６及び第７関節２７についてもそれぞれ、回転可能とされており、第４リンク１４、第５リンク１５、第６リンク１６、第７リンク１７及び第８リンク１８も、それぞれ関節２３〜２７の回転軸（Ｊ３軸〜Ｊ７軸）を中心に、矢印３３〜３７方向に旋回可能である。尚、本願の全体にわたって、第１関節２１〜２７を介して連結されているリンク１１〜１８同士を、互いに隣接するリンク１１〜１８という。また、Ｊ１軸〜Ｊ７軸は、関節軸に相当する。
【００２１】
図１に示すように、第１関節２１には第１サーボモータ４１が取り付けられており、電力が供給されることにより、第２リンク１２を図示しない減速機を介して第１リンク１１に対して旋回させる。
【００２２】
また、第２関節２２には第２サーボモータ４２が取り付けられており、電力が供給されることにより、第３リンク１３を図示しない減速機を介して第２リンク１２に対して旋回させる。以下、同様に、第３関節２３、第４関節２４、第５関節２５、第６関節２６及び第７関節２７にはそれぞれサーボモータ４３〜４７が取り付けられており、電力が供給されることにより、各々リンク１４〜１８を図示しない減速機を介して旋回させる。
【００２３】
なお、各モータは、各関節内に設けられるが、図１では、説明の便宜上、関節とは分離して図示している。また、本実施形態では回転系アクチュエータとしてサーボモータであるＡＣモータが使用されているが、限定されるものではない。
【００２４】
第８リンク１８の先端には、ツール４９が取り付けられている。ツール４９は第８リンク１８とともに、第７関節２７の回転軸（Ｊ７軸）を中心に図１に示すように矢印３７方向に旋回可能とされている。ツール４９は、例えば、ワーク等を把持可能なハンドである。なお、ツール４９の種類は、本発明とは関係しないため、限定されるものではない。
【００２５】
上述したようにマニピュレータ１０は、第１サーボモータ４１〜第７サーボモータ４７を駆動して第２リンク１２〜第８リンク１８を回転させることにより、第２リンク１２〜第８リンク１８の回転角度が累積して先端部にあるツール４９に働くため、ツール４９の先端の位置および姿勢を、その作業内容に応じた目標位置および目標姿勢に一致させることが可能である。
【００２６】
次に、図２を参照して、前記マニピュレータ１０を制御するロボット制御装置としてのコントローラーＲＣを中心とした多関節ロボットの電気的な構成を説明する。
コントローラーＲＣは、コンピュータ９０と、コンピュータ９０に電気的に接続されたＰＷＭジェネレータ５１〜５７と、ＰＷＭジェネレータ５１〜５７に電気的に接続されたサーボアンプ６１〜６７を有する。各サーボアンプ６１〜６７はそれぞれ第１サーボモータ４１〜第７サーボモータ４７に電気的に接続されている。
【００２７】
コンピュータ９０は、制御指令をＰＷＭジェネレータ５１〜５７に出力し、ＰＷＭジェネレータ５１〜５７は、当該制御令指令に基づいてＰＷＭ信号をサーボアンプ６１〜６７に出力する。サーボアンプ６１〜６７は、その出力に応じてサーボモータ４１〜４７を作動させることにより、各リンク１２〜１８を回転させる。
【００２８】
前記サーボモータ４１〜４７にはロータリエンコーダ７１〜７７が内蔵されており、インターフェイス８０を介してコンピュータ９０と接続されている。ロータリエンコーダ７１〜７７は、各々のサーボモータ４１〜４７の回動角度を検出することにより、すなわち、リンク１２〜１８のそれぞれが隣接するリンク１１〜１７に対する回転角度（関節角度）を検出して、その検出信号をコントローラーＲＣに送信する。ロータリエンコーダ７１〜７７は、回転角度検出器に相当する。なお、回転角度検出器としては、ロータリエンコーダに限定するものではなく、レゾルバ、或いは、ポテンショメータであってもよい。
【００２９】
なお、第１サーボモータ４１〜第７サーボモータ４７に対してロータリエンコーダ７１〜７７を設ける代わりに、リンク１１〜１８または第１関節２１〜第７関節２７に、リンク１１〜１８の回転角度（関節角度）を直接に検出可能なセンサを取り付けてもよい。
【００３０】
前記コンピュータ９０は、ＣＰＵ９１、ＲＯＭ９２、ＲＡＭ９３、及びハードディスク等の不揮発性の記憶部９４、及びインターフェイス９５等を備え、バス９６を介して電気的に接続されている。
【００３１】
記憶部９４には、各種データ、ロボットに各種作業を行わせるための作業プログラム、各種パラメータ等が記憶されている。すなわち、本実施形態のロボットは、ティーチングプレイバック方式で作動するロボットであり、前記作業プログラムが実行されることにより、前記マニピュレータ１０が動作する。ＲＯＭ９２は、システム全体のシステムプログラムが記憶されている。ＲＡＭ９３は、ＣＰＵ９１の作業用のメモリであって、各種演算等が実行されるときに一時的にデータが格納される。ＣＰＵ９１は、負荷トルク算出部、リンク姿勢算出部及び付与部に相当する。
【００３２】
コントローラーＲＣには入力装置８２が前記インターフェイス９５を介して接続されている。入力装置８２は、図示しないモニター画面及び各種入力キー等を有する操作盤であり、ユーザーが各種のデータを入力操作可能とされている。入力装置８２は、多関節ロボットの電源スイッチが設けられるとともに、コンピュータ９０に対して、マニピュレータ１０の先端部にあるツール４９の先端（以下、手先という）の最終目標位置および最終目標姿勢、ツール４９の先端の補間点における位置および姿勢の入力、並びに、冗長性を利用したマニピュレータ１０の姿勢変更のためのジョグ操作等による入力が可能となっている。
【００３３】
（第１実施形態の作用）
次に、本実施形態による多関節ロボットのコントローラーＲＣの作用を説明する。図４及び図５は、コントローラーＲＣのＣＰＵ９１が実行する作業プログラムに書き込まれている教示点（最終目標位置、並びにツール４９の先端の補間点における位置）に手先を位置させるときの制御フローチャートである。前記ロータリエンコーダ７１〜７７は下記各ステップが実行される制御周期よりも、十分に速い検出周期で回転角度（すなわち、関節角度）を検出している。
【００３４】
（ステップ１０）
まず、ステップ１０（以下、ステップをＳという）では、ＣＰＵ９１は、記憶部９４の作業プログラムに書き込まれている教示点（手先位置）、手先姿勢及び速度データをＲＡＭ９３の所定領域にセットする。なお、手先位置及び手先姿勢を合わせて手先位置姿勢という。
【００３５】
（Ｓ２０）
次に、ＣＰＵ９１は、Ｓ２０で、手先をＳ１０でセットした教示点（手先位置）において、負荷トルク／定格トルク比最小姿勢決定を行う。このＳ２０の処理の詳細を図５のフローチャートを参照して説明する。
【００３６】
（Ｓ２１）
Ｓ２１では、ＣＰＵ９１は、姿勢パラメータΦを初期化する、本実施形態ではΦ＝０にして初期化するが、初期値は０に限定するものではない。姿勢パラメータΦについて説明する。
【００３７】
姿勢パラメータΦは、冗長自由度を有する前記マニピュレータ１０が、手先位置を固定した場合、すなわち、手先位置姿勢を拘束した場合において、その冗長自由度により許容されるリンク位置姿勢を示すものである。具体的には、図３に示すようにマニピュレータ１０の第４関節２４は、第２関節２２（以下、第１基準点Ｗという）を中心とし、第３リンク１３〜第４リンク１４のリンク長の合計を半径とした球Ａ１と、第６関節２６（以下、第２基準点Ｋという）を中心とし、第５リンク１５〜第６リンク１６のリンク長の合計を半径とする球Ａ２とが形成する交差円Ｅ上の移動が可能である。従って、本実施形態では、この交差円Ｅ上に第４関節２４が位置するようにして、リンク位置姿勢が変わる。
【００３８】
前記交差円Ｅの中心を通る中心軸Ｏは、図３に示すように、第１基準点Ｗ（第２関節２２中心）と第２基準点Ｋ（第６関節２６中心）を通過する軸である。第４関節２４はこの交差円Ｅ上に位置するため、姿勢パラメータΦは、交差円Ｅ上のリンク位置姿勢を示すパラメータとして表すことができる。そこで、交差円Ｅ上の適宜の位置Ｒから、変更された位置までの角度を、ここでは、姿勢パラメータΦとして定義されている。本実施形態では位置Ｒは、第４関節２４の現在位置とする。
【００３９】
（Ｓ２２）
Ｓ２２では、ＣＰＵ９１は姿勢パラメータΦとして所定値を加算して更新する。すなわち、仮想的に姿勢パラメータΦを増加させてリンクの位置姿勢を変えたものとするのである。
【００４０】
（Ｓ２３）
Ｓ２３では、手先位置姿勢から関節角度を求めるために逆変換演算を行う。
ここで、第１関節２１〜第７関節２７の関節角度ｑ１，ｑ２，ｑ３，…，ｑ７とし、手先座標（ｘ，ｙ，ｚ）及び手先姿勢（ａ，ｂ，ｃ）とすると、ベクトルｑ及び手先位置姿勢Ｘは下記のように表される。
【００４１】
【数１】
0005895628.tif 000002
各関節角度ｑ１，ｑ２，ｑ３，…，ｑ７は、式（２）に示すように表すことができ、これらの式は、逆変換式である。本ステップでは、式（２）により、手先位置姿勢Ｘと姿勢パラメータΦにより、各関節角度ｑ１，ｑ２，ｑ３，…，ｑ７を算出する。
【００４２】
【数２】
0005895628.tif 000003
（Ｓ２４）
Ｓ２４では、ＣＰＵ９１は、各関節軸に設けられたモータの負荷トルクを式（３）により算出し、記憶部９４に格納する。
【００４３】
式（３）の右辺において、第１項は慣性力、第２項は遠心力・コリオリ力より導かれるトルク、第３項は重力負荷より導かれるトルク、第４項は摩擦トルク、及び第５項はアクチュエータ慣性トルクである。これらの式中、右辺の第１項から第３項は、ラグランジュ法により導かれた運動方程式であり、公知の式である。また、右辺の第４項及び第５項はアクチュエータの影響を考慮に入れた項である。
【００４４】
【数３】
0005895628.tif 000004
なお、関節ｉの角速度、各加速度は、求められた関節角度ｑｉと、Ｓ１０でセットされた速度データに基づいて算出する。
【００４５】
第１項の慣性力については下記の通りである。
【００４６】
【数４】
0005895628.tif 000005
【００４７】
【数５】
0005895628.tif 000006
【００４８】
【数６】
0005895628.tif 000007
なお、「既知」とかかれているパラメータ等は、記憶部９４に格納されている。
【００４９】
各軸の各関節軸に設けられたモータの負荷トルクの算出が終了すると、ＣＰＵ９１は、Ｓ２５に移行する。
（Ｓ２５）
Ｓ２５では、ＣＰＵ９１は、姿勢パラメータΦが、予め設定された上限値Φｍａｘ以下であれば、Ｓ２２に戻り、姿勢パラメータΦが予め設定された上限値Φｍを超えた場合には、Ｓ２６に移行する。この上限値Φｍは、予め試験等により設定されたものである。
【００５０】
（Ｓ２６）
Ｓ２６では、ＣＰＵ９１は、Ｓ２４で算出した各負荷トルクと、予め記憶部９４に格納されている各関節軸のモータの定格トルクの比（負荷トルク／定格トルク）を算出して、最小の比となった負荷トルクが算出された姿勢パラメータΦを導出する。
【００５１】
次に、図４のフローチャートに戻って説明する。
（Ｓ３０）
Ｓ３０では、ＣＰＵ９１は、前記最小の比となった負荷トルクが算出された姿勢パラメータΦにおいて、該負荷トルクとなるトルクフィードフォワード値、すなわち、前記負荷トルクを生成するためのモータ電流値を公知の方法で算出する。
【００５２】
（Ｓ４０）
Ｓ４０では、ＣＰＵ９１は、Ｓ１０でセットした手先位置姿勢を目標値とした各関節軸の回転系アクチュエータの制御指令に、前記算出したトルクフィードフォワード値を付与し、そのトルクフィードフォワード値が付与された制御指令を、今回の制御周期分の指令としてＰＷＭジェネレータ５１〜５７にそれぞれ出力する。ＰＷＭジェネレータ５１〜５７は、その制御指令に基づくＰＷＭ信号をサーボアンプ６１〜６７に出力する。サーボアンプ６１〜６７は、その出力に応じて各関節軸の第１サーボモータ４１〜第７サーボモータ４７を作動させることにより、各リンク１２〜１８を回転させる。
【００５３】
（Ｓ５０）
ＣＰＵ９１は、Ｓ５０において、各ロータリエンコーダ７１〜７７からの検出信号に基づいて、最終目標位置、及び最終目標姿勢（すなわち、最終の目標位置姿勢）に手先が到達したか否かを判定し、達していないと判定した場合はＳ１０に戻り、反対に作業プログラムの最終の目標位置姿勢に達していると判定した場合は、このフローチャートを終了する。なお、Ｓ１０に戻った場合、作業プログラムに記述されている次の手先位置姿勢、速度データをセットする。
【００５４】
本実施形態では、下記の特徴を有する。
（１）  本実施形態の制御方法は、作業自由度に対して１つの冗長自由度を備えるように複数の第１リンク１１〜第８リンク１８が各関節軸（Ｊ１軸〜Ｊ７軸）にて連結されたマニピュレータ１０を備え、前記関節軸を該関節毎に設けられた第１サーボモータ４１〜第７サーボモータ４７（回転系アクチュエータ）により駆動するロボットの制御方法であって、手先位置姿勢を目標値とした拘束条件の下で、冗長自由度が許容するリンク位置姿勢を変化させた場合の、各リンクの関節軸の慣性力と遠心力・コリオリ力と重力、摩擦トルク及びアクチュエータ慣性トルクに基づく負荷トルクを算出した。さらに、変化させた場合のリンク位置姿勢の中で、前記負荷トルクと第１サーボモータ４１〜第７サーボモータ４７の定格トルク比が最小となるリンク位置姿勢を求めるようにした。さらに、手先位置姿勢を目標値とした各関節軸の第１サーボモータ４１〜第７サーボモータ４７の制御指令に、前記負荷トルクと第１サーボモータ４１〜第７サーボモータ４７の定格トルク比が最小となるときの各負荷トルクとなるフィードフォワード値を付与するようにした。この結果、本実施形態の制御方法によれば、冗長自由度を利用して制御性を向上することができ、さらには、第１サーボモータ４１〜第７サーボモータ４７のトルク容量を必要最小限にできるため、第１サーボモータ４１〜第７サーボモータ４７の小型化、ひいてはロボットの小型化を実現できる。
【００５５】
（２）本実施形態の制御方法は、手先位置姿勢を目標値とした拘束条件の下で、冗長自由度が許容するリンク位置姿勢を示す姿勢パラメータΦを順次変化させる毎に、各リンクの関節軸の慣性力、遠心力・コリオリ力、重力、摩擦トルク及びアクチュエータ慣性トルクに基づく負荷トルクを算出した。さらに、姿勢パラメータΦの変化の中で、前記負荷トルクと第１サーボモータ４１〜第７サーボモータ４７（回転系アクチュエータ）の定格トルク比が最小となるリンク位置姿勢を求めるようにした。さらに、手先位置姿勢を目標値とした各関節軸の第１サーボモータ４１〜第７サーボモータ４７の制御指令に、前記負荷トルクと第１サーボモータ４１〜第７サーボモータ４７の定格トルク比が最小となるときの各負荷トルクとなるフィードフォワード値を付与するようにした。この結果、上記（１）と同様の効果を奏することができる。
【００５６】
（３）  本実施形態の制御方法は、負荷トルクには、摩擦トルクが含まれていることを特徴とする。この結果、本実施形態の制御方法によれば、負荷トルクに摩擦トルクが含まれることにより、さらに、制御性の精度を高めることができる。
【００５７】
（４）  本実施形態のロボット制御装置は、手先位置姿勢を目標値とした拘束条件の下で、冗長自由度が許容するリンク位置姿勢を示す姿勢パラメータΦを順次変化させる毎に、各リンクの関節軸の慣性力、遠心力・コリオリ力、重力、摩擦トルク及びアクチュエータ慣性トルクに基づく負荷トルクを算出するＣＰＵ９１（負荷トルク算出部）を備えている。また、前記ＣＰＵ９１は、姿勢パラメータΦの変化の中で、負荷トルクと第１サーボモータ４１〜第７サーボモータ４７（回転系アクチュエータ）の定格トルク比が最小となるリンク位置姿勢を求めるリンク姿勢算出部として機能する。
【００５８】
さらに、ＣＰＵ９１は、手先位置姿勢を目標値とした各関節軸の第１サーボモータ４１〜第７サーボモータ４７の制御指令に、負荷トルクと第１サーボモータ４１〜第７サーボモータ４７の定格トルク比が最小となるときの各負荷トルクとなるフィードフォワード値を付与する付与部として機能する。この結果、本実施形態によれば、冗長自由度を利用して制御性を向上することができ、さらには、第１サーボモータ４１〜第７サーボモータ４７のトルク容量を必要最小限にできるため、第１サーボモータ４１〜第７サーボモータ４７の小型化、ひいてはロボットの小型化を実現できるロボット制御装置を提供できる。
【００５９】
（５）  本実施形態のロボット制御装置は、ＣＰＵ９１（負荷トルク算出部）は、各リンクの関節軸の慣性力と遠心力・コリオリ力と重力の他に摩擦トルクを含む負荷トルクを算出する。この結果、本実施形態のロボット制御装置によれば、負荷トルクに摩擦トルクが含まれることにより、さらに、制御性の精度が高めることができる。
【００６０】
なお、本発明の実施形態は前記実施形態に限定されるものではなく、下記のように変更しても良い。
・  前記実施形態では、Ｓ１０〜Ｓ５０の処理及びＳ２１〜Ｓ２６の処理は、作業プログラムの実行時に負荷トルク／定格トルク比最小姿勢の導出をリアルタイムに行うようにしている。この制御方法に代えて、ロボット制御システムとして具体化してもよい。
【００６１】
具体的には、図６に示すように、ティーチングプレイバック方式で作成された作業プログラムを、コントローラーＲＣと通信が可能に接続されたコンピュータ１００（例えばコントローラーＲＣの上位のコンピュータ）がシミュレーションで作業プログラムを実行して、該コンピュータ１００が、負荷トルク算出部として機能して、作業プログラムのステップに記述されている手先位置姿勢を目標値とした拘束条件の下で、冗長自由度が許容するリンク位置姿勢を示す姿勢パラメータを順次変化させる毎に、少なくとも各リンクの関節軸の慣性力と遠心力・コリオリ力と重力に基づく負荷トルクを算出する。なお、負荷トルクには、前記実施形態と同様に、摩擦トルク、アクチュエータ慣性トルクの少なくともいずれかを加えても良い。そして、コンピュータ１００は、リンク姿勢算出部として、姿勢パラメータΦの変化の中で、負荷トルクと前記回転系アクチュエータの定格トルク比が最小となるリンク位置姿勢を求める。なお、図６のコントローラーＲＣは、説明の便宜上、ＣＰＵ９１と記憶部９４のみ図示しているが、前記実施形態と同様の構成を有する。
【００６２】
この求めた負荷トルクと第１サーボモータ４１〜第７サーボモータ４７の定格トルク比が最小となるリンク位置姿勢を、該外部コンピュータ１００からコントローラーＲＣに出力して記憶部９４に前記作業プログラムに記述された複数のステップにそれぞれ関連付けて記憶させる。なお、前記作業プログラムに記述された複数のステップには、教示点、教示姿勢、速度データが記述されている。
【００６３】
そして、コントローラーＲＣのＣＰＵ９１は、前記作業プログラムの実行時に、前記実施形態と同様に付与部として、手先位置姿勢を目標値とした各関節軸の第１サーボモータ４１〜第７サーボモータ４７（回転系アクチュエータ）の制御指令に、記憶部９４に記憶した前記負荷トルクと第１サーボモータ４１〜第７サーボモータ４７（回転系アクチュエータ）の定格トルク比が前記最小となるときの各負荷トルクとなるフィードフォワード値を付与する。
【００６４】
このようにしても、前記実施形態と同様の効果を実現することができる。
・  前記実施形態では、アクチュエータをサーボモータとしてのＡＣモータを使用したが、ＤＣモータでもよく、ステッピングモータ等を使用してもよい。
【００６５】
・前記実施形態では、式（３）において、第４項の摩擦トルク、及び第５項はアクチュエータ慣性トルクを加算するようにしたが、いずれか一方、或いは両方の加算を省略するようにしてもよい。この場合は、前記実施形態よりは制御性が若干劣るが、これらの場合でも、従来技術よりも制御性が向上する。
【００６６】
・  前記実施形態では、１つの冗長自由度をもつようにしたが、１つの冗長自由度に限定するものではなく、２つ以上の冗長自由度をもつロボット制御装置及び制御方法にも適用できる。
【符号の説明】
【００６７】
ＲＣ…コントローラー（制御装置）、
１０…マニピュレータ、１１〜１８…リンク、
４１〜４７…サーボモータ（回転系アクチュエータ）、
９１…ＣＰＵ（リンク姿勢算出部、負荷トルク算出部、付与部）、
９４…記憶部。 
【図１】
0005895628.tif 000008
【図２】
0005895628.tif 000009
【図３】
0005895628.tif 000010
【図４】
0005895628.tif 000011
【図５】
0005895628.tif 000012
【図６】
0005895628.tif 000013