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

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

Info

Publication number
JP2013215839A
JP2013215839A JP2012088662A JP2012088662A JP2013215839A JP 2013215839 A JP2013215839 A JP 2013215839A JP 2012088662 A JP2012088662 A JP 2012088662A JP 2012088662 A JP2012088662 A JP 2012088662A JP 2013215839 A JP2013215839 A JP 2013215839A
Authority
JP
Japan
Prior art keywords
joint
posture
freedom
axes
link position
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
JP2012088662A
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 JP2012088662A priority Critical patent/JP2013215839A/ja
Publication of JP2013215839A publication Critical patent/JP2013215839A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Manipulator (AREA)

Abstract

【課題】
ハード構成が複雑にならず、エンドエフェクタの軌跡精度、及び速度変動の制御性能を向上することができる。
【解決手段】
手先位置姿勢を目標値とした拘束条件の下で、冗長自由度が許容するリンク位置姿勢を複数変化させた場合の、各リンク位置姿勢における、関節軸の回転方向を判定する(S50)。回転方向を判定した関節軸のうち、反転する関節軸が最も少ないときのリンク位置姿勢を選択する(S70)。そして、選択したリンク位置姿勢で、手先位置姿勢を目標値として、関節軸毎に設けられた回転系アクチュエータを制御する。
【選択図】図3

Description

