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

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

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

<>
  • 特許-教示システム及びロボット制御装置 図1
  • 特許-教示システム及びロボット制御装置 図2
  • 特許-教示システム及びロボット制御装置 図3
  • 特許-教示システム及びロボット制御装置 図4
  • 特許-教示システム及びロボット制御装置 図5
  • 特許-教示システム及びロボット制御装置 図6
  • 特許-教示システム及びロボット制御装置 図7
  • 特許-教示システム及びロボット制御装置 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-10
(45)【発行日】2023-10-18
(54)【発明の名称】教示システム及びロボット制御装置
(51)【国際特許分類】
   B25J 13/08 20060101AFI20231011BHJP
【FI】
B25J13/08 A
【請求項の数】 4
(21)【出願番号】P 2022500394
(86)(22)【出願日】2021-02-08
(86)【国際出願番号】 JP2021004534
(87)【国際公開番号】W WO2021161950
(87)【国際公開日】2021-08-19
【審査請求日】2022-09-14
(31)【優先権主張番号】P 2020021733
(32)【優先日】2020-02-12
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【弁理士】
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】山▲崎▼ 岳
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2013-027953(JP,A)
【文献】特開2012-076181(JP,A)
【文献】特開2012-040669(JP,A)
【文献】特開2012-066345(JP,A)
【文献】欧州特許出願公開第02705935(EP,A1)
【文献】韓国公開特許第10-2018-0064969(KR,A)
【文献】中国特許出願公開第109901589(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 3/00-19/04
G05B 19/42
(57)【特許請求の範囲】
【請求項1】
ロボットの動作プログラムを生成する教示システムであって、
アームを有するロボットと、
前記アームに設けられた3次元センサと、
前記3次元センサによって測定対象物を測定した3次元データに基づいて、前記測定対象物の3次元点群を生成する3次元点群生成部と、
前記3次元点群に基づいて、障害物情報を生成する障害物情報生成部と、
前記障害物情報に基づいて、障害物との干渉を避ける前記ロボットの動作経路を含むロボット動作プログラムを生成するロボット動作プログラム生成部と、を備え、
前記3次元点群生成部は、前記ロボットの作業領域内の任意の座標系において、作業者の把持により前記アームを直接移動することによって前記3次元センサの位置を変えながら前記測定対象物を測定した3次元データを合成して、前記測定対象物の前記3次元点群を生成し、
前記ロボット動作プログラム生成部は、前記ロボット動作プログラムを記憶部に保存する教示システム。
【請求項2】
前記3次元センサは、ワークを認識する3次元センサを兼ねる、請求項1記載の教示システム。
【請求項3】
3次元センサが設けられたアームを有するロボットを制御するロボット制御装置であって、
前記3次元センサによって測定対象物を測定した3次元データに基づいて、前記測定対象物の3次元点群を生成する3次元点群生成部と、
前記3次元点群に基づいて、障害物情報を生成する障害物情報生成部と、
前記障害物情報に基づいて、障害物との干渉を避ける前記ロボットの動作経路を含むロボット動作プログラムを生成するロボット動作プログラム生成部と、を備え、
前記3次元点群生成部は、前記ロボットの作業領域内の任意の座標系において、作業者の把持により前記アームを直接移動することによって前記3次元センサの位置を変えながら前記測定対象物を測定した3次元データを合成して、前記測定対象物の前記3次元点群を生成し、
前記ロボット動作プログラム生成部は、前記ロボット動作プログラムを記憶部に保存する、ロボット制御装置
【請求項4】
前記3次元センサは、ワークを認識する3次元センサを兼ねる、請求項3に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、教示システム及びロボット制御装置に関する。
【背景技術】
【0002】
従来、ワークを把持可能なアームを有するロボットを用いて作業を行うロボットシステムが知られている(例えば、特許文献1参照)。ロボットのアームには、ワークを認識するためのカメラが設けられている。ロボットシステムは、予めワークの3次元形状を記憶しておくことによって、アームのカメラによって認識した3次元形状に基づいてワークを認識し、アームによってワークを把持する。
【0003】
工作機械と協働することによってワークに対する加工を行うロボットシステムでは、ロボットは、アームによってワークを把持することによって、加工前のワークを工作機械のテーブル上に載置させるとともに、加工後のワークをテーブル上から払い出す作業を行う。作業を行う際のロボットのアームの移動は、予め作業者によって教示される。ロボットの作業領域内には、ロボットと干渉する虞のある様々な障害物が存在するため、作業者は、ロボットが障害物と干渉しないようにアームの移動を教示しなくてはならない。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2007-319938号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ロボットが障害物と干渉しないようにするために、ロボットとは別の場所に固定設置された3次元センサで予め障害物を測定し、障害物の3次元点群を生成することも知られている。この場合、ロボットは、3次元点群に基づいて作業範囲内の障害物の有無を把握することによって、障害物と干渉しないように動作する。
【0006】
しかし、固定設置された3次元センサでは、測定できずにデータが抜けてしまう領域が発生する。例えば、障害物の影に隠れている領域は、固定設置された3次元センサでは認識されず、データの抜けが発生する。そのため、障害物の影に別の障害物が存在する場合、作業時にロボットのアームが障害物と干渉する虞がある。データの抜けを避けるためには、3次元センサを複数設置したり、3次元センサの位置を変えて計測し直したりすることも考えられる。しかし、これらの場合では、3次元センサを1回設置する毎にキャリブレーションを行う必要があり、実用的ではない。よって、測定対象物に対してデータの抜けのない3次元点群を簡単に生成することのできるロボットシステムが望まれる。
【課題を解決するための手段】
【0007】
本開示の一態様に係るロボットシステムは、アームを有するロボットと、前記アームに設けられた3次元センサと、前記3次元センサによって測定対象物を測定した3次元データに基づいて、前記測定対象物の3次元点群を生成する3次元点群生成部と、を備え、前記3次元点群生成部は、前記ロボットの作業領域内の任意の座標系において、前記アームの移動によって前記3次元センサの位置を変えながら前記測定対象物を測定した3次元データを合成して、前記測定対象物の前記3次元点群を生成する。
【発明の効果】
【0008】
一態様によれば、測定対象物に対して抜けのない3次元点群を簡単に生成することのできるロボットシステムを提供することができる。
【図面の簡単な説明】
【0009】
図1】ロボットシステムを示す斜視図である。
図2】第1実施形態に係るロボットシステムの構成を示すブロック図である。
図3】第1実施形態に係るロボットシステムにおけるロボット動作プログラムを生成する処理を説明するフローチャートである。
図4】第1実施形態に係るロボットシステムにおける3次元点群を生成する際の処理を説明するフローチャートである。
図5】第1実施形態に係るロボットシステムにおける3次元点群を生成する動作を説明する図である。
図6】第2実施形態に係るロボットシステムの構成を示すブロック図である。
図7】第2実施形態に係るロボットシステムにおける3次元点群を生成する動作を説明する図である。
図8】測定対象物を測定する際の3次元センサの計測範囲を説明する説明図である。
【発明を実施するための形態】
【0010】
以下、本開示の実施形態について図面を参照して説明する。
(ロボットシステムの概要)
図1に示すロボットシステム1は、ワークに対して加工を行う加工室100の近傍に設置されている。ロボットシステム1は、基台2上に設置されるロボット3と、ロボット3の動作を制御するロボット制御装置4とを有する。基台2上には、ロボット3による作業対象である複数のワークWが配置されている。加工室100の内部には、ワークWに対して所定の加工を行う工作機械200が設置されている。
【0011】
ロボット3は、基台2上に固定される胴部31の上部に、複数の関節によって任意の方向に移動可能なアーム32を有する多関節ロボットである。アーム32の先端には、ワークWを把持する把持部33と、外界を撮影可能な3次元センサ34と、作業者の把持によってアーム32を手動操作で移動させるハンドガイド35と、が設けられている。
【0012】
ロボット3は、ロボット3の位置及び姿勢を検出するための位置検出センサ36(図2参照)を有する。位置検出センサ36は、アーム32の各関節部の駆動軸に対応する駆動モータ(図示せず)に設けられる例えば角度センサによって構成される。位置検出センサ36によって、アーム32の各駆動モータの回転角度を取得することができる。これによって、ロボット3のアーム32の把持部33の位置及び姿勢が検出される。
【0013】
ロボット3は、開閉扉101が開放された加工室100の開口部102を通して、ロボット動作プログラムに基づく動作経路に沿ってアーム32を移動させることによって、把持部33によって把持した加工前のワークWを加工室100内の工作機械200のテーブル201上に載置する動作を行う。また、ロボット3は、加工済みのワークWを把持部33によって把持して工作機械200のテーブル201上から払い出す動作を行う。このとき、ロボット3のアーム32は、加工室100の開閉扉101を含む外壁面103、加工室100内の装置及び部品等の障害物と干渉しないように移動することが要求される。
【0014】
3次元センサ34は、例えばビジョンセンサによって構成される。3次元センサ34は、ロボット3の作業領域内に存在する加工室100の外壁面103、加工室100の内部及びワークWを測定対象物として撮像し、測定対象物の3次元データを取得する。詳しくは、3次元センサ34は、測定対象物までの距離分布等の3次元データを測定し、測定した3次元データをロボット制御装置4に出力する。3次元センサ34は、把持部33に並んでアーム32の先端に取り付けられ、キャリブレーションされることによってアーム32に対する相対位置が予め規定されている。そのため、位置検出センサ36によって、アーム32の把持部33の位置及び姿勢とともに、3次元センサ34の位置及び姿勢も検出される。
【0015】
(ロボットシステムの第1実施形態)
図2は、第1実施形態に係るロボットシステム1の構成を示している。ロボット制御装置4は、3次元点群生成部41と、障害物情報生成部42と、記憶部43と、制御部44と、アーム駆動部45と、ロボット動作プログラム生成部46と、を有する。
【0016】
3次元点群生成部41は、3次元センサ34によって測定された3次元データから、3次元点群を生成して出力する。3次元点群とは、3次元空間中に存在する1つ以上の物体(測定対象物)の表面に分布する複数の点の集合である。3次元点群生成部41は、3次元センサ34によって測定された複数の3次元データを合成することによって、測定対象物の3次元点群を生成し、生成した3次元点群を障害物情報生成部42に出力する。また、測定対象物がワークWである場合は、3次元点群生成部41は、測定したワークWの3次元点群を記憶部43に出力する。
【0017】
障害物情報生成部42は、3次元点群生成部41によって生成された障害物である測定対象物の3次元点群に基づいて、障害物情報を生成する。障害物情報は、ロボット3の作業領域内において、移動するアーム32と干渉する虞のある障害物の位置を示す情報である。ロボット3の作業範囲(アーム32の移動範囲)は予め決まっているため、3次元点群においてアーム32と干渉する虞のある障害物の位置の特定が可能である。障害物情報生成部42によって生成された障害物情報は、記憶部43に送られて保存、登録される。
【0018】
制御部44は、位置検出センサ36によって検出されるアーム32の位置情報に基づいて、アーム駆動部45を制御する。制御部44がアーム駆動部45を制御することによって、アーム32の移動及び把持部33によるワークWの把持動作が行われる。
【0019】
ロボット動作プログラム生成部46は、ロボット3によってワークWに対する作業を行うためのロボット3の動作プログラムを生成する。ロボット動作プログラムは、作業時のロボット3の動作経路の情報を含む。ロボット3の動作経路は、上述した障害物情報生成部42によって生成される障害物情報に基づいて作成される。ロボット動作プログラム生成部46によって生成されたロボット動作プログラムは、記憶部43に送られて保存、登録される。
【0020】
次に、このロボットシステム1において、ワークWに対して作業を行うためのロボット動作プログラムを生成する処理について、図3に示すフローチャートに基づいて説明する。ロボット動作プログラムを生成する処理は、ロボット制御装置4に予め記憶された所定の処理プログラムに従って実行される。
【0021】
まず、ロボット動作プログラム生成部46は、ロボット3の初期位置を取得し、登録する(S1)。ロボット3の初期位置は、位置検出センサ36によって取得される。次に、ロボット動作プログラム生成部46は、制御部44を介してアーム駆動部45を制御してアーム32を移動させ、3次元センサ34によってワークWを計測する。これによって、ワークWの位置を取得し、登録する(S2)。その後、ロボット動作プログラム生成部46は、ロボット動作プログラムの初期作成を行う(S3)。
【0022】
初期作成されるロボット動作プログラムは、アーム32によってワークWを把持して、例えばテーブル201上に載置するまでのロボット3の動作経路を含む暫定的な動作プログラムである。この動作プログラムには、アーム32と干渉する虞のある障害物の情報は必ずしも反映されていない。そのため、ロボット動作プログラム生成部46は、ロボットシステム1のモードを障害物情報生成モードに移行させ、障害物情報を取得して登録する(S4)。
【0023】
このステップS4における障害物情報の取得のための具体的な処理について、さらに図4に示すフローチャートに基づいて説明する。
まず、アーム32を移動させることによって、障害物である測定対象物に対する3次元センサ34の位置を変えながら測定対象物の測定を行い、3次元データを取得する(S41)。測定対象物は、ロボット3の作業範囲内においてアーム32と干渉する虞のある物体である。具体的には、測定対象物は、加工室100の外壁面103、加工室100の内部に配置される装置及び部品である。
【0024】
本実施形態において、3次元センサ34によって測定対象物を測定する際のアーム32の移動は、図5に示すように、作業者OPによって手動で行われる。すなわち、作業者OPは、アーム32の先端のハンドガイド35を手で把持し、アーム32の移動経路上の障害物の有無を確認しながら、ロボット3の作業範囲内の任意の座標系においてアーム32を手動で直接移動させる。
【0025】
ロボット3の作業範囲内にロボット3から見えない隠れた障害物(例えば、開閉扉101及び外壁面103の裏に隠れている装置及び部品)が存在していても、図5に示すように、作業者OPが隠れた障害物の近くまでアーム32を手動で移動させることによって、確実に測定することができる。
【0026】
このように、3次元センサ34は、作業者OPの手動操作によってアーム32が測定対象物に対して移動しながら、ロボット3の作業範囲内の任意の座標系において測定対象物を測定し、複数の3次元データを取得する。3次元センサ34は、取得した複数の3次元データをロボット制御装置4の3次元点群生成部41に出力する。
【0027】
3次元点群生成部41は、3次元センサ34によって取得した複数の3次元データを合成して、測定対象物の3次元点群を生成する(S42)。3次元点群生成部41によって生成された3次元点群のデータは、障害物情報生成部42に出力される。
【0028】
障害物情報生成部42は、3次元点群生成部41から送られた3次元点群に基づいて、アーム32と干渉する虞のある障害物の位置情報に関する障害物情報を生成する(S43)。障害物情報生成部42によって生成された障害物情報は、記憶部43に保存される(S44)。これによって、障害物情報生成モードが終了する。
【0029】
ロボット動作プログラム生成部46は、以上によって障害物情報を取得した後、再び図3に示すフローに戻る。ロボット動作プログラム生成部46は、初期作成したロボット動作プログラムを、障害物情報生成モードにおいて取得した障害物情報に応じて変更する(S5)。これによって、ロボット動作プログラム生成部46は、障害物情報に基づいてアーム32と干渉する虞のある全ての障害物情報が反映され、障害物との干渉を避けるロボット3の動作経路を含むロボット動作プログラムを生成する。生成されたロボット動作プログラムは、記憶部43に送られて保存される。
【0030】
その後、ロボットシステム1は、アーム32と干渉する虞のある障害物情報を含むロボット動作プログラムに基づいてロボット3を自動運転し、ワークWに対する把持及び搬送の作業を行う(S6)。自動運転されるロボット3を動作するロボット動作プログラムは、ロボット3の設置場所からは見えない隠れた障害物の情報を含む抜けのない3次元点群によって構成された障害物情報を含むため、ロボット3の動作時のアーム32と障害物との干渉は低減される、又は無くなる。
【0031】
第1実施形態に係るロボットシステム1によれば、次の効果が得られる。すなわち、3次元点群生成部41は、ロボット3の作業領域内の任意の座標系において、アーム32の移動によって3次元センサ34の位置を変えながら測定対象物を測定した3次元データを合成して、測定対象物の3次元点群を生成する。そのため、測定対象物に対してデータの抜けのない3次元点群を簡単に生成し、取得することができる。
【0032】
3次元点群生成部41は、作業者OPがアーム32を手動で移動させることによって3次元センサ34の位置を変えながら測定した測定対象物の3次元データを合成して、測定対象物の3次元点群を生成する。そのため、測定対象物を様々な視点から測定することができ、ロボット3の作業範囲内に存在する障害物を3次元センサ34によって、容易に漏れなく測定することが可能である。
【0033】
このようにして取得される障害物情報は、ワークWの種類が変更されることによってロボット3の動作経路に変更が生じても変わらない。そのため、ワークWの種類が変更される度に3次元センサ34によって新たに障害物情報を生成し直したり、アーム32の移動経路を教示し直したりする必要はない。
【0034】
アーム32に設けられる3次元センサ34は、作業時にワークWを認識するために使用される3次元センサを兼ねている。そのため、障害物情報の生成用とワークWの認識用とで別々の3次元センサを設ける必要がなく、安価なロボットシステム1を構築することが可能である。
【0035】
3次元点群生成部41は、作業者OPがアーム32のハンドガイド35を直接把持し、手動で移動させることによって3次元センサ34の位置を変えながら測定した測定対象物の3次元データを合成して、測定対象物の3次元点群を生成するようにしている。これによれば、手軽に抜けのない3次元点群の生成が可能である。しかし、3次元点群生成部41は、ティーチペンダントを用いた作業者によるジョグ送り動作によってアーム32を移動させながら3次元センサ34の位置を変えながら測定した測定対象物の3次元データを合成して、測定対象物の3次元点群を生成するようにしてもよい。
【0036】
(ロボットシステムの第2実施形態)
第1実施形態に係るロボットシステム1では、3次元センサ34によって測定対象物を測定する際のアーム32の移動を、作業者OPが障害物の有無を確認しながら手動で行うようにした。しかし、ロボット3の作業範囲内の障害物とロボット3との位置関係は概ね決まっている場合がある。その場合には、アーム32の移動を、所定の動作プログラムに基づいて、ロボットシステム1が自動で行ってもよい。
【0037】
図6は、第2実施形態に係るロボットシステム1Aの構成を示している。ロボット制御装置4Aには、図2に示したロボット制御装置4に対して、障害物情報生成用動作プログラム記憶部47が追加されている。
【0038】
障害物情報生成用動作プログラム記憶部47は、3次元センサ34を用いて測定対象物を測定する際のアーム32の移動を自動で行うための障害物情報生成用動作プログラムを予め保存している。障害物情報生成用動作プログラムは、予め分かっている障害物とアーム32とが干渉しないと想定される範囲でアーム32を移動させるためのロボット3に対する動作命令を含んでいる。したがって、ロボット制御装置4Aのロボット動作プログラム生成部46は、障害物情報生成モードにおいて3次元センサ34を用いて測定対象物を測定する際に、図7に示すように、障害物情報生成用動作プログラムに基づいてアーム32を自動で移動させるようにアーム駆動部45を制御する。
【0039】
このロボット制御装置4Aを備えるロボットシステム1において、3次元センサ34を用いて測定対象物を測定する際の具体的な動作は、図4に示すフローチャートに準じて実行される。すなわち、図4のステップS41において、作業者OPがアーム32を手動で移動させることに代えて、ロボット動作プログラム生成部46は、障害物情報生成用動作プログラム記憶部47から障害物情報生成用動作プログラムを読み出す。ロボット動作プログラム生成部46は、読み出した障害物情報生成用動作プログラムに基づいて、制御部44を介してアーム駆動部45を制御し、アーム32を自動で移動させて3次元センサ34による測定対象物の測定を行う。これによって、ロボット3の作業範囲内に存在する障害物を3次元センサ34によって測定した3次元データが取得される。その後は、図4に示すステップS42からステップS44と同様の処理が実行される。
【0040】
このロボットシステム1Aにおいても、第1実施形態に係るロボットシステム1と同様に、測定対象物に対してデータの抜けのない3次元点群を簡単に生成することができる。作業者OPがアーム32を手動で移動させる必要がないため、障害物情報をより迅速で簡単に取得することができる効果が得られる。
【0041】
障害物情報生成用動作プログラムは、3次元センサ34の計測範囲に基づいて生成されることが望ましい。すなわち、図8に示すように、障害物情報生成用動作プログラムは、アーム32の移動前の3次元センサ34の計測範囲X1とアーム32の移動後の3次元センサ34の計測範囲X2とが接するように、又は一部重なり合うように、ロボット3を動作させる。図8は、加工室100の外壁面103を測定対象物として3次元センサ34によって測定する場合を示している。これによって、測定対象物を測定するためにアーム32を自動で移動させる場合でも、測定対象物に対して3次元センサ34による漏れのない測定を行うことができる。
【0042】
障害物情報生成用動作プログラム記憶部47の機能は、記憶部43が兼ねていてもよい。障害物情報生成用動作プログラムは、3次元センサ34によって測定対象物の測定を行う際に、例えば外部のサーバ等の記憶装置からロボット制御装置4Aに読み込まれるようにしてもよい。ロボット制御装置4Aは、3次元センサ34によって測定対象物の測定を行う際のアーム32の移動を、作業者OPが手動で行うか、障害物情報生成用動作プログラムに基づいて自動で行うか、を切り替える切替スイッチ(図示せず)を有し、作業者OPがいずれかを選択できるように構成されてもよい。
【0043】
以上の各実施形態では、3次元点群生成部41、障害物情報生成部42及びロボット動作プログラム生成部46は、ロボット制御装置4,4Aの機能の一部を構成しているが、これに制限されない。3次元点群生成部41、障害物情報生成部42及びロボット動作プログラム生成部46の少なくとも一つは、ロボット制御装置4,4Aとは別体に設けられてもよい。アーム駆動部45は、ロボット制御装置4,4Aとは別体に設けられてもよい。障害物情報生成用動作プログラム記憶部47は、ロボット制御装置4Aとは別体に設けられてもよい。
【符号の説明】
【0044】
1、1A ロボットシステム
3 ロボット
32 アーム
34 3次元センサ
41 3次元点群生成部
43 障害物情報生成部
46 ロボット動作プログラム生成部
W ワーク
図1
図2
図3
図4
図5
図6
図7
図8