JP4054984B2 - ロボットの制御装置および制御方法 - Google Patents
ロボットの制御装置および制御方法 Download PDFInfo
- Publication number
- JP4054984B2 JP4054984B2 JP2002360053A JP2002360053A JP4054984B2 JP 4054984 B2 JP4054984 B2 JP 4054984B2 JP 2002360053 A JP2002360053 A JP 2002360053A JP 2002360053 A JP2002360053 A JP 2002360053A JP 4054984 B2 JP4054984 B2 JP 4054984B2
- Authority
- JP
- Japan
- Prior art keywords
- robot
- torque
- external force
- coordinate system
- external
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Manipulator (AREA)
Description
【産業上の利用分野】
本発明は、ロボットの制御装置に関し、さらに詳しく言えば、特にロボットの作業座標系での力、トルク設定値をもとに関節を駆動するサーボモータの発生力を制御するロボットの制御装置および制御方法に関する。
【0002】
【従来の技術】
従来のロボットはロボットの関節軸毎に位置速度制御系にて制御が行われていた。このような制御系でワークとの接触を伴うようなスポット溶接やシーム溶接のプレイバック再生を行う際、ワーク自体の位置ズレやロボットがワークを把持した位置のズレなどがあると、位置決め精度を高くするために大きく設定されたゲインや積分器の作用により、大きなトルクを発生することになる。この大きなトルクが発生することで、ワークを変形させたり溶接不良の発生や溶着などで作業の遂行が困難になって、時にはツールやロボットの破損の危険性があった。また、教示者がロボットを作業位置へ移動させる教示作業時には、教示者がスポットガンの制御点をワークの打点に慎重に移動させて、位置を登録する必要があり、誤ってガン電極をワークに押し付けて変形させる危険性があったため肉体的および精神的疲労度が非常に大きかった。
このような問題に対して、ロボットに特別な装置を付加することなく作業座標系で柔軟に力制御を行う方式としては、図10に示すように作業座標系の各座標軸方向に関して柔らかさ(バネ定数)を設定して空間内の軸別に外力に対する順応性の大小を指定できる方式がある(特許文献1、特許文献2)。
【0003】
また、外力の推定をして力制御を行う方式としては、関節座標系の各軸のモータへの外乱を外乱オブザーバにより推定し、ヤコビ行列を用いた座標変換により外乱推定値を作業座標系の外力推定値に変換できる方式がある(特許文献3、特許文献4)。
【0004】
【特許文献1】
特開平8−227320号公報
【特許文献2】
特開2000−005881号公報
【特許文献3】
特開平11−58285号公報
【特許文献4】
特開平9−103945号公報
【0005】
【発明が解決しようとする課題】
ところが、特許文献1や特許文献2に示すように、作業座標系で柔らかさ(バネ定数)を設定して空間内の方向別に外力に対する順応性の大小を指定する方式では、位置偏差が増大するとサーボモータの発生トルクが比例的に増大するため外力による位置偏差(移動距離)が大きな場合に対応できないという問題点がある。また、周辺機器やワークを取り除いて接触状態を解除しようとした場合にロボットは元の位置指令の場所に戻る力を発生させるため、再度周辺機器やワークと衝突を起して周辺機器やワークを破損させるなどの問題点を有している。
また、特許文献3や特許文献4に示すように、関節座標系の外乱を外乱オブザーバにより推定し、ヤコビ行列を用いた座標変換により外乱推定値を作業座標系の外力推定値に変換する方式が示されている。これらの従来例では、フィルタなどを使用することで検出時間にも遅れが発生し、また、摩擦や重力の影響が大きく正確な外力推定値を得ることが出来ないという問題点を有している。
そこで本発明は、センサなどを用いることなく、ストロークの大きな変位にも対応できる作業座標系の力制御を行うことを目的とする。
【0006】
【課題を解決するための手段】
本発明では、上記問題点を解決するため、請求項1記載のロボット制御装置は、ロボットの各軸を駆動するサーボモータ13を制御するために前記各軸毎に位置速度制御系11を含むロボットの制御装置において、前記サーボモータ13の関節座標系に関する関節角度を計測する角度計測器14と、関節指令をもとに前記サーボモータ13の運動に必要な運動トルクを演算する運動トルク演算部15と、前記位置速度制御系11にて演算されたトルク指令と前記運動トルクとの差分により外乱トルクを求める外乱トルク推定部16と、前記関節角度をもとに前記ロボットの作業座標系と前記サーボモータ13の関節座標系との間のヤコビ行列を演算する微小変位関係演算部17と、前記外乱トルクに前記ヤコビ行列の転置逆行列を乗じて前記ロボットの作業座標系での外力に変換する外力演算部18と、インピーダンス制御によって前記外力の方向に応じた前記ロボットの作業座標系での位置修正量を演算する力制御部19と、前記ロボットの作業座標系での位置修正量に前記ヤコビ行列の逆行列を乗じて前記関節座標系での関節角度修正量に変換する関節角度修正量演算部20とを備えている。
【0007】
また、請求項2記載のロボット制御装置は、前記運動トルク演算部15は、前記ロボットの関節部の重力トルクを演算する重力トルク演算部と、前記サーボモータ13の加速度トルクを演算する加速度トルク演算部と、前記サーボモータ13の速度を維持するための速度トルクとを演算する速度トルク演算部と、前記重力トルクと前記加速度トルクと前記速度トルクとを加算して前記運動トルクを演算する運動トルク加算部22とからなる。また、請求項3記載のロボット制御装置は、前記運動トルク演算部15は、前記位置速度制御系11と同じ位置ループゲインおよび速度ループゲインを用いて前記運動トルクを演算する第2の位置速度制御系115と、2慣性系モデルによって前記ロボットを模擬し、前記第2の位置速度制御系115が出力する運動トルクをもとに前記関節座標系に関する関節角度を演算して前記第2の位置速度制御系115へフィードバックする機械系模擬回路118とからなる。また、請求項4記載のロボット制御装置は、前記力制御部19は、インピーダンス制御によって前記外力の方向に応じた前記ロボットの作業座標系での位置修正量を演算するインピーダンス制御部26と、前記ロボットの作業内容に応じて、前記ロボットの作業座標系の特定の方向についての前記位置修正量を有効または無効とする修正量選択部27とからなる。
【0008】
また、請求項5記載のロボット制御装置は、前記外力演算部18は、前記外乱トルクに前記ヤコビ行列の転置逆行列を乗じて前記ロボットの作業座標系での外力に変換する第1の外力演算部181と、前記外乱トルクを前記外力の作用点から前記ロボットの各軸までの距離と、前記各軸の関節角度の正弦または余弦との積により除して前記ロボットの作業座標系での外力に変換する第2の外力演算部182と、前記第1の外力演算部181と前記第2の外力演算部182の各出力の平均値を求める外力平均演算部28とを備えるものである。
【0009】
また、請求項6記載のロボット制御装置は、ロボットの各軸を駆動するサーボモータ13を制御するために前記各軸毎に位置速度制御系を含み、前記ロボット先端に配置され前記ロボットと協同して作業する外部軸を駆動するサーボモータ13を制御するために外部軸位置速度系を含むロボットの制御装置において、前記ロボットのサーボモータ13の関節座標系に関する関節角度を計測する角度計測器14と、前記ロボットへの関節指令をもとに前記ロボットのサーボモータ13の運動に必要なロボット軸運動トルクを演算するロボット軸運動トルク演算部15と、前記ロボットの位置速度制御系11にて演算されたロボット軸トルク指令と前記ロボット軸運動トルクとの差分によりロボット軸外乱トルクを求めるロボット軸外乱トルク推定部16と、前記関節角度をもとに前記ロボットの作業座標系と前記サーボモータ13の関節座標系との間のヤコビ行列を演算する微小変位関係演算部17と、前記ロボット軸外乱トルクに前記ヤコビ行列の転置逆行列を乗じて前記ロボットの作業座標系での外力に変換する第1の外力演算部181と、前記ロボット軸外乱トルクを前記外力の作用点から前記ロボットの各軸までの距離と、前記各軸の関節角度の正弦または余弦との積により除して前記ロボットの作業座標系での外力に変換する第2の外力演算部182と、前記第1の外力演算部181と前記第2の外力演算部182の各出力の平均値を求める外力平均演算部28と、前記外部軸のサーボモータ13の関節座標系に関する関節角度を計測する角度計測器14と、前記外部軸への関節指令をもとに前記外部軸のサーボモータ13の運動に必要な外部軸運動トルクを演算する外部軸運動トルク演算部15と、前記外部軸の位置速度制御系11から演算された外部軸トルク指令と前記外部軸運動トルクとの差分により外部軸外乱トルクを求める外部軸外乱トルク推定部16と、前記外部軸外乱トルクを前記ロボットの作業座標系での外力に変換する第3の外力演算部183とを備えるものである。
【0010】
また、請求項7記載のロボット制御装置は、前記外力平均演算部28の出力である前記ロボットに作用する外力と前記第3の外力演算部の出力である前記外部軸に作用する外力との差分を求める外力差演算部30を備えるものである。また、請求項8記載のロボット制御装置は、前記外力演算部18の出力が予め設定されたしきい値よりも大きい場合には、前記ロボット各軸又は前記外部軸の少なくとも一つを停止させる停止処理部29を備えるものである。また、請求項9記載のロボット制御装置は、前記ロボットを操作する操作ペンダント31を備え、前記外力差演算部30の出力である前記差分を前記操作ペンダント31上に表示することを特徴とするものである。
【0011】
また、請求項10記載のロボット制御方法は、ロボットの各軸を駆動するサーボモータ13を制御するために前記各軸毎に位置速度制御系11を含むロボットの制御装置の制御方法において、前記ロボットの制御部を機能ブロック化すると共に前記ロボットを2次慣性系モデルとして模擬し、関節指令をもとに算出した運動トルクと前記関節指令をもとに前記位置速度制御系11から出力されたトルク指令との差分により外乱トルクを推定し、前記外乱トルクに前記ロボットの作業座標系と前記サーボモータ13の関節座標系との間のヤコビ行列の転置逆行列を乗じて前記ロボットの作業座標系での外力を推定し、前記外力をもとにインピーダンス制御を行い前記ロボットの位置修正量を演算し、前記位置修正量を有効または無効とすることを特徴とするものである。
【0012】
【発明の実施の形態】
本発明の第1の実施例を図1に示して説明する。図1の11は位置速度制御ループであり、関節指令を入力してトルク指令をアンプ12へ出力することで、関節モータを駆動する。ここではよく用いられる位置比例−速度比例積分制御を用いる。この位置比例−速度比例積分制御(以後、位置速度制御とする)では、高ゲインの位置制御ループおよび速度制御ループの作用により、外部より作用する力に対して各関節軸が柔軟に変位しづらい。そこで、上位コントローラからの位置速度制御ループ11への関節指令から、運動トルク演算部15によりロボットの各リンクが動作するために必要な重力を補償するためのトルク(以下、重力トルク)と加速するためのトルク(以下、加速度トルク)と速度分のトルク(速度トルク)からなる運動トルクを演算する。求められた運動トルクから実際の位置速度制御ループ11の出力であるトルク指令を外乱トルク推定部16で減算する事により、関節座標系での外乱トルク推定値を演算することができる。
次に、角度計測器14で検出された関節角度から、微小変位関係演算部17において関節座標系と作業座標系間の微小変位関係、一般的にヤコビ行列と言われている行列を演算する。そこで、外力演算部18において、前記外乱トルク推定値に前記座標系間の微小変位関係を乗算することで、作業座標系における外乱力推定値に変換することができる。外力とは、外部からの加わる力とモーメントである。更に、力制御部19において、インピーダンス制御など力制御アルゴリズムにより前記外乱力推定値を作業座標系での位置修正量に変換し、関節角度修正量演算部20により前記位置修正量を関節座標系での関節角度修正量に変換する。
よって、変換された関節角度修正量を位置速度制御ループ11への入力である関節指令に加算する事で、ロボットが外力に応じた位置の修正を行うことが可能になる。
【0013】
以下に、本発明の第1の具体的実施例を図2に示して、関節座標系での位置速度制御に本発明の制御を適用した制御ブロック線図を説明する。
(1)運動トルク演算方法
上位コントローラから位置速度制御ループ11への入力である関節指令を運動トルク演算部15に入力する。トルク演算部21内で、1回微分を取って関節角速度指令を求め、2回微分を取って関節角加速度指令を求め、前記関節角速度指令と前記関節角加速度指令からロボットの各リンクが動作するために必要な運動トルクを求める。ここで、運動トルクとは、各リンクの重量分に打ち勝って姿勢を維持するための重力トルクと、リンクの慣性分に打ち勝つために必要な加速度トルクと、減速器の摩擦分に打ち勝つために必要な速度トルクである。重力トルクは各リンクの重心位置と重量と関節指令から求め、加速度トルクは関節角加速度にロボットの姿勢に応じてイナーシャを乗算することで求め、速度トルクは関節角速度に粘性摩擦係数を乗算し、クーロン摩擦値を加算する事で求めることができる。よって、運動トルク加算部22において、重力トルクと加速度トルクと速度トルクを加算することで、運動トルクを求めることが可能である。
【0014】
(2)外乱トルク推定方法
位置速度制御ループ11からの出力であるトルク指令は外乱がない場合は前記運動トルクとほぼ同一であるが、何らかの要因で外乱が入力された場合にはその分だけ運動トルクよりも増減することになる。よって、外乱トルク推定部16により、前記運動トルクから位置速度制御ループ11のトルク指令を減算する事で、関節座標系での外乱トルク推定値τpresumptionを求めることができる。
【0015】
(3)外乱力推定値演算方法
角度計測器14で検出された関節角度から、微小変位関係演算部17において関節座標系と作業座標系間の微小変位関係、一般的にヤコビ行列と言われている行列を演算し、その転置逆行列を用いることで、関節座標系の外乱トルク推定値から作業座標系における外力推定値を演算することが可能である。
例えば、6自由度のロボットの場合は、ヤコビ行列は以下の式により演算することが可能である。
【0016】
【数1】
【0017】
ここで、
J:ヤコビ行列(関節座標系と作業座標系間の微小変位関係式)
0si:第i関節座標の回転方向ベクトル(ロボットのベース座標系を基準)
0Pi:第i関節位置ベクトル(ロボットのベース座標系を基準)
×:ベクトルの外積を示す
r:ロボットの作業位置ベクトル
よって、外力演算部18において、作業座標系での外乱力推定値Fpresumptionは以下の式で求めることができる。
【0018】
【数2】
【0019】
ここで、
T:転置行列を示す
−1:逆行列を示す
【0020】
(4)角度修正量演算方法
力制御部19において、前記外力推定値Fpresumptionを作業座標系のインピーダンス制御部26により、作業座標系の位置修正量Xcompに変換することができる。
【0021】
【数3】
【0022】
式▲3▼において、速度と加速度に関して以下の式を代入すると、
【0023】
【数4】
【0024】
一般的には、式▲4▼を式▲3▼に代入して式を解けば良いが、簡略化のため、この中からインピーダンス制御の粘性成分のみを用いる式を採用しても良い。この時、作業座標系の位置修正量Xcompは、以下の式で求めることができる。
【0025】
【数5】
【0026】
この位置修正量Xcompは修正量選択部27により、作業内容に応じて修正量を有効または無効にする作業座標系の軸を選択することができる。
【0027】
次に、関節角度修正量演算部20による前記作業座標系の位置修正量Xcompの関節座標系の関節角度修正量θcompへの変換は、以下の式で行うことができる。
【0028】
【数6】
【0029】
となる。(6)で求められた前記関節角度修正量θcompを上位コントローラからの関節指令に加算する事で、外乱の大きさや方向に対してロボットの位置を逐次修正して外乱を吸収することが可能になる。例えば、スポット溶接作業でガンのチップがワークに接触した場合を例に説明する。予め教示された位置よりも早い段階で固定側のチップがワークと接触した場合には、通常の位置速度制御であれば位置速度ループの高ゲインによりロボットに過大な力を発生させ、ガンやワークを破損させる危険性があった。本制御を用いるとチップに作用する力を外力演算部により作業座標系での外乱力として検出して、その方向に力制御を行い、関節角度修正量を求めることで、ロボットが過大な力を発生させないようにできる。
【0030】
以下に、本発明の第2の具体的実施例を図3に示して、関節座標系での位置速度制御に本発明の制御を適用した制御ブロック線図を説明する。ここでは、前記第1の具体的実施例において、(1)の運動トルク演算方法の処理に差異がある。
(1’)運動トルク演算方法
上位コントローラから位置速度制御ループ11への入力である関節指令を運動トルク演算部15に入力する。運動トルク演算部15内では、前記位置速度制御系11とは別の第2の位置速度制御系115に前記関節指令が入力され、実際のロボット機構部を模擬した機械系模擬回路118の位置速度制御を行う。第2の位置速度制御系115の位置ループゲインKp116は、位置速度制御ループ11の位置ループゲインKp111と同一のパラメータ値である。また同様に、第2の位置速度制御系115の速度ループゲインKv117は、位置速度制御ループ11の速度ループゲインKp112と同一のパラメータ値である。ここで、機械系模擬回路118は、関節モータ13と同一のイナーシャと粘性係数と剛性を持った仮想的な制御系で構成されており、例えばモータイナーシャと2次側イナーシャと減速器から構成される2慣性系モデルである。この2慣性系モデルが実際のロボットと同一であれば、外乱がない場合には実際のロボットと仮想ロボットの挙動は同じになり、前記第1の位置速度制御系11の出力であるトルク指令と前記第2の位置速度制御系115の出力であるトルク指令は同一と考えられる。
よって、前記第2の位置速度制御系115の出力であるトルク指令を運動トルクとして使用する。その後の処理は、前記第1の具体的実施例における(2)〜(4)と同一の処理を行えば良い。
【0031】
次に、本発明の第1の実施例で説明した制御の作用をスポット溶接の位置教示作業を例にして、図4を用いて説明する。
スポット溶接の位置教示作業は、作業者が操作ペンダントなどを使用して手先にスポット溶接ガン41を配置したロボットを誘導することで、ワーク43上の決められた打点位置に対して、スポット溶接ガン41の固定側電極44と、スポット溶接ガン41の他端に配置した可動側電極駆動用モータ42によって駆動される可動側電極45を位置決めして位置を登録するものである。通常の位置速度制御を用いた場合では、作業者は以下の手順で教示作業を行っていた。
(a)待機位置へ移動
スポット溶接ガン41上の固定側電極44と可動側電極45の間が十分に広い待機状態で、固定側電極44と可動側電極45を結んだ線上にワーク43の打点位置が入るようにロボットを誘導する。
(b)固定側電極の移動
作業者は、固定側電極44がワーク43の打点位置に下方から接触する寸前までロボットを非常に低速で動作させなければならない。
(c)可動側電極の移動
固定側電極44の移動完了後に、可動側電極駆動用モータ42を駆動して可動側電極45がワーク43の打点位置に上方から接触する寸前までロボットを非常に低速で動作させなければならない。
ここで、(b)や(c)の作業時に電極とワークが接触した場合には、位置速度制御によりロボットが過大な力を発生することでワーク43や固定側電極44、ロボットの破損の危険性もあるため、作業者の肉体的精神的疲労度が非常に大きく、教示時間も大幅に必要としていた。
【0032】
次に、本作業における本発明の力制御の働きを、詳細に説明する。
(a)待機位置へ移動
スポット溶接ガン41上の固定側電極44と可動側電極45の間が十分に広い待機状態で、固定側電極44と可動側電極45を結んだ線上にワーク43の打点位置が入るようにロボットを誘導する。この誘導時には通常の位置速度制御のままである。
(b)固定側電極の移動
作業者は、ロボットの動作モードを本力制御に切り替え、例えばスポット溶接ガン41の固定側電極44と可動側電極45を結んだ線を作業座標系のZ軸に取った場合には、前記力制御部19の修正量選択部27により、Z軸方向の位置修正量の有効を選択し、その他のXY軸に関しては位置修正量の無効を選択する。次に、固定側電極44がワーク43の打点位置に下方から接触するまでロボットを動作させる。固定側電極44がワーク43に接触した場合には、運動トルク演算部15の運動トルクと位置速度制御ループ11の出力であるトルク指令に外乱トルク推定値として差が発生し、この外乱トルク推定値を外力演算部18と力制御部19と関節角度修正量演算部20により角度修正量として演算し、関節指令に加算することで、固定側電極44は過大な力をワーク43に加えることがなく接触した状態を維持できる。
(c)可動側電極の移動
固定側電極44の移動完了後に、可動側電極駆動用モータ42を駆動して可動側電極45がワーク43の打点位置に上方から接触するまでロボットを動作させる。ここで、可動側電極駆動用モータ42の駆動の制御にも本力制御を行うことで、可動側電極45が過大な力をワーク43に加えることがなく接触した状態を維持できる。
【0033】
以下に、本発明の第3の具体的実施例を図5に示して、関節座標系での位置速度制御に本発明の制御を適用した制御ブロック線図を説明する。ここでは、前記第1の具体的実施例において、外力演算方法の処理に差異がある。また、ロボットは図8に示すスポット溶接用ロボットを例に説明を行う。前記第1の具体的実施例においては、外力の推定は手先に作用する力(Fx,Fy,Fz)とモーメント(Mx,My,Mz)の6軸であった。しかし、スポット溶接においてワークの位置ズレなどに対してスポット溶接ガンの電極が自動的に位置修正をして位置ズレに倣う場合には、電極の開閉方向の接触力(Fz)のみを推定すれば良いため、電極開閉方向の力のみを推定して処理を簡略化する。電極開閉方向の外力の推定方法としては、ロボットのJ1〜J3軸で1つの外力の推定値F1を求め、J4,J5,J6でそれぞれ外力の推定値F2,F3,F4を求める。そして、前記4個の外力推定値の平均を取ることで、誤検出低減や検出精度の向上を図ることが特徴である。(1)運動トルク演算方法〜(2)外乱トルク推定方法までの処理は、前記第1の具体的実施例における(1)〜(2)と同一の処理を行えば良い。
(3”)外乱力推定値演算方法
外力推定値F1の演算方法は、前記第1の具体的実施例における外力演算方法と同様に第1の外力演算部181で、微小変位関係演算部17において求めた座標系間の微小変位関係の転置逆行列24を用いることで、外乱トルク推定部16の出力である外乱トルク推定値τpresumption1〜3から作業座標系における外力推定値F1を求める。ここで、電極の開閉方向の接触力推定であるため、ロボットのJ1〜J3軸からロボットの手首部分へのヤコビ行列を求めるだけで良く、以下の式により演算することが可能である。
【0034】
【数7】
【0035】
次に、外力推定値F2,F3,F4の演算方法の説明を行う。スポット溶接ではガンの両電極を閉じることでワークを挟み込んで溶接を行うが、ロボット側の固定電極がワークに接触し、外力Fがガンの電極開閉方向に作用した場合の外力推定値F3を例に、図9を用いて説明する。
J5軸に作用するトルクτpresumption5は、図9(b)に示すように外力FとJ6軸の角度に依存しているため、以下の式で表すことができる。
【0036】
【数8】
τpresumption5=F・L・cos(θ6) ・・・(8)
ここで、
F:外力
L:電極の外力作用点からJ5軸までの距離
θ6:J6軸の角度
【0037】
よって、ガンの電極開閉方向に作用する外力推定値F3(≒F)は以下の式で表すことができる。
【0038】
【数9】
【0039】
よって、第2の外力演算部182において、外力推定値F3を求めることができた。同様に、F2、F4についても演算を行う。次に、外力平均演算部28において、前記外力推定値F1〜F4の平均を取ることで、外力平均値を求めることができる。
(4)角度修正量演算方法の処理も、前記第1の具体的実施例における(4)と同一の処理を、前記外力平均値を用いて行えば良い。
【0040】
ただし、ここでは図示しないが、ガンの電極開閉方向に作用する外力は前記第1の具体的実施例と同様に、J4〜J6軸に作用するトルクとガンに設定した座標系からJ4〜J6軸までのヤコビ行列とで演算することも可能である。つまり、J1〜J3軸とJ4〜J6軸とでガンの開閉方向に作用する外力(Fx,Fy,Fz)をそれぞれ推定することもできる。前記第3の具体的実施例の場合には、この演算式を展開した一部を使用している。このようにJ4〜J6軸までのヤコビ行列を使用することで、手先に作用する力(Fx,Fy,Fz)が求められ、外力の作用する方向が1軸以上の場合にも適用することが可能となる。J4〜J6軸までのヤコビ行列は、以下の演算を行う。
【0041】
【数10】
【0042】
後は、前記第1の具体的実施例と同様に、式▲2▼を演算することで、外力推定値Fpresumption4〜6を求めることができる。
【0043】
以下に、本発明の第4の具体的実施例を図6に示して、関節座標系での位置速度制御に本発明の制御を適用した制御ブロック線図を説明する。ここでは、前記第3の具体的実施例において、力制御部と関節角度修正量演算部の部分に差異がある。前記第1〜3の具体的実施例では、外力に応じて角度修正量を演算することで、ロボットが外力に対して追従する制御方法について述べたが、ここでは外力を検出することで、ロボットの動作を停止させることを目的とする。また、ロボットは図8に示すスポット溶接用ロボットの教示作業を例に説明を行う。作業者は、ロボットを誘導することで、ロボットの先端に配置されたスポット溶接用ガンの電極間にワークを挟み込む姿勢を作る。このときには、両電極とワークには十分な距離がある。次に、作業者はガンの電極の固定側(つまりロボット)を上昇させる(ワークに近づく方向に移動させる)。ここから、前記第3の具体的実施例における(1)〜(3”)と同一の処理を行い、外力平均演算部28において外力平均値を求める。
(4’)停止処理方法
停止処理部29において、求められた前記外力平均値と予め設定された検出しきい値を比較することで、ガンの固定電極がワークに接触した際に、ロボットの動作を停止させる。ロボットが自動的に停止することでスポット溶接の教示作業が自動的に行え、作業者の肉体的精神的負担を軽減することができる。また、図示しないが、外部の周辺機器からロボットが力を加えられる場合には、ロボットを停止させる代わりに外部の周辺機器に停止信号を出力しても良い。
【0044】
以下に、本発明の第5の具体的実施例を図7に示して、関節座標系での位置速度制御に本発明の制御を適用した制御ブロック線図を説明する。ここでは、前記第4の具体的実施例において、ロボット軸以外に外部軸を用いた部分に差異がある。前記第4の具体的実施例では、ロボットの各軸によりエンドエフェクタの制御点に作用する外力を推定したが、ここでは外部軸に作用する外力推定値と前記ロボットの外力推定値との差を求め、実際にワークに作用している力が釣り合っているかどうかを作業者に提示したり、前記第1の具体的実施例と同様に位置の修正量を求めたりする。また、ロボットは、前記第4の具体的実施例と同様に、図8に示すスポット溶接用ロボットの教示作業を例に説明を行う。
作業者は、ロボットを誘導することで、ロボットの先端に配置されたスポット溶接用ガンの電極間にワークを挟み込む姿勢を作る。このときには、両電極とワークには十分な距離がある。次に、作業者はガンの電極の固定側(つまりロボット)を上昇させる(ワークに近づく方向に移動させる)。ここから、前記第3又は4の具体的実施例における(1)〜(3”)と同一の処理を行い、外力平均部28において外力平均値を求める。
(4”)外部軸の外乱力推定値演算方法
外部軸を駆動するモータの制御系に対しても、(1)〜(3)のロボットの各軸と同様に外乱トルク推定値τpresumption-ex1を求める。ここで、ガン駆動部分の重力と摩擦成分はロボット同様に運動トルク演算部15において、別途補償しておく。
次に、第3の外力演算部183において、前記外乱トルク推定値τpresumption-ex1から、外乱力推定値F5を演算する。ここで例えば、ガンの可動電極の駆動がリードnのボールネジの場合、以下の式で外乱力推定値F5を求めることができる。
【0045】
【数11】
【0046】
(5)外力提示方法
外力差演算部30において、前記外力推定値F5と前記外力平均値との差を求め、ロボットコントローラに接続された操作ペンダント31上に表示する。
または、図示しないが、操作ペンダントに表示する代わりに、停止処理部29において、求められた前記外力平均値と予め設定された検出しきい値を比較することで、ガンの固定電極がワークに接触した際に、ロボットの動作を停止でき、ガンの可動電極がワークに接触した際にもガンの動作を停止させることができる。また、両電極がワークに対して作用している力を同じになるように力制御を行うことでワークに無理な変形を生じさせず、品質を向上させることができる。よって、ロボットやガンが自動的に停止することでスポット溶接の教示作業が自動的に行え、作業者の肉体的精神的負担を軽減することができる。
【0047】
【発明の効果】
以上述べたように、請求項1のロボットの制御装置によれば、ロボットにより接触作業を行わせる際に、センサなどを用いることなく、ストロークの大きな変位にも対応できる作業座標系の柔軟な倣い動作が可能となる。請求項2記載のロボットの制御装置によれば、ロボットの動作に必要な運動トルクを演算することにより、より正確な外乱トルクを求めることが可能である。請求項3記載のロボットの制御装置によれば、実際のロボットと同一のパラメータを持つモデルを用いた位置速度制御系からのトルク指令を運動トルクとして使用することにより、より正確な外乱トルクを求めることが可能である。請求項4記載のロボットの制御装置によれば、修正量の有効または無効を選択できるため、作業に応じてロボットに柔軟な軸方向と剛性の高い軸方向を選択することが可能になる。請求項5記載のロボット制御装置によれば、外力の推定を複数個の平均から求めることで、検出精度を上げ、誤検出を減らすことができる。請求項6記載のロボット制御装置によれば、ロボットと外部軸が作業対象に対して加えている外力を検出することができるため、製品の品質を上げることができる。請求項7記載のロボット制御装置によれば、ロボットと外部軸が作業対象に対して加えている合成した外力を検出することができるため、製品の品質を上げることができる。請求項8記載のロボット制御装置によれば、推定した外力と予め設定されたしきい値を比較することで、ロボットが作業対象と接触した場合に自動的にロボットを停止させることができ、作業者の負担を減らすことができる。請求項9記載のロボット制御装置によれば、外力差演算値を操作ペンダント上に表示することで、作業者が接触状態を判断することができ、ワークやロボットの破損を回避することができる。請求項10記載のロボットの制御方法によれば、修正量の有効または無効を選択できるため、作業に応じてロボットに柔軟な軸方向と剛性の高い軸方向を選択することが可能になる。
【図面の簡単な説明】
【図1】本発明の第1の基本構成図
【図2】本発明の第1の具体的実施例を表す図
【図3】本発明の第2の具体的実施例を表す図
【図4】本発明の作用を示す図
【図5】本発明の第3の具体的実施例を表す図
【図6】本発明の第4の具体的実施例を表す図
【図7】本発明の第5の具体的実施例を表す図
【図8】本発明のロボットを表す図
【図9】本発明の力の作用を示す図
【図10】従来の制御方式を示す図
【符号の説明】
11:位置速度制御ループ
12:アンプ
13:関節モータ
14:角度計測器
15:運動トルク演算部
16:外乱トルク推定部
17:微小変位関係演算部
18:外力演算部
181:第1の外力演算部
182:第2の外力演算部
183:第3の外力演算部
19:力制御部
20:関節角度修正量演算部
21:トルク演算部
22:運動トルク加算部
23:ヤコビ行列
24:ヤコビ転置行列の逆行列
25:ヤコビ行列の逆行列
26:インピーダンス制御部
27:修正量選択部
28:外力平均演算部
29:停止処理部
30:外力差演算部
31:操作ペンダント
41:スポット溶接ガン
42:可動側電極駆動用モ
43:ワーク
44:固定側電極
45:可動側電極
111:位置ループゲイン
112:速度ループゲイン
113:比例器
114:積分器
115:第2の位置速度制御系
116:位置ループゲイン
117:速度ループゲイン
118:機械系模擬回路
Claims (10)
- ロボットの各軸を駆動するサーボモータ13を制御するために前記各軸毎に位置速度制御系11を含むロボットの制御装置において、
前記サーボモータ13の関節座標系に関する関節角度を計測する角度計測器14と、
関節指令をもとに前記サーボモータ13の運動に必要な運動トルクを演算する運動トルク演算部15と、
前記位置速度制御系11にて演算されたトルク指令と前記運動トルクとの差分により外乱トルクを求める外乱トルク推定部16と、
前記関節角度をもとに前記ロボットの作業座標系と前記サーボモータ13の関節座標系との間のヤコビ行列を演算する微小変位関係演算部17と、
前記外乱トルクに前記ヤコビ行列の転置逆行列を乗じて前記ロボットの作業座標系での外力に変換する外力演算部18と、
インピーダンス制御によって前記外力の方向に応じた前記ロボットの作業座標系での位置修正量を演算する力制御部19と、
前記ロボットの作業座標系での位置修正量に前記ヤコビ行列の逆行列を乗じて前記関節座標系での関節角度修正量に変換する関節角度修正量演算部20とを備えたことを特徴とするロボットの制御装置。 - 前記運動トルク演算部15は、前記ロボットの関節部の重力トルクを演算する重力トルク演算部と、
前記サーボモータ13の加速度トルクを演算する加速度トルク演算部と、
前記サーボモータ13の速度を維持するための速度トルクとを演算する速度トルク演算部と、
前記重力トルクと前記加速度トルクと前記速度トルクとを加算して前記運動トルクを演算する運動トルク加算部22とからなることを特徴とする請求項1記載のロボットの制御装置。 - 前記運動トルク演算部15は、前記位置速度制御系11と同じ位置ループゲインおよび速度ループゲインを用いて前記運動トルクを演算する第2の位置速度制御系115と、
2慣性系モデルによって前記ロボットを模擬し、前記第2の位置速度制御系115が出力する運動トルクをもとに前記関節座標系に関する関節角度を演算して前記第2の位置速度制御系115へフィードバックする機械系模擬回路118とからなることを特徴とする請求項1記載のロボットの制御装置。 - 前記力制御部19は、インピーダンス制御によって前記外力の方向に応じた前記ロボットの作業座標系での位置修正量を演算するインピーダンス制御部26と、
前記ロボットの作業内容に応じて、前記ロボットの作業座標系の特定の方向についての前記位置修正量を有効または無効とする修正量選択部27とからなることを特徴とする請求項1乃至3のいずれか1項に記載のロボット制御装置。 - 前記外力演算部18は、前記外乱トルクに前記ヤコビ行列の転置逆行列を乗じて前記ロボットの作業座標系での外力に変換する第1の外力演算部181と、
前記外乱トルクを前記外力の作用点から前記ロボットの各軸までの距離と、前記各軸の関節角度の正弦または余弦との積により除して前記ロボットの作業座標系での外力に変換する第2の外力演算部182と、
前記第1の外力演算部181と前記第2の外力演算部182の各出力の平均値を求める外力平均演算部28とを備えること特徴とする請求項1乃至4のいずれか1項に記載のロボットの制御装置。 - ロボットの各軸を駆動するサーボモータ13を制御するために前記各軸毎に位置速度制御系11を含み、前記ロボット先端に配置され前記ロボットと協同して作業する外部軸を駆動するサーボモータ13を制御するために外部軸位置速度系を含むロボットの制御装置において、
前記ロボットのサーボモータ13の関節座標系に関する関節角度を計測する角度計測器14と、
前記ロボットへの関節指令をもとに前記ロボットのサーボモータ13の運動に必要なロボット軸運動トルクを演算するロボット軸運動トルク演算部15と、
前記ロボットの位置速度制御系11にて演算されたロボット軸トルク指令と前記ロボット軸運動トルクとの差分によりロボット軸外乱トルクを求めるロボット軸外乱トルク推定部16と、
前記関節角度をもとに前記ロボットの作業座標系と前記サーボモータ13の関節座標系との間のヤコビ行列を演算する微小変位関係演算部17と、
前記ロボット軸外乱トルクに前記ヤコビ行列の転置逆行列を乗じて前記ロボットの作業座標系での外力に変換する第1の外力演算部181と、
前記ロボット軸外乱トルクを前記外力の作用点から前記ロボットの各軸までの距離と、前記各軸の関節角度の正弦または余弦との積により除して前記ロボットの作業座標系での外力に変換する第2の外力演算部182と、
前記第1の外力演算部181と前記第2の外力演算部182の各出力の平均値を求める外力平均演算部28と、
前記外部軸のサーボモータ13の関節座標系に関する関節角度を計測する角度計測器14と、
前記外部軸への関節指令をもとに前記外部軸のサーボモータ13の運動に必要な外部軸運動トルクを演算する外部軸運動トルク演算部15と、
前記外部軸の位置速度制御系11から演算された外部軸トルク指令と前記外部軸運動トルクとの差分により外部軸外乱トルクを求める外部軸外乱トルク推定部16と、
前記外部軸外乱トルクを前記ロボットの作業座標系での外力に変換する第3の外力演算部183とを備えることを特徴とするロボットの制御装置。 - 前記外力平均演算部28の出力である前記ロボットに作用する外力と前記第3の外力演算部の出力である前記外部軸に作用する外力との差分を求める外力差演算部30を備えることを特徴とする請求項6記載のロボットの制御装置。
- 前記外力演算部18の出力が予め設定されたしきい値よりも大きい場合には、前記ロボット各軸又は前記外部軸の少なくとも一つを停止させる停止処理部29を備えることを特徴とする請求項1乃至6のいずれか1項に記載のロボットの制御装置。
- 前記ロボットを操作する操作ペンダント31を備え、
前記外力差演算部30の出力である前記差分を前記操作ペンダント31上に表示することを特徴とする請求項7記載のロボットの制御装置。 - ロボットの各軸を駆動するサーボモータ13を制御するために前記各軸毎に位置速度制御系11を含むロボットの制御装置の制御方法において、
前記ロボットの制御部を機能ブロック化すると共に前記ロボットを2次慣性系モデルとして模擬し、関節指令をもとに算出した運動トルクと前記関節指令をもとに前記位置速度制御系11から出力されたトルク指令との差分により外乱トルクを推定し、
前記外乱トルクに前記ロボットの作業座標系と前記サーボモータ13の関節座標系との間のヤコビ行列の転置逆行列を乗じて前記ロボットの作業座標系での外力を推定し、
前記外力をもとにインピーダンス制御を行い前記ロボットの位置修正量を演算し、
前記位置修正量を有効または無効とすることを特徴とするロボット制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002360053A JP4054984B2 (ja) | 2001-12-20 | 2002-12-12 | ロボットの制御装置および制御方法 |
US10/735,241 US7212886B2 (en) | 2002-12-12 | 2003-12-12 | Robot control apparatus and method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001386915 | 2001-12-20 | ||
JP2001-386915 | 2001-12-20 | ||
JP2002360053A JP4054984B2 (ja) | 2001-12-20 | 2002-12-12 | ロボットの制御装置および制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003245881A JP2003245881A (ja) | 2003-09-02 |
JP4054984B2 true JP4054984B2 (ja) | 2008-03-05 |
Family
ID=28676898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002360053A Expired - Fee Related JP4054984B2 (ja) | 2001-12-20 | 2002-12-12 | ロボットの制御装置および制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4054984B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101474765B1 (ko) * | 2008-12-05 | 2014-12-22 | 삼성전자 주식회사 | 로봇 팔 및 그 제어방법 |
KR20200071588A (ko) * | 2018-12-11 | 2020-06-19 | 주식회사 코아로봇 | 로봇 직접 교시 방법 및 직접 교시 로봇 시스템 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100561862B1 (ko) | 2004-02-11 | 2006-03-16 | 삼성전자주식회사 | 가속도 센서를 이용한 진동 제어 방법 및 장치 |
JP5242342B2 (ja) * | 2008-10-31 | 2013-07-24 | 株式会社東芝 | ロボット制御装置 |
JP5327722B2 (ja) * | 2010-05-07 | 2013-10-30 | 株式会社安川電機 | ロボットの負荷推定装置及び負荷推定方法 |
JP5652261B2 (ja) * | 2011-03-01 | 2015-01-14 | トヨタ自動車株式会社 | ロボットハンドの制御装置 |
JP5902425B2 (ja) | 2011-09-21 | 2016-04-13 | 株式会社東芝 | ロボット制御装置、外乱判定方法およびアクチュエータ制御方法 |
JP6336204B2 (ja) * | 2015-05-21 | 2018-06-06 | 三菱電機株式会社 | ロボット制御装置 |
JP6831530B2 (ja) * | 2016-10-07 | 2021-02-17 | 国立大学法人東海国立大学機構 | 外乱オブザーバ及びロボット制御装置 |
CN113260928B (zh) * | 2019-01-11 | 2024-06-14 | 欧姆龙株式会社 | 控制装置 |
DE102019101595B3 (de) * | 2019-01-23 | 2020-03-12 | Franka Emika Gmbh | Verfahren zum Ermitteln einer Gewichtskraft und eines Schwerpunktes einer Robotermanipulatorlast |
CN112913666B (zh) * | 2021-01-29 | 2023-03-17 | 天津市科睿思奇智控技术有限公司 | 基于gps定位在平移机中运动控制的方法 |
KR20230102084A (ko) * | 2021-12-30 | 2023-07-07 | 울산과학기술원 | 재활 로봇 시스템 및 재활 로봇의 제어방법 |
CN115674188B (zh) * | 2022-09-20 | 2024-01-12 | 南方电网电力科技股份有限公司 | 基于双路滤波器的串联机械臂精确柔顺开环跟踪控制系统 |
-
2002
- 2002-12-12 JP JP2002360053A patent/JP4054984B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101474765B1 (ko) * | 2008-12-05 | 2014-12-22 | 삼성전자 주식회사 | 로봇 팔 및 그 제어방법 |
KR20200071588A (ko) * | 2018-12-11 | 2020-06-19 | 주식회사 코아로봇 | 로봇 직접 교시 방법 및 직접 교시 로봇 시스템 |
KR102130620B1 (ko) * | 2018-12-11 | 2020-07-06 | 주식회사 코아로봇 | 로봇 직접 교시 방법 및 직접 교시 로봇 시스템 |
Also Published As
Publication number | Publication date |
---|---|
JP2003245881A (ja) | 2003-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7212886B2 (en) | Robot control apparatus and method | |
JP4054984B2 (ja) | ロボットの制御装置および制御方法 | |
Belchior et al. | Off-line compensation of the tool path deviations on robotic machining: Application to incremental sheet forming | |
CN104972463A (zh) | 根据力动作的机器人的机器人控制装置及机器人系统 | |
TW201718204A (zh) | 機器人教示方法及機器臂控制裝置 | |
JP6044511B2 (ja) | ロボットの制御方法及びロボットシステム | |
KR102312368B1 (ko) | 여자유도 로봇 제어 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체 | |
JP7481097B2 (ja) | ロボット制御装置 | |
CN104972469A (zh) | 控制与作用的力对应地移动的机器人的机器人控制装置 | |
JP2019188514A (ja) | ロボットを用いた負荷の重量及び重心位置を推定するための装置、方法及びプログラム | |
JP2010231575A (ja) | ロボットのオフライン教示装置、ロボットのオフライン教示方法、及びロボットシステム | |
JP2604929B2 (ja) | ロボットの制御装置 | |
JP2016221653A (ja) | ロボット制御装置およびロボットシステム | |
WO2019017416A1 (ja) | 作業用ロボット、作業用ロボットの制御方法 | |
JP3580562B2 (ja) | ロボット | |
GB2592404A (en) | Robotic device | |
JP2006312207A (ja) | 力覚コントローラ装置及びその制御方法 | |
JPH01146645A (ja) | ならい制御方式 | |
KR102279329B1 (ko) | 로봇 교시 시스템 | |
JPS59189416A (ja) | 産業ロボツトの誘導教示方法 | |
Silawatchananai et al. | Force control of an upper limb exoskeleton for virtual reality using impedance control | |
Goto | Forcefree control for flexible motion of industrial articulated robot arms | |
Wu et al. | Off-line programmed error compensation of an industrial robot in ship hull welding | |
WO2022210186A1 (ja) | ロボットの位置および姿勢を制御するパラメータを算出する制御装置 | |
WO2022210291A1 (ja) | ロボット装置またはワークに作用する外力の許容値を算出する計算装置およびロボットの制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070607 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070620 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070820 |
|
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: 20071114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071127 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101221 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101221 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131221 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141221 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |