JP2013018075A - ロボット、ロボット制御装置、ロボット制御方法、およびプログラム - Google Patents
ロボット、ロボット制御装置、ロボット制御方法、およびプログラム Download PDFInfo
- Publication number
- JP2013018075A JP2013018075A JP2011152784A JP2011152784A JP2013018075A JP 2013018075 A JP2013018075 A JP 2013018075A JP 2011152784 A JP2011152784 A JP 2011152784A JP 2011152784 A JP2011152784 A JP 2011152784A JP 2013018075 A JP2013018075 A JP 2013018075A
- Authority
- JP
- Japan
- Prior art keywords
- force sensor
- hand
- value
- constant
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000004364 calculation method Methods 0.000 claims abstract description 94
- 230000005484 gravity Effects 0.000 claims abstract description 85
- 238000001514 detection method Methods 0.000 claims abstract description 81
- 230000014509 gene expression Effects 0.000 claims description 48
- 238000003384 imaging method Methods 0.000 claims description 17
- 230000000694 effects Effects 0.000 abstract description 6
- 230000036544 posture Effects 0.000 description 85
- 239000013598 vector Substances 0.000 description 23
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 238000005259 measurement Methods 0.000 description 4
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
【解決手段】ハンドとアーム2との間に介挿されている力センサー30に対して入力される重力の影響をモデル化した定数を有するモデル式を記憶する記憶部104と、ハンドが対象物を把持していない状態における力センサーが出力する検出値を用いて、モデル式の定数の値を算出する変数算出部106と、変数算出部が算出した定数をモデル式に代入して力センサーに対して入力される重力の影響の補正値を算出し、力センサーが出力する検出値から算出した補正値を差し引くことで、力センサーの検出値を補正する補正部107とを備える。
【選択図】図3
Description
図1は、本実施形態に係るロボット1の概略構成を示す斜視図である。図1に示すように、ロボット1は、1本のアーム2、固定部10、力センサー30、及びハンド40を備える。また、ロボット1は、制御装置100の制御により動作する。また、対象物70は、ステージ72の上面に配置されている。また、ハンド40による物体の把持状態を撮像する撮像装置50が、ステージ72の上面に配置されている。
制御装置100は、アーム2、及びハンド40を制御する。制御装置100の詳細は後述する。なお、制御装置100は、固定部10の外部ではなく、固定部10の内部に設けるようにしてもよい。
図2に示すように、アーム2は、回転部82、83及び85と、屈折部81、84及び86とを有している。そして、アーム2は、ハンド40との間に力センサー30を有している。
図3に示すように、制御装置100は、アーム制御部101、駆動部102、センサー出力取得部103、記憶部104、姿勢算出部105、変数算出部106、センサー値補正部107、画像取得部108、画像記憶部109、把持状態判別部110、および制御部111を備えている。
画像取得部108は、変換した画像データをフレーム番号と関連付けて画像記憶部109に記憶させる。なお、撮像装置50が出力する画像データがデジタル信号の場合、画像取得部108は、取得した画像データを、変換せずにそのまま画像記憶部109に記憶させる。
図4は、本実施形態に係るハンド40による把持状態を説明する図である。図4(a)は、対象物70の質量重心が、破線201の位置に把持されている状態を説明する図であり、図4(b)は、対象物70の質量重心が、破線201からy軸の負方向に距離Lだけずれ破線202の位置に把持されている状態を説明する図である。例えば、図4(a)が1フレーム前における画像データであり、図4(b)が最新のフレームの画像データである。
把持状態判別部110は、例えば、このような図4(a)の画像データと、図4(b)の画像データとを比較して、対象物70の把持状態が変化しているか否かを判別する。
図5は、記憶部104が記憶するハンド40の姿勢(α、β、γ)の3つの成分α、β、及びγと力センサー30の出力の一例を示す図である。図5に示すように、記憶部104には、例えば、姿勢(α、β、γ)の3つの成分α1、β1、γ1の場合の力センサー30の出力値f111が関連づけられて記憶されている。また、記憶部104には、後述する力センサー30の出力値のモデル式が記憶されている。
図6は、記憶部104が記憶する把持状態とモデル式におけるfx、fy、fzの各定数の一例を示す図である。なお、モデル式とは、後述するように、力センサー30の出力ベクトルをモデル化した式である。図6に示すように、記憶部104には、番号と姿勢と定数値が関連づけられて記憶されている。番号は識別子であり、把持状態は、把持状態判別部110が判別した結果である。変数値は、算出されたモデル式におけるfx、fy、fzの各定数である。
例えば、把持状態1は、ハンド40が対象物70を把持していない状態の状態番号である。そして、この把持状態1と関連づけられて記憶されているモデル式におけるfx、fy、fzの各変数は、ハンド40が対象物70を把持していない場合に変数算出部106が算出したモデル式におけるfx、fy、fzの各定数である。
例えば、把持状態2は、ハンド40が対象物70を把持している状態の状態番号である。そして、この把持状態2と関連づけられて記憶されているモデル式におけるfx、fy、fzの各変数は、ハンド40が対象物70を把持している場合に変数算出部106が算出したモデル式におけるfx、fy、fzの各定数である。
(測定)変数算出部106は、変数取得モードの場合、制御部111がハンド40の姿勢を変化させるのに合わせて、ハンド40の姿勢毎に、センサー出力取得部103が取得した力センサー30の検出値(力成分とトルク成分)と、姿勢取得部106が取得したハンドの姿勢を記憶部104に一時的に記憶させる。
(フィッティング)全てのハンド40の姿勢の変化が完了した後、変数算出部106は、任意の姿勢における力センサー30の出力を模したモデル式が、記憶部104に一次記憶したハンド40の姿勢と、それに対応する力センサー30の検出値を再現するように、後述するようにモデル式を構成する各項に含まれる定数を決定する。
(データの格納)定数決定後、変数算出部106は、決定した各定数を把持状態判別部110が出力する現在の把持状態の判別結果と関連づけて記憶部104に記憶させる。
センサー値補正部107は、センサー出力取得部103が出力する現在の力センサー30の検出値から、算出した重力の影響を差し引いた値をアーム制御部101に出力する。
図7(a)において、各軸がX、Y、およびZで表現される座標系Σは、6軸のアーム2の座標系である。また、各軸がx、y、およびzで表現される座標系ζは、ハンド40(手先とも言う)の座標系(ZYZ固定角座標)である。また、図7(a)〜図7(c)において、符号301は、力センサー30の表面である。
図7(a)〜図7(c)に示すように、最初のZ軸に関する回転角をγ、次のY軸に関する回転角をβ、最後のZ軸に関する回転角をαとする。ZYZ固定角による表現では、まず、図7(b)に示すように、座標系ΣをZ軸周りに角度γ回転させて、座標系Σ’を作る。次に、図7(c)に示すように、回転させた座標系Σ’をY軸周りに角度β回転させて、座標系Σ’’を作る。そして、回転させた座標系Σ’’をZ軸周りに角度α回転させて、座標系Σ’’’を作る。この座標系Σ’’は、座標系ζである。なお、ZYZ固定角表現は、回転後の軸ではなく、最初に設定した軸に対して回転させた表現である。
本実施形態では、モデル式を、次式(4)〜(9)、及び定数を含む高々3次式とする。
図8は、ハンド40とハンドに把持された対象物70に加わる重力について説明する図である。図8に示すように、ハンド40とハンド40に把持されている対象物70に加わる重力ベクトルfhの向きが、アーム2の座標系ΣのXY平面にあるとする。また、ハンド40とハンド40に把持されている対象物70に加わる重力ベクトルfhとZ軸とのなす角がβ0であるとする。
図8において、ベクトルfhを座標系Σで表現すると、次式(10)のように表される。
上述した式(1)〜(3)と、式(10)より、力センサー30の力成分は、それらの内積である。このため、力センサー30の出力ベクトルfsensorは、次式(11)のように表される。
式(11)のfmxのα、β、及びγの三角関数の高々3次式のモデル式は、例えば、次式(12)のように、で表される。
そして、センサー値補正部105は、算出した定数をfmx、fmy、fmzに組み込み、ハンドに加わる重力の影響による補正値を算出する。
力センサー30のトルク成分のモデル式は、3次元空間上で姿勢を表す3つの変数と、それらの三角関数の高々3次式で表される。変数算出部106は、ハンド40の姿勢のα、β、及びγを変化させながら力センサー40が取得した出力値に基づき、モデル式の各定数を算出する。センサー値補正部105は、モデル式に算出した定数を組み込み、ハンドに加わる重力の影響による補正値を算出する。
まず、アーム制御部101は、制御部111が出力する変数取得モードを示す情報に基づき、駆動部102を介して、ハンド40の姿勢(α、β、γ)の3つの成分α、β、及びγを順次、変化させる。姿勢算出部106は、制御部111がハンド40の姿勢を変化させるのに合わせて、ハンド40の姿勢毎に、センサー出力取得部103が取得した力センサー30の検出値(力成分とトルク成分)である出力値ベクトルf(αi、βi、γi)と、姿勢取得部106が取得したハンドの姿勢を記憶部104に一時的に記憶させる。
なお、変化させる範囲は、αが0[deg]〜360[deg]、βが0[deg]〜180[deg]、γが0[deg]〜360[deg]である。この角度の範囲で、例えば、10[deg]間隔で、アーム制御部101は、α、β、及びγの全ての組み合わせについて姿勢を変化させる。ステップS101終了後、ステップS102に進む。
次に、変数算出部106は、記憶部104に記憶されているモデル式を読み出し、読み出したモデル式のxyzの各成分(以下、各モデル式という)fmx、fmy、fmzの各定数(パラメーターともいう)cjの初期値を設定する。なお、各定数cjの初期値は、例えば、乱数を用いて予め定めておき、記憶部104に記憶しておく。なお、何度かフィッティングをしている場合は、前回のフィッティングした結果を初期値として用いることで、繰り返し計算の回数を低減できる場合もある。
次に、変数算出部106は、設定した各定数cjの初期値を、各モデル式fmx、fmy、fmzに組み込み(代入し)、モデル式出力値ベクトルfm(αi、βi、γi)を算出する。このモデル式出力値ベクトルfm(αi、βi、γi)で算出される値が、ハンド40に加わる重力の影響であるため、力センサー30の検出値に対する補正値である。
ステップS102終了後、ステップS103に進む。
(ステップS103)
次に、変数算出部106は、記憶部104に記憶されているハンド40の姿勢毎の出力値ベクトルf(αi、βi、γi)を順次、読み出し、読み出したハンド40の姿勢毎の出力値ベクトルf(αi、βi、γi)をモデル式に代入する。次に、変数算出部106は、出力値ベクトルf(αi、βi、γi)とモデル式出力値ベクトルfm(αi、βi、γi)との2乗誤差の総和Sを、次式(18)により算出する。ステップS103終了後、ステップS104に進む。
次に、変数算出部106は、ステップS103で算出した2乗誤差の総和Sが、予め定めたしきい値よりも小さいか否かを判別する。また、変数算出部106は、各姿勢において、読み出した出力値ベクトルf(αi、βi、γi)とモデル式出力値ベクトルfm(αi、βi、γi)との2乗誤差を算出し、算出した2乗誤差が予め定めたしきい値よりも小さいか否かを判別する。各姿勢の2乗誤差が予め定めたしきい値よりも小さいとは、各姿勢における最大の2乗誤差も予め定めたしきい値より小さいことを意味している。なお、予め定めたしきい値は、例えば、以下のように求める。
まず、ロボット1を制御するに当たって許容される力センサー30の値に対する誤差の最大値を決定し、その値をεとする。ステップS103で計算する2乗誤差は、全てのデータ点における誤差の2乗を足し合わせた値であるので、データ点の数で割ることで誤差の2乗の平均を算出できる。算出した誤差の2乗の平均が、誤差の最大値εの2乗よりも小さければ、ロボット1を制御するに当たって求められる力センサーの値に対する誤差が、設定された最大値よりも小さいことを表している。以上のことから、しきい値は、次式(19)のように、データ数nに誤差の最大値の2乗を乗じた値より小さい値である。
2乗誤差の総和Sが予め定めたしきい値よりも小さく、各姿勢の2乗誤差が予め定めたしきい値よりも小さく場合(ステップS104;Yes)、ステップS108に進む。また、2乗誤差の総和Sが、予め定めたしきい値よりも小さくないか、各姿勢の2乗誤差が予め定めたしきい値よりも小さくない場合(ステップS104;No)、ステップS105に進む。
次に、変数算出部106は、ステップS103〜S106の処理が予め設定されているn回(nは1以上の自然数)行われたか否かを判別する。ステップS103〜S106の処理が予め設定されているn回行われた場合(ステップS105;Yes)、ステップS107に進む。ステップS103〜S106の処理が予め設定されているn回行われていない場合(ステップS105;No)、ステップS106に進む。
2乗誤差の総和Sが、予め定めたしきい値よりも小さくない場合(ステップS104;No)、変数算出部106は、ステップS102で設定した定数を変更する。なお、初期値の変更は、例えば勾配法、モンテカルロ法、遺伝アルゴリズムなどを用いて行う。
定数を変更後、ステップS103に戻り、ステップS103〜S105を、ステップS104の判定がYesになるまで再帰的に繰り返す。
ステップS103〜S106の処理が予め設定されているn回行われた場合(ステップS105;Yes)、ステップS104の2乗誤差の総和Sが閾値よりも小さい値を見つけられなかったことになる。このため、変数算出部106は、ステップS103〜S106をn回行った中で、2乗誤差の総和Sが最小の値となる各定数(パラメーター)cjの値を選択する。
同様に、ステップS101〜S107の処理により、fmy、fmzの各定数cjの値を算出する。ステップS107終了後、ステップS108に進む。
ステップS107で各定数(パラメータ)cjを算出後、または、2乗誤差の総和Sが予め定めたしきい値よりも小さく、各姿勢の2乗誤差が予め定めたしきい値よりも小さく場合(ステップS104;Yes)、変数算出部106は、算出したfmy、fmzの各定数cjの値を把持状態判別部110が出力する現在の把持状態の判別結果と関連づけて記憶部104に記憶させる。
また、ステップS103〜S107において、力センサー30の実測値と、モデル式の算出値との2乗誤差を用いてモデル式の定数を算出するようにしたので、モデル誤差の演算量が少なくて済む効果がある。
アーム制御部101は、制御部111が出力するアーム制御モードを示す情報に基づき、駆動部102を介してハンド40に対象物70を把持させるように制御する。ステップS201終了後、ステップS202に進む。
(ステップS202)
次に、画像取得部108は、撮像装置50が出力する画像データを、順次取得し、取得した画像データを画像記憶部109に記憶させる。ステップS202終了後、ステップS203に進む。
次に、変数算出部106は、把持状態判別部110により把持状態が変化したと判別される毎に、判別結果に基づき現在の把持状態に対応するモデル式を構成する各項に含まれる定数を記憶部104から読み出し、読み出した定数をセンサー値補正部107に出力する。ステップS203終了後、ステップS204に進む。
次に、センサー値補正部105は、変数算出部106が出力するモデル式を構成する各項に含まれる定数と、姿勢取得部105が出力する姿勢とをモデル式に代入して、現在、力センサー30に入力される重力の影響を算出する。
次に、センサー値補正部107は、センサー出力取得部103が出力する現在の力センサー30の検出値から、算出した重力の影響を差し引いた値をアーム制御部101に出力する。ステップS204終了後、ステップS205に進む。
次に、アーム制御部101は、センサー値補正部107が出力する補正された力センサー30の出力値を用いてアーム2の制御を行う。ステップS205終了後、ステップS206に進む。
次に、把持状態判別部110は、画像記憶部109に記憶されている現在の画像データ、センサー出力取得部103が取得した力センサー30の検出値、制御部111が出力する現在の動作のうち、少なくとも1つを用いて、現在のハンドの把持状態を判別し、判別結果を変数算出部106に出力する。ステップS206終了後、ステップS207に進む。
把持状態が変化していると判別された場合(ステップS207;Yes)、ステップS208に進む。
把持状態が変化していないと判別された場合(ステップS207;No)、ステップS202に戻る。
把持状態が変化していると判別された場合(ステップS207;Yes)、現在の把持状態に対応するモデル式を構成する各項に含まれる定数を記憶部104から読み出し、読み出した定数をセンサー値補正部107に出力する。ステップS208終了後、ステップS209に進む。
次に、センサー値補正部105は、ステップS204と同様に、変数算出部106が出力するモデル式を構成する各項に含まれる定数と、姿勢取得部105が出力する姿勢とをモデル式に代入して、現在、力センサー30に入力される重力の影響を算出する。次に、センサー値補正部107は、センサー出力取得部103が出力する現在の力センサー30の検出値から、算出した重力の影響を差し引いた値をアーム制御部101に出力する。ステップS209終了後、ステップS210に進む。
(ステップS210)
次に、アーム制御部101は、センサー値補正部107が出力する補正された力センサー30の出力値を用いてアーム2の制御を行う。ステップS210終了後、ステップS202に戻る。
以後、所定の作業が終了するまで、例えば、ハンド40が把持した対象物70を、予め定めた位置まで移動させる作業において、ステップS202〜S210を繰り返す。
各定数の値の算出をロボット1が用いて作業を行う前に行う場合、ハンド40が何も把持していない状態、ハンド40が対象物70を把持している状態、あるいは、ハンド40が対象物である図示しないドライバーを把持し、さらに図示しないドライバーにねじが嵌合されている場合などの作業中に想定される状態についてフィッティングを行い、制御部100が、力センサー30及びエンコーダー90の出力を取得して各定数の値を算出する。そして、作業中に、算出した各状態の補正値を用いて、制御部100は、ハンドに加わる重力の影響を補正する。
各定数の値の算出をロボット1の作業中に行う場合、ハンド40の把持している状態が変化した場合、ハンド40の姿勢を変化させて重力の影響を測定し、制御部100が、それをフィッティングする定数を算出する。そして、作業中に、算出した各状態の補正値を用いて、制御部100は、ハンドに加わる重力の影響を補正する。
図1において、アーム2を有するロボット1が地表面に対して垂直に設置されている場合、ハンド40やハンド40に把持されている対象物70に加わる重力の影響は、地表面に対して垂直な軸に関する回転に相当する角度αに依存しない。この場合、上述した式(11)は、式(6)〜(9)及び定数による次式(20)と次式(21)のように高々2次式で表せる。
そして、センサー値補正部105は、算出した定数をfmx、fmy、fmzに組み込み、ハンドに加わる重力の影響による補正値を算出する。
次に、アーム2を有するロボット1が地表面に対して垂直に設置され、ハンド40やハンド40に把持されている対象物70に加わる重力の影響が、角度αに依存しない場合の実測値と、本実施形態による算出値の例を説明する。
以下、図1において、ハンド40として、質量約800[g]、高さ約20[cm]で3本の指を有する多目的ハンドを力センサー30に取り付けた場合について説明する。
式(20)及び、ステップS101〜S105を用いて、fxの各定数を算出した結果、fxは次式(22)のような結果が得られた。
このように、変数算出部106が、力センサー30により検出される予測値を算出し、センサー値補正部107が、算出された予測値の力f’を実際の力センサー30の検出値から差し引いて補正することで、ハンド40が対象物70に対して加えている力を、ロボットの姿勢によらず高い精度で検出できる。この結果、ロボットの姿勢ごとのハンドに加わる重力の影響を適切に補正することができる。
第1実施形態では、予めモデル式におけるfx、fy、fzの各定数を算出して記憶部104に記憶させておき、アーム2の制御の場合に、記憶部104に記憶されているモデル式におけるfx、fy、fzの各定数を読み出して力センサー30の検出値を補正する例を説明した。本実施形態では、モデル式におけるfx、fy、fzの各定数をアーム2の制御中に取得する例を、図13を用いて説明する。
図13は、本実施形態に係る力センサー30が検出するハンド40に加わる重力の影響を補正する手順のフローチャートである。
アーム制御部101は、制御部111が出力するアーム制御モードを示す情報に基づき、駆動部102を介してハンド40に対象物70を把持させるように制御する。ステップS301終了後、ステップS302に進む。
(ステップS302)
次に、変数算出部106は、記憶部104に記憶されているモデル式ベクトルfm(αi、βi、γi)を読み出し、fmx、fmy、fmzの各定数cjの初期値を設定する。
次に、変数算出部106は、設定した各定数cjの初期値を、fmx、fmy、fmzに組み込み(代入し)、モデル式出力値ベクトルfm(αi、βi、γi)を算出する。ステップS302終了後、ステップS303に進む。
次に、画像取得部108は、撮像装置50が出力する画像データを、順次取得し、取得した画像データを画像記憶部109に記憶させる。ステップS303終了後、ステップS304に進む。
(ステップS304)
次に、変数算出部106は、ステップS103〜S107の処理により、モデル式におけるfx、fy、fzの各定数を算出する。変数算出部106は、算出したモデル式におけるfx、fy、fzの各定数を、把持状態判別部110が出力する現在の把持状態の判別結果と関連付けて記憶部104に記憶させる。
次に、センサー値補正部105は、変数算出部106が出力するモデル式を構成する各項に含まれる定数と、姿勢取得部105が出力する姿勢とをモデル式に代入して、現在、力センサー30に入力される重力の影響を算出する。
センサー値補正部107は、センサー出力取得部103が出力する現在の力センサー30の検出値から、算出した重力の影響を差し引いた値をアーム制御部101に出力する。ステップS305終了後、ステップS306に進む。
次に、アーム制御部101は、センサー値補正部107が出力する補正された力センサー30の出力値を用いてアーム2の制御を行う。ステップS306終了後、ステップS307に進む。
(ステップS307)
次に、画像取得部108は、撮像装置50が出力する画像データを、順次取得し、取得した画像データを画像記憶部109に記憶させる。ステップS307終了後、ステップS308に進む。
次に、把持状態判別部110は、画像記憶部109に記憶されている現在の画像データ、センサー出力取得部103が取得した力センサー30の検出値、制御部111が出力する現在の動作のうち、少なくとも1つを用いて、現在のハンドの把持状態を判別し、判別結果を変数算出部106に出力する。ステップS308終了後、ステップS309に進む。
把持状態が変化していると判別された場合(ステップS309;Yes)、ステップS304に戻る。
把持状態が変化していないと判別された場合(ステップS309;No)、ステップS306に戻る。
なお、ステップS309;Yesにおいて、把持状態が変化していると判別された場合、モデル式におけるfx、fy、fzの各定数が記憶部104に記憶済みであれば、記憶済みのモデル式におけるfx、fy、fzの各定数を記憶部104から読み出して用いるようにしてもよい。
また、「コンピューターシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD−ROM等の可搬媒体、USB(Universal Serial Bus) I/F(インタフェース)を介して接続されるUSBメモリー、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、サーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
30・・・力センサー、40・・・ハンド、50・・・撮像装置、70・・・対象物、
72・・・ステージ、82、83、85・・・回転部、81、84、86・・・屈折部、
90、91〜96・・・エンコーダー、100・・・制御部、101・・・アーム制御部、
102・・・駆動部、103・・・センサー出力取得部、104・・・記憶部、
105・・・姿勢算出部、106・・・変数算出部、107・・・センサー値補正部、
108・・・画像取得部、109・・・把持状態判別部、
α、β、γ・・・ハンド40の姿勢の成分
S・・・力センサー30の計測値のベクトルf(αi、βi、γi)とモデル式計算値のベクトルfm(αi、βi、γi)との2乗誤差の総和
cj・・・モデル式の定数(パラメーター)
Claims (16)
- ハンドとアームとの間に介挿されている力センサーと、
前記力センサーが出力する検出値に対する重力の影響をモデル化した定数を有するモデル式を記憶する記憶部と、
前記ハンドの姿勢を変化させた場合の前記力センサーが出力する検出値を用いて、前記モデル式の定数の値を算出する変数算出部と、
前記変数算出部が算出した定数を前記モデル式に代入して前記力センサーに対して入力される重力の影響の補正値を算出し、前記力センサーが出力する検出値を、前記算出した補正値を用いて補正することで、前記力センサーの検出値を補正する補正部と、
を備えることを特徴とするロボット。 - 前記変数算出部は、
前記力センサーが出力する検出値と、前記ハンドの姿勢を変化させた場合の前記モデル式における算出値との2乗誤差の総和を算出し、前記2乗誤差の総和が予め定められているしきい値より小さい場合の定数の値を算出し、前記算出した定数を前記モデル式に代入して前記力センサーに対して入力される重力の影響の補正値を算出する
ことを特徴とする請求項1に記載のロボット。 - 前記変数算出部は、
前記ハンドの姿勢を変化させた場合、前記力センサーが出力する検出値と前記各姿勢の前記モデル式における算出値との2乗誤差を算出し、前記2乗誤差が予め定められているしきい値より小さい場合の定数の値を算出し、前記算出した定数を前記モデル式に代入して前記力センサーに対して入力される重力の影響の補正値を算出する
ことを特徴とする請求項1または請求項2に記載のロボット。 - 前記モデル式は、
前記力センサーが出力する検出値の力成分を、3次元空間上で前記ハンドの姿勢を表す3変数及び該3変数の三角関数で構成される高々3次式で表わす
ことを特徴とする請求項1から請求項3のいずれか1項に記載のロボット。 - 前記モデル式は、
前記力センサーが出力する検出値のトルク成分を、3次元空間上で前記ハンドの姿勢を表す3変数及び該3変数の三角関数で構成される高々3次式で表わす
ことを特徴とする請求項1から請求項4のいずれか1項に記載のロボット。 - 前記ハンドにより対象物が把持されている状態である把持状態の変化を判別する把持状態判別部と、
を備え、
前記変数算出部は、
前記把持状態判別部により前記ハンドの把持状態が変化したと判別された場合、前記モデル式の定数の値を算出し、
前記補正部は、
前記変数算出部が算出した定数を前記モデル式に代入して前記力センサーに対して入力される重力の影響の補正値を算出し、前記力センサーが出力する検出値を、前記算出した補正値を用いて補正することで、前記力センサーの検出値を補正する
ことを特徴とする請求項1から請求項5のいずれか1項に記載のロボット。 - 前記把持状態判別部は、
前記ハンドが把持する対象物の姿勢状態が変化したか否か、または、前記ハンドが把持する対象物が変化したか否かにより把持状態の変化を判別する
ことを特徴とする請求項6に記載のロボット。 - 前記ハンドを含む画像を撮像する撮像装置と、
モデル式の定数を記憶する記憶部と、
を備え、
前記変数算出部は、
予め前記ハンドの把持状態毎の前記モデル式の定数の値を算出し、前記算出したモデル式の定数を前記把持状態判別部が判別した把持状態と関連付けて前記記憶部に記憶させ、
前記把持状態判別部により前記ハンドの把持状態が変化したと判別された場合、把持状態が変化したと判別された場合の前記把持状態と関連付けられて記憶されている前記モデル式の定数を前記記憶部から読み出し、
前記補正部は、
前記変数算出部が読み出した定数を前記モデル式に代入して前記力センサーに対して入力される重力の影響の補正値を算出し、前記力センサーが出力する検出値を、前記算出した補正値を用いて補正することで、前記力センサーの検出値を補正する
ことを特徴とする請求項6または請求項7に記載のロボット。 - 前記ハンドの動作を制御する制御部を備え、
前記把持状態判別部は、
前記ハンドの把持状態が変化したか否かを、前記撮像装置が撮像した画像データ、前記力センサーが出力する検出値、前記制御部による前記ハンドへの制御指示の少なくとも1つを用いて判別する
ことを特徴とする請求項6から請求項8のいずれか1項に記載のロボット。 - 前記モデル式は、
前記ロボットが、地表面に対して垂直に設置されている場合、前記ハンドの姿勢を表す3変数の内、地表面に対して垂直な軸に関する回転に相当するものを除く2変及び該2変数の三角関数で構成される高々2次式で表わす
ことを特徴とする請求項1から請求項9のいずれか1項に記載のロボット。 - 前記しきい値は、
前記ロボットを制御するに当たって許容される前記力センサーが出力する検出値に対する誤差の最大値を2乗した値に、前記2乗誤差の総和を算出するために用いたデータ数を乗じた値より小さい値である
ことを特徴とする請求項2に記載のロボット。 - 前記アームは6軸であり、前記6軸のアームの一方端がベースに連結され、前記6軸のアームの他方端と前記ハンドの間に前記力センサーが介挿されている
ことを特徴とする請求項1から請求項10のいずれか1項に記載のロボット。 - 前記アームは7軸であり、前記6軸のアームの一方端がベースに連結され、前記7軸のアームの他方端と前記ハンドの間に前記力センサーが介挿されている
ことを特徴とする請求項1から請求項10のいずれか1項に記載のロボット。 - ハンドとアームとの間に介挿されている力センサーに対して入力される重力の影響をモデル化した定数を有するモデル式を記憶する記憶部と、
前記力センサーが出力する検出値を用いて、前記モデル式の定数の値を算出する変数算出部と、
前記変数算出部が算出した定数を前記モデル式に代入して前記力センサーに対して入力される重力の影響の補正値を算出し、前記力センサーが出力する検出値を、前記算出した補正値を用いて補正するとで、前記力センサーの検出値を補正する補正部と、
前記補正部が補正した前記力センサーの検出値を用いて、前記アーム及び前記ハンドの動作を制御するアーム制御部と、
を備えることを特徴とするロボット制御装置。 - ハンドとアームとの間に介挿されている力センサーを有するロボットを制御するロボット制御装置のロボット制御方法であって、
変数算出部が、前記力センサーが出力する検出値を用いて、記憶部に記憶されている前記力センサーに対して入力される重力の影響をモデル化した定数を有するモデル式の定数の値を算出する変数算出工程と、
補正部が、前記変数算出工程が算出した定数を前記モデル式に代入して前記力センサーに対して入力される重力の影響の補正値を算出し、前記力センサーが出力する検出値を、前記算出した補正値を用いて補正することで、前記力センサーの検出値を補正する補正工程と、
アーム制御部が、前記補正部が補正した前記力センサーの検出値を用いて、前記アーム及び前記ハンドの動作を制御するアーム制御工程と、
を含むことを特徴とするロボット制御方法。 - ハンドとアームとの間に介挿されている力センサーを有するロボットを制御するロボット制御の処理をコンピューターに実行させるためのプログラムであり、
前記力センサーが出力する検出値を用いて、記憶部に記憶されている前記力センサーに対して入力される重力の影響をモデル化した定数を有するモデル式の定数の値を算出する変数算出手順と、
前記変数算出手段が算出した定数を前記モデル式に代入して前記力センサーに対して入力される重力の影響の補正値を算出し、前記力センサーが出力する検出値を、前記算出した補正値を用いて補正することで、前記力センサーの検出値を補正する補正手順と、
前記補正手順が補正した前記力センサーの検出値を用いて、前記アーム及び前記ハンドの動作を制御するアーム制御手順と、
をコンピューターに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011152784A JP5849477B2 (ja) | 2011-07-11 | 2011-07-11 | ロボット、ロボット制御装置、ロボット制御方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011152784A JP5849477B2 (ja) | 2011-07-11 | 2011-07-11 | ロボット、ロボット制御装置、ロボット制御方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013018075A true JP2013018075A (ja) | 2013-01-31 |
JP5849477B2 JP5849477B2 (ja) | 2016-01-27 |
Family
ID=47690038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011152784A Expired - Fee Related JP5849477B2 (ja) | 2011-07-11 | 2011-07-11 | ロボット、ロボット制御装置、ロボット制御方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5849477B2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160052135A1 (en) * | 2014-08-25 | 2016-02-25 | Seiko Epson Corporation | Robot and robot system |
JP2017087325A (ja) * | 2015-11-06 | 2017-05-25 | キヤノン株式会社 | ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム |
JP2018158439A (ja) * | 2018-03-15 | 2018-10-11 | 株式会社東芝 | 物体ハンドリング装置、制御装置、および較正方法 |
US11318619B2 (en) | 2017-03-22 | 2022-05-03 | Kabushiki Kaisha Toshiba | Object handling device and calibration method thereof |
CN115847392A (zh) * | 2021-09-26 | 2023-03-28 | 苏州艾利特机器人有限公司 | 一种力传感器空载读数补偿方法、装置及存储介质 |
US11691293B2 (en) | 2018-08-31 | 2023-07-04 | Fanuc Corporation | Robot |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6274594A (ja) * | 1985-09-30 | 1987-04-06 | 松下電器産業株式会社 | ロボツト装置の力センサ較正方法 |
JPH02237782A (ja) * | 1989-03-10 | 1990-09-20 | Matsushita Electric Ind Co Ltd | 複腕ロボット |
JPH05116081A (ja) * | 1991-10-25 | 1993-05-14 | Hitachi Constr Mach Co Ltd | 力制御作業機械の重量・重心位置補正装置 |
JPH07237165A (ja) * | 1994-02-24 | 1995-09-12 | Hitachi Constr Mach Co Ltd | ロボットの工具交換確認方法 |
JP2011011315A (ja) * | 2009-07-06 | 2011-01-20 | Canon Inc | 部品組付け方法 |
-
2011
- 2011-07-11 JP JP2011152784A patent/JP5849477B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6274594A (ja) * | 1985-09-30 | 1987-04-06 | 松下電器産業株式会社 | ロボツト装置の力センサ較正方法 |
JPH02237782A (ja) * | 1989-03-10 | 1990-09-20 | Matsushita Electric Ind Co Ltd | 複腕ロボット |
JPH05116081A (ja) * | 1991-10-25 | 1993-05-14 | Hitachi Constr Mach Co Ltd | 力制御作業機械の重量・重心位置補正装置 |
JPH07237165A (ja) * | 1994-02-24 | 1995-09-12 | Hitachi Constr Mach Co Ltd | ロボットの工具交換確認方法 |
JP2011011315A (ja) * | 2009-07-06 | 2011-01-20 | Canon Inc | 部品組付け方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160052135A1 (en) * | 2014-08-25 | 2016-02-25 | Seiko Epson Corporation | Robot and robot system |
JP2017087325A (ja) * | 2015-11-06 | 2017-05-25 | キヤノン株式会社 | ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム |
US11318619B2 (en) | 2017-03-22 | 2022-05-03 | Kabushiki Kaisha Toshiba | Object handling device and calibration method thereof |
JP2018158439A (ja) * | 2018-03-15 | 2018-10-11 | 株式会社東芝 | 物体ハンドリング装置、制御装置、および較正方法 |
US11691293B2 (en) | 2018-08-31 | 2023-07-04 | Fanuc Corporation | Robot |
CN115847392A (zh) * | 2021-09-26 | 2023-03-28 | 苏州艾利特机器人有限公司 | 一种力传感器空载读数补偿方法、装置及存储介质 |
CN115847392B (zh) * | 2021-09-26 | 2023-10-27 | 苏州艾利特机器人有限公司 | 一种力传感器空载读数补偿方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP5849477B2 (ja) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5849477B2 (ja) | ロボット、ロボット制御装置、ロボット制御方法、およびプログラム | |
JP6380828B2 (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
JP6314426B2 (ja) | ロボット制御装置およびロボット制御方法 | |
US20160184996A1 (en) | Robot, robot system, control apparatus, and control method | |
JP6007636B2 (ja) | ロボット制御システム及びロボット制御装置 | |
JP6108860B2 (ja) | ロボットシステム及びロボットシステムの制御方法 | |
JP6733239B2 (ja) | 制御装置及びロボットシステム | |
JP6174654B2 (ja) | センサの位置と向きを算出する機能を備えたロボットシステム | |
CN108145728B (zh) | 机器人控制装置以及推定施加给机器人的干扰值的方法 | |
JP5834545B2 (ja) | ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム | |
JPWO2015129473A1 (ja) | ロボットアーム装置、キャリブレーション方法及びプログラム | |
JP6795540B2 (ja) | ロボットを用いた負荷の重量及び重心位置を推定するための装置、方法及びプログラム | |
JP2017170571A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
JP6003312B2 (ja) | ロボットシステム | |
JP2015089584A (ja) | ロボットの制御方法及びロボットシステム | |
JP2020201125A (ja) | 姿勢推定装置、姿勢推定方法、および姿勢推定プログラム | |
JP5948914B2 (ja) | ロボット制御装置、ロボット制御方法、ロボット制御プログラムおよびロボットシステム | |
JP7155743B2 (ja) | ロボットシステム、ロボット、及び制御方法 | |
CN115919250A (zh) | 一种人体动态关节角测量系统 | |
Chavez et al. | Contact force and joint torque estimation using skin | |
Lippiello et al. | Robot interaction control using force and vision | |
JP2020175471A (ja) | 情報処理装置、情報処理方法、プログラム、及び記録媒体 | |
JP6091272B2 (ja) | 多関節ロボットのバネ定数補正装置 | |
JP2013094947A (ja) | ロボットアーム | |
JP2011255500A (ja) | 脚式移動ロボットの制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140627 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150324 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150525 |
|
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: 20151104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151117 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5849477 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |