把持されたワークの質量を測定するワーク質量測定機能を備えたロボットにおいて、前記ロボットの機構部の先端部に作用する力を測定する力測定部と、前記ロボットが移動しているときに前記力測定部により得られる力に基づいて、前記ロボットに把持されたワークの質量を推定する質量推定部と、を備えるロボット。前記力測定部は、前記ワークを把持しているときに測定した力測定値と前記ワークを把持していないときに測定した力測定値とに基づいて前記ワークの質量を推定することを特徴とする請求項1に記載のロボット。前記ロボットが移動しているときに、前記機構部の先端部の姿勢を変化させないようにしたことを特徴とする請求項1または2に記載のロボット。前記ロボットが移動しているときの複数の時刻において前記質量推定部が推定した前記ワークの複数の質量の平均値を質量推定値とすることを特徴とする請求項1乃至3のいずれか一項に記載のロボット。前記質量推定部は前記ロボットの機構部先端部に作用する加速度を測定または推定する加速度取得部を含んでおり、前記ロボットが移動しているときに前記力測定部により測定される力および前記加速度取得部により取得される加速度に基づいて、前記質量推定部は前記ロボットが把持したワークの質量を推定することを特徴とする請求項1乃至4のいずれか一項に記載のロボット。前記加速度取得部は、動力学方程式により加速度を計算することを特徴とする請求項5に記載のロボット。前記加速度取得部は、前記ロボットに取付けられた加速度センサにより測定された加速度を取得することを特徴とする請求項5に記載のロボット。前記力測定部は複数の方向において前記力を測定し、前記加速度取得部は前記複数の方向において前記加速度を取得し、前記質量推定部は前記複数の方向について前記質量を推定し、それにより、複数の前記質量の平均値を質量推定値とすることを特徴とする請求項1乃至7のいずれか一項に記載のロボット。前記力測定部は複数の方向において前記力を測定し、前記加速度取得部は前記複数の方向において前記加速度を取得し、前記質量推定部は前記複数の方向について前記質量を推定し、それにより、複数の前記方向のうち、前記加速度の絶対値が最大である方向に対応する前記質量を質量推定値とすることを特徴とする請求項1乃至7のいずれか一項に記載のロボット。前記質量推定部は、前記ロボットの機構部の先端部に作用する重力方向に対して垂直な平面上を前記機構部の先端部が移動しているときに前記力測定部により得られる力に基づいて、前記ロボットが把持したワークの質量を推定するようにした請求項1乃至4のいずれか一項に記載のロボット。前記質量推定部は、前記ロボットの機構部の先端部が一定速度で直線軌道を移動しているときに前記力測定部により得られる力に基づいて、前記ロボットが把持したワークの質量を推定するようにした請求項1乃至4のいずれか一項に記載のロボット。さらに、前記ロボットの機構部の先端部の姿勢を取得する姿勢取得部を具備し、前記質量推定部は、前記力測定部により測定された一方向以上の力と、前記姿勢取得部により取得された前記姿勢とに基づいて、前記ロボットが把持したワークの質量を推定することを特徴とする請求項10または11に記載のロボット。前述したように、ワークWの質量を測定するときには、ロボット1が静止している必要がある。その理由は、ロボット1の動作時にはハンド3及びワークWの重力だけでなく、ロボット1の加減速によって生じる力、遠心力、コリオリ力等の慣性力も力センサ5によって検出されるためである。そして、そのような重力および慣性力が作用しないようにロボット1を静止させると、ロボット1の減速時間、静止時間、再加速時間が必要となる。それゆえ、ロボット1のサイクルタイムがかなり増大することになる。さらに、特許文献1および特許文献2においても、ワークの測定時には、ワークの重量が垂直に力測定部にかかるようにロボット1の姿勢を変更する必要がある。本発明はこのような事情に鑑みてなされたものであり、ハンドリング動作時であってもワークの質量を正確に取得することのできる、ワーク質量測定機能を備えたロボットを提供することを目的とする。前述した目的を達成するために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番目の発明においては、ロボットを停止させることなしにワークの質量を算出することができる。従って、質量の測定に伴ってロボット作業のサイクルタイムが延びることはない。また、単一の力測定部で足りるので、ロボットシステムの構成を単純にでき、ロボットシステムの構築に要する費用を抑えることもできる。2番目の発明においては、ハンドの質量が未知であっても、ワークの質量を求めることができる。3番目の発明においては、ワークの質量を求めるに際し、外乱による影響を軽減することができる。4番目の発明においては、ワークの質量をより正確に算出することができる。5番目の発明においては、加速度を用いることにより、ワークの質量をより正確に算出することができる。6番目の発明においては、加速度センサが不要であるので、ロボットシステムの構成を単純にでき、ロボットシステムの構築に要する費用をさらに抑えられる。7番目の発明においては、加速度をより正確かつ直接的に求められる。8番目の発明においては、複数の方向、例えばXYZの三方向での平均値を用いているので、ワークの質量をより正確に算出することができる。9番目の発明においては、加速度の絶対値が大きい方向について質量を求めるので、ノイズなどの誤差要因の影響を軽減することができる。10番目の発明においては、重力方向に慣性力が作用するのを排除できる。11番目の発明においては、ロボットの加減速に必要な力、遠心力、コリオリ力などの慣性力を排除できる。12番目の発明においては、ロボットの姿勢を考慮することにより、ハンドを真下に向けるなどの特殊な姿勢でロボットを動作させる必要がない。以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。図1は本発明に基づくロボットの側面図である。図1においてロボット1は垂直多関節ロボットまたは公知のロボットマニュピレータであり、そのアームの先端部2にはワークWを把持するハンド3が取付けられている。なお、ハンド3はロボット1のアームの先端部2に取付けられている必要は必ずしもない。ハンド3は、ワークWの形状、材質、質量等に応じて適宜選択される。ハンド3は、吸引式、チャック式のいずれであってもよい。さらに、アームの先端部2とハンド3との間には力センサ5が配置されている。図1においては、ロボット1の動作範囲内に二つのテーブルT1、T2が配置されていて、一方のテーブルT1にワークWが載置されている。また、図1に示されるように、ロボット1全体を制御するロボット制御装置9がロボット1に接続されている。なお、力センサ5もロボット制御装置9に接続されるものとする。ロボット制御装置9はデジタルコンピュータであり、ワークWの質量を推定する質量推定部11と、ロボットアームの先端部2に作用する加速度を算出する加速度取得部12とを備えている。なお、加速度取得部12の代わりに、加速度センサ6後述するがハンド3に取付けられていてもよい。さらに、図1に示されるように、ロボット制御装置9はロボットアームの先端部2の姿勢を取得する姿勢取得部13を含んでいる。さらに、図1においては、ロボット1のベースに固定された基準座標系Σ1と、力センサ5に固定された力センサ座標系Σ2とが示されている。基準座標系Σ1の軸方向と重力方向との関係は予めロボット制御装置9の記憶部図示しないに記憶しておく。なお、この記憶部には各種のデータが記憶されるものとする。通常は基準座標系Σ1のZ方向と重力方向とが一致するように設定しているが、他の方向に設定してもよい。また、図1および後述する図面において、重力は各図面の下方に向かって作用するものとする。ロボットアームの先端部2が動作するにつれて基準座標系Σ1に対する力センサ座標系Σ2の位置/姿勢は変化する。或る時刻における力センサ座標系Σ2の位置/姿勢は、その瞬間のロボット1の各軸の角度やロボットリンク長等を使って公知の順運動学計算により算出することができる。図2aおよび図2bは、それぞれ本発明の実施例1等に基づくロボットの動作を示す第一および第二の図である。図2aにおいては、ロボット1がワークWを把持していない状態で、テーブルT2からテーブルT1に向かって先端部2を或る軌道上に動作させている。このとき、力センサ5には、ハンド3の重力およびハンド3が運動することにより生ずる慣性力などが作用する。また、図2bにおいては、ロボット1がワークWを把持している状態で、テーブルT1からテーブルT2に向かって先端部2を或る軌道上に動作させている。このとき、力センサ5には、ハンド3とワークWの重力およびハンド3とワークWが運動することにより生ずる慣性力などが作用する。実施例1実施例1においては、ハンド3の質量は別途計測することにより既知である。また、力センサ5として三軸以上の力センサを使用しており、そのため力センサ5は並進三成分の力を検出できるものとする。図2bにおいては、ロボット1のハンド3によりワークWを把持しつつ、ロボット1およびワークWが周辺機器などに接触することなしに動作する。このとき、図2bに示されるようにロボット1の手首の姿勢が変化しないようにロボット1を動作させたときの力センサ5の出力は以下の式1で表される。なお、手首を変化させない理由は、ロボットの振動などの外乱の影響を少なくするためである。F=MhMwR{gd2x/dt2Cx、dx/dt}1ここで、Fは力センサ5により検出された力ベクトル検出値、Mhはハンド3の質量、MwはワークWの質量、Rは基準座標系Σ1から力センサ座標系Σ2への変換行列、gは基準座標系Σ1から見た重力加速度ベクトル、xは基準座標系Σ1から見た力センサ座標系Σ2原点の位置ベクトル、d2x/dt2はxの2階微分、Cx、dx/dtはハンド3とワークWに作用する遠心力やコリオリ力等の慣性力を表すベクトルであり、xおよびdx/dtの関数である。式1はロボット1が、周辺機器などに接触していない限りにおいて任意の時刻について成立する。ロボット1の動作時の或る時刻における力ベクトルFを記録する。そして、質量推定部11が同じ時刻におけるxをロボットリンク長やロボット1の各軸の角度などの情報から順運動学計算により算出する。次いで、質量推定部11は、算出されたxを用いて、g、d2x/dt2およびCx、dx/dtも算出する。なお、後述する演算も主に質量推定部11が行うものとする。式1の各項は三成分のベクトルなので三つの式から成り、それぞれからワーク質量Mwを求めることができる。理想的には全て同じ値になるが、実際の計算では多少異なる結果になることが多い。三つの式から得られる質量をそれぞれMwx、Mwy、Mwzとすると、以下の方法により、Mwを算出することが可能である。第一の方法はMwx、Mwy、Mwz平均値を算出することであり、以下の式2よりMwを容易に且つ正確に求めることができる。Mw=MwxMwyMwz/32あるいは、ベクトル{gd2x/dt2Cx、dx/dt}の三成分のうち絶対値が最大の方向の質量を採用してもよい。つまり、加速度の絶対値が大きい方向は、ノイズなどの誤差要因の影響は相対的に小さくなるのでその結果だけを利用する。すなわち、{gd2x/dt2Cx、dx/dt}=ax、ay、azと仮定すると、|ax|が最大ならMwx、|ay|が最大ならMwy、|az|が最大ならMwzをMwとして採用する。以上のようにして、或る一つの時刻における式1だけでワークWの質量Mwを算出できる。ただし、複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。これにより、ロボットリンク長の個体差やリンクの撓みなどによるモデル化誤差、力センサの出力値のバラツキ、ロボット自体の揺れによる振動等の外乱による影響を軽減し、信頼性の高い質量Mwを求めることができる。実施例2図3は本発明の実施例2等に基づくロボットの動作を示す図である。図から分かるように、実施例2は、加速度センサ6がハンド3の基部に取付けられている点で実施例1とは異なる。また、実施例2においても、力センサ5として三軸以上の力センサを使用しており、そのため力センサ5は並進三成分の力を検出できるものとする。前述した実施例1ではベクトル{gd2x/dt2Cx、dx/dt}を計算により求めていたが、実施例2では加速度センサ6の出力を利用して上記ベクトルを求める。図2bに示されるようにロボット1がワークWを把持している状態で、テーブルT1からテーブルT2に向かって先端部2を或る軌道上に動作させる。このときの力センサ5の出力は以下の式3で表すことができる。F=MhMwA3ここで、Fは力センサ5により検出された力ベクトル検出値、Mhはハンド3の質量、MwはワークWの質量、Aは加速度センサ6の出力ベクトルを力センサ座標系Σ2での値に変換したもの、である。実施例1の場合と同様に、ロボット1の動作時において或る時刻における力ベクトルFを記録する。このとき、或る時刻における加速度センサ6の出力ベクトルAも同様に記録する。そして、ハンド3の質量Mhは既知であるので、式3を用いることによりワークWの質量Mwを算出することができる。式3の各項は三成分のベクトルなので三つの式から成り、それぞれからワーク質量Mwを求めることができる。理想的には全て同じ値になるが、実際の計算では多少異なる結果になることが多い。三つの式から得られる質量をそれぞれMwx、Mwy、Mwzとすると、以下のようにして、Mwを算出することが可能である。第一の方法はMwx、Mwy、Mwz平均値を算出することであり、前述した式2よりワークWの質量Mwを容易に求めることができる。あるいは、ベクトルAの三成分のうち絶対値が最大の方向の結果を採用してもよい。つまり、加速度の絶対値が大きい方向は、ノイズなどの誤差要因の影響は相対的に小さくなるのでその結果だけを利用する。すなわち、A=ax、ay、azと仮定すると、|ax|が最大ならMwx、|ay|が最大ならMwy、|az|が最大ならMwzをMwとして採用する。以上のようにして、或る一つの時刻における式3だけでワークWの質量Mwを算出できる。ただし、複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。これにより、様々な誤差の影響を軽減できるのが分かるであろう。また、実施例2においては、加速度センサ6を採用しているので、加速度をより正確かつ直接的に求められるのが分かるであろう。実施例3実施例3において使用される力センサ5は三軸以上の力センサであり、並進三成分の力を検出できるものとする。実施例3は後述する二つのステップにより測定するという点で、前述した実施例1とは異なる。すなわち、実施例3においては、ハンド3の質量も計算するので、ハンド3の質量を事前に測定する必要がない。はじめに第一のステップを説明する。図2aに示されるように、ロボット1のハンド3がワークWを把持していない状態で、周辺機器に接触することなしに、ロボット1のハンド3を空中に移動させる。ロボット1の手首の姿勢が変化しないようにロボット1を動作させたときの力センサ5の出力は以下の式4で表される。F1=MhRgd2x/dt2Cx、dx/dt4ここで、F1は力センサ5で検知した力ベクトル検出値、Mhはハンドの質量、Rは基準座標系Σ1から力センサ座標系Σ2への変換行列、gは基準座標系Σ1から見た重力加速度ベクトルxは基準座標系Σ1から見た力センサ座標系Σ2原点の位置ベクトルd2x/dt2はxの2階微分Cx、dx/dtはツールにかかる遠心力やコリオリ力による加速度ベクトルであり、x、dx/dtの関数である。式4はロボット1が周辺機器などに接触しなければ任意の時刻において成立し、ロボット1が動作中のある時刻における力ベクトルF1を記録する。同じ時刻における位置ベクトルxをロボットリンク長やロボットの各軸角度などの情報から順運動学計算により演算する。そして、位置ベクトルxを用いて、さらにg、d2x/dt2、Cx、dx/dtも導出する。この場合には、加速度センサ6を設ける必要がないので、ロボットシステムの構成を単純にでき、ロボットシステムの構築に要する費用を抑えることが可能となる。次いで、上記の情報から式4よりハンド3の質量Mhを計算する。或る1つの時刻において式4からハンド3の質量Mhを求めることに加えて、複数の時刻において式4からハンド3の質量Mhを求めその平均値を演算してもよい。これにより、ロボットリンク長の個体差やリンクの撓みなどによるモデル化誤差、力センサの出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減し、信頼性の高い質量Mhを求めることができる。次いで、第二のステップを説明する。図2bに示されるように、ロボット1のハンド3がワークWを把持した状態で、周辺機器に接触することなしに、ロボット1のハンド3を空中に移動させる。ロボット1の手首の姿勢が変化しないようにロボット1を動作させたときの力センサ5の出力は以下の式5で表される。F2=MhMwRgd2x/dt2Cx、dx/dt5ここで、F2は力センサで検知した力ベクトル検出値、Mhはハンド3の質量、MwはワークWの質量、Rは基準座標系Σ1から力センサ座標系Σ2への変換行列、gは基準座標系Σ1から見た重力加速度ベクトル、xは基準座標系Σ1から見た力センサ座標系Σ2原点の位置ベクトル、d2x/dt2はxの2階微分、Cx、dx/dtはツールとワークにかかる遠心力やコリオリ力をあらわすベクトルでx、dx/dtの関数である。前述した第一のステップと同様に或る時刻におけるx、g、d2x/dt2、Cx、dx/dtを計算する。ハンド3の質量Mhは第一のステップにおいて既に定まっている。従って、式5を使ってワークWの質量Mwを導出する。式5の各項は三成分のベクトルなので三つの式から成り、それぞれから質量Mwを求めることができる。理想的には全て同じ値になるが、実際の計算では多少異なる結果になることが多い。三つの式から得られる質量をそれぞれMwx、Mwy、Mwzとすると、以下のようにして、Mwを算出することが可能である。第一の方法はMwx、Mwy、Mwz平均値を算出することであり、前述した式2よりMwを容易に求めることができる。あるいは、ベクトルg-d2x/dt2-Cx、dx/dtの三成分のうち絶対値が最大の方向の結果を採用してもよい。つまり、加速度の絶対値が大きい方向は、ノイズなどの誤差要因の影響は相対的に小さくなるのでその結果だけを利用する。すなわち、g-d2x/dt2-Cx、dx/dt=ax、ay、azと仮定すると、|ax|が最大ならMwx、|ay|が最大ならMwy、|az|が最大ならMwzをMwとして採用する。以上のようにして、或る一つの時刻における式5だけでワークWの質量Mwを算出できる。ただし、複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。これにより、様々な誤差の影響を軽減できるのが分かるであろう。実施例4図3を参照して前述したように三軸の加速度センサ6をハンド3に取付ける。前述した実施例3においてはロボットリンク長やロボットの各軸角度などから加速度g-d2x/dt2-Cx、dx/dtを求めたが、実施例4においては加速度センサ6の出力を使用する。実施例4においても実施例3と同様に三軸以上の力センサ5を使用し、並進三成分の力が検出できるものとする。実施例4は後述する二つのステップにより測定するという点で、前述した実施例2とは異なる。すなわち、実施例4においては、ハンド3の質量を計算する。はじめに第一のステップを説明する。図2aに示されるように、ロボット1のハンド3がワークWを把持していない状態で、周辺機器などに接触することなしにハンド3が空中を移動する。その際の力センサ5の出力は以下の式6で表される。F1=MhA6ここで、F1は力センサ5で検知した力ベクトル検出値Mhはハンド3の質量Aは加速度センサ6の出力ベクトルを力センサ座標系Σ2での値に変換した値である。式6はロボット1が周辺機器などに接触していなければ任意の時刻について成立し、或る時刻における力センサ5の力ベクトルF1と加速度センサ6に関する値Aとを記録する。そして、これらの情報を用いて式6からハンド3の質量Mhを算出する。或る一つの時刻において式6からハンド3の質量Mhを求めることに加えて、複数の時刻においてハンド3の質量Mhを求め、その平均値を算出してもよい。そうすることでロボットリンク長の個体差やリンクの撓みなどによるモデル化誤差、力センサの出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減することができる。次いで、第二のステップを説明する。図2bに示されるように、ロボット1でワークWを把持した状態で周辺機器などに接触させることなしハンド3を空中に動作させる。その際の力センサ5の出力は以下の式7で表すことができる。F2=MhMwA7ここで、F2は力センサ5で検知した力ベクトル検出値、Mhはハンド3の質量、MwはワークWの質量、Aは加速度センサ6の出力ベクトルを力センサ座標系Σ2での値に変換した値である。第一のステップの場合と同様に、或る時刻における力センサ5の力ベクトルF2と加速度センサ6に関する値Aとを記録する。ハンド3の質量Mhは第一のステップにおいて定まっているので、式7を使用すれば、ワークWの質量Mwを求めることができる。式7の各項は三成分のベクトルなので三つの式から成り、それぞれから質量Mwを求めることができる。理想的には全て同じ値になるが、実際の計算では多少異なる結果になることが多い。三つの式から得られる質量をそれぞれMwx、Mwy、Mwzとすると、以下のようにして、Mwを算出することが可能である。第一の方法はMwx、Mwy、Mwzの平均値を算出することであり、前述した式2よりMwを容易に求めることができる。あるいは、ベクトルAの三成分のうち絶対値が最大の方向の結果を採用してもよい。つまり、加速度の絶対値が大きい方向は、ノイズなどの誤差要因の影響は相対的に小さくなるのでその結果だけを利用する。すなわち、A=ax、ay、azと仮定すると、|ax|が最大ならMwx、|ay|が最大ならMwy、|az|が最大ならMwzをMwとして採用する。以上のようにして、或る一つの時刻における式7だけでワークWの質量Mwを算出できる。ただし、複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。これにより、様々な誤差の影響を軽減できるのが分かるであろう。後述する実施例5~実施例8においては、力測定部として、一軸以上のロードセルまたは力センサのいずれを採用してもよい。一軸ロードセルを使用する場合、ロードセルが力を測定できる1方向のことを以下では測定方向と呼ぶ。ロボット手首が鉛直下向き姿勢のときに測定方向と重力方向が一致するようにロードセルをロボット手首に取付けるロボットの側面図である図4を参照されたい。ロボットのアームの先端部2が動作するにつれて基準座標系Σ1に対する力センサ座標系Σ2またはロードセル5の位置/姿勢は変化する。姿勢取得部13は、ある時刻における力センサ座標系Σ2またはロードセル5の位置/姿勢を、その瞬間のロボットの各軸角度やロボットリンク長などを使って公知の順運動学計算により求めることができる。図5aは本発明の実施例5等に基づくロボットの動作を示す第一の図である。図5aにおいては、ロボット1がワークWを把持していない状態で、重力方向に対して垂直な平面上をロボットのアームの先端部2が動作している様子を示す。力センサ5にはハンド3の重力およびハンド3が運動することにより生ずる慣性力などが作用する。しかしながら、重力方向については、慣性力の成分は作用しないので、重力のみが作用する。図5bは本発明の実施例5等に基づくロボットの動作を示す第二の図である。図5bにおいては、ロボット1がワークWを把持している状態で、重力方向に対して垂直な平面上をロボットのアームの先端部2が動作している様子を示す。力センサ5にはハンド3とワークWの重力およびハンド3とワークWが運動することにより生ずる慣性力などが作用する。しかしながら、重力方向については、慣性力の成分は作用しないので、重力のみが作用する。実施例5実施例5ではハンド3の質量はあらかじめ測定して既知とし、力測定部5として1軸以上のロードセル5を使用する。図4bに示されるように、ロボット1がワークWを把持した状態で周辺機器などに接触することなしに、且つ、ロボットの手首の姿勢を変化させることなしに、ワークWを重力方向に対して垂直な平面上を動作させる。動作中の姿勢は一定とするが、必ずしも重力方向と一致していなくてもよい。その際の力について以下の式8が成立する。F=MhMwgcosθ8ここで、Fはロードセル5で検知した力検出値、Mhはハンド3の質量、MwはワークWの質量、gは重力加速度、θは測定方向と重力方向のなす角度、である例えば図4における角度θは0°である。式8においては、重力方向に対して垂直な平面上を動作している限り任意の時刻において成立する。そして、そのときの或る時刻における力Fを記録する。姿勢取得部13は、基準座標系Σ1に対するロードセル5の位置/姿勢を、その瞬間のロボット1の各軸角度やロボットリンク長などを使って公知の順運動学計算により求めることができる。基準座標系Σ1に対する重力方向もわかっているのでその瞬間におけるθも計算できる。そして、ハンド3の質量Mhは既知であるので、式8からワークの質量Mwを算出できる。この場合には、重力方向に慣性力が作用するのを排除できるので、ワークWの質量はより正確になる。或る一つの時刻において式8よりワークWの質量Mwを求めることができる。複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。そうすることでロードセル出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減することができる。実施例6実施例6においてはハンド3の質量はあらかじめ測定して既知とし、力測定部5として三軸以上の力センサを使用する。図4bに示されるように、ロボット1がワークWを把持した状態で周辺機器などに接触することなしに、且つロボット1の手首の姿勢を変化させることなしに、ワークWを重力方向に対して垂直な平面上を動作させる。動作中の姿勢は一定とするが、必ずしも重力方向と一致していなくてもよい。その際の力について以下の式9が成立する。F=MhMwg9ここで、Fは力センサ5で検知した力の重力方向の成分検出値、Mhはハンド3の質量、MwはワークWの質量、gは重力加速度である。前述した式8は計測方向に関する式であるが、式9は重力方向についての式である。式9は重力方向に対して垂直な平面上を動作している限り任意の時刻において成立し、或る時刻における力センサ5の出力を記録する。力センサ5の出力は力センサ座標系Σ2における値でX、Y、Zの三成分ある。上述のように、基準座標系Σ1に対する力センサ座標系Σ2、重力方向ともにわかっているのでその瞬間における、力センサ5の出力の重力方向成分Fも計算することができる。そして、ハンド3の質量Mhは既知としているので、式9からMwを計算する。或る一つの時刻において式9よりワークWの質量Mwを求めることができる。複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。そうすることでロードセル出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減することができる。実施例7実施例7においては、力測定部として一軸以上のロードセル5を使用する。実施例7は後述する二つのステップにより測定するという点で、前述した実施例5とは異なる。すなわち、実施例7においては、ハンド3の質量を計算する。はじめに第一のステップを説明する。図4aに示されるように、ロボット1がワークWを把持していない状態で周辺機器などに接触することなしに、且つロボット1の手首の姿勢を変化させることなしに、ワークWを重力方向に対して垂直な平面上に動作させる。動作中の姿勢は一定とするが、必ずしも重力方向と一致していなくてもよい。このとき、力について以下の式10が成立する。F=Mhgcosθ10ここで、Fはロードセル5で検知した力検出値、Mhはハンド3の質量、gは重力加速度、θは測定方向と重力方向のなす角度である。式10は重力方向に対して垂直な平面上を動作している限り任意の時刻において成立する。そして、そのときの或る時刻における力Fを記録する。姿勢取得部13は、基準座標系Σ1に対するロードセル5の位置/姿勢を、その瞬間のロボット1の各軸角度やロボットリンク長などを使って公知の順運動学計算により求めることができる。基準座標系Σ1に対する重力方向もわかっているのでその瞬間における角度θも計算できる。これらの情報を使って式10からハンド3の質量Mhを計算する。或る一つの時刻において式10よりハンド3の質量Mhを求めることができる。複数の時刻におけるハンド3の質量Mhを求めその平均値を採用してもよい。そうすることでロードセル出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減することができる。次いで、第二のステップを説明する。図4bに示されるように、ロボット1がワークWを把持した状態で周辺機器などに接触することなしに、且つロボット1の手首の姿勢を変化させることなしに、ワークWを重力方向に対して垂直な平面上を動作させる。動作中の姿勢は一定とするが、必ずしも重力方向と一致していなくてもよい。その際の力について以下の式11が成立する。F=MhMwgcosθ11ここで、Fはロードセル5で検知した力検出値、Mhはハンド3の質量、Mwはワーク5の質量、gは重力加速度、θは測定方向と重力方向のなす角度である。前述した第一のステップの場合と同様に、或る時刻における力Fを記録し、角度θを計算する。そして、ハンド3の質量Mhは第一のステップにおいて定まっているので、式11からワークWの質量Mwを計算する。或る一つの時刻において式11よりワークWの質量Mwを求めることができる。複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。そうすることでロードセル出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減することができる。実施例8実施例8においては、力測定部5として三軸以上の力センサ5を使用する。実施例8は後述する二つのステップにより測定するという点で、前述した実施例6とは異なる。すなわち、実施例8においては、ハンド3の質量を計算する。はじめに、第一のステップについて説明する。図4aに示されるように、ロボット1がワークWを把持していない状態で周辺機器などに接触することなしに、且つロボット1の手首の姿勢を変化させることなしに、ワークWを重力方向に対して垂直な平面上に動作させる。動作中の姿勢は一定とするが、必ずしも重力方向と一致していなくてもよい。このとき、力について以下の式12が成立する。F=Mhg12ここで、Fは力センサ5で検知した力の重力方向の成分検出値、Mhはハンド3の質量、gは重力加速度である。前述した式8は計測方向についての式であるが、式12は重力方向の式である。式12は、重力方向に対して垂直な平面上を動作している限り任意の時刻において成立し、そのときの或る時刻における力センサ5の出力を記録する。力センサ5の出力は力センサ座標系Σ2における値でX、Y、Zの三成分ある。上述のように、基準座標系Σ1に対する力センサ座標系Σ2、重力方向ともにわかっているのでその瞬間における、力センサ5の力の重力方向成分Fも計算することができる。これらの情報を使って式12からハンド3の質量Mhを計算する。或る一つの時刻において式12よりハンド3の質量Mhを求めることができる。複数の時刻におけるハンド3の質量Mhを求めその平均値を採用してもよい。そうすることでロードセル出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減することができる。次いで、第二のステップについて説明する。図4bに示されるように、ロボット1がワークWを把持した状態で周辺機器などに接触することなしに、且つロボット1の手首の姿勢を変化させることなしに、ワークWを重力方向に対して垂直な平面上を動作させる。動作中の姿勢は一定とするが、必ずしも重力方向と一致していなくてもよい。その際の力について以下の式13が成立する。F=MhMwg13ここで、Fは力センサ5で検知した力の重力方向の成分検出値、Mhはハンド3の質量、MwはワークWの質量、gは重力加速度である。前述した第一のステップの場合と同様に、或る時刻における力の成分Fを計算する。ハンド3の質量Mhは第一のステップにおいて定まっているので、式13を用いてワークWの質量Mwを計算することができる。或る一つの時刻において式13よりワークWの質量Mwを求めることができる。複数の時刻におけるワークWの質量Mwを求めその平均値を採用してもよい。そうすることでロードセル出力値のばらつき、ロボット自身の揺れによる振動等の外乱による影響を軽減することができる。実施例9図6は本発明の実施例9に基づくロボットの側面図である。実施例5~実施例8においては、アームの先端部2に作用する重力方向に対して垂直な平面上をロボットアーム先端部2が移動していた。これに対し、実施例9では、図6に示されるように、ロボットアームの先端部を一定速度で直線軌道上を移動させる。図6から分かるように、この直線軌道は必ずしも重力方向に対して垂直な平面上になくてもよい。一定速度かつ直線軌道に限定することで加減速に必要な力、遠心力、コリオリ力などの慣性力が力測定部5に作用しなくなる。従って、より正確にワークWの質量Mhを求められるのが分かるであろう。なお、ワークWの質量Mwの計算方法は実施例5~実施例8と同様であるので説明を省略する。このように、本発明においては、ロボット1を停止させることなしにワークWの質量を算出することができる。このため、ロボット1の減速時間、静止時間、再加速時間が不要となる。従って、質量の測定に伴ってロボット作業のサイクルタイムが延びることはない。さらに、ロボット1が任意の起動で動作しても、動力学項の影響を受けること無しに、ワークWの質量を正確に取得することができる。また、本発明では複数の力測定部は必要でなく、単一の力測定部で足りる。このため、ロボットシステムの構成を単純にでき、ロボットシステムの構築に要する費用を抑えることが可能となる。なお、異なる実施例であっても、同様の構成であれば同様の効果が得られるのは当業者であれば明らかであろう。