JP2013215818A - 冗長自由度を持つロボットの制御方法及びロボット制御装置、並びにロボット制御システム - Google Patents

冗長自由度を持つロボットの制御方法及びロボット制御装置、並びにロボット制御システム Download PDF

Info

Publication number
JP2013215818A
JP2013215818A JP2012086417A JP2012086417A JP2013215818A JP 2013215818 A JP2013215818 A JP 2013215818A JP 2012086417 A JP2012086417 A JP 2012086417A JP 2012086417 A JP2012086417 A JP 2012086417A JP 2013215818 A JP2013215818 A JP 2013215818A
Authority
JP
Japan
Prior art keywords
posture
joint
inertia
link position
calculated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012086417A
Other languages
English (en)
Inventor
Toshio Takano
寿男 高野
Hiromitsu Ota
浩充 太田
Yasuharu Mukai
康晴 向井
Kazuya Hattori
和也 服部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JTEKT Corp
Original Assignee
JTEKT Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JTEKT Corp filed Critical JTEKT Corp
Priority to JP2012086417A priority Critical patent/JP2013215818A/ja
Publication of JP2013215818A publication Critical patent/JP2013215818A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Manipulator (AREA)

Abstract

【課題】
各関節軸の速度開ループゲインを同一にしているため、各関節軸の動作速度、位相関係が近似値となり、軌跡精度が向上できるとともに、速度リップル(速度むら)が抑制されて制御性能を向上することができる冗長自由度を持つロボットの制御方法及びロボット制御装置並びにロボット制御システムを提供する。
【解決手段】
手先位置姿勢を目標値とした拘束条件として冗長自由度が許容するリンク位置姿勢を変化させて、各リンク位置姿勢毎の全関節軸の負荷イナーシャを算出し、算出した負荷イナーシャの最大値が最小となるイナーシャ最小リンク位置姿勢のときの全関節軸の対ロータイナーシャ比を演算し、対ロータイナーシャ比が最大となった関節軸の速度開ループゲインを演算し、全関節軸全関節軸の速度系の開ループゲインを、演算した速度開ループゲインに統一した上で、関節軸毎に設けられたサーボモータを制御する。
【選択図】図4

Description

本発明は、冗長自由度を持つロボットの制御方法及びロボット制御装置、並びにロボット制御システム
に関する。
従来、多関節ロボットを動作させる場合、各関節軸を駆動するモータの指令値の偏差によって制御される位置ループ、速度ループ及び電流ループで行うのが一般的である。位置、速度、及び電流ループは関節軸毎に独立して構成されており、各ループのループゲイン等は、他の関節軸との関係はなく設定されている(以下、従来技術1という)。
また、特許文献1には、冗長自由度を持つロボットの制御方法が開示されている。この制御方法は、ロボットの各関節部回りの慣性能率(慣性イナーシャ)を冗長自由度の数だけ適宜選択して、用いたジャコビアン行列で表現した関係式により、駆動すべき各関節角度を演算するようにしたものである(以下、従来技術2という)。この方法によれば、全体として動作が円滑となり、極端にある特定の軸に過負荷がかかったり、不自然な姿勢を取ることがなくなるという利点がある。
特公平4−6003号公報
しかしながら、従来技術1及び従来技術2では、多関節ロボットを動作させる場合、各関節軸の位置、速度、及び電流ループゲインが相互に無関係の大きさに設定されているため、各関節軸の動作速度、位相関係もばらばらになり、ロボットの軌跡精度、速度リップル(速度むら)の制御性能が劣化する問題がある。
本発明の目的は、各関節軸の速度開ループゲインを同一にしているため、各関節軸の動作速度、位相関係が近似値となり、軌跡精度が向上できるとともに、速度リップル(速度むら)が抑制されて制御性能を向上することができる冗長自由度を持つロボットの制御方法及びロボット制御装置並びにロボット制御システムを提供することにある。
上記問題点を解決するために、請求項1の発明は、作業自由度に対して少なくとも1つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボットの制御方法において、手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を複数変化させた場合、各リンク位置姿勢毎の全関節軸の負荷イナーシャを算出し、前記複数変化させた場合の前記リンク位置姿勢のうち、前記算出した全関節軸の負荷イナーシャの最大値が、最小となるリンク位置姿勢(以下、イナーシャ最小リンク位置姿勢という)を選択し、前記イナーシャ最小リンク位置姿勢のときの全関節軸の対ロータイナーシャ比を演算し、前記演算された対ロータイナーシャ比が最大となった関節軸の速度開ループゲインを演算し、全関節軸の速度系の開ループゲインを、前記演算した速度開ループゲインに統一した上で、前記関節軸毎に設けられた回転系アクチュエータを制御することを特徴とするロボットの制御方法を要旨としている。
請求項2の発明は、作業自由度に対して少なくとも1つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボットの制御方法において、手先位置姿勢毎に以下の第1〜第5ステップをシミュレーションで行って、得られた速度開ループゲインを記憶した後、当該速度開ループゲインで前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボットの制御方法を要旨としている。
(第1ステップ) 付与された手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を複数変化させた場合、各リンク位置姿勢毎の全関節軸の負荷イナーシャを算出する。
(第2ステップ) 前記複数変化させた場合の前記リンク位置姿勢のうち、前記算出した全関節軸の負荷イナーシャの最大値が、最小となるリンク位置姿勢(以下、イナーシャ最小リンク位置姿勢という)を選択する。
(第3ステップ) 前記イナーシャ最小リンク位置姿勢のときの全関節軸の対ロータイナーシャ比を演算する第4ステップ、
(第4ステップ) 前記演算された対ロータイナーシャ比が最大となった関節軸の速度開ループゲインを演算する。
(第5ステップ) 全関節軸の速度系の開ループゲインを、前記演算した速度開ループゲインに統一した上で、前記関節軸毎に設けられた回転系アクチュエータを制御する。
請求項3の発明は、作業自由度に対して少なくとも1つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボット制御装置において、手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を複数変化させた場合、各リンク位置姿勢毎の全関節軸の負荷イナーシャを演算する第1演算部と、前記複数変化させた場合の前記リンク位置姿勢のうち、前記算出した全関節軸の負荷イナーシャの最大値が、最小となるリンク位置姿勢(以下、イナーシャ最小リンク位置姿勢という)を選択する選択部と、前記イナーシャ最小リンク位置姿勢のときの全関節軸の対ロータイナーシャ比を演算する第2演算部と、前記演算された対ロータイナーシャ比が最大となった関節軸の速度開ループゲインを演算する第3演算部と、全関節軸の速度系の開ループゲインを、前記演算した速度開ループゲインに統一する統一部を備えることを特徴とするロボット制御装置を要旨としている。
請求項4の発明は、作業自由度に対して少なくとも1つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボット制御システムにおいて、シミュレーションにより、手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を複数変化させた場合、各リンク位置姿勢毎の全関節軸の負荷イナーシャを演算する第1演算部と、前記複数変化させた場合の前記リンク位置姿勢のうち、前記算出した全関節軸の負荷イナーシャの最大値が、最小となるリンク位置姿勢(以下、イナーシャ最小リンク位置姿勢という)を選択する選択部と、前記イナーシャ最小リンク位置姿勢のときの全関節軸の対ロータイナーシャ比を演算する第2演算部と、前記対ロータイナーシャ比が最大となった関節軸の速度開ループゲインを演算する第3演算部と、前記速度開ループゲインを記憶する記憶部を備え、前記手先位置姿勢が記述された作業プログラムが実行された際、前記手先位置姿勢毎に前記記憶部に記憶した全関節軸の回転系アクチュエータを前記記憶部に記憶した速度開ループゲインで制御する制御部を備えることを特徴とするロボット制御システムを要旨としている。
請求項1及び請求項2の発明によれば、各関節軸の速度開ループゲインを同一にしているため、各関節軸の動作速度、位相関係が近似値となり、軌跡精度が向上できるとともに、速度リップル(速度むら)が抑制されて制御性能を向上することができる冗長自由度を持つロボットの制御方法を提供できる。
請求項3及び請求項4の発明によれば、各関節軸の速度開ループゲインを同一にしているため、各関節軸の動作速度、位相関係が近似値となり、軌跡精度が向上できるとともに、速度リップル(速度むら)が抑制されて制御性能を向上することができるロボット制御装置を提供できる。
冗長自由度を有するマニピュレータのスケルトン図。 一実施形態のロボット制御装置の概略構成図。 ロボット制御装置の制御系全体のブロック線図。 ロボット制御装置が実行するプログラムのフローチャート。 ロボット制御装置が実行するプログラムのフローチャート。 速度ループのブロック線図。 (a)、(b)は、速度ループのブロック線図。 姿勢パラメータの説明図。 負荷イナーシャが最大値を示す関節軸 他の実施形態のロボット制御システム。
以下、本発明を具体化した一実施形態の作業自由度に対して冗長自由度を有するロボット制御装置及びロボット制御方法を図1〜図8を参照して説明する。
まず、本実施形態の作業自由度に対して冗長自由度を有するマニピュレータについて説明する。
図1に示すように、マニピュレータ10は、8個のリンク11〜18が7個の関節21〜27により直列に連結されて形成されている。多関節ロボットであるマニピュレータ10は、7個の関節21〜27においてリンク12〜18が旋回することのできる7自由度(自由度n=7)を有するロボットであり、その作業空間の次元数(次元数m)は6であって、1(=n−m)の冗長性を有する。すなわち、本実施形態のマニピュレータは、作業自由度6に対して、1つの冗長自由度を有する。
第1リンク11は一端が床面FLに固定され、他端が第1関節21の一側に接続されている。第1関節21の他側には、第2リンク12の一端が接続され、第2リンク12の他端には第2関節22の一側が接続されている。以下同様に、第3リンク13、第4リンク14、第5リンク15、第6リンク16、第7リンク17及び第8リンク18が、それぞれ第3関節23、第4関節24、第5関節25、第6関節26及び第7関節27を介して順に連結されている。
第1関節21の他側は一側に対して、矢印31に示すように、図1において上下方向に延びる軸を中心に回転可能とされており、これにより、第2リンク12は隣接する第1リンク11に対して、第1関節21の回転軸(J1軸)を中心に矢印31方向に旋回可能である。
また、第2関節22の他側は一側に対して、矢印32に示すように、図1において紙面に垂直な方向に延びる軸(J2軸)を中心に回転可能とされている。これにより、第3リンク13は隣接する第2リンク12に対して、第2関節22の回転軸を中心に矢印32方向に回転可能である。
以下、第3関節23、第4関節24、第5関節25、第6関節26及び第7関節27についてもそれぞれ、回転可能とされており、第4リンク14、第5リンク15、第6リンク16、第7リンク17及び第8リンク18も、それぞれ関節23〜27の回転軸(J3軸〜J7軸)を中心に、矢印33〜37方向に旋回可能である。尚、本願の全体にわたって、第1関節21〜27を介して連結されているリンク11〜18同士を、互いに隣接するリンク11〜18という。また、J1軸〜J7軸は、関節軸に相当する。
図1に示すように、第1関節21には第1サーボモータ41が取り付けられており、電力が供給されることにより、第2リンク12を図示しない減速機を介して第1リンク11に対して旋回させる。
また、第2関節22には第2サーボモータ42が取り付けられており、電力が供給されることにより、第3リンク13を図示しない減速機を介して第2リンク12に対して旋回させる。以下、同様に、第3関節23、第4関節24、第5関節25、第6関節26及び第7関節27にはそれぞれサーボモータ43〜47が取り付けられており、電力が供給されることにより、各々リンク14〜18を図示しない減速機を介して旋回させる。
なお、各モータは、各関節内に設けられるが、図1では、説明の便宜上、関節とは分離して図示している。また、本実施形態では回転系アクチュエータとしてサーボモータであるACモータが使用されているが、限定されるものではない。
第8リンク18の先端には、ツール49が取り付けられている。ツール49は第8リンク18とともに、第7関節27の回転軸(J7軸)を中心に図1に示すように矢印37方向に旋回可能とされている。ツール49は、例えば、ワーク等を把持可能なハンドである。なお、ツール49の種類は、本発明とは関係しないため、限定されるものではない。
上述したようにマニピュレータ10は、第1サーボモータ41〜第7サーボモータ47を駆動して第2リンク12〜第8リンク18を回転させることにより、第2リンク12〜第8リンク18の回転角度が累積して先端部にあるツール49に働くため、ツール49の先端の位置および姿勢を、その作業内容に応じた目標位置および目標姿勢に一致させることが可能である。
次に、図2を参照して、前記マニピュレータ10を制御するロボット制御装置としてのコントローラRCを中心とした多関節ロボットの電気的な構成を説明する。
コントローラRCは、コンピュータ90と、コンピュータ90に電気的に接続されたPWMジェネレータ51〜57と、PWMジェネレータ51〜57に電気的に接続されたサーボアンプ61〜67を有する。各サーボアンプ61〜67はそれぞれ第1サーボモータ41〜第7サーボモータ47に電気的に接続されている。
コンピュータ90は、制御指令をPWMジェネレータ51〜57に出力し、PWMジェネレータ51〜57は、当該制御指令に基づいてPWM信号をサーボアンプ61〜67に出力する。サーボアンプ61〜67は、その出力に応じてサーボモータ41〜47を作動させることにより、各リンク12〜18を回転させる。
前記サーボモータ41〜47にはロータリエンコーダ71〜77が内蔵されており、インターフェイス80を介してコンピュータ90と接続されている。ロータリエンコーダ71〜77は、各々のサーボモータ41〜47の回動角度を検出することにより、すなわち、リンク12〜18のそれぞれが隣接するリンク11〜17に対する回転角度(関節角度)を検出して、その検出信号をコントローラRCに送信する。ロータリエンコーダ71〜77は、回転角度検出器に相当する。なお、回転角度検出器としては、ロータリエンコーダに限定するものではなく、レゾルバ、或いは、ポテンショメータであってもよい。
なお、第1サーボモータ41〜第7サーボモータ47に対してロータリエンコーダ71〜77を設ける代わりに、リンク11〜18または第1関節21〜第7関節27に、リンク11〜18の回転角度(関節角度)を直接に検出可能なセンサを取り付けてもよい。
前記コンピュータ90は、CPU91、ROM92、RAM93、及びハードディスク等の不揮発性の記憶部94、及びインターフェイス95等を備え、バス96を介して電気的に接続されている。
記憶部94には、各種データ、ロボットに各種作業を行わせるための作業プログラム、各種パラメータ等が記憶されている。すなわち、本実施形態のロボットは、ティーチングプレイバック方式で作動するロボットであり、前記作業プログラムが実行されることにより、前記マニピュレータ10が動作する。ROM92は、システム全体のシステムプログラムが記憶されている。RAM93は、CPU91の作業用のメモリであって、各種演算等が実行されるときに一時的にデータが格納される。CPU91は、第1演算部、第2演算部、第3演算部、選択部、及び統一部に相当する。
コントローラRCには入力装置82が前記インターフェイス95を介して接続されている。入力装置82は、図示しないモニター画面及び各種入力キー等を有する操作盤であり、ユーザーが各種のデータを入力操作可能とされている。入力装置82は、多関節ロボットの電源スイッチが設けられるとともに、コンピュータ90に対して、マニピュレータ10の先端部にあるツール49の先端(以下、手先という)の最終目標位置および最終目標姿勢、ツール49の先端の補間点における位置および姿勢の入力、並びに、冗長性を利用したマニピュレータ10の姿勢変更のためのジョグ操作等による入力が可能となっている。
(一般的に行われているロボット制御装置の制御系の動作)
ここで、説明の便宜上、一般的に行われているロボット制御装置の制御系の動作を図3示す制御系のブロック線図を用いて説明する。なお、説明の便宜上、各構成部材の符号を、既に説明した各構成部材の符号と同一にして説明する。なお、図3において、一点鎖線から左側は、コントローラRC側の動作を表わし、右側は、サーボモータ側の動作を表わしている。
図3に示すように、コントローラRCにおいては、まずCPU91が、RAM93に格納された作業プログラムに記述されているツール49の目標位置及び目標姿勢に基づいて逆変換演算を行って求めた各サーボモータの回転位置を位置指令θsとする。
この位置指令θsと、ロータリエンコーダ71〜77にて求めた各サーボモータ41〜47の実位置θkとの偏差を算出する。
そして、この算出した位置偏差に、位置制御部110では、P制御(比例制御)にて所定の位置ゲインK0を乗じて、サーボモータの目標速度(速度指令ωs)を算出する。
さらにこの速度指令ωsと、実位置θkから求められた各サーボモータ41〜47の実速度ωとの速度偏差に、速度制御部120では、PID制御にて、所定の速度ゲインK1を乗じて、各サーボモータ41〜47に対する電流指令iqを算出し、この電流指令iqを電流制御部130に出力する。電流制御部130は、図示しない電流検出回路にて検出された各サーボモータ41〜47の実電流をA/D変換して取り込み、この実電流iqが電流指令となるように、制御指令を出力して図2に示す前記PWMジェネレータ51〜57にてPWM信号を生成する。具体的には、電流指令iqと実電流iqとの電流偏差に対して、PI制御にて所定の電流ゲインK2を乗じることにより、PWM信号を生成する。そして、この生成したPWM信号を各サーボアンプ61〜67に出力し、各サーボモータ41〜47の通電電流を制御する。なお、図3において、実電流をA/D変換にて取り込む手順を表わすブロックP6に記載のKA/D は、実電流をデジタル値に変換する際の変換定数を表わす。
この結果、各サーボモータ41〜47のモータ巻線には、各サーボアンプ61〜67から、PWM信号に応じて駆動電圧が印加され、モータ巻線の端子電圧は、この駆動電圧と、モータの回転角速度に逆起電力定数Keを乗じて得られる逆起電圧とを合成した電圧となる。そして、各モータ巻線には、この端子電圧に、モータインダクタンスL及びモータ抵抗Rをパラメータとする係数{1/(Ls+R)}を乗じた電流(つまり実電流)が流れる。
また、モータ巻線に電流が流れると、各サーボモータ41〜47においては、回転子に、実電流とトルク定数Ktとにより決定されるモータトルクTMが発生し、モータ軸のイナーシャJによる遅れ(1/J)を伴って回転角加速度が発生し、その回転角加速度を積分(1/S)した回転角速度をさらに積分(1/S)した回転位置に制御される。そして、この回転位置が、各サーボモータ41〜47に設けられたロータリエンコーダ等のセンサにて検出され、その検出信号がコントローラRC内にフィードバックされる。このようにして、コントローラRCは、各サーボモータ41〜47の回転位置,速度をフィードバック制御するサーボ系の制御装置として構成され、各サーボモータ41〜47の回転位置、及びツール49の位置を制御する。
(実施形態の作用)
次に、本実施形態による多関節ロボットのコントローラRCの作用を図4〜図8を参照して説明する。
図4及び図5は、コントローラRCのCPU91が実行する作業プログラムに書き込まれている教示点(最終目標位置、並びにツール49の先端の補間点における位置)に手先を位置させるときの制御フローチャートである。前記ロータリエンコーダ71〜77は下記各ステップが実行される制御周期よりも、十分に短い検出周期で回転角度(すなわち、関節角度)を検出している。
(S10)
まず、S10では、CPU91は、記憶部94の作業プログラムに書き込まれている教示点(手先位置)、手先姿勢及び速度データをRAM93の所定領域にセットする。なお、手先位置及び手先姿勢を合わせて手先位置姿勢という。
(S20)
次に、S20で、CPU91は、S10でセットした教示点(手先位置姿勢)において、イナーシャ最小姿勢の導出処理を行う。
このS20の処理の詳細を図5のフローチャートを参照して説明する。
(S21)
S21では、CPU91は、姿勢パラメータΦを初期化する、本実施形態ではΦ=0にして初期化するが、初期値は0に限定するものではない。姿勢パラメータΦについて説明する。
姿勢パラメータΦは、冗長自由度を有する前記マニピュレータ10が、手先位置を固定した場合、すなわち、手先位置姿勢を拘束した場合において、その冗長自由度により許容されるリンク位置姿勢を示すものである。具体的には、図8に示すようにマニピュレータ10の第4関節24は、第2関節22(以下、第1基準点Wという)を中心とし、第3リンク13〜第4リンク14のリンク長の合計を半径とした球A1と、第6関節26(以下、第2基準点Kという)を中心とし、第5リンク15〜第6リンク16のリンク長の合計を半径とする球A2とが形成する交差円E上の移動が可能である。従って、本実施形態では、この交差円E上に第4関節24が位置するようにして、リンク位置姿勢が変わる。
図8に示すように、前記交差円Eの中心を通る中心軸Oは、第1基準点W(第2関節22中心)と第2基準点K(第6関節26中心)を通過する軸である。第4関節24はこの交差円E上に位置するため、姿勢パラメータΦは、交差円E上のリンク位置姿勢を示すパラメータとして表すことができる。そこで、交差円E上の適宜の位置Rから、変更された位置までの角度を、ここでは、姿勢パラメータΦとして定義されている。本実施形態では位置Rは、第4関節24の現在位置とする。
(S22)
S22では、CPU91は姿勢パラメータΦとして所定値を加算して更新する。すなわち、仮想的に姿勢パラメータΦを増加させてリンクの位置姿勢を変えたものとするのである。
(S23)
S23では、手先位置姿勢から関節角度を求めるために逆変換演算を行う。
ここで、第1関節21〜第7関節27の関節角度θ1,θ2,θ3,…,θ7とし、手先座標(x,y,z)及び手先姿勢(a,b,c)とすると、ベクトルq及び手先位置姿勢Xは下記のように表される。
各関節角度θ1,θ2,θ3,…,θ7は、式(2)に示すように表すことができ、これらの式は、逆変換式である。本ステップでは、式(2)により、手先位置姿勢Xと姿勢パラメータΦにより、各関節角度θ1,θ2,θ3,…,θ7を算出する。
(S24)
S24では、CPU91は、各関節軸の負荷イナーシャI1,I2,I3,…,I7を算出し、記憶部94に格納する。なお、負荷イナーシャは、式(3)のように、特許文献1で説明されているように関節角度の関数として表すことができ、公知であるため、算出方法の詳細な説明は省略する。
(S25)
S25では、CPU91は、姿勢パラメータΦが、予め設定された上限値Φmax以下であれば、S22に戻り、姿勢パラメータΦが予め設定された上限値Φmを超えた場合には、S26に移行する。この上限値Φmは、予め試験等により設定されたものである。
(S26)
S26では、CPU91は、S24で、姿勢パラメータΦが更新される毎に算出した全関節軸の負荷イナーシャのうち、負荷イナーシャの最大値が最小となるリンク位置姿勢、すなわち、イナーシャ最小リンク位置姿勢を選択(導出)する。
図9に示すように、例えば、姿勢パラメータΦ1〜Φn毎にJ1軸〜J7軸の関節軸について、算出した負荷イナーシャが算出されたとする。ここで、Φ1〜Φnは、上限値Φmaxまで、リンク位置姿勢が変化したことを意味している。
ここで、姿勢パラメータΦ1〜Φn毎に負荷イナーシャの最大値を示す欄において、姿勢パラメータΦ1では、J2軸の負荷イナーシャが最大値となり、姿勢パラメータΦ2では、J2軸の負荷イナーシャが最大値となり、姿勢パラメータΦ3では、J2軸の負荷イナーシャが最大値となったとし、残りの姿勢パラメータでは、負荷イナーシャの最大値がこれらの値よりも例えば大きいものとする。
このような場合、最大値の欄Jmax示されている負荷イナーシャの中で、最小値の負荷イナーシャを有する姿勢パラメータは、Φ2となり、この姿勢パラメータΦ2がイナーシャ最小リンク位置姿勢として選択される。
次に、図4のフローチャートに戻って説明する。
(S30)
S30では、CPU91は、S30で選択した、イナーシャ最小リンク位置姿勢の全関節軸(J1軸〜J7軸)の対ロータイナーシャ比を算出する。すなわち、J1軸〜J7軸の各サーボモータ41〜47のロータイナーシャは、既知、すなわち、記憶部94に予め記憶されており、このため、CPU91は、このロータイナーシャと、S20で算出して得た各J1軸〜J7軸の負荷イナーシャに基づいて対ロータイナーシャ比(=負荷イナーシャ/ロータイナーシャ)を算出する。
(S40)
S40では、CPU91は、S30で算出したJ1軸〜J7軸の関節軸についての対ロータイナーシャ比が最大値の対ロータイナーシャ比の関節軸について、速度開ループゲインを演算する。
まず、速度開ループについて説明する。
図6は、図3で説明した制御系のうち、特に速度ループについて簡略化して図示している。ここで、電流制御部130は、PI制御が行われて、その制御周期が速度制御部120よりも短い制御周期であるため、その伝達関数は1と近似できる。このため、図6は、図7(a)に示すように書き換えることができる。
また、速度ループを開ループ(速度開ループ)とすると、図7(b)に示すように表すことができる。そして、図7(b)に示す、A点から、B点のゲイン、すなわち、速度開ループゲインG0は、式(4)で表すことができる。
G0=G1×G2×1/J ……(4)
G1は、速度制御部120のゲインであり、G2はトルク定数Ktを伝達関数として表したものである。
ここで、式(4)を式(5)に置き換えるものとする。
G0=Kv×G2×1/J ……(5)
式(5)において、Kvは、速度制御部120の比例ゲインとする。すなわち、G1はKvと同じ速度比例ゲインである。
そして、本実施形態では、1/Jを1/Jmaxとして、G0を求める。
すなわち、式(6)にする。
G0=Kv×G2×1/Jmax ……(6)
Jmaxは、前記最大値の対ロータイナーシャ比の関節軸の負荷イナーシャである。
CPU91は、速度制御部120の比例ゲインKvを、速度開ループゲインによる応答性が良好であって、安定性を損なわないまで、大きくしていく。この応答性が良好であって、安定性を損なわないとは、例えば、ボード線図でいう、ゲイン余裕及び位相余裕で判定する。また、比例ゲインKvを大きくすればするほど、応答性は良くなるが、安定性は悪くなるため、CPU91は、予め設定された閾値内で、比例ゲインKvを決定することにより、速度開ループゲインG0を求める。
なお、速度制御部120において、PID制御を行うが、積分制御における積分ゲイン及び微分制御の微分ゲインについては、変更しないものとする。
(S50)
次に、CPU91は、S50では、他の関節軸についての、速度制御部120に関して、速度開ループを行うことを前提として、速度開ループゲインを前記G0と同一とする。すなわち、速度開ループゲインを全関節軸において、統一する。
(S60)
S60では、CPU91は、S26で導出した姿勢パラメータΦとなるように、S10でセットした手先位置姿勢を目標値とした各関節軸の回転系アクチュエータの制御指令を、今回の制御周期分の指令としてPWMジェネレータ51〜57にそれぞれ出力する。
すなわち、本実施形態では、図3の位置制御部110では、一般的に行われている、速度指令ωsを出力し、速度制御部120では、速度開ループゲインG0を使用して、電流指令を出力し、電流制御部130(PWMジェネレータ51〜57を含む)では、その電流指令と実電流iqの偏差を入力してPWM信号を生成し、PWM信号をサーボアンプ61〜67に出力する。サーボアンプ61〜67は、その出力に応じて各関節軸の第1サーボモータ41〜第7サーボモータ47を作動させることにより、各リンク12〜18を回転させる。
(S70)
S70では、CPU91は、各ロータリエンコーダ71〜77からの検出信号に基づいて、最終目標位置、及び最終目標姿勢(すなわち、最終の目標位置姿勢)に手先が到達したか否かを判定し、達していないと判定した場合はS10に戻り、反対に作業プログラムの最終の目標位置姿勢に達していると判定した場合は、このフローチャートを終了する。なお、S10に戻った場合、作業プログラムに記述されている次の手先位置姿勢、速度データをセットする。
本実施形態では、下記の特徴を有する。
(1) 本実施形態のロボットの制御方法は、手先位置姿勢を目標値とした拘束条件の下で、冗長自由度が許容するリンク位置姿勢を複数変化させた場合、各リンク位置姿勢毎の全関節軸の負荷イナーシャを算出する。そして、複数変化させた場合のリンク位置姿勢のうち、算出した全関節軸(J1軸〜J7軸)の負荷イナーシャの最大値が、最小となるイナーシャ最小リンク位置姿勢を選択する。また、イナーシャ最小リンク位置姿勢のときの全関節軸(J1軸〜J7軸)の対ロータイナーシャ比を演算する。さらに、演算された対ロータイナーシャ比が最大となった関節軸の速度開ループゲインを演算し、全関節軸全関節軸(J1軸〜J7軸)の速度系の開ループゲインを、演算した速度開ループゲインに統一した上で、関節軸毎に設けられたサーボモータ41〜47(回転系アクチュエータ)を制御する。
この結果、本実施形態によれば、各関節軸の速度開ループゲインを同一にしているため、各関節軸の動作速度、位相関係が近似値となり、軌跡精度が向上できるとともに、速度リップル(速度むら)が抑制されて制御性能を向上することができる冗長自由度を持つロボットの制御方法を提供できる。
(2) 本実施形態のロボット制御装置は、CPU91が、第1演算部として、手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を複数変化させた場合、各リンク位置姿勢毎の全関節軸の負荷イナーシャを演算する。
また、CPU91は、選択部として、複数変化させた場合のリンク位置姿勢のうち、算出した全関節軸の負荷イナーシャの最大値が、最小となるリンク位置姿勢(以下、イナーシャ最小リンク位置姿勢という)を選択する。また、CPU91は、第2演算部として、イナーシャ最小リンク位置姿勢のときの全関節軸の対ロータイナーシャ比を演算する。さらに、CPU91は、第3演算部として、演算された対ロータイナーシャ比が最大となった関節軸の速度開ループゲインを演算する。そして、CPU91は、統一部として、全関節軸の速度系の開ループゲインを、前記演算した速度開ループゲインに統一する。この結果、本実施形態によれば、各関節軸の速度開ループゲインを同一にしているため、各関節軸の動作速度、位相関係が近似値となり、軌跡精度が向上できるとともに、速度リップル(速度むら)が抑制されて制御性能を向上することができる冗長自由度を持つロボット制御装置を提供できる。
なお、本発明の実施形態は前記実施形態に限定されるものではなく、下記のように変更しても良い。
・ 前記実施形態では、S20〜S50の処理及びS21〜S26の処理は、作業プログラムの実行時にリアルタイムに行うようにしている。この制御方法に代えて、S20〜S50の処理を、下記のように具体化してもよい。
具体的には、図10に示すように、ティーチングプレイバック方式で作成された作業プログラムを、コントローラRCと通信が可能に接続された外部コンピュータ100(例えばコントローラRCの上位のコンピュータ)がシミュレーションで作業プログラムを実行して、該外部コンピュータ100が、第1演算部として、作業プログラムに記述されている手先位置姿勢を目標値とした拘束条件の下で、冗長自由度が許容するリンク位置姿勢を複数変化させた場合、各リンク位置姿勢毎の全関節軸の負荷イナーシャを演算する。
そして、コンピュータ100は、選択部として、複数変化させた場合の前記リンク位置姿勢のうち、前記算出した全関節軸の負荷イナーシャの最大値が、最小となるリンク位置姿勢(以下、イナーシャ最小リンク位置姿勢という)を選択する。すなわち、図4のS20、図5のS21〜S26と同様の処理を行う。
そして、コンピュータ100は、第2演算部として、イナーシャ最小リンク位置姿勢のときの全関節軸の対ロータイナーシャ比を演算する。さらに、コンピュータ100は、第3演算部として、前記対ロータイナーシャ比が最大となった関節軸の速度開ループゲインを演算する。
そして、コンピュータ100は、コントローラRCの記憶部94に、作業プログラムに記述された各ステップ毎の手先位置姿勢、速度データと、その手先位置姿勢における姿勢パラメータΦ(イナーシャ最小姿勢の姿勢パラメータΦ)とを関連付けるとともに、そのときに使用する前記速度開ループゲインを関連付けて記憶させる。
コントローラRCは制御部として機能して、前記手先位置姿勢が記述された作業プログラムが実行された際、前記手先位置姿勢毎に記憶部94に記憶した全関節軸の回転系アクチュエータを前記記憶部に記憶した速度開ループゲインで制御する。
このようにしても、前記実施形態と同様の効果を実現することができる。
・ 前記実施形態では、アクチュエータをサーボモータとしてのACモータを使用したが、DCモータでもよく、ステッピングモータ等を使用してもよい。
・ 前記実施形態では、1つの冗長自由度をもつようにしたが、1つの冗長自由度に限定するものではなく、2つ以上の冗長自由度をもつロボット制御装置及び制御方法にも適用できる。
RC…コントローラ(ロボット制御装置)、
10…マニピュレータ、11〜18…リンク、
41〜47…サーボモータ(回転系アクチュエータ)、
91…CPU(第1演算部、第2演算部、第3演算部、選択部、及び統一部)、
94…記憶部。

Claims (4)

  1. 作業自由度に対して少なくとも1つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボットの制御方法において、
    手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を複数変化させた場合、各リンク位置姿勢毎の全関節軸の負荷イナーシャを算出し、
    前記複数変化させた場合の前記リンク位置姿勢のうち、前記算出した全関節軸の負荷イナーシャの最大値が、最小となるリンク位置姿勢(以下、イナーシャ最小リンク位置姿勢という)を選択し、
    前記イナーシャ最小リンク位置姿勢のときの全関節軸の対ロータイナーシャ比を演算し、
    前記演算された対ロータイナーシャ比が最大となった関節軸の速度開ループゲインを演算し、
    全関節軸の速度系の開ループゲインを、前記演算した速度開ループゲインに統一した上で、前記関節軸毎に設けられた回転系アクチュエータを制御することを特徴とするロボットの制御方法。
  2. 作業自由度に対して少なくとも1つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボットの制御方法において、
    手先位置姿勢毎に以下の第1〜第5ステップをシミュレーションで行って、得られた速度開ループゲインを記憶した後、当該速度開ループゲインで前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボットの制御方法。
    (第1ステップ) 付与された手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を複数変化させた場合、各リンク位置姿勢毎の全関節軸の負荷イナーシャを算出する。
    (第2ステップ) 前記複数変化させた場合の前記リンク位置姿勢のうち、前記算出した全関節軸の負荷イナーシャの最大値が、最小となるリンク位置姿勢(以下、イナーシャ最小リンク位置姿勢という)を選択する。
    (第3ステップ)前記イナーシャ最小リンク位置姿勢のときの全関節軸の対ロータイナーシャ比を演算する第4ステップ、
    (第4ステップ)前記演算された対ロータイナーシャ比が最大となった関節軸の速度開ループゲインを演算する。
    (第5ステップ) 全関節軸の速度系の開ループゲインを、前記演算した速度開ループゲインに統一した上で、前記関節軸毎に設けられた回転系アクチュエータを制御する。
  3. 作業自由度に対して少なくとも1つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボット制御装置において、
    手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を複数変化させた場合、各リンク位置姿勢毎の全関節軸の負荷イナーシャを演算する第1演算部と、
    前記複数変化させた場合の前記リンク位置姿勢のうち、前記算出した全関節軸の負荷イナーシャの最大値が、最小となるリンク位置姿勢(以下、イナーシャ最小リンク位置姿勢という)を選択する選択部と、
    前記イナーシャ最小リンク位置姿勢のときの全関節軸の対ロータイナーシャ比を演算する第2演算部と、
    前記演算された対ロータイナーシャ比が最大となった関節軸の速度開ループゲインを演算する第3演算部と、
    全関節軸の速度系の開ループゲインを、前記演算した速度開ループゲインに統一する統一部を備えることを特徴とするロボット制御装置。
  4. 作業自由度に対して少なくとも1つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボット制御システムにおいて、
    シミュレーションにより、手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を複数変化させた場合、各リンク位置姿勢毎の全関節軸の負荷イナーシャを演算する第1演算部と、
    前記複数変化させた場合の前記リンク位置姿勢のうち、前記算出した全関節軸の負荷イナーシャの最大値が、最小となるリンク位置姿勢(以下、イナーシャ最小リンク位置姿勢という)を選択する選択部と、
    前記イナーシャ最小リンク位置姿勢のときの全関節軸の対ロータイナーシャ比を演算する第2演算部と、
    前記対ロータイナーシャ比が最大となった関節軸の速度開ループゲインを演算する第3演算部と、
    前記速度開ループゲインを記憶する記憶部を備え、
    前記手先位置姿勢が記述された作業プログラムが実行された際、前記手先位置姿勢毎に前記記憶部に記憶した全関節軸の回転系アクチュエータを前記記憶部に記憶した速度開ループゲインで制御する制御部を備えることを特徴とするロボット制御システム。
