(57)【要約】【課題】  操作対象物に設定された第１のマーカーの面積重心に基づき、マーカー向き情報を特定できるロボット制御システム等の提供。【解決手段】  ロボット制御システム１０は、撮像部２０から得られる画像情報に基づいて画像処理を行う処理部１１０と、処理部１１０の処理結果に基づいてロボット３０の制御を行う制御部１２０と、を含む。そして、処理部１１０は、画像情報に基づいて、ロボット３０の操作対象物に設定された第１のマーカーの認識処理を行い、第１のマーカーの認識処理の結果に基づいて、第１のマーカーに設定された第１の画像構成要素の面積重心を求め、面積重心に基づいて、第１のマーカーが示す向きを表すマーカー向き情報を求める。さらに、制御部１２０は、マーカー向き情報に応じてロボット３０を制御する。【選択図】      図２
2013010157.tif 000002
【特許請求の範囲】
【請求項１】
撮像部から得られる画像情報に基づいて画像処理を行う処理部と、
前記処理部の処理結果に基づいてロボットの制御を行う制御部と、
を含み、
前記処理部は、
前記画像情報に基づいて、前記ロボットの操作対象物に設定された第１のマーカーの認識処理を行い、前記第１のマーカーの前記認識処理の結果に基づいて、前記第１のマーカーに設定された第１の画像構成要素の面積重心を求め、前記面積重心に基づいて、前記第１のマーカーが示す向きを表すマーカー向き情報を求め、
前記制御部は、
前記マーカー向き情報に応じて前記ロボットを制御することを特徴とするロボット制御システム。
【請求項２】
請求項１において、
前記処理部は、
前記第１のマーカーの前記認識処理の結果に基づいて、非回転対称である前記第１の画像構成要素の前記面積重心を求め、前記面積重心に基づいて前記マーカー向き情報を求めることを特徴とするロボット制御システム。
【請求項３】
請求項１又は２において、
前記処理部は、
前記第１のマーカーの前記認識処理の結果に基づいて、前記第１のマーカーにおける前記第１の画像構成要素の外形重心を求め、前記面積重心と前記外形重心とに基づいて、前記マーカー向き情報を求めることを特徴とするロボット制御システム。
【請求項４】
請求項３において、
前記処理部は、
前記画像情報に基づいて、前記第１の画像構成要素の内側に第２の画像構成要素が設定された前記第１のマーカーの前記認識処理を行い、前記第１のマーカーの前記認識処理の結果に基づいて、前記第１の画像構成要素の前記面積重心と前記外形重心とを求め、前記面積重心と前記外形重心とに基づいて、前記マーカー向き情報を求めることを特徴とするロボット制御システム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記処理部は、
前記第１のマーカーの前記第１の画像構成要素の内側に設定され、前記ロボットの制御情報が埋め込まれた第２のマーカーの認識処理を、前記画像情報に基づいて行い、
前記制御部は、
前記第１のマーカーと前記第２のマーカーの前記認識処理の結果に基づいて、前記ロボットを制御することを特徴とするロボット制御システム。
【請求項６】
請求項５において、
前記処理部は、
前記画像情報に基づいて、前記第１の画像構成要素の内側に第２の画像構成要素が設定された前記第１のマーカーの前記認識処理と、前記第１のマーカーの前記第２の画像構成要素の内側に設定された前記第２のマーカーの前記認識処理を行い、
前記制御部は、
前記第１のマーカーと前記第２のマーカーとの前記認識処理の結果に基づいて、前記ロボットを制御することを特徴とするロボット制御システム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記処理部は、
前記第１の画像構成要素の画素の位置情報に基づいて、前記面積重心を求めることを特徴とするロボット制御システム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記操作対象物は、
ワークが配置される複数の区画を有するパレットであり、
前記処理部は、
前記パレットに設定された前記マーカー向き情報に基づいて、前記パレットの区画位置情報を求め、
前記制御部は、
前記区画位置情報に基づいて、前記ロボットの制御を行うことを特徴とするロボット制御システム。
【請求項９】
請求項８において、
前記処理部は、
前記第１のマーカーの前記第１の画像構成要素の内側に設定され、前記ロボットの制御情報が埋め込まれたマーカーである第２のマーカーの認識処理を、前記画像情報に基づいて行い、前記第２のマーカーの前記認識処理の結果に基づいて、前記制御情報に含まれる前記区画位置情報を求めることを特徴とするロボット制御システム。
【請求項１０】
請求項１乃至９のいずれかに記載のロボット制御システムを含むことを特徴とするロボットシステム。
【請求項１１】
撮像部からの画像情報を取得し、
取得された画像情報に基づいて、前記第１の画像構成要素が設定された前記第１のマーカーの認識処理を行い、
前記第１のマーカーの前記認識処理の結果に基づいて、前記第１の画像構成要素の前記面積重心と前記外形重心とを求め、
求められた前記面積重心と前記外形重心とに基づいて、前記第１のマーカーが示す向きを表すマーカー向き情報を求めることを特徴とするマーカー処理方法。
【請求項１２】
請求項１１において、
取得された画像情報に基づいて、前記第１の画像構成要素の内側に第２の画像構成要素が設定された前記第１のマーカーの認識処理を行うことを特徴とするマーカー処理方法。
【請求項１３】
請求項１１又は１２において、
取得された画像情報に基づいて、前記第１のマーカーの前記第１の画像構成要素の内側に設定された第２のマーカーの認識処理を行い、
前記第２のマーカーに埋め込まれた情報を取得することを特徴とするマーカー処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御システム、ロボットシステム及びマーカー処理方法等に関係する。
【背景技術】
【０００２】
近年、生産現場において、作業の自動化を図るために、産業用ロボットを用いてワークをピッキングしたり、パレタイズをする手法が用いられている。産業用ロボットを用いてパレタイズ等を行う場合には、産業用ロボットがパレットの位置や向きを認識する必要がある。そのための手法として、パレットやパレットの区画内に設けられた突起や切り欠けなどの物理的形状や、パレットに貼付したマーカーなどを認識して、物理的形状やマーカーの認識処理結果に基づいて、パレットの位置や向きを特定する手法がある。他にも、ワークそのものをマーカーとして用いて、ワークやパレットの区画の位置や向きを認識する手法が考案されており、特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−３２２５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述した手法には以下のような問題点がある。
【０００５】
まず、パレットやパレットの区画内に設けられた突起や切り欠けなどの物理的形状の認識処理を行うことにより、パレットの位置や向きを判別する手法は、あらかじめパレット毎に突起や切り欠けなどの物理的な形状を設ける必要があり、準備コストが大きいという問題点がある。さらに、あらかじめ設けられた物理的形状からは、あらかじめ決められた情報しか読み取ることができないという問題点もある。パレットにマーカーをあらかじめ貼付しておく場合も同様である。
【０００６】
また、特許文献１に記載されているワーク自体をマーカーとして用いる手法には、ワークが例えば３次元形状のような複雑な形状である場合に、マーカーとしてのワークの検出が難しくなるという問題点がある。
【０００７】
本発明の幾つかの態様によれば、操作対象物に設定された第１のマーカーの面積重心に基づき、マーカー向き情報を特定できるロボット制御システム、ロボットシステム及びマーカー処理方法等を提供できる。
【０００８】
また、本発明の幾つかの態様によれば、非回転対称な第１のマーカーの設定位置や向きのずれを許容して、マーカー向き情報を特定できるロボット制御システム、ロボットシステム及びマーカー処理方法等を提供できる。
【課題を解決するための手段】
【０００９】
本発明の一態様は、撮像部から得られる画像情報に基づいて画像処理を行う処理部と、前記処理部の処理結果に基づいてロボットの制御を行う制御部と、を含み、前記処理部は、前記画像情報に基づいて、前記ロボットの操作対象物に設定された第１のマーカーの認識処理を行い、前記第１のマーカーの前記認識処理の結果に基づいて、前記第１のマーカーに設定された第１の画像構成要素の面積重心を求め、前記面積重心に基づいて、前記第１のマーカーが示す向きを表すマーカー向き情報を求め、前記制御部は、前記マーカー向き情報に応じて前記ロボットを制御することを特徴とするロボット制御システムに関係する。
【００１０】
本発明の一態様では、撮像部から得られる画像情報に基づいて、ロボットの操作対象物に設定された第１のマーカーの認識処理を行う。そして、第１のマーカーの認識処理の結果に基づいて、第１のマーカーに設定された第１の画像構成要素の面積重心を求める。さらに、面積重心に基づいて、マーカー向き情報を求める。その結果として、マーカー向き情報に応じてロボットを制御することが可能となる。
【００１１】
また、本発明の一態様では、前記処理部は、前記第１のマーカーの前記認識処理の結果に基づいて、非回転対称である前記第１の画像構成要素の前記面積重心を求め、前記面積重心に基づいて前記マーカー向き情報を求めてもよい。
【００１２】
これにより、第１のマーカーに設定された非回転対称である第１の画像構成要素の面積重心を求め、面積重心に基づいてマーカー向き情報を求めること等が可能になる。第１の画像構成要素は非回転対称であるため、第１の画像構成要素の面積重心からマーカー向き情報を一つに特定すること等が可能となる。
【００１３】
また、本発明の一態様では、前記処理部は、前記第１のマーカーの前記認識処理の結果に基づいて、前記第１のマーカーにおける前記第１の画像構成要素の外形重心を求め、前記面積重心と前記外形重心とに基づいて、前記マーカー向き情報を求めてもよい。
【００１４】
これにより、第１の画像構成要素の面積重心と外形重心とに基づいて、マーカー向き情報を求めること等が可能になる。また、面積重心と外形重心とが一致していない場合には、面積重心の位置と外形重心の位置との差に基づいて、マーカー向き情報を求めること等が可能になる。
【００１５】
また、本発明の一態様では、前記処理部は、前記画像情報に基づいて、前記第１の画像構成要素の内側に第２の画像構成要素が設定された前記第１のマーカーの前記認識処理を行い、前記第１のマーカーの前記認識処理の結果に基づいて、前記第１の画像構成要素の前記面積重心と前記外形重心とを求め、前記面積重心と前記外形重心とに基づいて、前記マーカー向き情報を求めてもよい。
【００１６】
これにより、第１のマーカーにおいて、第１の画像構成要素の内側に第２の画像構成要素を設定して、面積重心の位置と外形重心の位置とをずらすこと等が可能となる。その結果、面積重心の位置と外形重心の位置との差に基づいて、マーカー向き情報を求めること等が可能になる。
【００１７】
また、本発明の一態様では、前記処理部は、前記第１のマーカーの前記第１の画像構成要素の内側に設定され、前記ロボットの制御情報が埋め込まれた第２のマーカーの認識処理を、前記画像情報に基づいて行い、前記制御部は、前記第１のマーカーと前記第２のマーカーの前記認識処理の結果に基づいて、前記ロボットを制御してもよい。
【００１８】
これにより、第１のマーカーの認識処理の結果に基づき求められたマーカー向き情報と、第２のマーカーの認識処理の結果に基づき求められた制御情報とに基づいて、ロボットを制御すること等が可能になる。
【００１９】
また、本発明の一態様では、前記処理部は、前記画像情報に基づいて、前記第１の画像構成要素の内側に第２の画像構成要素が設定された前記第１のマーカーの前記認識処理と、前記第１のマーカーの前記第２の画像構成要素の内側に設定された前記第２のマーカーの前記認識処理を行い、前記制御部は、前記第１のマーカーと前記第２のマーカーとの前記認識処理の結果に基づいて、前記ロボットを制御してもよい。
【００２０】
これにより、第１の画像構成要素の内側に第２の画像構成要素が設定された第１のマーカーの認識処理と、第１のマーカーの第２の画像構成要素の内側に設定された第２のマーカーの認識処理を行うこと等が可能になる。この時、第２のマーカーは、第１のマーカーの第１の画像構成要素と第２の画像構成要素の内側に設定されている。その結果、第２のマーカーの探索範囲を第２の画像構成要素の内側に絞り込むこと等が可能になる。
【００２１】
また、本発明の一態様では、前記処理部は、前記第１の画像構成要素の画素の位置情報に基づいて、前記面積重心を求めてもよい。
【００２２】
これにより、第１の画像構成要素の画素の位置情報に基づいて、面積重心を求めること等が可能になり、面積重心を求める処理を簡易化すること等が可能となる。
【００２３】
また、本発明の一態様では、前記操作対象物は、ワークが配置される複数の区画を有するパレットであり、前記処理部は、前記パレットに設定された前記マーカー向き情報に基づいて、前記パレットの区画位置情報を求め、前記制御部は、前記区画位置情報に基づいて、前記ロボットの制御を行ってもよい。
【００２４】
これにより、マーカー向き情報に基づいて、パレットの区画位置情報を求め、区画位置情報に基づいて、ロボットの制御を行うこと等が可能になる。その結果、ロボットの各部をパレットの区画位置に対してより正確に移動させること等が可能になる。
【００２５】
また、本発明の一態様では、前記処理部は、前記第１のマーカーの前記第１の画像構成要素の内側に設定され、前記ロボットの制御情報が埋め込まれたマーカーである第２のマーカーの認識処理を、前記画像情報に基づいて行い、前記第２のマーカーの前記認識処理の結果に基づいて、前記制御情報に含まれる前記区画位置情報を求めてもよい。
【００２６】
これにより、第２のマーカーの認識処理に基づいて、第２のマーカーに埋め込まれたロボットの制御情報を取得すること等が可能となり、制御情報に含まれるパレットの区画位置情報を求め、区画位置情報に基づいて、ロボットの制御を行うこと等が可能になる。
【００２７】
また、本発明の他の態様は、前記ロボット制御システムを含むロボットシステムに関係する。
【００２８】
また、本発明の他の態様では、撮像部からの画像情報を取得し、取得された画像情報に基づいて、前記第１の画像構成要素が設定された前記第１のマーカーの認識処理を行い、前記第１のマーカーの前記認識処理の結果に基づいて、前記第１の画像構成要素の前記面積重心と前記外形重心とを求め、求められた前記面積重心と前記外形重心とに基づいて、前記第１のマーカーが示す向きを表すマーカー向き情報を求めることを特徴とするマーカー処理方法に関係する。
【００２９】
これにより、第１のマーカーの第１の画像構成要素の面積重心と外形重心とを求め、求められた面積重心と外形重心とに基づいて、マーカー向き情報を求めることが可能になる。
【００３０】
また、本発明の他の態様では、取得された画像情報に基づいて、前記第１の画像構成要素の内側に第２の画像構成要素が設定された前記第１のマーカーの認識処理を行ってもよい。
【００３１】
これにより、第１の画像構成要素の内側に第２の画像構成要素が設定された第１のマーカーの認識処理を行うこと等が可能になり、第１のマーカーの認識処理の結果に基づいて、異なる位置に存在する第１のマーカーの第１の画像構成要素の面積重心と外形重心とを求めること等が可能になる。
【００３２】
また、本発明の他の態様では、取得された画像情報に基づいて、前記第１のマーカーの前記第１の画像構成要素の内側に設定された第２のマーカーの認識処理を行い、前記第２のマーカーに埋め込まれた情報を取得してもよい。
【００３３】
これにより、第２のマーカーに埋め込まれた情報を取得すること等が可能になる。
【図面の簡単な説明】
【００３４】
【図１】本実施形態のシステム構成例。
【図２】本実施形態の詳細なシステム構成例。
【図３】図３（Ａ）、図３（Ｂ）は、マーカーと画像構成要素と面積重心の説明図。
【図４】図４（Ａ）、図４（Ｂ）は、面積重心に基づきマーカー向き情報を求める手法の説明図。
【図５】非回転対称である画像構成要素の説明図。
【図６】図６（Ａ）、図６（Ｂ）は、外形重心と面積重心とに基づきマーカー向き情報を求める手法の説明図。
【図７】図７（Ａ）、図７（Ｂ）は、第２のマーカーの設定例。
【図８】画像構成要素の画素の位置情報に基づき面積重心を求める手法の説明図。
【図９】図９（Ａ）〜図９（Ｃ）は、マーカー向き情報に基づき区画位置情報を求める手法の説明図。
【図１０】図１０（Ａ）、図１０（Ｂ）は、第２のマーカーに埋め込まれた制御情報に含まれる区画位置情報の一例。
【図１１】本実施形態におけるパレタイズ処理の流れを説明するフローチャート。
【図１２】本実施形態におけるパレットの位置算出処理の流れを説明するフローチャート。
【図１３】本実施形態におけるデパレタイズ処理の流れを説明するフローチャート。
【発明を実施するための形態】
【００３５】
以下、本実施形態について説明する。まず、本実施形態の概要を説明し、次にシステム構成例を説明する。その後に、本実施形態の特徴について説明する。そして最後に、フローチャートを用いて本実施形態の処理の流れについて説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３６】
１．概要
近年、生産現場において、作業の自動化を図るために、産業用ロボットを用いてワークをピッキングしたり、パレタイズをする手法が用いられている。本実施形態では、図１のように作業者７０とロボット３０が協業するような場合を想定している。作業者７０の作業が完了すると、作業者７０はロボット３０にパレット５０やワーク４０を渡して、ロボット３０が次の作業を実施する。
【００３７】
このように産業用ロボットを用いてパレタイズ等を行う場合には、産業用ロボットがパレットの位置や向き（またはこれらと代替できるような情報）を認識する必要がある。そのための手法として、パレットやパレットの区画内に設けられた突起や切り欠けなどの物理的形状や、パレットに貼付したマーカーなどを認識し、その認識結果に基づいて、パレットの位置や向きを特定する手法がある。
【００３８】
しかし、このような手法は、あらかじめパレット毎に突起や切り欠けなどの物理的な形状を設ける必要があり、準備コストが大きいという問題点がある。さらに、あらかじめ設けられた物理的形状からは、あらかじめ決められた情報しか読み取ることができないという問題点もある。パレットにマーカーをあらかじめ貼付しておく場合も同様である。
【００３９】
上記の手法の他にも、ワークそのものをマーカーとして用いて、ワークやパレットの区画の位置や向きを認識する手法が考案されている。現実的にはワークによってロボットの作業が変わったり、使用するパレットやパレットの区画が変わることが多いため、この手法はワークに対応する情報を得られる点において有効である。
【００４０】
しかし、この手法には、ワークが例えば３次元形状のような複雑な形状である場合に、マーカーとしてのワークの検出が難しくなるという問題点がある。
【００４１】
以上より、ロボットを制御してパレタイズ等を行う場合には、以下のような２つの課題の克服が期待されている。第１の課題は、ワークやパレットの種類若しくは作業状況等に応じて、操作対象物に関する情報をロボット制御システムが取得することができるようになることである。そして、第２の課題は、３次元形状のような複雑な形状のワークを用いる場合であっても、操作対象物の位置や向きに関する情報をロボット制御システムが検出することができるようになることである。
【００４２】
第１の課題については、状況に応じたマーカーを作業者が逐一パレットに貼付する手法が考えられる。また、第２の課題については、ワークをマーカーとしては用いず、２次元形状として認識することができる他のマーカーを用いる手法が考えられる。
【００４３】
すなわち、あらかじめマーカー等をパレットに設定しておくのではなく、作業者が逐一パレットにマーカーを貼付して、作業者がマーカーを貼る位置や向きを調整したり、異なる情報が埋め込まれた複数種類のマーカーを用いることにより、ワークやパレットの種類または作業状況等に応じた情報をパレットに付与することが可能となる。
【００４４】
このようにして操作対象物にマーカーを設定してロボットを制御する場合には、操作対象物に設定されたマーカーの位置と向きを判別する必要がある。マーカーがあらかじめ決まった位置や向きに設定されているのではないという点が従来と異なる。そこで、本実施形態では、後述する手法により、ロボットの操作対象物に設定されたマーカーの認識処理を行い、マーカーが示す向きを表すマーカー向き情報を特定し、マーカー向き情報に基づき、ロボットを制御する。これにより、第１の課題と第２の課題を解決することが可能となる。
【００４５】
２．システム構成例
２．１  ロボットシステムの構成例
本実施形態に係るロボットシステムの構成例を図１に示す。ロボットシステムは、ロボット制御システム１０と、撮像部２０と、ロボット３０とを含む。ただし、ロボットシステムは図１の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。また、本実施形態では、作業者７０とロボット３０とが協業するような場面を想定している。
【００４６】
ロボット制御システム１０は、撮像部２０により得られる撮像画像に基づいて、制御信号を生成し、制御信号に基づいてロボット３０を制御する。ロボット制御システムの詳細は後述する。なお、本実施形態のロボット制御システム１０の一部又は全部の機能は、例えばＰＣ等の情報処理装置などにより実現される。但し、ロボット制御システム１０の一部又は全部の機能を、撮像部２０やロボット３０により実現したり、情報処理装置とは異なる電子機器により実現してもよい。また、本実施形態のロボット制御システム１０の一部又は全部の機能は、情報処理装置もしくは撮像部２０、ロボット３０と通信により接続されたサーバにより実現してもよい。
【００４７】
撮像部（カメラ）２０は、作業スペースを撮影する。この撮像部２０は、例えばＣＣＤ、ＣＭＯＳセンサー等の撮像素子と光学系を含む。また画像処理用等に用いられるデバイス（プロセッサー）を含むことができる。撮像部２０は、ロボット３０やワーク４０、パレット５０が位置し得る作業スペースを撮影することができる位置に配置される。例えば、撮像部２０は、ワーク４０やパレット５０の直上に配置されてもよいし（固定カメラ）、ロボット３０のアーム３２０やハンド３３０もしくは図１に示すようにロボット３０の胴体正面等に取り付けられてもよい（可動カメラ）。また、撮像部２０は、一台で作業スペース全体又は一部を撮影してもよいし、複数台によって、作業スペースの全体又は一部を撮影してもよい。そして、撮像部２０は、撮像された画像情報をロボット制御システム１０等に出力する。また、撮像部２０を用いることにより、ワーク４０やパレット５０、マーカー６０の位置や姿勢等に関する情報を検出できればよいため、撮像部２０による撮像画像の取得以外の手法、例えばレーザー等を用いた３次元スキャン等を用いてもよい。
【００４８】
なお、本実施形態においては、撮像された画像情報をそのままロボット制御システム１０に出力するものとするが、これに限定されるものではない。例えば、ロボット制御システム１０の処理部の一部を撮像部２０に持たせてもよい。その場合、撮像画像に対して画像処理が施された後の情報が出力されることになる。
【００４９】
ロボット３０は、アーム３２０及びハンド３３０を有し、ロボット制御システム１０からの制御信号に従い処理を行う。ロボット３０は、例えばワーク４０のピッキングやパレタイズなどの処理を行う。図１においては、ロボット３０は双腕であるが、これに限定されない。
【００５０】
ここで、アーム３２０とは、ロボット３０のパーツであって、一つ以上の関節を含む可動パーツのことをいう。また、アーム３２０のエンドポイントとは、アーム３２０の先端部分のポイントであって、ロボット３０のハンド３３０以外の他の部分と接続されていない部分のことをいう。さらに、ハンド３３０とは、ワーク４０を把持したり、ワーク４０に加工を施すためにアーム３２０のエンドポイントに取り付ける部品のことをいう。なお、アームのエンドポイントの位置は、ハンドの位置としてもよい。
【００５１】
また、ロボット３０の操作対象物としては、ワーク４０やパレット５０などを想定できる。本実施形態においては、作業者７０によってパレット５０にマーカー６０が貼付（広義には設定）されている。ただし、マーカー６０はあらかじめパレット５０に設定されていてもよい。
【００５２】
ここで、マーカー６０とは、目印として利用することができる文字、図形、記号、模様もしくは立体的形状もしくはこれらの結合又はこれらと色彩との結合を形成する有体物で、物体に固定可能なものである。例えば、シールやステッカー、ラベル等である。なお、マーカーの形状や、色彩、模様等がどのようなものであるかは問わないが、他の領域と区別しやすいもの、例えば赤色一色からなる画像やシールなどが望ましい。
【００５３】
２．２  ロボット制御システムの構成例
次に、本実施形態のロボット制御システム及びこれを含むロボットシステムの詳細な構成例を図２に示す。
【００５４】
ロボット制御システム１０は、処理部１１０と、制御部１２０と、記憶部１３０と、Ｉ／Ｆ部（入力部）１４０と、を含む。なお、ロボット制御システム１０は、図２の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００５５】
次に各部で行われる処理について説明する。
【００５６】
処理部１１０は、記憶部１３０からのデータや、Ｉ／Ｆ部１４０において受信した撮像部２０或いはロボット３０からの情報等に基づいて種々の処理を行う。この処理部１１０の機能は、各種プロセッサー（ＣＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムなどにより実現できる。
【００５７】
さらに、処理部１１０は、マーカー向き情報特定部１１２と、区画位置情報特定部１１４と、を含む。なお、処理部１１０は図２の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００５８】
マーカー向き情報特定部１１２は、第１のマーカーが示す向きを表すマーカー向き情報を特定する。区画位置情報特定部１１４は、パレットの区画位置情報を特定する。なお、ここではマーカー向き情報特定部１１２と区画位置情報特定部１１４は、ロボット制御システム１０の処理部１１０に設けられるものとしたがこれに限定されるものではない。マーカー向き情報特定部１１２と区画位置情報特定部１１４は、撮像部２０やロボット３０等に内蔵されてもよい。
【００５９】
制御部１２０は、処理部１１０の処理結果に基づいて、ロボット３０を制御する。
【００６０】
記憶部１３０は、データベースを記憶したり、処理部１１０等のワーク領域となるもので、その機能はＲＡＭ等のメモリーやＨＤＤ（ハードディスクドライブ）などにより実現できる。
【００６１】
Ｉ／Ｆ部１４０は、ロボット制御システム１０に対して作業者７０からの入力等を行ったり、撮像部２０やロボット３０からの情報を受け付けるためのインターフェースである。Ｉ／Ｆ部１４０は、作業者７０からの入力を受け付ける入力部として、スイッチやボタン、キーボード或いはマウス等から構成されてもよい。
【００６２】
また、ロボット制御システム１０を含むロボットシステムの例としては、撮像部２０や、ロボット３０等を含むロボットシステム等が挙げられる。
【００６３】
撮像部２０については上述の通りである。ロボット３０は、アーム３２０及びハンド３３０の他に制御部３１０を含む。制御部３１０は、ロボット制御システム１０からの情報を受け付けロボット３０の各部（アーム３２０及びハンド３３０等）の制御を行う。
【００６４】
３．本実施形態の手法
以上の本実施形態では、撮像部２０から得られる画像情報に基づいて画像処理を行う処理部１１０と、処理部１１０の処理結果に基づいてロボット３０の制御を行う制御部１２０と、を含む。そして、処理部１１０は、画像情報に基づいて、ロボットの操作対象物に設定された第１のマーカーの認識処理を行い、第１のマーカーが示す向きを表すマーカー向き情報を特定する。さらに、制御部１２０は、マーカー向き情報に応じてロボット３０を制御する。
【００６５】
また、処理部１１０は、第１のマーカーの認識処理の結果に基づいて、第１のマーカーに設定された第１の画像構成要素の面積重心を求め、面積重心に基づいて、第１のマーカーが示す向きを表すマーカー向き情報を求めてもよい。
【００６６】
本実施形態では、撮像部２０から得られる画像情報に基づいて、ロボット３０の操作対象物に設定された第１のマーカーの認識処理を行う。
【００６７】
ここで、撮像部２０から得られる画像情報とは、撮像部２０により作業スペースを撮像した際に得られる画像である撮像画像を表す情報、又は撮像画像から求めることができる情報のことをいう。画像情報は、撮像画像そのものであってもよい。
【００６８】
また、認識処理とは、画像情報により表される撮像画像内に映る第１のマーカーやパレット等の認識対象物を、認識対象物以外の環境物と区別して、特定することをいう。言い換えると、認識処理とは、画像情報により表される撮像画像内に映る認識対象物を判別し、ラベリングすることをいう。また、認識処理において、認識対象物の撮像画像内での位置を特定してもよい。
【００６９】
さらに、第１のマーカーとは、前述したマーカーの一つであり、ロボットを制御する際に用いられるマーカー向き情報を示すマーカーのことをいう。
【００７０】
次に本実施形態では、第１のマーカーの認識処理の結果に基づいて、第１のマーカーに設定された第１の画像構成要素の面積重心を求める。
【００７１】
ここで、第１の画像構成要素とは、第１のマーカーにあらかじめ設定された所定の領域であり、第１のマーカーの一部分であってもよく、第１のマーカーの全ての領域であってもよい。
【００７２】
例えば、図３（Ａ）と図３（Ｂ）に第１のマーカーと第１の画像構成要素の一例を示す。図３（Ａ）は、第１のマーカーＭＫ１と第１の画像構成要素ＩＭＦ１が一致している例を示している。また、図３（Ｂ）は、第１のマーカーＭＫ２と第１の画像構成要素ＩＭＦ２が一致しておらず、第１の画像構成要素ＩＭＦ２が第１のマーカーＭＫ２の一部の領域として設定されている例を示している。
【００７３】
また、面積重心とは、物体の所定の領域において、単位面積当たりの質量が均一である場合に、各単位面積領域にはたらく重力の合力の作用点、言い換えれば質量の中心点のことをいう。例えば、三角形の場合には、２つの中線の交点が面積重心となる。具体的には、図３（Ａ）の場合にはＡＣＰ１が面積重心であり、図３（Ｂ）の場合にはＡＣＰ２が面積重心である。
【００７４】
そして、面積重心に基づいて、第１のマーカーが示す向きを表すマーカー向き情報を求める。
【００７５】
ここで、マーカー向き情報とは、撮像画像の縦軸と横軸を基準として、第１のマーカーが示す向きを表す情報のことをいう。本実施形態では、マーカー向き情報により表される向きをパレットの向きとみなして、ロボットを制御する。
【００７６】
具体例として、図４（Ａ）、図４（Ｂ）に、面積重心に基づき求めたマーカー向き情報の一例を示す。図４（Ａ）において、第１のマーカーＭＫ１の第１の画像構成要素ＩＭＦ１の面積重心はＡＣＰ１として求められている。この場合に、例えば第１の画像構成要素の中線の中点へ面積重心から向かう方向が、第１のマーカーが示す向きであると判断する。すると、図４（Ａ）では、第１の画像構成要素ＩＭＦ１の中線ＭＬ１の中点ＭＰ１へ面積重心ＡＣＰ１から向かう方向ＤＲＭ１が、第１のマーカーが示す向きである。同様に、中線ＭＬ２、ＭＬ３の中点ＭＰ２、ＭＰ３について考えた場合には、第１のマーカーが示す向きとしてＤＲＭ２、ＤＲＭ３が求められる。これらの向きＤＲＭ１、ＤＲＭ２、ＤＲＭ３を表す情報がマーカー向き情報となる。
【００７７】
同様に、図４（Ｂ）の場合にも、第１のマーカーＭＫ２の第１の画像構成要素ＩＭＦ２における面積重心ＡＣＰ２を求め、第１の画像構成要素ＩＭＦ２の中線ＭＬ４、ＭＬ５、ＭＬ６の中点ＭＰ４、ＭＰ５、ＭＰ６へ面積重心ＡＣＰ２から向かう方向を、それぞれＤＲＭ４、ＤＲＭ５、ＤＲＭ６として求める。これらの向きＤＲＭ４、ＤＲＭ５、ＤＲＭ６を表す情報がマーカー向き情報となる。
【００７８】
以上のようにして、マーカー向き情報を求め、マーカー向き情報に応じてロボット３０を制御することが可能となる。本実施形態によれば、回転させた画像構成要素と回転前の画像構成要素と画像比較処理を行わず、マーカー向き情報を求めること等が可能となるため、処理部への処理負荷を軽減することが可能となる。また、操作対象物の製造時等にあらかじめ操作対象物に物理的な形状やマーカー等を設定しておく必要がないため、準備コストを削減することが可能となる。
【００７９】
また、撮像部により作業スペースを撮像した結果、操作対象物の撮像画像においてオクルージョンが発生している場合がある。
【００８０】
ここで、オクルージョンとは、ロボットのアーム等の手前にある障害物に遮られて、本来の撮像対象である奥の物体が見えなくなっている状態のことをいう。また、本実施形態では、撮像部の視野範囲の外に物体が存在しているため、物体が見えなくなっている状態も同様に、オクルージョンとして扱う。
【００８１】
オクルージョンが発生している場合には、撮像画像に操作対象物の一部の領域しか映されておらず、場合によっては操作対象物のほとんどの部分が映されていないこともある。このような場合には、撮像画像のみに基づいて、操作対象物の位置や向きを特定することはできない。
【００８２】
しかし、本実施形態では、オクルージョンが発生している場合であっても、第１のマーカーを認識することさえできれば、第１のマーカーの認識処理の結果に基づいて、マーカー向き情報を特定することが可能となる。そして、このような場合であっても、マーカー向き情報に基づいて、ロボットを制御することが可能となる。
【００８３】
上記のように、マーカー向き情報を求める場合、設定された第１の画像構成要素によっては、マーカーが示す向きが複数、マーカー向き情報に含まれる場合がある。
【００８４】
そこで、処理部１１０は、第１のマーカーの認識処理の結果に基づいて、非回転対称である第１の画像構成要素の面積重心を求め、面積重心に基づいてマーカー向き情報を求めてもよい。
【００８５】
非回転対称である第１の画像構成要素とは、２次元座標上において面積重心を中心に第１の画像構成要素を回転させる場合に、一回転させて初めて回転前の第１の画像構成要素と一致する第１の画像構成要素のことをいう。言い換えれば、非回転対称である第１の画像構成要素とは、面積重心を中心に３６０°回転させるまでに、回転前の第１の画像構成要素と一致しない第１の画像構成要素のことである。
【００８６】
具体例を図５に示す。図５では、第１のマーカーＭＫの第１の画像構成要素はＩＭＦであり、ＭＫとＩＭＦは一致している。この時、第１の画像構成要素ＩＭＦは、面積重心ＡＣＰを中心に一回転させて初めて回転前のＩＭＦと一致するため、非回転対称である第１の画像構成要素である。また、この例では、例えば第１のマーカーＭＫが形成する矢印の底辺からの高さＬＭを第１のマーカーＭＫの高さとして求める。そして、ＬＭの半分の高さを表す点線ＣＬを基準として、面積重心ＡＣＰが位置する方向と逆の方向ＤＲが、第１のマーカーが示す向きであると判断し、マーカー向き情報を求める。ただし、マーカー向き情報を求める方法はこれに限定されない。
【００８７】
また、ここでは、非回転対称であり、撮像画像に対する向きを一方向に特定することができる性質のことを指向性と呼ぶ。したがって、図５に示す第１のマーカーＭＫなどは指向性を有するマーカーとも呼ぶことができる。
【００８８】
これにより、第１のマーカーに設定された非回転対称である第１の画像構成要素の面積重心を求め、面積重心に基づいてマーカー向き情報を求めること等が可能になる。第１の画像構成要素は非回転対称であるため、第１の画像構成要素の面積重心からマーカー向き情報を一つに特定すること等が可能となる。本実施形態は、マーカーが示す向きが複数含まれるマーカー向き情報が求められる場合に比べて、マーカーが示す向きを一方向に特定する処理が不要である点が優位である。さらに、上述した手法と同様に、オクルージョンの影響を受けにくいという点が優位である。
【００８９】
また、処理部１１０は、第１のマーカーの認識処理の結果に基づいて、第１のマーカーにおける第１の画像構成要素の外形重心を求め、面積重心と外形重心とに基づいて、マーカー向き情報を求めてもよい。
【００９０】
ここで、外形重心とは、物体の中心位置から最も外側に位置する輪郭線によって囲まれる領域の重心のことをいう。具体例は後述する。
【００９１】
これにより、第１の画像構成要素の面積重心と外形重心とに基づいて、マーカー向き情報を求めること等が可能になる。また、面積重心と外形重心とが一致していない場合には、面積重心の位置と外形重心の位置との差に基づいて、マーカー向き情報を求めること等が可能になる。
【００９２】
上記のように面積重心と外形重心とに基づきマーカー向き情報を求める場合に、面積重心と外形重心が一致してしまい、結果的に１点から求める場合と同じ結果となることがある。面積重心と外形重心がずれていれば、２点間の位置の差に基づきマーカー向き情報を求めることが可能であるため、面積重心と外形重心はずれていることが望ましい。
【００９３】
そこで、処理部１１０は、画像情報に基づいて、第１の画像構成要素の内側に第２の画像構成要素が設定された第１のマーカーの認識処理を行い、第１のマーカーの認識処理の結果に基づいて、第１の画像構成要素の面積重心と外形重心とを求め、面積重心と外形重心とに基づいて、マーカー向き情報を求めてもよい。
【００９４】
ここで、第１の画像構成要素の内側とは、第１の画像構成要素の最も外側の輪郭線により囲まれた範囲の内側を指す。
【００９５】
また、第２の画像構成要素とは、第１のマーカーの最も外側の輪郭線により囲まれた範囲内にあらかじめ設定された所定の領域であり、第１のマーカーの一部分であってもよく、第１のマーカー内に存在する空間であってもよい。
【００９６】
例えば、具体例として、第２の画像構成要素が設定された第１のマーカーの外形重心と面積重心とに基づき、マーカー向き情報を求める一例を、図６（Ａ）、図６（Ｂ）に示す。図６（Ａ）において、第１のマーカーＭＫ１の第１の画像構成要素ＩＭＦ１の面積重心はＡＣＰ１であり、ＩＭＦ１の外形重心はＯＣＰ１として求められる。本例でＩＭＦ１の面積重心ＡＣＰ１を求める場合には、ＩＭＦ１の輪郭線により囲まれる範囲で、かつＩＭＦ１の内部に設けられた第２の画像構成要素ＩＭＦ２の輪郭線の外側の範囲において、面積重心を求め、ＡＣＰ１とする。一方で、本例でＩＭＦ１の外形重心ＯＣＰ１を求める場合には、ＩＭＦ２もＩＭＦ１の一部として扱い、第１の画像構成要素ＩＭＦ１の輪郭線により囲まれる範囲の面積重心を求め、求めた面積重心を外形重心ＯＣＰ１とする。
【００９７】
このように、第１の画像構成要素の内側に第２の画像構成要素を設定したことにより、第１の画像構成要素の面積重心の位置と外形重心の位置とをずらすこと等が可能となる。その結果、面積重心の位置と外形重心の位置との差に基づいて、マーカー向き情報を求めること等が可能になる。
【００９８】
例えば、図６（Ａ）では、面積重心ＡＣＰ１から外形重心ＯＣＰ１へ向かう方向ＤＲＭ１を第１のマーカーが示す向きとして、マーカー向き情報を求める。
【００９９】
同様にして、図６（Ｂ）では、第１の画像構成要素ＩＭＦ３の内側に第２の画像構成要素ＩＭＦ４が設定され、ＩＭＦ３の面積重心ＡＣＰ２と外形重心ＯＣＰ２と求めることにより、第１のマーカーＭＫ２が示す向きＤＲＭ２を求めることができる。
【０１００】
以上のように、本実施形態によれば、画像比較処理等を行わず、第１のマーカーが示す向きを一方向に特定して、マーカー向き情報を求めること等が可能となる。
【０１０１】
極めて正確にロボットを制御する必要がある場合などにおいては、第１のマーカーから得られるマーカー向き情報だけでは、ロボットを制御する情報として不足であることがある。
【０１０２】
そこで、処理部１１０は、第１のマーカーの第１の画像構成要素の内側に設定され、ロボット３０の制御情報が埋め込まれた第２のマーカーの認識処理を、画像情報に基づいて行ってもよい。そして、制御部１２０は、第１のマーカーと第２のマーカーの認識処理の結果に基づいて、ロボット３０を制御してもよい。
【０１０３】
ここで、第２のマーカーとは、前述したマーカーの一つであり、第２のマーカーを構成する文字、図形、記号、模様もしくは立体的形状もしくはこれらの結合又はこれらと色彩との結合が、ロボットを制御する際に用いられる制御情報を表しているマーカーのことをいう。
【０１０４】
例えば、図７（Ａ）は、第１のマーカーＭＫ１と一致する第１の画像構成要素ＩＭＦ１の内側に設定された第２のマーカーＭＫ２を示している。本例では、第２のマーカーＭＫ２の白色と黒色の配色パターンによって、制御情報を表しており、ＭＫ２の配色パターンの認識処理を行うことにより、制御情報を取得することが可能である。配色パターンと制御情報の対応関係はあらかじめ定めておく。
【０１０５】
これにより、第１のマーカーの認識処理の結果に基づき求められたマーカー向き情報と、第２のマーカーの認識処理の結果に基づき求められた制御情報とに基づいて、ロボット３０を制御すること等が可能になる。
【０１０６】
第２のマーカーが埋め込まれていることが分かっていたとしても、第２のマーカーの探索範囲が広い場合には、第２のマーカーの探索処理の負荷が大きくなってしまう場合がある。
【０１０７】
そこで、処理部１１０は、画像情報に基づいて、第１の画像構成要素の内側に第２の画像構成要素が設定された第１のマーカーの認識処理と、第１のマーカーの第２の画像構成要素の内側に設定された第２のマーカーの認識処理を行ってもよい。そして、制御部１２０は、第１のマーカーと第２のマーカーとの認識処理の結果に基づいて、ロボット３０を制御してもよい。
【０１０８】
例えば、図７（Ｂ）は、第１の画像構成要素ＩＭＦ２の内側に第２の画像構成要素ＩＭＦ３が設定された第１のマーカーＭＫ２と、ＩＭＦ３の内側に設定された第２のマーカーＭＫ３を示している。
【０１０９】
これにより、第１の画像構成要素の内側に第２の画像構成要素が設定された第１のマーカーの認識処理と、第１のマーカーの第２の画像構成要素の内側に設定された第２のマーカーの認識処理を行うこと等が可能になる。この時、第２のマーカーは、第１のマーカーの第１の画像構成要素と第２の画像構成要素の内側に設定されている。その結果、第２のマーカーの探索範囲を第２の画像構成要素の内側に絞り込むこと等が可能になる。
【０１１０】
また、処理部１１０は、第１の画像構成要素の画素の位置情報に基づいて、面積重心を求めてもよい。
【０１１１】
ここで、画素の位置情報とは、撮像画像内における各画素が存在する座標を表す情報のことをいう。
【０１１２】
例えば、画像構成要素の画素の位置情報に基づき面積重心を求める具体例を図８に示す。図８では、撮像画像ＰＩＭ内で、第１のマーカーＭＫが画素ＰＸの集合により表されている。また、撮像画像の右下の点を原点（０、０）とする座標位置を画素の位置情報として用いる。本例では、各画素ＰＸに均一に重み付けを行う。例えば、全ての画素の重みが１であるとする。そして、各画素に割り当てた重みと座標位置とに基づいて、面積重心ＡＣＰを求めると、座標（１２、１０）が面積重心ＡＣＰとして求められる。
【０１１３】
これにより、第１の画像構成要素の画素の位置情報に基づいて、面積重心を求めること等が可能になり、面積重心を求める処理を簡易化すること等が可能となる。
【０１１４】
また、ワークが配置される複数の区画を有するパレットが操作対象物である場合に、処理部１１０は、パレットに設定されたマーカー向き情報に基づいて、パレットの区画位置情報を求めてもよい。そして、制御部１２０は、区画位置情報に基づいて、ロボット３０の制御を行ってもよい。
【０１１５】
ここで、区画位置情報とは、パレットの区画に関する情報であり、例えば、パレットの外枠に対する各区画の位置を表す情報などを指す。具体例については後述する。
【０１１６】
具体例として、マーカー向き情報に基づいて、パレットの区画位置情報を求める様子を図９（Ａ）〜図９（Ｃ）に示す。まず、第１のマーカーＭＫが図９（Ａ）のような位置にある場合には、パレットの候補位置としてＰＣ１〜ＰＣ３などが考えられる。次に、図９（Ｂ）のように、第１のマーカーＭＫの認識処理を行い、マーカーが示す向きＤＲＭを表すマーカー向き情報を求める。そして、制御部は、マーカー向き情報に基づき、パレットの候補位置の中からＰＣ１が正しいパレットの位置であるとみなして、ロボットを制御する。なお、パレットの正しい位置を推定するには、第１のマーカーＭＫの貼付位置と向きをあらかじめ定めておく必要があり、本例においては第１のマーカーＭＫはパレットの右上の所定位置に、パレットの上向きに貼付すると定めておく。そのような場合に、マーカーが示す向きがＤＲＭと分かれば、パレットの位置はＰＣ１と推定できる。最後に、正しいと推定したパレットの位置ＰＣ１内において、区画ＤＶの探索処理を行い、パレットの区画位置情報を求める。
【０１１７】
これにより、マーカー向き情報に基づいて、パレットの区画位置情報を求め、区画位置情報に基づいて、ロボット３０の制御を行うこと等が可能になる。その結果、ロボット３０の各部をパレットの区画位置に対してより正確に移動させること等が可能になる。
【０１１８】
また、処理部１１０は、第１のマーカーの第１の画像構成要素の内側に設定され、ロボット３０の制御情報が埋め込まれたマーカーである第２のマーカーの認識処理を、画像情報に基づいて行い、第２のマーカーの認識処理の結果に基づいて、制御情報に含まれる区画位置情報を求めてもよい。
【０１１９】
具体的に、図１０（Ａ）と図１０（Ｂ）は、第２のマーカーに埋め込まれた制御情報に含まれる区画位置情報の一例である。図１０（Ａ）は、制御情報に含まれる区画位置情報の一例をまとめた表である。なお、図１０（Ａ）の表に記載された未使用区画とは、区画の形状等に起因して使用することができない区画を表す。また、図１０（Ｂ）は、図１０（Ａ）に記載した区画位置情報を撮像画像内のパレットに照らし合わせた様子である。
【０１２０】
これにより、第２のマーカーの認識処理に基づいて、第２のマーカーに埋め込まれたロボット３０の制御情報を取得すること等が可能となり、制御情報に含まれるパレットの区画位置情報を求め、区画位置情報に基づいて、ロボット３０の制御を行うこと等が可能になる。
【０１２１】
４．処理の詳細
以下では、図１１〜図１３のフローチャートを用いて、本実施形態の処理の流れについて説明する。
【０１２２】
４．１  パレタイズ処理の詳細
初めに、図１１を用いて、パレタイズ処理の流れについて説明する。まず、作業者がパレットにマーカーを貼付する（Ｓ１）。この際、作業者はパレットの向きと、パレット内の所定の位置に合わせて、マーカーを貼付する。例えば、パレットの上方向とマーカーの所定の方向とが一致するようにマーカーを貼ることを定めておく。同様に、パレット内の所定の位置をマーカー貼付位置としてあらかじめ定めておく。但し、作業者がマーカーを所定の位置と向きに誤差なく貼付することは不可能であるため、マーカーが貼付されている位置と向きに誤差があっても問題はない。
【０１２３】
次に、マーカーが貼付されたパレットを作業者が作業スペースに配置する（Ｓ２）。本実施形態では、図１のように作業者とロボットが協業するような場合を想定しているため、作業者の作業が完了した段階で、ロボットの作業スペース内にパレットを配置する。この時、作業者はパレットの位置や向きに注意を払う必要はない。
【０１２４】
そして、ロボット制御システムは、撮像部から得られた画像情報に基づいて、マーカーを検出し（Ｓ３）、マーカーが見つかったか否かを判断する（Ｓ４）。マーカーが見つかった場合には、パレット位置算出処理を行う（Ｓ５）。パレット位置算出の詳細については後述する。一方、マーカーが見つからなかった場合には、全ての処理を終了する。
【０１２５】
次に、パレット位置算出処理の結果に基づき、パレット内の区画［１、１］に対応する位置へロボットのハンドを移動させ、区画［１、１］をロボットの処理対象とする（Ｓ６）。そして、ロボットの処理対象となる区画内に既にワークが存在するか否かを判断する（Ｓ７）。ロボットの処理対象となる区画内にワークが存在しない場合には、ワークのパレタイズ処理を行う（Ｓ８）。そして、パレタイズ処理を実施した後、またはロボットの処理対象となる区画内に既にワークが存在する場合には、全区画についてパレタイズ処理を行ったか否かを判断する（Ｓ９）。全区画についてパレタイズ処理を行っていないと判断する場合には、次の区画に対応する位置にロボットのハンドを移動させる（Ｓ１０）。一方、全区画についてパレタイズ処理を行ったと判断する場合には、全ての処理を終了する。
【０１２６】
４．１．１  パレットの位置算出処理の詳細
次に、図１２を用いて、図１１におけるパレット位置算出処理（Ｓ５）の詳細について説明する。
【０１２７】
まず、撮像部から得られた画像情報に基づき、画像情報により表される第１のマーカーを二値化する（Ｓ２０）。次に、二値化した第１のマーカーの情報に基づいて、第１のマーカーの面積重心を算出し（Ｓ２１）、第１のマーカーの輪郭線を抽出する（Ｓ２２）。そして、抽出した第１のマーカーの輪郭線に基づいて、第１のマーカーの外形重心を算出する（Ｓ２３）。
【０１２８】
次に、面積重心と外形重心とが所定の距離以上離れているかを判断する（Ｓ２４）。面積重心と外形重心とが所定の距離以上離れていると判断する場合には、マーカー向き情報を算出する（Ｓ２５）。例えば、面積重心から外形重心へ向かう方向をマーカーが示す向きとするようにして、マーカー向き情報を算出する。一方、面積重心と外形重心とが所定の距離以上離れていないと判断する場合には、パレタイズ処理（またはデパレタイズ処理）に関する全ての処理を終了する。
【０１２９】
そして、算出したマーカー向き情報と画像情報から得られるパレットの位置とに基づいて、パレットの位置情報を特定する（Ｓ２６）。
【０１３０】
また、第１のマーカーから特定したパレットの位置情報をさらに補完するために、第２のマーカーから制御情報を読み取る（Ｓ２７）。そして、制御情報に含まれるパレットの区画に関する情報である区画位置情報を特定する（Ｓ２８）。以上が、パレットの位置算出処理である。
【０１３１】
４．２  デパレタイズ処理の詳細
最後に、図１３を用いて、デパレタイズ処理の流れについて説明する。デパレタイズ処理の流れはパレタイズ処理の流れとほぼ同様である（Ｓ４１~Ｓ４６、Ｓ４９、Ｓ５０）。また、パレット位置算出処理も、図１２と同様である。
【０１３２】
デパレタイズ処理は、パレタイズ処理とＳ４７、Ｓ４８の処理が異なっている。区画［１、１］にロボットのハンドを移動させ、ロボットの処理対象となる区画を認識した後は、処理対象である区画内にワークが存在している否かを判断する（Ｓ４７）。処理対象である区画内にワークが存在していると判断する場合には、デパレタイズ処理を行い、区画内からワークを取り出す（Ｓ４８）。一方、処理対象である区画内にワークが存在していないと判断する場合には、デパレタイズ処理は行わない。以降は、図１１の場合と同様である。
【０１３３】
以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またロボット制御システムの構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１３４】
１０  ロボット制御システム、２０  撮像部、３０  ロボット、４０  ワーク、
５０  パレット、６０  マーカー、７０  作業者、
１１０  処理部、１１２  マーカー向き情報特定部、１１４  区画位置情報特定部、
１２０  制御部、１３０  記憶部、１４０  Ｉ／Ｆ部（入力部）、
３１０  制御部、３２０  アーム、３３０  ハンド
【図１】
2013010157.tif 000003
【図２】
2013010157.tif 000004
【図３】
2013010157.tif 000005
【図４】
2013010157.tif 000006
【図５】
2013010157.tif 000007
【図６】
2013010157.tif 000008
【図７】
2013010157.tif 000009
【図８】
2013010157.tif 000010
【図９】
2013010157.tif 000011
【図１０】
2013010157.tif 000012
【図１１】
2013010157.tif 000013
【図１２】
2013010157.tif 000014
【図１３】
2013010157.tif 000015