説明

ワーク質量測定機能を備えたロボット

【課題】ハンドリング動作時であってもワークの質量を正確に取得する。
【解決手段】把持されたワークの質量を測定するワーク質量測定機能を備えたロボット(1)は、ロボット(1)の機構部の先端部(2)に作用する力を測定する力測定部(5)と、ロボット(1)が移動しているときに力測定部(5)により得られる力の情報に基づいて、ロボット(1)に把持されたワークの質量を推定する質量推定部(11)とを含む。力測定部(5)は、ワークを把持しているときに測定した力測定値とワークを把持していないときに測定した力測定値とに基づいてワークの質量を推定するのが好ましい。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、力測定部を備えたロボットにより把持したワークの質量を測定する機能を備えたロボットに関する。
【背景技術】
【0002】
生産中の部品や製品の不良品検査を行うために、力測定部を備えたロボットを用いてワークの質量を測定することが行われている。具体的には、ロボット手首部に力測定部が備えられたロボットのハンドがワークを把持する。そして、このときの力測定部の出力値からワークの質量を測定している。
【0003】
このような質量の測定は、例えば、一つのみのワークを把持すべきであるにも関わらず、搬送中に複数のワークを把持したか否かを確認するときに行われる。あるいは、そのような質量の測定は、単一のワークの質量が所定の範囲内にあるか否かを通じてワークの良否を判定するときにも行われる。
【0004】
特許文献1には、質量の測定値に基づいてワークの良品検査、部品装着検査、種類検査を行い、それにより、ワークを仕分けすることが開示されている。さらに、特許文献1においては、ワークの質量を測定するために、ワークの重量が力測定部に垂直にかかるようにロボット動作をプログラミングし、そのときの力測定部の出力と、所定の基準質量との間の差を求めている。
【0005】
また、特許文献2は、ロボットハンドの上方および下方にそれぞれ一対の力測定部(ロードセル)を備えた構成を開示している。そして、ワークを上方および下方から把持したときの力測定部のそれぞれの出力からワークの重量を測定している。特許文献2においては、ハンドがワークを把持している状態で且つ一対の荷重センサが鉛直方向にある状態でワークを静止させ、下側のロードセルの重量値から上側のロードセルの重量値を減じることによりワークの質量を求めている。
【0006】
ところで、図7(a)および図7(b)は従来技術におけるロボットの側面図である。これら図面に示されるロボットは、垂直多関節ロボットであり、ロボットのアームの先端部2にはロボットハンド3が取付けられている。そして、アームの先端部2とハンド3との間には力センサ5が配置されている。
【0007】
はじめに、図7(a)に示されるように、ワークWを把持しない状態でロボット1を静止させ、力センサ5の出力を記録する。次いで、図7(b)に示されるように、ハンド3がワークWを把持する動作のみを行って(ロボット1の位置姿勢を変えることなしに)、静止状態で、力センサ5の出力を記録する。そして、力センサ5の二つの出力の偏差に基づいてワークWの質量を求めている。
【0008】
ここで、力センサ5が一軸のロードセルである場合には、図7(a)および図7(b)に示されるように、力センサ5の計測時に力センサ5は鉛直方向下向きであることが要求される。ただし、力センサ5が三軸以上の力センサである場合には、ワークWを把持していないときおよびワークを把持しているときの位置姿勢が同じであれば、力センサ5が鉛直方向下向き以外の姿勢であってもよい。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開平6−31667号公報
【特許文献2】特開平5−57667号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
前述したように、ワークWの質量を測定するときには、ロボット1が静止している必要がある。その理由は、ロボット1の動作時にはハンド3及びワークWの重力だけでなく、ロボット1の加減速によって生じる力、遠心力、コリオリ力等の慣性力も力センサ5によって検出されるためである。そして、そのような重力および慣性力が作用しないようにロボット1を静止させると、ロボット1の減速時間、静止時間、再加速時間が必要となる。それゆえ、ロボット1のサイクルタイムがかなり増大することになる。
【0011】
さらに、特許文献1および特許文献2においても、ワークの測定時には、ワークの重量が垂直に力測定部にかかるようにロボット1の姿勢を変更する必要がある。
【0012】
本発明はこのような事情に鑑みてなされたものであり、ハンドリング動作時であってもワークの質量を正確に取得することのできる、ワーク質量測定機能を備えたロボットを提供することを目的とする。
【課題を解決するための手段】
【0013】
前述した目的を達成するために1番目の発明によれば、把持されたワークの質量を測定するワーク質量測定機能を備えたロボットにおいて、前記ロボットの機構部の先端部に作用する力を測定する力測定部と、前記ロボットが移動しているときに前記力測定部により得られる力に基づいて、前記ロボットに把持されたワークの質量を推定する質量推定部と、を備えるロボットが提供される。
【0014】
2番目の発明によれば、1番目の発明において、前記力測定部は、前記ワークを把持しているときに測定した力測定値と前記ワークを把持していないときに測定した力測定値とに基づいて前記ワークの質量を推定する。
【0015】
3番目の発明によれば、1番目または2番目の発明において、前記ロボットが移動しているときに、前記機構部の先端部の姿勢を変化させないようにした。
【0016】
4番目の発明によれば、1番目から3番目のいずれかの発明において、前記ロボットが移動しているときの複数の時刻において前記質量推定部が推定した前記ワークの複数の質量の平均値を質量推定値とする。
【0017】
5番目の発明によれば、1番目から4番目のいずれかの発明において、前記質量推定部は前記ロボットの機構部先端部に作用する加速度を測定または推定する加速度取得部を含んでおり、前記ロボットが移動しているときに前記力測定部により測定される力および前記加速度取得部により取得される加速度に基づいて、前記質量推定部は前記ロボットが把持したワークの質量を推定する。
【0018】
6番目の発明によれば、5番目の発明において、前記加速度取得部は、動力学方程式により加速度を計算する。
【0019】
7番目の発明によれば、5番目の発明において、前記加速度取得部は、前記ロボットに取付けられた加速度センサにより測定された加速度を取得する。
【0020】
8番目の発明によれば、1番目から7番目のいずれかの発明において、前記力測定部は複数の方向において前記力を測定し、前記加速度取得部は前記複数の方向において前記加速度を取得し、前記質量推定部は前記複数の方向について前記質量を推定し、それにより、複数の前記質量の平均値を質量推定値とする。
【0021】
9番目の発明によれば、1番目から7番目のいずれかの発明において、前記力測定部は複数の方向において前記力を測定し、前記加速度取得部は前記複数の方向において前記加速度を取得し、前記質量推定部は前記複数の方向について前記質量を推定し、それにより、複数の前記方向のうち、前記加速度の絶対値が最大である方向に対応する前記質量を質量推定値とする。
【0022】
10番目の発明によれば、1番目から4番目のいずれかの発明において、前記質量推定部は、前記ロボットの機構部の先端部に作用する重力方向に対して垂直な平面上を前記機構部の先端部が移動しているときに前記力測定部により得られる力に基づいて、前記ロボットが把持したワークの質量を推定するようにした。
【0023】
11番目の発明によれば、1番目から4番目のいずれかの発明において、前記質量推定部は、前記ロボットの機構部の先端部が一定速度で直線軌道を移動しているときに前記力測定部により得られる力に基づいて、前記ロボットが把持したワークの質量を推定するようにした。
【0024】
12番目の発明によれば、10番目または11番目の発明において、さらに、前記ロボットの機構部の先端部の姿勢を取得する姿勢取得部を具備し、前記質量推定部は、前記力測定部により測定された一方向以上の力と、前記姿勢取得部により取得された前記姿勢とに基づいて、前記ロボットが把持したワークの質量を推定する。
【発明の効果】
【0025】
1番目の発明においては、ロボットを停止させることなしにワークの質量を算出することができる。従って、質量の測定に伴ってロボット作業のサイクルタイムが延びることはない。また、単一の力測定部で足りるので、ロボットシステムの構成を単純にでき、ロボットシステムの構築に要する費用を抑えることもできる。
2番目の発明においては、ハンドの質量が未知であっても、ワークの質量を求めることができる。
3番目の発明においては、ワークの質量を求めるに際し、外乱による影響を軽減することができる。
4番目の発明においては、ワークの質量をより正確に算出することができる。
5番目の発明においては、加速度を用いることにより、ワークの質量をより正確に算出することができる。
6番目の発明においては、加速度センサが不要であるので、ロボットシステムの構成を単純にでき、ロボットシステムの構築に要する費用をさらに抑えられる。
7番目の発明においては、加速度をより正確かつ直接的に求められる。
8番目の発明においては、複数の方向、例えばXYZの三方向での平均値を用いているので、ワークの質量をより正確に算出することができる。
9番目の発明においては、加速度の絶対値が大きい方向について質量を求めるので、ノイズなどの誤差要因の影響を軽減することができる。
10番目の発明においては、重力方向に慣性力が作用するのを排除できる。
11番目の発明においては、ロボットの加減速に必要な力、遠心力、コリオリ力などの慣性力を排除できる。
12番目の発明においては、ロボットの姿勢を考慮することにより、ハンドを真下に向けるなどの特殊な姿勢でロボットを動作させる必要がない。
【図面の簡単な説明】
【0026】
【図1】本発明に基づくロボットの側面図である。
【図2】(a)本発明の実施例1等に基づくロボットの動作を示す第一の図である。(b)本発明の実施例1等に基づくロボットの動作を示す第二の図である。
【図3】本発明の実施例2等に基づくロボットの動作を示す図である。
【図4】ロボットの側面図である。
【図5】(a)本発明の実施例5等に基づくロボットの動作を示す第一の図である。(b)本発明の実施例5等に基づくロボットの動作を示す第二の図である。
【図6】本発明の実施例9に基づくロボットの側面図である。
【図7】(a)従来技術におけるロボットの側面図である。(b)従来技術におけるロボットの他の側面図である。
【発明を実施するための形態】
【0027】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
図1は本発明に基づくロボットの側面図である。図1においてロボット1は垂直多関節ロボットまたは公知のロボットマニュピレータであり、そのアームの先端部2にはワークWを把持するハンド3が取付けられている。なお、ハンド3はロボット1のアームの先端部2に取付けられている必要は必ずしもない。
【0028】
ハンド3は、ワークWの形状、材質、質量等に応じて適宜選択される。ハンド3は、吸引式、チャック式のいずれであってもよい。さらに、アームの先端部2とハンド3との間には力センサ5が配置されている。
【0029】
図1においては、ロボット1の動作範囲内に二つのテーブルT1、T2が配置されていて、一方のテーブルT1にワークWが載置されている。また、図1に示されるように、ロボット1全体を制御するロボット制御装置9がロボット1に接続されている。なお、力センサ5もロボット制御装置9に接続されるものとする。
【0030】
ロボット制御装置9はデジタルコンピュータであり、ワークWの質量を推定する質量推定部11と、ロボットアームの先端部2に作用する加速度を算出する加速度取得部12とを備えている。なお、加速度取得部12の代わりに、加速度センサ6(後述する)がハンド3に取付けられていてもよい。さらに、図1に示されるように、ロボット制御装置9はロボットアームの先端部2の姿勢を取得する姿勢取得部13を含んでいる。
【0031】
さらに、図1においては、ロボット1のベースに固定された基準座標系Σ1と、力センサ5に固定された力センサ座標系Σ2とが示されている。基準座標系Σ1の軸方向と重力方向との関係は予めロボット制御装置9の記憶部(図示しない)に記憶しておく。なお、この記憶部には各種のデータが記憶されるものとする。
【0032】
通常は基準座標系Σ1のZ方向と重力方向とが一致するように設定しているが、他の方向に設定してもよい。また、図1および後述する図面において、重力は各図面の下方に向かって作用するものとする。
【0033】
ロボットアームの先端部2が動作するにつれて基準座標系Σ1に対する力センサ座標系Σ2の位置/姿勢は変化する。或る時刻における力センサ座標系Σ2の位置/姿勢は、その瞬間のロボット1の各軸の角度やロボットリンク長等を使って公知の順運動学計算により算出することができる。
【0034】
図2(a)および図2(b)は、それぞれ本発明の実施例1等に基づくロボットの動作を示す第一および第二の図である。図2(a)においては、ロボット1がワークWを把持していない状態で、テーブルT2からテーブルT1に向かって先端部2を或る軌道上に動作させている。このとき、力センサ5には、ハンド3の重力およびハンド3が運動することにより生ずる慣性力などが作用する。
【0035】
また、図2(b)においては、ロボット1がワークWを把持している状態で、テーブルT1からテーブルT2に向かって先端部2を或る軌道上に動作させている。このとき、力センサ5には、ハンド3とワークWの重力およびハンド3とワークWが運動することにより生ずる慣性力などが作用する。
【0036】
実施例1
実施例1においては、ハンド3の質量は別途計測することにより既知である。また、力センサ5として三軸以上の力センサを使用しており、そのため力センサ5は並進三成分の力を検出できるものとする。
【0037】
図2(b)においては、ロボット1のハンド3によりワークWを把持しつつ、ロボット1およびワークWが周辺機器などに接触することなしに動作する。このとき、図2(b)に示されるようにロボット1の手首の姿勢が変化しないようにロボット1を動作させたときの力センサ5の出力は以下の式(1)で表される。なお、手首を変化させない理由は、ロボットの振動などの外乱の影響を少なくするためである。
【0038】
F=(Mh+Mw)・R・{g+d2x/dt2+C(x、dx/dt)} (1)
ここで、Fは力センサ5により検出された力ベクトル(検出値)、
Mhはハンド3の質量、
MwはワークWの質量、
Rは基準座標系Σ1から力センサ座標系Σ2への変換行列、
gは基準座標系Σ1から見た重力加速度ベクトル、
xは基準座標系Σ1から見た力センサ座標系Σ2原点の位置ベクトル、
2x/dt2はxの2階微分、
C(x、dx/dt)はハンド3とワークWに作用する遠心力やコリオリ力等の慣性力を表すベクトルであり、xおよびdx/dtの関数である。
【0039】
式(1)はロボット1が、周辺機器などに接触していない限りにおいて任意の時刻について成立する。ロボット1の動作時の或る時刻における力ベクトルFを記録する。そして、質量推定部11が同じ時刻におけるxをロボットリンク長やロボット1の各軸の角度などの情報から順運動学計算により算出する。次いで、質量推定部11は、算出されたxを用いて、g、d2x/dt2およびC(x、dx/dt)も算出する。なお、後述する演算も主に質量推定部11が行うものとする。
【0040】
式(1)の各項は三成分のベクトルなので三つの式から成り、それぞれからワーク質量Mwを求めることができる。理想的には全て同じ値になるが、実際の計算では多少異なる結果になることが多い。
【0041】
三つの式から得られる質量をそれぞれMwx、Mwy、Mwzとすると、以下の方法により、Mwを算出することが可能である。第一の方法はMwx、Mwy、Mwz平均値を算出することであり、以下の式(2)よりMwを容易に且つ正確に求めることができる。
Mw= (Mwx+Mwy+Mwz)/3 (2)
【0042】
あるいは、ベクトル{g+d2x/dt2+C(x、dx/dt)}の三成分のうち絶対値が最大の方向の質量を採用してもよい。つまり、加速度の絶対値が大きい方向は、ノイズなどの誤差要因の影響は相対的に小さくなるのでその結果だけを利用する。すなわち、{g+d2x/dt2+C(x、dx/dt)}=(ax、ay、az)と仮定すると、|ax|が最大ならMwx、|ay|が最大ならMwy、|az|が最大ならMwzをMwとして採用する。
【0043】
以上のようにして、或る一つの時刻における式(1)だけでワークWの質量Mwを算出できる。ただし、複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。これにより、ロボットリンク長の個体差やリンクの撓みなどによるモデル化誤差、力センサの出力値のバラツキ、ロボット自体の揺れによる振動等の外乱による影響を軽減し、信頼性の高い質量Mwを求めることができる。
【0044】
実施例2
図3は本発明の実施例2等に基づくロボットの動作を示す図である。図から分かるように、実施例2は、加速度センサ6がハンド3の基部に取付けられている点で実施例1とは異なる。また、実施例2においても、力センサ5として三軸以上の力センサを使用しており、そのため力センサ5は並進三成分の力を検出できるものとする。前述した実施例1ではベクトル{g+d2x/dt2+C(x、dx/dt)}を計算により求めていたが、実施例2では加速度センサ6の出力を利用して上記ベクトルを求める。
【0045】
図2(b)に示されるようにロボット1がワークWを把持している状態で、テーブルT1からテーブルT2に向かって先端部2を或る軌道上に動作させる。このときの力センサ5の出力は以下の式(3)で表すことができる。
【0046】
F=(Mh+Mw)・A (3)
ここで、Fは力センサ5により検出された力ベクトル(検出値)、
Mhはハンド3の質量、
MwはワークWの質量、
Aは加速度センサ6の出力ベクトルを力センサ座標系Σ2での値に変換したもの、である。
【0047】
実施例1の場合と同様に、ロボット1の動作時において或る時刻における力ベクトルFを記録する。このとき、或る時刻における加速度センサ6の出力ベクトルAも同様に記録する。そして、ハンド3の質量Mhは既知であるので、式(3)を用いることによりワークWの質量Mwを算出することができる。
【0048】
式(3)の各項は三成分のベクトルなので三つの式から成り、それぞれからワーク質量Mwを求めることができる。理想的には全て同じ値になるが、実際の計算では多少異なる結果になることが多い。
【0049】
三つの式から得られる質量をそれぞれMwx、Mwy、Mwzとすると、以下のようにして、Mwを算出することが可能である。第一の方法はMwx、Mwy、Mwz平均値を算出することであり、前述した式(2)よりワークWの質量Mwを容易に求めることができる。
【0050】
あるいは、ベクトルAの三成分のうち絶対値が最大の方向の結果を採用してもよい。つまり、加速度の絶対値が大きい方向は、ノイズなどの誤差要因の影響は相対的に小さくなるのでその結果だけを利用する。すなわち、A=(ax、ay、az)と仮定すると、|ax|が最大ならMwx、|ay|が最大ならMwy、|az|が最大ならMwzをMwとして採用する。
【0051】
以上のようにして、或る一つの時刻における式(3)だけでワークWの質量Mwを算出できる。ただし、複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。これにより、様々な誤差の影響を軽減できるのが分かるであろう。また、実施例2においては、加速度センサ6を採用しているので、加速度をより正確かつ直接的に求められるのが分かるであろう。
【0052】
実施例3
実施例3において使用される力センサ5は三軸以上の力センサであり、並進三成分の力を検出できるものとする。実施例3は後述する二つのステップにより測定するという点で、前述した実施例1とは異なる。すなわち、実施例3においては、ハンド3の質量も計算するので、ハンド3の質量を事前に測定する必要がない。
【0053】
はじめに第一のステップを説明する。図2(a)に示されるように、ロボット1のハンド3がワークWを把持していない状態で、周辺機器に接触することなしに、ロボット1のハンド3を空中に移動させる。ロボット1の手首の姿勢が変化しないようにロボット1を動作させたときの力センサ5の出力は以下の式(4)で表される。
【0054】
F1=Mh・R・(g+d2x/dt2+C(x、dx/dt)) (4)
ここで、F1は力センサ5で検知した力ベクトル(検出値)、
Mhはハンドの質量、
Rは基準座標系Σ1から力センサ座標系Σ2への変換行列、
gは基準座標系Σ1から見た重力加速度ベクトル
xは基準座標系Σ1から見た力センサ座標系Σ2原点の位置ベクトル
2x/dt2はxの2階微分
C(x、dx/dt)はツールにかかる遠心力やコリオリ力による加速度ベクトルであり、x、dx/dtの関数である。
【0055】
式(4)はロボット1が周辺機器などに接触しなければ任意の時刻において成立し、ロボット1が動作中のある時刻における力ベクトルF1を記録する。同じ時刻における位置ベクトルxをロボットリンク長やロボットの各軸角度などの情報から順運動学計算により演算する。そして、位置ベクトルxを用いて、さらにg、d2x/dt2、C(x、dx/dt)も導出する。この場合には、加速度センサ6を設ける必要がないので、ロボットシステムの構成を単純にでき、ロボットシステムの構築に要する費用を抑えることが可能となる。
【0056】
次いで、上記の情報から式(4)よりハンド3の質量Mhを計算する。或る1つの時刻において式(4)からハンド3の質量Mhを求めることに加えて、複数の時刻において式(4)からハンド3の質量Mhを求めその平均値を演算してもよい。これにより、ロボットリンク長の個体差やリンクの撓みなどによるモデル化誤差、力センサの出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減し、信頼性の高い質量Mhを求めることができる。
【0057】
次いで、第二のステップを説明する。図2(b)に示されるように、ロボット1のハンド3がワークWを把持した状態で、周辺機器に接触することなしに、ロボット1のハンド3を空中に移動させる。ロボット1の手首の姿勢が変化しないようにロボット1を動作させたときの力センサ5の出力は以下の式(5)で表される。
【0058】
F2=(Mh+Mw)・R・(g+d2x/dt2+C(x、dx/dt)) (5)
ここで、F2は力センサで検知した力ベクトル(検出値)、
Mhはハンド3の質量、
MwはワークWの質量、
Rは基準座標系Σ1から力センサ座標系Σ2への変換行列、
gは基準座標系Σ1から見た重力加速度ベクトル、
xは基準座標系Σ1から見た力センサ座標系Σ2原点の位置ベクトル、
2x/dt2はxの2階微分、
C(x、dx/dt)はツールとワークにかかる遠心力やコリオリ力をあらわすベクトルでx、dx/dtの関数である。
【0059】
前述した第一のステップと同様に或る時刻におけるx、g、d2x/dt2、C(x、dx/dt)を計算する。ハンド3の質量Mhは第一のステップにおいて既に定まっている。従って、式(5)を使ってワークWの質量Mwを導出する。
【0060】
式(5)の各項は三成分のベクトルなので三つの式から成り、それぞれから質量Mwを求めることができる。理想的には全て同じ値になるが、実際の計算では多少異なる結果になることが多い。
【0061】
三つの式から得られる質量をそれぞれMwx、Mwy、Mwzとすると、以下のようにして、Mwを算出することが可能である。第一の方法はMwx、Mwy、Mwz平均値を算出することであり、前述した式(2)よりMwを容易に求めることができる。
【0062】
あるいは、ベクトル(g−d2x/dt2−C(x、dx/dt)の三成分のうち絶対値が最大の方向の結果を採用してもよい。つまり、加速度の絶対値が大きい方向は、ノイズなどの誤差要因の影響は相対的に小さくなるのでその結果だけを利用する。すなわち、(g−d2x/dt2−C(x、dx/dt)=(ax、ay、az)と仮定すると、|ax|が最大ならMwx、|ay|が最大ならMwy、|az|が最大ならMwzをMwとして採用する。
【0063】
以上のようにして、或る一つの時刻における式(5)だけでワークWの質量Mwを算出できる。ただし、複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。これにより、様々な誤差の影響を軽減できるのが分かるであろう。
【0064】
実施例4
図3を参照して前述したように三軸の加速度センサ6をハンド3に取付ける。前述した実施例3においてはロボットリンク長やロボットの各軸角度などから加速度(g−d2x/dt2−C(x、dx/dt))を求めたが、実施例4においては加速度センサ6の出力を使用する。
【0065】
実施例4においても実施例3と同様に三軸以上の力センサ5を使用し、並進三成分の力が検出できるものとする。実施例4は後述する二つのステップにより測定するという点で、前述した実施例2とは異なる。すなわち、実施例4においては、ハンド3の質量を計算する。
【0066】
はじめに第一のステップを説明する。図2(a)に示されるように、ロボット1のハンド3がワークWを把持していない状態で、周辺機器などに接触することなしにハンド3が空中を移動する。その際の力センサ5の出力は以下の式(6)で表される。
【0067】
F1=Mh・A (6)
ここで、F1は力センサ5で検知した力ベクトル(検出値)
Mhはハンド3の質量
Aは加速度センサ6の出力ベクトルを力センサ座標系Σ2での値に変換した値である。
【0068】
式(6)はロボット1が周辺機器などに接触していなければ任意の時刻について成立し、或る時刻における力センサ5の力ベクトルF1と加速度センサ6に関する値Aとを記録する。そして、これらの情報を用いて式(6)からハンド3の質量Mhを算出する。
【0069】
或る一つの時刻において式(6)からハンド3の質量Mhを求めることに加えて、複数の時刻においてハンド3の質量Mhを求め、その平均値を算出してもよい。そうすることでロボットリンク長の個体差やリンクの撓みなどによるモデル化誤差、力センサの出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減することができる。
【0070】
次いで、第二のステップを説明する。図2(b)に示されるように、ロボット1でワークWを把持した状態で周辺機器などに接触させることなしハンド3を空中に動作させる。その際の力センサ5の出力は以下の式(7)で表すことができる。
【0071】
F2=(Mh+Mw)・A (7)
ここで、F2は力センサ5で検知した力ベクトル(検出値)、
Mhはハンド3の質量、
MwはワークWの質量、
Aは加速度センサ6の出力ベクトルを力センサ座標系Σ2での値に変換した値である。
【0072】
第一のステップの場合と同様に、或る時刻における力センサ5の力ベクトルF2と加速度センサ6に関する値Aとを記録する。ハンド3の質量Mhは第一のステップにおいて定まっているので、式(7)を使用すれば、ワークWの質量Mwを求めることができる。
【0073】
式(7)の各項は三成分のベクトルなので三つの式から成り、それぞれから質量Mwを求めることができる。理想的には全て同じ値になるが、実際の計算では多少異なる結果になることが多い。
【0074】
三つの式から得られる質量をそれぞれMwx、Mwy、Mwzとすると、以下のようにして、Mwを算出することが可能である。第一の方法はMwx、Mwy、Mwzの平均値を算出することであり、前述した式(2)よりMwを容易に求めることができる。
【0075】
あるいは、ベクトルAの三成分のうち絶対値が最大の方向の結果を採用してもよい。つまり、加速度の絶対値が大きい方向は、ノイズなどの誤差要因の影響は相対的に小さくなるのでその結果だけを利用する。すなわち、A=(ax、ay、az)と仮定すると、|ax|が最大ならMwx、|ay|が最大ならMwy、|az|が最大ならMwzをMwとして採用する。
【0076】
以上のようにして、或る一つの時刻における式(7)だけでワークWの質量Mwを算出できる。ただし、複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。これにより、様々な誤差の影響を軽減できるのが分かるであろう。
【0077】
後述する実施例5〜実施例8においては、力測定部として、一軸以上のロードセルまたは力センサのいずれを採用してもよい。一軸ロードセルを使用する場合、ロードセルが力を測定できる1方向のことを以下では測定方向と呼ぶ。ロボット手首が鉛直下向き姿勢のときに測定方向と重力方向が一致するようにロードセルをロボット手首に取付ける(ロボットの側面図である図4を参照されたい)。
【0078】
ロボットのアームの先端部2が動作するにつれて基準座標系Σ1に対する力センサ座標系Σ2またはロードセル5の位置/姿勢は変化する。姿勢取得部13は、ある時刻における力センサ座標系Σ2またはロードセル5の位置/姿勢を、その瞬間のロボットの各軸角度やロボットリンク長などを使って公知の順運動学計算により求めることができる。
【0079】
図5(a)は本発明の実施例5等に基づくロボットの動作を示す第一の図である。図5(a)においては、ロボット1がワークWを把持していない状態で、重力方向に対して垂直な平面上をロボットのアームの先端部2が動作している様子を示す。力センサ5にはハンド3の重力およびハンド3が運動することにより生ずる慣性力などが作用する。しかしながら、重力方向については、慣性力の成分は作用しないので、重力のみが作用する。
【0080】
図5(b)は本発明の実施例5等に基づくロボットの動作を示す第二の図である。図5(b)においては、ロボット1がワークWを把持している状態で、重力方向に対して垂直な平面上をロボットのアームの先端部2が動作している様子を示す。力センサ5にはハンド3とワークWの重力およびハンド3とワークWが運動することにより生ずる慣性力などが作用する。しかしながら、重力方向については、慣性力の成分は作用しないので、重力のみが作用する。
【0081】
実施例5
実施例5ではハンド3の質量はあらかじめ測定して既知とし、力測定部5として1軸以上のロードセル5を使用する。図4(b)に示されるように、ロボット1がワークWを把持した状態で周辺機器などに接触することなしに、且つ、ロボットの手首の姿勢を変化させることなしに、ワークWを重力方向に対して垂直な平面上を動作させる。動作中の姿勢は一定とするが、必ずしも重力方向と一致していなくてもよい。その際の力について以下の式(8)が成立する。
【0082】
F=(Mh+Mw)・g・cosθ (8)
ここで、Fはロードセル5で検知した力(検出値)、
Mhはハンド3の質量、
MwはワークWの質量、
gは重力加速度、
θは測定方向と重力方向のなす角度、である(例えば図4における角度θは0°である)。
【0083】
式(8)においては、重力方向に対して垂直な平面上を動作している限り任意の時刻において成立する。そして、そのときの或る時刻における力Fを記録する。
【0084】
姿勢取得部13は、基準座標系Σ1に対するロードセル5の位置/姿勢を、その瞬間のロボット1の各軸角度やロボットリンク長などを使って公知の順運動学計算により求めることができる。基準座標系Σ1に対する重力方向もわかっているのでその瞬間におけるθも計算できる。そして、ハンド3の質量Mhは既知であるので、式(8)からワークの質量Mwを算出できる。この場合には、重力方向に慣性力が作用するのを排除できるので、ワークWの質量はより正確になる。
【0085】
或る一つの時刻において式(8)よりワークWの質量Mwを求めることができる。複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。そうすることでロードセル出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減することができる。
【0086】
実施例6
実施例6においてはハンド3の質量はあらかじめ測定して既知とし、力測定部5として三軸以上の力センサを使用する。図4(b)に示されるように、ロボット1がワークWを把持した状態で周辺機器などに接触することなしに、且つロボット1の手首の姿勢を変化させることなしに、ワークWを重力方向に対して垂直な平面上を動作させる。動作中の姿勢は一定とするが、必ずしも重力方向と一致していなくてもよい。その際の力について以下の式(9)が成立する。
【0087】
F=(Mh+Mw)・g (9)
ここで、Fは力センサ5で検知した力の重力方向の成分(検出値)、
Mhはハンド3の質量、
MwはワークWの質量、
gは重力加速度である。
【0088】
前述した式(8)は計測方向に関する式であるが、式(9)は重力方向についての式である。式(9)は重力方向に対して垂直な平面上を動作している限り任意の時刻において成立し、或る時刻における力センサ5の出力を記録する。
【0089】
力センサ5の出力は力センサ座標系Σ2における値でX、Y、Zの三成分ある。上述のように、基準座標系Σ1に対する力センサ座標系Σ2、重力方向ともにわかっているのでその瞬間における、力センサ5の出力の重力方向成分Fも計算することができる。そして、ハンド3の質量Mhは既知としているので、式(9)からMwを計算する。
【0090】
或る一つの時刻において式(9)よりワークWの質量Mwを求めることができる。複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。そうすることでロードセル出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減することができる。
【0091】
実施例7
実施例7においては、力測定部として一軸以上のロードセル5を使用する。実施例7は後述する二つのステップにより測定するという点で、前述した実施例5とは異なる。すなわち、実施例7においては、ハンド3の質量を計算する。
【0092】
はじめに第一のステップを説明する。図4(a)に示されるように、ロボット1がワークWを把持していない状態で周辺機器などに接触することなしに、且つロボット1の手首の姿勢を変化させることなしに、ワークWを重力方向に対して垂直な平面上に動作させる。動作中の姿勢は一定とするが、必ずしも重力方向と一致していなくてもよい。このとき、力について以下の式(10)が成立する。
【0093】
F=Mh・g・cosθ (10)
ここで、Fはロードセル5で検知した力(検出値)、
Mhはハンド3の質量、
gは重力加速度、
θは測定方向と重力方向のなす角度である。
【0094】
式(10)は重力方向に対して垂直な平面上を動作している限り任意の時刻において成立する。そして、そのときの或る時刻における力Fを記録する。
【0095】
姿勢取得部13は、基準座標系Σ1に対するロードセル5の位置/姿勢を、その瞬間のロボット1の各軸角度やロボットリンク長などを使って公知の順運動学計算により求めることができる。基準座標系Σ1に対する重力方向もわかっているのでその瞬間における角度θも計算できる。これらの情報を使って式(10)からハンド3の質量Mhを計算する。
【0096】
或る一つの時刻において式(10)よりハンド3の質量Mhを求めることができる。複数の時刻におけるハンド3の質量Mhを求めその平均値を採用してもよい。そうすることでロードセル出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減することができる。
【0097】
次いで、第二のステップを説明する。図4(b)に示されるように、ロボット1がワークWを把持した状態で周辺機器などに接触することなしに、且つロボット1の手首の姿勢を変化させることなしに、ワークWを重力方向に対して垂直な平面上を動作させる。動作中の姿勢は一定とするが、必ずしも重力方向と一致していなくてもよい。その際の力について以下の式(11)が成立する。
【0098】
F=(Mh+Mw)・g・cosθ (11)
ここで、Fはロードセル5で検知した力(検出値)、
Mhはハンド3の質量、
Mwはワーク5の質量、
gは重力加速度、
θは測定方向と重力方向のなす角度である。
【0099】
前述した第一のステップの場合と同様に、或る時刻における力Fを記録し、角度θを計算する。そして、ハンド3の質量Mhは第一のステップにおいて定まっているので、式(11)からワークWの質量Mwを計算する。
【0100】
或る一つの時刻において式(11)よりワークWの質量Mwを求めることができる。複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。そうすることでロードセル出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減することができる。
【0101】
実施例8
実施例8においては、力測定部5として三軸以上の力センサ5を使用する。実施例8は後述する二つのステップにより測定するという点で、前述した実施例6とは異なる。すなわち、実施例8においては、ハンド3の質量を計算する。
【0102】
はじめに、第一のステップについて説明する。図4(a)に示されるように、ロボット1がワークWを把持していない状態で周辺機器などに接触することなしに、且つロボット1の手首の姿勢を変化させることなしに、ワークWを重力方向に対して垂直な平面上に動作させる。動作中の姿勢は一定とするが、必ずしも重力方向と一致していなくてもよい。このとき、力について以下の式(12)が成立する。
【0103】
F=Mh・g (12)
ここで、Fは力センサ5で検知した力の重力方向の成分(検出値)、
Mhはハンド3の質量、
gは重力加速度である。
【0104】
前述した式(8)は計測方向についての式であるが、式(12)は重力方向の式である。式(12)は、重力方向に対して垂直な平面上を動作している限り任意の時刻において成立し、そのときの或る時刻における力センサ5の出力を記録する。
【0105】
力センサ5の出力は力センサ座標系Σ2における値でX、Y、Zの三成分ある。上述のように、基準座標系Σ1に対する力センサ座標系Σ2、重力方向ともにわかっているのでその瞬間における、力センサ5の力の重力方向成分Fも計算することができる。これらの情報を使って式(12)からハンド3の質量Mhを計算する。
【0106】
或る一つの時刻において式(12)よりハンド3の質量Mhを求めることができる。複数の時刻におけるハンド3の質量Mhを求めその平均値を採用してもよい。そうすることでロードセル出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減することができる。
【0107】
次いで、第二のステップについて説明する。図4(b)に示されるように、ロボット1がワークWを把持した状態で周辺機器などに接触することなしに、且つロボット1の手首の姿勢を変化させることなしに、ワークWを重力方向に対して垂直な平面上を動作させる。動作中の姿勢は一定とするが、必ずしも重力方向と一致していなくてもよい。その際の力について以下の式(13)が成立する。
【0108】
F=(Mh+Mw)・g (13)
ここで、Fは力センサ5で検知した力の重力方向の成分(検出値)、
Mhはハンド3の質量、
MwはワークWの質量、
gは重力加速度である。
【0109】
前述した第一のステップの場合と同様に、或る時刻における力の成分Fを計算する。ハンド3の質量Mhは第一のステップにおいて定まっているので、式(13)を用いてワークWの質量Mwを計算することができる。
【0110】
或る一つの時刻において式(13)よりワークWの質量Mwを求めることができる。複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。そうすることでロードセル出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減することができる。
【0111】
実施例9
図6は本発明の実施例9に基づくロボットの側面図である。実施例5〜実施例8においては、アームの先端部2に作用する重力方向に対して垂直な平面上をロボットアーム先端部2が移動していた。これに対し、実施例9では、図6に示されるように、ロボットアームの先端部を一定速度で直線軌道上を移動させる。
【0112】
図6から分かるように、この直線軌道は必ずしも重力方向に対して垂直な平面上になくてもよい。一定速度かつ直線軌道に限定することで加減速に必要な力、遠心力、コリオリ力などの慣性力が力測定部5に作用しなくなる。従って、より正確にワークWの質量Mhを求められるのが分かるであろう。なお、ワークWの質量Mwの計算方法は実施例5〜実施例8と同様であるので説明を省略する。
【0113】
このように、本発明においては、ロボット1を停止させることなしにワークWの質量を算出することができる。このため、ロボット1の減速時間、静止時間、再加速時間が不要となる。従って、質量の測定に伴ってロボット作業のサイクルタイムが延びることはない。
【0114】
さらに、ロボット1が任意の起動で動作しても、動力学項の影響を受けること無しに、ワークWの質量を正確に取得することができる。また、本発明では複数の力測定部は必要でなく、単一の力測定部で足りる。このため、ロボットシステムの構成を単純にでき、ロボットシステムの構築に要する費用を抑えることが可能となる。なお、異なる実施例であっても、同様の構成であれば同様の効果が得られるのは当業者であれば明らかであろう。
【符号の説明】
【0115】
1 ロボット
2 アームの先端部(機構部の先端部)
3 ハンド
5 力測定部、力センサ、ロードセル
6 加速度センサ
9 ロボット制御装置
11 質量推定部
12 加速度取得部
13 姿勢取得部
W ワーク

【特許請求の範囲】
【請求項1】
把持されたワークの質量を測定するワーク質量測定機能を備えたロボットにおいて、
前記ロボットの機構部の先端部に作用する力を測定する力測定部と、
前記ロボットが移動しているときに前記力測定部により得られる力に基づいて、前記ロボットに把持されたワークの質量を推定する質量推定部と、を備えるロボット。
【請求項2】
前記力測定部は、前記ワークを把持しているときに測定した力測定値と前記ワークを把持していないときに測定した力測定値とに基づいて前記ワークの質量を推定することを特徴とする請求項1に記載のロボット。
【請求項3】
前記ロボットが移動しているときに、前記機構部の先端部の姿勢を変化させないようにしたことを特徴とする請求項1または2に記載のロボット。
【請求項4】
前記ロボットが移動しているときの複数の時刻において前記質量推定部が推定した前記ワークの複数の質量の平均値を質量推定値とすることを特徴とする請求項1乃至3のいずれか一項に記載のロボット。
【請求項5】
前記質量推定部は前記ロボットの機構部先端部に作用する加速度を測定または推定する加速度取得部を含んでおり、
前記ロボットが移動しているときに前記力測定部により測定される力および前記加速度取得部により取得される加速度に基づいて、前記質量推定部は前記ロボットが把持したワークの質量を推定することを特徴とする請求項1乃至4のいずれか一項に記載のロボット。
【請求項6】
前記加速度取得部は、動力学方程式により加速度を計算することを特徴とする請求項5に記載のロボット。
【請求項7】
前記加速度取得部は、前記ロボットに取付けられた加速度センサにより測定された加速度を取得することを特徴とする請求項5に記載のロボット。
【請求項8】
前記力測定部は複数の方向において前記力を測定し、
前記加速度取得部は前記複数の方向において前記加速度を取得し、
前記質量推定部は前記複数の方向について前記質量を推定し、それにより、複数の前記質量の平均値を質量推定値とすることを特徴とする請求項1乃至7のいずれか一項に記載のロボット。
【請求項9】
前記力測定部は複数の方向において前記力を測定し、
前記加速度取得部は前記複数の方向において前記加速度を取得し、
前記質量推定部は前記複数の方向について前記質量を推定し、それにより、複数の前記方向のうち、前記加速度の絶対値が最大である方向に対応する前記質量を質量推定値とすることを特徴とする請求項1乃至7のいずれか一項に記載のロボット。
【請求項10】
前記質量推定部は、前記ロボットの機構部の先端部に作用する重力方向に対して垂直な平面上を前記機構部の先端部が移動しているときに前記力測定部により得られる力に基づいて、前記ロボットが把持したワークの質量を推定するようにした請求項1乃至4のいずれか一項に記載のロボット。
【請求項11】
前記質量推定部は、前記ロボットの機構部の先端部が一定速度で直線軌道を移動しているときに前記力測定部により得られる力に基づいて、前記ロボットが把持したワークの質量を推定するようにした請求項1乃至4のいずれか一項に記載のロボット。
【請求項12】
さらに、前記ロボットの機構部の先端部の姿勢を取得する姿勢取得部を具備し、
前記質量推定部は、前記力測定部により測定された一方向以上の力と、前記姿勢取得部により取得された前記姿勢とに基づいて、前記ロボットが把持したワークの質量を推定することを特徴とする請求項10または11に記載のロボット。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−56402(P2013−56402A)
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【出願番号】特願2011−197072(P2011−197072)
【出願日】平成23年9月9日(2011.9.9)
【出願人】(390008235)ファナック株式会社 (1,110)
【Fターム(参考)】