本発明は、冗長自由度を持つロボットの制御方法及びロボット制御装置、並びにロボット制御システムに関する。
従来から、多関節ロボットでは、各関節軸に設けられた回転系アクチュエータが減速機を介して各リンクを駆動することが行われている。前記減速機は歯車機構により構成されており、該歯車機構を構成する歯車間にはバックラッシが設けられている(特許文献1、特許文献2)。ところで、多関節ロボットを動作させる場合、関節軸が正転・逆転を行うと、前記バックラッシによる無制限領域が発生し、エンドエフェクタの軌跡精度、及び速度変動等の制御性能が著しく劣化する。例えば、ある軸の方向が反転するときに前記バックラッシのためマニピュレータが即座に反転することができずに、その個所において指令軌跡からの誤差が生じる。
特許文献1では、冗長自由度を持たない多関節ロボットにおいて、ツール先端の現在位置と、目標位置における各関節軸(すなわち、全関節軸)の重力トルクを演算し、前記現在位置と、目標位置のそれぞれの重力トルクの向きにより反転状態か非反転状態かを判定すると共に、重力トルクの絶対値の大きさに応じて、バックラッシを補正するようにしている。
特許文献2では、バネを設けて歯車間に生じるバックラッシを除去する技術が開示されている。
特開平7-20018号公報 特開2008-1990号公報
ところが、特許文献1の技術を、冗長自由度を持つ多関節ロボットにそのまま応用できない問題がある。すなわち、冗長自由度を持つ多関節ロボットでは、ツールの先端の現在位置から目標位置まで、各関節軸を駆動する場合、前記冗長自由度によって、関節軸によっては、正転または逆転のいずれでも良い場合があるからであり、一義的に正転逆転を決められない場合がある。
また、特許文献2で開示されたバックラッシを除去する機構を、冗長自由度を持つ多関節ロボットに設けるとハード構成において部品点数が増えて、冗長自由度を持たないロボットに比してコストが高くなる問題がある。
本発明の目的は、ハード構成が複雑にならず、エンドエフェクタの軌跡精度、及び速度変動の制御性能を向上することができる冗長自由度を持つロボットの制御方法及びロボット制御装置並びにロボット制御システムを提供することにある。
上記問題点を解決するために、請求項1の発明は、作業自由度に対して少なくとも1つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボットの制御方法において、手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を複数変化させた場合の、各リンク位置姿勢における複数の所定の関節軸の回転方向を判定し、回転方向を判定した前記関節軸のうち、反転する前記関節軸が最も少ないときのリンク位置姿勢を選択し、前記選択したリンク位置姿勢で、前記手先位置姿勢を目標値として、前記関節軸毎に設けられた回転系アクチュエータを制御することを特徴とする冗長自由度を持つロボットの制御方法を要旨としている。
請求項2の発明は、請求項1において、前記各リンク位置姿勢における複数の所定の関節軸の回転方向の判定には、重力加速度の影響を受ける方向に回転する関節軸の回転方向の判定を含み、前記回転方向を判定した前記関節軸のうち、反転する前記関節軸が最も少ないときのリンク位置姿勢の選択では、前記重力加速度の影響を受ける方向に回転する関節軸の合計反転軸数が最も少ないときのリンク位置姿勢を選択することを特徴とする。
請求項3の発明は、請求項1において、前記各リンク位置姿勢における複数の所定の関節軸の回転方向の判定は、全関節軸の回転方向の判定であることを特徴とする。
請求項4の発明は、作業自由度に対して少なくとも1つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボット制御装置において、手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を複数変化させた場合の、各リンク位置姿勢における複数の所定の関節軸の回転方向を判定する判定部と、回転方向を判定した前記関節軸のうち、反転する前記関節軸が最も少ないときのリンク位置姿勢を選択する選択部と、前記選択したリンク位置姿勢で、前記手先位置姿勢を目標値として、前記関節軸毎に設けられた回転系アクチュエータを制御する制御部を備えることを特徴とするロボット制御装置を要旨としている。
請求項5の発明は、請求項4において、前記判定部の判定には、重力加速度の影響を受ける方向に回転する関節軸の回転方向の判定を含み、前記選択部が行う選択では、前記重力加速度の影響を受ける方向に回転する関節軸の合計反転軸数が最も少ないときのリンク位置姿勢を選択すること含むことを特徴とする。
請求項6の発明は、請求項4において、前記判定部は、全関節軸の回転方向の判定を行うことを特徴とする。
請求項7の発明は、作業自由度に対して少なくとも1つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボット制御システムにおいて、シミュレーションにより、作業プログラムに記述された手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を複数変化させた場合の、各リンク位置姿勢における複数の所定の関節軸の回転方向を判定する判定部と、回転方向を判定した前記関節軸のうち、反転する前記関節軸が最も少ないときのリンク位置姿勢を選択する選択部と、前記選択部で選択したリンク位置姿勢を、前記作業プログラムに記述された手先位置姿勢と関連付けて記憶する記憶部と、前記作業プログラムの実行処理時に、前記手先位置姿勢に関連付けされた前記リンク位置姿勢で、前記手先位置姿勢を目標値として、前記関節軸毎に設けられた回転系アクチュエータを制御する制御部を備えることを特徴とするロボット制御システムを要旨としている。
請求項1乃至請求項3の発明によれば、ハード構成が複雑にならず、エンドエフェクタの軌跡精度、及び速度変動の制御性能を向上することができる冗長自由度を持つロボットの制御方法を提供できる。
請求項4乃至請求項6の発明によれば、ハード構成が複雑にならず、エンドエフェクタの軌跡精度、及び速度変動の制御性能を向上することができるロボット制御装置を提供できる。
請求項6の発明によれば、ハード構成が複雑にならず、エンドエフェクタの軌跡精度、及び速度変動の制御性能を向上することができるロボット制御システムを提供できる。
請求項7の発明によれば、ハード構成が複雑にならず、エンドエフェクタの軌跡精度、及び速度変動の制御性能を向上することができる冗長自由度を持つロボット制御システムを提供できる。
一実施形態の冗長自由度を有するマニピュレータのスケルトン図。 一実施形態のロボット制御装置の概略構成図。 一実施形態のロボット制御装置が実行するプログラムのフローチャート。 一実施形態の姿勢パラメータの説明図。 回転方向の判定条件の説明図。 他の実施形態のロボット制御装置が実行するプログラムのフローチャート。 他の実施形態のロボット制御システム。
以下、本発明を具体化した一実施形態の作業自由度に対して冗長自由度を有するロボット制御装置及びロボット制御方法を図1〜図4を参照して説明する。
まず、本実施形態の作業自由度に対して冗長自由度を有するマニピュレータについて説明する。
図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軸は、関節軸に相当する。
なお、J2軸、J4軸及びJ6軸の回転方向は、図1に示すように、重力加速度が働く方向と一致している。
図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は、判定部、選択部、及び制御部に相当する。
コントローラRCには入力装置82が前記インターフェイス95を介して接続されている。入力装置82は、図示しないモニター画面及び各種入力キー等を有する操作盤であり、ユーザーが各種のデータを入力操作可能とされている。入力装置82は、多関節ロボットの電源スイッチが設けられるとともに、コンピュータ90に対して、マニピュレータ10の先端部にあるツール49の先端(以下、手先という)の最終目標位置および最終目標姿勢、ツール49の先端の補間点における位置および姿勢の入力、並びに、冗長性を利用したマニピュレータ10の姿勢変更のためのジョグ操作等による入力が可能となっている。
(実施形態の作用)
次に、本実施形態による多関節ロボットのコントローラRCの作用を図3及び図4を参照して説明する。
図3は、コントローラRCのCPU91が実行する作業プログラムに書き込まれている教示点(最終目標位置、並びにツール49の先端の補間点における位置)に手先を位置させるときの制御フローチャートである。前記ロータリエンコーダ71〜77は下記各ステップが実行される制御周期よりも、十分に短い検出周期で回転角度(すなわち、関節角度)を検出している。
(S10)
まず、S10では、CPU91は、記憶部94の作業プログラムに書き込まれている教示点(手先位置)、手先姿勢及び速度データをRAM93の所定領域にセットする。なお、手先位置及び手先姿勢を合わせて手先位置姿勢という。
(S20)
S20では、CPU91は、姿勢パラメータΦを初期化する、本実施形態ではΦ=0にして初期化するが、初期値は0に限定するものではない。
ここで、姿勢パラメータΦについて説明する。
図4に示すように姿勢パラメータΦは、冗長自由度を有する前記マニピュレータ10が、手先位置を固定した場合、すなわち、手先位置姿勢を拘束した場合において、その冗長自由度により許容されるリンク位置姿勢を示すものである。具体的には、図4に示すようにマニピュレータ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が位置するようにして、リンク位置姿勢が変わる。
図4示すように、前記交差円Eの中心を通る中心軸Oは、第1基準点W(第2関節22中心)と第2基準点K(第6関節26中心)を通過する軸である。第4関節24はこの交差円E上に位置するため、姿勢パラメータΦは、交差円E上のリンク位置姿勢を示すことができる。そこで、交差円E上の適宜の位置Rから、変更された位置までの角度を、ここでは、姿勢パラメータΦとして定義されている。本実施形態では位置Rは、第4関節24の現在位置とする。
(S30)
S30では、CPU91は姿勢パラメータΦとして所定値を加算して更新する。すなわち、仮想的に姿勢パラメータΦを増加させてリンクの位置姿勢を変えたものとするのである。増加させる姿勢パラメータΦは、1度等の数値であるが、数値は限定するものではなく、複数のリンク位置姿勢を取らせるための大きさの角度が好ましい。
(S40)
S40では、手先位置姿勢から関節角度を求めるために逆変換演算を行う。
ここで、第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を算出する。
(S50)
S50では、CPU91は、前記各関節角度θ1,θ2,θ3,…,θ7に到達するための各関節の現在位置からの各軸(各関節軸)の回転方向を判定する。
回転方向の方法について説明する。
CPU91は、関節軸毎に現在位置からS40で算出した各関節角度までの角速度ωを演算し、角速度ω>0の時は正方向、角速度ω<0の時は負方向の回転方向と判定する。すなわち、正回転及び負回転の判定をゼロクロスで判定する。
なお、回転方向の判定は、上記の角速度ω>0の時は正方向、角速度ω<0の時は負(逆)方向の回転方向と判定する以外に下記のようにしてもよい。
図5に示すように、角速度ω(>0)が正の関節軸においては、角速度ω>ω0かつ角加速度dω/dt>α(>0)のときのみに、正方向と判定し、角速度ω(<0)が負の関節軸においては、角速度ω<-ω0かつ、角加速度dω/dt<β(<0)のときに負方向に回転していると判定してもよい。
ここで、ω0=0であれば、既に説明したゼロクロスで回転方向を判別することになるが、ω0≠0であって、0に近い数値の場合、ゼロ付近の不安定部分であるところでは、正回転または負(逆)回転の判定を禁止し、停止と判定することになる。そして、角加速度dω/dtを設定することで、角速度を0に近づきにくくできる。
従って、ω0=0とした場合、各関節軸の回転方向の判定は、正回転(ω>0)、負回転、(ω<0)或いは停止(ω=0)のいずれかとなる。
前述のω0≠0とした場合、各関節軸の回転方向の判定は、正回転(角速度ω>ω0かつ角加速度dω/dt>α(>0))、負回転(角速度ω<-ω0かつ、角加速度dω/dt<β(<0))、停止(角速度-ω0≦ω≦ω0)のいずれかとなる。
CPU91は、上記のように判定して得られた当該姿勢パラメータΦにおける各関節軸の回転方向を記憶部94に記憶する。
(S60)
S60では、CPU91は、姿勢パラメータΦが、予め設定された上限値Φmax以下であれば、S30に戻り、姿勢パラメータΦが予め設定された上限値Φmを超えた場合には、S70に移行する。この上限値Φmは、予め試験等により設定されたものである。
(S70)
S70では、CPU91は、合計反転軸数の最少である姿勢パラメータ判定処理を行う。
具体的には、まず、CPU91は、記憶部94に記憶した姿勢パラメータ毎の各関節軸のうち、特に、回転時に重力加速度の影響を受ける軸、すなわち、第2関節22のJ2軸、第4関節24のJ4軸、及び第6関節26のJ6軸についての回転方向が、前回更新した姿勢パラメータで判定したときの回転方向と同じか否かで、反転しているか否かを判定する。そして、CPU91は、反転している関節軸数を合計する。すなわち、合計反転軸数を算出する。
ここでの反転とは、前回更新した姿勢パラメータのときは正回転で、今回の場合は負(逆)回転である場合と、前回更新した姿勢パラメータのときは負(逆)回転で、今回の場合は正回転である場合を含む。なお、姿勢パラメータの更新が初回の場合における反転の判定は、サーボモータの正逆いずれか一方の回転方向に設定されており、その回転方向と同じか否かで判定する。
そして、CPU91は、第2関節22のJ2軸、第4関節24のJ4軸、及び第6関節26のJ6軸の合計した反転軸数(すなわち、合計反転軸数)が最も少ない姿勢パラメータΦを選択する。
なお、各サーボモータに作動連結されている減速機(歯車機構)は、サーボモータが同じ方向に回転を継続する場合は、当該歯車機構の歯車同士は相互に当接して回転しているため、バックラッシによる無制限領域はなく、作動遅れが生じることはない。しかし、サーボモータが逆転すると、前記歯車機構では歯車のバックラッシによる無制限領域があるため、その分の作動遅れがあるとともに歯当たり音が生ずることになる。また、前記J2軸、J4軸及びJ6軸は、その回転方向が、重力加速度が働く方向と一致するため重力加速度の影響による外乱トルクの変動を受けやすいとともに、反転した際にその外乱トルクの変動量が大きくなる場合が発生し、さらに前記反転したときのバックラッシによる作動遅れ等の影響も受けることになる。
そこで、本実施形態では、J2軸、J4軸及びJ6軸の合計した反転軸数が最も少ない姿勢パラメータΦを選択するのである。
なお、合計反転軸数が最も少ない姿勢パラメータΦが複数ある場合には、CPU91は、姿勢パラメータΦの値が、現在位置Rからの変位が最も小さいものを選択する。現在位置Rからの変位が最も小さいものを選択すれば、その姿勢パラメータΦで示すリンク位置姿勢を早期に取ることができるからである。
(S80)
S80では、CPU91は、S70で選択した姿勢パラメータΦの各関節軸の関節角度となるように今回の制御周期分の位置指令(制御指令)としてPWMジェネレータ51〜57にそれぞれ出力する。PWMジェネレータ51〜57は、その位置指令に基づくPWM信号をサーボアンプ61〜67に出力する。サーボアンプ61〜67は、その出力に応じて各関節軸の第1サーボモータ41〜第7サーボモータ47を作動させることにより、各リンク12〜18を回転させる。なお、速度データの使用は、CPU91は、速度フィードバック制御を行う際に使用しているが、本発明とは関係しないため、説明を省略する。
(S90)
CPU91は、S90において、各ロータリエンコーダ71〜77からの検出信号に基づいて、最終目標位置、及び最終目標姿勢(すなわち、最終の目標位置姿勢)に手先が到達したか否かを判定し、達していないと判定した場合はS10に戻り、反対に作業プログラムの最終の目標位置姿勢に達していると判定した場合は、このフローチャートを終了する。なお、S10に戻った場合、作業プログラムに記述されている次の手先位置姿勢、速度データをセットする。
本実施形態では、下記の特徴を有する。
(1) 本実施形態の冗長自由度を持つロボットの制御方法は、手先位置姿勢Xを目標値とした拘束条件の下で、冗長自由度が許容するリンク位置姿勢を複数変化させた場合の、各リンク位置姿勢における、J2軸、J4軸及びJ6軸(関節軸)の回転方向を判定する(S50)。そして、回転方向を判定したJ2軸、J4軸及びJ6軸(関節軸)のうち、反転する関節軸が最も少ないときのリンク位置姿勢を選択する(S70)。そして、選択したリンク位置姿勢で、手先位置姿勢を目標値として、関節軸毎に設けられたサーボモータ41〜47(回転系アクチュエータ)を制御する。
このため、冗長自由度を利用して、バックラッシの影響を受けにくい反転しない関節軸を優先的に作動させ、或いは反転する関節軸を少なくしたリンク位置姿勢で手先位置姿勢を目標値として作動することができる。この結果、ハード構成が複雑にならず、ツール(エンドエフェクタ)の軌跡精度、及び速度変動の制御性能を向上することができる冗長自由度を持つロボットの制御方法を提供できる。
(2) 本実施形態の冗長自由度を持つロボットの制御方法では、S50における、姿勢パラメータΦで表される各リンク位置姿勢における複数の所定の関節軸の回転方向の判定には、重力加速度の影響を受ける方向に回転するJ2軸、J4軸、及びJ6軸(関節軸)の回転方向の判定を含む。また、S70における、回転方向を判定した関節軸のうち、反転する前記関節軸が最も少ないときのリンク位置姿勢の選択では、J2軸、J4軸、及びJ6軸(関節軸)の合計反転軸数が最も少ないときのリンク位置姿勢を選択する。
ここで、J2軸、J4軸及びJ6軸は、その回転方向が、重力加速度が働く方向と一致するため重力加速度の影響による外乱トルクの変動を受けやすいとともに、反転した際にその外乱トルクの変動量が大きくなる場合が発生し、さらに前記反転したときのバックラッシによる作動遅れ等の影響も受けることになる。本実施形態では、J2軸、J4軸、及びJ6軸(関節軸)の合計反転軸数が最も少ないときのリンク位置姿勢を選択するため、上記した、重力加速度の影響による外乱トルクの変動や、反転した際にその外乱トルクの変動量が大きくなることが抑制でき、さらに前記反転したときのバックラッシによる作動遅れ等の影響も軽減できる冗長自由度を持つロボットの制御方法を提供できる。
(3) 本実施形態のロボット制御装置(コントローラーRC)のCPU91は、判定部として、手先位置姿勢を目標値とした拘束条件の下で、冗長自由度が許容するリンク位置姿勢を複数変化させた場合の、各リンク位置姿勢におけるJ2軸、J4軸及びJ6軸(関節軸)の回転方向を判定する。また、CPU91は、選択部として、回転方向を判定したJ2軸、J4軸及びJ6軸(関節軸)のうち、反転する関節軸が最も少ないときのリンク位置姿勢を選択する。また、CPU91は、制御部として、選択したリンク位置姿勢で、手先位置姿勢を目標値として、関節軸毎に設けられたサーボモータ41〜47(回転系アクチュエータ)を制御する。
この結果、本実施形態によれば、冗長自由度を利用して、バックラッシの影響を受けにくい反転しない関節軸を優先的に作動させ、或いは反転する関節軸を少なくしたリンク位置姿勢で手先位置姿勢を目標値として作動することができる。この結果、ハード構成が複雑にならず、ツール(エンドエフェクタ)の軌跡精度、及び速度変動の制御性能を向上することができるロボット制御装置を提供できる。
なお、本実施形態では、重力加速度の影響がない関節軸、すなわち、J1軸、J3軸、J5軸、J7軸は、合計反転軸数には含まないようにしているが、この場合は、ツール(エンドエフェクタ)の軌跡精度、及び速度変動の影響が少ないからである。
(4) 本実施形態のロボット制御装置では、CPU91(判定部)の判定には、重力加速度の影響を受ける方向に回転する関節軸の回転方向の判定を含む。また、CPU91(選択部)が行う選択では、重力加速度の影響を受ける方向に回転するJ2軸、J4軸及びJ6軸(関節軸)の合計反転軸数が最も少ないときのリンク位置姿勢を選択する。
このため、J2軸、J4軸及びJ6軸は、その回転方向が、重力加速度が働く方向と一致するため重力加速度の影響による外乱トルクの変動を受けやすいとともに、反転した際にその外乱トルクの変動量が大きくなる場合が発生し、さらに前記反転したときのバックラッシによる作動遅れ等の影響も受けることになる。本実施形態では、J2軸、J4軸、及びJ6軸(関節軸)の合計反転軸数が最も少ないときのリンク位置姿勢を選択するため、上記した、重力加速度の影響による外乱トルクの変動や、反転した際にその外乱トルクの変動量が大きくなることが抑制でき、さらに前記反転したときのバックラッシによる作動遅れ等の影響も軽減できるロボット制御装置を提供できる。
なお、本発明の実施形態は前記実施形態に限定されるものではなく、下記のように変更しても良い。
・ 前記実施形態では、図3のS70では、CPU91は、記憶部94に記憶した姿勢パラメータ毎の各関節軸のうち、特に、回転時に重力加速度の影響を受ける軸、すなわち、第2関節22のJ2軸、第4関節24のJ4軸、及び第6関節26のJ6軸についての回転方向が、前回更新した姿勢パラメータで判定したときの回転方向と同じか否かで、反転しているか否かを判定するようにした。そして、CPU91は、反転している関節軸数を合計する。すなわち、合計反転軸数を算出するようにした。そして、CPU91は、第2関節22のJ2軸、第4関節24のJ4軸、及び第6関節26のJ6軸の合計反転軸数が最も少ない姿勢パラメータΦを選択するようにした。
この代わりに、図6に示すS70Aの全関節軸において、合計反転軸数を算出するようにしてもよい。そして、CPU91は、全関節軸の合計反転軸数が最も少ない姿勢パラメータΦを選択する。
このようにしても、前記実施形態の(1)及び(3)の効果を容易に実現できる。
・ 前記実施形態では、S20〜S70の処理は、作業プログラムの実行時にリアルタイムに行うようにしている。この制御方法及びロボット制御装置に代えて、S20〜S70の処理を、下記のようにロボット制御システム及びロボット制御方法で行っても良い。
図7に示すように、ティーチングプレイバック方式で作成された作業プログラムを、コントローラRCと通信が可能に接続された外部コンピュータ100(例えばコントローラRCの上位のコンピュータ)がシミュレーションで作業プログラムを実行して、該外部コンピュータ100が、判定部として、作業プログラムに記述されている手先位置姿勢を目標値とした拘束条件の下で、冗長自由度が許容するリンク位置姿勢を複数変化させた場合の、各リンク位置姿勢における複数の所定の関節軸の回転方向を判定する。
コンピュータ100は、選択部として、回転方向を判定した前記関節軸のうち、反転する関節軸が最も少ないときのリンク位置姿勢を選択する。すなわち、図3のS20〜S70と同様の処理を行う。なお、この場合、シミュレーションでは、関節軸の各関節角度は、ロータリエンコーダ71〜77が検出した検出信号の代わりに、各関節軸の位置指令を使用するものとする。
そして、コンピュータ100は、コントローラRCの記憶部94に、作業プログラムに記述された各ステップ毎の手先位置姿勢、速度データと、その手先位置姿勢において、反転する関節軸が最も少ないときのリンク位置姿勢を示す姿勢パラメータΦとを関連付けて記憶させる。
コントローラRCは制御部として機能して、前記手先位置姿勢が記述された作業プログラムが実行された際、該作業プログラムに記述されている前記手先位置姿勢毎に記憶部94に関連付けして記憶した姿勢パラメータΦで規定される関節角度に基づいて全関節軸のサーボモータ41〜47(回転系アクチュエータ)を制御する。
このようにしても、前記実施形態と同様の効果を実現することができる。
・ 前記実施形態では、作業プログラムの全教示点で規定される移動軌跡の全体において、図3のフローチャートが実行されるようにされている。しかし、移動軌跡の全体において、図3のフローチャートが実行されるのではなく、前記移動軌跡中において、軌跡精度が求められない部分、及び速度変動があっても支障がない部分では、図3のフローチャートにおいて、S10の後、S80にジャンプするようにしてもよい。この場合、S10の後に、S10でセットされた手先位置姿勢とともに、S80へのジャンプを指示するジャンプ指令等がセットされるものとする。このような手先位置姿勢が示される教示点としては、例えば、マニピュレータ10の手先を早送りするための教示点が教示されている場合等がある。
・ 前記実施形態では、アクチュエータをサーボモータとしてのACモータを使用したが、DCモータでもよく、ステッピングモータ等を使用してもよい。
・ 前記実施形態では、1つの冗長自由度をもつようにしたが、1つの冗長自由度に限定するものではなく、2つ以上の冗長自由度をもつロボット制御装置及び制御方法にも適用できる。
・ 前記実施形態では、J2軸、J4軸、J6軸の回転方向を、重力加速度が働く方向と一致させたが、他の軸の回転方向を重力加速度が働く方向と一致させてもよい。
RC…コントローラ(ロボット制御装置)、
10…マニピュレータ、11〜18…リンク、
41〜47…サーボモータ(回転系アクチュエータ)、
49…ツール(エンドエフェクタ)、
91…CPU(判定部、選択部、制御部)、
94…記憶部、200…上位コントローラ(判定部、選択部)。