JP2012086417A 2012-04-05 2012-04-05 冗長自由度を持つロボットの制御方法及びロボット制御装置、並びにロボット制御システム Pending JP2013215818A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012086417A JP2013215818A (ja) 2012-04-05 2012-04-05 冗長自由度を持つロボットの制御方法及びロボット制御装置、並びにロボット制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012086417A JP2013215818A (ja) 2012-04-05 2012-04-05 冗長自由度を持つロボットの制御方法及びロボット制御装置、並びにロボット制御システム

Publications (1)

Publication Number Publication Date
JP2013215818A true JP2013215818A (ja) 2013-10-24

Family

ID=49588590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012086417A Pending JP2013215818A (ja) 2012-04-05 2012-04-05 冗長自由度を持つロボットの制御方法及びロボット制御装置、並びにロボット制御システム

Country Status (1)

Country Link
JP (1) JP2013215818A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113490890A (zh) * 2019-03-15 2021-10-08 欧姆龙株式会社 参数设定辅助装置、参数设定辅助方法以及参数设定辅助程序
CN113490890B (zh) * 2019-03-15 2024-05-28 欧姆龙株式会社 参数设定辅助装置、参数设定辅助方法以及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113490890A (zh) * 2019-03-15 2021-10-08 欧姆龙株式会社 参数设定辅助装置、参数设定辅助方法以及参数设定辅助程序
CN113490890B (zh) * 2019-03-15 2024-05-28 欧姆龙株式会社 参数设定辅助装置、参数设定辅助方法以及存储介质

