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

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

Info

Publication number
JP2016179523A
JP2016179523A JP2015060538A JP2015060538A JP2016179523A JP 2016179523 A JP2016179523 A JP 2016179523A JP 2015060538 A JP2015060538 A JP 2015060538A JP 2015060538 A JP2015060538 A JP 2015060538A JP 2016179523 A JP2016179523 A JP 2016179523A
Authority
JP
Japan
Prior art keywords
arm
robot
drive
postures
drive shaft
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.)
Withdrawn
Application number
JP2015060538A
Other languages
English (en)
Inventor
正樹 元▲吉▼
Masaki Motoyoshi
正樹 元▲吉▼
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 JP2015060538A priority Critical patent/JP2016179523A/ja
Publication of JP2016179523A publication Critical patent/JP2016179523A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】広い空間を確保しなくてもロボットのパラメーターを得ることができる技術の提供。【解決手段】本発明のロボット制御装置は、先端にエンドエフェクターが装着されたアームと、第1の駆動軸と前記第1の駆動軸よりも先端側に位置する第2の駆動軸とで前記アームを駆動する駆動部と、を備えたロボットを制御するロボット制御装置であって、前記アームが複数の姿勢をとるように前記駆動部を制御する制御部と、前記アームが前記複数の姿勢をとった際の力検出器の検出結果に基づいて、前記エンドエフェクターの質量と、前記エンドエフェクターの重心位置と、前記ロボットの重力方向と、前記力検出器のオフセット誤差と、のうちの少なくとも1個を導出する導出部と、を備え、前記制御部は、前記第2の駆動軸の駆動量が前記第1の駆動軸の駆動量よりも大きくなるように前記駆動部を制御して、前記アームに前記複数の姿勢をとらせる。【選択図】図4

Description

