(57)【要約】【課題】作業内容に応じた動作を実現することができるロボットシステムを提供すること。【解決手段】ロボットシステムは、作業を行うロボットと、作業の要素を示す複数の情報のそれぞれが対応付けられた複数のマーカーと、複数のマーカーを含む範囲を撮像する撮像部と、ロボットを制御する制御部と、を含み、制御部は、撮像部により撮像画像を撮像した後に、複数のマーカーに対応付けられた複数の要素を示す情報を取得し、ロボットに作業を行わせる。【選択図】図４
2015223634.tif 000002
【特許請求の範囲】
【請求項１】
作業を行うロボットと、
前記作業の要素を示す複数の情報のそれぞれが対応付けられた複数のマーカーと、
前記複数の前記マーカーを含む範囲を撮像する撮像部と、
前記ロボットを制御する制御部と、
を含み、
前記制御部は、前記撮像部により撮像画像を撮像した後に、前記複数の前記マーカーに対応付けられた前記複数の前記要素を示す情報を取得し、前記ロボットに前記作業を行わせる、
ロボットシステム。
【請求項２】
請求項１に記載のロボットシステムであって、
前記複数の前記マーカーは、所定のルールに基づいた順に設けられており、
前記制御部は、前記所定のルールに基づいた順に前記複数の前記マーカーに対応付けられた前記複数の前記要素を示す情報を取得する、
ロボットシステム。
【請求項３】
請求項１又は２に記載のロボットシステムであって、
前記作業は、少なくとも２つの作業を含み、
前記複数の前記マーカーは、前記作業を識別するマーカーを含み、
前記作業を識別するマーカーのそれぞれには、前記複数の前記マーカーに含まれたマーカーであって、前記作業を識別するマーカーとは異なるマーカーが対応付けられ、
前記制御部は、前記作業を識別するマーカーが示す作業毎に、前記作業を識別するマーカーに対応付けられたマーカーに対応付けられた前記要素を示す情報を取得する、
ロボットシステム。
【請求項４】
請求項１から３のうちいずれか一項に記載のロボットシステムであって、
前記要素を示す情報は、前記作業を実行するための複数の順序付けられた動作のそれぞれを示す情報を含む、
ロボットシステム。
【請求項５】
請求項１から４のうちいずれか一項に記載のロボットシステムであって、
前記要素を示す情報は、前記作業における作業対象の位置を示す情報を含む、
ロボットシステム。
【請求項６】
作業を行うハンドと、
前記ハンドを制御する制御部と、
を含み、
前記制御部は、前記作業の要素を示す複数の情報のそれぞれが対応付けられた複数のマーカーを含む範囲が撮像された撮像画像を撮像した後に、前記複数の前記マーカーに対応付けられた複数の前記要素を示す情報を取得し、前記ハンドに前記作業を行わせる、
ロボット。
【請求項７】
作業を行うロボットを制御する制御装置であって、
前記作業の要素を示す複数の情報のそれぞれが対応付けられた複数のマーカーを含む範囲が撮像された撮像画像を撮像した後に、前記複数の前記マーカーに対応付けられた複数の前記要素を示す情報を取得し、前記ロボットに前記作業を行わせる、
制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボットシステム、ロボット、及び制御装置に関する。
【背景技術】
【０００２】
撮像部により撮像された撮像画像に基づいて、ロボットに所定の作業を行わせる技術が研究・開発されている。
【０００３】
これに関連し、ロボットによる作業対象の近傍に貼付されたマーカーであって、作業対象へ所定の作業を行うためのロボットの動作を示す情報と対応付けられたマーカーを撮像し、撮像された撮像画像からワークの位置姿勢とマーカーを検出し、検出されたマーカーに対応付けられた情報とワークの位置姿勢とに基づいて、ロボットに所定の作業を行わせるロボット制御方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２２８７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の方法では、ワークや作業内容が変わるたびに、そのワークや作業内容に応じたプログラムを新たに生成する必要があり、多品種少量生産のようなワークや作業内容を頻繁に変更する状況が考慮されていなかった。
【０００６】
そこで本発明は、上記従来技術の問題に鑑みてなされたものであり、作業内容に応じた動作を実現することができるロボットシステム、ロボット、及び制御装置を提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様は、作業を行うロボットと、前記作業の要素を示す複数の情報のそれぞれが対応付けられた複数のマーカーと、前記複数の前記マーカーを含む範囲を撮像する撮像部と、前記ロボットを制御する制御部と、を含み、前記制御部は、前記撮像部により撮像画像を撮像した後に、前記複数の前記マーカーに対応付けられた前記複数の前記要素を示す情報を取得し、前記ロボットに前記作業を行わせる、ロボットシステムである。
この構成により、ロボットシステムは、撮像部により撮像画像を撮像した後に、複数のマーカーに対応付けられた作業の要素を示す複数の情報を取得し、ロボットに作業を行わせる。これにより、ロボットシステムは、作業内容に応じた動作を実現することができる。
【０００８】
また、本発明の他の態様は、ロボットシステムにおいて、前記複数の前記マーカーは、所定のルールに基づいた順に設けられており、前記制御部は、前記所定のルールに基づいた順に前記複数の前記マーカーに対応付けられた前記複数の前記要素を示す情報を取得する、構成が用いられてもよい。
この構成により、ロボットシステムは、所定のルールに基づいた順に複数のマーカーに対応付けられた複数の要素を示す情報を取得する。これにより、ロボットシステムは、所定のルールに基づいた順にロボットを動作させることで、作業内容に応じた動作を実現することができる。
【０００９】
また、本発明の他の態様は、ロボットシステムにおいて、前記作業は、少なくとも２つの作業を含み、前記複数の前記マーカーは、前記作業を識別するマーカーを含み、前記作業を識別するマーカーのそれぞれには、前記複数の前記マーカーに含まれたマーカーであって、前記作業を識別するマーカーとは異なるマーカーが対応付けられ、前記制御部は、前記作業を識別するマーカーが示す作業毎に、前記作業を識別するマーカーに対応付けられたマーカーに対応付けられた前記要素を示す情報を取得する、構成が用いられてもよい。
この構成により、ロボットシステムは、作業を識別するマーカーが示す作業毎に、作業を識別するマーカーに対応付けられたマーカーに対応付けられた要素を示す情報を取得する。これにより、ロボットシステムは、異なる作業に対応付けられたマーカーを誤検出してしまうことを抑制することができる。
【００１０】
また、本発明の他の態様は、ロボットシステムにおいて、前記要素を示す情報は、前記作業を実行するための複数の順序付けられた動作のそれぞれを示す情報を含む、構成が用いられてもよい。
この構成により、ロボットシステムは、複数のマーカーに対応付けられた複数の動作を示す情報を取得する。これにより、ロボットシステムは、作業毎に必要な動作を示すマーカーを用いてロボットを制御することができる。
【００１１】
また、本発明の他の態様は、ロボットシステムにおいて、前記要素を示す情報は、前記作業における作業対象の位置を示す情報を含む、構成が用いられてもよい。
この構成により、ロボットシステムは、複数のマーカーに対応付けられた作業対象の位置を示す情報を取得する。これにより、ロボットシステムは、作業対象の位置を示すマーカーを用いてロボットに作業対象の位置を教示することができる。
【００１２】
また、本発明の他の態様は、作業を行うハンドと、前記ハンドを制御する制御部と、を含み、前記制御部は、前記作業の要素を示す複数の情報のそれぞれが対応付けられた複数のマーカーを含む範囲が撮像された撮像画像を撮像した後に、前記複数の前記マーカーに対応付けられた複数の前記要素を示す情報を取得し、前記ハンドに前記作業を行わせる、ロボットである。
この構成により、ロボットは、作業の要素を示す複数の情報のそれぞれが対応付けられた複数のマーカーを含む範囲が撮像された撮像画像を撮像した後に、複数のマーカーに対応付けられた複数の要素を示す情報を取得し、ハンドに作業を行わせる。これにより、ロボットは、作業内容に応じた動作を実現することができる。
【００１３】
また、本発明の他の態様は、作業を行うロボットを動作させる制御装置であって、前記作業の要素を示す複数の情報のそれぞれが対応付けられた複数のマーカーを含む範囲が撮像された撮像画像を撮像した後に、前記複数の前記マーカーに対応付けられた複数の前記要素を示す情報を取得し、前記ロボットに前記作業を行わせる、制御装置である。
この構成により、制御装置は、作業の要素を示す複数の情報のそれぞれが対応付けられた複数のマーカーを含む範囲が撮像された撮像画像を撮像した後に、複数のマーカーに対応付けられた複数の要素を示す情報を取得し、ロボットに作業を行わせる。これにより、制御装置は、作業内容に応じた動作を実現することができる。
【００１４】
以上により、ロボットシステム、ロボット、及び制御装置は、撮像画像を撮像した後に、複数のマーカーに対応付けられた複数の要素を示す情報を取得して作業を行う。これにより、ロボットシステム、ロボット、及び制御装置は、作業内容に応じた動作を実現することができる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態に係るロボットシステム１が稼働する様子の一例を模式的に示す図である。
【図２】第１実施形態に係るロボットシステム１の構成の一例を示す図である。
【図３】制御装置３０のハードウェア構成の一例を示す図である。
【図４】制御装置３０の機能構成の一例を示す図である。
【図５】マーカー検出部４２により検出されるマーカーの一例を示す図である。
【図６】第１実施形態に係るロボットシステム１が複数のマーカー群を検出することで、複数の作業を順次行う様子の一例を示す図である。
【図７】図６に示した８つのマーカー群を読み取ったロボットシステム１が行う作業の流れの一例を示す図である。
【図８】制御部４０がロボット２０を制御する処理の流れの一例を示すフローチャートである。
【図９】マーカーボード毎に貼付されたマーカー群を例示する図である。
【図１０】シーケンスボードに貼付された作業マーカーを例示する図である。
【図１１】第４実施形態に係るシーケンスボードと、シーケンスボードに貼付された複数の作業マーカーの一例を示す図である。
【図１２】第４実施形態に係るシーケンスボードに設けられたヘッダ領域に貼付されたヘッダマーカーの一例を示す図である。
【図１３】ユーザーが第３実施形態、第４実施形態に係るロボットシステム１を利用する際にマーカーを運用する処理の流れの一例を示すフローチャートである。
【図１４】ロボットシステム１の制御装置３０に対して、第３実施形態又は第４実施形態におけるシーケンスボード上の作業マーカーに対応付けられた情報を教示する処理の流れの一例を示すフローチャートである。
【図１５】作業マーカーと教示用マーカーと動作ライブラリーの関係の一例を示す図である。
【発明を実施するための形態】
【００１６】
＜概要＞
まず、以下に示す実施形態に係るロボットシステム１の概要を説明し、その後により詳細な実施形態を説明する。図１は、第１実施形態に係るロボットシステム１が稼働する様子の一例を模式的に示す図である。ロボットシステム１は、撮像部１０により撮像された撮像画像に基づいて複数のマーカーを検出する。図１において、複数のマーカーが貼付されている領域を点線ＭＧで示した。以下では、説明の便宜上、この点線ＭＧで示される領域を、領域ＭＧと称して説明する。図１において、複数のマーカーは、領域ＭＧに含まれる９個のマーカーである。
【００１７】
そして、ロボットシステム１のロボット２０は、検出された複数のマーカーに基づいて、検出された複数のマーカーが表す作業を行う。従って、ユーザーは、複数のマーカーの一部又は全部を他のマーカーと交換することによって異なる作業をロボット２０に行わせることができる。以下では、説明の便宜上、複数のマーカーをマーカー群と称して説明する。
【００１８】
マーカー群に含まれるマーカーには、ユーザーがロボット２０に行わせたい所望の作業を識別するための作業ＩＤを示す情報、ロボット２０が作業を行うための領域（以下、作業領域と称する）を示す情報、ロボット２０が行う作業の要素（以下、作業要素と称する）を示す情報のうちのいずれかが対応付けられている。以下では、これらの情報をまとめてマーカー情報と称する。ここで、作業ＩＤとは、ロボット２０が行う作業が複数ある場合、それら複数の作業を識別し、且つロボット２０がそれらの作業を行う順を示すＩＤである。作業の要素とは、例えば、作業を実行するための複数の順序付けられた動作のそれぞれ（以下、作業動作と称する）や、作業においてロボット２０によって扱われる作業対象（図１において、物体Ｐ）の位置等であるが、これらの他の何らかの作業を実行するために必要なものであってもよい。
【００１９】
まとめると、１つのマーカー群によって１つの作業が表され、１つのマーカー群に含まれる個々のマーカーによって、その作業に必要な個々の情報（例えば、作業ＩＤ、作業領域、作業要素等）が表される。従って、ロボットシステム１は、複数のマーカー群を検出し、検出された複数のマーカー群が表す複数の作業を、各マーカー群に含まれる個々のマーカーに基づいて作業ＩＤが示す順にロボット２０に行わせる。これにより、ロボットシステム１は、ユーザーが複数のマーカーの一部又は全部を他のマーカーと交換することによって、容易に交換前とは異なる作業をロボット２０に行わせることができる。
【００２０】
以下では、説明の便宜上、作業ＩＤを示す情報が対応付けられたマーカーをＩＤマーカーと称し、作業領域を示す情報が対応付けられたマーカーを領域マーカーと称し、作業要素を示す情報が対応付けられたマーカーを要素マーカーと称して説明する。また、要素マーカーのうち、作業動作を示す情報が対応付けられたマーカーを動作マーカーと称し、作業対象の位置を示す情報が対応付けられたマーカーを対象マーカーと称して説明する。
【００２１】
また、以下では、説明の便宜上、ＩＤマーカーに対応付けられた作業ＩＤをＩＤマーカーが示すＩＤと称し、領域マーカーに対応付けられた作業領域を領域マーカーが示す領域と称し、要素マーカーに対応付けられた作業要素を示す情報を要素マーカーが示す要素情報と称し、動作マーカーに対応付けられた作業動作を示す情報を動作マーカーが示す動作情報と称し、対象マーカーに対応付けられた作業対象の位置を示す情報が表す位置を対象マーカーが示す位置と称して説明する。
【００２２】
作業対象とは、ロボット２０の把持部ＨＮＤ１と把持部ＨＮＤ２のうち一方又は両方によって把持可能な物体であり、例えば、複数の部品を組み付けて完成又は半完成となる工業製品の部品等である。作業対象の形状は、ロボット２０の把持部ＨＮＤ１と把持部ＨＮＤ２のうち一方又は両方によって把持可能であれば任意の形状であってよい。図１において、物体Ｐを、作業対象Ｐと称する。
【００２３】
図１には、説明を簡略化するため、１つのマーカー群のみが領域ＭＧに貼付されている状態を示す。図１に示したマーカー群には、ＩＤマーカーＷ１と、領域マーカーＡｒ１、Ａｒ２と、動作マーカーＰｋ、Ｓと、対象マーカーＡｗ、Ａｗ１、Ａｗ２、Ｃの９個のマーカーが含まれる。
【００２４】
ロボットシステム１は、撮像画像から、まずＩＤマーカーＷ１を検出する。その後、ロボットシステム１は、領域マーカーを検出し、検出された領域マーカーに基づいて作業領域を検出する。図１において、領域マーカーは、領域マーカーＡｒ１及び領域マーカーＡｒ２である。
【００２５】
領域マーカーＡｒ１及び領域マーカーＡｒ２の場合、これらの領域マーカーの位置によって、長方形の作業領域Ａにおける対角の頂点を示す。領域マーカーは、領域マーカーＡｒ１及び領域マーカーＡｒ２のように、領域マーカーの位置によって長方形の作業領域における対角の頂点を示す構成に代えて、例えば、円形の作業領域の中心と半径をそれぞれ領域マーカーの位置によって示す構成であってもよく、複数の領域マーカーの位置によって作業領域を表す他の何らかの構成であってもよい。なお、領域マーカーＡｒ１及びＡｒ２のように、対となるマーカーが存在する領域マーカーには、互いが対となるマーカーであることを示す情報が対応付けられているものとする。
【００２６】
ロボットシステム１は、次に、ＩＤマーカーＷ１に隣接する要素マーカーを検出し、ＩＤマーカーＷ１に近い方から遠い方に向かって順に要素マーカーを検出する。そして、ロボットシステム１は、ＩＤマーカーＷ１に近い方から遠い方に向かって順に要素マーカーに対応付けられた情報を読み込む。図１において、ロボットシステム１は、ＩＤマーカーＷ１に隣接した動作マーカーＰｋを検出し、その後、対象マーカーＡｗ、動作マーカーＳ、対象マーカーＣの順にマーカーを検出する。
【００２７】
ここで、ロボットシステム１は、要素マーカーを順に検出する際、動作マーカーの後に対象マーカーが検出された場合、先に検出された動作マーカーが示す動作情報と、後に検出された対象マーカーが示す位置とに基づいて、作業対象に対してロボット２０に作業動作を行わせる。このようなマーカーからロボットシステム１が情報を読み込む順を示すルールは、予めロボットシステム１に登録されているとするが、ユーザーが設定できるとしてもよい。以下では、このルールを、マーカー読取ルールと称して説明する。ロボットシステム１は、上述のマーカー読取ルールによってマーカーから情報を読み取る構成に代えて、他の何らかのルールに従ってマーカーから情報を読み取り、読み取られた情報に基づいて作業対象に対してロボット２０に作業動作を行わせる構成であってもよい。なお、マーカー読取ルールは、所定のルールの一例である。
【００２８】
また、任意のＩＤマーカーＸに対して複数の要素マーカーが途切れず連続的に繋がっている場合、ロボットシステム１は、それらの複数の要素マーカーを、ＩＤマーカーＸに属する（対応付けられた）マーカーであると判定する。また、ロボットシステム１は、ＩＤマーカーＸに隣接した領域マーカーが示す作業領域内に含まれる要素マーカーをＩＤマーカーＸに属する要素マーカーであると判定する。なお、ロボットシステム１がＩＤマーカーＸに属する要素マーカーを判定するルールは、上記のマーカー読取ルールに含まれるとする。
【００２９】
ロボットシステム１は、動作マーカーＰｋ、対象マーカーＡｗ、動作マーカーＳ、対象マーカーＣの順に要素マーカーを検出しているため、動作マーカーＰｋが示す動作と、対象マーカーＡｗが示す位置（作業対象Ｐが配置されている位置）に基づいて、作業対象Ｐに対して動作マーカーＰｋが示す動作を行う。そしてその後、ロボットシステム１は、動作マーカーＳが示す動作と、対象マーカーＣが示す位置（この一例において、把持している作業対象Ｐを配置する位置）に基づいて、作業対象Ｐに対して動作マーカーＳが示す動作を行う。これら一連の動作が、ＩＤマーカーＷ１が示す作業である。
【００３０】
動作マーカーＰｋは、動作マーカーＰｋに隣接する対象マーカーが示す位置に配置されている作業対象を把持する動作を示す。また、対象マーカーＡｗは、対象マーカーＡｗ１に設けられた矢印の延長線と、対象マーカーＡｗ２に設けられた矢印の延長線とが交差する位置によって、作業対象が配置されている位置又は作業対象が配置される位置を示す。動作マーカーＳは、動作マーカーＳに隣接する対象マーカーが示す位置に、把持している作業対象を配置する動作を示す。対象マーカーＣは、作業対象が配置されている位置又は作業対象を配置する位置として領域マーカーが示す作業領域の中心位置を示す。
【００３１】
従って、ロボットシステム１は、領域マーカーＡｒ１及び領域マーカーＡｒ２によって示される作業領域Ａ内において、把持部ＨＮＤ１と把持部ＨＮＤ２のうちいずれか一方又は両方により対象マーカーＡｗ１及び対象マーカーＡｗ２によって示される位置に配置されている作業対象Ｐを把持し、その後、把持された作業対象Ｐを作業領域Ａの中心位置に配置するという作業を、ＩＤマーカーＷ１に対応付けられた作業ＩＤが示す作業としてロボット２０に行わせる。なお、マーカー群に含まれる各マーカーは、例えば、床やテーブル等の台上、壁面、物体の表面等、撮像部１０により撮像可能な位置であれば如何なる位置に貼付されてもよい。
【００３２】
このように、ロボットシステム１は、撮像部１０により撮像画像を撮像した後に、前記の撮像画像により複数のマーカー群を検出し、検出された複数のマーカー群が表す複数の作業を、各マーカー群に含まれる個々のマーカーに基づいて作業ＩＤが示す順にロボット２０に行わせる。これにより、ロボットシステム１は、ユーザーが複数のマーカーの一部又は全部を他のマーカーと交換することによって、容易に交換前とは異なる作業をロボット２０に行わせることができる。その結果、ロボットシステム１は、多品種少量生産のように作業内容や作業対象が短期間に変化するような場合においても、それぞれの作業内容に適した動作を実現することができる。
【００３３】
＜第１実施形態＞
以下、本発明の第１実施形態について、図面を参照して説明する。図２は、第１実施形態に係るロボットシステム１の構成の一例を示す図である。
第１実施形態に係るロボットシステム１は、例えば、撮像部１０と、ロボット２０と、制御装置３０とを具備する。
【００３４】
撮像部１０は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。また、撮像部１０は、２台のカメラによって構成されるステレオカメラであるが、例えば、３台以上のカメラによって構成されてもよく、１台のカメラにより二次元画像を撮像する構成であってもよい。
【００３５】
撮像部１０は、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。なお、撮像部１０と制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。図１において、撮像部１０は、ロボット２０と統合された構成であるが、これに代えて、ロボット２０とは別体として設置される構成であってもよい。なお、撮像部１０は、ロボット２０と別体として設置される場合、マーカー群が含まれる範囲を撮像可能な位置に設置されるとする。
【００３６】
ロボット２０は、例えば、一方の腕に把持部ＨＮＤ１と、マニピュレーター部ＭＮＰ１と、図示しない複数のアクチュエーターを備え、他方の腕に把持部ＨＮＤ２と、マニピュレーター部ＭＮＰ２と、図示しない複数のアクチュエーターを備え、腰部に回転胴体部２１を備える双腕ロボットである。
【００３７】
ロボット２０の各腕は、６軸垂直多関節型となっており、一方の腕が支持台とマニピュレーター部ＭＮＰ１と把持部ＨＮＤ１とがアクチュエーターによる連携した動作によって６軸の自由度の動作を行うことができ、他方の腕が支持台とマニピュレーター部ＭＮＰ２と把持部ＨＮＤ２とがアクチュエーターによる連携した動作によって６軸の自由度の動作を行うことができる。なお、ロボット２０の各腕は、５自由度（５軸）以下で動作するものであってもよいし、７自由度（７軸）以上で動作するものであってもよい。把持部ＨＮＤ１、把持部ＨＮＤ２は、それぞれハンドの一例である。以下では、把持部ＨＮＤ１と把持部ＨＮＤ２を区別する必要が無い限り、まとめて把持部ＨＮＤと称して説明する。
回転胴体部２１は、図示しないアクチュエーターを備えており、撮像部１０及びロボット２０の両腕を含むロボット２０の上半身を、下半身に対して回転させる。
【００３８】
ロボット２０は、例えばケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、ロボット２５と制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続されてもよい。なお、ロボット２０は、図２に示したようにロボット２０がロボット２０の内部に搭載された制御装置３０によって制御される構成とするが、この構成に代えて、制御装置３０がロボット２０の外部に設置されている構成であってもよい。ロボット２０は、マーカー群に基づいた制御信号を制御装置３０から取得し、取得した制御信号に基づいてマーカー群に基づいた作業を行う。なお、ロボット２０は、上述した双腕ロボットに代えて、単腕ロボットでもよい。単腕ロボットとは、腕が１本のロボットのことである。
【００３９】
制御装置３０は、ロボット２０がマーカー群に基づいた作業を行うように制御する。より具体的には、制御装置３０は、撮像部１０により撮像された撮像画像に基づいてマーカー群を検出し、検出されたマーカー群に基づいて制御信号を生成する。そして、制御装置３０は、生成された制御信号をロボット２０に出力する。
【００４０】
以下、図３を参照して、制御装置３０のハードウェア構成について説明する。図３は、制御装置３０のハードウェア構成の一例を示す図である。制御装置３０は、例えば、ＣＰＵ（Central  Processing  Unit）３１と、記憶部３２と、入力受付部３３と、通信部３４を備え、通信部３４を介して撮像部１０、ロボット２０等と通信を行う。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
【００４１】
記憶部３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）などを含み、制御装置３０が処理する各種情報や画像、プログラムを格納する。なお、記憶部３２は、制御装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置でもよい。
【００４２】
入力受付部３３は、例えば、キーボードやマウス、タッチパッド、その他の入力装置である。なお、入力受付部３３は、表示部として機能してもよく、さらに、タッチパネルとして構成されてもよい。
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
【００４３】
以下、図４を参照して、制御装置３０の機能構成について説明する。図４は、制御装置３０の機能構成の一例を示す図である。制御装置３０は、記憶部３２と、入力受付部３３と、画像取得部３５と、制御部４０を備える。これらの機能部のうち一部又は全部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することで実現される。また、これらの機能部のうち一部または全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００４４】
画像取得部３５は、撮像部１０により撮像された撮像画像を取得する。画像取得部３５は、取得した撮像画像を制御部４０に出力する。
制御部４０は、マーカー検出部４２と、マーカー情報読取部４４と、ライブラリー読込部４６と、ロボット制御部４８を備える。
【００４５】
マーカー検出部４２は、画像取得部３５から取得された撮像画像に基づいてマーカー群に含まれる各マーカーを検出する。
マーカー情報読取部４４は、マーカー検出部４２により検出されたマーカーから、上述したマーカー読取ルールに基づく順に、各マーカーに対応付けられた各種の情報を読み取る。
ライブラリー読込部４６は、記憶部３２に記憶された情報であって、ロボット２０の作業動作を示す情報と動作ライブラリーを対応付ける対応情報を参照し、マーカー情報読取部４４により読み取られた作業動作を示す情報に対応付けられた動作ライブラリー（ロボット２０に所定の動作を行わせる制御信号を生成するためのプログラム等）を、記憶部３２から読み込む。なお、対応情報は、予めキャリブレーション等によって記憶部３２に記憶（教示）されているものとする。
【００４６】
ロボット制御部４８は、ライブラリー読込部４６により読み込まれた動作ライブラリーと、マーカー情報読取部４４により読み取られた作業対象の位置を示す情報とに基づいて、ロボット２０を制御するための制御信号を生成する。そして、ロボット制御部４８は、生成された制御信号をロボット２０に出力して、マーカー群が表す作業を行わせる。
【００４７】
以下、図５を参照して、マーカー検出部４２により検出されるマーカーについて説明する。図５は、マーカー検出部４２により検出されるマーカーの一例を示す図である。マーカーＭには、２つの領域が設けられており、一方がマーカーＭの貼付された位置を示すためのマークが設けられた領域ＰＲ、他方が上述したマーカー情報をロボットシステム１に読み取らせるための二次元コードＢが設けられた領域ＣＲである。領域ＰＲは、さらに２つの領域が設けられており、一方が緑色の領域Ｇ、他方が赤色の領域Ｒである。領域Ｇと領域Ｒは隣り合うように設けられている。
【００４８】
マーカーＭの貼付された位置は、緑色の領域Ｇと赤色の領域Ｒの第１境界線と、緑色の領域Ｇ（又は赤色の領域Ｒ）と領域ＣＲの第２境界線が交わる点ＰＰによって表される。ロボットシステム１は、撮像部１０によりマーカーＭが撮像された撮像画像からマーカーＭを検出することで、マーカーＭの位置を読み取ることができる。また、領域ＣＲには、前述したマーカー情報を表す二次元コードＢが設けられている。各マーカー情報は、このように設けられた二次元コードＢによってマーカーのそれぞれに対応付けられる。なお、本実施形態において、マーカーＭに設けられた作業動作を示す情報を表す二次元コードＢは、記憶部３２に記憶された動作ライブラリーを示すＩＤを二次元コード化したものであるとするが、これに代えて、動作ライブラリーを二次元コード化したものであってもよい。
【００４９】
以下、図６を参照して、第１実施形態に係るロボットシステム１が複数のマーカー群を検出することで、複数の作業を順次行う場合の概要を説明する。図６は、第１実施形態に係るロボットシステム１が複数のマーカー群を検出することで、複数の作業を順次行う様子の一例を示す図である。ロボットシステム１は、撮像部１０により撮像された撮像画像に基づいて複数のマーカー群を検出する。なお、図６において、撮像部１０は、図６に示したすべてのマーカーを撮像可能である構成であるとするが、これに代えて、ロボット２０が前述した回転胴体部２１によって上半身を回転させることで、撮像部１０が複数のマーカー群の全体を撮像できる構成であってもよい。この場合、ロボットシステム１は、１枚の撮像画像（例えば、パノラマ画像）からマーカー群の全体を撮像する構成であってもよく、複数の撮像画像からマーカー群の全体を撮像する構成であってもよい。
【００５０】
領域Ｒｇは、ロボット２０の把持部ＨＮＤが物体を把持することが可能な範囲を示す。領域Ｒｇには、８個のＩＤマーカーＷ１〜Ｗ８が貼付されている。また、領域Ｒｇには、ＩＤマーカーＷ１〜Ｗ８のそれぞれに対応付けられた領域マーカー及び要素マーカーが貼付されている。まず、領域Ｒｇに貼付されている各マーカーについて説明する。なお、図１において説明したマーカーに関しては、説明を省略する。
【００５１】
ＩＤマーカーＷ１〜Ｗ８が示すＩＤは、上述したように、ロボット２０が行う作業の順を示す。そのため、ロボットシステム１は、撮像部１０によりマーカー群を撮像し、撮像された撮像画像に基づいてマーカー群に含まれる各マーカーを検出する。そして、ロボットシステム１は、各マーカーからマーカー情報を読み取り、読み取られたマーカー情報に基づいて、ＩＤマーカーＷ１が示すＩＤにより識別される作業から、マーカーＷ２、Ｗ３、Ｗ４、Ｗ５、Ｗ６、Ｗ７、Ｗ８のそれぞれが示すＩＤにより識別される作業まで順にロボット２０に行わせる。
【００５２】
以下では、説明の便宜上、ＩＤマーカーＷ１〜Ｗ８のそれぞれが示すＩＤにより識別される作業を、作業Ｗ１〜Ｗ８と称して説明する。ＩＤマーカーＷ１には、領域マーカーＡｒ１、Ａｒ２と、動作マーカーＰｋと、対象マーカーＡｗ、Ａｗ１、Ａｗ２が対応付けられている。ＩＤマーカーＷ２には、図１において説明した領域マーカーＡｒ１、Ａｒ２と、動作マーカーＳと、対象マーカーＣが対応付けられている。ＩＤマーカーＷ３には、領域マーカーＡｒ１、Ａｒ２と、動作マーカーＰｋと、対象マーカーＰｌと、対象マーカーＡｗ１、Ａｗ２が対応付けられている。
【００５３】
対象マーカーＰｌは、動作マーカーＰｋに隣接するように貼付することで、ロボット２０に対して、対象マーカーＡｗ１及び対象マーカーＡｗ２によって示される位置から格子状に並べられた作業対象Ｗｋ２のうち、ロボット２０によって除材されずに残っている作業対象Ｗｋ２を左上から所定の順にロボット２０が把持できるように、格子状に並べられた作業対象Ｗｋ２のそれぞれの位置を示す対象マーカーである。本実施形態において所定の順とは、左上から右側に向かう順であり、一番右端に至った後は、再びその下段の左端から右側に向かう順であるとするが、これに代えて、他の何らかの順であってもよい。以下では、区別する必要が無い限り、複数の作業対象Ｗｋ２の中の１つの作業対象を、作業対象Ｗｋ２と称して説明する。
【００５４】
ＩＤマーカーＷ４には、動作マーカーＳと、対象マーカーＣが対応付けられている。また、ＩＤマーカーＷ４は、領域マーカーＡｒ１に隣接したＩＤマーカーＷ２に隣接させることで、作業Ｗ４の作業領域を作業Ｗ２の作業領域と同じ領域に設定することができるとする。なお、ＩＤマーカーＷ５、ＩＤマーカーＷ６も同様であるとする。ＩＤマーカーＷ５には、動作マーカーＰｒが対応付けられている。動作マーカーＰｒは、ユーザーが任意の動作をロボット２０にさせるオリジナルの動作ライブラリーを対応付けることが可能な動作マーカーである。
【００５５】
ＩＤマーカーＷ６は、動作マーカーＰｒ２と、対象マーカーＣが対応付けられている。動作マーカーＰｒ２は、動作マーカーＰｒと同様、ユーザーが任意の動作をロボット２０にさせるオリジナルの動作ライブラリーを対応付けることが可能な動作マーカーであって、動作マーカーＰｒとは異なる動作ライブラリーが対応付けられた動作マーカーである。
【００５６】
ＩＤマーカーＷ７は、位置マーカーＰｔが対応付けられている。位置マーカーＰｔは、対象マーカーの一種であり、他の何らかの動作マーカーが示す動作においてユーザーが指定したい所望の位置を示すマーカーである。例えば、位置マーカーＰｔは、作業対象や把持部ＨＮＤをユーザーが通過（移動）させたい所望の位置を示す。
【００５７】
ＩＤマーカーＷ８は、領域マーカーＣｒ１、Ｃｒ２が対応付けられている。領域マーカーＣｒ１及び領域マーカーＣｒ２は、それぞれのマーカーに設けられた矢印の延長線が交差する点を中心とし、その中心からそれぞれのマーカーの位置までの距離を長径又は短径とする楕円形状の領域（長径と短径が同じ長さの場合、円形状の領域）を作業領域として示す領域マーカーである。
【００５８】
以下では、前述した動作マーカーＰｒには、作業Ｗ４において作業Ｗ４に対応付けられた作業領域の中心位置に配置した作業対象Ｗｋ２を把持して、床面から１０センチメートルの高さにおいて、前記の作業領域の中央を中心として半径５センチメートルの円軌道を作業対象Ｗｋ２が回転するように移動させる動作を示す動作ライブラリーが対応付けられているとして説明する。
【００５９】
また、以下では、前述した動作マーカーＰｒ２には、作業Ｗ５においてロボット２０に把持された作業対象Ｗｋ２を、ＩＤマーカーＷ７に対応付けられた位置マーカーＰｔが示す位置を通過し、ＩＤマーカーＷ８に対応付けられた領域マーカーＣｒ１及び領域マーカーＣｒ２が示す作業領域内の中心に配置する動作を示す動作ライブラリーが対応付けられているとして説明する。
【００６０】
ここで図７を参照して、図６に示したマーカー群を読み取ったロボットシステム１が行う作業の流れについて説明する。図７は、図６に示した８つのマーカー群を読み取ったロボットシステム１が行う作業の流れの一例を示す図である。ロボットシステム１は、撮像部１０により撮像された撮像画像に基づいて、マーカー群を検出する。そして、ロボットシステム１は、検出されたマーカー群の中からＩＤマーカーＷ１〜Ｗ８を検出し、ＩＤマーカーＷ１〜Ｗ８が示すＩＤに基づく順に作業Ｗ１〜Ｗ８を行う。
【００６１】
ロボットシステム１は、まず、作業Ｗ１において、作業Ｗ１における作業領域内の作業対象Ｗｋをロボット２０に把持させる。次に、ロボットシステム１は、作業Ｗ２において、作業Ｗ２における作業領域内の中心に作業Ｗ１で把持した作業対象Ｗｋ１をロボット２０に配置させる。図７に示した経路Ｍｖ１は、作業Ｗ１から作業Ｗ２までにロボット２０に把持された作業対象Ｗｋ１が移動する経路を示す。次に、ロボットシステム１は、作業Ｗ３において、作業Ｗ３における作業領域内に格子状に配置された複数の作業対象Ｗｋ２のうち、ロボット２０によって除材されずに残っている作業対象Ｗｋ２をロボット２０に把持させる。図７に示した経路Ｍｖ２は、作業Ｗ２から作業Ｗ３までにロボット２０の把持部ＨＮＤが、作業Ｗ３に対応付けられた作業領域まで移動する経路を示す。
【００６２】
次に、ロボットシステム１は、作業Ｗ４において、作業Ｗ４における作業領域内の中心に作業Ｗ３で把持した作業対象Ｗｋ２をロボット２０に配置させる。次に、ロボットシステム１は、作業Ｗ５において、作業Ｗ５に対応付けられた作業領域の中心位置に作業Ｗ４で配置された作業対象Ｗｋ２をロボット２０に把持させ、把持された作業対象Ｗｋ２が前述した円軌道を回転するように移動させる動作をロボット２０に行わせる。図７に示した経路Ｍｖ３は、ロボット２０が作業Ｗ５において作業対象Ｗｋ２を回転させた経路を示す。
【００６３】
次に、ロボットシステム１は、作業Ｗ６において、作業Ｗ５で把持した作業対象Ｗｋ２を作業Ｗ７に対応付けられた位置を通過させ、作業Ｗ８に対応付けられた作業領域の中央に配置するようにロボット２０を動作させる。このように、ロボットシステム１は、複数の作業を、ＩＤマーカーとそれらに対応付けられた各マーカーを検出することで、ロボット２０に順に行わせることができる。
【００６４】
以下、図８を参照して、制御部４０がロボット２０を制御する処理の流れについて説明する。図８は、制御部４０がロボット２０を制御する処理の流れの一例を示すフローチャートである。まず、撮像部１０は、撮像画像を撮像する（ステップＳ９０）。次に、画像取得部３５は、撮像部１０により撮像された撮像画像を取得する（ステップＳ１００）。次に、マーカー検出部４２は、画像取得部３５により取得された撮像画像に基づいて、ＩＤマーカーを検出する（ステップＳ１１０）。
【００６５】
次に、制御部４０の各機能部は、マーカー検出部４２により検出されたＩＤマーカー毎に、ステップＳ１３０からステップＳ２１０までの処理を繰り返し行う（ステップＳ１２０）。この際、制御部４０の各機能部は、ＩＤマーカーが示すＩＤに基づいて、作業を行う順に前記の処理を繰り返し行う。
【００６６】
マーカー検出部４２は、選択されたＩＤマーカーに対応付けられた各マーカーを検出する（ステップＳ１３０）。また、この時、マーカー情報読取部４４は、各ＩＤマーカーに対応付けられた領域マーカーが示す領域を読み取る。次に、制御部４０の各機能部は、ステップＳ１３０で検出された要素マーカーを、マーカー情報読取部４４に予め登録されたマーカー読取ルールに基づく順に１つずつ選択し、選択された要素マーカー毎にステップＳ１５０からステップＳ２１０までの処理を行う（ステップＳ１４０）。マーカー情報読取部４４は、選択されたマーカーであって、ステップＳ１３０で検出された要素マーカーが示すマーカー情報を読み取る（ステップＳ１５０）。次に、ライブラリー読込部４６は、ステップＳ１５０で読み取られたマーカー情報が作業動作を示す情報か否かを判定する（ステップＳ１６０）。
【００６７】
ライブラリー読込部４６は、ステップＳ１５０で読み取られた情報が作業動作を示す情報ではないと判定した場合（ステップＳ１６０−Ｎｏ）、ステップＳ１４０に戻って次の要素マーカーを選択する。一方、ライブラリー読込部４６は、ステップＳ１５０で読み取られた情報が作業動作を示す情報であると判定した場合（ステップＳ１６０−Ｙｅｓ）、記憶部３２に記憶された対応情報を参照し、ステップＳ１５０で読み取られた作業動作を示す情報に該当する動作ライブラリーを読み込む（ステップＳ１７０）。
【００６８】
次に、マーカー情報読取部４４は、次の順の要素マーカーに対応付けられたマーカー情報を読み取る（ステップＳ１８０）。次に、ロボット制御部４８は、ステップＳ１８０で読み取られたマーカー情報が作業対象の位置を示す情報か否かを判定する（ステップＳ１９０）。ロボット制御部４８は、ステップＳ１８０で読み取られたマーカー情報が作業対象の位置を示す情報であると判定した場合（ステップＳ１９０−Ｙｅｓ）、読み取られた作業対象の位置を示す情報と、ステップＳ１７０で読み込んだ動作ライブラリーとに基づいて、作業対象に対してロボット２０に作業を行わせる（ステップＳ２００）。ここで、動作ライブラリーと作業対象の位置を示す情報とは、動作ライブラリーがプログラムの関数やメソッド等であり、作業対象の位置を示す情報がそれらの引数の関係となっている。一方、ロボット制御部４８は、ステップＳ１８０で読み取られたマーカー情報が作業対象の位置を示す情報ではないと判定した場合（ステップＳ１９０−Ｎｏ）、ステップＳ１７０で読み込んだ動作ライブラリーに基づいて、作業対象に対してロボット２０に作業を行わせる（ステップＳ２１０）。この場合、動作ライブラリーは、引数無しで実行される関数やメソッド等である。
【００６９】
このように、ロボットシステム１は、マーカー群を検出し、検出されたマーカー群に基づいてロボット２０を制御するため、図６及び図７に示したような複数の作業を、ロボット２０に作業をさせたい所望の領域にマーカー群を貼付することで、新規に制御プログラムを作成することなく容易にロボット２０に行わせることができる。
【００７０】
以上説明したように、第１の実施形態に係るロボットシステム１は、作業要素を示す複数の情報のそれぞれが対応付けられたマーカー群を含む範囲を撮像画像として撮像した後に、マーカー群に対応付けられた複数の作業要素を示す情報を取得し、ロボット２０に作業を行わせる。これにより、ロボットシステム１は、作業内容に応じた動作を実現することができる。
【００７１】
また、ロボットシステム１は、マーカー読取ルールに基づく順に複数のマーカーに対応付けられた複数の要素を示す情報を取得する。これにより、ロボットシステム１は、マーカー読取ルールに基づいた順にロボットを動作させることで、作業内容に応じた動作を実現することができる。
また、ロボットシステム１は、ＩＤマーカーが示す作業毎に、ＩＤマーカーに対応付けられた要素マーカーに対応付けられたマーカー情報を取得する。これにより、ロボットシステム１は、異なる作業に対応付けられた要素マーカーを誤検出してしまうことを抑制することができる。
【００７２】
また、ロボットシステム１は、マーカー群に対応付けられた複数の作業動作を示す情報を取得する。これにより、ロボットシステム１は、作業毎に必要な動作マーカーを用いてロボット２０を制御することができる。
また、ロボットシステム１は、マーカー群に対応付けられた作業対象の位置を示す情報を取得する。これにより、ロボットシステム１は、対象マーカーを用いてロボット２０に作業対象の位置を教示することができる。
【００７３】
＜第２実施形態＞
以下、本発明の第２実施形態について、図面を参照して説明する。第２実施形態に係るロボットシステム１は、第１実施形態に係るロボットシステム１が作業領域に貼付されたＩＤマーカー毎に対応付けられた各マーカーをマーカー読取ルールに基づいて読み取る構成に代えて、予め読み取り順が決められたマーカーボード毎に貼付されたマーカー群を検出し、検出されたマーカー群に基づいて作業を行う。なお、第２実施形態では、第１実施形態と同様な構成部には、同じ符号を付して説明を省略する。
【００７４】
図９は、マーカーボード毎に貼付されたマーカー群を例示する図である。マーカーボードとは、マーカーを貼付するためのボードであり、例えば、図９に示すように、マーカー群に含まれる各マーカーを所定の種類に分類し、分類された種類毎にマーカーを区分けして貼付することが可能な板状の物体である。本実施形態においては、マーカーは、次の４種類に分類される。なお、マーカーボードは、板状の物体に代えて、マーカーが撮像部１０から撮像可能なように貼付可能な物体であれば如何なる形状の物体であってもよい。
【００７５】
１）ＩＤマーカー
２）対象マーカー
３）動作マーカー
４）位置マーカー（本実施形態において、対象マーカーから区分されている）
【００７６】
なお、マーカーの分類は、上記の４種類に代えて、３種類以下であってもよく、５種類以上であってもよい。なお、位置マーカーは、第１実施形態と同様に、作業動作マーカーと統合された構成であってもよい。
【００７７】
図９に示したマーカーボードには、マーカーボードＭＢ１〜ＭＢ５までの５つのマーカーボードのそれぞれに、各種のマーカー群が貼付されている。マーカーボードＭＢ１には、作業Ｓｑ１を示す情報が対応付けられたＩＤマーカーＳｑ１と、作業対象Ｗｋ１の位置を示す情報が対応付けられた対象マーカーＷｋＭと、動作マーカーＰｋと、複数の位置マーカーＰｓＭが貼付されている。マーカーボードＭＢ１と同様に、マーカーボードＭＢ５には、作業Ｓｑ５を示す情報が対応付けられたＩＤマーカーＳｑ５と、動作マーカーＳと、複数の位置マーカーＰｓＭが貼付されている。なお、作業Ｓｑ５は、作業対象を扱う作業ではないため、マーカーボードＭＢ５には対象マーカーが貼付されていない。
【００７８】
ロボットシステム１は、マーカーボードＭＢ１に貼付されたこれらのマーカー群を検出し、検出されたマーカー群から各種のマーカー情報を読み取り、読み取られたマーカー情報に基づいて動作ライブラリーを記憶部３２から読み込み、読み込んだ動作ライブラリーに基づいてロボット２０に作業Ｓｑ１を行わせる。ロボットシステム１は、マーカーボードＭＢ２〜ＭＢ５まで順番に、マーカーボードＭＢ１に対する処理と同様の手順で処理を行い、作業Ｓｑ２〜Ｓｑ５までの作業を順にロボット２０に行わせる。
【００７９】
以上説明したように、第２実施形態に係るロボットシステム１は、予め読み取り順が決められたマーカーボード毎に貼付されたマーカー群を検出し、検出されたマーカー群に基づいて作業を行う。これにより、ロボットシステム１は、第１実施形態と同様の効果を得ることができるのに加えて、作業領域にマーカーを貼付する領域を確保する必要が無くなり、作業領域を小さくすることができる。
【００８０】
＜第３実施形態＞
以下、本発明の第３実施形態について、図面を参照して説明する。なお、第３実施形態では、第１実施形態と同様な構成部には、同じ符号を付して説明を省略する。第３実施形態に係るロボットシステム１は、第１実施形態においてＩＤマーカー毎に対応付けられたマーカー群に基づいてロボットシステム１がロボット２０に行わせる作業の全体をライブラリー化した作業ライブラリーを示す情報が対応付けられたマーカー（以下、作業マーカーと称する）を検出し、作業マーカーに対応付けられた作業ライブラリーに基づいてロボット２０に作業を行わせる。また、ロボットシステム１は、作業マーカーが作業順に１列に並べられて貼付されたシーケンスボードから、作業順に作業マーカーを検出する。なお、ロボットシステム１は、シーケンスボードの左から順に作業マーカーを検出し、その検出順が作業順であるとする。
【００８１】
作業マーカーとは、より具体的には、第２実施形態において説明したマーカーボードに含まれる一部又は全部のマーカーに対応付けられた情報を、１つのマーカーにまとめて対応付けられたマーカーである。なお、作業マーカーには、前記の情報がそのまま対応付けられてもよく、前記の情報を構成する個々の情報を示すすべてのＩＤが順序付けられて対応付けられていてもよい。
【００８２】
図１０は、シーケンスボードに貼付された作業マーカーを例示する図である。シーケンスボードとは、例えば、上述した作業マーカーが１列に順に貼付される板状の物体である。なお、シーケンスボードは、板状の物体に代えて、作業マーカーを順に１列で貼付可能であって、撮像部１０から撮像可能なように貼付可能な物体であれば如何なる形状の物体であってもよい。
【００８３】
図１０において、シーケンスボードＳｑＢ１には、作業対象Ｗｋ１を把持する作業が対応付けられた作業マーカーＳｑＭ１、作業対象Ｗｋ１を領域Ａに配置する作業を示す情報が対応付けられた作業マーカーＳｑＭ２、所定の位置に作業対象Ｗｋ１を接続させる作業を示す情報が対応付けられた作業マーカーＳｑＭ３、…、組み付けが完了した完成品を所定の位置に配置する作業を示す情報が対応付けられた作業マーカーＳｑＭｎのｎ個の作業マーカーが貼付されている。
【００８４】
ロボットシステム１は、シーケンスボードに貼付されたこれらの作業マーカーを左から順に検出し、検出された作業マーカーに対応付けられた情報を読み取り、読み取られた情報に基づいて作業ライブラリーを記憶部３２から読み込み、読み込んだ作業ライブラリーに基づいてロボット２０に作業を行わせる。なお、作業ライブラリーは、予め記憶部３２に記憶されているとする。
【００８５】
以上説明したように、第３実施形態に係るロボットシステム１は、第１実施形態においてＩＤマーカー毎に対応付けられたマーカー群に基づいてロボットシステム１がロボット２０に行わせる作業の一部又は全部をライブラリー化した作業ライブラリーを示す情報が対応付けられた作業マーカーを検出し、作業マーカーに対応付けられた作業ライブラリーに基づいてロボット２０に作業を行わせる。これにより、ロボットシステム１は、第１実施形態と同様の効果を得ることができるのに加えて、シーケンスボード上の作業マーカーを交換することによって、ロボット２０に対して様々な作業の組み合わせを行わせることができ、その結果として、ロボット２０による作業順序の変更を容易に行うことができる。
【００８６】
＜第４実施形態＞
以下、本発明の第４実施形態について、図面を参照して説明する。なお、第４実施形態では、第１実施形態と同様な構成部には、同じ符号を付して説明を省略する。第４実施形態に係るロボットシステム１は、第４実施形態に係る作業マーカーが、第３実施形態に係るシーケンスボードとは異なるシーケンスボードに貼付され、第３実施形態と同様にロボット２０に対して様々な作業の組み合わせを行わせる。
【００８７】
図１１は、第４実施形態に係るシーケンスボードと、シーケンスボードに貼付された複数の作業マーカーの一例を示す図である。図１１に示したシーケンスボードＳｑＢ２には、作業順を示す番号が付されており、その作業順に応じた作業マーカーが貼付されている。ロボットシステム１は、前記の番号を検出し、検出された番号の小さい順に作業マーカーを検出し、その作業マーカーに対応付けられた作業ライブラリーに基づいてロボット２０に作業を行わせる。なお、図１１において、作業順を示す番号は、作業順を示す他の何らかの情報であってもよい。
【００８８】
以上説明したように、第４実施形態に係るロボットシステム１は、作業順を示す番号が付されており、その作業順に応じた作業マーカーが貼付されているシーケンスボードから作業マーカーを検出し、その作業マーカーに対応付けられた作業ライブラリーに基づいてロボット２０に作業を行わせる。これにより、ロボットシステム１は、第１実施形態及び第３実施形態と同様の効果を得ることができる。
【００８９】
＜第５実施形態＞
以下、本発明の第５実施形態について、図面を参照して説明する。なお、第５実施形態では、第１実施形態と同様な構成部には、同じ符号を付して説明を省略する。第５実施形態に係るロボットシステム１は、第３実施形態又は第４実施形態に係るシーケンスボードに設けられたヘッダ領域に貼付されたマーカー（以下、ヘッダマーカーと称する）からヘッダ情報を読み取る。ヘッダ情報とは、例えば、作業マーカーが示す作業の作業名や、作業が行われている工場名等、生産管理を行うための情報を示す。
【００９０】
図１２は、第４実施形態に係るシーケンスボードに設けられたヘッダ領域に貼付されたヘッダマーカーの一例を示す図である。シーケンスボードには、ヘッダ領域ＨＡが設けられ、ヘッダ領域ＨＡにヘッダマーカーＨＭが貼付されている。ロボットシステム１は、ヘッダマーカーＨＭからヘッダ情報を読み取ると、読み取られたヘッダ情報を記憶部３２に記憶させる。これにより、ロボットシステム１は、生産管理システム等と連動することで、より効率的な生産作業を行うことができる。なお、ヘッダ情報には、作業名や工場名の他に、作業監督者名や稼働終了時間、エラー停止すべき欠陥品発生の上限値等、作業そのもののサイクルに係る情報等を含んでもよい。また、ヘッダ情報がロボットシステム１による作業の動作に影響を与えない情報の場合、ユーザーは、ヘッダマーカーＨＭを、ヘッダ領域ＨＡにおける精密な位置に貼付しなくてもよいため、作業の一部を簡易化することができる。
【００９１】
以上説明したように、第５実施形態に係るロボットシステム１は、シーケンスボードに設けられたヘッダ領域ＨＡに貼付されたヘッダマーカーＨＭからヘッダ情報を読み取る。これにより、生産管理システム等と連動することで、より効率的な生産作業を行うことができる。
【００９２】
＜第６実施形態＞
以下、本発明の第５実施形態に係るマーカー運用方法ついて、図面を参照して説明する。図１３は、ユーザーが第３実施形態、第４実施形態に係るロボットシステム１を利用する際にマーカーを運用する処理の流れの一例を示すフローチャートである。
【００９３】
以下では、ユーザーがロボットシステム１に行わせたい所望の作業におけるロボット２０が行う作業の順をシーケンスと称し、それらの一部又は全部に変更が加えられたものを新規シーケンスと称して説明する。また、既存のシーケンスの順序を入れ替えたシーケンスを、変更シーケンスと称して説明する。また、以下では、シーケンスが順序付けられた複数の作業によって構成されているとして説明するが、これに代えて、単一の作業によって構成されているとしてもよい。その場合、以下で説明するステップＳ３３０及びステップＳ３４０の処理は省略され、ステップＳ３００の判定がＮｏの場合、処理を終了する。
【００９４】
まず、ユーザーは、ロボットシステム１に行わせたい所望の作業が新規シーケンスか否かを判定する（ステップＳ３００）。ロボットシステム１に行わせたい所望の作業が新規シーケンスであると判定した場合（ステップＳ３００−Ｙｅｓ）、ユーザーは、作業領域、マーカーボード、シーケンスボードのうちのいずれかに貼付された作業マーカーの一部又は全部を貼り換える（ステップＳ３１０）。次に、ユーザーは、ロボットシステム１を起動して作業を開始する（ステップＳ３２０）。一方、ロボットシステム１に行わせたい所望の作業が新規シーケンスではないと判定した場合（ステップＳ３００−Ｎｏ）、ユーザーは、所望の作業が変更シーケンスか否かを判定する（ステップＳ３３０）。
【００９５】
所望の作業が変更シーケンスであると判定された場合（ステップＳ３３０−Ｙｅｓ）、ユーザーは、シーケンスボード内で作業マーカーを入れ替え（ステップＳ３４０）、ステップＳ３２０でロボットシステム１を起動して作業を開始する。一方、所望の作業が変更シーケンスではないと判定された場合（ステップＳ３３０−Ｎｏ）、ユーザーは、ステップＳ３２０に遷移し、ロボットシステム１を起動して作業を開始する。
【００９６】
＜第７実施形態＞
以下、本発明の第７実施形態に係るマーカー教示方法について、図面を参照して説明する。図１４は、ロボットシステム１の制御装置３０に対して、第３実施形態又は第４実施形態におけるシーケンスボード上の作業マーカーに対応付けられた情報を教示する処理の流れの一例を示すフローチャートである。
【００９７】
以下では、撮像部１０によって撮像可能な範囲に、作業マーカーと、作業マーカーに対応付けたい情報が対応付けられた各種のマーカーであって、作業マーカーに対応付けられたシーケンスボード上に並べて貼付された教示用マーカーが設置されているとして説明する。なお、作業マーカーは、シーケンスボードに教示用マーカーとともに貼付されていてもよく、教示用マーカーとは異なる場所に貼付されていてもよい。まず、制御部４０は、撮像部１０により撮像可能な範囲を撮像する。（ステップＳ４００）。次に、マーカー検出部４２は、撮像部１０により撮像された撮像画像に基づいて、作業マーカーを検出する（ステップＳ４１０）。
【００９８】
次に、マーカー検出部４２は、撮像画像に基づいて、撮像画像上に撮像された作業マーカーが複数存在し、且つ同一作業マーカーが存在するか否かを判定する（ステップＳ４２０）。同一作業マーカーが存在すると判定した場合（ステップＳ４２０−Ｙｅｓ）、制御部４０は、処理を終了する。一方、同一作業マーカーが存在しないと判定した場合（ステップＳ４２０−Ｎｏ）、マーカー検出部４２は、検出された作業マーカーに対応付けられたシーケンスボード上に並べて貼付された教示用マーカーを検出する（ステップＳ４４０）。なお、教示用マーカーには、第１実施形態において説明した領域マーカー及び要素マーカーが含まれている。
【００９９】
次に、マーカー情報読取部４４は、シーケンスボードに貼付された教示用マーカーが示す情報を左から順に読み取る（ステップＳ４５０）。教示用マーカーが示す情報は、第１実施形態において説明した領域マーカー及び要素マーカーが示すマーカー情報である。次に、マーカー情報読取部４４は、読み取られた情報と、読み取られた情報の順と、読み取られた情報に対応付けられる作業マーカーを示す情報とを対応付けて記憶部３２に記憶する（ステップＳ４６０）。
【０１００】
以上説明したように、ロボットシステム１は、作業マーカーと、作業マーカーに対応付けられた情報とを対応付ける情報を記憶部３２に記憶することで、作業マーカーを読み取ることによって、作業マーカーが表す作業をロボット２０に行わせることができる。
【０１０１】
＜第８実施形態＞
以下、本発明の第８実施形態に係る作業マーカーと教示用マーカーと動作ライブラリーの関係について、図面を参照して説明する。図１５は、第７実施形態において説明したマーカー教示方法によってロボット２０に教示された作業を表すプログラムの一例を示す。第７実施形態に係るロボットシステム１は、図１５に示したシーケンスボードＬＢに貼付された作業マーカーＡＭと、シーケンスボードＬＢに貼付された教示用マーカーＬＭ１〜ＬＭ３とを検出し、作業マーカーＡＭと、作業マーカーＡＭに対応付けられた情報を記憶部３２に記憶する。
【０１０２】
ロボットシステム１は、その後、撮像画像から作業マーカーを検出した場合、記憶部３２に記憶された前記の情報に基づいて、ロボット２０を制御する。この時、記憶部３２に記憶された前記の情報に基づいて、記憶部３２から動作ライブラリーを読み込み、読み込まれた動作ライブラリーに基づいて、作業ライブラリーＬｉｂ１を生成する。
【０１０３】
作業ライブラリーＬｉｂ１に含まれるサブルーチン（例えば、関数やメソッド）は、教示用マーカーＬＭ１〜ＬＭ３が示す情報にそれぞれ対応付けられた動作ライブラリーである。なお、図１５に示した作業ライブラリーＬｉｂ１のように、教示用マーカーＬＭ１が示す情報に対応付けられた動作ライブラリー（すなわち、作業ライブラリーＬｉｂ１に含まれるサブルーチン）に引数を渡したい場合、ユーザーは、図１５に示したようなシーケンスボードＬＳＢ１に対して、教示用マーカーＬＭ１と、教示用マーカーＬＭ１が示す情報に対応付けられた動作ライブラリーに渡したい引数を示す情報が対応付けられたマーカーＡ１とを貼付し、貼付されたこれらのマーカーをロボットシステム１に読み取らせることで実現することができる。
【０１０４】
教示用マーカーＬＭ２についても引数を渡したい場合、ユーザーは、教示用マーカーＬＭ１の場合と同様の手順によって、教示用マーカーＬＭ２と、教示用マーカーＬＭ２が示す情報に対応付けられた動作ライブラリーに渡したい引数を示す情報が対応付けられたマーカーＡ２とをロボットシステム１に読み取らせることで実現することができる（教示用マーカーＬＭ３の場合についても、教示用マーカーＬＭ１、ＬＭ２の場合と同様の手順となるため、説明を省略する）。
【０１０５】
従って、ロボットシステム１は、第７実施形態において説明した教示方法によって、作業マーカーと教示用マーカーを用いて、制御装置３０にロボット２０を動作させるプログラムを教示することができる。これにより、ロボットシステム１は、作業マーカーを検出し、検出された作業マーカーが示す情報を読み取ることで、各種の作業をロボット２０に行わせることができる。
【０１０６】
なお、以上に説明した装置（例えば、ロボットシステム１）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１０７】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１０８】
１  ロボットシステム、１０  撮像部、２０  ロボット、２１  回転胴体部、３０  制御装置、３１  ＣＰＵ、３２  記憶部、３３  入力受付部、３４  通信部、３５  画像取得部、４０  制御部、４２  マーカー検出部、４４  マーカー情報読取部、４６  ライブラリー読込部、４８  ロボット制御部
【図１】
2015223634.tif 000003
【図２】
2015223634.tif 000004
【図３】
2015223634.tif 000005
【図４】
2015223634.tif 000006
【図５】
2015223634.tif 000007
【図６】
2015223634.tif 000008
【図７】
2015223634.tif 000009
【図８】
2015223634.tif 000010
【図９】
2015223634.tif 000011
【図１０】
2015223634.tif 000012
【図１１】
2015223634.tif 000013
【図１２】
2015223634.tif 000014
【図１３】
2015223634.tif 000015
【図１４】
2015223634.tif 000016
【図１５】
2015223634.tif 000017