JP6657627B2 - ロボット制御装置、ロボットおよびロボットシステム - Google Patents

ロボット制御装置、ロボットおよびロボットシステム Download PDF

Info

Publication number
JP6657627B2
JP6657627B2 JP2015139431A JP2015139431A JP6657627B2 JP 6657627 B2 JP6657627 B2 JP 6657627B2 JP 2015139431 A JP2015139431 A JP 2015139431A JP 2015139431 A JP2015139431 A JP 2015139431A JP 6657627 B2 JP6657627 B2 JP 6657627B2
Authority
JP
Japan
Prior art keywords
value
movable
robot
unit
movable unit
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.)
Active
Application number
JP2015139431A
Other languages
English (en)
Other versions
JP2017019058A5 (ja
JP2017019058A (ja
Inventor
工藤 真
真 工藤
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2015139431A priority Critical patent/JP6657627B2/ja
Publication of JP2017019058A publication Critical patent/JP2017019058A/ja
Publication of JP2017019058A5 publication Critical patent/JP2017019058A5/ja
Application granted granted Critical
Publication of JP6657627B2 publication Critical patent/JP6657627B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ロボット制御装置、ロボットおよびロボットシステムに関する。
外部からロボットに加わる外乱と関連する衝突評価量と閾値とを比較することにより、ロボットの衝突を検出する技術が知られている(特許文献1、参照)。特許文献1において、外乱は運動方程式モデルから導出される。また、閾値は、運動方程式のパラメーターの誤差範囲に応じて変更される。
特開2005−102427号公報
しかしながら、ロボットが正常に動作している場合でもロボットの動作によっては衝突の誤検出が生じてしまうという問題があった。
上記課題の少なくとも一つを解決するためのロボット制御装置は、ロボットの可動部を制御するロボット制御装置であって、可動部の状態を示す診断値が閾値よりも大きくなった場合に、可動部にて衝突が生じたと判定するにあたり、第1動作よりも可動部の加速度の制限が緩和される第2動作において、第1動作よりも閾値を大きい値に設定する閾値設定部、を備える。
前記の構成において、可動部の状態を示す診断値が閾値よりも大きくなった場合に、可動部の状態が衝突によって乱れたと判断することができ、衝突を検出できる。ここで、第1動作よりも可動部の加速度の制限が緩和される第2動作において、第1動作よりも閾値が大きい値に設定される。これにより、急な加速が許容される第2動作において、ある程度、可動部の状態が乱れることを許容でき、衝突を誤検出する可能性を低減することができる。
可動部とは、ロボットが自己の動力によって移動可能な部分であればよく、本体に対して移動可能に連結されたマニュピレーター等であってもよいし、全体が移動可能なロボットの全体を指してもよい。また、可動部は、マニュピレーター等の関節ごとに定義されてもよい。すなわち、複数の関節のそれぞれについて、可動部の状態を示す診断値が閾値よりも大きくなったか否かが判定されてもよい。診断値とは、可動部の状態が正常である可能性の大きさを示す指標値であればよい。例えば、診断値は、可動部の現実の状態が理想の状態から乖離するほど大きくなる値であってもよい。これにより、理想の状態から乖離した状態となった場合に、衝突が生じたと判定できる。また、診断値は、衝突による可動部の状態の変化に適合した周波数成分を通過するバンドパスフィルターを適用した値であってもよい。こ
第2動作において可動部の加速度の制限を緩和するとは、第1動作において設定されていた加速度の上限値を大きい値に変更することであってもよいし、第1動作において設定されていた加速度の上限値を無効とすることであってもよい。加速度は減速度(負の加速度)も含み、加速度の制限は加速度の絶対値の制限であってもよい。閾値設定部は、少なくとも第2動作において第1動作よりも閾値を大きい値に設定すればよく、3種類以上の動作のそれぞれにおいて異なる大きさの閾値を設定してもよい。ロボット制御装置は、可動部にて衝突が生じたと判定した場合に、可動部を停止させてもよいし、衝突の発生を報知してもよい。可動部を停止させるとは、可動部を駆動させる駆動力の発生を停止させることであってもよいし、可動部を電気的または機械的に制動することであってもよい。
なお請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
ロボットシステムの模式図である。 ロボットシステムのブロック図である。 (3A)(3D)は角速度のグラフ、(3B)(3E)は角速度偏差のグラフ、(3C)(3F)は診断値のグラフである。 動作の一覧表である。 第1閾値のグラフである。 他の実施形態のロボットシステムの模式図である。
以下、本発明の実施の形態を以下の順序にしたがって添付図面を参照しながら説明する。なお、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
(1)ロボットシステムの構成:
(2)他の実施形態:
(1)ロボットシステムの構成:
図1は、本発明の第一実施例にかかるロボットシステムの模式図である。図1に示すように、ロボットシステムは、ロボット1と制御装置3とを備えている。制御装置3は、本発明のロボット制御装置を構成する。制御装置3は、専用のコンピューターであってもよいし、ロボット1のためのプログラムがインストールされた汎用のコンピューターであってもよい。
ロボット1は、1つのアームAを備える単腕ロボットである。アームAは基台Tと6つの関節J1〜J6を備える。基台Tは作業台に固定されている。関節J1〜J6によって基台Tと6個のアーム部材A1〜A6が連結される。アーム部材A1〜A6とエンドエフェクター2は本発明の可動部である。関節J2、J3、J5は曲げ関節であり、関節J1、J4、J6はねじり関節である。アームAのうち最も先端側のアーム部材A6には、力覚センサーFSとエンドエフェクター2とが装着される。エンドエフェクター2はグリッパーによってワークWを把持する。エンドエフェクター2の所定位置をツールセンターポイント(TCP)と表す。TCPの位置はエンドエフェクター2の基準の位置となる。力覚センサーFSは、6軸の力検出器である。力覚センサーFSは、互いに直交する3個の検出軸方向の力の大きさと、当該3個の検出軸まわりのトルクの大きさとを検出する。
ロボット1が設置された空間を規定する座標系をロボット座標系と表す。本実施形態において、ロボット座標系は、水平面上において互いに直交するX軸とY軸と、鉛直上向きを正方向とするZ軸とによって規定される3次元の直交座標系である。またX軸周りの回転角をRXで表し、Y軸周りの回転角をRYで表し、Z軸周りの回転角をRZで表す。X,Y,Z方向の位置により3次元空間における任意の位置を表現でき、RX,RY,RZ方向の回転角により3次元空間における任意の姿勢(回転方向)を表現できる。以下、特に示さない限り、位置と表記した場合、姿勢も意味し得ることとする。また、特に示さない限り、力と表記した場合、RX,RY,RZ方向に作用するトルクも意味し得ることとする。制御装置3は、アームAを駆動することによって、ロボット座標系においてTCPの位置を制御する。エンドエフェクター2は力覚センサーFSに対して相対的に移動不能に固定されており、力覚センサーFSが検出する力の大きさと方向は、TCPに作用する力の大きさと方向と一致すると見なす。
図2は、ロボットシステムのブロック図である。制御装置3にはロボット1の制御を行うための制御プログラムがインストールされている。制御装置3は、プロセッサーやRAMやROMを含むコンピューターを備える。コンピューターがROM等の記録媒体に記録された制御プログラムを実行することにより、制御装置3は、駆動制御部31と停止制御部32と閾値設定部33とを機能構成として備えることとなる。駆動制御部31と停止制御部32と閾値設定部33とは、制御装置3のハードウェア資源とソフトウェア資源とが協働して実現する。なお、駆動制御部31と停止制御部32と閾値設定部33とは、ASIC(Application Specific Integrated Circuit)等によって実現されてもよい。
駆動制御部31は、目標位置と目標力とがTCPにて実現されるようにアームAを制御する。駆動制御部31は、制御周期ごとに目標位置と目標力とを設定し、アームAを制御する。本実施形態において、制御周期の長さPは、4m秒であることとする。TCPの軌道上において、制御周期ごとの目標位置を設定することにより、TCPを軌道上にて移動させることができる。
目標力とは、力覚センサーFSが検出すべき力であり、TCPに作用すべき力である。Sの文字は、ロボット座標系を規定する軸の方向(X,Y,Z,RX,RY,RZ)のなかのいずれか1個の方向を表すこととする。例えば、S=Xの場合、ロボット座標系にて設定された目標位置のX方向成分がSt=Xtと表記され、目標力のX方向成分がfSt=fXtと表記される。また、Sは、S方向の位置(回転角)も表すこととする。
ロボット1は、図1に図示した構成のほかに、駆動部としてのモーターM1〜M6と、エンコーダーE1〜E6と、制動部Bとを備える。モーターM1〜M6とエンコーダーE1〜E6とは、関節J1〜J6のそれぞれに対応して備えられており、エンコーダーE1〜E6はモーターM1〜M6の駆動位置を検出する。アームAを制御することは、駆動部としてのモーターM1〜M6を制御することを意味する。駆動制御部31は、ロボット1と通信可能なっている。駆動制御部31は、モーターM1〜M6の駆動位置の組み合わせと、ロボット座標系におけるTCPの位置との対応関係Uを記憶している。
駆動制御部31は、モーターM1〜M6の駆動位置Daを取得すると、対応関係Uに基づいて、当該駆動位置Daをロボット座標系におけるTCPの位置S(X,Y,Z,RX,RY,RZ)に変換する。駆動制御部31は、TCPの位置Sと、力覚センサーFSの検出値とに基づいて、力覚センサーFSに現実に作用している作用力fSをロボット座標系において特定する。なお、力覚センサーFSは、独自の座標系において検出値を検出するが、力覚センサーFSとTCPとの相対位置・方向とが既知のデータとして記憶されているため、駆動制御部31はロボット座標系における作用力fSを特定できる。駆動制御部31は、作用力fSに対して重力補償を行う。重力補償とは、作用力fSから重力成分を除去することである。重力補償を行った作用力fSは、TCPに作用している重力以外の力と見なすことができる。TCPの姿勢ごとに嵌合部材に作用する作用力fSの重力成分が予め調査されており、駆動制御部31は、作用力fSからTCPの姿勢に対応する重力成分を減算することにより重力補償が実現する。
駆動制御部31は、目標力fStと作用力fSとをインピーダンス制御の運動方程式に代入することにより、力由来補正量ΔSを特定する。(1)式は、インピーダンス制御の運動方程式である。
Figure 0006657627
(1)式の左辺は、TCPの位置Sの2階微分値に仮想慣性係数mを乗算した第1項と、TCPの位置Sの微分値に仮想粘性係数dを乗算した第2項と、TCPの位置Sに仮想弾性係数kを乗算した第3項とによって構成される。(1)式の右辺は、目標力fStから現実の作用力fSを減算した力偏差ΔfS(t)によって構成される。(1)式における微分とは、時間による微分を意味する。
インピーダンス制御とは、仮想の機械的インピーダンスをモーターM1〜M6によって実現する制御である。仮想慣性係数mはTCPが仮想的に有する質量を意味し、仮想粘性係数dはTCPが仮想的に受ける粘性抵抗を意味し、仮想弾性係数kはTCPが仮想的に受ける弾性力のバネ定数を意味する。各パラメーターm,d,kは方向ごとに異なる値に設定されてもよいし、方向に拘わらず共通の値に設定されてもよい。力由来補正量ΔSとは、TCPが機械的インピーダンスを受けた場合に、目標力fStとの力偏差ΔfS(t)を解消するために、TCPが移動すべき位置Sの大きさを意味する。駆動制御部31は、目標位置Stに、力由来補正量ΔSを加算することにより、インピーダンス制御を考慮した補正目標位置(St+ΔS)を特定する。
そして、駆動制御部31は、対応関係Uに基づいて、ロボット座標系を規定する各軸の方向の補正目標位置(St+ΔS)を、各モーターM1〜M6の目標の駆動位置である目標駆動位置Dtに変換する。そして、駆動制御部31は、目標駆動位置DtからモーターM1〜M6の現実の駆動位置Daを減算することにより、駆動位置偏差De(=Dt−Da)を算出する。駆動制御部31は、駆動位置偏差Deに位置制御ゲインKpを乗算した値である角速度指令Vc(=Kp・De)と、現実の駆動位置Daの時間微分値である駆動速度との差である駆動速度偏差に、速度制御ゲインKvを乗算した値とを加算することにより、制御量Dcを特定する。制御量Dcは、モーターM1〜M6のそれぞれについて特定される。
また、駆動制御部31は、現在、アームAに行わせている動作Q1〜Q6に対応する角加速度の上限値Amaxを取得し、現実の角加速度Aaの絶対値が上限値Amaxよりも大きい場合に制御量Dcを下方修正する。例えば、制御量Dcを0に修正してもよい。以下、角加速度Aaと表記した場合、特に示さない限り角加速度Aaの絶対値を意味することとする。これにより、アーム部材A1〜A6やエンドエフェクター2が関節J1〜J6まわりに回転する角加速度Aaを制限することができる。また、角加速度Aaの上限値Amaxが大きいほど、角加速度Aaの制限が緩和されていると言うことができる。現実の角加速度Aaは、現在の制御周期における現実の駆動位置Da(n)を直前の制御周期における現実の駆動位置Da(n−1)で減算した値を制御周期の長さPの二乗で除算することにより得られてもよいし、ジャイロセンサー等の計測値に基づいて得られてもよい。なお、動作Q1〜Q6の詳細については後述する。nは制御周期の番号を示す自然数である。
以上説明した駆動制御部31の構成により、目標位置Stと目標力fStとに基づいてアームAを制御することができる。ここで、現実の作用力fSを目標力fStとするための制御が力制御であり、TCPの現実の位置Sを目標位置Stとするための制御が位置制御である。
本実施形態において、駆動制御部31は、ロボット1に行わせる作業内容に応じて、位置制御と力制御の双方を行うことと、位置制御のみを行うことができる。例えば、現実の作用力fSに拘わらず、図2の力由来補正量ΔSが常時0であると見なすことにより、実質的に位置制御のみを行うことができる。
停止制御部32は、センサーによって検出された可動部の速度である検出速度が、速度指令から乖離している場合に可動部を停止させる。可動部とは、移動可能なアーム部材A1〜A6とエンドエフェクター2である。検出速度とは、関節J1〜J6の回転軸まわりにアーム部材A1〜A6とエンドエフェクター2とが回転する角速度であり、センサーとしてのエンコーダーE1〜E6によって検出された現実の駆動位置Daから導出した検出角速度Vaである。例えば、アーム部材A1の検出角速度Vaは、関節J1の回転軸まわりにアーム部材A1が回転する角速度であり、当該アーム部材A1を基台Tと連結する関節J1のエンコーダーE1の出力信号から導出される。
検出角速度Vaは、現在の制御周期における現実の駆動位置Da(n)を直前の制御周期における現実の駆動位置Da(n−1)で減算した値を制御周期の長さPで除算することにより得られてもよいし、ジャイロセンサー等の計測値に基づいて得られてもよい。
速度指令とは、関節J1〜J6の回転軸まわりにアーム部材A1〜A6とエンドエフェクター2が回転すべき角速度であり、上述した角速度指令Vcである。具体的に、角速度指令Vcは、目標駆動位置DtからモーターM1〜M6の現実の駆動位置Daを減算した駆動位置偏差De(=Dt−Da)に位置制御ゲインKpを乗算した値である。
停止制御部32は、可動部の状態を示す診断値が第1閾値よりも大きくなった場合に、可動部を停止させる。可動部の状態を示す診断値とは、速度指令と検出速度との差にハイパスフィルター(HPF)を掛けた値であり、角速度指令Vcと検出角速度Vaとの差である角速度偏差(Vc−Va)の絶対値にハイパスフィルターを掛けた値(以下、第1診断値HV1と表記する)である。
図3Aは、可動部としてのアーム部材A1の角速度Vのグラフである。図3Aの縦軸は角速度Vを示し、横軸は時刻tを示す。図3Aでは、アーム部材A1が加速し、その後一定の速度で回転し、最後に減速して停止する角速度Vを想定している。図3Bは、図3Aの場合(図3Aに基づいて目標位置Stを順次設定した場合)の角速度偏差(Vc−Va)の例を示す。図3Bの縦軸は角速度偏差(Vc−Va)を示し、横軸は時刻tを示す。図3Bに示すように、目標位置Stに対して現実の駆動位置Daがわずかに遅れて追従するため、加速中においては角速度偏差(Vc−Va)が正に振れ、減速中においては角速度偏差(Vc−Va)が負に振れることとなる。従って、角速度偏差(Vc−Va)は加速と減速の周期に対応した低周波成分を含むこととなる。
図3Cは、図3Aの場合の第1診断値HV1のグラフである。角速度偏差(Vc−Va)の絶対値にハイパスフィルターを掛けることにより、加速と減速の周期に対応した低周波成分を低減することができる。ハイパスフィルターの通過周波数帯は、加速と減速が繰り返される周波数よりも高い周波数帯とすることが望ましい。
図3Bに示すように、×で示す時刻tにて衝突(アーム部材A1の移動を妨げる衝突)が生じると、角速度偏差(Vc−Va)が急峻に減少することとなる。衝突に応じた角速度偏差(Vc−Va)の変化の成分は急峻であるため、図3Cに示すようにハイパスフィルターを掛けても大きく減衰しない。
停止制御部32は、第1診断値HV1が第1閾値TH1よりも大きい場合に、アームAを停止させる。第1閾値TH1は、可動部としてのアーム部材A1〜A6とエンドエフェクター2のそれぞれについて設定されており、停止制御部32は、アーム部材A1〜A6とエンドエフェクター2のそれぞれについて第1閾値TH1の判定を行う。
すなわち、停止制御部32は、アーム部材A1についてはエンコーダーE1の信号に基づく第1診断値HV1と第1閾値TH1の判定を行い、アーム部材A2についてはエンコーダーE2の信号に基づく第1診断値HV1と第1閾値TH1の判定を行い、アーム部材A3についてはエンコーダーE3の信号に基づく第1診断値HV1と第1閾値TH1の判定を行い、アーム部材A4についてはエンコーダーE4の信号に基づく第1診断値HV1と第1閾値TH1の判定を行い、アーム部材A5についてはエンコーダーE5の信号に基づく第1診断値HV1と第1閾値TH1の判定を行い、アーム部材A6(エンドエフェクター2)についてはエンコーダーE6の信号に基づく第1診断値HV1と第1閾値TH1の判定を行う。
可動部としてのアーム部材A1〜A6とエンドエフェクター2のいずれかにおいて、第1診断値HV1が第1閾値TH1よりも大きいと判定した場合、停止制御部32は、可動部にて衝突が生じたとして、モーターM1〜M6を停止させ、アームAの全体を停止させる。なお、停止制御部32は、アームA全体ではなく、第1診断値HV1が第1閾値TH1となったアーム部材A1〜A6とエンドエフェクター2を直接駆動する1個のモーターM1〜M6のみを停止させてもよい。
以上説明した本実施形態の構成では、検出速度と速度指令とが乖離しているか否かに基づいて、容易に可動部における衝突を検出でき、衝突を検出した場合に可動部にて衝突が生じたと判定することができる。すなわち、検出速度と速度指令とを取得できれば衝突を検出でき、可動部に作用している力から衝突によって可動部が受けた外乱を抽出しなくてもよい。従って、衝突によって可動部が受けた外乱を抽出するために運動方程式を解いたり、当該運動方程式に適用するパラメーターを予め調査しておいたりする必要がなく、容易に衝突を検出できる。
また、速度指令と検出速度との差にハイパスフィルターを掛けた値、すなわち角速度偏差(Vc−Va)の絶対値にハイパスフィルターを掛けた第1診断値HV1が第1閾値TH1よりも大きい場合に、可動部としてのアーム部材A1〜A6とエンドエフェクター2を停止させる。第1診断値HV1は、サーボ制御で使用する値から導出できるため、第1診断値HV1を導出するための演算負荷を抑制できるとともに、第1診断値HV1を早期に導出でき、衝突判定を早期に完了させることができる。また、ハイパスフィルターを適用することにより、S/N比の良好な第1診断値HV1を得ることができ、誤判定の可能性を低減できる。すなわち、加速と減速の周期で表れる角速度偏差(Vc−Va)の振れは衝突の判定の際のノイズとなるが、このノイズをハイパスフィルターにより抑制できる。さらに、S/N比の良好な第1診断値HV1を使用することにより第1閾値TH1を小さい値に設定することができ、衝突判定をより高速に行うことができる。
次に、第1閾値TH1の詳細について説明する。上述したように、第1閾値TH1は、可動部としてのアーム部材A1〜A6のそれぞれについて設定されるが、さらに第1閾値TH1は動作Q1〜Q6ごとに設定される。
図4は、動作Q1〜Q6と第1閾値TH1と角加速度Aaの上限値Amaxとの関係を示す表である。図4に示すように、動作Q1は通常動作であり、動作Q2はトルク飽和動作であり、動作Q3はジョグ動作であり、動作Q4は停止動作であり、動作Q5はトラッキング動作であり、動作Q6は特異点回避動作である。動作Q1〜Q6にはそれぞれ角加速度Aaの上限値Amaxが設定されており、動作Q2〜M6には通常動作(Q1)における角加速度Aaの上限値Amax1よりも大きい角加速度の上限値Amax2〜Amax6が設定されている。特異点回避動作(Q6)には動作Q1〜Q5の角加速度Aaの上限値Amax1〜Amax6よりも大きい角加速度Aaの上限値Amax6が設定されている。また、動作Q1〜Q6は、いずれも力制御を行うことなく位置制御のみを行う動作である。
トルク飽和動作(Q2)は、モーターM1〜M6のトルクが飽和すると予測される場合に設定される動作であり、通常動作(Q1)よりも角加速度Aaの上限値Amax2を緩和することにより、モーターM1〜M6を保護するために設定される。ジョグ動作(Q3)は、図示しない操作部が操作されている操作期間だけモーターM1〜M6を駆動させる動作であり、通常動作(Q1)よりも角加速度Aaの上限値Amax3を緩和することにより、操作応答性を向上させるために設定される。停止動作(Q4)は、異常時等においてモーターM1〜M6の駆動を停止させる動作であり、通常動作(Q1)よりも角加速度Aaの上限値Amax4を緩和することにより、急速にアームAを停止させることができるように設定される。停止動作(Q4)もモーターM1〜M6の駆動を停止させる動作であるが、停止制御部32が衝突時にモーターM1〜M6の駆動を停止させる場合よりもゆるやかにモーターM1〜M6の駆動を停止させる動作である。
トラッキング動作(Q5)は、ベルトコンベア等の搬送装置にエンドエフェクター2を追従させる動作であり、通常動作(Q1)よりも角加速度Aaの上限値Amax5を緩和することにより、搬送装置への追従性を向上させるために設定される。特異点回避動作(Q6)は、特異点(特異姿勢)となることを回避するためにいずれかの関節J1〜J6を大きく駆動(例えば約180度回転)させる動作であり、通常動作(Q1)よりも角加速度Aaの上限値Amax6を緩和することにより、特異点の回避に要する期間を短縮するために設定される。
以上説明したように、角加速度の上限値Amaxが緩和される動作においては、通常動作における角加速度Aaの上限値Amax1よりも大きい角加速度Aaが許容され得る。なお、角加速度Aaの上限値Amaxも関節J1〜J6ごとに設定される値である。
図3Aは通常動作(Q1)におけるアーム部材A1の角速度Vのグラフであり、図3Dはジョグ動作(Q3)におけるアーム部材A1の角速度Vのグラフである。ジョグ動作(Q3)においては、通常動作(Q1)よりも急な加減速(グラフにおける急な傾き)が許容される。図3Bは通常動作(Q1)における角速度偏差(Vc−Va)を示し、図3Eはジョグ動作(Q3)における角速度偏差(Vc−Va)を示している。アームAの応答性には一定の限界があるため、急な加減速が行われるジョグ動作(Q3)においては、速度指令Vcの急激な変化に対する検出角速度Vaの追従遅れが顕著となり、通常動作(Q1)よりも角速度偏差(Vc−Va)が大きく振れることとなる。図3Cは通常動作(Q1)における第1診断値HV1を示し、図3Fはジョグ動作(Q3)における第1診断値HV1を示している。ハイパスフィルターを掛けることによって加速や減速の周期で表れる第1診断値HV1の振れは軽減されるものの、通常動作(Q1)よりもジョグ動作(Q3)における第1診断値HV1の振れが大きくなっている。すなわち、角加速度Aaの上限値Amaxが通常動作よりも緩和される動作Q2〜Q6においては、衝突の判定における第1診断値HV1のノイズが大きくなり得る。
そこで、閾値設定部33は、第1動作よりも可動部の加速度の制限が緩和される第2動作において、第1動作よりも第1閾値TH1を大きい値に設定する。すなわち、閾値設定部33は、第1動作としての通常動作(Q1)よりも角加速度Aaの上限値Amaxが大きい値に緩和される第2動作としてのトルク飽和動作(Q2)とジョグ動作(Q3)と停止動作(Q4)とトラッキング動作(Q5)と特異点回避動作(Q6)とにおいて、通常動作(Q1)よりも大きい第1閾値TH1を設定する。
図5は、角加速度Aaの上限値Amaxと第1閾値TH1との関係を示すグラフである。図5の縦軸は第1閾値TH1を示し、横軸は角加速度Aaの上限値Amaxを示す。図5における黒丸はいずれの物体とも衝突しない状態において、角加速度Aaの上限値AmaxごとにアームAの各関節J1〜J6を駆動させる実験を行った際の第1診断値HV1を示している。あらゆる動作状況を想定して、各種制御(PTP(Point to Point)制御とCP(Continuous Path)制御等)を、各種の荷重(ワークWの質量)や偏心位置やイナーシャーの条件の下で実験を行って第1診断値HV1(連続した動作中における最大値)を得ることが望ましい。図5において一点鎖線で示すように、実験によって得られた多数の第1診断値HV1を近似する近似関数R(Amax)を例えば最小二乗法等によって算出し、閾値設定部33が読み出し可能に記録しておく。近似関数R(Amax)は、関節J1〜J6ごとに算出され、記録される。
閾値設定部33は、現在のアームAに行わせている動作Q1〜Q6を取得し、当該動作Q1〜Q6に対応する角加速度Aaの上限値Amaxを近似関数R(Amax)に代入する。閾値設定部33は、現在の動作が動作Q1〜Q5のいずれかであれば、近似関数R(Amax)によって得られた値をn倍(nは2以上の整数)した値を第1閾値TH1として設定する。閾値設定部33は、現在の動作が特異点回避動作(Q6)であれば、近似関数R(Amax)によって得られた値をm倍(mはnよりも大きい整数)した値を第1閾値TH1として設定する。図5では、n=3,m=4となっている。図5においては、角加速度Aaの上限値Amaxが連続的に変化した場合(実際には動作Q1〜Q6ごとの不連続値)における第1閾値TH1の推移が実線によって示されている。閾値設定部33は、以上のようにして算出した第1閾値TH1を停止制御部32に設定する。
以上説明した本実施形態の構成では、可動部の状態を示す第1診断値HV1が第1閾値TH1よりも大きくなった場合に、可動部の状態が衝突によって乱れたと判断することができ、衝突を検出できる。ここで、第1動作としての通常動作よりも可動部の加速度の上限値Amaxが緩和される第2動作としての動作Q2〜Q6において、第1動作よりも第1閾値TH1が大きい値に設定される。これにより、急な加速が許容される動作Q2〜Q6において、ある程度、第1診断値HV1が乱れることを許容でき、衝突を誤検出する可能性を低減することができる。
また、第2動作は、可動部の特異点を回避する特異点回避動作を含むため、第1診断値HV1が乱れやすい特異点回避動作においても、衝突を誤検出する可能性を低減することができる。ここで、動作Q1〜Q5を第1動作と捉えれば、特異点回避動作(Q6)のみを第2動作として捉えることができる。すなわち、本実施形態において、第1動作は、通常動作(Q1)だけでなく、トルク飽和動作(Q2)とジョグ動作(Q3)と停止動作(Q4)とトラッキング動作(Q5)も含む、と捉えることができる。
本実施形態において、可動部が第3動作を行っている場合に、停止制御部32は、第1診断値HV1の大きさに拘わらず可動部を停止させない。図4に示すように、第3動作は、可動部の機械的な制動を解除する制動解除動作(Q9)と、可動部に作用する作用力fSが目標力fStとなるように可動部を制御する力制御動作(Q7)と、のうちの少なくとも一つを含む。さらに、第3動作は、目標のトルクを生じさせるようにモーターM1〜M6を制御するトルク制御動作(Q8)を含む。力制御動作(Q7)とトルク制御動作(Q8)とにおいては、目標力fStと目標のトルクとが実現されるようにモーターM1〜M6が制御することが優先されるため、角加速度Aaの上限値Amaxは設定されていない。制動解除動作(Q9)は、制動部BによるアームAの機械的な制動を解除する動作であり、重力に抗して制動部BがアームAを支持する力が失われる際の動作であり、重力加速度に起因する角加速度Aaで関節J1〜J6が回転する際の動作である。重力加速度に起因する角加速度Aaで関節J1〜J6が回転することは不可避であるため、制動解除動作(Q9)についても角加速度の上限値Amaxは設定されていない。
以上のように、第3動作としての動作Q7〜Q9においては、いずれも角加速度Aaの上限値Amaxが設定されておらず、第1診断値HV1のS/N比を確保することができないおそれがある。そこで、可動部が第3動作を行っている場合に、停止制御部32は、第1診断値HV1の大きさに拘わらず可動部を停止させないようにすることにより、衝突を誤検出する可能性を低減することができる。
(2)他の実施形態:
可動部の状態を示す値にハイパスフィルターを掛けることにより、衝突に応じて急激に変動する可動部の状態を判定可能な診断値を得ることができる。ハイパスフィルターを掛けることにより、運動方程式モデルを解かなくても可動部の状態を示す値から外乱に起因する急激な変動成分を抽出できる。診断値は、可動部の状態を示す値であれば特に限定されず、例えば以下のような値であってもよい。
例えば、停止制御部32は、可動部を駆動させる駆動部にて生じたトルクにハイパスフィルターを掛けた値が、第2閾値よりも大きい場合に、可動部を停止させてもよい。具体的に、停止制御部32は、モーターM1〜M6に流れる電流を微小なサンプリング周期ごとにサンプリングし、当該電流にハイパスフィルターを掛けた値を第2診断値として取得し、当該第2診断値が第2閾値よりも大きい場合に、衝突が生じたと判定してもよい。衝突が生じた場合、衝突によってアーム部材A1〜A6やエンドエフェクター2が受けた力によってモーターM1〜M6が急激なトルクを受けることとなり、モーターM1〜M6の電流にも急激な変化が生じることとなる。モーターM1〜M6のトルクにハイパスフィルターを掛けることにより、モーターM1〜M6が本来生じさせるべきトルクの振幅(低周波成分)を軽減することができ、急激なトルクの変化の有無を判定できる。さらに、停止制御部32は、可動部を駆動させる駆動部にて生じたトルクを微分した値にハイパスフィルターを掛けた値が、閾値よりも大きい場合に、可動部を停止させてもよい。
さらに、可動部には角速度検出器が設けられてもよい。例えば、図6に示すようにアーム部材A1〜A5のそれぞれにジャイロセンサーGY1〜GY5が備えられ、当該ジャイロセンサーGY1〜GY5の出力信号を停止制御部32が取得してもよい。なお、停止制御部32は、力覚センサーFSからエンドエフェクター2の角速度を取得すればよい。停止制御部32は、角速度検出器から出力される可動部の角速度を微分した値にハイパスフィルターを掛けた値が、第3閾値よりも大きい場合に、可動部を停止させてもよい。具体的に、停止制御部32は、ジャイロセンサーGY1〜GY5と力覚センサーFSから角速度を取得し、当該角速度を微分したトルク比例値にハイパスフィルターを掛けた値を第3診断値として取得し、当該第3診断値が第3閾値よりも大きい場合に、衝突が生じたと判定してもよい。ジャイロセンサーGY1〜GY5と力覚センサーFSによって角速度を検出することにより、モーターM1〜M6に流れる電流に基づいてトルクを検出するよりも、応答性のよい診断値を得ることができ、早期に衝突を判定できる。他の実施形態においても、ハイパスフィルターの通過周波数帯を、加速と減速が繰り返される周波数よりも高い周波数帯とすることが望ましい。なお、ジャイロセンサーGY1〜GY5は、必ずしもアーム部材A2〜A6のそれぞれに備えられなくてもよく、アーム部材A1〜A6のうちの1個以上に備えられればよい。
さらに、停止制御部32は、可動部を駆動させる駆動部にて生じたトルクを2階微分した値にハイパスフィルターを掛けた値が、閾値よりも大きい場合に、可動部を停止させてもよい。なお、アーム部材A1〜A6やエンドエフェクター2に加速度センサーが備えられてもよく、停止制御部32は、加速度センサーから出力される加速度に基づいて衝突の有無を判定してもよい。また、第1閾値〜第3閾値による衝突の有無の判定を複数並行して行ってもよいし、第1閾値〜第3閾値のうちのいずれか1個による衝突の有無の判定を単独で行ってもよい。また、第2閾値と第3閾値も、動作Q1〜Q6に応じて設定されてもよい。
前記実施形態においては、力制御動作(Q7)において、第1診断値HV1に基づく衝突の判定を行わないようにしたが、停止制御部32は、力制御動作(Q7)においても第1診断値HV1に基づく衝突の判定を行ってもよい。この場合、閾値設定部33は、他の物体に接触させた状態で可動部を制御する力制御動作(Q7)において、他の物体に接触させない状態で可動部を制御する動作Q1〜Q6よりも第1閾値TH1を大きい値に設定してもよい。なお、エンドエフェクター2をワークW等の接触予定物に接触させて作業を行う際に、力制御動作(Q7)が行われる。
インピーダンス制御を行うことにより、エンドエフェクター2と接触予定物との間に作用する作用力fSを制御して接触物予定物に力を加える作業を行うことができる。また、仮想的な機械インピーダンスを実現することにより、エンドエフェクター2や接触予定物の破損を防止できる。このように、エンドエフェクター2が接触予定物に接触することが予定されている力制御動作(Q7)においては、動作Q1〜Q6よりも第1診断値HV1が大きくなり得るため、第1閾値TH1を大きい値に設定することにより、衝突の誤判定を防止すればよい。また、目標力fSが大きいほど角加速度Aaが大きくなり得るため、第1診断値HV1も大きくなり得ることとなる。そのため、停止制御部32は、目標力fSが大きいほど第1閾値TH1を大きい値に設定してもよい。また、インピーダンス制御における仮想粘性係数dと仮想弾性係数kと仮想慣性係数mが、エンドエフェクター2を接触予定物にやわらかく接触させるような設定となっている場合には、第1閾値TH1を小さい値に設定してもよい。
また、停止制御部32は、ロボット1に行わせている動作Q1〜Q9を必ずしも駆動制御部31から取得しなくてもよい。例えば、停止制御部32は、エンドエフェクター2が移動している速度が予め決められた閾値以下に転じた場合に、エンドエフェクター2が接触予定物に接触し得る状態にあると判定し、第1閾値TH1を現在の値よりも大きい値に設定してもよい。さらに、停止制御部32は、エンドエフェクター2の速度が継続的に減少している減速中において、エンドエフェクター2の速度が閾値以下に転じた場合に、エンドエフェクター2が接触予定物に接触し得る状態にあると判定してもよい。すなわち、停止制御部32は、エンドエフェクター2の速度が閾値以下に転じた場合であっても、エンドエフェクター2が減速中でなければ、第1閾値TH1を現在の値のまま維持してもよい。これにより、エンドエフェクター2の速度が0に近い状態から加速しようとする場合における衝突の検知漏れを抑制できる。さらに、通常動作(Q1)等において予定されたTCPの移動経路の経路長もしくは所要時間のうち、予め決められた比率(例えば90〜95%)の距離もしくは時間だけTCPの移動が完了した場合に、エンドエフェクター2が接触予定物に接触し得る状態にあると判定し、第1閾値TH1を現在の値よりも大きい値に設定してもよい。むろん、以上説明した手法によってエンドエフェクター2が接触予定物に接触し得る状態にあると判定した場合に、停止制御部32は、第1診断値HV1に基づく衝突の検知を無効にしてもよい。
ところで、衝突によって可動部の状態がゆるやかに変化する場合も有り得る。例えば、モーターM1〜M6のトルクや角速度が一定値以下に制限されている動作(ローパワー動作)において、静止している障害物に可動部が衝突する場合には、衝突による診断値の変動成分がハイパスフィルターを通過できない場合も考えられ得る。そのため、停止制御部32は、角速度偏差(Vc−Va)にハイパスフィルターを掛けた第1診断値HV1に基づく衝突の判定とともに、角速度偏差(Vc−Va)にハイパスフィルターを掛けていない診断値に基づく衝突の判定を行ってもよい。これにより、ゆるやかな衝突の検出漏れが生じる可能性を低減できるとともに、急激な衝突も検出できる。
なお、停止制御部32は、検出速度が速度指令から乖離しているか否かを、必ずしも検出速度と速度指令との差に基づいて判定しなくてもよい。例えば、停止制御部32は、角速度指令Vcを検出角速度Vaで除算した値が1から基準値以上離れている場合に衝突があったと判定してもよい。また、停止制御部32は、角速度偏差(Vc−Va)に高周波のノイズが混入する場合等において、角速度偏差(Vc−Va)にハイパスフィルターだけでなくローパスフィルターを掛けてもよい。また、上述した動作Q1〜Q9は一例に過ぎず、駆動制御部31は、動作Q1〜Q9のうちのいずれかを行わないようにしてもよいし、動作Q1〜Q9以外の動作を行ってもよい。
ロボット1は、必ずしも6軸の単腕ロボットでなくてもよく、アームAの関節数は特に限定されない。ロボット1は、双腕ロボットであってもよいし、スカラーロボットであってもよい。また、力検出器は、力覚センサーFSでなくてもよく、関節J1〜J6ごとに当該関節J1〜J6に作用するトルクを検出するトルクセンサーであってもよい。また、トルクセンサーの代わりにモーターM1〜M6の負荷に基づいてトルクが検出されてもよい。また、制御装置3は、ロボット1と独立した装置でなくてもよく、ロボット1に内蔵されてもよい。この場合、駆動制御部31や停止制御部32や閾値設定部33は、ロボット1に備えられることとなる。
1…ロボット、2…エンドエフェクター、3…制御装置、31…駆動制御部、32…停止制御部、33…閾値設定部、A…アーム、A1〜A6…アーム部材、d…仮想粘性係数、Da…駆動位置、Dc…制御量、De…駆動位置偏差、Dt…目標駆動位置、E1〜E6…エンコーダー、f…力、fS…作用力、fS…目標力、FS…力覚センサー、fSt…目標力、J1〜J6…関節、k…仮想弾性係数、Kp…位置制御ゲイン、Kv…速度制御ゲイン、m…仮想慣性係数、M1〜M6…モーター、W…ワーク、ΔfS…力偏差、ΔS…力由来補正量

Claims (9)

  1. ロボットの可動部を制御するロボット制御装置であって、
    前記可動部の状態を示す診断値が閾値よりも大きくなった場合に、前記可動部にて衝突が生じたと判定するにあたり、
    第1動作と、前記可動部の加速度の制限が前記第1動作とは異なる第2動作とで前記閾値を異なる値に設定する閾値設定部、を備え
    前記第2動作は、前記可動部の特異点を回避する特異点回避動作を含む、ロボット制御装置。
  2. 前記可動部にて衝突が生じたと判定した場合に、前記可動部を停止させる停止制御部を備える、請求項1に記載のロボット制御装置。
  3. 前記第1動作は、加速度が上限値より大きくならないように前記可動部を駆動する通常動作を含み、
    前記第2動作は、加速度が前記上限値よりも大きくなることを許容して前記可動部を駆動する動作を含む、請求項1または請求項2のいずれかに記載のロボット制御装置。
  4. 前記第1動作は、
    前記可動部を駆動させる駆動部の出力が飽和となる飽和動作と、
    操作部に対する操作期間の間だけ前記可動部を移動させるジョグ動作と、
    前記可動部を停止させる停止動作と、
    前記可動部を搬送装置に追従させるトラッキング動作と、のうちの少なくとも一つを含む、請求項1から請求項のいずれか一項に記載のロボット制御装置。
  5. 前記可動部が第3動作を行っている場合に、前記診断値の大きさに基づいて前記可動部にて衝突が生じたか否かを判定しない、請求項1から請求項のいずれか一項に記載のロボット制御装置。
  6. 前記第3動作は、
    前記可動部の機械的な制動を解除する制動解除動作と、
    前記可動部に作用する力が目標の力となるように前記可動部を制御する力制御動作と、のうちの少なくとも一つを含む、請求項に記載のロボット制御装置。
  7. 前記閾値設定部は、他の物体に接触させた状態で前記可動部を制御する動作において、他の物体に接触させない状態で前記可動部を制御する動作よりも前記閾値を大きい値に設定する、請求項1から請求項のいずれか一項に記載のロボット制御装置。
  8. 請求項1から請求項のいずれか一項に記載のロボット制御装置によって前記可動部が制御されるロボット。
  9. 請求項1から請求項のいずれか一項に記載のロボット制御装置と、
    前記ロボット制御装置によって前記可動部が制御されるロボットと、を備える、ロボットシステム。
JP2015139431A 2015-07-13 2015-07-13 ロボット制御装置、ロボットおよびロボットシステム Active JP6657627B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015139431A JP6657627B2 (ja) 2015-07-13 2015-07-13 ロボット制御装置、ロボットおよびロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015139431A JP6657627B2 (ja) 2015-07-13 2015-07-13 ロボット制御装置、ロボットおよびロボットシステム

Publications (3)

Publication Number Publication Date
JP2017019058A JP2017019058A (ja) 2017-01-26
JP2017019058A5 JP2017019058A5 (ja) 2018-08-16
JP6657627B2 true JP6657627B2 (ja) 2020-03-04

Family

ID=57887289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015139431A Active JP6657627B2 (ja) 2015-07-13 2015-07-13 ロボット制御装置、ロボットおよびロボットシステム

Country Status (1)

Country Link
JP (1) JP6657627B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6922486B2 (ja) * 2017-07-06 2021-08-18 株式会社デンソーウェーブ ロボットの制御装置
JP7181055B2 (ja) * 2018-11-02 2022-11-30 ファナック株式会社 ロボット装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03184789A (ja) * 1989-12-11 1991-08-12 Fujitsu Ltd ロボットの力制御方式
JP3213989B2 (ja) * 1991-09-02 2001-10-02 ダイキン工業株式会社 産業用ロボットにおける手先部の姿勢制御方法およびその装置
JP2006263916A (ja) * 2001-05-08 2006-10-05 Mitsubishi Electric Corp ロボット制御装置
JP2005342858A (ja) * 2004-06-04 2005-12-15 Toshiba Mach Co Ltd 産業用ロボットの衝突検出方法および衝突検出装置
JP2009101898A (ja) * 2007-10-24 2009-05-14 Toyota Motor Corp 倒立車輪型移動体、及びその制御方法
JP2010069585A (ja) * 2008-09-19 2010-04-02 Yaskawa Electric Corp 衝突検出装置及び方法並びにロボット制御装置
JP5338297B2 (ja) * 2008-12-19 2013-11-13 株式会社安川電機 ロボットの制御装置
JP2012232370A (ja) * 2011-04-28 2012-11-29 Seiko Epson Corp ロボットコントローラー、簡易設置型ロボット、及び簡易設置型ロボットの制御方法
JP2014000117A (ja) * 2012-06-15 2014-01-09 Canon Inc 医療用マニピュレータ及び、それを備えた医療用画像システム
JP2014018912A (ja) * 2012-07-18 2014-02-03 Seiko Epson Corp ロボット制御装置、ロボット制御方法およびロボット制御プログラムならびにロボットシステム
JP2014151385A (ja) * 2013-02-07 2014-08-25 Amada Co Ltd ロボット制御装置およびロボット制御方法
WO2014177677A1 (en) * 2013-05-02 2014-11-06 Al-Sallami Hussein Capacitive proximity sensor system
JP6238628B2 (ja) * 2013-08-06 2017-11-29 キヤノン株式会社 ロボット装置、ロボット制御方法、ロボット制御プログラム及びロボット装置を用いた部品の製造方法

Also Published As

Publication number Publication date
JP2017019058A (ja) 2017-01-26

Similar Documents

Publication Publication Date Title
US10564635B2 (en) Human-cooperative robot system
CN107073713B (zh) 控制机械臂的方法和装置、计算机系统、存储介质和机器人
JP6924146B2 (ja) ロボットシステムの監視装置
KR101495949B1 (ko) 감속기의 이상 판정 방법, 이상 판정 장치 및 로봇 시스템
US10022866B2 (en) Robot control device
JP5849451B2 (ja) ロボットの故障検出方法、制御装置およびロボット
JP7225563B2 (ja) ロボット、制御装置およびロボットの制御方法
US20160114483A1 (en) Robot control method, robot apparatus, program, recording medium, and manufacturing method of assembly part
JP2013043232A (ja) ロボットとその制御方法
US11618163B2 (en) Industrial robot system
JP2017019057A (ja) ロボット制御装置、ロボットおよびロボットシステム
JP5177008B2 (ja) ロボットの制御装置およびロボット
CN108748144B (zh) 一种人机协作机械臂的碰撞识别方法
JP2016190292A (ja) ロボット制御装置、ロボットシステムおよびロボット制御方法
Kouris et al. Contact distinction in human-robot cooperation with admittance control
JP6657627B2 (ja) ロボット制御装置、ロボットおよびロボットシステム
JP2019141967A (ja) 振動解析装置および振動解析方法
JP2004364396A (ja) モータの制御装置および制御方法
JP2017177321A (ja) 制御装置及びロボットシステム
JP2021003771A (ja) ロボットシステム
JP2022527059A (ja) 衝突検出
US11623340B2 (en) Robot system, control apparatus, and control method
JPH01310889A (ja) 産業用ロボットの制御装置
CN109551517A (zh) 机器人系统
JP6711536B2 (ja) 外力検出方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180703

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180703

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20180906

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190618

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190807

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200120

R150 Certificate of patent or registration of utility model

Ref document number: 6657627

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150