JP2019188514A - ロボットを用いた負荷の重量及び重心位置を推定するための装置、方法及びプログラム - Google Patents

ロボットを用いた負荷の重量及び重心位置を推定するための装置、方法及びプログラム Download PDF

Info

Publication number
JP2019188514A
JP2019188514A JP2018082929A JP2018082929A JP2019188514A JP 2019188514 A JP2019188514 A JP 2019188514A JP 2018082929 A JP2018082929 A JP 2018082929A JP 2018082929 A JP2018082929 A JP 2018082929A JP 2019188514 A JP2019188514 A JP 2019188514A
Authority
JP
Japan
Prior art keywords
torque
shaft
movable part
robot
acting
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
Application number
JP2018082929A
Other languages
English (en)
Other versions
JP6795540B2 (ja
Inventor
康広 内藤
Yasuhiro Naito
康広 内藤
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP2018082929A priority Critical patent/JP6795540B2/ja
Priority to DE102019110173.5A priority patent/DE102019110173A1/de
Priority to US16/389,128 priority patent/US11602863B2/en
Priority to CN201910319049.6A priority patent/CN110394817B/zh
Publication of JP2019188514A publication Critical patent/JP2019188514A/ja
Application granted granted Critical
Publication of JP6795540B2 publication Critical patent/JP6795540B2/ja
Priority to US17/834,067 priority patent/US20220297321A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M1/00Testing static or dynamic balance of machines or structures
    • G01M1/12Static balancing; Determining position of centre of gravity
    • G01M1/122Determining position of centre of gravity
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01GWEIGHING
    • G01G19/00Weighing apparatus or methods adapted for special purposes not provided for in the preceding groups
    • G01G19/52Weighing apparatus combined with other objects, e.g. furniture
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01GWEIGHING
    • G01G23/00Auxiliary devices for weighing apparatus

Abstract

【課題】ロボットの可動部に取り付けた負荷の重量と重心位置を、簡易な構成で推定できる装置、方法およびプログラムを提供する。【解決手段】推定装置は、ロボット14の可動部12を駆動する軸16に作用するトルクを検出するトルクセンサ18と、可動部12に取り付けられた物体30が第1の姿勢で第1の位置にあるときに軸16に作用する第1のトルクと、物体30が第1の姿勢で第1の位置とは異なる第2の位置にあるときに軸16に作用する第2のトルクと、第1の位置と、第2の位置とを用いて、物体30の重量を計算する計算部32とを有する。【選択図】図1

Description

本発明は、ロボットを用いて負荷の重量及び重心位置を推定するための装置、方法及びプログラムに関する。
通常、ロボットアーム等のロボットの可動部の先端には、ロボットハンドや工具等の物体(負荷)が取り付けられており、該物体の重量と重心位置を知ることは、ロボットを精度よく制御する上で重要である。
これに関する従来技術として、物体が取り付けられたロボットアームの回転軸のトルクを利用して、該に取り付けた物体の重量又は重心位置を計算により推定する装置又は方法が知られている(例えば特許文献1−3参照)。
特開平03−142179号公報 特開平09−091004号公報 特開平02−300644号公報
ロボットの先端に位置するツール等の物体の重量と重心位置を推定する方法として、ロボットの軸を回転させたときの、該軸を駆動するモータの電流を測定し、運動方程式を用いて負荷の重量を計算する方法が知られている。しかしモータ電流を使用する場合、軸に作用する摩擦力を同定する必要があるが、摩擦力を同定するのは一般に困難であり、誤差が生じやすい。
また、予めツール等の物体の重量や重心位置を何らかの手段で測定してから該物体をロボットに装着し、作業者が手動でロボット制御装置等に測定結果を入力・設定する方法も考えられるが、測定する手段が容易に入手できなかったり(特に重心位置は測定が難しい)、ツールをロボットに装着した後に、該ツールの重量と重心位置の情報が必要であることが判明したりすることがあるため、物体をロボットに装着した状態で重量や重心位置を推定できる方法、手段が望まれる。
本開示の一態様は、ロボットの可動部を駆動する軸に作用するトルクを検出するトルクセンサと、前記可動部に取り付けられた物体が第1の姿勢で第1の位置にあるときに前記トルクセンサで検出された、前記軸に作用する第1のトルクと、前記物体が前記第1の姿勢で前記第1の位置とは異なる第2の位置にあるときに前記トルクセンサで検出された、前記軸に作用する第2のトルクと、前記第1の位置と、前記第2の位置とを用いて、前記物体の重量を計算する計算部と、を有する、物体の重量の推定装置である。
本開示の他の態様は、ロボットの可動部を駆動する軸に作用するトルクを検出するトルクセンサと、前記可動部に取り付けられた物体が互いに異なる3つの姿勢にあるときのそれぞれにおいて前記トルクセンサで検出された、前記軸に作用する第1のトルク、第2のトルク及び第3のトルクと、前記第1のトルクを検出したときの前記可動部の第1の位置及び姿勢と、前記第2のトルクを検出したときの前記可動部の第2の位置及び姿勢と、前記第3のトルクを検出したときの前記可動部の第3の位置及び姿勢と用いて、前記物体の重心位置を計算する計算部と、を有する、物体の重心位置の推定装置である。
本開示のさらなる他の態様は、トルクセンサを有するロボットの可動部に物体を取り付けることと、前記物体が第1の姿勢で第1の位置にあるときに、前記可動部を駆動する軸に作用する第1のトルクを前記トルクセンサで検出することと、前記物体が前記第1の姿勢で前記第1の位置とは異なる第2の位置にあるときに、前記軸に作用する第2のトルクを前記トルクセンサで検出することと、前記第1のトルク、前記第2のトルク、前記第1の位置及び前記第2の位置を用いて、前記物体の重量を計算することと、を含む、物体の重量の推定方法である。
本開示のまたさらなる他の態様は、トルクセンサを有するロボットの可動部に、重量が既知の物体を取り付けることと、前記物体が互いに異なる3つの姿勢にあるときのそれぞれにおいて、前記可動部を駆動する軸に作用する第1のトルク、第2のトルク及び第3のトルクを前記トルクセンサで検出することと、前記第1のトルク、前記第2のトルク、前記第3のトルク、前記第1のトルクを検出したときの前記可動部の第1の位置及び姿勢、前記第2のトルクを検出したときの前記可動部の第2の位置及び姿勢、並びに前記第3のトルクを検出したときの前記可動部の第3の位置及び姿勢を用いて、前記物体の重心位置を計算することと、を含む、物体の重心位置の推定方法である。
本開示によれば、物体をロボットに装着した状態で、ロボットの簡易な動作によって、該物体の重量及び重心位置の少なくとも一方を、高い精度で推定することができる。
好適な実施形態に係る推定装置の一構成例を示す。 物体の重量を推定する際に、物体が第1の姿勢で第1の位置にある状態を例示する。 物体の重量を推定する際に、物体が第1の姿勢で第2の位置にある状態を例示する。 物体の重心位置を推定する際に、物体が第1の姿勢を呈する状態を例示する。 物体の重心位置を推定する際に、物体が第2の姿勢を呈する状態を例示する。
図1は、好適な実施形態に係る推定装置を含むロボットシステム10の概略構成例を示す。推定装置は、ロボット14の可動部12を駆動する軸16に作用するトルクを検出するトルクセンサ18を有する。ロボット14は、後述する動作を行える可動部12を有するものであればどのような構造のものでもよいが、図示例では、所定位置に設置される基部20と、基部20に対して略鉛直方向の軸線回りに旋回可能な旋回胴22と、旋回胴22に対して回転可能に取り付けられた上腕24と、上腕24に対して回転可能に取り付けられた前腕26と、前腕26に対して回転可能に取り付けられた手首部28とを有する6軸の多関節ロボットである。
推定装置は、物体の重量を推定するために使用される場合、可動部12(ここでは可動部先端に相当する手首部28)に取り付けられた物体30が第1の姿勢で第1の位置にあるときにトルクセンサ18で検出された、軸16に作用する第1のトルクと、物体30が該第1の姿勢で第1の位置とは異なる第2の位置にあるときにトルクセンサ18で検出された、軸16に作用する第2のトルクと、該第1の位置と、該第2の位置とを用いて、物体30の重量を計算する計算部32を有する。なお推定装置は、計算部32が使用するデータや計算結果等を記憶するための、メモリ等の記憶部34をさらに有してもよい。
また推定装置が物体の重心位置を推定するために使用される場合、推定装置の計算部32は、可動部12(ここでは可動部先端に相当する手首部28)に取り付けられた物体30が互いに異なる3つの姿勢にあるときのそれぞれにおいてトルクセンサ18で検出された、軸16に作用する第1のトルク、第2のトルク及び第3のトルクと、該第1のトルクを検出したときの可動部12の第1の位置及び姿勢と、該第2のトルクを検出したときの可動部12の第2の位置及び姿勢と、該第3のトルクを検出したときの可動部12の第3の位置及び姿勢と用いて、物体30の重心位置を計算する機能を有する。
なお重量又は重心位置を推定すべき物体30の具体例としては、可動部12の先端(ここでは手首部28)に取り付け可能なロボットハンド、工具、溶接トーチ、レーザヘッド等のエンドエフェクタが挙げられ、本開示では負荷と称することもある。従ってロボット14は、後述する処理によって負荷の重量及び重心位置の少なくとも一方を推定した後は、該負荷をロボット14から取り外すことなく、推定した値を利用して、ワークの把持や加工等の所定の作業を精度よく行うことができる。或いは、ロボットハンド等で保持可能な部品や加工対象品(ワーク)も、重量又は重心位置を推定すべきものであれば、物体30に含まれ得る。
計算部32は、上述の物体30の重量を計算する機能と、物体30の重心位置を計算する機能との少なくとも一方を有し、図示例では、ロボット14の動作を制御するロボット制御装置36内に、プロセッサ等の演算処理装置として組み込むことができる。或いは、ロボット制御装置36とは別の、パーソナルコンピュータ(PC)等の計算機(図示せず)に、計算部32の機能を担わせることもでき、その場合はロボット制御装置36とPC等の計算機とは、有線又は無線で通信可能に接続されることが好ましい。またロボット制御装置36は、作業者が各種の設定を行えるように、キーボードやタッチパネル等の適当な入力部(図示せず)を具備してもよい。
また計算部32等のロボット制御装置36の構成要素は、例えば電算機のCPU(中央処理装置)等のプロセッサを機能させるためのソフトウェアとしても構成可能である。或いは例えば、当該ソフトウェアの処理の少なくとも一部を実行可能なプロセッサやメモリ等のハードウェアとしても実現可能である。
(第1実施例)
次に、推定装置を用いて物体の重量を推定する方法(処理)を、第1の実施例として説明する。先ず、図2に示すように、手首部28に取り付けられた物体30が第1の姿勢で第1の位置P1にあるときに、軸16に作用するトルク(第1のトルクT1)をトルクセンサ18で検出する。このとき、第1のトルクT1と物体30の重量Wとの間には、以下の式(1)が成り立つ。但し式(1)において、M1は図2の状態(すなわち第1のトルクT1を検出したときの可動部12の位置及び姿勢)において、物体30がない場合に軸16に作用するトルクであり、d1は図2の状態において物体30の重心位置Gを通る鉛直線38と、軸16との水平方向距離である。
T1=M1+W×d1 (1)
そして図3に示すように、ロボット14を動作させて、物体30を、第1の位置にあったときと同じ姿勢(すなわち第1の姿勢)で、かつ第1の位置とは異なる第2の位置に移動させ、軸16に作用するトルク(第2のトルクT2)をトルクセンサ18で検出する。このとき、第2のトルクT2と物体30の重量Wとの間には、以下の式(2)が成り立つ。但し式(2)において、M2は図3の状態(すなわち第2のトルクT2を検出したときの可動部12の位置及び姿勢)において、物体30がない場合に軸16に作用するトルクであり、d2は図3の状態において物体30の重心位置Gを通る鉛直線と、軸16との水平方向距離である。
T2=M2+W×d2 (2)
式(1)及び(2)から、以下の式(3)が得られる。
T2−T1=M2−M1+W×(d2−d1) (3)
ここで、第1の位置及び第2の位置における物体30の姿勢は同じであるから、物体が第1の位置から第2の位置まで移動したときの、ツール代表点等の可動部の代表位置(ここでは可動部先端に相当する手首部28)の水平方向移動距離Dと、物体の重心位置Gの水平方向の移動距離(d2−d1)は一致する。手首部28の水平方向移動距離Dは、ロボット制御装置36からロボット14に送られた移動指令や、ロボット14の各軸に設けたエンコーダの値等を用いれば容易に知ることができるので、式(3)を変形すると、以下の式(4)が得られる。
W=((T2−M2)−(T1−M1))/D (4)
ここでM1及びM2は、第1及び第2のトルクの検出前又は検出後に、物体30をロボット14に取り付けない状態で、トルクセンサ18を用いて軸16に作用するトルクとして検出して取得してもよいし、或いは、計算部32等がロボット14の各部の質量や重心位置等を用いた計算を行うことによって取得することもできる。後者の具体例としては、ニュートンオイラー法が挙げられる。
よって式(4)の右辺は全て既知の情報であるので、同式から、物体30の重量Wが求まる。なお本実施例ではd1<d2の場合を考えたが、d1>d2の場合も考慮すると、以下の式(5)を用いることが好ましい。
W=|(T2−M2)−(T1−M1)|/D (5)
式(5)からわかるように、物体30の重量Wを推定するためには、T1、T2、M1、M2及びDが与えられれば足り、d1及びd2そのものは求める必要がない。従って物体の重心位置Gが未知であっても、上述の動作をロボット14に行わせることにより、物体の重量Wを正確に推定することができる。なお第1の位置及び第2の位置には特に制約はないが、両位置間の水平方向距離D(d2−d1)はゼロではない。
また第1の実施例では、第1の位置及び第2の位置のそれぞれにおいてロボット14を静止させて第1及び第2のトルクを検出してもよいし、ロボット14の可動部12が一定速度で動いている(つまり可動部12の加速度がゼロである)間に、任意の2つのタイミング(但し物体30の姿勢は同一)で検出したトルク値をそれぞれ第1及び第2のトルクとしてもよい。いずれの場合であっても上記の式(1)−(5)は成り立つからである。
(第2実施例)
次に、推定装置を用いて物体の重心位置を推定する方法(処理)を、第2の実施例として説明する。先ず、図4に示すように、手首部28に取り付けられた物体30が第1の姿勢で第1の位置にあるときに、軸16に作用するトルク(第1のトルクT1)をトルクセンサ18で検出(測定)する。このとき、第1のトルクT1と物体30の重量Wとの間には、以下の式(6)が成り立つ。但し式(6)において、M1は図4の状態(すなわち第1のトルクT1を検出したときの可動部12の位置及び姿勢)において、物体30がない場合に軸16に作用するトルクであり、d1は図4の状態において物体30の重心位置Gを通る鉛直線38と、軸16との水平方向距離である。
T1=M1+W×d1 (6)
そして図5に示すように、ロボット14を動作させて、物体30を第1の姿勢とは異なる第2の姿勢となるように移動させ、軸16に作用するトルク(第2のトルクT2)をトルクセンサ18で検出(測定)する。このとき、第2のトルクT2と物体30の重量Wとの間には、以下の式(7)が成り立つ。但し式(7)において、M2は図5の状態(すなわち第2のトルクT2を検出したときの可動部12の位置及び姿勢)において、物体30がない場合に軸16に作用するトルクであり、d2は図5の状態において物体30の重心位置Gを通る鉛直線38と、軸16との水平方向距離である。
T2=M2+W×d2 (7)
式(6)及び(7)から、以下の式(8)が得られる。
(T2−M2)−(T1−M1)=W×(d2−d1) (8)
ここで、ツール代表点等の可動部12の代表位置(ここでは可動部先端に相当する手首部28)の水平方向の移動距離D1、物体30の重心位置Gを表す座標(Px,Py,Pz)を第1の姿勢において水平方向に射影した長さ(Px,Py,Pz)・E1、及び、物体30の重心位置(Px,Py,Pz)を第2の姿勢において水平方向に射影した長さ(Px,Py,Pz)・E2を用いると、(d2−d1)は以下の式(9)で表される。但し式(9)において、「・」は内積を表し、E1及びE2はそれぞれ、第1及び第2の姿勢について可動部先端(ここでは手首部28)に定義した先端座標系40における水平方向ベクトルの単位ベクトルであり、これらはロボット制御装置36からロボット14に送られた移動指令や、ロボット14の各軸に設けたエンコーダの値等を用いれば容易に求めることができる。例えば、図4の例ではE1=(1,0,0)となり、図5の例ではE2=(1/√2,0,1/√2)となる(先端座標系40がY軸回りに45°回転している)。但し第2の実施例では、手首部等に定義された先端座標系40と、物体30との相対位置関係は既知であるとし、これは第1の実施例でも同様である。
d2−d1=D1−(Px,Py,Pz)・E1+(Px,Py,Pz)・E2(9)
式(8)及び(9)から、以下の式(10)が得られる。
(T2−M2)−(T1−M1)=W×(D1−(Px,Py,Pz)・E1+(Px,Py,Pz)・E2) (10)
次に、ロボット14を動作させて、物体30を第1及び第2の姿勢のいずれとも異なる第3の姿勢となるように移動させ、軸16に作用するトルク(第3のトルクT3)をトルクセンサ18で検出(測定)する。このとき、第3のトルクT3と物体30の重量Wとの間には、以下の式(11)が成り立つ。但し式(11)において、M3は第3のトルクT3を検出したときの可動部の位置及び姿勢において、物体30がない場合に軸16に作用するトルクであり、d3は第3のトルクT3を検出したときと同じ可動部の位置及び姿勢において、物体30の重心位置を通る鉛直線と、軸16との水平方向距離である。
T3=M3+W×d3 (11)
式(8)−(10)に関する説明と同様の処理により、以下の式(12)及び(13)が得られる。つまり式(10)が第1の姿勢と第2の姿勢との関係で得られた式であるのに対し、式(12)は第2の姿勢と第3の姿勢との関係で得られた式であり、式(13)は第3の姿勢と第1の姿勢との関係で得られた式である。なおE3は、第3の姿勢について可動部先端(ここでは手首部28)に定義した先端座標系40における水平方向ベクトルの単位ベクトルであり、これはE1又はE2と同様、ロボット制御装置36からロボット14に送られた移動指令や、ロボット14の各軸に設けたエンコーダの値等を用いれば容易に求めることができる。
(T3−M3)−(T2−M2)=W×(D2−(Px,Py,Pz)・E2+(Px,Py,Pz)・E3) (12)
(T1−M1)−(T3−M3)=W×(D3−(Px,Py,Pz)・E3+(Px,Py,Pz)・E1) (13)
手首部28の水平方向移動距離D1−D3は、ロボット制御装置36からロボット14に送られた移動指令や、ロボット14の各軸に設けたエンコーダの値等を用いれば容易に知ることができる。またM1−M3は、第1−第3のトルクの検出前又は検出後に、物体30をロボット14に取り付けない状態で、トルクセンサ18を用いて軸16に作用するトルクとして検出して取得してもよいし、或いは、計算部32等がロボット14の各部の質量や重心位置等を用いた計算を行うことによって取得することもできる。後者の具体例としては、ニュートンオイラー法が挙げられる。
上述の処理により、3つの未知数(Px,Py,Pz)に対して、3つの等式(10)、(12)及び(13)が得られる。従ってこれらの等式を連立方程式として解くことにより、物体30の重心位置(Px,Py,Pz)を求めることができる。なお上式(10)、(12)及び(13)を一般化すると、以下の式(14)のようになる。但しi、jはいずれも1以上の整数であり、それらの上限は物体30がロボット14の動作によって呈し得る姿勢の個数に相当する。
(Ti−Mi)−(Tj−Mj)=W×(Di−(Px,Py,Pz)・Ei+(Px,Py,Pz)・Ej) (14)
式(10)、(12)及び(13)からわかるように、物体30の重心位置重量Wを推定するためには、T1−T3、M1−M3、E1−E3、D1−D3及びWが与えられれば足りる。従って物体の重量が既知であれば、上述の動作をロボット14に行わせることにより、物体の重心位置(座標)を正確に推定することができる。なおここでの制約条件は、両位置間の水平方向距離D1−D3がゼロではなく、かつE1x=E2x=E3xではなく、かつE1y=E2y=E3yではなく、かつE1z=E2z=E3zではないことである。但し、E1=(E1x,E1y,E1z)、E2=(E2x,E2y,E2z)、E3=(E3x,E3y,E3z)であるとする。
また第2の実施例では、第1−第3の位置のそれぞれにおいてロボット14を静止させて第1及び第2のトルクを検出してもよいし、ロボット14の可動部12が一定速度で動いている(例えば角速度が一定)間に、任意の3つのタイミング(但し物体30の姿勢は互いに異なる)で検出したトルク値をそれぞれ第1及び第2のトルクとしてもよい。いずれの場合であっても上記の式(6)−(14)は成り立つからである。
なお第1の実施例と第2の実施例はそれぞれ個別に行うことができるが、両実施例を連続的に行うこともできる。すなわち、先ず第1の実施例で説明した処理によって物体の重量Wを推定し、推定された重量Wを用いて、第2の実施例で説明した処理によって物体の重心位置Gを推定することができる。この場合、第1の実施例における第2の位置及び姿勢(図3)は、第2の実施例における第1の位置及び姿勢(図4)として扱うこともできるので、両実施例を連続的に行う場合、それぞれ個別に行う場合よりも、ロボットの動作の回数を減らすことができる。
第1及び第2の実施例におけるトルクセンサ18としては、非接触式(磁歪式)や接触式(スリップリング)等、特定の軸に作用するトルクを検出(測定)できる種々のトルクセンサが利用可能である。なお本開示において、トルクセンサで検出される「軸に作用するトルク」(トルク検出値)は、ロボットの各軸を駆動するモータのトルクから摩擦等の影響を差し引いた値(又はこれに重力の影響を付加したもの)に相当するので、トルクセンサの使用により、一般に困難かつ精度が低いとされる摩擦の推定・同定を行うことなく、物体の重量又は重心位置を、少なくとも実用的には十分高い精度で推定することができる。但しトルクセンサ18は、重力方向のトルクを検出でき、かつトルクセンサ18より先端側のロボット可動部によって、重量測定のための動作(物体の姿勢が等しい2つの位置に移動)か、重心位置測定のための動作(物体の姿勢が互いに異なる3つの位置に移動)が実現できることが要求される。従って例えば、上記実施例ではトルクセンサ18は上腕24の駆動軸16に作用するトルクを検出するが、前腕26及び手首部28のみによって上記動作が実現できるのであれば、前腕26の駆動軸42(図1参照)に作用するトルクを検出するトルクセンサを用いてもよい。
或いはトルクセンサとして、例えばロボット14の基部20の内部又は下部に設けられた、6軸の力覚センサ(トルクセンサ)44(図1参照)を使用することもできる。このようなトルクセンサ44を使用すれば、ロボット14に作用する、互いに直交する水平方向の2軸のトルクを測定できるが、例えば重心位置を推定する場合(第2の実施例)、式(10)、(12)及び(13)で表したような連立方程式をそれぞれの方向について(つまり2組(計6つ)の等式を)得ることができる。この場合、2組の連立方程式の解(重心位置)が異なることもあるが、それぞれの解の平均を使用する等、推定精度をさらに高めることができる。このように本開示では、未知数を求めるための最小限の等式の個数を超える等式が得られることは、推定のための情報量が増えることを意味するので、平均値や最小二乗法等を利用して、推定精度を高めることができる。
また上述の6軸のトルクセンサ44や、ロボット14の外表面に設けられた接触センサ(図示せず)等をロボット14に使用した場合、ロボット14は、人間や周辺物等との接触を検知する機能を具備することができる。このような接触検知機能を有するロボットは、人間と作業領域を共用する協働ロボットとして使用可能であるが、接触検知の精度が低いと、ロボットが誤検知をして頻繁に非常停止する等の不具合が生じ得る。しかし本開示によれば、物体の重量又は重心位置を正確に推定できるので、トルクセンサが検出するトルク値から、ロボットの重量によるトルク及び慣性トルク、並びに可動部に取り付けられた負荷の重量によるトルク及び慣性トルクを引くことにより、ロボットに作用する外力を正確に検知することができるようになる。
本開示では、上述の処理をロボット、及び推定装置等のロボットに付随して使用される演算処理装置に実行させるためのプログラムを、推定装置の記憶部又は他の記憶装置に記憶させることができる。またプログラムは、該プログラムを記録した、コンピュータが読み取り可能な記録媒体(CD−ROM、USBメモリ等)としても提供可能である。
10 ロボットシステム
12 可動部
14 ロボット
16、42 駆動軸
18、44 トルクセンサ
20 基部
22 旋回胴
24 上腕
26 前腕
28 手首部
30 物体
32 計算部
34 記憶部
36 ロボット制御装置
40 先端座標系

Claims (9)

  1. ロボットの可動部を駆動する軸に作用するトルクを検出するトルクセンサと、
    前記可動部に取り付けられた物体が第1の姿勢で第1の位置にあるときに前記トルクセンサで検出された、前記軸に作用する第1のトルクと、前記物体が前記第1の姿勢で前記第1の位置とは異なる第2の位置にあるときに前記トルクセンサで検出された、前記軸に作用する第2のトルクと、前記第1の位置と、前記第2の位置とを用いて、前記物体の重量を計算する計算部と、
    を有する、物体の重量の推定装置。
  2. 前記計算部は、
    前記第1のトルクをT1、前記第2のトルクをT2とし、
    前記第1のトルクを検出したときの前記可動部の位置及び姿勢において、前記物体が前記可動部に取り付けられていないときに前記軸に作用するトルクM1を取得し、前記第2のトルクを検出したときの前記可動部の位置及び姿勢において、前記物体が前記可動部に取り付けられていないときに前記軸に作用するトルクM2を取得し、
    前記第1の位置から前記第2の位置に至るベクトルの、前記軸に垂直でかつ水平な成分の大きさDを計算し、
    前記物体の重量Wを、
    W=|(T2−M2)−(T1−M1)|/D
    なる式によって計算する、請求項1に記載の推定装置。
  3. ロボットの可動部を駆動する軸に作用するトルクを検出するトルクセンサと、
    前記可動部に取り付けられた物体が互いに異なる3つの姿勢にあるときのそれぞれにおいて前記トルクセンサで検出された、前記軸に作用する第1のトルク、第2のトルク及び第3のトルクと、前記第1のトルクを検出したときの前記可動部の第1の位置及び姿勢と、前記第2のトルクを検出したときの前記可動部の第2の位置及び姿勢と、前記第3のトルクを検出したときの前記可動部の第3の位置及び姿勢と用いて、前記物体の重心位置を計算する計算部と、
    を有する、物体の重心位置の推定装置。
  4. 前記計算部は、
    前記物体の重量をWとし、
    前記第1のトルクをT1、前記第2のトルクをT2、前記第3のトルクをT3とし、
    前記第1の位置及び姿勢E1において、前記物体が前記可動部に取り付けられていないときに前記軸に作用するトルクM1を取得し、前記第2の位置及び姿勢E2において、前記物体が前記可動部に取り付けられていないときに前記軸に作用するトルクM2を取得し、前記第3の位置及び姿勢E3において、前記物体が前記可動部に取り付けられていないときに前記軸に作用するトルクM3を取得し、
    前記第1の位置から前記第2の位置に至るベクトルの、前記軸に垂直でかつ水平な成分の大きさD1を計算し、前記第2の位置から前記第3の位置に至るベクトルの、前記軸に垂直でかつ水平な成分の大きさD2を計算し、前記第3の位置から前記第1の位置に至るベクトルの、前記軸に垂直でかつ水平な成分の大きさD3を計算し、
    前記物体の重心位置(Px,Py,Pz)を、少なくとも、
    (T2−M2)−(T1−M1)=W×(D1−(Px,Py,Pz)・E1+(Px,Py,Pz)・E2)
    (T3−M3)−(T2−M2)=W×(D2−(Px,Py,Pz)・E2+(Px,Py,Pz)・E3)
    (T1−M1)−(T3−M3)=W×(D3−(Px,Py,Pz)・E3+(Px,Py,Pz)・E1)
    なる3つの式によって計算する、請求項3に記載の推定装置。
  5. トルクセンサを有するロボットの可動部に物体を取り付けることと、
    前記物体が第1の姿勢で第1の位置にあるときに、前記可動部を駆動する軸に作用する第1のトルクを前記トルクセンサで検出することと、
    前記物体が前記第1の姿勢で前記第1の位置とは異なる第2の位置にあるときに、前記軸に作用する第2のトルクを前記トルクセンサで検出することと、
    前記第1のトルク、前記第2のトルク、前記第1の位置及び前記第2の位置を用いて、前記物体の重量を計算することと、
    を含む、物体の重量の推定方法。
  6. 前記第1のトルクをT1、前記第2のトルクをT2とし、
    前記第1のトルクを検出したときの前記可動部の位置及び姿勢において、前記物体が前記可動部に取り付けられていないときに前記軸に作用するトルクM1を取得し、前記第2のトルクを検出したときの前記可動部の位置及び姿勢において、前記物体が前記可動部に取り付けられていないときに前記軸に作用するトルクM2を取得し、
    前記第1の位置から前記第2の位置に至るベクトルの、前記軸に垂直でかつ水平な成分の大きさDを計算し、
    前記物体の重量Wを、
    W=|(T2−M2)−(T1−M1)|/D
    なる式によって計算する、請求項5に記載の推定方法。
  7. トルクセンサを有するロボットの可動部に、重量が既知の物体を取り付けることと、
    前記物体が互いに異なる3つの姿勢にあるときのそれぞれにおいて、前記可動部を駆動する軸に作用する第1のトルク、第2のトルク及び第3のトルクを前記トルクセンサで検出することと、
    前記第1のトルク、前記第2のトルク、前記第3のトルク、前記第1のトルクを検出したときの前記可動部の第1の位置及び姿勢、前記第2のトルクを検出したときの前記可動部の第2の位置及び姿勢、並びに前記第3のトルクを検出したときの前記可動部の第3の位置及び姿勢を用いて、前記物体の重心位置を計算することと、
    を含む、物体の重心位置の推定方法。
  8. 前記物体の重量をWとし、
    前記第1のトルクをT1、前記第2のトルクをT2、前記第3のトルクをT3とし、
    前記第1の位置及び姿勢E1において、前記物体が前記可動部に取り付けられていないときに前記軸に作用するトルクM1を取得し、前記第2の位置及び姿勢E2において、前記物体が前記可動部に取り付けられていないときに前記軸に作用するトルクM2を取得し、前記第3の位置及び姿勢E3において、前記物体が前記可動部に取り付けられていないときに前記軸に作用するトルクM3を取得し、
    前記第1の位置から前記第2の位置に至るベクトルの、前記軸に垂直でかつ水平な成分の大きさD1を計算し、前記第2の位置から前記第3の位置に至るベクトルの、前記軸に垂直でかつ水平な成分の大きさD2を計算し、前記第3の位置から前記第1の位置に至るベクトルの、前記軸に垂直でかつ水平な成分の大きさD3を計算し、
    前記物体の重心位置(Px,Py,Pz)を、少なくとも、
    (T2−M2)−(T1−M1)=W×(D1−(Px,Py,Pz)・E1+(Px,Py,Pz)・E2)
    (T3−M3)−(T2−M2)=W×(D2−(Px,Py,Pz)・E2+(Px,Py,Pz)・E3)
    (T1−M1)−(T3−M3)=W×(D3−(Px,Py,Pz)・E3+(Px,Py,Pz)・E1)
    なる3つの式によって計算する、請求項7に記載の推定方法。
  9. 請求項5〜8のいずれか1項に記載の推定方法を、前記ロボット及び前記ロボットに付随して使用される演算処理装置に実行させるためのプログラム。
JP2018082929A 2018-04-24 2018-04-24 ロボットを用いた負荷の重量及び重心位置を推定するための装置、方法及びプログラム Active JP6795540B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018082929A JP6795540B2 (ja) 2018-04-24 2018-04-24 ロボットを用いた負荷の重量及び重心位置を推定するための装置、方法及びプログラム
DE102019110173.5A DE102019110173A1 (de) 2018-04-24 2019-04-17 Verfahren, vorrichtung, und programm zur schätzung des gewichts und der schwerpunktposition einer last unter verwendung eines roboters
US16/389,128 US11602863B2 (en) 2018-04-24 2019-04-19 Device, method and program for estimating weight and position of gravity center of load by using robot
CN201910319049.6A CN110394817B (zh) 2018-04-24 2019-04-19 使用机器人推断负载重量和重心位置的装置、方法及程序
US17/834,067 US20220297321A1 (en) 2018-04-24 2022-06-07 Device, method and program for estimating weight and position of gravity center of load by using robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018082929A JP6795540B2 (ja) 2018-04-24 2018-04-24 ロボットを用いた負荷の重量及び重心位置を推定するための装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019188514A true JP2019188514A (ja) 2019-10-31
JP6795540B2 JP6795540B2 (ja) 2020-12-02

Family

ID=68105521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018082929A Active JP6795540B2 (ja) 2018-04-24 2018-04-24 ロボットを用いた負荷の重量及び重心位置を推定するための装置、方法及びプログラム

Country Status (4)

Country Link
US (2) US11602863B2 (ja)
JP (1) JP6795540B2 (ja)
CN (1) CN110394817B (ja)
DE (1) DE102019110173A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3761000A4 (en) * 2018-02-28 2021-03-03 Nissan Motor Co., Ltd. ANOMALY DETECTION DEVICE AND ANOMALY DETECTION METHOD
DE102019101595B3 (de) * 2019-01-23 2020-03-12 Franka Emika Gmbh Verfahren zum Ermitteln einer Gewichtskraft und eines Schwerpunktes einer Robotermanipulatorlast
US11446825B2 (en) * 2020-04-15 2022-09-20 Shanghai Flexiv Robotics Technology Co., Ltd. Method for estimating a direction of gravity with respect to a robot
CN113843994B (zh) * 2021-08-23 2023-05-26 西诺控股集团有限公司 一种基于注塑成型产品克重的智能注塑机控制系统及方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02300644A (ja) * 1989-05-16 1990-12-12 Nissan Motor Co Ltd 物体の重心位置の測定方法
JPH03142179A (ja) * 1989-10-25 1991-06-17 Toshiba Corp マスタスレーブ制御装置
JPH07205075A (ja) * 1994-01-25 1995-08-08 Nippon Steel Corp 力制御ロボットにおけるエンドエフェクタの重量補償方法
JPH0991004A (ja) * 1995-09-20 1997-04-04 Fanuc Ltd 負荷重量の推定方法
JP2004025387A (ja) * 2002-06-27 2004-01-29 Nachi Fujikoshi Corp 多関節ロボットの負荷重量及び負荷重心位置の自動算出方法
JP2010076074A (ja) * 2008-09-29 2010-04-08 Panasonic Corp ロボットの制御方法
JP2011235374A (ja) * 2010-05-07 2011-11-24 Yaskawa Electric Corp ロボットの負荷推定装置及び負荷推定方法
US20160305842A1 (en) * 2015-04-17 2016-10-20 Raytheon Company Automated work piece center of mass identification system and method for same
JP2017056525A (ja) * 2015-09-17 2017-03-23 キヤノン株式会社 ロボット装置、ロボット制御方法、プログラム、記録媒体及び組立部品の製造方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE9700767D0 (sv) * 1997-03-04 1997-03-04 Asea Brown Boveri Förfarande för bestämning av lastparametrar hos en industrirobot
DE102008001664B4 (de) * 2008-05-08 2015-07-30 Deutsches Zentrum für Luft- und Raumfahrt e.V. Medizinischer Roboter und Verfahren zur Erfüllung der Performanceanforderung eines medizinischen Roboters
KR101305819B1 (ko) * 2012-01-04 2013-09-06 현대자동차주식회사 착용식 로봇의 사용자 조작 의도 토크 추출방법
CN103495977B (zh) * 2013-09-29 2015-07-08 北京航空航天大学 一种6r型工业机器人负载识别方法
JP2015217451A (ja) * 2014-05-14 2015-12-07 ファナック株式会社 外力監視機能を有するワーク搬送方法システム
CN105643639A (zh) * 2014-11-12 2016-06-08 沈阳新松机器人自动化股份有限公司 一种工业机器人负载辨识方法
US20180169854A1 (en) * 2015-06-22 2018-06-21 Mitsubishi Electric Corporation Calibration device and robot system using same
CN108778634B (zh) * 2015-12-16 2022-07-12 Mbl有限公司 包括机器人、存放装置及其容器的机器人厨房
EP3556522B1 (en) * 2016-12-16 2022-04-06 Panasonic Intellectual Property Management Co., Ltd. Method for controlling robot
JP6834655B2 (ja) * 2017-03-23 2021-02-24 株式会社デンソーウェーブ ロボットの負荷重心位置推定装置及びロボットの負荷重心位置推定方法
WO2019186146A1 (en) * 2018-03-28 2019-10-03 Bae Systems Plc Collaborative robot system
EP3807058A1 (en) * 2018-06-15 2021-04-21 Universal Robots A/S Estimation of payload attached to a robot arm
US11027435B2 (en) * 2018-12-04 2021-06-08 Raytheon Company Automated work piece testing system and method for same
DE102019101595B3 (de) * 2019-01-23 2020-03-12 Franka Emika Gmbh Verfahren zum Ermitteln einer Gewichtskraft und eines Schwerpunktes einer Robotermanipulatorlast

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02300644A (ja) * 1989-05-16 1990-12-12 Nissan Motor Co Ltd 物体の重心位置の測定方法
JPH03142179A (ja) * 1989-10-25 1991-06-17 Toshiba Corp マスタスレーブ制御装置
JPH07205075A (ja) * 1994-01-25 1995-08-08 Nippon Steel Corp 力制御ロボットにおけるエンドエフェクタの重量補償方法
JPH0991004A (ja) * 1995-09-20 1997-04-04 Fanuc Ltd 負荷重量の推定方法
JP2004025387A (ja) * 2002-06-27 2004-01-29 Nachi Fujikoshi Corp 多関節ロボットの負荷重量及び負荷重心位置の自動算出方法
JP2010076074A (ja) * 2008-09-29 2010-04-08 Panasonic Corp ロボットの制御方法
JP2011235374A (ja) * 2010-05-07 2011-11-24 Yaskawa Electric Corp ロボットの負荷推定装置及び負荷推定方法
US20160305842A1 (en) * 2015-04-17 2016-10-20 Raytheon Company Automated work piece center of mass identification system and method for same
JP2017056525A (ja) * 2015-09-17 2017-03-23 キヤノン株式会社 ロボット装置、ロボット制御方法、プログラム、記録媒体及び組立部品の製造方法

Also Published As

Publication number Publication date
US11602863B2 (en) 2023-03-14
US20190321990A1 (en) 2019-10-24
CN110394817B (zh) 2023-06-27
JP6795540B2 (ja) 2020-12-02
DE102019110173A1 (de) 2019-10-24
CN110394817A (zh) 2019-11-01
US20220297321A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
US11602863B2 (en) Device, method and program for estimating weight and position of gravity center of load by using robot
US11090814B2 (en) Robot control method
JP6314426B2 (ja) ロボット制御装置およびロボット制御方法
US9114524B2 (en) Method of operating a wearable robot
US10195744B2 (en) Control device, robot, and robot system
CN109834708B (zh) 限制机器人速度的控制装置
JP2019010713A (ja) ハンド制御装置、ハンド制御方法、およびハンドのシミュレーション装置
JP5946859B2 (ja) 力に応じて動かすロボットのロボット制御装置およびロボットシステム
US20200030992A1 (en) Robot System
CN111721391B (zh) 用机器人推定负荷的重量及重心位置的装置、方法及计算机可读记录介质
JP2012171027A (ja) ワークピッキングシステム
JP2010076074A (ja) ロボットの制御方法
Back et al. Control a contact sensing finger for surface haptic exploration
JP2018058181A (ja) 外乱オブザーバ及びロボット制御装置
JP6003312B2 (ja) ロボットシステム
JP4054984B2 (ja) ロボットの制御装置および制御方法
JP2021003771A (ja) ロボットシステム
JP2017077600A (ja) マニピュレータ装置
Kobayashi et al. Motion capture with inertial measurement units for hand/arm robot teleoperation
US11148285B2 (en) Operating a hand-guided robot
CN112118940A (zh) 机械手的直接教示装置以及直接教示方法
JP4988545B2 (ja) 外力検出方法及び検出装置
JP2019155523A (ja) ロボット制御装置、ロボット制御方法、ロボット制御装置を用いた物品の組立方法、プログラム及び記録媒体
WO2022102403A1 (ja) 情報処理装置、情報処理方法、およびプログラム
KR101970951B1 (ko) 로봇 매니퓰레이터 충돌 검출 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190911

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191217

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200728

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: 20201013

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201112

R150 Certificate of patent or registration of utility model

Ref document number: 6795540

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150