(57)【要約】【課題】ロボットシステムの汎用性を高めることができるロボットシステム、ロボット、制御装置、及び制御方法を提供する。【解決手段】ロボットシステムは、供給されたワークを組み立てるロボットと、数字情報を持つマーカーと、前記マーカーを含む撮像画像を撮像する撮像部と、前記撮像画像を用いて、前記ロボットを動作させる制御部と、を含み、前記制御部は、前記撮像画像により、前記ロボットに供給された前記ワークの個数情報を取得する。【選択図】図１
2015217462.tif 000002
【特許請求の範囲】
【請求項１】
供給されたワークを組み立てるロボットと、
数字情報を持つマーカーと、
前記マーカーを含む撮像画像を撮像する撮像部と、
前記撮像画像を用いて、前記ロボットを動作させる制御部と、を含み、
前記制御部は、
前記撮像画像により、前記ロボットに供給された前記ワークの個数情報を取得する、
ロボットシステム。
【請求項２】
前記制御部は、前記マーカーを複数読み取り、読み取った複数のマーカーに基づいて単一の前記個数情報を取得する、
請求項１に記載のロボットシステム。
【請求項３】
前記ロボットは、供給された複数の前記ワークを組み立て、
前記制御部は、前記複数の前記ワーク各々の個数情報のうちの最も数字の小さい個数情報を取得する、
請求項１または請求項２に記載のロボットシステム。
【請求項４】
供給されたワークを組み立てるハンドと、
前記ハンドを動作させる制御部と、を含み、
前記制御部は、
撮像部が撮像した数字情報を持つマーカーを含む撮像画像により、供給された前記ワークの個数情報を取得する、
ロボット。
【請求項５】
供給されたワークを組み立てるロボットを動作させる制御装置であって、
撮像部が撮像した数字情報を持つマーカーを含む撮像画像により、前記ロボットに供給された前記ワークの個数情報を取得する、
制御装置。
【請求項６】
供給されたワークを組み立てるロボットを動作させる制御方法であって、
数字情報を持つマーカーを含む撮像画像を撮像するここと、
前記撮像画像により、前記ロボットに供給された前記ワークの個数情報を取得することと、
取得した前記ワークの前記個数情報により、前記ロボットを動作させることと、
を含む制御方法。
【請求項７】
供給されたワークを組み立てるロボットと、
数字情報を持つマーカーと、
前記ロボットを動作させる制御部と、を含み、
前記制御部は、
前記ロボットによって組み立てられた組立品の個数に基づいて、前記ロボットに前記マーカーを配置させる、
ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステム、ロボット、制御装置、及び制御方法に関する。
【背景技術】
【０００２】
従来、製造現場において、多品種少量生産を行うことができるロボットシステムの需要がある。このようなロボットシステムに関連して、例えば、部品の種類の変更や部品点数の増減にも容易に対応することが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−２３２８２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来は、ロボットシステムの汎用性が高められない場合があった。例えば、ロボットシステムにおいて、各ロボットに給材される部品の個数や各ロボットが作業を完了したワークの個数は、各ロボットと接続された中央のシステムにより管理されていることがあった。つまり、ロボット間で直接情報のやり取りが行われていないことがあった。そのため、多品種少量生産の現場において生産品種の変更などを行う場合は、中央のシステムを含め、システムの大規模な組み換えが必要となり、作業効率が落ちることがあった。
【０００５】
本発明は、前記の点に鑑みてなされたものであり、ロボットシステムの汎用性を高めることができるロボットシステム、ロボット、制御装置、及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するためになされたものであり、本発明の一実施形態は、供給されたワークを組み立てるロボットと、数字情報を持つマーカーと、前記マーカーを含む撮像画像を撮像する撮像部と、前記撮像画像を用いて、前記ロボットを動作させる制御部と、を含み、前記制御部は、前記撮像画像により、前記ロボットに供給された前記ワークの個数情報を取得する、ロボットシステムである。
この構成により、ロボットシステムは、マーカーに基づいて、給材されたワークの個数を認識する。そのため、給材されたワークの個数に変更があった場合でも、その変更を認識することができる。従って、ロボットシステムは、その汎用性を高めることができる。
【０００７】
また、本発明の一実施形態は、前記制御部は、前記マーカーを複数読み取り、読み取った複数のマーカーに基づいて単一の前記個数情報を取得する、ロボットシステムである。
この構成により、例えば、桁の大きい数字を表現する場合であっても、０〜９の数字情報を持つマーカー群を準備するだけでよい。そのため、ロボットシステムは、給材されたワークの個数が大きく変動する場合であっても、その変動を認識することができる。従って、ロボットシステムは、その汎用性を高めることができる。
【０００８】
また、本発明の一実施形態は、前記ロボットは、供給された複数の前記ワークを組み立て、前記制御部は、前記複数の前記ワーク各々の個数情報のうちの最も数字の小さい個数情報を取得する、ロボットシステムである。
この構成により、例えば、供給された複数のワークの個数がそれぞれ異なる場合であっても、最も少ないワークの個数を取得するため、組み立て可能なワークの個数を認識する。従って、ロボットシステムは、その汎用性を高めることができる。
【０００９】
また、本発明の一実施形態は、供給されたワークを組み立てるハンドと、前記ハンドを動作させる制御部と、を含み、前記制御部は、撮像部が撮像した数字情報を持つマーカーを含む撮像画像により、供給された前記ワークの個数情報を取得する、ロボットである。
この構成により、ロボットの汎用性を高めることができる。
【００１０】
また、本発明の一実施形態は、供給されたワークを組み立てるロボットを動作させる制御装置であって、撮像部が撮像した数字情報を持つマーカーを含む撮像画像により、前記ロボットに供給された前記ワークの個数情報を取得する、制御装置である。
この構成により、制御装置は、ロボットシステムの汎用性を高めることができる。
【００１１】
また、本発明の一実施形態は、供給されたワークを組み立てるロボットを動作させる制御方法であって、数字情報を持つマーカーを含む撮像画像を撮像するここと、前記撮像画像により、前記ロボットに供給された前記ワークの個数情報を取得することと、取得した前記ワークの前記個数情報により、前記ロボットを動作させることと、を含む制御方法である。
この制御方法により、ロボットシステムの汎用性を高めることができる。
【００１２】
また、本発明の一実施形態は、供給されたワークを組み立てるロボットと、数字情報を持つマーカーと、前記ロボットを動作させる制御部と、を含み、前記制御部は、前記ロボットによって組み立てられた組立品の個数に基づいて、前記ロボットに前記マーカーを配置させる、ロボットシステムである。
この構成により、制御部は、ロボットを制御して、例えば、組み立てられた組立品の個数を示すマーカーを配置する。すなわち、制御部は、マーカーにより、組み立てられた組立品の個数を下流の工程に位置する人間やロボットシステムなどに伝達する。従って、ロボットシステムの汎用性を高めることができる。
【００１３】
以上のように、本発明によれば、数字情報を持ったマーカーを利用することにより、ロボットとロボットの間、または、ロボットと人間との間で数字情報を伝達することができる。従って、ロボットシステムの汎用性を高めることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係るロボットシステムの概略的な構成を示す図である。
【図２】本発明の一実施形態に係る第１の制御装置の概略的な機能構成を示す図である。
【図３】本発明の一実施形態に係る第２の制御装置の概略的な機能構成を示すブロック図である。
【図４】本発明の一実施形態に係るロボットシステムによる作業の第一例を説明するための模式図である。
【図５】本発明の一実施形態に係るトレイを説明するための模式図である。
【図６】本発明の一実施形態に係る第１の制御装置による処理の流れを示すフローチャートである。
【図７】本発明の一実施形態に係る第２の制御装置による処理の流れを示すフローチャートである。
【図８】本発明の一実施形態に係る第３の制御装置の概略的な機能構成を示す図である。
【図９】本発明の一実施形態に係るロボットシステムによる作業の第２例を説明するための図である。
【図１０】本発明の一実施形態に係る第３の制御装置による処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１５】
本発明の実施形態について図面を参照して詳細に説明する。
［ロボットシステムの概要］
図１は、本発明の一実施形態に係るロボットシステム１の概略的な構成例を示す図である。
本実施形態に係るロボットシステム１は、ロボット１０と、撮像部３０と、図示しないマーカーと、を備える。ロボット１０は、その内部に制御装置２０を含む。撮像部３０とロボット１０の制御装置２０とは、回線を介して通信可能に接続される。本実施形態において、当該回線は有線であるが、無線であってもよい。
【００１６】
ロボットシステム１は、例えば、給材されたワークを組み立てる作業を行うシステムである。ロボットシステム１が備えるロボット１０は、主に２つの動作を行う。第１の動作において、ロボット１０は、成功した作業の回数を示すマーカーを把持し、把持したマーカーを所定位置に配置する。第２の動作において、ロボット１０は、ワークの数を示すマーカーを検出し、作業を実行する回数を、検出したマーカーに基づいて決定する。
【００１７】
ロボット１０は、例えば２本の腕（アーム）を構成するマニピュレーター１１を備える双腕の多関節ロボットである。マニピュレーター１１は、その先端部にハンド（把持部）と力（力覚）センサーとを備える。また、マニピュレーター１１は、ハンドや関節部などを駆動する駆動部（アクチュエーター）を備え、制御装置２０から取得する制御信号に基づいて動作する。
【００１８】
ハンドは、ワークを把持するための構成部材を備え、例えば、２つ以上の指状の部材を備える。また、ハンドは、ワークを把持したり、持ち上げたり、吊り上げたり、吸着したり、加工したりなどの操作を行うことができるハンドフック、吸盤などのエンドエフェクターであってもよい。力センサーは、ハンドに加わる力とモーメントとを検出する。力センサーは、検出した力とモーメントとを示す力覚情報を制御装置２０に出力する。力センサーは、例えば、並進３軸方向の力成分とその周りのモーメント成分との６成分を同時に検出する。ここで、並進３軸とは、例えば、３次元直交座標系を形成する互いに直交する３つの座標軸（Ｘ軸、Ｙ軸、Ｚ軸）である。
【００１９】
撮像部３０は、カメラモジュールを備え、ロボット１０の作業領域を表す画像を撮像することが可能な配置で設置される。撮像部３０は、作業対象のワーク及びマーカーを含む画像を、例えば、３０［ｍｓｅｃ］などの所定の時間間隔で撮像する。また、撮像部３０は、通信用インターフェイスを備え、回線に接続されている。撮像部３０は、回線を介して、撮像した画像の情報を制御装置２０に送信する。ロボットシステム１は、３次元空間を認識可能にするため、異なる位置に設置された複数の撮像部３０を備えてよい。
【００２０】
制御装置２０は、ロボット１０の動作を制御する制御装置であり、装置の内部にＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と記憶装置とを備える。上述したように、ロボット１０は、第１の動作と第２の動作とを行う。以下では、ロボット１０に第１の動作を行わせる制御装置２０を第１の制御装置２０−１とする。また、ロボット１０に第２の動作を行わせる制御装置２０を第２の制御装置２０−２とする。
【００２１】
［制御装置の概要］
図２は、第１の制御装置２０−１の概略的な機能構成を示す図である。
第１の制御装置２０−１は、記憶部２１−１と、入力部２２−１と、出力部２３−１と、制御部２４−１とを備える。
【００２２】
記憶部２１−１は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、又はＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒy）などを備える。また、記憶部２１−１は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）、フラッシュメモリーなどの外部記憶装置を備えてよい。記憶部２１−１は、第１の制御装置２０−１が備えるＣＰＵが実行するための各種プログラムやＣＰＵが実行した処理の結果などを記憶する。
【００２３】
また、記憶部２１−１は、ロボット１０に対する各種制御を実行し、作業を達成するための情報を記憶する。例えば、記憶部２１−１は、ロボット１０が一回のルーチンで試みる作業の回数を示す情報を記憶する。制御部２４−１の一部又は全部は、例えば、第１の制御装置２０−１が備えるＣＰＵが記憶部２１−１に記憶されているプログラムを実行することによって機能する。なお、制御部２４−１の一部又は全部は、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）やＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などのハードウェアにより構成されてもよい。
【００２４】
入力部２２−１は、外部からの入力を受け付ける。入力部２２−１は、例えば、ロボットシステム１のユーザーから入力される操作を受け付けるためのキーボードやマウスなどを備えてよい。また、入力部２２−１は、例えば、通信用インターフェイスを備え、外部装置からの入力を受け付ける機能を備えてよい。
【００２５】
出力部２３−１は、外部に各種情報の出力を行う。出力部２３−１は、例えば、ユーザーに対して、画像情報を出力する液晶ディスプレイや有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどの表示装置などを備えてよい。また、出力部２３−１は、例えば、ユーザーに対して音声情報を出力するスピーカーなどを備えてよい。また、出力部２３−１は、例えば、通信用インターフェイスを備え、外部装置へ情報を出力する機能を備えてよい。
【００２６】
制御部２４−１は、取得部２４１−１と、計数部２４２と、制御信号生成部２４３−１と、を備える。
取得部２４１−１は、ロボット１０が備える各種センサーから送信された情報及び撮像部３０が撮像した画像の情報を取得し、制御信号生成部２４３−１に出力する。
計数部２４２は、作業の成功及び失敗を判定し、作業の成功回数又は失敗回数を計数する。計数部２４２は、例えば、記憶部２１−１に記憶されている所定回数作業が行われたときに、それまでに計数した作業の成功回数又は失敗回数を示す数字情報を制御信号生成部２４３−１に出力する。
【００２７】
制御信号生成部２４３−１は、取得部２４１−１から取得した各種情報に基づいて、ロボット１０を動作させ、作業を行わせるための制御信号を生成する。また、制御信号生成部２４３−１は、計数部２４２から出力された数字情報に基づいて、ロボット１０にマーカーを配置させるための制御信号を生成する。制御信号生成部２４３−１は、生成した制御信号をロボット１０に送信する。
【００２８】
図３は、第２の制御装置２０−２の概略的な機能構成を示す図である。
第２の制御装置２０−２は、記憶部２１−２と、入力部２２−２と、出力部２３−２と、制御部２４−２と、を備える。第２の制御装置２０−２が備える入力部２２−２及び出力部２３−２は、第１の制御装置２０−１が備える入力部２２−１及び出力部２３−１と、それぞれ、同様であるため、説明を省略する。
【００２９】
記憶部２１−２は、例えば、記憶部２１−１と同様のハードウェア構成を備える。記憶部２１−２は、第２の制御装置２０−２が備えるＣＰＵが実行するための各種プログラムやＣＰＵが実行した処理の結果などを記憶する。また、記憶部２１−２は、ロボット１０に対する各種制御を実行し、作業を達成するための情報を記憶する。制御部２４−２の一部又は全部は、例えば、第２の制御装置２０−２が備えるＣＰＵが記憶部２１−２に記憶されているプログラムを実行することによって機能する。なお、制御部２４−２の一部又は全部は、ＬＳＩやＡＳＩＣなどのハードウェアにより構成されてもよい。
【００３０】
制御部２４−２は、取得部２４１−２と、制御信号生成部２４３−２と、検出部２４４−１と、判定部２４５と、を備える。
取得部２４１−２は、ロボット１０が備える各種センサーから送信された情報及び撮像部３０が撮像した画像の情報を取得し、制御信号生成部２４３−２に出力する。また、取得部２４１−２は、撮像部３０が撮像した画像の情報を検出部２４４−１に出力する。
制御信号生成部２４３−２は、取得部２４１−２から取得した各種情報に基づいて、ロボット１０を動作させ、作業を行わせるための制御信号を生成する。制御信号生成部２４３−２は、生成した制御信号をロボット１０に送信する。
【００３１】
検出部２４４−１は、取得部２４１−２から取得した画像の情報からマーカーを検出する。検出部２４４−１は、検出したマーカーを解析し、数字情報を取得する。検出部２４４−１は、マーカーの検出及び数字情報の取得を、例えば、パターンマッチングや特徴量抽出などの画像処理により実行する。検出部２４４−１は、例えば、複数のマーカーを検出し、それらから取得した数字情報を判定部２４５に出力する。
判定部２４５は、検出部２４４−１から取得した数字情報に基づいて、１回のルーチンにおいて試行する作業の回数を判定する。判定部２４５は、例えば、ロボット１０に給材された複数種類のワークの数を示す複数の数字情報に基づいて、１回のルーチンにおいて試行する作業の回数を判定する。
【００３２】
［ロボットシステムの動作の概要］
図４は、ロボットシステム１による作業の第一例を説明するための模式図である。
作業の第１例において、ロボットシステム１は、２台のロボット１０−１及びロボット１０−２を備える。ロボット１０−１は、第１の制御装置２０−１により制御される。ロボット１０−２は、第２の制御装置２０−２により制御される。作業台Ｔには、トレイ６１〜６５が配置されている。マーカー台Ｍには、０〜９の数字情報を持つマーカー４０が多数配置されている。本実施形態において、０〜９の数字情報を持つマーカー４０は、３セット以上配置されている。これらのマーカー４０は、例えば、それぞれが持つ数字情報に応じて所定位置に配置されている。第２の制御装置２０−２は、マーカー４０が持つ数字情報を検出し、例えば、画像処理により取得可能である。
【００３３】
トレイ６１、６２、６３は、それぞれ、給材用のトレイである。トレイ６１上には、ワーク５１が人手により配置される。トレイ６２上には、ワーク５２が人手により配置される。トレイ６３上には、ワーク５３と、ワーク５３の個数を示すマーカー４３とが人手により配置される。以下では、マーカー４３を第１のマーカー４３と称することがある。トレイ６４は、除材及び給材用のトレイである。トレイ６４上には、ロボット１０−１により組み立てられたワーク５４と、ワーク５４の個数を示すマーカー４４とがロボット１０−１により配置される。以下では、マーカー４４を第２のマーカー４４と称することがある。トレイ６５は、除材用のトレイである。トレイ６５上には、ロボット１０−２により組み立てられた組立品５５が配置される。なお、ロボットシステム１は、トレイ６１〜６５を作業に適した所定位置に搬送する機能を備えてよい。なお、マーカー４３、４４は、マーカー４０と同様の構成を備える。
【００３４】
第１の制御装置２０−１は、ロボット１０−１を制御し、トレイ６１上に配置されたワーク５１と、トレイ６２上に配置されたワーク５２とを把持させる。第１の制御装置２０−１は、ロボット１０−１を制御し、ワーク５１とワーク５２とを組み合わせてワーク５４を組み立てさせる。第１の制御装置２０−１は、ロボット１０−１を制御し、ワーク５４をトレイ６４上に配置させる。第１の制御装置２０−１は、ワーク５４を組み立ててトレイ６４上に配置する作業を実行する度に、当該作業が成功したか否かを判定し、成功した回数を計数する。そして、第１の制御装置２０−１は、ルーチン毎に所定回数、ロボット１０−１に作業を繰り返し実行させる。第１の制御装置２０−１は、ロボット１０−１を制御し、上記の作業を所定回数繰り返し実行させると、マーカー台Ｍ上に配置されているマーカー４０のうち、それまでの作業の成功回数を示すマーカー４４を把持させる。ここで、マーカー４０は、それぞれが持つ数字情報に応じて所定位置に配置されているため、第１の制御装置２０−１は、マーカー４０が持つ数字情報を認識しなくても、特定の数字情報を持つマーカー４４を把持することができる。
【００３５】
そして、第１の制御装置２０−１は、ロボット１０−１を制御し、把持させたマーカー４４をトレイ６４上に配置させる。ここで、マーカー４４は、作業の成功回数を示すため、組み立てられたワーク５４の数を示す。この例において、第１の制御装置２０−１は、ロボット１０−１を制御し、３つのマーカー４４をトレイ６４上に配置する。これにより、ロボットシステム１は、３つのマーカー４４により３桁の数字を第１の制御装置２０−１から第２の制御装置２０−２に伝達することができる。３つのマーカー４４のトレイ６４上における配置については、後述する。
【００３６】
第２の制御装置２０−２は、撮像部３０が取得した画像の情報に基づいて、トレイ６３上に配置されたマーカー４３及びトレイ６４上に配置されたマーカー４４から、それぞれ、数字情報を取得する。第２の制御装置２０−２は、取得した２つの数字情報が示す数字のうちの小さい数字を、１回のルーチンにおける作業回数に設定する。これにより、例えば、供給された複数のワークの個数がそれぞれ異なる場合であっても、最も少ないワークの個数を取得するため、組み立て可能なワークの個数を認識する。第２の制御装置２０−２は、ロボット１０−２を制御して、例えば、数字情報を取得したマーカー４３及びマーカー４４をマーカー台Ｍ上の所定位置に戻してよい。
【００３７】
第２の制御装置２０−２は、ロボット１０−２を制御し、トレイ６３上に配置されたワーク５３と、トレイ６４上に配置されたワーク５４とを、例えば、２つのマニピュレーター１１により、それぞれ把持させる。第２の制御装置２０−２は、ロボット１０−２を制御し、ワーク５３とワーク５４とを組み合わせて組立品５５を組み立てさせる。第２の制御装置２０−２は、ロボット１０−２を制御し、組立品５５をトレイ６５上に配置させる。第２の制御装置２０−２は、ロボット１０−２を制御し、組立品５５を組み立ててトレイ６４上に配置する作業を、マーカー４０から取得した数字情報に基づいて設定された回数、ルーチン毎に繰り返し実行させる。
【００３８】
図５は、トレイ６４を説明するための模式図である。
図５に示される例において、トレイ６４上には、６つのワーク５４と３つのマーカー４４ａ〜４４ｃとが配置されている。３つのマーカー４４ａ〜４４ｃは、例えば、トレイ６４上の所定位置に配置される。３つのマーカー４４ａ〜４４ｃは、全体でワーク５４の個数を示す。マーカー４４ａは、百の位の数字を示す。マーカー４４−ｂは、十の位の数字を示す。マーカー４４ｃは、一の位の数字を示す。この例において、マーカー４４ａが表す数字は、「０」である。また、マーカー４４ｂが表す数字は、「０」である。また、マーカー４４ｃが表す数字は、「６」である。従って、マーカー４４ａ〜４４ｃは、ワーク５４の個数である「６」を表す。
【００３９】
このように、ロボットシステム１は、マーカー４４を複数個を組み合わせることにより１つの数字を表すようにしてよい。この場合、ロボットシステム１は、例えば、桁の大きい数字を表現する場合であっても、０〜９の数字情報を持つマーカー群を準備するだけでよい。これにより、ロボットシステムは、給材されたワークの個数が大きく変動する場合であっても、その変動を認識することができる。また、マーカー４４は、１つ毎に１つの数字を表すようにしてもよい。この場合、例えば、マーカー４４は、トレイ６４上に１つ配置されるものとしてよい。また、マーカー４４を複数個組み合わせて１つの数字を表す場合であっても、桁数に応じて、配置するマーカー４４の個数を変更してよい。例えば、上述の例であれば、百の位と、十の位との数字が「０」であるため、これらを示すマーカー４４ａ及び４４ｂの配置は省略されてよい。
【００４０】
図６は、第１の制御装置２０−１による処理の流れを示すフローチャートである。
まず、第１の制御装置２０−１は、作業の成功回数のカウントをリセットする（ステップＳ１０１）。次に、第１の制御装置２０−１は、ロボット１０−１を制御して、ワーク５４を組み立て、トレイ６４上に配置する作業を実行させる（ステップＳ１０２）。次に、第１の制御装置２０−１は、作業が成功したか否かを判定する（ステップＳ１０３）。作業が成功したと判定した場合（ステップＳ１０３；ＹＥＳ）、第１の制御装置２０−１は、作業の成功回数に１を加算し（ステップＳ１０４）、所定回数作業を実行したか否かを判定する（ステップＳ１０５）。また、作業が成功していない、すなわち作業が失敗したと判定した場合（ステップＳ１０３；ＮＯ）、第１の制御装置２０−１は、ステップＳ１０５に処理を進める。
【００４１】
ステップＳ１０５において、所定回数作業を実行したと判定した場合（ステップＳ１０５；ＹＥＳ）、第１の制御装置２０−１は、成功回数を示すマーカー４４をトレイ６４上に配置して（ステップＳ１０６）、１回のルーチンにおける処理を終了する。また、所定回数作業を実行していないと判定した場合（ステップＳ１０５；ＮＯ）、第１の制御装置２０−１は、ステップＳ１０２に処理を戻す。
【００４２】
図７は、第２の制御装置２０−２による処理の流れを示すフローチャートである。
まず、第２の制御装置２０−２は、撮像部３０が撮像した画像からトレイ６３上に配置された第１のマーカー４３と、トレイ６４上に配置された第２のマーカー４４とを検出する（ステップＳ２０１）。次に、第２の制御装置２０−２は、第１のマーカー４３と第２のマーカー４４とを解析し、それぞれから数字情報を取得する（ステップＳ２０２）。
【００４３】
次に、第２の制御装置２０−２は、取得した２つの数字情報が示す数字が一致するか否かを判定する（ステップＳ２０３）。数字が一致する場合（ステップＳ２０３；ＹＥＳ）、第２の制御装置２０−２は、ロボット１０−２を制御し、一致した数字の回数、トレイ６３上に配置されたワーク５３とトレイ６４上に配置されたワーク５４とを組み合わせて組立品５５を組み立て、トレイ６５上に配置する作業を実行させる（ステップＳ２０４）。そして、第２の制御装置２０−２は、１回のルーチンにおける処理を終了する。また、数字が一致しない場合、第２の制御装置２０−２は、ロボット１０−２を制御し、取得した２つの数字情報が示す数字のうちの小さい数字の回数、上述した作業を実行させ（ステップＳ２０５）、１回のルーチンにおける処理を終了する。
【００４４】
これにより、ロボットシステム１は、マーカー４３、４４に基づいて、給材されたワークの個数を認識する。そのため、給材されたワーク５３、５４の個数に変更があった場合でも、中央のシステムを介さず、その変更を認識することができる。また、ロボットシステム１は、例えば、ワークの欠損や各種イレギュラーにより所定のユニットを組み上げられなかった場合でも、そのエラーを認識して対応することができる。従って、ロボットシステム１は、自動化生産稼動を継続することができる。
【００４５】
［変形例の概要］
次に、上述した実施形態の変形例について説明する。
以下では、主に、上述した実施形態との差異について説明し、ロボット１０、撮像部３０、マーカー４０など、同様の構成については説明を省略する。また、以下では、ロボット１０に、この変形例における作業を行わせる制御装置２０を第３の制御装置２０−３と称する。
【００４６】
図８は、第３の制御装置２０−３の概略的な機能構成を示す図である。
この変形例において、ロボットシステム１が備える第３の制御装置２０−３は、記憶部２１−３と、入力部２２−３と、出力部２３−３と、制御部２４−３と、を備える。第３の制御装置２０−３が備える入力部２２−３及び出力部２３−３は、第１の制御装置２０−１が備える入力部２２−１及び出力部２３−１と、それぞれ、同様であるため、説明を省略する。
【００４７】
記憶部２１−３は、例えば、記憶部２１−１と同様のハードウェア構成を備える。記憶部２１−３は、第３の制御装置２０−３が備えるＣＰＵが実行するための各種プログラムやＣＰＵが実行した処理の結果などを記憶する。また、記憶部２１−３は、ロボット１０に対する各種制御を実行し、作業を達成するための情報を記憶する。制御部２４−３の一部又は全部は、例えば、第３の制御装置２０−３が備えるＣＰＵが記憶部２１−３に記憶されているプログラムを実行することによって機能する。なお、制御部２４−３の一部又は全部は、ＬＳＩやＡＳＩＣなどのハードウェアにより構成されてよい。
【００４８】
制御部２４−３は、取得部２４１−３と、制御信号生成部２４３−３と、検出部２４４−３と、を備える。
取得部２４１−３は、ロボット１０が備える各種センサーから送信された情報及び撮像部３０が撮像した画像の情報を取得し、制御信号生成部２４３−３に出力する。また、取得部２４１−３は、撮像部３０が撮像した画像の情報を検出部２４４−３に出力する。
制御信号生成部２４３−３は、取得部２４１−３から取得した各種情報に基づいて、ロボット１０を動作させ、作業を行わせるための制御信号を生成する。また、制御信号生成部２４３−３は、検出部２４４−３から出力された数字情報に基づいて、ロボット１０にマーカーを配置させるための制御信号を生成する。制御信号生成部２４３−３は、生成した制御信号をロボット１０に送信する。
【００４９】
検出部２４４−３は、取得部２４１−３から取得した画像の情報からマーカーを検出する。検出部２４４−３は、検出したマーカーを解析し、数字情報を取得する。検出部２４４−３は、マーカーの検出及び数字情報の取得を、例えば、パターンマッチングや特徴量抽出などの画像処理により実行する。検出部２４４−３は、例えば、複数のマーカーを検出し、それらから取得した数字情報を制御信号生成部２４３−３に出力する。
【００５０】
図９は、ロボットシステム１による作業の第２例を説明するための図である。
作業の第２例において、ロボットシステム１は、２台のロボット１０−３及びロボット１０−４を備える。ロボット１０−３及びロボット１０−４各々は、それぞれ、２台の第３の制御装置２０−３各々により制御される。作業台ＴＡには、トレイ６１−３、６１−４、６２−３、６２−４、６４Ａが配置されている。マーカー台Ｍ−３、Ｍ−４には、それぞれ、０〜９の数字情報を持つマーカー４０−３、４０−４が多数配置されている。これらのマーカー４０は、例えば、それぞれが持つ数字情報に応じて所定位置に配置されている。トレイ６１−３、６２−３は、それぞれ、ロボット１０−３に対する給材用のトレイである。トレイ６１−４、６２−４は、それぞれ、ロボット１０−４に対する給材用のトレイである。
【００５１】
トレイ６１−３上には、ワーク５１−３が人手により配置される。トレイ６１−４上には、ワーク５１−４が人手により配置される。ワーク５１−３とワーク５１−４とは、同一の部材である。トレイ６２−３上には、ワーク５２−３が人手により配置される。トレイ６２−４上には、ワーク５２−４が人手により配置される。ワーク５２−３とワーク５２−４とは、同一の部材である。トレイ６４Ａは、除材用のトレイである。トレイ６４Ａ上には、ロボット１０−３により組み立てられたワーク５４−３と、ロボット１０−４により組み立てられたワーク５４−４との合計個数を示すマーカー４４Ａが配置される。ワーク５４−３とワーク５４−４とは、同一の組立品５４Ａである。トレイ６４Ａ上に配置されるマーカー４４Ａは、トレイ６４Ａ上の所定位置に配置される。なお、マーカー４０−３、４０−４、４４Ａは、マーカー４０と同様の構成を備える。
【００５２】
第３の制御装置２０−３は、ロボット１０−３を制御し、トレイ６１−３上に配置されたワーク５１−３と、トレイ６２−３上に配置されたワーク５２−３とを把持させる。第３の制御装置２０−３は、ロボット１０−３を制御し、ワーク５１−３とワーク５２−３とを組み合わせてワーク５４−３を組み立てさせる。第３の制御装置２０−３は、ロボット１０−３を制御し、ワーク５４−３をトレイ６４Ａ上に配置させる。第３の制御装置２０−３は、ロボット１０−３による作業が成功したか否かを判定する。作業が成功したと判定した場合、第３の制御装置２０−３は、トレイ６４Ａ上に配置されたマーカー４４Ａが持つ数字情報を取得する。
【００５３】
第３の制御装置２０−３は、ロボット１０−３を制御して、トレイ６４Ａ上に配置されたマーカー４４Ａをマーカー台Ｍ−３上の所定位置に移動させる。ここで、所定位置とは、マーカー４４が持つ数字情報毎に予め定められている位置である。第３の制御装置２０−３は、マーカー台Ｍ−３上に配置されたマーカー４０−３の数字情報を取得し、その中から、トレイ６４Ａから移動させたマーカー４４Ａよりも１つ大きい数字を表すマーカー４４Ａを選択する。第３の制御装置２０−３は、ロボット１０−３を制御して、選択したマーカー４４Ａをトレイ６４Ａ上の所定位置に配置させる。
【００５４】
第３の制御装置２０−３は、ロボット１０−４を制御して、トレイ６１−４上のワーク５２−４、トレイ６２−４上のワーク５２−４、トレイ６４上のマーカー４４Ａ、及びマーカー台Ｍ−４上のマーカー４０−４に対して同様の操作を行う。これにより、ロボットシステム１は、２台のロボット１０−３及びロボット１０−４が共同の作業を行う場合であっても、２台のロボット１０−３及びロボット１０−４によってそれぞれ組み立てられた組立品５４Ａ全体の個数情報を持つマーカー４４Ａを配置することができる。
【００５５】
図１０は、第３の制御装置２０−３による処理の流れの一例を示すフローチャートである。
まず、第３の制御装置２０−３は、ロボット１０−３又はロボット１０−４を制御して、組立品５４Ａを組み立て、トレイ６４Ａ上に配置する作業を実行する（ステップＳ３０１）。次に、第３の制御装置２０−３は、ロボット１０−３又はロボット１０−４による作業が成功したか否かを判定する（ステップＳ３０２）。
【００５６】
作業が成功していない場合、すなわち、作業が失敗した場合（ステップＳ３０２；ＮＯ）、第３の制御装置２０−３は、所定回数作業を実行したか否かを判定する（ステップＳ３０３）。所定回数作業を実行したと判定した場合（ステップＳ３０３；ＹＥＳ）、第３の制御装置２０−３は、１回のルーチンにおける処理を終了する。また、所定回数作業を実行していないと判定した場合（ステップＳ３０３；ＮＯ）、第３の制御装置２０−３は、ステップＳ３０１に処理を戻す。ステップＳ３０２において、作業が成功したと判定した場合（ステップＳ３０２；ＹＥＳ）、第３の制御装置２０−３は、撮像部３０が撮像した画像に基づいて、トレイ６４Ａ上にマーカー４４Ａが配置されていたか否かを判定する（ステップＳ３０４）。
【００５７】
マーカー４４Ａが配置されていないと判定した場合（ステップＳ３０４；ＮＯ）、第３の制御装置２０−３は、ロボット１０−３又はロボット１０−４を制御して、マーカー台Ｍ−３又はマーカー台Ｍ−４上に配置されたマーカー４０−３又はマーカー４０−４のうち数字の１を示すマーカー４４Ａを拾い上げ、トレイ６４Ａ上の所定位置に配置する（ステップＳ３０５）。そして、第３の制御装置２０−３は、ステップＳ３０３に処理を進める。また、マーカー４４Ａが配置されていると判定した場合（ステップＳ３０４；ＹＥＳ）、第３の制御装置２０−３は、トレイ６４Ａ上に配置されたマーカー４４Ａを解析し、数字情報を取得する（ステップＳ３０６）。次に、第３の制御装置２０−３は、ロボット１０−３又はロボット１０−４を制御して、取得した数字情報が示す数字に１を加算した数字を示すマーカー４４Ａをマーカー台Ｍ−３又はマーカー台Ｍ−４上から拾い上げ、トレイ６４Ａ上の所定位置に配置する（ステップＳ３０７）。そして、第３の制御装置２０−３は、ステップＳ３０３に処理を進める。
【００５８】
［以上の実施形態のまとめ］
一構成例として、供給されたワークを組み立てるロボット１０−２〜１０−４と、数字情報を持つマーカーと、マーカーを含む撮像画像を撮像する撮像部３０と、撮像画像を用いて、ロボット１０−２〜１０−４を動作させる制御部２４−２、２４−３と、を含み、制御部２４−２、２４−３は、撮像画像により、ロボット１０−２〜１０−４に供給されたワークの個数情報を取得する、ロボットシステム１である。
また、一構成例として、制御部２４−２、２４−３は、マーカーを複数読み取り、読み取った複数のマーカーに基づいて単一の個数情報を取得する。
【００５９】
また、一構成例として、ロボット１０−２は、供給された複数のワークを組み立て、制御部２４−２は、複数のワーク各々の個数情報のうちの最も数字の小さい個数情報を取得する。
また、一構成例として、供給されたワークを組み立てるハンドと、ハンドを動作させる制御部２４−２、２４−３と、を含み、制御部２４−２、２４−３は、撮像部３０が撮像した数字情報を持つマーカーを含む撮像画像により、供給されたワークの個数情報を取得する、ロボット１０−２〜１０−４である。
また、一構成例として、供給されたワークを組み立てるロボット１０−２〜１０−４を動作させる制御装置２０−２、２０−３であって、撮像部３０が撮像した数字情報を持つマーカー４０を含む撮像画像により、ロボット１０−２〜１０−４に供給されたワークの個数情報を取得する、制御装置２０である。
【００６０】
また、一構成例として、供給されたワークを組み立てるロボット１０−２〜１０−４を動作させる制御方法であって、数字情報を持つマーカーを含む撮像画像を撮像するここと、撮像画像により、ロボット１０−２〜１０−４に供給されたワークの個数情報を取得することと、取得したワークの個数情報により、ロボット１０−２〜１０−４を動作させることと、を含む制御方法である。
【００６１】
また、一構成例として、供給されたワークを組み立てるロボット１０−１と、数字情報を持つマーカーと、ロボット１０−１を動作させる制御部２４−１と、を含み、制御部２４−１は、ロボット１０−１によって組み立てられた組立品の個数に基づいて、ロボット１０−１にマーカーを配置させる、ロボットシステム１である。
【００６２】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計なども含まれる。
【００６３】
なお、上述した各例において、マニピュレーターは、任意の自由度を有してよい。マニピュレーターは、例えば、６軸や７軸以上の自由度を有する。また、マニピュレーターは、５軸以下の自由度を有してもよく、任意の自由度を有してよい。
なお、上述した各例において、撮像部は、例えばロボットが設置されている台の上面や床面、天井、壁面などに固定されて備えられてよい。また、撮像部は、例えば、人手により撮像方向や撮像角度などを変化させることが可能な構成であってもよい。また、撮像部は、自動的に撮像方向や撮像角度などを変化させる構成を備えてよい。また、撮像部は、ロボットと一体であってもよいし、一体でなくてもよい。
【００６４】
なお、上述した各例において、ロボット１０が行う作業は、ワークの組み立て以外の作業であってもよい。ロボット１０は、例えば、螺子締めなどの道具を用いた作業を行ってもよい。また、ロボット１０は、作業において、ロボット同士の衝突を回避する機能を備えてよい。
なお、マーカーは、数字情報をロボットが取得でき、また、ロボット１０やワークを供給する人間が搬送可能なものであれば、形状は問わない。例えば、マーカーは、人間が数値を手書きした紙媒体であってよい。この場合、制御装置２０は、撮像部３０が撮像した画像からＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）により数字情報を取得してよい。また、マーカーは、表示装置に表示されたものであってよい。そして、その表示により示される数字情報は、制御装置２０がロボット１０を制御して所定動作を行わせることにより、変更可能なものであってよい。また、マーカーは、その数字情報が人間にとって認識可能なものであってよい。これにより、ロボット１０による作業と人間による作業とを連携させることができる。
【００６５】
なお、制御装置２０は、上述した第１の制御装置２０−１、第２の制御装置２０−２、及び第３の制御装置２０−３各々が備える機能を任意に組み合わせて備えてよい。例えば、制御装置２０は、第１の制御装置２０−１と第２の制御装置２０−２との機能を備えてよい。この場合、制御装置２０は、ロボット１０を制御して、第１の動作と第２の動作とを行わせてよい。また、制御装置２０は、ロボット１０が備える装置であってもよいし、ロボット１０の外部装置であってもよい。
【００６６】
なお、マーカーの取り扱いは、上述したものに限られない。例えば、制御装置２０は、ロボット１０を制御して、作業の失敗回数を示すマーカーを選択し、トレイ上に配置してよい。また、例えば、制御装置２０は、配置するマーカーをトレイ上の任意の場所に配置してよい。この場合、制御装置２０は、山積みにされた組立品の上などマーカーを検出しやすい位置にマーカーを配置してよい。また、例えば、制御装置２０は、複数のマーカーが示す数字情報を加算して、個数情報を認識してもよい。例えば、同一のワークが別々に給材された場合、制御装置２０は、別々に給材されたワークそれぞれの個数を示すマーカーを検出し、数字情報を取得する。そして、取得した数字情報を加算することで、ワークの個数を認識してもよい。また、マーカーが持つ数字情報は、例えば、最終製品の完成数や欠陥数、消耗品消費量などのロボット１０が実行する作業において生じる数量を示すものであってもよい。
【００６７】
なお、以上に説明した装置（例えば、ロボット１０や制御装置２０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここで言う「コンピューターシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器などのハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭなどの可搬媒体、コンピューターシステムに内蔵されるハードディスクなどの記憶装置のことを言う。さらに「コンピューター読み取り可能な記録媒体」とは、インターネットなどのネットワークや電話回線などの通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のように、一定時間プログラムを保持しているものも含むものとする。
【００６８】
また、上記のプログラムは、このプログラムを記憶装置などに格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネットなどのネットワーク（通信網）や電話回線などの通信回線（通信線）のように情報を伝送する機能を有する媒体のことを言う。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００６９】
１…ロボットシステム、１０、１０−１〜１０−４…ロボット、１１…マニピュレーター、２０、２０−１〜２０−３…制御装置、２１−１〜２０−３…記憶部、２２−１〜２２−３…入力部、２３−１〜２３−３…出力部、２４−１〜２４−３…制御部、２４１−１〜２４−３…取得部、２４２…計数部、２４３−１〜２４３−３…制御信号生成部、２４４−１、２４４−３…検出部、２４５…判定部、３０…撮像部、４０、４０−３、４０−４、４４、４４ａ〜４４ｃ、４４Ａ、４５…マーカー、５１〜５５、５１−３、５１−４、５２−３、５２−４、５４−３、５４−４、５４Ａ…ワーク、６１〜６５、６１−３、６１−４、６２−３、６２−４、６４Ａ…トレイ、Ｔ、ＴＡ…作業台、Ｍ、Ｍ−３、Ｍ−４…マーカー台
【図１】
2015217462.tif 000003
【図２】
2015217462.tif 000004
【図３】
2015217462.tif 000005
【図４】
2015217462.tif 000006
【図５】
2015217462.tif 000007
【図６】
2015217462.tif 000008
【図７】
2015217462.tif 000009
【図８】
2015217462.tif 000010
【図９】
2015217462.tif 000011
【図１０】
2015217462.tif 000012