Similar Documents

Publication Publication Date Title
JP5895628B2 (ja) ロボットの制御方法及びロボット制御装置、並びにロボット制御システム
US9149931B2 (en) Robot system, robot control device and method for controlling robot
JP4896276B2 (ja) ロボット、ロボットの制御装置、制御方法、及び制御プログラム
KR20180059888A (ko) 로봇교시방법 및 로봇 암 제어장치
JP2011005623A (ja) 消費電力推定装置
KR20180069031A (ko) 로봇의 다이렉트 교시방법
JP2016168650A (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP2017124455A (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
US9676100B2 (en) Control apparatus of robot, robot, and program thereof
JP2013223895A (ja) ロボット制御方法及びロボット制御装置
JP6021478B2 (ja) ロボット制御装置、及びロボット制御方法
JP2020015124A (ja) ロボット制御方法、物品の製造方法、ロボット制御装置、ロボット、プログラム及び記録媒体
JP6700679B2 (ja) 制御方法、物品の製造方法、ロボット装置、制御プログラム及び記録媒体
WO2020149020A1 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP2013220501A (ja) ロボット制御方法及びロボット制御装置
JP2013215839A (ja) 冗長自由度を持つロボットの制御方法及びロボット制御装置、並びにロボット制御システム
JP2013215818A (ja) 冗長自由度を持つロボットの制御方法及びロボット制御装置、並びにロボット制御システム
JP2014137626A (ja) ロボットの制御方法及びロボット制御装置
JP2014159066A (ja) ロボット制御装置及びロボットの制御方法
JP4970492B2 (ja) 多関節ロボット
JP2010036293A (ja) 多関節ロボット
JP5633268B2 (ja) ロボットの制御装置
JPH05337860A (ja) ロボットハンドの教示装置およびロボットハンド
JP2013223896A (ja) ロボット制御方法及びロボット制御装置
WO2018212199A1 (ja) 操作装置及びその運転方法