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