IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

<>
  • 特許-ロボットシステム 図1
  • 特許-ロボットシステム 図2
  • 特許-ロボットシステム 図3
  • 特許-ロボットシステム 図4
  • 特許-ロボットシステム 図5
  • 特許-ロボットシステム 図6
  • 特許-ロボットシステム 図7
  • 特許-ロボットシステム 図8
  • 特許-ロボットシステム 図9
  • 特許-ロボットシステム 図10
  • 特許-ロボットシステム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】ロボットシステム
(51)【国際特許分類】
   B25J 5/00 20060101AFI20241217BHJP
【FI】
B25J5/00 A
【請求項の数】 8
(21)【出願番号】P 2023522065
(86)(22)【出願日】2021-05-19
(86)【国際出願番号】 JP2021018905
(87)【国際公開番号】W WO2022244127
(87)【国際公開日】2022-11-24
【審査請求日】2023-12-08
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100118913
【弁理士】
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【弁理士】
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100201466
【弁理士】
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】藤岡 直幹
(72)【発明者】
【氏名】若林 一貴
(72)【発明者】
【氏名】巣山 慶太
【審査官】岩▲崎▼ 優
(56)【参考文献】
【文献】特開2010-214544(JP,A)
【文献】特開2016-059990(JP,A)
【文献】特開2017-047518(JP,A)
【文献】特開2019-081206(JP,A)
【文献】特表2017-523054(JP,A)
【文献】山崎公俊 ほか,複数の作業姿勢候補を持つ移動マニピュレータの動作計画,第24回日本ロボット学会学術講演会予稿集,日本,社団法人日本ロボット学会,2006年09月14日
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00- 21/02
(57)【特許請求の範囲】
【請求項1】
ワークを取り扱うハンドを搭載したロボットと、
該ロボットと前記ワークとの相対位置を変更可能な移動機構と、
前記ロボットに対する前記ワークの位置を検出可能なワークセンサと、
前記移動機構に対する周辺の障害物の位置を検出可能な障害物センサと、
前記ロボットおよび前記移動機構を制御する制御装置とを備え、
前記ロボットが、該ロボットの少なくとも1つの動作軸に作用する負荷を検出可能な負荷センサを備え、
前記制御装置が、
前記ワークセンサにより検出された前記ワークの位置および前記障害物センサにより検出された前記障害物の位置から前記ワークおよび前記障害物の配置を表す第1マップを生成し、
前記ハンドにより前記ワークを持ち上げたときに前記負荷センサにより検出された前記負荷に基づいて、前記移動機構による前記相対位置毎に前記ロボットの寿命への影響度を示す第2マップを生成し、
生成された前記第1マップと前記第2マップとに基づいて、前記移動機構による前記相対位置を決定するロボットシステム。
【請求項2】
前記ロボットまたは前記ワークの一方が前記移動機構によって移動させられ、
前記第2マップが、前記ロボットまたは前記ワークの他方の座標を中心とした円内に作成されるグリッドマップである請求項1に記載のロボットシステム。
【請求項3】
前記ロボットの寿命への影響度は、前記負荷センサにより検出された前記負荷と、前記グリッドマップのグリッド毎に前記相対位置から算出した前記ロボットの姿勢とに基づいて算出される請求項2に記載のロボットシステム。
【請求項4】
前記ロボットが、前記移動機構に搭載され、
前記第2マップが、前記移動機構の姿勢毎に生成される請求項1から請求項3のいずれかに記載のロボットシステム。
【請求項5】
前記ロボットの姿勢から推定された1以上の前記動作軸の前記負荷に基づいて各前記動作軸のダメージ量を算出し、
複数の前記動作軸の前記ダメージ量の合計値を前記ロボットの寿命への影響度として算出する請求項3に記載のロボットシステム。
【請求項6】
前記ロボットの一連の動作中に算出された前記ダメージ量を前記動作軸毎に積算した総ダメージ量を算出し、前記ダメージ量の算出において、前記総ダメージ量を重みとして反映させる請求項5に記載のロボットシステム。
【請求項7】
各前記動作軸がモータによって駆動され、
前記ロボットの一連の動作中の前記モータの電流値あるいはトルク値を積分することにより総ダメージ量を算出し、前記ダメージ量の算出において、前記総ダメージ量を重みとして反映させる請求項5に記載のロボットシステム。
【請求項8】
前記ロボットの姿勢から前記動作軸の前記負荷を推定する計算を学習により最適化する請求項5から請求項7のいずれかに記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボットシステムに関するものである。
【背景技術】
【0002】
ロボットを搭載した移動機構の目標値までの最適経路を探索する自律近接制御装置が知られている(例えば、特許文献1参照。)。この自律近接制御装置においては、移動機構の初期値と目標値とを与え、初期値から目標値に至る移動機構の移動経路を探索する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平1-289684号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ロボットとロボットによって取り扱われるワークとの相対位置を移動機構によって変更する場合に、周辺機器と移動機構あるいはロボットとの干渉を回避するためには、ワークとロボットとを近接させすぎないことが好ましい。一方、ワークを持ち上げる際にロボットの各軸に作用する負荷を小さくするには、ワークとロボットとを可能な限り近接させることが好ましい。
したがって、干渉を回避しながら、ロボットの各軸に係る負荷を軽減し得る移動機構の位置を設定することが望まれている。
【課題を解決するための手段】
【0005】
本開示の一態様は、ワークを取り扱うハンドを搭載したロボットと、該ロボットと前記ワークとの相対位置を変更可能な移動機構と、前記ロボットに対する前記ワークの位置を検出可能なワークセンサと、前記移動機構に対する周辺の障害物の位置を検出可能な障害物センサと、前記ロボットおよび前記移動機構を制御する制御装置とを備え、前記ロボットが、該ロボットの少なくとも1つの動作軸に作用する負荷を検出可能な負荷センサを備え、前記制御装置が、前記ワークセンサにより検出された前記ワークの位置および前記障害物センサにより検出された前記障害物の位置から前記ワークおよび前記障害物の配置を表す第1マップを生成し、前記ハンドにより前記ワークを持ち上げたときに前記負荷センサにより検出された前記負荷に基づいて、前記移動機構による前記相対位置毎にロボットの寿命への影響度を示す第2マップを生成し、生成された前記第1マップと前記第2マップとに基づいて、前記移動機構による前記相対位置を決定するロボットシステムである。
【図面の簡単な説明】
【0006】
図1】本開示の一実施形態に係るロボットシステムを示す全体構成図である。
図2図1のロボットシステムにおける第1マップを説明する平面図である。
図3図1のロボットシステムを示すブロック図である。
図4図1のロボットシステムの平面図である。
図5図2の第1マップにおけるAGVの中心位置が近接し得ない領域を示す平面図である。
図6図1のロボットシステムにおける第2マップを説明する平面図である。
図7図6の第2マップにおけるロボットの各動作軸のトルク負荷の大小を示す平面図である。
図8図1のロボットシステムのロボットおよびAGVの姿勢の一例を示す平面図である。
図9図8のロボットシステムのロボットおよびAGVの姿勢の他の例を示す平面図である。
図10図8のロボットシステムのロボットおよびAGVの姿勢の他の例を示す平面図である。
図11図8のロボットシステムのロボットおよびAGVの姿勢の他の例を示す平面図である。
【発明を実施するための形態】
【0007】
本開示の一実施形態に係るロボットシステム1について、図面を参照して以下に説明する。
本実施形態に係るロボットシステム1は、図1に示されるように、AGV(Automated Guided Vehicle、移動機構)2と、AGVに搭載されたロボット3と、AGV2およびロボット3を制御する制御装置4とを備えている。このロボットシステム1は、例えば、図2に示されるように、作業台T上に供給されるワークWをロボット3によって取り上げて作業を行うシステムである。
【0008】
AGV2は、水平な床面を走行可能な4輪自動走行台車であって、周辺の障害物Oを検出可能なビジョンセンサまたは測域センサ等の障害物センサ5を備えている。障害物Oには、AGV2が作動する空間内の構造物およびワークWを搭載している作業台Tを含んでいる(図2にハッチングで示す。)。AGV2は、例えば、エンコーダあるいはGPS等のセンサによって、自己の水平方向位置を認識することができる。
【0009】
ロボット3は、例えば、6軸多関節型ロボットであり、AGV2の上面に設置されるベース6に対して、鉛直な第1軸線A回りに回転可能な旋回胴7と、水平な第2軸線B回りに、旋回胴7に対して回転可能な第1アーム8とを備えている。また、ロボット3は、水平な第3軸線C回りに、第1アーム8に対して回転可能な第2アーム9と、第2アーム9の先端に取り付けられた3軸の手首10とを備えている。ロボット3は、各動作軸に作用するトルク(負荷)を検出可能なトルクセンサ(負荷センサ)11を備えている。
【0010】
手首10の先端には、ワークWを把持あるいは吸着等によって取り扱うことが可能なハンド12が装着されている。また、ロボット3には、ワークWの位置を検出可能なビジョンセンサまたは測域センサ等のワークセンサ13が搭載されている。
【0011】
制御装置4は、少なくとも1つのプロセッサおよびメモリを備えている。
制御装置4には、図3に示されるように、ワークセンサ13により検出されたワークWの位置、障害物センサ5により検出された障害物Oの位置およびトルクセンサ11により検出された1以上の動作軸のトルク負荷が入力される。また、制御装置4は、入力された位置およびトルク負荷を用いてAGV2およびロボット3を制御する。
【0012】
制御装置4は、以下の処理を行う。
最初に、ワークセンサ13によりワークWの位置を検出させ、障害物センサ5により障害物Oの位置を検出させる。そして、検出されたワークWおよび障害物Oの位置から、ワークWおよび障害物Oの配置を表す2次元の第1マップを生成する。
【0013】
第1マップは、例えば、図2に示されるように、AGV2の動作の障害となる障害物Oの2次元的なマップであり、ワールド座標系において作成される。第1マップには、図4および図5に示されるように、障害物Oの表面からAGV2の横幅W1および縦幅W2の半分の寸法だけオフセットした位置までの領域が、AGV2の中心位置Zが近接し得ない領域として定義される(図5にハッチングで示す。)。
【0014】
また、制御装置4は、AGV2の位置毎にロボット3の寿命への影響度を示す第2マップを生成する。第2マップはグリッドマップであり、例えば、以下の手順によって作成される。
【0015】
第1に、制御装置4は、作業者に、AGV2およびロボット3を手動で操作させ、AGV2の適当な位置において、ロボット3に搭載されたハンド12によって作業台T上のワークWを把持させ、ワークWが作業台Tから離れる程度に持ち上げさせる。
この状態で、ハンド12の姿勢H0、ロボット3の姿勢P0(j)、AGV2の基準位置Z0および姿勢r0、および負荷センサ11により検出された各軸のトルクT0(j)を記憶する。
【0016】
次に、制御装置4は、AGV2の基準位置Z0を基準として、図6に示されるように、例えば、AGV2の移動分解能に相当する長さを一辺とする多数のグリッドを含むグリッドマップ(枠)を生成する。そして、グリッドマップの各グリッドの中心位置にAGV2の基準位置Z0が配置されている場合に、記憶されたハンド12の姿勢をとり得るロボット3の姿勢を算出する。
【0017】
ここで、ロボット3の姿勢を算出するグリッドは、図6に定義された全てのグリッドの内、ワークWを中心として、半径L+OFの円の内側のグリッドに限定される。図4に示されるように、Lはロボット3のリーチであり、OFはAGV2の基準位置Zに対するロボットの第1軸線との水平方向のオフセット量である。
また、第1マップに設定された、障害物よりもAGV側に配置されるグリッドであって、AGVの基準位置Zが近接し得ない領域が中心まで及んでいるグリッドは、ロボット3の姿勢を算出するグリッドから除かれる。
【0018】
さらに、ロボット3にかかるトルク負荷は、ワークWからの距離が小さいほど少なくて済む。したがって、図6に示されるように、半径L+OFよりも十分に小さい半径L0の円の内側に中心を有するグリッドについてロボット姿勢の算出を行えば足り、条件を満たすK個のグリッドが選択される。図7において、密なハッチングが施されたグリッドの方が、疎なハッチングが施されたグリッドよりもロボット3の各動作軸のトルク負荷が小さいと考えられるグリッドであり、ロボット3の姿勢を推定するグリッドとして選択される。
【0019】
このようにして選択されたグリッドにAGV2の基準位置Zを配置し、AGV2の姿勢を所定の姿勢に設定することにより、図8から図11に示されるように、AGV2を障害物Оに干渉させずに、小さいトルク負荷でワークWを取り扱うことができる。
第2マップは、このようにして選択されたグリッドにk=1~Kの番号を付し、番号が付された各グリッドについて、以下のようにして、とり得るロボット3の姿勢を推定する。
【0020】
まず、ロボット3に固定されたロボット座標系でみたワークWの位置Wposを以下の関数Fwにより計算する。
Wpos=Fw(Wpos_w,Zk,rm)
ここで、Wpos_wは第1マップに記憶したワールド座標系でのワークWの位置、ZkはAGV2の基準位置(各グリッドの中心座標)であるk番目のグリッドの中心位置、rmはm番目のAGV2の姿勢(AGV2の向き)である。
【0021】
AGV2の姿勢rmは、ロボット3の第1軸線AがAGV2の基準位置Zkに一致していない場合に、AGV2がその基準位置Zkに配置された鉛直軸線回りに姿勢rmを変えることによって、ロボット3の第1軸線Aの位置が変化するので必要となる。具体的には、上記のようにして選択された各グリッドの中心に配置した基準位置Zk回りにAGV2の角度を0°から360°まで、所定の角度、例えば、5°刻みで変化させAGV2と障害物Oとの干渉を生じないm=M個のAGV2の姿勢rmを算出する。
【0022】
次いで、ワーク位置Wposに対し、記憶されたハンド姿勢H0を取り得るロボット3の姿勢Px(j)を以下の関数Fpにより計算する。
Px(j)=Fp(Wpos,R,Ho)(x)
ここで、jは動作軸番号、xは姿勢が複数存在する場合の姿勢の数、Rは角度分解能である。
【0023】
例えば、ロボット3の第1軸線A回りのベース6に対する旋回胴7の角度を、所定の角度分解能Rで変化させたときに、x個の角度において、記憶されたハンド12の姿勢Hoをとり得るロボット3の姿勢が得られるときには、x個の姿勢を算出する。グリッド番号kを指定し、AGV2の姿勢rmを指定した状態でx個のロボット3の姿勢が算出される。
【0024】
算出された姿勢と、記憶されているロボット3の姿勢r0および各軸のトルク負荷T0(jIとに基づいて、各姿勢におけるロボット3の各軸のトルク負荷Dx(j)を以下の関数Ftにより推定する。
Dx(j)=Ft(P0(j),T0(j),Px(j))
【0025】
そして、推定された各姿勢における各動作軸のトルク負荷から、各姿勢におけるロボット3の各動作軸のダメージ量Sx(j)を以下の関数により算出する。
Sx(j)=Fs(Dx(j),C(j))=Dx(j)+C(j)
ここで、C(j)は補正係数である。
寿命への影響度を算出する関数として、トルク負荷Dx(j)と補正係数C(j)との和を例示したが、積でもよいし、他の複雑な計算方法を用いてもよい。
【0026】
そして、ロボット3の姿勢毎に、ロボット3の各作動軸におけるダメージ量Sx(j)を作動軸分加算することにより、ロボット3の寿命への影響度Sa(x)を算出し、グリッドマップの各グリッドに格納する。
Sa(x)=Sx(1)+Sx(2)+…+Sx(6)
【0027】
算出された寿命への影響度Sa(x)は、グリッドの中心位置Zk,ロボット3の姿勢Px(j)、AGV2の姿勢rmとともに記憶される。
選択された全てのグリッドについて、ロボット3の寿命への影響度Sa(x)が算出された後に、最も小さい影響度Sa(x)を有するグリッドが選択される。最も小さい影響度Sa(x)を有するグリッドが複数存在する場合には、例えば、以下の条件に従い、グリッドを決定する。条件は以下の条件に限られない。
【0028】
・初期値のAGV2の中心座標Z0からグリッドの中心位置までの距離が小さい。
・ロボット座標系の原点(第1軸線)からワークWまでの距離が小さい。
・各動作軸のダメージ量Sx(j)の最大値が小さい。
【0029】
このようにして決定された最も小さい影響度Sa(x)に対応して記憶されているグリッドの中心座標にAGV2の基準位置を一致させ、AGV2を記憶された姿勢rmに設定し、ロボット3を記憶された姿勢Px(j)に設定する。これにより、AGV2を障害物Oに干渉させずに、ロボット3の寿命への影響度が最も小さい姿勢でワークWを把持することができるという利点がある。
【0030】
なお、本実施形態に係るロボットシステム1においては、AGV2に搭載されたロボット3がハンド12によってワークWを把持する場合において、各作動軸のトルク負荷が最も小さくなる姿勢となるようにAGV2の位置および姿勢を算出した。これに代えて、ロボット3およびAGV2の稼働中の経路におけるトルク負荷が最も小さくなるAGV2の位置および姿勢を算出してもよい。この場合には、把持したワークWを搬送する経路の1つ以上の中継点において算出してもよい。
【0031】
また、本実施形態においては、各動作軸のトルク負荷をトルクセンサ11によって検出することとしたが、これに代えて、各動作軸に備えられたモータ(図示略)の駆動電流によってトルク負荷を検出してもよい。
また、各動作軸に設けられたトルクセンサ11によってトルク負荷を検出してもよいし、例えば、ベース6に設けられた6軸の力センサによってトルク負荷を検出してもよい。
【0032】
また、6軸多関節型ロボットの場合に、6軸全ての動作軸についてトルク負荷を検出してもよいし、少なくとも1つの動作軸について検出してもよい。
また、ロボット3に搭載されたトルクセンサ11によりトルク負荷を検出することとしたが、これに代えて、ロボット3の撓みなどをロボット3の外部から計測することによって、各動作軸の負荷を推定してもよい。
【0033】
また、AGV2がロボット3を昇降させる昇降機構を備えている場合に、昇降機構によりロボット3の高さを異ならせてロボット3の姿勢Px(j)を算出することにより、よりトルク負荷の小さい姿勢を選択することが可能となる。
【0034】
また、ロボット3が同じ作業を繰り返し行う場合に、一部の動作軸にトルク負荷がかかり続けることがある。このような場合には、補正値C(j)を稼働実績に基づいて調整することにしてもよい。
【0035】
例えば、所定のタイミング、例えば、一日の稼働前のタイミング等において、算出された各動作軸のダメージ量Sx(j)を加算して、動作軸毎の総ダメージ量Sp(j)を算出する。そして、補正値C(j)に総ダメージ量Sp(j)を乗算した値を新たな補正値C(j)として置き換える。
【0036】
これにより、総ダメージ量Sp(j)が変化することによって、以下の効果がある。
例えば、補正値C(j):[1,2,1,1,1,1]、姿勢の候補として、2つの候補があり、それぞれの姿勢において推定されるトルク負荷が、D1(j):[10,30,10,10,10,10]、D2(j):[10,20,30,20,10,10]である場合には、ダメージ量S(j)および寿命への影響度Saは以下の通りとなる。
S1(j):[10,60,10,10,10,10]、Sa1=110
S2(j):[10,40,30,20,10,10]、Sa2=120
この場合には、第1の姿勢が選択される。
【0037】
総ダメージ量Sp(j):[20,80,20,20,20,20]である場合に、補正係数Dc(j):[0.1,0.1,0.1,0.1,0.1,0.1]として、新たな補正値C(j)を算出すると、以下の通りとなる。
C(j)=C(j)×Sp(j)×Dc(j):[2,8,2,2,2,2]
【0038】
そして、新たに算出された補正値C(j)を用いてダメージ量S(j)および寿命への影響度Saを算出すると、以下の通りとなる。
S1(j):[20,240,20,20,20,20]、Sa1=340
S2(j):[20,160,60,20,20,20],Sa2=300
この場合には第2の姿勢が選択される。
【0039】
すなわち、総ダメージ量に基づいて補正値を更新することにより、特定の動作軸に大きなトルク負荷がかかり続ける姿勢が選択されることを回避して、ロボット3の寿命を長くすることができるという利点がある。
上記計算例においては、補正値に総ダメージ量を乗算することにより新たな補正値を算出したが、加算等他の演算によって算出してもよい。
【0040】
また、ダメージ量S(j)を加算した総ダメージ量Sp(j)を用いることに代えて、ロボット3の一連の動作中の電流値あるいはトルク値を積分した値であるデューティを総ダメージ量Sp(j)として用いてもよい。
【0041】
また、本実施形態においては、ロボット3を搭載したAGV2の移動先を、ロボット3にかかるトルク負荷が小さくなる位置に設定したが、これに代えて、ロボット3を手押し台車(移動機構)に搭載した場合に適用してもよい。
この場合には、手押し台車に情報を報知可能な報知機器、例えば、モニタ、スピーカあるいはLED等を備え、手押し台車を押す作業者に対し、手押し台車の移動先を報知することにしてもよい。
【0042】
報知機器が、モニタあるいはスピーカの場合には、表示あるいは音声によって、手押し台車の移動方向や移動先までの距離を報知すればよい。また、障害物Oが近いことあるいは移動先が近いことを異なるパターンの音あるいは光によって報知してもよい。
【0043】
また、本実施形態においては、AGV2にロボット3が搭載されている場合について例示したが、これに代えて、ワークWが、AGV2、手押し台車、ロボット3あるいはステージ等の移動機構に搭載されて搬送されてくる場合に適用してもよい。
また、ロボット3がAGV2または手押し台車に搭載されている場合について説明したが、ロボット3が他のロボット(移動機構)に搭載されていてもよい。
【0044】
また、本実施形態においては、AGV2およびロボット3に、ワークWおよび障害物Oを検出するワークセンサ13および障害物センサ5を備えることとしたが、ワークセンサ13および障害物センサ5は共通のセンサを用いてもよい。また、ワークセンサ13および障害物センサ5は、AGV2およびロボット3の外部の壁、架台あるいは天井に設けられていてもよい。
【0045】
また、本実施形態においては、設定されたハンド12の姿勢を達成可能なロボット3の姿勢を算出し、当該姿勢において各動作軸に作用するトルク負荷を推定した。この場合に、算出された姿勢にロボット3を実際に配置し、各動作軸のトルク負荷をトルクセンサ11により測定することを複数回繰り返し、推定されたトルク負荷と実測されたトルク負荷との差が最小となるように学習を行ってもよい。これにより、トルク負荷を推定する際の関数を最適化することができる。また、推定されたトルク負荷と実測されたトルク負荷との差異を入出力としてディープラーニングを適用してもよい。
【符号の説明】
【0046】
1 ロボットシステム
2 AGV(移動機構)
3 ロボット
4 制御装置
5 障害物センサ
11 トルクセンサ(負荷センサ)
12 ハンド
13 ワークセンサ
W ワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11