本発明は、ロボット制御装置およびロボットシステムに関する。
ロボットアームを複数の姿勢に動作させ、そのときの力センサーの計測値に基づいて、ロボットアームの手先に装着されたツールのパラメーターを算出するキャリブレーション装置が知られている(特許文献1、参照。)。
特開2012−40634号公報
しかしながら、複数の姿勢に動作させる際のロボットアームの可動範囲が大きく、キャリブレーションを行うための空間を広く確保しなければならないという問題があった。
本発明は、前記問題を解決するために創作されたものであって、広い空間を確保しなくてもロボットのパラメーターを得ることができる技術の提供を目的の一つとする。
前記目的を達成するためのロボット制御装置は、先端にエンドエフェクターが装着されたアームと、第1の駆動軸と第1の駆動軸よりも先端側に位置する第2の駆動軸とでアームを駆動する駆動部と、を備えたロボットを制御するロボット制御装置であって、アームが複数の姿勢をとるように駆動部を制御する制御部と、アームが複数の姿勢をとった際の力検出器の検出結果に基づいて、エンドエフェクターの質量と、エンドエフェクターの重心位置と、ロボットの重力方向と、力検出器のオフセット誤差と、のうちの少なくとも1個を導出する導出部と、を備え、制御部は、第2の駆動軸の駆動量が第1の駆動軸の駆動量よりも大きくなるように駆動部を制御して、アームに複数の姿勢をとらせる。
以上の構成において、駆動軸が駆動すれば、アームのうち当該駆動軸よりも先端側の部分が円軌道をとって移動することとなる。駆動する駆動軸が先端側であるほど、アームのうち当該駆動軸よりも先端側の部分の長さが小さくなり、当該先端側の部分の円軌道の半径が小さくなる。従って、先端側に存在する第2の駆動軸の駆動量が第1の駆動軸の駆動量よりも大きくなるように駆動部を制御することにより、アームの軌道円の半径を抑制することができる。すなわち、先端側に存在する第2の駆動軸の駆動量が第1の駆動軸の駆動量よりも大きくなるように駆動部を制御することにより、アームの可動範囲を抑制することができ、広い空間を確保しなくてもエンドエフェクターや力検出器のパラメーターを得ることができる。
なお請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
ロボットシステムの模式図である。 ロボットシステムのブロック図である。 パラメーター導出処理のフローチャートである。 姿勢と関節の回転角との関係を示す表である。 エンドエフェクターの斜視図である。
以下、本発明の実施の形態を以下の順序にしたがって添付図面を参照しながら説明する。なお、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
(1)第1実施形態:
(1−1)ロボットシステムの構成:
(1−2)パラメーターの導出方法:
(2)他の実施形態:
(1)第1実施形態:
(1−1)ロボットシステムの構成:
本発明の第一実施例としてのロボットシステムは、図1に示すように、ロボット1と、エンドエフェクター2と、制御端末3(コントローラー)と、教示端末4(ティーチングペンダント)と、を備えている。制御端末3と教示端末4とは、本発明のロボット制御装置を構成する。制御端末3は、本発明の制御部を構成する。制御端末3と教示端末4とは、それぞれ専用のコンピューターであってもよいし、ロボット1のためのプログラムがインストールされた汎用のコンピューターであってもよい。さらに、制御端末3と教示端末4とは、別々のコンピューターでなくてもよく、単一のコンピューターであってもよい。
ロボット1は、1つのアームAを備える単腕ロボットであり、駆動部としてのアームAは6つの関節J1、J2、J3、J4、J5、J6を備える。関節J1、J2、J3、J4、J5、J6によって6個のアーム部材A1〜A6が連結される。関節J2、J3、J5は曲げ関節であり、関節J1、J4、J6はねじり関節である。関節J6には、ワークに対して把持や加工等を行うためのエンドエフェクター2が装着される。先端の関節J6の回転軸上の所定位置をツールセンターポイント(TCP)と表す。TCPの位置は各種のエンドエフェクター2の位置の基準となる。また、関節J6には力覚センサーFSが備えられている。力覚センサーFSは、6軸の力検出器である。力覚センサーFSは、固有の座標系であるセンサー座標系において互いに直交する3個の検出軸上の力の大きさと、当該3個の検出軸まわりのトルクの大きさとを検出する。
図1において、ワークWを把持するエンドエフェクター2が関節J6の先端に装着されている。ロボット1が設置された空間を規定する座標系をロボット座標系と表す。ロボット座標系は、水平面上において互いに直交するX軸とY軸と、鉛直上向きを正方向とするZ軸とによって規定される3次元の直交座標系である。Z軸における負の方向は概ね重力方向と一致する。またX軸周りの回転角をRXで表し、Y軸周りの回転角をRYで表し、Z軸周りの回転角をRZで表す。X,Y,Z方向の位置により3次元空間における任意の位置を表現でき、RX,RY,RZ方向の回転角により3次元空間における任意の姿勢(回転方向)を表現できる。以下、位置と表記した場合、姿勢も意味し得ることとする。また、力と表記した場合、トルクも意味し得ることとする。制御端末3は、アームAを駆動することによって、ロボット座標系においてTCPの位置を制御する。
図2は、ロボットシステムのブロック図である。制御端末3にはロボット1の制御を行うための制御プログラムがインストールされている。制御端末3は、プロセッサーやRAMやROMを備え、これらのハードウェア資源が制御プログラムと協働する。これにより、制御端末3は、本発明の制御部として機能することとなる。
制御端末3は、例えばユーザーによる教示によって設定された目標位置と目標力とがTCPにて実現されるようにアームAを制御する。目標力とは、力覚センサーFSが検出すべき力である。Sの文字は、ロボット座標系を規定する軸の方向(X,Y,Z,RX,RY,RZ)のなかのいずれか1個の方向を表すこととする。例えば、S=Xの場合、ロボット座標系にて設定された目標位置のX方向成分がSt=Xtと表記され、目標力のX方向成分がfSt=fXtと表記される。また、Sは、S方向の位置も表すこととする。
ロボット1は、図1に図示した構成のほかに、駆動部としてのモーターM1〜M6と、エンコーダーE1〜E6とを備える。アームAを制御するとは、モーターM1〜M6を制御することを意味することとする。モーターM1〜M6とエンコーダーE1〜E6とは、関節J1〜J6のそれぞれに対応して備えられており、エンコーダーE1〜E6はモーターM1〜M6の駆動位置を検出する。制御端末3は、ロボット1と通信可能なっている。制御端末3は、モーターM1〜M6の駆動位置の組み合わせと、ロボット座標系におけるTCPの位置との対応関係U1を記憶している。また、制御端末3は、ロボット1が行う作業の工程ごとに目標位置Stと目標力fStとを記憶している。目標位置Stと目標力fStは例えば教示作業によってロボット1が行う作業の工程ごとに設定される。
制御端末3は、モーターM1〜M6の駆動位置Daを取得すると、対応関係U1に基づいて、当該駆動位置Daをロボット座標系におけるTCPの位置S(X,Y,Z,RX,RY,RZ)に変換する。制御端末3は、TCPの位置Sと、力覚センサーFSの検出値とに基づいて、力覚センサーFSに現実に作用している作用力fSをロボット座標系において特定する。制御端末3は、後述するパラメーター導出処理によって導出されたオフセット誤差を補償するように力覚センサーFSの検出値を補正する。制御端末3は、ロボット座標系におけるTCPの位置Sごとに、力覚センサーFSのセンサー座標系における検出軸の方向を規定した対応関係U2を記憶している。従って、制御端末3は、ロボット座標系におけるTCPの位置Sと対応関係U2とに基づいて、ロボット座標系における作用力fSを特定できる。制御端末3は、作用力fSに対して重力補償を行う。重力補償とは、作用力fSから重力に起因する力やトルクの成分を除去することである。この重力補償において、後述するパラメーター導出処理によって導出されたパラメーターが利用される。また、重力補償を行った作用力fSは、エンドエフェクター2に作用している重力以外の力と見なすことができる。
制御端末3は、目標力fStと作用力fSとをインピーダンス制御の運動方程式に代入することにより、力由来補正量ΔSを特定する。下記の(1)式は、インピーダンス制御の運動方程式である。
Figure 2016179523
(1)式の左辺は、TCPの位置Sの2階微分値に仮想慣性係数mを乗算した第1項と、TCPの位置Sの微分値に仮想粘性係数dを乗算した第2項と、TCPの位置Sに仮想弾性係数kを乗算した第3項とによって構成される。(1)式の右辺は、目標力fStから現実の力fを減算した力偏差ΔfS(t)によって構成される。(1)式における微分とは、時間による微分を意味する。ロボット1が行う工程において、目標力fStとして一定値が設定される場合もあるし、目標力fStとして時間に依存する関数によって導出される値が設定される場合もある。
インピーダンス制御とは、仮想の機械的インピーダンスをモーターM1〜M6によって実現する制御である。仮想慣性係数mはTCPが仮想的に有する質量を意味し、仮想粘性係数dはTCPが仮想的に受ける粘性抵抗を意味し、仮想弾性係数kはTCPが仮想的に受ける弾性力のバネ定数を意味する。各係数m,d,kは方向ごとに異なる値に設定されてもよいし、方向に拘わらず共通の値に設定されてもよい。力由来補正量ΔSとは、TCPが機械的インピーダンスを受けた場合に、目標力fStとの力偏差ΔfS(t)を解消するために、TCPが移動すべき位置Sの大きさを意味する。制御端末3は、目標位置Stに、力由来補正量ΔSを加算することにより、インピーダンス制御を考慮した補正目標位置(St+ΔS)を特定する。
そして、制御端末3は、対応関係U1に基づいて、ロボット座標系を規定する各軸の方向の補正目標位置(St+ΔS)を、各モーターM1〜M6の目標の駆動位置である目標駆動位置Dtに変換する。そして、制御端末3は、目標駆動位置DtからモーターM1〜M6の現実の駆動位置Daを減算することにより、駆動位置偏差De(=Dt−Da)を算出する。そして、制御端末3は、駆動位置偏差Deに位置制御ゲインKpを乗算した値と、現実の駆動位置Daの時間微分値である駆動速度との差である駆動速度偏差に、速度制御ゲインKvを乗算した値とを加算することにより、制御量Dcを特定する。なお、位置制御ゲインKpおよび速度制御ゲインKvは、比例成分だけでなく微分成分や積分成分にかかる制御ゲインを含んでもよい。制御量Dcは、モーターM1〜M6のそれぞれについて特定される。以上説明した構成により、制御端末3は、目標位置Stと目標力fStとに基づいてアームAを制御することができる。
教示端末4には、制御端末3に目標位置Stと目標力fStとを教示するための教示プログラムがインストールされている。教示端末4は、プロセッサーやRAMやROMを備え、これらのハードウェア資源が制御プログラムと協働する。これにより、図2に示すように、教示端末4は、機能構成として姿勢設定部41と導出部42とを備えることとなる。図示しないが、教示端末4は、ユーザーからの指示を受け付ける入力装置(マウス、キーボード、タッチパネル等)と、ユーザーに各種情報を出力する出力装置(ディスプレイ、スピーカー等)を備える。以下、姿勢設定部41と導出部42とが行う処理の詳細をフローチャートとともに説明する。
図3は、パラメーター導出処理のフローチャートである。パラメーター導出処理は、例えばエンドエフェクター2を交換した場合に実行される処理である。パラメーター導出処理は、アームAにエンドエフェクター2が装着された状態で行われ、エンドエフェクター2でワークWを把持した状態で行われてもよい。まず、姿勢設定部41は、アームAの先端側の3個の関節J4〜J6の回転軸方向を取得する(ステップS100)。パラメーター導出処理を開始するにあたり、例えばアームAが所望の姿勢をとるようにユーザーが手でアームAを動かしてもよい。パラメーター導出処理の開始時におけるアームAの姿勢はどのようなものであってもよいが、ユーザーはロボット1が設置された環境において障害物からできるだけ離れた位置となるようにアームAの姿勢をとらせておくことが望ましい。
姿勢設定部41は、現在におけるモーターM1〜M6の駆動位置Daに基づいてロボット座標系における関節J4〜J6の回転軸方向を算出できる。例えば、アームAの根本側から数えて4個目の関節J4の回転軸方向は、関節J4よりも根本側の関節J1〜J3を駆動するモーターM1〜M3の駆動位置Daに基づいて算出できる。
次に、姿勢設定部41は、関節J4〜J6の回転軸方向が適正であるか否かを判定する(ステップS110)。すなわち、姿勢設定部41は、アームAが備える6軸の関節J1〜J6のうち、先端側の3軸の関節J4〜J6の回転軸方向が適正であるか否かを判定する。関節J4〜J6の回転軸方向が適正であるとは、関節J4〜J6のすべての回転軸方向がZ軸の方向から所定角度(例えば3度)以上ずれた方向であることを意味する。本実施形態において、重力方向は厳密には未知であるが、ロボット座標系のZ軸における負の方向は概ね重力方向と一致するため、Z軸の方向から所定角度以上ずれた方向は重力方向から所定基準以上ずれた方向であると見なすことができる。
関節J4〜J6の回転軸方向が適正であると判定しなかった場合(ステップS110:N)、姿勢設定部41は、アームAを駆動させる(ステップS120)。すなわち、姿勢設定部41は、制御端末3に対して、関節J4〜J6の回転軸方向が変化するようにアームAの制御を実行させる。例えば、姿勢設定部41は、先端側の3個の関節J4〜J6のうち、最も根本側の関節J3が現在の位置から所定角度(例えば5度)だけ回転するようにアームAを駆動させることにより、関節J4〜J6の回転軸方向を一括して変化させてもよい。アームAを駆動させると、姿勢設定部41は、ステップS100に戻る。以上の処理により、姿勢設定部41は、関節J4〜J6のすべての回転軸方向が重力方向から所定基準以上ずれたと見なせる方向となるまでアームAを駆動することができる。
一方、関節J4〜J6の回転軸方向が適正であると判定した場合(ステップS110:Y)、姿勢設定部41と導出部42とは、複数の姿勢をとるようにアームAを制御し、姿勢ごとに力覚センサーFSの検出結果を取得する(ステップS130)。具体的に、姿勢設定部41は、制御端末3に指令することにより、アームAが備える駆動軸としての関節J1〜J6のうち先端側の3個の関節J4〜J6が駆動し、残りの3個の関節J1〜J3が駆動しないようにモーターM1〜M6を制御して、アームAに複数の姿勢をとらせる。すなわち、姿勢設定部41は、第1の駆動軸としての関節J1〜J3よりも先端側に位置する第2の駆動軸としての関節J4〜J6の駆動量が、第1の駆動軸としての関節J1〜J3の駆動量よりも大きくなるようにモーターM1〜M6を制御して、アームAに複数の姿勢をとらせる。なお、姿勢設定部41は、ステップS110において関節J4〜J6の回転軸方向が適正であると判定した際における関節J4〜J6の回転角をモーターM4〜M6の駆動位置Daに基づいて取得し、当該回転角を初期角として記憶媒体に記憶する。
図4は、アームAの複数の姿勢と関節J1〜J6の回転角との関係を示す表である。図4に示すように、アームAの複数の姿勢として、第1〜第8姿勢が定義されている。姿勢設定部41は、制御端末3に対して、関節J1〜J6の回転角に対応するモーターM1〜M6の目標駆動位置Dtを出力することにより、アームAに第1〜第8姿勢をとらせる。図4に示すように、第1〜第8姿勢のいずれにおいても、第1の駆動軸としての関節J1〜J3の回転角は初期角に維持される。すなわち、アームAが第1〜第8姿勢をとった場合における関節J1〜J3に対応するモーターM1〜M3の駆動量はいずれも0となる。第2〜第8姿勢において、第2の駆動軸としての関節J4〜J6のうち少なくとも1個の回転角は初期角から60度変化する。
ここで、関節J4の回転軸方向が重力方向であるとした場合、関節J4以外の関節J1〜J3,J5,J6の回転角が同一の姿勢同士が、重力方向の軸まわりに回転対称となる。関節J4の回転軸方向が重力方向である場合、第1姿勢と第5姿勢とが重力方向の軸まわりに回転対称となり、第2姿勢と第6姿勢とが重力方向の軸まわりに回転対称となり、第3姿勢と第7姿勢とが重力方向の軸まわりに回転対称となり、第4姿勢と第8姿勢とが重力方向の軸まわりに回転対称となる。従って、関節J4の回転軸方向が重力方向であるとした場合、第1〜第8姿勢のうち、重力方向の軸まわりに対称とならない姿勢の個数は4個となる。同様に、関節J5の回転軸方向が重力方向であるとした場合、第1〜第8姿勢のうち、重力方向の軸まわりに対称とならない姿勢の個数は4個となる。さらに、関節J6の回転軸方向が重力方向であるとした場合、第1〜第8姿勢のうち、重力方向の軸まわりに対称とならない姿勢の個数は4個となる。本実施形態では、ステップS100〜S120によって、鉛直方向に対して関節J4〜J6の回転軸方向がずれた方向となっていることが保証されているため、第1〜第8姿勢のうち、重力方向の軸まわりに対称とならない姿勢の個数は閾値としての8個以上となる。
ここで、駆動する関節J1〜J6が先端側であるほど、アームAのうち当該関節J4〜J6よりも先端側の部分の長さが小さくなり、当該先端側の部分の円軌道の半径が小さくなる。従って、先端側の関節J4〜J6の駆動量が根本側の関節J1〜J3の駆動量よりも大きくなるようにモーターM1〜M6を制御することにより、アームAの軌道円の半径を抑制することができる。すなわち、ステップS130においてアームAの可動範囲を抑制することができ、広い空間を確保しなくても済む。なお、ステップS130においては、エンドエフェクター2に重力のみが作用するようにする必要があり、アームAが障害物に接触しないことが要求される。
ステップS130において、導出部42は、第1〜第8姿勢のそれぞれにおける力覚センサーFSの検出結果をロボット1から取得する。すなわち、導出部42は、力覚センサーFSに固有のセンサー座標系において互いに直交する3個の検出軸上の力の大きさと、当該3個の検出軸まわりのトルクの大きさとを取得する。
そして、導出部42は、第1〜第8姿勢と力覚センサーFSの検出結果とに基づいてパラメーターを導出する(ステップS140)。ここで導出されるパラメーターおよびパラメーターを導出方法の詳細については後述する。最後に、導出部42は、導出したパラメーターを制御端末3に出力する(ステップS150)。これにより、導出したパラメーターに基づいて制御端末3はアームAの制御(例えば重力補償)を行うことが可能となる。
(1−2)パラメーターの導出方法:
以下、図3のステップS140においてパラメーターを導出する手法について説明する。図5は、エンドエフェクター2の斜視図である。図5に示すように、力覚センサーFSの基準位置Oから互いに直交する方向(α方向,β方向,γ方向)に延びる3個の検出軸によってセンサー座標系が規定されており、各検出軸の方向における力のベクトルF=[Fα,Fβ,Fγ]と、各検出軸まわりのトルクのベクトルT=[Tα,Tβ,Tγ]とが力覚センサーFSの検出結果として取得されている。
まず、センサー座標系におけるエンドエフェクター2および把持しているワークの重心位置GPの位置ベクトルrを下記の(2)式のように定義する。
Figure 2016179523
ここで、エンドエフェクター2に重力のみが作用している場合の力の釣り合いを考えると、以下の(3)式が成り立つ。
Figure 2016179523
また、エンドエフェクター2に重力のみが作用している場合のモーメントの釣り合いを考えると、以下の(4)式が成り立つ。
Figure 2016179523
前記の(3)(4)式において、姿勢行列Rは、ロボット座標系からみた力覚センサーFSの姿勢を表す回転行列である。導出部42は、モーターM1〜M6の駆動位置の組み合わせと、ロボット座標系におけるTCPの位置との対応関係U1に基づいて、図4に示す各姿勢をとった場合のTCPの位置Sを導出する。さらに、導出部42は、ロボット座標系におけるTCPの位置Sごとに、力覚センサーFSのセンサー座標系における検出軸の方向を規定した対応関係U2に基づいて、図4に示す姿勢のそれぞれについて姿勢行列Rを導出できる。ベクトルgは、ロボット座標系における重力加速度のベクトルであり、そのベクトルの大きさの絶対値は重量加速度の大きさを示すスカラーであり、例えば9.8m/s2である。ベクトルFofsはセンサー座標系における力のオフセット誤差であり、ベクトルTofsはセンサー座標系におけるトルクのオフセット誤差である。また、行列の右肩のTは転置行列であることを意味する。meはエンドエフェクター2および把持しているワークの質量を表す。
図4に示すi(i=1〜7)番目の姿勢において検出された力のベクトルFから、0(i=0)番目の第1姿勢において検出された力のベクトルFを減算した力差ベクトルをFiと表すこととする。前記の(3)式により、力差ベクトルをFiは、下記の(5)式のように表すことができる。
Figure 2016179523
姿勢行列Riはi番目の姿勢において、ロボット座標系からみた力覚センサーFSの姿勢を表す回転行列である。
i(i=1〜7)番目の姿勢において検出されたトルクのベクトルTから、0(i=0)番目の第1姿勢において検出されたトルクのベクトルTを減算したトルク差ベクトルをTiと表すこととする。前記の(4)式により、トルク差ベクトルをTiは、下記の(6)式のように表すことができる。
Figure 2016179523
ここで、(5)式の左辺の力差ベクトルFiを1〜7番目の姿勢についてまとめたベクトルを統合力差ベクトルFallとし、(5)式の右辺の行列(Ri−R0Tを1〜7番目の姿勢についてまとめた行列を統合姿勢差行列Rallとする。統合力差ベクトルFallと統合姿勢差行列Rallは下記の(7)式で表される。
Figure 2016179523
統合力差ベクトルFallと統合姿勢差行列Rallを用いると(5)式は、下記の(8)式のように表すことができる。
Figure 2016179523
さらに、(8)式は下記の(9)式のように変形できる。
Figure 2016179523
最小二乗法等によって、(9)式に基づいてgmeを求め、当該gmeのベクトルの大きさを既知の重力加速度の大きさのスカラー量で除算することにより、導出部42は、エンドエフェクター2の質量meを導出できる。
また、gmeをmeで除算することにより、導出部42は、重力加速度の方向を含む重力加速度ベクトルgを導出できる。
次に、エンドエフェクター2の重心位置GPの導出方法について説明する。まず、各姿勢において力覚センサーの姿勢とエンドエフェクター2の質量meと重力加速度ベクトルgにより算出される力をベクトルaで表し、当該算出された力の差のベクトルFiを算出力差ベクトルai=[aα,aβ,aγ]と定義する。これを(5)式に当てはめると、下記の(10)式のように表すことができる。
Figure 2016179523
また、(10)式の関係を(6)式に代入すると、下記の(11)式を得ることができる。
Figure 2016179523
ただし、Aは下記の(12)式で表される。また、Aを算出力差行列と表記する。
Figure 2016179523
ここで、(6)式の左辺のトルク差ベクトルTiを1〜7番目の姿勢についてまとめたベクトルを統合トルク差ベクトルTallとし、(12)式の算出力差行列Aを1〜7番目の姿勢についてまとめたベクトルを統合算出力差ベクトルAallとする。統合力差ベクトルFallと統合算出力差ベクトルAallは下記の(13)式で表される。
Figure 2016179523
統合トルク差ベクトルTallと統合算出力差ベクトルAallと用いると(11)式は、下記の(14)式のように表すことができる。
Figure 2016179523
さらに、(14)式は下記の(15)式のように変形できる。
Figure 2016179523
最小二乗法等によって、(15)式に基づいて、導出部42は、(2)式に示す重心位置GPの位置ベクトルrを導出できる。重心位置GPの位置ベクトルrを導出することは、エンドエフェクター2の重心位置を導出することを意味する。
導出したエンドエフェクター2の質量meを(3)式に代入して解くことにより、導出部42は、力のオフセット誤差Fofsを導出できる。さらに、導出したエンドエフェクター2の質量meと重心位置GPの位置ベクトルrを(4)式に代入して解くことにより、導出部42は、トルクのオフセット誤差Mofsを導出できる。
以上のようにして導出したパラメーターを制御端末3に出力することにより、制御端末3は力覚センサーFSの検出値に対してオフセット誤差補償と重力補償とを行うことが可能となる。エンドエフェクター2に作用する重力は、重心位置GPに位置する質量meの質点に作用する重力と同視できるため、制御端末3は、以上のようにして導出したパラメーターを使用して力覚センサーFSの検出値から重力成分(力,トルク)を除去できる。むろん、以上のようにして導出したパラメーターに基づいて、制御端末3の制御における各種パラメーターfSt,k,m,d,Kp,Kvが設定されてもよい。
(2)他の実施形態
図3のステップS110において、関節J4〜J6の回転軸方向が適正であると判定しなかった場合、姿勢設定部41は、制御端末3にアームAを駆動させるのではなく、ユーザーにアームAを動かすよう促してもよい。すなわち、重力方向からのずれが所定基準以内の軸まわりに対称とならない姿勢の個数は閾値としての8個未満となる場合おいて、導出部42は、ユーザーに通知を行ってもよい。例えば、導出部42は、ユーザーにアームAを動かすべき旨のメッセージを教示端末4のディスプレイに表示させてもよい。なお、閾値は必ずしも8個でなくてもよく、導出パラメーターの精度に応じて閾値が増減してもよい。
ロボット1は、必ずしも6軸の単腕ロボットでなくてもよく、ロボット1は、双腕ロボットであってもよいし、スカラーロボットであってもよい。また、ロボット1は、少なくとも2軸の駆動軸を備えたロボットであればよい。例えば、2軸のうち、先端側の駆動軸の回転角の範囲をQ度とするのに対して、もう一方の駆動軸の回転角の範囲をP(<Q)度に制限して、複数の姿勢をとるようにしてもよい。また、力検出器は、力覚センサーFSでなくてもよく、関節J1〜J6ごとに当該関節J1〜J6に作用するトルクを検出するトルクセンサーであってもよい。また、トルクセンサーの代わりにモーターM1〜M6の負荷に基づいてトルクが検出されてもよい。
1…ロボット、2…エンドエフェクター、3…制御端末、4…教示端末、41…姿勢設定部、42…導出部、A1〜A6…アーム部材、E1〜E6…エンコーダー、FS…力覚センサー、GP…重心位置、J1〜J6…関節、M1〜M6…モーター、W…ワーク、d…仮想粘性係数、k…仮想弾性係数、m…仮想慣性係数

Claims (6)

  1. 先端にエンドエフェクターが装着されたアームと、第1の駆動軸と前記第1の駆動軸よりも先端側に位置する第2の駆動軸とで前記アームを駆動する駆動部と、を備えたロボットを制御するロボット制御装置であって、
    前記アームが複数の姿勢をとるように前記駆動部を制御する制御部と、
    前記アームが前記複数の姿勢をとった際の力検出器の検出結果に基づいて、
    前記エンドエフェクターの質量と、
    前記エンドエフェクターの重心位置と、
    前記ロボットの重力方向と、
    前記力検出器のオフセット誤差と、のうちの少なくとも1個を導出する導出部と、を備え、
    前記制御部は、前記第2の駆動軸の駆動量が前記第1の駆動軸の駆動量よりも大きくなるように前記駆動部を制御して、前記アームに前記複数の姿勢をとらせる、
    ロボット制御装置。
  2. 前記制御部は、回転軸方向が重力方向から所定基準以上ずれた駆動軸が駆動するように前記駆動部を制御して、前記アームに前記複数の姿勢をとらせる、
    請求項1に記載のロボット制御装置。
  3. 前記制御部は、重力方向からのずれが所定基準以内の軸まわりに対称とならない姿勢の個数が閾値以上となるように前記駆動部を制御して、前記アームに前記複数の姿勢をとらせる、
    請求項1または請求項2に記載のロボット制御装置。
  4. 前記導出部は、前記複数の姿勢のうち、重力方向からのずれが所定基準以内の軸まわりに対称とならない姿勢の個数が閾値未満となる場合に、ユーザーに通知を行う、
    請求項1または請求項2に記載のロボット制御装置。
  5. 前記アームは6軸の駆動軸を備え、
    前記制御部は、前記アームが備える駆動軸のうち先端側の3軸が駆動し、残りの3軸が駆動しないように前記駆動部を制御して、前記アームに前記複数の姿勢をとらせる、
    請求項1から請求項4のいずれか一項に記載のロボット制御装置。
  6. 第1の駆動軸と前記第1の駆動軸よりも先端に位置する第2の駆動軸とを有するアームを駆動する駆動部と、
    前記アームに作用する力を検出する力検出器と、
    前記アームが複数の姿勢をとるように前記駆動部を制御する制御部と、
    前記アームが前記複数の姿勢をとった際の前記力検出器の検出結果に基づいて、
    前記エンドエフェクターの質量と、
    前記エンドエフェクターの重心位置と、
    前記ロボットの重力方向と、
    前記力検出器のオフセット誤差と、のうちの少なくとも1個を導出する導出部と、を備え、
    前記制御部は、前記第2の駆動軸の駆動量が前記第1の駆動軸の駆動量よりも大きくなるように前記駆動部を制御して、前記アームに前記複数の姿勢をとらせる、
    ロボットシステム。
JP2015060538A 2015-03-24 2015-03-24 ロボット制御装置およびロボットシステム Withdrawn JP2016179523A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015060538A JP2016179523A (ja) 2015-03-24 2015-03-24 ロボット制御装置およびロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015060538A JP2016179523A (ja) 2015-03-24 2015-03-24 ロボット制御装置およびロボットシステム

Publications (1)

Publication Number Publication Date
JP2016179523A true JP2016179523A (ja) 2016-10-13

Family

ID=57131426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015060538A Withdrawn JP2016179523A (ja) 2015-03-24 2015-03-24 ロボット制御装置およびロボットシステム

Country Status (1)

Country Link
JP (1) JP2016179523A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107962563A (zh) * 2016-10-20 2018-04-27 精工爱普生株式会社 控制装置、机器人以及机器人系统
JP2019022916A (ja) * 2017-07-24 2019-02-14 セイコーエプソン株式会社 ロボット制御装置、ロボット制御方法、ロボットシステムおよびシミュレーション装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07205075A (ja) * 1994-01-25 1995-08-08 Nippon Steel Corp 力制御ロボットにおけるエンドエフェクタの重量補償方法
JP2011194497A (ja) * 2010-03-18 2011-10-06 Denso Wave Inc ロボットの制御装置及びロボットの位置修正制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07205075A (ja) * 1994-01-25 1995-08-08 Nippon Steel Corp 力制御ロボットにおけるエンドエフェクタの重量補償方法
JP2011194497A (ja) * 2010-03-18 2011-10-06 Denso Wave Inc ロボットの制御装置及びロボットの位置修正制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107962563A (zh) * 2016-10-20 2018-04-27 精工爱普生株式会社 控制装置、机器人以及机器人系统
JP2019022916A (ja) * 2017-07-24 2019-02-14 セイコーエプソン株式会社 ロボット制御装置、ロボット制御方法、ロボットシステムおよびシミュレーション装置
JP7187765B2 (ja) 2017-07-24 2022-12-13 セイコーエプソン株式会社 ロボット制御装置

Similar Documents

Publication Publication Date Title
JP6314426B2 (ja) ロボット制御装置およびロボット制御方法
US11090805B2 (en) Robot
JP5327722B2 (ja) ロボットの負荷推定装置及び負荷推定方法
JP6046218B1 (ja) 物体と物体とを合わせ状態にするロボットのロボット制御装置
CN106003101B (zh) 机器人控制装置以及机器人系统
EP3124183B1 (en) Robot, control apparatus, and robot system
EP2703130A2 (en) Robot
EP3100830A2 (en) Robot, robot control apparatus, robot control method, and robot system
KR101688344B1 (ko) 다관절 로봇의 위빙 제어 장치
Lange et al. Force and trajectory control of industrial robots in stiff contact
JP4858229B2 (ja) ロボットに取り付けられた負荷の質量と重心位置の算出方法
US20140067119A1 (en) Robot
KR101498835B1 (ko) 7축 다관절 로봇의 제어방법, 제어 프로그램 및 로봇 제어장치
JP2009066685A (ja) ロボット装置及びロボット装置の制御方法
JP5893664B2 (ja) 作用された力に応じて移動されるロボットを制御するロボット制御装置
JP6044511B2 (ja) ロボットの制御方法及びロボットシステム
CN113286683A (zh) 用于确定机器人机械手的负载的重力和重心的方法
JP2016190292A (ja) ロボット制御装置、ロボットシステムおよびロボット制御方法
CN110774280A (zh) 机器人系统
JP2016179523A (ja) ロボット制御装置およびロボットシステム
JP2021003771A (ja) ロボットシステム
JP2016221646A (ja) ロボットおよびロボットシステム
JP2009220184A (ja) 産業用ロボットの出力トルク制限回路
JP6036476B2 (ja) ロボット
JP2017056558A (ja) ロボット

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180302

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20180905

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20190507