Claims (7)

  1. 作業自由度に対して少なくとも1つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボットの制御方法において、
    手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を複数変化させた場合の、各リンク位置姿勢における複数の所定の関節軸の回転方向を判定し、
    回転方向を判定した前記関節軸のうち、反転する前記関節軸が最も少ないときのリンク位置姿勢を選択し、
    前記選択したリンク位置姿勢で、前記手先位置姿勢を目標値として、前記関節軸毎に設けられた回転系アクチュエータを制御することを特徴とする冗長自由度を持つロボットの制御方法。
  2. 前記各リンク位置姿勢における複数の所定の関節軸の回転方向の判定には、重力加速度の影響を受ける方向に回転する関節軸の回転方向の判定を含み、
    前記回転方向を判定した前記関節軸のうち、反転する前記関節軸が最も少ないときのリンク位置姿勢の選択では、前記重力加速度の影響を受ける方向に回転する関節軸の合計反転軸数が最も少ないときのリンク位置姿勢を選択することを特徴とする請求項1に記載の冗長自由度を持つロボットの制御方法。
  3. 前記各リンク位置姿勢における複数の所定の関節軸の回転方向の判定は、全関節軸の回転方向の判定であることを特徴とする請求項1に記載の冗長自由度を持つロボットの制御方法。
  4. 作業自由度に対して少なくとも1つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボット制御装置において、
    手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を複数変化させた場合の、各リンク位置姿勢における複数の所定の関節軸の回転方向を判定する判定部と、
    回転方向を判定した前記関節軸のうち、反転する前記関節軸が最も少ないときのリンク位置姿勢を選択する選択部と、
    前記選択したリンク位置姿勢で、前記手先位置姿勢を目標値として、前記関節軸毎に設けられた回転系アクチュエータを制御する制御部を備えることを特徴とするロボット制御装置。
  5. 前記判定部の判定には、重力加速度の影響を受ける方向に回転する関節軸の回転方向の判定を含み、
    前記選択部が行う選択では、前記重力加速度の影響を受ける方向に回転する関節軸の合計反転軸数が最も少ないときのリンク位置姿勢を選択すること含むことを特徴とする請求項4に記載のロボット制御装置。
  6. 前記判定部は、全関節軸の回転方向の判定を行うことを特徴とする請求項4に記載のロボット制御装置。
  7. 作業自由度に対して少なくとも1つの冗長自由度を備えるように複数のリンクが各関節軸にて連結されたマニピュレータを備え、前記関節軸毎に設けられた回転系アクチュエータにより駆動するロボット制御システムにおいて、
    シミュレーションにより、作業プログラムに記述された手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を複数変化させた場合の、各リンク位置姿勢における複数の所定の関節軸の回転方向を判定する判定部と、
    回転方向を判定した前記関節軸のうち、反転する前記関節軸が最も少ないときのリンク位置姿勢を選択する選択部と、
    前記選択部で選択したリンク位置姿勢を、前記作業プログラムに記述された手先位置姿勢と関連付けて記憶する記憶部と、
    前記作業プログラムの実行処理時に、前記手先位置姿勢に関連付けされた前記リンク位置姿勢で、前記手先位置姿勢を目標値として、前記関節軸毎に設けられた回転系アクチュエータを制御する制御部を備えることを特徴とするロボット制御システム。
JP2012088662A 2012-04-09 2012-04-09 冗長自由度を持つロボットの制御方法及びロボット制御装置、並びにロボット制御システム Pending JP2013215839A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=49588606

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2013215839A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106985138A (zh) * 2017-03-13 2017-07-28 浙江工业大学 基于终态吸引优化指标的冗余机械臂轨迹规划方法
CN108908340A (zh) * 2018-08-03 2018-11-30 浙江工业大学 采用有限区间神经网络的冗余机器人重复运动规划方法
JP2021030326A (ja) * 2019-08-20 2021-03-01 ファナック株式会社 ロボットシステム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106985138A (zh) * 2017-03-13 2017-07-28 浙江工业大学 基于终态吸引优化指标的冗余机械臂轨迹规划方法
CN106985138B (zh) * 2017-03-13 2019-05-31 浙江工业大学 基于终态吸引优化指标的冗余机械臂轨迹规划方法
CN108908340A (zh) * 2018-08-03 2018-11-30 浙江工业大学 采用有限区间神经网络的冗余机器人重复运动规划方法
CN108908340B (zh) * 2018-08-03 2020-08-04 浙江工业大学 采用有限区间神经网络的冗余机器人重复运动规划方法
JP2021030326A (ja) * 2019-08-20 2021-03-01 ファナック株式会社 ロボットシステム
JP7414426B2 (ja) 2019-08-20 2024-01-16 ファナック株式会社 ロボットシステム

Similar Documents

Publication Publication Date Title
JP5895628B2 (ja) ロボットの制御方法及びロボット制御装置、並びにロボット制御システム
JP5938954B2 (ja) ロボットのキャリブレーション方法及びキャリブレーション装置
JP5946859B2 (ja) 力に応じて動かすロボットのロボット制御装置およびロボットシステム
US20150127151A1 (en) Method For Programming Movement Sequences Of A Redundant Industrial Robot And Industrial Robot
JP6477877B2 (ja) ロボットシステム
JP6572439B2 (ja) 作業装置および作業装置における作業方法
JP5458769B2 (ja) ロボットの制御装置
JP2016028842A (ja) アクチュエータシステム
JP6348141B2 (ja) 付加軸の状態が含まれる動作プログラムを表示するロボットの制御装置
JP2013215839A (ja) 冗長自由度を持つロボットの制御方法及びロボット制御装置、並びにロボット制御システム
JP6165322B2 (ja) ロボット制御装置およびロボット制御方法
JP2013223895A (ja) ロボット制御方法及びロボット制御装置
JP2012051043A (ja) ロボットシステムまたはロボット制御装置
JP4970492B2 (ja) 多関節ロボット
JP2013220501A (ja) ロボット制御方法及びロボット制御装置
JP2014140913A (ja) ロボット制御装置、ロボット制御システム、及びロボットの制御方法
JP2013223896A (ja) ロボット制御方法及びロボット制御装置
JP4822067B2 (ja) ロボットおよびその直接教示装置
JP4647919B2 (ja) 制御方法および制御装置
JP5633268B2 (ja) ロボットの制御装置
JP2014159066A (ja) ロボット制御装置及びロボットの制御方法
JP2013208671A (ja) ロボット制御方法、ロボット制御装置、及びロボット制御システム
JP2010036293A (ja) 多関節ロボット
WO2018212199A1 (ja) 操作装置及びその運転方法
JP6252273B2 (ja) ロボットの制御方法、ロボットの制御装置