(57)【要約】【課題】適確にロボットを制御することができる制御装置およびロボットシステムを提供すること。【解決手段】第１撮像部が撮像した第１画像および第２撮像部が撮像した第２画像に基づいてロボットを制御する制御部を備え、前記制御部は、前記第１撮像部によって第１マーカーを撮像し、撮像された前記第１画像に含まれる前記第１マーカーの前記ロボット座標系での第１位置を特定し、前記第２撮像部によって前記第１マーカーを撮像し、撮像された前記第２画像に含まれる前記第１マーカーの前記第２画像座標系での第２位置を特定し、前記ロボット座標系での前記第１位置と、前記第２画像座標系での前記第２位置とに基づいて、前記ロボット座標系と前記第２画像座標系との対応付けを行うことを特徴とする制御装置。【選択図】図１
2019198930.tif 000002
【特許請求の範囲】
【請求項１】
第１撮像部が撮像した第１画像および第２撮像部が撮像した第２画像に基づいてロボットを制御する制御部を備え、
前記ロボットの座標系であるロボット座標系と前記第１撮像部の座標系である第１画像座標系との対応付けがされていて、前記ロボット座標系と前記第２撮像部の座標系である第２画像座標系との対応付けがされていない場合、
前記制御部は、前記第１撮像部によって第１マーカーを撮像し、撮像された前記第１画像に含まれる前記第１マーカーの前記ロボット座標系での第１位置を特定し、
前記第２撮像部によって前記第１マーカーを撮像し、撮像された前記第２画像に含まれる前記第１マーカーの前記第２画像座標系での第２位置を特定し、
前記ロボット座標系での前記第１位置と、前記第２画像座標系での前記第２位置とに基づいて、前記ロボット座標系と前記第２画像座標系との対応付けを行うことを特徴とする制御装置。
【請求項２】
前記ロボットは、ロボットアームを有し、
前記第１撮像部は、前記ロボットアームに設けられている請求項１に記載の制御装置。
【請求項３】
前記第２撮像部は、重力が働く方向に向いて前記第１マーカーの撮像を行う請求項１または２に記載の制御装置。
【請求項４】
第１撮像部が撮像した第１画像および第２撮像部が撮像した第２画像に基づいてロボットを制御する制御部を備え、
前記ロボットの座標系であるロボット座標系と前記第１撮像部の座標系である第１画像座標系との対応付けがされていて、前記ロボット座標系と前記第２撮像部の座標系である第２画像座標系との対応付けがされていない場合、
前記制御部は、前記第１撮像部によって第１マーカーを撮像し、撮像された前記第１画像に含まれる前記第１マーカーの前記ロボット座標系での第１位置を特定し、
前記第２撮像部によって、前記第１マーカーに対して相対位置が特定されている第２マーカーを撮像し、撮像された前記第２画像に含まれる前記第２マーカーの前記第２画像座標系での第２位置を特定し、
前記ロボット座標系での前記第１位置と、前記第２画像座標系での前記第２位置とに基づいて、前記ロボット座標系と前記第２画像座標系との対応付けを行うことを特徴とする制御装置。
【請求項５】
前記第１撮像部の撮像方向は、前記第２撮像部の撮像方向と異なる請求項４に記載の制御装置。
【請求項６】
前記第１撮像部は、重力が働く方向と反対の方向に向いて前記第１マーカーの撮像を行う請求項４または５に記載の制御装置。
【請求項７】
前記第２撮像部は、鉛直方向上方から前記第２マーカーの撮像を行う請求項４ないし６のいずれか１項に記載の制御装置。
【請求項８】
前記第１マーカーは、校正プレートの第１面に設けられており、
前記第２マーカーは、前記校正プレートの前記第１面とは表裏の関係にある第２面に設けられている請求項４ないし７のいずれか１項に記載の制御装置。
【請求項９】
ロボットと、
請求項１ないし８のいずれか１項に記載の制御装置と、を備えることを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置およびロボットシステムに関する。
【背景技術】
【０００２】
従来から、作業台上に載置された作業対象物に対して作業を行うロボットアームを有するロボットと、作業対象物を撮像可能に固定された固定カメラとを有するロボットシステムが知られている。このようなロボットシステムでは、固定カメラで撮像した画像を基にして、ロボットは実空間内において各種作業を行うことができる。そのためには、固定カメラで撮像した画像の画像座標系と、ロボットの制御の基準となるロボット座標系とのキャリブレーション（対応付け）が必要である。
【０００３】
キャリブレーション方法としては、従来から様々な方法が提案されている。特許文献１には、作業台上に配置されたマーカーにロボットでタッチアップしてマーカーのロボット座標系での位置情報を取得する処理と、マーカーの位置を固定カメラで検出してマーカーの画像座標系での位置情報を取得する処理とを行い、これら２つの位置情報を結びつけることで固定カメラとロボットとの間のキャリブレーションを行う方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−２１０８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、マーカーにロボットでタッチアップするという作業は、時間がかかってしまう問題がある。
【課題を解決するための手段】
【０００６】
本適用例の制御装置は、第１撮像部が撮像した第１画像および第２撮像部が撮像した第２画像に基づいてロボットを制御する制御部を備え、
前記ロボットの座標系であるロボット座標系と前記第１撮像部の座標系である第１画像座標系との対応付けがされていて、前記ロボット座標系と前記第２撮像部の座標系である第２画像座標系との対応付けがされていない場合、
前記制御部は、前記第１撮像部によって第１マーカーを撮像し、撮像された前記第１画像に含まれる前記第１マーカーの前記ロボット座標系での第１位置を特定し、
前記第２撮像部によって前記第１マーカーを撮像し、撮像された前記第２画像に含まれる前記第１マーカーの前記第２画像座標系での第２位置を特定し、
前記ロボット座標系での前記第１位置と、前記第２画像座標系での前記第２位置とに基づいて、前記ロボット座標系と前記第２画像座標系との対応付けを行うことを特徴とする。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態に係るロボットシステムを示す図である。
【図２】図１に示すロボットの概略図である。
【図３】作業部を備えるロボットを有するロボットシステムを示す図である。
【図４】ロボットシステムを示すブロック図である。
【図５】制御装置のハードウエア構成を示すブロック図である。
【図６】制御装置によるロボットの制御方法を示すフロー図である。
【図７】キャリブレーションの流れを示すフロー図である。
【図８】ステップＳ１０を説明するための図である。
【図９】ステップＳ１０を説明するための図である。
【図１０】第１撮像部が撮像した第１画像を示す図である。
【図１１】第２撮像部が撮像した第２画像を示す図である。
【図１２】第２実施形態に係るロボットシステムを示す図である。
【図１３】制御装置によるロボットの制御方法を示すフロー図である。
【図１４】第１撮像部が撮像した第１画像を示す図である。
【図１５】第２撮像部が撮像した第２画像を示す図である。
【図１６】ロボットシステムの他の例を示すブロック図である。
【図１７】ロボットシステムの他の例を示すブロック図である。
【発明を実施するための形態】
【０００８】
以下、本発明の制御装置およびロボットシステムを添付図面に示す好適な実施形態に基づいて詳細に説明する。
【０００９】
［第１実施形態］
図１は、第１実施形態に係るロボットシステムを示す図である。図２は、図１に示すロボットの概略図である。図３は、作業部を備えるロボットを有するロボットシステムを示す図である。図４は、ロボットシステムを示すブロック図である。図５は、制御装置のハードウエア構成を示すブロック図である。図６は、制御装置によるロボットの制御方法を示すフロー図である。図７は、キャリブレーションの流れを示すフロー図である。図８は、ステップＳ１０を説明するための図である。図９は、ステップＳ１０を説明するための図である。図１０は、第１撮像部が撮像した第１画像を示す図である。図１１は、第２撮像部が撮像した第２画像を示す図である。
【００１０】
なお、図１では、互いに直交する３軸（Ｘ軸、Ｙ軸およびＺ軸）を図示している。また、以下では、Ｘ軸に平行な方向を「Ｘ軸方向」とも言い、Ｙ軸に平行な方向を「Ｙ軸方向」とも言い、Ｚ軸に平行な方向を「Ｚ軸方向」とも言う。また、以下では、図示された各矢印の先端側を「＋（プラス）」、基端側を「−（マイナス）」と言う。また、Ｚ軸方向は「鉛直方向」と一致しており、Ｘ−Ｙ平面に平行な方向は「水平方向」と一致している。また、Ｚ軸の＋（プラス）側を「上方」とし、Ｚ軸の−（マイナス）側を「下方」とする。なお、図２では、力検出部１２０の図示を省略している。
【００１１】
また、本明細書において、「水平」とは、水平に対して±１０°以下の範囲内で傾斜している場合も含む。同様に、「鉛直」とは、鉛直に対して±１０°以下の範囲内で傾斜している場合も含む。また、「平行」とは、２つの線（軸を含む）または面が、互いに完全な平行である場合のみならず、±１０°以内で傾斜している場合も含む。また、「直交」とは、２つの線（軸を含む）または面が、互いに９０°の角度で交わる場合のみならず、９０°に対し±１０°以内で傾斜している場合も含む。また、本明細書において、「接続」とは、直接的に接続されている場合と、任意の部材を介して間接的に接続されている場合とを含む。
【００１２】
≪ロボットシステム≫
図１に示すロボットシステム１００は、例えば、電子部品等の作業対象物９１の保持、搬送および組立て等の作業で用いることができる。このロボットシステム１００は、ロボット１と、ロボット１の駆動を制御する制御装置５を有する。また、ロボットシステム１００は、撮像機能を有する第１撮像部２および第２撮像部３と、モニターを有する表示装置４０１と、例えばマウスやキーボード等で構成された入力装置４０２（操作機器）とがそれぞれ通信可能に接続されている（図４参照）。
【００１３】
〈ロボット〉
図１および図２に示すように、ロボット１は、いわゆる６軸の垂直多関節ロボットであり、基台１１０と、基台１１０に接続されたロボットアーム１０とを有する。
【００１４】
基台１１０は、ロボット１を任意の設置箇所に取り付ける部分である。本実施形態では、基台１１０は、例えば床等の設置箇所７０に設置されている。なお、基台１１０の設置箇所は、床等の設置箇所７０に限定されず、例えば、壁、天井、移動可能な台車上等であってもよい。
【００１５】
図１および図２に示すように、ロボットアーム１０は、アーム１１（第１アーム）、アーム１２（第２アーム）、アーム１３（第３アーム）、アーム１４（第４アーム）、アーム１５（第５アーム）、アーム１６（第６アーム、先端アーム）と、を有する。これらアーム１１〜１６は、基端側から先端側に向かってこの順に連結されている。各アーム１１〜１６は、隣り合うアームまたは基台１１０に対して回動可能になっている。ここで、図１に示すように、アーム１６は、円盤状をなし、アーム１５に対して回動軸Ｏ６周りに回動可能になっている。また、図２に示すように、本実施形態では、アーム１６の先端面の中心を所定点Ｐ６（所定部位）という。
【００１６】
また、設置箇所７０上には、作業面７１０を有する作業台７１が配置されている。キャリブレーション時には、この作業台７１の作業面７１０上には、図１に示すキャリブレーションプレート７１’（校正プレート）が配置され、作業時には除去される。キャリブレーションプレート７１’の上面７１０Ａには、９つの円形のマーカー（第１マーカー）１９ａ、１９ｂ、１９ｃ、１９ｄ、１９ｅ、１９ｆ、１９ｇ、１９ｈ、１９ｉが格子状に形成されている。マーカー１９ａ〜１９ｃは、＋Ｘ軸側からこの順で並んで配置され、マーカー１９ｄ〜マーカー１９ｆは、マーカー１９ａ〜１９ｃの−Ｙ軸側に＋Ｘ軸側からこの順で並んで配置され、マーカー１９ｇ〜マーカー１９ｉは、マーカー１９ｄ〜マーカー１９ｆの−Ｙ軸側に＋Ｘ軸側からこの順で並んで配置されている。なお、マーカー１９ａ〜マーカー１９ｉは、図示のような円形のものに限定されず、例えば、三角形、四角形またはそれ以上の多角形や、星形等いかなる形状のものでも良い。また、色も識別可能であれば特に限定されない。
【００１７】
また、ロボットアーム１０（具体的には、力検出部１２０を備えるロボットアーム１０）には、例えば、作業対象物９１を把持するハンド１７（作業部）を取り付けることができる（図１および図３参照）。例えば、ロボットアーム１０は、ネジ止め、ボルト止め等でハンド１７を装着するために用いる雌ネジまたは雄ネジを有する構成、あるいは、フック、Ｌ字溝のような係合部を有する取付部（図示せず）を有する。これにより、ハンド１７を適切な位置に簡単に取り付けることができる。
【００１８】
また、ハンド１７は、図示の構成では、２つの指で把持する構成であるが、これに限定されず、２つ以上の構成のものや、吸着式のものであってもよい。また、ロボットアーム１０の先端には、ハンド１７以外に、工具等を装着することもできる。また、これらを適宜交換して用いることもできる。
【００１９】
また、図１に示すように、アーム１６とハンド１７との間には、力検出部１２０（力検出装置）がこれらに対して着脱可能に設けられている。力検出部１２０は、ハンド１７に加わる力（モーメントを含む）を検出する。力検出部１２０は、例えば、６軸力覚センサーや３軸力覚センサー等で構成されている。また、力検出部１２０は、検出した力検出情報を制御装置５へ出力する。
【００２０】
図４に示すように、ロボット１は、一方のアームを他方のアーム（または基台１１０）に対して回動させるモーターおよび減速機等を備える駆動部１３０を有する。モーターとしては、例えば、ＡＣサーボモーター、ＤＣサーボモーター等のサーボモーターを用いることができる。減速機としては、例えば、遊星ギア型の減速機、波動歯車装置等を用いることができる。また、ロボット１は、モーターまたは減速機の回転軸の回転角度を検出する位置センサー１４０（角度センサー）を有する。位置センサー１４０は、例えばロータリーエンコーダー等を用いることができる。また、駆動部１３０および位置センサー１４０は、例えば各アーム１１〜１６に設けられており、本実施形態では、ロボット１は、６つの駆動部１３０および６つの位置センサー１４０を有する。また、各駆動部１３０は、例えばロボット１に内蔵されたモータードライバー（図示せず）を介して制御装置５に電気的に接続されている。また、各位置センサー１４０も制御装置５に電気的に接続されている。
【００２１】
このようなロボット１には、ロボット１の基台１１０を基準としたベース座標系（ロボット座標系）が設定されている。ベース座標系は、水平方向に対してそれぞれ平行なＸ軸とＹ軸と、水平方向に対して直交し、かつ、鉛直上向きを正方向とするＺ軸とによって定まる３次元の直交座標系である。本実施形態では、ベース座標系は、基台１１０の上端面の中心点を原点としている。Ｘ軸に対する並進成分を「成分Ｘ」とし、Ｙ軸に対する並進成分を「成分Ｙ」とし、Ｚ軸に対する並進成分を「成分Ｚ」とする。成分Ｘ、成分Ｙおよび成分Ｚの長さ（大きさ）の単位は「ｍｍ」である。
【００２２】
また、ロボット１には、アーム１６の所定点Ｐ６を原点とした先端座標系が設定されている。先端座標系は、互いに直交するＸａ軸とＹａ軸とＺａ軸とによって定まる３次元の直交座標系である（図２参照）。Ｘａ軸およびＹａ軸は、それぞれ回動軸Ｏ６に対して直交している。また、Ｘａ軸に対する並進成分を「成分Ｘａ」とし、Ｙａ軸に対する並進成分を「成分Ｙａ」とする。成分Ｘａおよび成分Ｙａの長さ（大きさ）の単位は「ｍｍ」である。また、本実施形態では、前述したベース座標系と先端座標系とのキャリブレーションは済んでおり、ベース座標系での座標から先端座標系での座標を計算から求めることができる状態である。なお、本実施形態では、前述したベース座標系を「ロボット座標系」として捉えているが、先端座標系を「ロボット座標系」として捉えてもよい。以下、ベース座標系、先端座標系を「ロボット座標系」とも言う。
【００２３】
〈第１撮像部〉
図１に示すように、第１撮像部２は、ロボットアーム１０のアーム１６に設置されており、ハンド１７の先端が向いた方向を撮像する。また、第１撮像部２は、光軸Ｏ２が、アーム１６の回動軸Ｏ６と平行になるよう設置されている。このため、アーム１６の先端が向いている方向、すなわち、ハンド１７が向いている方向を撮像することができ、図１０に示すような第１画像２０を撮像することができる。
【００２４】
第１撮像部２は、図示はしないが、例えば、複数の画素を有するＣＣＤ（Charge Coupled Device）イメージセンサーで構成された撮像素子と、レンズを含む光学系と、を有する。第１撮像部２は、撮像対象等からの光をレンズによって撮像素子の受光面で結像させて、光を電気信号に変換し、その電気信号を制御装置５へと出力する。なお、第１撮像部２は、撮像機能を有する構成であれば、前述の構成に限定されず他の構成であってもよい。
【００２５】
このような第１撮像部２には、第１画像座標系、すなわち第１撮像部２から出力される第１画像２０の座標系が設定されている。（図１０参照）。この第１画像座標系は、第１画像２０の面内方向に対してそれぞれ平行なＵ軸とＶ軸とによって定まる２次元の直交座標系である。また、本実施形態では、Ｕ軸に対する並進成分を「成分Ｕ」とし、Ｖ軸に対する並進成分を「成分Ｖ」とする。成分Ｕおよび成分Ｖの長さ（大きさ）の単位は「ピクセル」である。なお、第１画像座標系は、撮像部３のカメラ視野に写る３次元直交座標を、レンズの光学特性（焦点距離、歪みなど）と撮像素子の画素数および大きさとを加味して非線形変換した２次元の直交座標系である。
【００２６】
この第１画像座標系は、前述したロボット座標系とのキャリブレーションは済んでいる。すなわち、第１撮像部２の第１画像座標系は、ロボット座標系との対応付け、すなわち、キャリブレーション（校正）が行われた状態である。このため、第１撮像部２が撮像した第１画像２０における対象物（例えば、マーカー１９ａ〜１９ｉ）の座標は、ロボット座標で表すことができる。
【００２７】
このような第１撮像部２は、ロボットアーム１０（本実施形態では、アーム１６）に設けられているため、ロボット１を駆動してロボットアーム１０の位置、姿勢を調節することにより、第１撮像部２の光軸Ｏ２の向き、すなわち、撮像方向を簡単に調節することができる。
【００２８】
〈第２撮像部〉
図１および図２に示すように、第２撮像部３は、作業台７１の鉛直方向上方に設置され固定撮像部である。また、第２撮像部３は、光軸Ｏ３が、鉛直方向に沿った状態で下向きに設置されており、作業台７１を撮像できるように設置されている。このため、第２撮像部３は、図１１に示すような第２画像３０を撮像することができる。
【００２９】
第２撮像部３は、図示はしないが、例えば、複数の画素を有するＣＣＤ（Charge Coupled Device）イメージセンサーで構成された撮像素子と、レンズを含む光学系と、を有する。この撮像部３は、撮像対象等からの光をレンズによって撮像素子の受光面で結像させて、光を電気信号に変換し、その電気信号を制御装置５へと出力する。なお、撮像部３は、撮像機能を有する構成であれば、前述の構成に限定されず他の構成であってもよい。
【００３０】
このような第２撮像部３には、第２画像座標系、すなわち、第２撮像部３から出力される第２画像３０の座標系が設定されている（図１１参照）。この第２画像座標系は、第２画像３０の面内方向に対してそれぞれ平行なＵ’軸とＶ’軸とによって定まる２次元の直交座標系である。また、本実施形態では、Ｕ軸に対する並進成分を「成分Ｕ’」とし、Ｖ軸に対する並進成分を「成分Ｖ’」とする。成分Ｕ’および成分Ｖ’の長さ（大きさ）の単位は「ピクセル」である。なお、第２画像座標系は、第２撮像部３のカメラ視野に写る３次元直交座標を、レンズの光学特性（焦点距離、歪みなど）と撮像素子の画素数および大きさとを加味して非線形変換した２次元の直交座標系である。
【００３１】
このような第２撮像部３は、重力が働く方向に向いて第１マーカーであるマーカー１９ａ〜１９ｉの撮像を行う。鉛直方向上方から撮像を行うため、キャリブレーションプレート７１’および作業台７１を撮像することができる。よって、キャリブレーション時の撮像と、キャリブレーション後にロボット１が行う際の撮像との双方を第２撮像部３が行うことができる。よって、撮像部が必要以上に増えるのを防止することができ、ロボットシステム１００の構成をできるだけ簡素にすることができる。
【００３２】
〈制御装置〉
図４に示すように、制御装置５は、ロボット１の駆動を制御する機能を有し、ロボット１、第１撮像部２および第２撮像部３に対して通信可能に接続されている。なお、制御装置５と、ロボット１、第１撮像部２および第２撮像部３とは、それぞれ、有線接続であってもよいし、無線接続であってもよい。また、制御装置５には、モニター（図示せず）を備える表示装置４０１と、例えばキーボード等で構成された入力装置４０２とが接続されている。
【００３３】
図４に示すように、制御装置５は、プロセッサーを備える制御部５１と、メモリー等を備える記憶部５２と、外部インターフェース（Ｉ／Ｆ）を備える外部入出力部５３と、を含む。制御装置５の各構成要素は、種々のバスを介して相互通信可能に接続されている。
【００３４】
制御部５１（プロセッサー）は、ＣＰＵ（Central Processing Unit）等のプロセッサーを備え、記憶部５２（メモリー）に記憶された各種プログラム等を実行する。これにより、ロボット１の駆動の制御や各種演算および判断等の処理を実現できる。
【００３５】
記憶部５２には、制御部５１により実行可能な各種プログラム、ロボット座標系およびその座標に関するデータ、第１画像座標系およびその座標（例えば、後述する（ａＵ,ａＶ）等）に関するデータ、第２画像座標系およびその座標（例えば、後述する（ａＵ’,ａＶ’）等）に関するデータ、校正する座標変換式等が保存されている。また、記憶部５２には、外部入出力部５３で受け付けた各種データの保存が可能である。記憶部５２は、例えばＲＡＭ（Random Access Memory）等の揮発性メモリーや、ＲＯＭ（Read Only Memory）等の不揮発性メモリー等を含んで構成されている。なお、記憶部５２は、非着脱式に限らず、着脱式の外部記憶装置（図示せず）を有する構成であってもよい。また、記憶部５２は、ＬＡＮ（Local Area Network）等のネットワークを介して別の場所に設置されていてもよい。
【００３６】
各種プログラムとしては、ロボット１の駆動に関するロボット駆動指令、各画像座標系とロボット１の先端座標系またはロボット座標系との対応付けに関する画像座標変換指令および、先端座標系とロボット座標系との対応付けに関するロボット座標変換指令等が挙げられる。
【００３７】
画像座標変換指令は、第２画像座標系における座標である画像座標（Ｕ’，Ｖ’：位置）を、ロボット座標系における座標であるロボット座標（Ｘ，Ｙ：位置）や先端座標系における座標である先端座標（Ｘａ，Ｙａ：位置）に変換するための座標変換式を求める指令である。この画像座標変換指令を実行することにより、第２画像座標系と、ロボット座標系および先端座標系との対応付け（キャリブレーション）を行うことができる。
【００３８】
各種データとしては、例えば、ロボット１が有する複数の位置センサー１４０から出力されたデータ、第１撮像部２から出力された第１画像に関するデータ、および、第２撮像部３から出力された第２画像３０に関するデータ等が挙げられる。また、各種データとしては、第２撮像部３の画素数等のデータや、後述するキャリブレーションの実行時におけるロボット１の速度、加速度に関するデータ等が挙げられる。
【００３９】
なお、制御部５１は、記憶部５２に記憶されたプログラムを実行することで、Ｕ−Ｖ平面の法線周りの回転成分（画像座標系での姿勢）を、Ｘ−Ｙ平面の法線周りの回転成分（ロボット座標系での姿勢）やＸａ−Ｙａ平面の法線周りの回転成分（先端座標系での姿勢）に変換することも可能である。例えば、第２撮像部３で撮像した作業対象物９１（またはマーカー１９０）等と、予め登録した対象の外形形状のモデル（テンプレート）とを比較して、当該モデルに対する作業対象物９１の回転角度の値を取得する。これにより、画像座標系での作業対象物９１の姿勢を求めることが可能である。また、第２画像座標系と、先端座標系およびロボット座標系との対応付けを基に、ロボット座標系での作業対象物９１の姿勢および先端座標系での作業対象物９１の姿勢を求めることができる。
【００４０】
外部入出力部５３は、外部インターフェース（Ｉ／Ｆ）を備え、ロボット１、撮像部３、表示装置４０１および入力装置４０２の各接続のために用いられる。また、外部入出力部５３は、第１撮像部２からの第１画像３０に関する情報（データ）および第２撮像部３からの第２画像３０に関する情報（データ）を受け付ける「受付部」として機能する。
【００４１】
このような制御装置５は、例えば、図５に示すようにロボット１と通信可能に接続されたコントローラー６１と、コントローラー６１に通信可能に接続されたコンピューター６２とを含んで構成されている。なお、制御装置５は、コントローラー６１で構成されていてもよい。ロボット１の駆動の制御はコントローラー６１にあるプロセッサーによりメモリーにある指令（プログラムやデータ）を読みだして実行されても良いし、コンピューター６２に存在するプロセッサーによりメモリーにある指令を読みだしてコントローラー６１を介して実行されても良い。
【００４２】
なお、制御装置５は、前述した構成に加えて、さらに他の構成が付加されていてもよい。また、記憶部５２（メモリー）に保存されている各種プログラムやデータ等は、予め記憶部５２に記憶されたものであってもよいし、例えばＣＤ−ＲＯＭ等の記録媒体（図示せず）に格納されており、この記録媒体から提供されたものでもよいし、ネットワーク等を介して提供されたものであってもよい。
【００４３】
〈表示装置および入力装置〉
図４に示す表示装置４０１は、モニターを備えており、各種画面等を表示する機能を有する。したがって、作業者は、表示装置４０１を介して、第１画像２０、第２画像３０およびロボット１の駆動等を確認することができる。
【００４４】
入力装置４０２は、例えばキーボード等で構成されている。したがって、作業者は、入力装置４０２を操作することで、制御装置５に対して各種処理等の指示を行うことができる。なお、図示はしないが、入力装置４０２は、例えばティーチングペンダントで構成されていてもよい。
【００４５】
なお、表示装置４０１および入力装置４０２の代わりに、表示装置４０１および入力装置４０２の機能を兼ね備えた表示入力装置（図示せず）を用いてもよい。表示入力装置としては、例えばタッチパネルディスプレイ等を用いることができる。また、ロボットシステム１００は、表示装置４０１および入力装置４０２をそれぞれ１つ有していてもよいし、複数有していてもよい。
【００４６】
以上、ロボットシステム１００の基本的な構成について説明した。かかるロボットシステム１００は、前述したように、ロボット１と、制御装置５と、を備える。このようなロボットシステム１００によれば、後述する制御装置５による制御を実行できるので、対応付けおよびその結果を用いて行うロボット１の作業対象物９１に対する作業をより的確に、また迅速かつ正確に行うことができる。
【００４７】
≪制御方法≫
図６は、制御装置によるロボットの制御方法を示すフロー図である。
【００４８】
図６に示すように、制御装置５によるロボット１の制御方法は、キャリブレーション（ステップＳ１０）の工程と、キャリブレーションの結果を基にしたロボット１による作業（ステップＳ２０）の工程と、を有する。
【００４９】
ロボット１による作業（ステップＳ２０）の具体的な作業内容は、ハンド１７（作業部）で作業対象物９１に対して作業を行う内容であれば特に限定されないが、例えば、ハンド１７で載置台７２に載置された作業対象物９１を把持し、作業台７１上に作業対象物９１を搬送して載置する作業が挙げられる（図３参照）。なお、ロボット１による作業（ステップＳ２０）の具体的な作業内容は特に限定されないため、以下では、その説明を省略し、キャリブレーション（ステップＳ１０）について説明する。
【００５０】
〈キャリブレーション〉
図７は、キャリブレーションの流れを示すフロー図である。図８および図９は、それぞれ、ステップＳ１０を説明するための図である。図１０は、第１撮像部が撮像した第１画像を示す図である。図１１は、第２撮像部が撮像した第２画像を示す図である。以下で説明するキャリブレーションは、ロボット座標系と第１画像座標系との対応付けがされていて、ロボット座標系と第２画像座標系との対応付けがされていない場合に行われる制御である。
【００５１】
ステップＳ１０では、第２撮像部３の第２画像座標系とロボット１のロボット座標系とを対応付けることにより、ロボット座標系と第２画像座標系との校正を行う。具体的には、第２撮像部３から出力された画像のデータを基にしてロボット１に各種作業を行わせるために、第２画像座標系における座標（画像座標）をロボット座標系における座標（ロボット座標）に変換する座標変換式（座標変換行列）を求める。この座標変換式を求めて、画像座標からロボット座標を計算から求めることができる状態とすることが、第２画像座標系とロボット座標系との「対応付け（キャリブレーション）」に相当する。
【００５２】
本実施形態では、第１撮像部２が撮像した第１画像２０と、第２撮像部３が撮像した第２画像３０とに基づいてキャリブレーションを行う。
【００５３】
以下、図７に示すフロー図を参照しつつ、キャリブレーションについて説明する。なお、このキャリブレーションは、作業者による入力装置４０２を用いて行った指示に応じて、制御部５１が記憶部５２に記憶されたプログラムを実行することにより行われる。なお、以下の制御は、図１に示すように、９つのマーカー１９ａ〜１９ｉが付されたキャリブレーションプレート７１’が配置された状態で行われる。
【００５４】
まず、図８に示すように、第１撮像部２が、９つのマーカー１９ａ〜１９ｉを撮像可能な位置に位置するようにロボットアーム１０を駆動する。そして、図１０に示すような第１画像２０を撮像する（ステップＳ１０１）。
【００５５】
なお、本実施形態では、第１撮像部２の光軸Ｏ２が、９つのマーカー１９ａ〜１９ｉのうちの中央のマーカー１９ｅと重なった状態とする。これにより、より確実に１回の撮像で９つのマーカーを撮像することができ、下記制御を簡素にすることができる。
【００５６】
次に、図１０に示す第１画像２０のうち、各マーカー１９ａ〜１９ｉの位置（第１位置）をロボット座標系で特定し、記憶部５２に記憶する（ステップＳ１０２）。本ステップでは、各マーカー１９ａ〜１９ｉの中心座標を特定する。
【００５７】
具体的には、マーカー１９ａの中心座標を（ａＵ,ａＶ）とし、マーカー１９ｂの中心座標を（ｂＵ,ｂＶ）とし、マーカー１９ｃの中心座標を（ｃＵ,ｃＶ）とし、マーカー１９ｄの中心座標を（ｄＵ,ｄＶ）とし、マーカー１９ｅの中心座標を（ｅＵ,ｅＶ）とし、マーカー１９ｆの中心座標を（ｆＵ,ｆＶ）とし、マーカー１９ｇの中心座標を（ｇＵ,ｇＶ）とし、マーカー１９ｈの中心座標を（ｈＵ,ｈＶ）とし、マーカー１９ｉの中心座標を（ｉＵ,ｉＶ）とする。
【００５８】
次に、第２撮像部３を駆動し、図１１に示すような第２画像３０を撮像する（ステップＳ１０３）。なお、このとき、第２撮像部３の視野内において、ロボットアーム１０がマーカーと重なっていた場合、ロボットアーム１０をマーカー１９ａ〜１９ｉと重ならない位置に移動させる。
【００５９】
次に、図１１に示す第２画像３０のうち、各マーカー１９ａ〜１９ｉの位置（第２位置）を第２画像座標系で特定し、記憶部５２に記憶する（ステップＳ１０４）。本ステップでは、各マーカー１９ａ〜１９ｉの中心座標を特定する。
【００６０】
具体的には、マーカー１９ａの中心座標を（ａＵ’,ａＶ’）とし、マーカー１９ｂの中心座標を（ｂＵ’,ｂＶ’）とし、マーカー１９ｃの中心座標を（ｃＵ’,ｃＶ’）とし、マーカー１９ｄの中心座標を（ｄＵ’,ｄＶ’）とし、マーカー１９ｅの中心座標を（ｅＵ’,ｅＶ’）とし、マーカー１９ｆの中心座標を（ｆＵ’,ｆＶ’）とし、マーカー１９ｇの中心座標を（ｇＵ’,ｇＶ’）とし、マーカー１９ｈの中心座標を（ｈＵ’,ｈＶ’）とし、マーカー１９ｉの中心座標を（ｉＵ’,ｉＶ’）とする。
【００６１】
次に、制御部５１は、第１画像２０における各マーカーの中心座標と、第２画像３０における各マーカーの中心座標とに基づいて、第２画像座標系をロボット座標系に変換する座標変換式を求める（ステップＳ１０５）。第１画像座標系は、ロボット座標系と対応付けられているので、第２画像座標系とロボット座標系とを対応付けることができ、キャリブレーションが完了する。
【００６２】
以上、キャリブレーション（ステップＳ１０）の処理について簡単に説明した。このキャリブレーション（ステップＳ１０）の処理で求めた座標変換式を用いれば、第２撮像部３で撮像した撮像対象の位置および姿勢をロボット座標系における位置および姿勢に変換することができる。そのため、制御部５１は、第２画像３０を基にして、ハンド１７を目的の箇所に位置させることができる。よって、ロボット１による作業（図６：ステップＳ２０）において、ハンド１７を用いてロボット１に適切かつ正確に作業を行わせることができる。
【００６３】
以上、制御方法について説明した。このような制御を行う制御装置５は、第１撮像部２が第１画像２０および第２撮像部３が撮像した第２画像３０に基づいてロボット１を制御する制御部（プロセッサー）５１とを備え、ロボット１の座標系であるロボット座標系と第１撮像部２の座標系である第１画像座標系との対応付けがされていて、ロボット座標系と第２撮像部３の座標系である第２画像座標系との対応付けがされていない場合、制御部（プロセッサー）５１は、第１撮像部２によってマーカー１９ａ〜１９ｉ（第１マーカー）を撮像し、撮像された第１画像２０に含まれるマーカー１９ａ〜１９ｉ（第１マーカー）のロボット座標系での第１位置を特定し、第２撮像部３によってマーカー１９ａ〜１９ｉ（第１マーカー）を撮像し、撮像された第２画像３０に含まれるマーカー１９ａ〜１９ｉ（第１マーカー）の第２画像座標系での第２位置を特定し、ロボット座標系での第１位置と、第２画像座標系での第２位置とに基づいて、ロボット座標系と第２画像座標系との対応付けを行う。
【００６４】
このような制御装置５によれば、第１画像２０と第２画像３０とに基づいて、ロボット座標系と第２画像座標系とを対応付けることができ、ロボット座標系と第２画像座標系との対応付け（キャリブレーション）を行うことができる。よって、従来行われていたタッチアップを省略することができる。よって、迅速かつ精度よくロボット座標系と第２画像座標系との対応付け（キャリブレーション）を行うことができる。
【００６５】
なお、本実施形態では、「対応付け」の一例として、座標変換式（座標変換行列）を求める場合について説明したが、これに限定されず、例えば、各マーカーの第１位置と、各マーカーの第２位置とを対比したデータを求める方法等により「対応付け」を行ってもよい。
【００６６】
また、本実施形態では、図６に示すように、キャリブレーション（ステップＳ１０）の後にロボット１による作業（ステップＳ２０）を行ったが、ステップＳ２０においてキャリブレーションの結果を用いるのであれば、ステップＳ２０を単独で行ってもよい。また、キャリブレーション（ステップＳ１０）を単独で行ってもよい。
【００６７】
なお、本実施形態では、第１撮像部２および第２撮像部３は、マーカー１９ａ〜１９ｉを一括して撮像する場合について説明したが、マーカー１９ａ〜１９ｉを１つずつ、または複数個ずつ撮像してもよい。
【００６８】
また、本実施形態では、所定部位として所定点Ｐ６を設定しているが、所定部位は、ロボットアーム１０のいずれかの箇所であればよい。例えば、所定部位は、アーム１５の先端中心であってもよい。
【００６９】
［第２実施形態］
次に、第２実施形態について説明する。
【００７０】
図１２は、第２実施形態に係るロボットシステムを示す図である。図１３は、制御装置によるロボットの制御方法を示すフロー図である。図１４は、第１撮像部が撮像した第１画像を示す図である。図１５は、第２撮像部が撮像した第２画像を示す図である。
【００７１】
本実施形態は、主に、第１撮像部の設置位置とキャリブレーションプレートが異なること以外は、前述した第１実施形態と同様である。なお、以下の説明では、前述した第１実施形態との相違点を中心に説明し、同様の事項に関してはその説明を省略する。
【００７２】
図１２に示すように、本実施形態では、キャリブレーションプレート７１’の縁部の近傍には、複数（本実施形態では、２つ）の貫通孔７２Ａ、７２Ｂが設けられている。貫通孔７２Ａおよび貫通孔７２Ｂは、キャリブレーションプレート７１’の平面視で円形をなしており、＋Ｙ軸側からこの順で並んで配置されている。
【００７３】
この貫通孔７２Ａの下面７１０Ｂ側の開口７３Ａおよび貫通孔７２Ｂの下面７１０Ｂ側の開口７３Ｂは、後述するように第１マーカーとして機能する。
【００７４】
また、キャリブレーションプレート７１’は、貫通孔７２Ａおよび貫通孔７２Ｂが形成された部分が作業台７１からはみ出すように配置されている。
【００７５】
ロボットシステム１００Ａでは、第１撮像部２Ａは、キャリブレーションプレート７１’の作業台７１からはみ出した部分の下方、すなわち、−Ｚ軸側に設けられている。また、第１撮像部２Ａは、鉛直方向上方を向いており、光軸Ｏ２が鉛直方向に沿って配置されている。このため、第１撮像部２Ａは、重力が働く方向と反対の方向に向いて開口７３Ａおよび開口７３Ｂの撮像を行う。これにより、第１撮像部２Ａは、第１撮像部２Ａよりも鉛直方向上方に位置する開口７３Ａおよび開口７３Ｂを撮像することができる。
【００７６】
また、第１撮像部２Ａの撮像方向は、第２撮像部３の撮像方向と異なっている、すなわち、第１撮像部２Ａおよび第２撮像部３は、反対側から互いに撮像する構成である。これにより、第１撮像部２Ａおよび第２撮像部３によって、キャリブレーションプレート７１’の上面および下面の双方を撮像することができる。よって、キャリブレーションプレート７１’の下面７１０Ｂに形成された第１マーカーである開口７３Ａ、７３Ｂと、上面に形成された第２マーカーであるマーカー１９ａ〜１９ｉとの双方を撮像することができる。
【００７７】
また、第２撮像部は、鉛直方向上方から第２マーカーであるマーカー１９ａ〜１９ｉの撮像を行う。これにより、キャリブレーションプレート７１’および作業台７１を撮像することができる。よって、キャリブレーション時の撮像と、キャリブレーション後にロボット１が行う際の撮像との双方を第２撮像部３が行うことができる。よって、撮像部が必要以上に増えるのを防止することができ、ロボットシステム１００の構成をできるだけ簡素にすることができる。
【００７８】
また、第１マーカーである貫通孔７２Ａ、７２Ｂは、キャリブレーションプレート７１’（校正プレート）の下面７１０Ｂ（第１面）に設けられており、第２マーカーであるマーカー１９ａ〜１９ｉは、キャリブレーションプレート７１’（校正プレート）の下面７１０Ｂ（第１面）とは表裏の関係にあるの上面７１０Ａ（第２面）に設けられている。これにより、前述したように、第１撮像部２Ａおよび第２撮像部３を、キャリブレーションプレート７１’を介して反対側に配置することができる。すなわち、第１撮像部２Ａをロボットアーム１０に装着するのを省略することができ、ロボット１の軽量化を図ることができる。
【００７９】
≪制御方法≫
次に、本実施形態に係る制御装置５によるロボット１の制御方法について説明する。
図１３は、制御装置によるロボットの制御方法を示すフロー図である。
【００８０】
〈キャリブレーション〉
まず、図１４に示すような第１画像２０を撮像する（ステップＳ１１１）。
【００８１】
次に、第１画像２０中の開口７３Ａ、７３Ｂの位置をロボット座標系で特定し、記憶部５２に記憶する（ステップＳ１１２）。本ステップでは、開口７３Ａ、７３Ｂの中心座標を特定する。具体的には、開口７３Ａの中心座標を（ＡＵ,ＡＶ）とし、開口７３Ｂの中心座標を（ＢＵ,ＢＶ）とする。
【００８２】
次に、第２撮像部３を駆動し、図１５に示すような第２画像３０を撮像する（ステップＳ１１３）。
【００８３】
次に、第２画像３０中のマーカー１９ａ〜１９ｉの位置（第２位置）を第２画像座標系で特定し、記憶部５２に記憶する（ステップＳ１１４）。本ステップでは、各マーカー１９ａ〜１９ｉの中心座標を特定する。
【００８４】
具体的には、マーカー１９ａの中心座標を（ａＵ’,ａＶ’）とし、マーカー１９ｂの中心座標を（ｂＵ’,ｂＶ’）とし、マーカー１９ｃの中心座標を（ｃＵ’,ｃＶ’）とし、マーカー１９ｄの中心座標を（ｄＵ’,ｄＶ’）とし、マーカー１９ｅの中心座標を（ｅＵ’,ｅＶ’）とし、マーカー１９ｆの中心座標を（ｆＵ’,ｆＶ’）とし、マーカー１９ｇの中心座標を（ｇＵ’,ｇＶ’）とし、マーカー１９ｈの中心座標を（ｈＵ’,ｈＶ’）とし、マーカー１９ｉの中心座標を（ｉＵ’,ｉＶ’）とする。
【００８５】
次に、制御部５１は、第１画像２０における開口７３Ａ、７３Ｂの中心座標と、第２画像３０における各マーカーの中心座標とに基づいて、第２画像座標系をロボット座標系に変換する座標変換式を求める（ステップＳ１１５）。
【００８６】
本実施形態では、開口７３Ａ、７３Ｂは、マーカー１９ａ〜１９ｉと相対的な位置関係が既知である、すなわち、Ｘ軸方向およびＹ軸方向のズレ量が分かっているため、開口７３Ａ、７３Ｂの中心座標から、ロボット座標系でのマーカー１９ａ〜１９ｉの中心座標を算出することができる。算出したロボット座標系でのマーカー１９ａ〜１９ｉの中心座標と、第２画像座標系でのマーカー１９ａ〜１９ｉの中心座標とを対応付けることにより、キャリブレーションが完了する。
【００８７】
このように、制御装置５は、第１撮像部２Ａが撮像した第１画像２０および第２撮像部３が撮像した第２画像３０に基づいてロボット１を制御するな制御部５１（プロセッサー）を備え、ロボット座標系と第１画像座標系との校正がされていて、ロボット座標系と第２画像座標系との校正がされていない場合、制御部（プロセッサー）５１は、第１撮像部２Ａによって第１マーカーである開口７３Ａ、７３Ｂを撮像し、撮像された第１画像２０に含まれる第１マーカーである開口７３Ａ、７３Ｂのロボット座標系での第１位置を特定し、第２撮像部３によって、開口７３Ａ、７３Ｂに対して相対位置が特定されている第２マーカーであるマーカー１９ａ〜１９ｉを撮像し、撮像された第２画像３０に含まれるマーカー１９ａ〜１９ｉの第２画像座標系での第２位置を特定し、ロボット座標系での第１位置と、第２画像座標系での第２位置とに基づいて、ロボット座標系と第２画像座標系との対応付けを行う。
【００８８】
このような制御装置５によれば、第１画像２０と第２画像３０とに基づいて、ロボット座標系と第２画像座標系とを対応付けることができ、ロボット座標系と第２画像座標系との対応付け（キャリブレーション）を行うことができる。よって、従来行われていたタッチアップを省略することができる。よって、迅速かつ精度よくロボット座標系と第２画像座標系との対応付け（キャリブレーション）を行うことができる。
【００８９】
また、本実施形態では第１撮像部２Ａおよび第２撮像部３が固定撮像部であるため、ロボットアーム１０の駆動に伴う要因を排除し、より精度の高いキャリブレーションが可能となる。
【００９０】
なお、本実施形態では、第１マーカーは、貫通孔の開口で構成されている場合について説明したが、本発明ではこれに限定されず、例えば、凹部や着色部等であってもよい。
【００９１】
＜ロボットシステムの他の構成例＞
本発明におけるロボットシステムは、図１６、図１７に示す形態であってもよい。
図１６、図１７は、ロボットシステムの他の例を示すブロック図である。
【００９２】
図１６には、ロボット１に直接コンピューター６３が接続されたロボットシステム１００Ｂの全体構成図を示す。ロボット１の制御はコンピューター６３に存在するプロセッサーによりメモリーにある指令を読みだして直接実行される。コンピューター６３は、前述した制御装置５の機能を有する。なお、コンピューター６３はロボット１に内蔵されていてもよい。
【００９３】
図１７には、コントローラー６１が内蔵されたロボット１とコンピューター６６とが接続され、コンピューター６６がＬＡＮ（Local Area Network）等のネットワーク６５を介してクラウド６４に接続されているロボットシステム１００Ｃの全体構成図を示す。前述した制御装置５は、例えば、コントローラー６１で構成することができる。ただし、ロボット１の制御はコンピューター６６に存在するプロセッサーによりメモリーにある指令を読みだして実行されても良いし、クラウド６４上に存在するプロセッサーによりコンピューター６６を介してメモリーにある指令を読みだして実行されても良い。したがって、制御装置５は、コントローラー６１およびコンピューター６６で構成されていると捉えてもよいし、コントローラー６１、コンピューター６６およびクラウド６４で構成されていると捉えてもよい。
【００９４】
以上、本発明の制御装置およびロボットシステムを図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物が付加されていてもよい。また、各実施形態を適宜組み合わせてもよい。
【００９５】
また、前述した実施形態では、本発明のロボットシステムが有するロボットとして、いわゆる６軸の垂直多関節ロボットを例示したが、当該ロボットは、例えば、スカラロボット等の他のロボットであってもよい。また、当該ロボットは、単腕ロボットに限定されず、例えば、双腕ロボット等の他のロボットであってもよい。また、ロボットアームが有するアームの数は、前述した実施形態では、６つであるが、１〜５つまたは７つ以上であってもよい。
【符号の説明】
【００９６】
１…ロボット、２…第１撮像部、３…第２撮像部、５…制御装置、１０…ロボットアーム、１１…アーム、１２…アーム、１３…アーム、１４…アーム、１５…アーム、１６…アーム、１７…ハンド、１９ａ…マーカー、１９ｂ…マーカー、１９ｃ…マーカー、１９ｄ…マーカー、１９ｅ…マーカー、１９ｆ…マーカー、１９ｇ…マーカー、１９ｈ…マーカー、１９ｉ…マーカー、２０…第１画像、３０…第２画像、５１…制御部、５２…記憶部、５３…外部入出力部、６１…コントローラー、６２…コンピューター、６３…コンピューター、６４…クラウド、６５…ネットワーク、６６…コンピューター、７０…設置箇所、７１…作業台、７２…載置台、７２Ａ…貫通孔、７２Ｂ…貫通孔、７３Ａ…開口、７３Ｂ…開口、９１…作業対象物、１００…ロボットシステム、１００Ａ…ロボットシステム、１００Ｂ…ロボットシステム、１００Ｃ…ロボットシステム、１１０…基台、１２０…力検出部、１３０…駆動部、１４０…位置センサー、４０１…表示装置、４０２…入力装置、７１０…作業面、７１０Ａ…上面、７１０Ｂ…下面、Ｏ２…光軸、Ｏ６…回動軸、Ｐ６…所定点、Ｒ１…矢印、Ｒ２…矢印
【図１】
2019198930.tif 000003
【図２】
2019198930.tif 000004
【図３】
2019198930.tif 000005
【図４】
2019198930.tif 000006
【図５】
2019198930.tif 000007
【図６】
2019198930.tif 000008
【図７】
2019198930.tif 000009
【図８】
2019198930.tif 000010
【図９】
2019198930.tif 000011
【図１０】
2019198930.tif 000012
【図１１】
2019198930.tif 000013
【図１２】
2019198930.tif 000014
【図１３】
2019198930.tif 000015
【図１４】
2019198930.tif 000016
【図１５】
2019198930.tif 000017
【図１６】
2019198930.tif 000018
【図１７】
2019198930.tif 000019