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

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

▶ 川崎重工業株式会社の特許一覧

<>
  • 特許-作業システム 図1
  • 特許-作業システム 図2
  • 特許-作業システム 図3
  • 特許-作業システム 図4
  • 特許-作業システム 図5
  • 特許-作業システム 図6
  • 特許-作業システム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-22
(45)【発行日】2022-10-03
(54)【発明の名称】作業システム
(51)【国際特許分類】
   B25J 13/08 20060101AFI20220926BHJP
   G05B 19/42 20060101ALI20220926BHJP
   B25J 9/22 20060101ALN20220926BHJP
【FI】
B25J13/08 Z
G05B19/42 H
B25J9/22 A
【請求項の数】 9
(21)【出願番号】P 2019525424
(86)(22)【出願日】2018-06-11
(86)【国際出願番号】 JP2018022284
(87)【国際公開番号】W WO2018230517
(87)【国際公開日】2018-12-20
【審査請求日】2021-02-03
(31)【優先権主張番号】62/518,804
(32)【優先日】2017-06-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】100118784
【弁理士】
【氏名又は名称】桂川 直己
(72)【発明者】
【氏名】間瀬 祥平
(72)【発明者】
【氏名】藤森 潤
(72)【発明者】
【氏名】鷹取 正夫
(72)【発明者】
【氏名】野口 健治
【審査官】木原 裕二
(56)【参考文献】
【文献】特開2011-209959(JP,A)
【文献】特開2015-136742(JP,A)
【文献】国際公開第2016/151668(WO,A1)
【文献】特開2012-254518(JP,A)
【文献】特開2011-167806(JP,A)
【文献】特開平06-206148(JP,A)
【文献】特開2012-218140(JP,A)
【文献】特開2016-052695(JP,A)
【文献】特開2017-071033(JP,A)
【文献】特開2010-122777(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 13/08
G05B 19/42
B25J 9/22
(57)【特許請求の範囲】
【請求項1】
作業対象物であるワークに対して作業を行う作業装置と、
前記ワーク、前記作業装置、前記ワークに対する位置が定まっている物体、及び、作業領域を構成する物体の少なくとも何れかである計測対象物に取り付けられており、ベース部、及び、当該ベース部に取り付けられた複数のマーカを含むマーカユニットと、
前記マーカユニットに含まれる複数の前記マーカの識別情報及び3次元位置を検出するセンサと、
前記マーカの識別情報と当該マーカの取付位置の対応関係を示す取付位置データと、前記作業装置が行う作業内容を示す作業データと、を含むティーチングデータを記憶する記憶装置と、
前記センサが検出した複数の前記マーカの3次元位置と前記記憶装置に記憶されている前記取付位置データとに基づいて前記計測対象物の3次元位置を求め、当該計測対象物の3次元位置と前記作業データとに基づいて前記作業装置を制御して作業を行わせる制御装置と、
を備え
前記マーカユニットに含まれる複数の前記マーカには、それぞれ個別の識別情報が設定されており、
前記センサは、前記マーカユニットに含まれる複数の前記マーカ毎に識別情報及び3次元位置を検出することを特徴とする作業システム。
【請求項2】
請求項1に記載の作業システムであって、
前記作業装置及び前記マーカユニットはそれぞれ複数配置されており、
前記制御装置は、同じ前記ティーチングデータを用いて、複数の前記作業装置のそれぞれを制御することを特徴とする作業システム。
【請求項3】
請求項1に記載の作業システムであって、
前記作業装置はロボットであり、
前記マーカユニットは前記作業領域を構成する物体に取り付けられており、
前記制御装置は、前記センサが検出した複数の前記マーカの位置に基づいて、前記作業装置が作業を行う前記作業領域の位置を特定することを特徴とする作業システム。
【請求項4】
請求項1に記載の作業システムであって、
前記計測対象物の位置及び姿勢を特定するために3次元位置を計測することが必要な前記マーカの数の最小値をNとしたときに、
前記マーカユニットには、少なくともN+1個の前記マーカが含まれていることを特徴とする作業システム。
【請求項5】
請求項4に記載の作業システムであって、
前記記憶装置には、前記マーカの識別情報と対応付けて優先度が記憶されており、
前記制御装置は、N+1個以上の前記マーカを検出した場合は、前記優先度が高いN個の前記マーカの3次元位置を優先的に用いて前記計測対象物の3次元位置を求めることを特徴とする作業システム。
【請求項6】
請求項1に記載の作業システムであって、
前記マーカユニットは、前記計測対象物に対して着脱可能であることを特徴とする作業システム。
【請求項7】
請求項1に記載の作業システムであって、
前記記憶装置には、前記計測対象物の3次元データが記憶されており、
前記制御装置は、前記センサが検出した前記マーカの位置と、前記計測対象物の3次元データと、に基づいて、当該計測対象物の位置及び姿勢を特定することを特徴とする作業システム。
【請求項8】
請求項1に記載の作業システムであって、
前記センサを移動させる移動装置を備え、
前記移動装置は、前記マーカが検出できなくなったと判定した場合、前記センサを移動させることを特徴とする作業システム。
【請求項9】
請求項1に記載の作業システムであって、
前記センサは、
第1位置に配置される第1センサと、
前記第1位置とは異なる第2位置に配置される第2センサと、
を含み、
前記制御装置は、前記第1センサで検出できなかった前記マーカを前記第2センサで検出することを特徴とする作業システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、主として、作業装置を制御して作業を行わせる作業システムに関する。
【背景技術】
【0002】
特許文献1のロボット装置は、グリッパと、ロボットアームと、CCDカメラと、ロボットコントローラと、を備える。グリッパは、作業対象物を把持する。ロボットアームは、先端にグリッパが取り付けられており、グリッパを移動させる。CCDカメラは、グリッパの近傍に固着されており、ワークが搬送されるコンベアの画像(画素毎に輝度が設定された画像)を取得する。ロボットコントローラは、CCDカメラが取得した画像に基づいてロボットアーム及びグリッパを制御して、グリッパにワークを把持させる。
【0003】
特許文献2のシステムは、車両の位置及び向きを検出する。この車両には、複数のマーカが取り付けられている。また、この車両の周りには複数のモーションキャプチャカメラが配置されている。モーションキャプチャカメラは、車両のマーカの位置を検出する。これにより、車両の位置及び向きを算出できるとともに、それらの時間変化である動作も算出できる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2002-18754号公報
【文献】特開2013-175221号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1では、CCDカメラが取得した画像に基づいてワークの位置を検出しているため、ワークの位置(特に奥行方向の位置)を正確に取得できないことがある。また、特許文献2では、車両にマーカをどのように取り付けるかについては具体的に記載されていない。
【0006】
本発明は以上の事情に鑑みてされたものであり、その主要な目的は、マーカを用いて計測対象物の正確な3次元位置を考慮して作業を行う作業システムを提供することにある。
【課題を解決するための手段】
【0007】
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
【0008】
本発明の観点によれば、以下の構成の作業システムが提供される。即ち、この作業システムは、作業装置と、マーカユニットと、センサと、記憶装置と、制御装置と、を備える。前記作業装置は、作業対象物であるワークに対して作業を行う。前記マーカユニットは、前記ワーク、前記作業装置、前記ワークに対する位置が定まっている物体、及び、作業領域を構成する物体の少なくとも何れかである計測対象物に取り付けられており、ベース部、及び、当該ベース部に取り付けられた複数のマーカを含む。前記センサは、前記マーカユニットに含まれる複数の前記マーカの識別情報及び3次元位置を検出する。前記記憶装置は、前記マーカの識別情報と当該マーカの取付位置の対応関係を示す取付位置データと、前記作業装置が行う作業内容を示す作業データと、を含むティーチングデータを記憶する。前記制御装置は、前記センサが検出した複数の前記マーカの3次元位置と前記記憶装置に記憶されている前記取付位置データとに基づいて前記計測対象物の3次元位置を求め、当該計測対象物の3次元位置と前記作業データとに基づいて前記作業装置を制御して作業を行わせる。前記マーカユニットに含まれる複数の前記マーカには、それぞれ個別の識別情報が設定されている。前記センサは、前記マーカユニットに含まれる複数の前記マーカ毎に識別情報及び3次元位置を検出する。
【0009】
これにより、マーカの3次元位置を検出することで、計測対象物の正確な3次元位置を考慮して作業を行うことができる。また、マーカユニットにより複数のマーカをまとめて取り扱うことができるので、マーカを配置する作業の手間を軽減できる。
【発明の効果】
【0010】
本発明によれば、マーカを用いて計測対象物の正確な3次元位置を考慮して作業を行う作業システムを提供することができる。
【図面の簡単な説明】
【0011】
図1】第1実施形態のロボットシステムの構成を示すブロック図。
図2】ロボットシステムが行う作業及び作業場の状況を示す斜視図。
図3】マーカの基準位置からマーカユニットの輪郭までの距離を示す図。
図4】記憶装置に記憶されているティーチングデータの内容を示す図。
図5】制御装置が行う制御を示すフローチャート。
図6】第2実施形態のロボットシステムが行う作業及び作業場の状況を示す斜視図。
図7】第3実施形態のロボットシステムが行う作業及び作業場の状況を示す斜視図。
【発明を実施するための形態】
【0012】
次に、図面を参照して本発明の実施形態を説明する。初めに、図1を参照して、ロボットシステム1の概要について説明する。図1は、第1実施形態に係るロボットシステム1の構成を示すブロック図である。
【0013】
図1に示すように、ロボットシステム(作業システム)1は、ロボット(作業装置)10と、センサ51と、記憶装置52と、制御装置53と、を備える。また、本実施形態のロボットシステム1は、複数のロボット10が作業を行うシステムであるため、ロボット10、センサ51、及び制御装置53は複数設けられている。なお、ロボットシステム1は、ロボット10、センサ51、及び制御装置53を1つずつ備える構成であってもよい。
【0014】
ロボットシステム(作業システム)1は、ロボット10に作業を行わせるためのシステムである。ロボット10に行わせる作業としては様々であるが、例えば、搬送、組立て、機械加工、塗装、洗浄等がある。センサ51は、ロボット10及びその周囲の位置及び姿勢等を検出する。なお、姿勢とは、着目している部材の向きであり、例えば当該部材の中心を通る1又は複数の回転軸の回転角度等である。
【0015】
記憶装置52は、ROM、フラッシュメモリ、HDD等の記憶部と、無線通信用のアンテナ又は有線通信用のコネクタ等の通信部と、備える。記憶装置52には、ロボット10に作業を行わせるためのティーチングデータ(詳細は後述)が記憶されている。また、記憶装置52は、複数の制御装置53の共通の記憶装置として構成されている。
【0016】
制御装置53は、公知のコンピュータにより構成されており、CPU等の演算部と、ROM、RAM、HDD等の記憶部と、無線通信用のアンテナ又は有線通信用のコネクタ等の通信部と、備える。制御装置53の記憶部に記憶されたプログラムを演算部が読み出して実行することで、制御装置53を様々な手段として機能させることができる。また、制御装置53は、通信部を介して、記憶装置52に記憶されたデータを取得したり、記憶装置52へデータを送信したりすることができる。制御装置53の演算部は、センサ51の検出結果と記憶装置52のティーチングデータとを用いてロボット10を動作させることで、ロボット10に所定の作業を行わせる。
【0017】
次に、図2を参照して、ロボット10の構成及びセンサ51の計測原理について詳細に説明する。図2は、ロボットシステム1が行う作業及び作業場の状況を示す斜視図である。
【0018】
図2に示すように、ロボット10は、支持台11と、ロボットアーム12と、エンドエフェクタ13と、を備える。ロボット10は、作業対象物であるワーク30に対して作業を行う。
【0019】
支持台11は、工場等の作業場の所定の位置に固定されている。支持台11は、鉛直方向を回転軸として回転可能である。ロボットアーム12は、1又は複数の関節で連結された複数のアームを備える。ロボットアーム12が備える図略のアクチュエータを動作させて関節の回転角度等を変化させることで、各アームの位置及び姿勢を変化させることができる。エンドエフェクタ13は、ワーク30に直接働きかける機能を有する部分であり、ロボットアーム12の先端部に装着される。装着されるエンドエフェクタ13は作業内容又はワーク30の形状等に応じて異なる。また、エンドエフェクタ13はロボットアーム12に対して着脱可能であり、作業内容に応じて異なるエンドエフェクタ13を付け替えることで、ロボット10に様々な作業を行わせることができる。
【0020】
図2に示すように、本実施形態のロボット10は、ワーク30を第1作業台21から第2作業台22へ搬送する作業を行う。そのため、エンドエフェクタ13は、ワーク30を把持可能なグリッパである。ロボット10は、支持台11及びロボットアーム12を動作させることで、第1作業台21上の所定のワーク30の近傍にエンドエフェクタ13を位置させる。その後、ロボット10は、エンドエフェクタ13を用いてワーク30を把持する。次に、ロボット10は、支持台11及びロボットアーム12を動作させることで、第2作業台22の所定の位置にエンドエフェクタ13を位置させる。その後、ロボット10は、把持を解除することで、ワーク30を第2作業台22上に置く。ロボット10は、以上の作業を繰り返す。
【0021】
ロボット10が本実施形態の作業を自律的に行うために必要な位置情報としては、ロボット10の各部の位置及び姿勢と、ワーク30の位置及び姿勢と、ワーク30を置く位置と、がある。なお、本実施形態では第1作業台21上のどこにワーク30が置かれるかは予め定められており、ワーク30が置かれる向きも定められている。言い換えれば、第1作業台21は、ワーク30に対する位置が定まっている。従って、第1作業台21の位置を特定することで、ワーク30の位置及び姿勢が特定できる。そのため、センサ51は、ロボット10の各部の位置及び姿勢と、第1作業台21及び第2作業台22の位置及び姿勢と、を検出する。また、以下の説明では、位置及び姿勢を検出する処理を行う対象物を計測対象物と称することがある。
【0022】
本実施形態では、計測対象物であるロボット10の各部、第1作業台21、及び第2作業台22に複数のマーカ42,43を取り付け、このマーカ42,43の3次元位置(以下、単に位置と称する)をセンサ51で検出することで、計測対象物の位置及び姿勢を検出する。なお、本明細書では、後述のマーカユニット40の一部を構成するマーカに符号42を付し、それ以外のマーカに符号43を付すが、両者の構成は同じである。計測対象物の原則3点のそれぞれについて位置を特定することで、計測対象物の位置及び姿勢を特定できる。
【0023】
なお、位置及び姿勢の少なくとも何れかが規制されている計測対象物(具体的には、回転不能に取り付けられている計測対象物、レールに沿って所定方向のみに移動可能に取り付けられている計測対象物等)については、2つ以下のマーカ42,43の位置に基づいて、当該計測対象物の位置及び姿勢を特定できる。即ち、以下の説明で「3つのマーカ42,43の位置」と説明する箇所は、「計測対象物の位置及び姿勢を特定するための最小数であるN個のマーカ42,43の位置」と置き換えることもできる。
【0024】
本実施形態では、TOF(Time Of Flight)を利用して、マーカ42,43の位置が検出される。TOFとは、送信機から送信された電磁波が受信機で受信されるまでに掛かった時間に応じて2点間の距離を求める方法である。具体的には、本実施形態のセンサ51は複数の受信機(例えば第1受信機及び第2受信機)を含んで構成されている。また、マーカ42,43はそれぞれ送信機を含んで構成されている。上記のTOFにより、送信機から第1受信機までの距離と、送信機から第2受信機までの距離と、が算出できる。また、センサ51の位置(即ち、第1受信機の位置及び第2受信機の位置)は既知であるため、双曲線測位及び三角測量等を用いることで、送信機の位置(即ち、マーカ42,43の位置)を算出できる。特に、マーカ42,43毎に送信する電磁波を異ならせることで、マーカ42,43を識別して位置を検出できる。本実施形態の方式に代えて、送信機と受信機を置換しても、同様の原理により受信機の位置を算出できる。
【0025】
あるいは、センサ51が電磁波を送信するとともに、マーカ42,43がこの電磁波を反射する構成であってもよい。この場合、センサ51から電磁波が送信されてから反射波を受信するまでの時間に基づいて、上記と同様にマーカ42,43の位置を検出することもできる。この場合、例えばマーカ42,43毎に反射する電磁波の波長を異ならせることで(即ち反射波の波長を異ならせることで)、センサ51は、マーカ42,43を識別して位置を検出できる。また、センサ51はステレオカメラであってもよい。この場合、マーカ42,43毎に模様又は形状を異ならせることで、センサ51は、マーカ42,43を識別して位置を検出できる。なお、マーカ42,43を識別するための情報(固有の電磁波、反射波の波長、個別の模様又は形状)は、マーカ42,43を制御装置53側で識別するための識別情報と対応付けて記憶装置52に記憶されている。
【0026】
上述したように計測対象物の位置及び姿勢を特定するためには3点の位置を特定する必要がある。そのため、可動範囲毎に少なくとも3つのマーカ42,43が取り付けられている。特に、ロボット10は各関節の角度に応じてセンサ51側を向く面が異なるため、様々な面に合計4つ以上のマーカ42,43が取り付けられている。なお、一直線上に配置された3つのマーカ42,43の位置が特定されるだけでは、計測対象物の位置が一意に特定できない可能性があるため、4つのマーカ42,43のうち3つ以上のマーカ42,43が一直線上に配置されないようにすることが好ましい。同様に、第1作業台21及び第2作業台22にも、合計4つ以上(本実施形態では4つ)のマーカ42が取り付けられている。この構成により、計測対象物の位置及び姿勢の変更又は他の障害物等により1つのマーカ42,43の位置が検出できない場合であっても、残りのマーカ42,43を用いて計測対象物の位置を特定できる。
【0027】
ワーク30に対して作業を行うエンドエフェクタ13の位置及び姿勢は、ロボット10の各部の位置及び姿勢の中でも最も重要である。従って、あらゆる状況においてエンドエフェクタ13の位置及び姿勢を確実に検出するために、本実施形態ではエンドエフェクタ13に取り付けられたマーカ42,43の密度(単位面積あたりの個数、単位体積あたりの個数)は、ロボットアーム12及び支持台11の何れよりも高い。また、エンドエフェクタ13のうち、ワーク30に接触する部分(本実施形態ではグリッパの先端の内面)の位置及び姿勢は更に重要である。そのため、ワーク30に接触する部分にマーカ42,43が取り付けられるか、ワーク30に接触する部分と一体的に動作する部分にマーカ42,43が取り付けられることが更に好ましい。
【0028】
なお、上述のようにエンドエフェクタ13は作業内容に応じて交換される。この交換作業をロボットシステム1が自律的に行うことができるように、エンドエフェクタ13の取付位置(ロボットアーム12の最も先端)の近傍にも多数のマーカ42,43が取り付けられることが好ましい。
【0029】
センサ51の位置は既知である必要があるため、センサ51は作業の進行に伴って位置が変化しない場所(本実施形態では支柱91)に固定されている。なお、センサ51の位置が特定可能であれば、後述の第2実施形態のようにセンサ51が移動可能であってもよい。
【0030】
このように、本実施形態の方法で計測対象物の位置及び姿勢を検出する場合、多数のマーカ42,43を貼り付ける必要がある。そのため、本実施形態では複数のマーカ42をひとまとめにしたマーカユニット40が用いられている。以下、マーカユニット40について詳細に説明する。
【0031】
本実施形態のマーカユニット40は、第1作業台21、第2作業台22、及びロボットアーム12に取り付けられている。それぞれのマーカユニット40は、ベース部41と、複数のマーカ42と、を備える。
【0032】
ベース部41は、マーカ42を取り付ける土台である。本実施形態ではベース部41は平板状であるが、平板状とは異なる形状であってもよい。また、ベース部41は、計測対象物に対して着脱可能に構成されている。具体的には、図1に示すように、第1作業台21又は第2作業台22に取り付けられるベース部41は、ボルト45によって取り付けられているため、着脱可能である。
【0033】
これにより、作業内容に応じてマーカユニット40を交換する作業が容易となる。特にマーカユニット40をボルト45で取り付ける構成にすることで、例えば接着剤等で取り付ける場合と比較して、第1作業台21又は第2作業台22に対するベース部41の位置決めを簡単にすることができる。なお、ボルトで固定する構成に代えて、第1作業台21及びベース部41の一方に形成された突起を他方に形成された溝に嵌め込む等の方法で着脱可能に構成されていてもよい。なお、ロボット10に取り付けられるマーカユニット40も同様に着脱可能に構成されている。
【0034】
マーカ42は、ベース部41に取り付けられている。マーカ42は、ベース部41に接着等によって固定されているが、着脱可能であってもよい。マーカ42の取付数は2以上又は上記のN以上である。上述したように、1つのマーカ42がセンサ51によって検出できなくなる可能性等を考慮して、ベース部41にはN+1以上のマーカ42が取り付けられている。また、ベース部41に対するマーカ42の位置は可変ではなく固定されている。なお、ベース部41に取り付けられるマーカ42の数はN+2以上であってもよい。また、別のマーカユニット40のマーカ42又はマーカ43と併用する場合、1つのベース部41に取り付けられるマーカ42の数はN-1以下であってもよい。
【0035】
マーカユニット40を用いることで、複数のマーカ42をまとめて取り扱うことができるので、マーカ42を取り付ける作業の手間を軽減できる。また、同じ作業をロボット10に行わせる場合、マーカ42の配置が同じマーカユニット40を用いることで、ロボット10を動作させるための後述のティーチングデータを共用できる。
【0036】
なお、ロボットアーム12に取り付けられるマーカユニット40は、ロボットアーム12の位置及び姿勢を検出するために用いられる。第1作業台21及び第2作業台22に取り付けられるマーカユニット40は、作業領域の位置(本実施形態では搬送前及び搬送後のワーク30が置かれる位置)を検出するために用いられる。また、ワーク30に対する第1作業台21の位置は定まっているため、第1作業台21はワーク30の位置及び姿勢を検出するためにも用いられる。このように、マーカユニット40は様々な用途で用いることができる。
【0037】
なお、マーカ42,43は所定の大きさを有しているが、上記の方法で検出されたマーカ42,43の位置は点(1つの座標)である。この点を基準点と称する。また、本実施形態では、図3に示すように基準点Pからマーカ42の外周までの距離(図3のXa及びYa)が予め定められている。同様に、基準点Pからマーカユニット40(ベース部41)の外周までの距離(図3のXb及びYb)が予め定められている。これらの値は複数のマーカ42,43で共用であってもよい。また、本実施形態ではXaとYaは同じ長さであり、XbとYbは同じ長さであるが、XaとYaが異なる長さであってもよいし、XbとYbが異なる長さであってもよい。
【0038】
なお、マーカ43は、計測対象物に直接的に溶接又は接着されていてもよいし、治具を介して取り付けられていてもよい。この治具は、ベース部41と同様に計測対象物に対して着脱可能であってもよい。また、計測対象物に取り付いた状態の治具と、計測対象物との間にマーカを挟むことでマーカを取り付けてもよい。
【0039】
次に、図4及び図5を参照して、ロボットシステム1が行う実際の処理の流れを説明する。図4は、記憶装置52に記憶されているティーチングデータの内容を示す図である。図5は、制御装置53が行う制御を示すフローチャートである。
【0040】
ロボットシステム1を稼動させる前に、ティーチングデータが予め作成されて記憶装置52に記憶される。ティーチングデータとは、ロボット10に作業を行わせるためのデータである。具体的には、本実施形態のティーチングデータには、3次元データと、取付位置データと、作業データと、優先度と、が含まれている。
【0041】
3次元データとは、ロボット10、ワーク30、及びその周囲の環境(例えば第1作業台21、第2作業台22、支柱91)等の3次元モデルを示すデータである。なお、列挙した物体のうち一部の物体のみの3次元データが記憶されていてもよいし、ある物体の一部分のみの3次元データが記憶されていてもよい。
【0042】
取付位置データとは、マーカ42,43の識別情報と、当該マーカ42,43の取付位置と、の対応関係を示すデータである。取付位置とは、どの計測対象物のどの位置にマーカ42,43を取り付けたかを示すデータである。従って、取付位置は、例えば計測対象物の3次元データ上の座標を用いて記述される。取付位置データは、マーカ42,43の識別情報とそれらの位置を検出した際に、計測対象物の位置及び姿勢を特定するための情報である。
【0043】
作業データとは、ロボット10に行わせる作業の内容を示すデータである。本実施形態の作業データには、ワーク30の初期位置(第1作業台21の各マーカ42に対するワーク30の相対位置)、ワーク30を把持するためのロボット10の動作(エンドエフェクタ13をワーク30の初期位置に近づけるための動作、エンドエフェクタ13の開き量等)、ワーク30の目標位置(第2作業台22の各マーカ42に対するワーク30の相対位置)、及びワーク30を目標位置まで移動させて把持を解除するためのロボット10の動作等(エンドエフェクタ13をワーク30の目標位置に近づけるための動作、ワーク30を目標位置に置く順序等)が含まれている。なお、検出した情報及び教示した手順に沿ってロボット10を動作させる制御は公知なので詳細な説明は省略する。
【0044】
また、マーカ42,43には個別の識別情報が設定されており、この識別情報と計測対象物とは対応付けて記憶されている。従って、ロボット10は、仮に第1作業台21と第2作業台22に取り付けられるマーカユニット40の構成が同じ場合であっても、第1作業台21と第2作業台22を区別することができる。そのため、制御装置53は、ワーク30を把持する作業は第1作業台21に対して行うようにロボット10を制御し、ワーク30の把持を解除する作業は第2作業台22に対して行うようにロボット10を制御する。つまり、マーカ42,43の識別情報に応じて行う作業が決定される。
【0045】
優先度とは、上述のようにN個以上のマーカ42,43が検出された場合に、計測対象物の位置を特定する処理において優先的に用いるマーカ42,43を決定するための情報である。例えば1つの計測対象物についてN+1個のマーカ42,43が検出された場合、優先度が高いN個のマーカ42,43の位置を用いて、当該計測対象物の位置が算出される。なお、優先度の定め方は様々であるが、例えばロボットアーム12の場合は、ワーク30又はエンドエフェクタ13に近いマーカ42,43の優先度を高くすることが好ましい。これにより、ワーク30に対する作業をより適切に行うことができる。なお、優先度の定め方は作業内容に応じて異ならせてもよい。
【0046】
次に、図5のフローチャートに沿って制御装置53が行う処理を説明する。制御装置53は、上述したように、センサ51が検出したマーカ42,43の識別情報及び位置を取得する(S101)。
【0047】
次に、制御装置53は、マーカ42,43の識別情報に基づいてティーチングデータを制御装置53から読み出す(S102)。第1作業台21及び第2作業台22に配置されたマーカ42は、ロボット10とは異なり、本実施形態の作業のみで用いられる部材である。従って、制御装置53は、これらのマーカ42の識別情報に基づいて、この作業のティーチングデータを記憶装置52から読み出す。本実施形態では記憶装置52は、ネットワークを介して複数の制御装置53と接続されているため、新たにロボット10及び記憶装置52を導入した場合であっても、記憶装置52毎にティーチングデータをインストールすることなく、ロボット10に作業を行わせることができる。特に、行わせる作業が同じであれば、仮にロボット10の構成が異なる場合であっても、ロボット10の動作に必要なティーチングデータは殆ど又は全く同じであるため、個別の設定の手間を軽減することができる。従って、本実施形態では2組のロボット10及び制御装置53は、同じティーチングデータを用いている。なお、本明細書では、ティーチングデータが同じとは、ティーチングデータに含まれるデータが全く同じ場合だけでなく、異なるロボット10に適用する際に僅かな調整を行った程度の差異が存在する場合も同じであるとみなす。
【0048】
次に、制御装置53は、1つの計測対象物について4つ以上(N+1個以上)のマーカを検出したか否かを判定する(S103)。制御装置53は、1つの計測対象物について4つ以上のマーカを検出したと判定した場合、上述したように、マーカの優先順位に基づいて、計測対象物の位置の算出に利用するマーカ42,43を選択する(S104)。
【0049】
次に、制御装置53は、計測対象物毎に、記憶装置52から読み出した取付位置データと、センサ51から取得したマーカ42,43の位置と、に基づいて計測対象物の位置及び姿勢を算出する(S105)。取付位置データにはマーカ42,43の識別情報及びその取付位置が含まれており、制御装置53はセンサ51かマーカ42,43の識別情報及び現在の位置を取得する。従って、マーカ42,43の識別情報を用いることで、3次元データ上の所定位置(マーカ42,43の取付位置)が、現在どの位置にあるかを特定できる。
【0050】
次に、制御装置53は、ロボット10の可動範囲内にワーク30が位置しているか否かを検出する(S106)。ロボット10の可動範囲とは、ロボットアーム12が備える複数の関節の角度を変更することでエンドエフェクタ13が到達できる範囲である。即ち、ロボット10の可動範囲内にワーク30が位置していないと、ロボット10は作業を行うことができない。
【0051】
制御装置53は、ロボット10の可動範囲にワーク30が位置していない場合、オペレータに報知する(S107)。なお、制御装置53は、ロボット10が動作を行うことで、ロボット10が他の物体に衝突すると判断した場合も同様に報知を行う構成であってもよい。この判断は、ロボット10の作業時の可動範囲と、作業場の3次元データ及びその位置等に基づいて行うことができる。
【0052】
また、制御装置53は、ロボット10の可動範囲にワーク30が位置している場合、各計測対象物(本実施形態ではロボット10、第1作業台21、及び第2作業台22)の位置及び姿勢と、記憶装置52から読み出したティーチングデータと、に基づいてロボット10を動作させて、ワーク30に対する作業を行わせる(S108)。
【0053】
次に、制御装置53は、マーカ42,43の位置又は計測対象物の位置及び姿勢をログとして記録する(S109)。ログを記録しておくことで、ロボット10が正しく動作したか、ワーク30に対して適切な作業が行われたか等を後で検証することができる。また、このログは、ロボットシステム1を管理する生産システムの管理ソフトウェアに入力してもよい。そのような入力に基づいて、生産システムの管理ソフトウェアは生産ミスを未然に把握して防止したり、生産遅れやその発生箇所を把握したりすることができる。
【0054】
制御装置53は、上述したステップS101からS109の処理を繰り返し行うことで、作業を進行させることができる。
【0055】
このように、本実施形態ではロボット10、及び、第1作業台21等(ワーク30)の実際の位置を計測し、この計測結果に基づいて作業を行う。これに対し、このようなセンサを用いない場合、例えばロボット10が行う動作(各関節の回転角等)を予め定め、当該動作を行うようにティーチングを行う方法がある。この方法を用いる場合、ロボット10及びワーク30等の初期位置等に高い精度が要求されるため、高価な位置決め機構等が必要になる。これに対し、本実施形態では実際の位置を計測するため、ロボット10及びワーク30等の初期位置等に高い精度は要求されないため、安価な機構で運用を行うことができる。
【0056】
次に、第2実施形態を説明する。図6は、第2実施形態のロボットシステム1が行う作業及び作業場の状況を示す斜視図である。なお、第2実施形態及び後述の第3実施形態においては、第1実施形態と同一又は類似の部材には図面に同一の符号を付し、説明を省略する場合がある。
【0057】
第2実施形態では、センサ51が移動可能である点において、第1実施形態とは異なる。具体的には、センサ51は移動装置61に取り付けられている。移動装置61は、制御装置53の制御により図略の電動モータ等によって駆動されることで、支柱91に形成されたレール62に沿って移動できる。そのため、制御装置53は、センサ51が移動した場合であっても、移動後のセンサ51の位置を算出できる。そのため、マーカ42,43の位置を求めることができる。
【0058】
上述したように計測対象物の位置及び姿勢を特定するためには、N個のマーカ42,43の位置を特定する必要がある。そのため、センサ51は、各計測対象物に対してN個以上のマーカ42,43の位置が検出できる位置に配置される。しかし、作業場の状況は変化することがあり、図6に示すように障害物93が置かれる等の原因で、直近で検出できていたマーカ42,43が検出できなくなって、センサ51が何れかの計測対象物についてN-1個しかマーカ42,43を検出できなくなることがある。制御装置53は、そのことを検出すると、移動装置61を制御することでセンサ51を移動させるとともに、マーカ42,43の位置の検出を継続し、全ての計測対象物についてN個以上のマーカ42,43を検出できる地点で移動装置61の移動を停止させる。これにより、再びロボット10による作業を継続することができる。
【0059】
また、第1実施形態では、ワーク30ではなく第1作業台21及び第2作業台22(即ち作業領域を構成する部材、作業領域の一部として扱われる部材)にマーカ42,43が取り付けられていたが、第2実施形態ではワーク30にマーカ42,43が取り付けられている。これにより、ワーク30の位置及び姿勢が定まっていない場合であっても(あるいはワーク30の位置又は姿勢の誤差が大きい場合であっても)、ワーク30の位置及び姿勢を特定できる。その結果、図6に示すように、ワーク30がベルトコンベア92等により移動している場合であっても、当該ワーク30に対して作業を行うことができる。
【0060】
次に、第3実施形態を説明する。図7は、第3実施形態のロボットシステム1が行う作業及び作業場の状況を示す斜視図である。
【0061】
第3実施形態では、センサ51が複数(具体的には2つ)配置される点において、第1実施形態とは異なる。以下では、これらの2つのセンサを、それぞれ第1センサ51a及び第2センサ51bと称する。これにより、一方のセンサで位置及び姿勢が検出できない計測対象物がある場合でも(言い換えれば、マーカ42,43をN個以下しか検出できない計測対象物がある場合でも)、他方のセンサでこの計測対象物の位置及び姿勢を検出することで、ロボット10による作業を継続できる。
【0062】
なお、第1センサ51aと第2センサ51bの検出結果をそれぞれ用いる場合、第1センサ51aと第2センサ51bとで座標系を合わせる必要がある。具体的には、第1センサ51aで、あるマーカの位置を計測し、第2センサ51bで同じマーカの位置を計測する。そして、これらの2つの検出結果が同じ座標となるように第1センサ51aの座標系を第2センサ51bの座標系に変換することで、2つの座標系を合わせることができる。なお、1つのマーカの位置を計測するだけでは座標系を合わせられない場合、複数のマーカについて同様の計測を行う。一般にこのような計測の結果、第1センサ51aの座標系の位置姿勢に関するパラメータを未知数とする連立方程式が得られ、このような連立方程式を解くことによって、又は最小二乗法等の最適化手法によって、第2センサ51bの座標系の位置及び姿勢に関するパラメータが決定される。
【0063】
なお、第2実施形態と第3実施形態の構成を組み合わせてもよい。即ち、複数のセンサ51が配置されるとともに、これらのセンサ51がそれぞれ移動可能であってもよい。
【0064】
以上に説明したように上記実施形態のロボットシステム1は、ロボット10と、マーカユニット40と、センサ51と、記憶装置52と、制御装置53と、を備える。ロボット10は、作業場において作業対象物であるワーク30に対して作業を行う。マーカユニット40は、ワーク30、ロボット10、ワーク30に対する位置が定まっている物体(第1実施形態の第1作業台21)、及び作業領域を構成する部材(第1実施形態の第1作業台21及び第2作業台22)の少なくとも何れかである計測対象物に取り付けられており、ベース部、及び、当該ベース部に取り付けられた複数のマーカ42を含む。センサ51は、マーカユニット40に含まれる複数のマーカ42の識別情報及び3次元位置を検出する。記憶装置52は、マーカ42の識別情報と当該マーカ42の取付位置の対応関係を示す取付位置データと、ロボット10が行う作業内容を示す作業データと、を含むティーチングデータを記憶する。制御装置53は、センサ51が検出した複数のマーカ42の3次元位置と記憶装置52に記憶されている取付位置データとに基づいて計測対象物の3次元位置を求め、当該計測対象物の3次元位置と作業データとに基づいてロボット10を制御して作業を行わせる。
【0065】
これにより、マーカ42の3次元位置を検出することで、計測対象物の正確な3次元位置を考慮して作業を行うことができる。また、マーカユニット40により複数のマーカ42をまとめて取り扱うことができるので、マーカ42を配置する作業の手間を軽減できる。
【0066】
また、上記実施形態のロボットシステム1において、ロボット10及びマーカユニット40はそれぞれ複数配置されている。制御装置53は、同じティーチングデータを用いて、複数のロボット10のそれぞれを制御する。
【0067】
これにより、ティーチングデータを共用することができるので、複数のロボット10を含むロボットシステム1を簡単な処理で運用できる。
【0068】
また、上記実施形態のロボットシステム1において、マーカユニット40は作業領域を構成する部材である第1作業台21及び第2作業台22に取り付けられている。制御装置53は、センサ51が検出した複数のマーカ42の位置に基づいて、ロボット10が作業を行う作業領域の位置を特定する。
【0069】
これにより、マーカユニット40を用いて作業領域を特定できる。
【0070】
また、上記実施形態のロボットシステム1において、計測対象物の位置及び姿勢を特定するための最小のマーカ数をNとしたときに、マーカユニット40には、少なくともN+1個のマーカ42が含まれている。
【0071】
これにより、N個のマーカ42の何れか1つのマーカ42が死角等により検出されなくなっても、他のマーカ42の位置に基づいて計測対象物の位置を特定できる。
【0072】
また、上記実施形態のロボットシステム1において、記憶装置52には、マーカ42の識別情報と対応付けて優先度が記憶されている。制御装置53は、N+1個以上のマーカ42を検出した場合は、優先度が高いN個のマーカ42の3次元位置を優先的に用いて計測対象物の3次元位置を求める。
【0073】
これにより、優先度が高いマーカ42の位置が優先的に採用されるため、例えば位置検出の精度を向上させることができる。
【0074】
また、上記実施形態のロボットシステム1において、マーカユニット40は、計測対象物に対して着脱可能である。
【0075】
マーカユニット40を着脱可能にすることで、他のロボット10又は他の作業場への転用が容易となる。
【0076】
また、上記実施形態のロボットシステム1において、記憶装置52には、計測対象物の3次元データが記憶されている。制御装置53は、センサ51が検出したマーカ42の位置と、計測対象物の3次元データと、に基づいて、当該計測対象物の位置及び姿勢を特定する。
【0077】
これにより、計測対象物のうち、マーカ42が取り付けられていない部分の位置も特定できる。
【0078】
また、上記実施形態のロボットシステム1において、このロボットシステム1は、センサ51を移動させる移動装置61を備える。移動装置61は、マーカ42が検出できなくなったと判定した場合、センサ51を移動させる。
【0079】
これにより、センサ51を移動させることで、マーカ42を再び検出できる可能性がある。
【0080】
また、上記実施形態のロボットシステム1において、センサ51は、第1センサ51aと、第2センサ51bと、を含む。第1センサ51aは、第1位置に配置される。第2センサ51bは、第1位置とは異なる第2位置に配置される。制御装置53は、第1センサ51aで検出できなかったマーカ42を第2センサ51bで検出する。
【0081】
これにより、複数のマーカ42を安定して検出することができる。
【0082】
以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
【0083】
上記実施形態では4つ以上のマーカ42,43が検出された場合、優先度に応じて3つのマーカ42,43を選択して当該マーカ42,43の3次元位置を検出する。これに代えて、4つ以上のマーカ42,43を用いて当該マーカ42,43の3次元位置を検出することもできる。具体的には、計測対象物の位置又は姿勢を決定するために最小の数のマーカの組を複数選択して位置計測を行い、各マーカの組の計測結果に基づいて計測対象物の位置又は姿勢を決定し、その決定結果に基づいて最終的な計測対象物の位置又は姿勢を決定してもよい。例えば、各マーカの組の計測結果に基づいて決定された計測対象物の位置又は姿勢の平均値を、最終的な計測対象物の位置又は姿勢を決定してもよい。また、上記のような平均値を計算する場合に、作業内容等に応じてマーカに優先度を付けるとともにマーカの優先度に応じた各マーカの組の優先度を付けておき、各マーカの組の優先度に応じた重み付け平均値を、最終的な計測対象物の位置又は姿勢を決定してもよい。
【0084】
上記実施形態では、複数の制御装置53で共通の記憶装置52にティーチングデータが記憶されているが、制御装置53に個別のティーチングデータが記憶されていてもよい。
【0085】
上記実施形態では、ロボット10の各部にマーカ42,43が取り付けられているが、これらを省略することもできる。具体的には、マーカユニット40の作業領域内での作業は、マーカユニット40の各マーカ42の位置に関連付けられてティーチングデータとして記憶されているので、マーカが取り付けられていないロボット10であっても、何らかの方法でロボット10とマーカユニット40との位置関係を特定することができれば、そのロボット10はマーカユニット40内の作業領域において正しく作業を行うことができる。なお、ロボット10とマーカユニット40との位置関係を特定するためには、ロボット10に対してマーカユニット40を構造的に位置決めしてもよく、ロボット10にマーカユニット40の位置をオンラインティーチングしてもよい。なお、オンラインティーチングとは、実際のロボットを動作させてティーチングデータを得る方法である。また、ロボット10とマーカユニット40との位置関係を各種センサを用いて計測によって求めてもよい。
【0086】
上記実施形態では、ロボット10は支持台11の位置が固定されているため、大きく位置を変えることはできない。これに代えて、支持台11に車輪等を設けられており、ロボット10が大きく位置を変えることが可能な構成であってもよい。
【0087】
上記実施形態では、センサ51は支柱91に取り付けられているが、作業場の天井、床、又は他の装置に取り付けられていてもよい。また、第2実施形態のセンサ51はレール62に沿って移動する構成であるが、計測対象のロボット10以外にセンサ51を取り付けてもよい。また、センサ51を複数のワイヤで吊るし、それらの複数のワイヤの巻き取り量/繰り出し量を制御することでセンサを移動させてもよい。
【0088】
上記実施形態で示したフローチャートは一例であり、ステップの削除、ステップの順序変更、又はステップの追加等を行ってもよい。例えば、マーカ42,43がN個の場合又はマーカ42,43がN+1個以上か否かにかかわらず同じ計算を行う場合は、ステップS103を省略することができる。
【0089】
上記実施形態では、作業装置の一例としてロボットを挙げて説明したが、制御装置によって運動を制御される作業装置であれば、ロボット以外、例えば建設機械、AUV(Autonomous Underwater Vehicle)、探査車等に対しても本発明を適用できる。
【符号の説明】
【0090】
1 ロボットシステム(作業システム)
10 ロボット(作業装置)
40 マーカユニット
41 ベース部
42,43 マーカ
51 センサ
52 記憶装置
53 制御装置
図1
図2
図3
図4
図5
図6
図7