(57)【要約】【課題】画像に関する別の画像を表示し、当該別の画像の情報を基に処理の条件を設定し、当該処理を行うことを効率的に行うロボットなどを提供する。【解決手段】第１操作を受け付け撮像された第１画像に含まれる第２画像が選択されると、前記第２画像に関する第３画像を表示し、前記第３画像の情報が受け付けられると、前記情報に基づき撮像されている物体に関する処理の条件が設定され、設定された条件に基づいて、前記処理を行うロボット。【選択図】図１
2018034241.tif 000002
【特許請求の範囲】
【請求項１】
第１操作を受け付け撮像された第１画像に含まれる第２画像が選択されると、前記第２画像に関する第３画像を表示し、
前記第３画像の情報が受け付けられると、前記情報に基づき撮像されている物体に関する処理の条件が設定され、
設定された条件に基づいて、前記処理を行うロボット。
【請求項２】
前記第２画像は、第１対象に対応する画像であり、
前記第３画像は、前記第１対象に関する数値を含む、
請求項１に記載のロボット。
【請求項３】
前記第１操作が受け付けられた場合、前記第１画像において前記第２画像の表示を強調する、
請求項１または請求項２のいずれか１項に記載のロボット。
【請求項４】
前記第１画像とともに前記第３画像を表示する、
請求項１から請求項３のいずれか１項に記載のロボット。
【請求項５】
前記第２画像は、第２対象に対応する画像であり、
前記第３画像は、前記第２対象に関する数値を含み、
第２操作を受け付け前記第３画像に含まれる前記第２対象に関する第４画像が選択されると、前記第４画像に関する第５画像を表示する、
請求項１から請求項４のいずれか１項に記載のロボット。
【請求項６】
前記第２操作が受け付けられた場合、前記第３画像において前記第４画像の表示を強調する、
請求項５に記載のロボット。
【請求項７】
前記第３画像とともに前記第５画像を表示する、
請求項５または請求項６のいずれか１項に記載のロボット。
【請求項８】
請求項１から請求項７のいずれか１項に記載のロボットに前記処理を行わせる、
ロボット制御装置。
【請求項９】
請求項１から請求項７のいずれか１項に記載のロボットと、
前記ロボットを制御するロボット制御装置と、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボット制御装置およびロボットシステムに関する。
【背景技術】
【０００２】
従来、取得された多値画像から特定範囲の輝度値を有する画素を抽出し、抽出された画素の連結性から集合体（ブロブ）を取得する技術があった。
しかしながら、画像における特定のブロブと、当該特定のブロブの情報（例えば、面積あるいは座標の情報）との対応付けがなされていない場合、ブロブと当該ブロブの情報との対応付けが人にとって直感的に理解しにくいことがあった。このような問題は、特に、検出されたブロブが多数存在するときに顕著であった。
【０００３】
一例として、特許文献１に記載された画像測定装置では、画像において検出対象に番号を表示し、当該検出対象の情報に対応する番号を付与することが行われる。この技術では、画像に番号が表示され、当該番号に対応した情報が別の画面に表示される。これにより、例えば、抽出されたブロブが多数ある場合においても、ブロブと当該ブロブの情報とが対応付けられる。
しかしながら、この技術では、ブロブの検出数が多いときには画像に表示される情報が過多になることがあった。また、この技術では、所望のブロブの情報を得るために、結果リストのスクロールを行うこと、あるいは、番号の指定が必要になることがあった。こうしたことから、ブロブと当該ブロブの情報との対応付けが人にとって直感的に理解しにくいことがあった。このような問題は、特に、検出されたブロブが多数存在するときに顕著であった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２２７７０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述のように、従来では、検出対象と当該検出対象の情報との対応付けが人にとって直感的に理解しにくいことがあった。
なお、検出対象としては、一例として、ブロブであるが、それ以外の対象についても同様な問題があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、第１操作を受け付け撮像された第１画像に含まれる第２画像が選択されると、前記第２画像に関する第３画像を表示し、前記第３画像の情報が受け付けられると、前記情報に基づいて撮像されている物体に関する処理の条件が設定され、設定された条件に基づいて、前記処理を行うロボットである。
この構成により、ロボットでは、第１操作を受け付け撮像された第１画像に含まれる第２画像が選択されると、第２画像に関する第３画像を表示し、第３画像の情報が受け付けられると、前記情報に基づいて撮像されている物体に関する処理の条件が設定され、設定された条件に基づいて、当該処理を行う。これにより、ロボットでは、第２画像に関する第３画像を表示し、第３画像の情報を基に処理の条件を設定し、当該処理を行うことを効率的に行うことができる。
【０００７】
本発明の一態様は、ロボットにおいて、前記第２画像は、第１対象に対応する画像であり、前記第３画像は、前記第１対象に関する数値を含む、構成が用いられてもよい。
この構成により、ロボットでは、第２画像は、第１対象に対応する画像であり、第３画像は、第１対象に関する数値を含む。これにより、ロボットでは、第２画像（第１対象に対応する画像）に関する第３画像（第１対象に関する数値を含む画像）を表示し、第３画像の情報を基に処理の条件を設定し、当該処理を行うことを効率的に行うことができる。
【０００８】
本発明の一態様は、ロボットにおいて、前記第１操作が受け付けられた場合、前記第１画像において前記第２画像の表示を強調する、構成が用いられてもよい。
この構成により、ロボットでは、第１操作が受け付けられた場合、第１画像において第２画像の表示を強調する。これにより、ロボットでは、第２画像を視覚的に目立たせることができ、第２画像をユーザーにとって把握し易くすることができる。
【０００９】
本発明の一態様は、ロボットにおいて、前記第１画像とともに前記第３画像を表示する、構成が用いられてもよい。
この構成により、ロボットでは、第１画像とともに第３画像を表示する。これにより、ロボットでは、第１画像と第３画像との対応関係を視覚的に把握することをユーザーにとって容易にすることができる。
【００１０】
本発明の一態様は、ロボットにおいて、前記第２画像は、第２対象に対応する画像であり、前記第３画像は、前記第２対象に関する数値を含み、前記第２操作を受け付け前記第３画像に含まれる前記第２対象に関する第４画像が選択されると、前記第４画像に関する第５画像を表示する、構成が用いられてもよい。
この構成により、ロボットでは、第２画像は、第２対象に対応する画像であり、第３画像は、第２対象に関する数値を含み、前記第２操作を受け付け第３画像に含まれる第２対象に関する第４画像が選択されると、第４画像に関する第５画像を表示する。これにより、ロボットでは、第４画像に関する第５画像を表示することを効率的に行うことができる。
【００１１】
本発明の一態様は、ロボットにおいて、前記第２操作が受け付けられた場合、前記第３画像において前記第４画像の表示を強調する、構成が用いられてもよい。
この構成により、ロボットでは、第２操作が受け付けられた場合、第３画像において第４画像の表示を強調する。これにより、ロボットでは、第４画像を視覚的に目立たせることができ、第４画像をユーザーにとって把握し易くすることができる。
【００１２】
本発明の一態様は、ロボットにおいて、前記第３画像とともに前記第５画像を表示する、構成が用いられてもよい。
この構成により、ロボットでは、第３画像とともに第５画像を表示する。これにより、ロボットでは、第３画像と第５画像との対応関係を視覚的に把握することをユーザーにとって容易にすることができる。
【００１３】
上記課題の少なくとも一つを解決するために本発明の一態様は、以上のようなロボットに前記処理を行わせる、ロボット制御装置である。
この構成により、ロボット制御装置では、ロボットに前記処理を行わせる。これにより、ロボット制御装置では、ロボットにおいて、第２画像に関する第３画像を表示し、第３画像の情報を基に処理の条件を設定し、当該処理を行うことを効率的に行うことができる。
【００１４】
上記課題の少なくとも一つを解決するために本発明の一態様は、以上のようなロボットと、前記ロボットを制御するロボット制御装置と、を備えるロボットシステムである。
この構成により、ロボットシステムでは、ロボットと、当該ロボットを制御するロボット制御装置を備える。これにより、ロボットシステムでは、ロボットにおいて、第２画像に関する第３画像を表示し、第３画像の情報を基に処理の条件を設定し、当該処理を行うことを効率的に行うことができる。
【００１５】
以上のように、本発明に係るロボット、ロボット制御装置およびロボットシステムによれば、ロボットにおいて、第１操作を受け付け撮像された第１画像に含まれる第２画像が選択されると、第２画像に関する第３画像を表示し、第３画像の情報が受け付けられると、前記情報に基づき撮像されている物体に関する処理の条件が設定され、設定された条件に基づいて、当該処理を行う。これにより、本発明に係るロボット、ロボット制御装置およびロボットシステムでは、ロボットにおいて、第２画像に関する第３画像を表示し、第３画像の情報を基に処理の条件を設定し、当該処理を行うことを効率的に行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係るロボットシステムの概略的な構成例を示す図である。
【図２】本発明の一実施形態に係るロボット制御装置の概略的な構成例を示す図である。
【図３】本発明の一実施形態に係るブロブの検出結果の画像の一例を示す図である。
【図４】本発明の一実施形態に係る特徴情報テーブルの画像の一例を示す図である。
【図５】本発明の一実施形態に係る特徴情報の画像の一例を示す図である。
【図６】本発明の一実施形態に係るロボットシステムにおいて行われる表示処理の手順の一例を示す図である。
【図７】本発明の一実施形態に係るロボットシステムにおいて行われる条件設定を含む動作の手順の一例を示す図である。
【図８】本発明の一実施形態に係るブロブの処理において表示される画面の例を示す図である。
【図９】本発明の一実施形態に係るブロブの処理において表示される画面の例を示す図である。
【図１０】本発明の一実施形態に係るブロブの処理において表示される画面の例を示す図である。
【図１１】本発明の一実施形態に係るブロブの処理において表示される画面の例を示す図である。
【図１２】本発明の一実施形態に係るブロブの処理において表示される画面の例を示す図である。
【図１３】本発明の一実施形態に係るブロブの処理において表示される画面の例を示す図である。
【図１４】本発明の一実施形態に係るブロブの処理において表示される画面の例を示す図である。
【図１５】本発明の一実施形態に係るロボットシステムにおける各装置のハードウェア構成の一例を示す図である。
【図１６】本発明の一実施形態（他の構成例）に係るロボットシステムの概略的な構成例を示す図である。
【発明を実施するための形態】
【００１７】
本発明の実施形態について図面を参照して詳細に説明する。
【００１８】
［ロボットシステム］
図１は、本発明の一実施形態に係るロボットシステム１の概略的な構成例を示す図である。
ロボットシステム１は、ロボット１１と、ロボット制御装置１２と、支持部２１と、カメラ２２と、画像処理装置２３と、表示装置２４と、開発用のパーソナルコンピュータ（開発用ＰＣ）６０１と、操作キー６０２と、表示装置６２１と、ロボット１１とロボット制御装置１２とを通信可能に接続するケーブル３１と、ロボット制御装置１２と画像処理装置２３とを通信可能に接続するケーブル３２と、開発用ＰＣ６０１とロボット制御装置１２とを通信可能に接続するケーブル３３と、操作キー６０２とロボット制御装置１２とを通信可能に接続するケーブル３４と、カメラ２２と画像処理装置２３とを通信可能に接続するケーブル４１と、画像処理装置２３と表示装置２４とを通信可能に接続するケーブル４２と、開発用ＰＣ６０１と表示装置６２１とを通信可能に接続するケーブル６４１と、ベルトコンベアー５１と、複数（図１の例では、４個を示してある。）の対象物６１−１〜６１−４と、テーブル７１を備える。
【００１９】
ここで、本実施形態では、図１に示されるすべての構成部がロボットシステム１に含まれると捉えたが、他の例として、ロボット１１と、ロボット制御装置１２と、ロボット１１とロボット制御装置１２とを通信可能に接続するケーブル３１がロボットシステム１に含まれ、それ以外の構成部のうちの任意の１以上がロボットシステム１に含まれないと捉えられてもよい。
また、通信のインターフェイスとしては、任意の有線のケーブル３１〜３４、４１〜４２、６４１の代わりに、通信可能な無線の回線が用いられてもよい。
【００２０】
図１の例では、テーブル７１以外の構成部のうち、操作キー６０２以外のすべてが、テーブル７１に載せられて配置されている。
ここで、操作キー６０２以外の構成部に関し、ロボット１１などの一部の構成部が、テーブル７１の外側（例えば、床など）に配置されてもよい。
なお、必ずしもテーブル７１が用いられなくてもよく、すべての構成部が床などに配置されてもよい。
【００２１】
ベルトコンベアー５１は、当該ベルトコンベアー５１に載せられた物を定められた方向に移動させる。当該方向は、本実施形態では、当該物がカメラ２２により撮像される位置から、当該物がロボット１１により作業される位置へ、向かう方向である。
図１の例では、複数の対象物６１−１〜６１−４がベルトコンベアー５１に載せられて移動させられる。
ここで、図１の例では、ベルトコンベアー５１の一部が示されている。一例として、ベルトコンベアー５１は、任意の開始始点（図示せず）から任意の終了地点（図示せず）まで続いている。他の例として、ベルトコンベアー５１は、環状になっていてもよい。
また、ベルトコンベアー５１に載せられて移動させられる対象物６１−１〜６１−４に対して、本実施形態に係るロボット１１による作業箇所以外の箇所（図示せず）で任意の作業が行われてもよい。
なお、本実施形態では、対象物６１−１〜６１−４がベルトコンベアー５１に載せられて移動させられるが、他の構成例として、対象物６１−１〜６１−４がステージに載せられて静止した状態で配置されてもよい。当該ステージは、テーブル７１であってもよく、または、他のものであってもよい。
対象物６１−１〜６１−４は、ロボット１１により行われる作業で用いられるワークの一例である。
対象物６１−１〜６１−４としては、任意の物体が用いられてもよい。対象物６１−１〜６１−４は、例えば、生体であってもよく、または、生体でなくてもよい。
【００２２】
支持部２１は、カメラ２２を所定の位置に固定的に支持する部材である。
カメラ２２は、所定の範囲の画像を撮像する撮像装置である。図１の例では、当該所定の範囲として、ベルトコンベアー５１において対象物６１−１〜６１−４が移動する範囲が用いられている。つまり、図１の例では、ベルトコンベアー５１に載せられて移動させられる対象物６１−１〜６１−４を視野に捉えて当該対象物６１−１〜６１−４の画像をカメラ２２により撮像することが可能な配置で、カメラ２２が支持部２１の所定の位置に設けられている。図１の例では、ベルトコンベアー５１の面に対してカメラ２２の撮像の光軸が直交する配置（つまり、ベルトコンベアー５１の面と撮像画像の面とが平行になる配置）となっている。
カメラ２２は、撮像された画像の情報（画像データ）を、ケーブル４１を介して、画像処理装置２３に送信する。
なお、本実施形態では、カメラ２２が固定的に配置される場合を示すが、他の構成例として、カメラ２２により撮像される範囲を変更することが可能な構成が用いられてもよい。
また、他の構成例として、対象物６１−１〜６１−４の形状などの情報を測定する機器として、カメラ２２の代わりに、他の機器が用いられてもよく、例えば、レーザーを用いた測定機器などが用いられてもよい。
【００２３】
画像処理装置２３は、カメラ２２から送信された画像の情報を、ケーブル４１を介して、受信する。画像処理装置２３は、受信された画像の情報について所定の画像処理を行い、当該画像処理の結果の情報を、ケーブル３２を介して、ロボット制御装置１２に送信する。当該画像処理の結果の情報には、カメラ２２から送信された画像の情報（画像処理前の画像の情報）が含まれてもよい。一例として、画像処理装置２３は、コンピューターを用いて構成されてもよい。
表示装置２４は、例えば、画面に情報を表示するディスプレイ装置である。表示装置２４は、画像処理装置２３から送信された情報を、ケーブル４２を介して受信し、受信された情報を画面に表示する。
【００２４】
画像処理装置２３は、表示対象となる情報を表示装置２４に出力（送信）する。当該表示対象となる情報としては、例えば、カメラ２２により撮像された画像の情報が用いられてもよく、画像処理装置２３により行われた画像処理の結果の情報が用いられてもよく、または、ロボット制御装置１２により行われた処理の結果の情報が用いられてもよい。
なお、開発時において、画像処理装置２３により行われる画像処理および表示制御などのうちの一部または全部は、開発用ＰＣ６０１からの制御に基づいて行われてもよい。
【００２５】
ここで、図１の例では、ロボットシステム１において、画像処理装置２３を備える画像処理システムが設けられていると捉えることができる。当該画像処理システムは、例えば、カメラ２２を含んでもよい。また、当該画像処理システムは、例えば、表示装置２４を含んでもよい。
なお、画像処理システムは、例えば、画像を測定する画像測定システムなどであってもよい。
【００２６】
［単腕のロボット］
本実施形態では、ロボット１１は、単腕のロボットである。
ロボット１１は、基端（支持台）９１と、マニピュレーターＭ１と、力覚センサー９２と、エンドエフェクターＥ１を備える。
なお、本実施形態では、ロボット制御装置１２は、ロボット１１とは別体で設けられている。他の構成例として、ロボット制御装置１２は、ロボット１１と一体で設けられてもよく、例えば、ロボット１１の基端９１の内部に設けられてもよい。
【００２７】
ロボット１１の基端９１は、設置されている。
ロボット１１のマニピュレーターＭ１の一端は、基端９１と接続されている。ロボット１１のマニピュレーターＭ１の他端と、エンドエフェクターＥ１とが、これらの間に力覚センサー９２を介して、接続されている。
ロボット１１のマニピュレーターＭ１は、６軸垂直多関節型の構造を有しており、６個の関節を備える。それぞれの関節は、アクチュエーター（図示せず）を備える。そして、ロボット１１では、６個の関節のそれぞれのアクチュエーターの動作によって、６軸の自由度の動作を行う。他の構成例として、５軸以下の自由度で動作を行うロボット、または、７軸以上の自由度で動作を行うロボットが用いられてもよい。
ロボット１１のエンドエフェクターＥ１は、例えば、ハンドであり、物体を把持することが可能な指部を備える。他の構成例として、ロボット１１のエンドエフェクターＥ１は、任意のものであってもよく、例えば、空気の吸引を利用して物体を吸着するもの、磁力を利用して物体を寄せ付けるものなどであってもよい。
【００２８】
［開発用ＰＣ］
開発用ＰＣ６０１は、ロボット制御装置１２で使用されるプログラムを開発するときなどに使用される。当該プログラムは、例えば、ロボット１１の動作を制御するプログラムである。
開発用ＰＣ６０１は、ケーブル３３を介して、ロボット制御装置１２との間で通信する。
なお、開発用ＰＣ６０１は、例えば、開発が完了した後には、ロボット制御装置１２と接続されていなくてもよい。
開発用ＰＣ６０１は、例えば、ロボット１１により行われる所定の処理の条件を設定する機能を有している。処理の条件としては、任意の条件が用いられてもよく、例えば、処理に使用されるパラメーター（「プロパティー」などと呼ばれてもよい。）の値または範囲が用いられてもよい。
本実施形態では、開発時においては、開発用ＰＣ６０１がロボット制御装置１２を介して画像処理装置２３に対して命令（指示）を与えることで、各種の処理が行われる。また、開発時においては、例えば、開発用ＰＣ６０１が有する操作部がユーザーにより操作される。
【００２９】
表示装置６２１は、例えば、画面に情報を表示するディスプレイ装置である。表示装置６２１は、開発用ＰＣ６０１から送信された情報を、ケーブル６４１を介して受信し、受信された情報を画面に表示する。
開発用ＰＣ６０１は、表示対象となる情報を表示装置６２１に出力（送信）する。当該表示対象となる情報としては、例えば、カメラ２２により撮像された画像の情報が用いられてもよく、画像処理装置２３により行われた画像処理の結果の情報が用いられてもよく、または、ロボット制御装置１２により行われた処理の結果の情報が用いられてもよい。
本実施形態では、開発用ＰＣ６０１が画像処理装置２３に対して画像処理の実行を指示し、画像処理装置２３が画像や画像処理結果を開発用ＰＣ６０１に送信し、開発用ＰＣ６０１が受信した当該画像や当該画像処理結果を表示装置６２１に表示させる。
【００３０】
ここで、本実施形態では、開発時には、主（メイン）となる表示装置として、開発用ＰＣ６０１の表示装置６２１に、各種の情報が表示される。
なお、画像処理装置２３の表示装置２４には、開発用ＰＣ６０１の表示装置６２１と同様な情報が表示されてもよく、または、他の情報が表示されてもよい。本実施形態では、画像処理装置２３の表示装置２４は補助（サブ）の表示装置として使用される。例えば、画像処理装置２３の表示装置２４では、自動動作中の対象物の表示、あるいは、結果表示を行ってもよい。
【００３１】
［ロボット制御装置］
ロボット制御装置１２は、ロボット１１を制御する。例えば、ロボット制御装置１２は、マニピュレーターＭ１が有するそれぞれのアクチュエーター、力覚センサー９２およびエンドエフェクターＥ１のそれぞれを制御する。
ロボット制御装置１２は、力覚センサー９２から、検出結果の情報を受信する。
【００３２】
また、ロボット制御装置１２は、画像処理装置２３から送信された画像処理の結果の情報を、ケーブル３２を介して、受信する。
なお、カメラ２２の配置を変更することが可能な構成において、ロボット制御装置１２は、カメラ２２の配置を制御して変更することが可能であってもよい。この場合、ロボット制御装置１２は、例えば、直接的にカメラ２２を制御してもよく、あるいは、画像処理装置２３を介してカメラ２２を制御してもよい。
また、ロボット制御装置１２は、ケーブル３３を介して開発用ＰＣ６０１との間で通信する。
また、ロボット制御装置１２は、ケーブル３４を介して操作キー６０２との間で通信する。
【００３３】
操作キー６０２は、ロボット制御装置１２の外部に設けられた操作装置の一例である。操作キー６０２は、ユーザーにより操作される操作部（例えば、１個以上のキー）を有しており、ユーザーにより当該操作部に対して行われた操作の内容を受け付けて、ケーブル３４を介して、ロボット制御装置１２に送信する。
【００３４】
図２は、本発明の一実施形態に係るロボット制御装置１２の概略的な構成例を示す図である。
ロボット制御装置１２は、入力部１１１と、出力部１１２と、記憶部１１３と、制御部１１４を備える。
制御部１１４は、情報取得部１５１と、操作受付部１５２と、ロボット制御部１５３を備える。
【００３５】
入力部１１１は、外部から情報を入力する。一例として、入力部１１１は、キーボードあるいはマウスなどの操作部を備え、当該操作部に対してユーザー（人）により行われる操作の内容に応じた情報を入力する。他の例として、入力部１１１は、外部の装置から出力される情報を入力する。図１の例では、入力部１１１は、例えば、画像処理装置２３、開発用ＰＣ６０１、あるいは、操作キー６０２から出力（送信）される情報を入力（受信）し、力覚センサー９２から出力（送信）される情報を入力（受信）する。
【００３６】
出力部１１２は、外部に情報を出力する。一例として、出力部１１２は、表示画面に情報を出力（送信）する。他の例として、出力部１１２は、音（音声を含む。）を発するスピーカーに音の情報を出力（送信）してもよい。また、出力部１１２は、例えば、ロボット１１（例えば、マニピュレーターＭ１、エンドエフェクターＥ１）、開発用ＰＣ６０１、画像処理装置２３、あるいは、操作キー６０２に情報を出力する。
【００３７】
なお、本実施形態では、ロボット制御装置１２と表示装置２４とは接続されていないが、他の構成例として、表示装置２４がロボット制御装置１２の出力部１１２に一体または別体として接続されてもよい。
また、入力部１１１が有する操作部は、例えば、表示画面（または、他の画面）を用いたタッチパネルであってもよい。
【００３８】
記憶部１１３は、情報を記憶する。一例として、記憶部１１３は、制御部１１４により使用されるプログラム（制御プログラム）および各種のパラメーターの情報を記憶する。他の例として、記憶部１１３は、任意の情報を記憶してもよく、例えば、ロボット１１を制御する際に使用される画像などの情報を記憶してもよい。
制御部１１４は、ロボット制御装置１２において各種の制御を行う。制御部１１４は、例えば、記憶部１１３に記憶されたプログラムおよび各種のパラメーターの情報に基づいて、各種の制御を行う。
【００３９】
情報取得部１５１は、情報を取得する。情報取得部１５１は、例えば、入力部１１１により入力される情報、または、記憶部１１３に記憶された情報のうちの１以上を取得する。
操作受付部１５２は、入力部１１１が有する操作部に対してユーザーにより行われた操作を受け付ける。また、操作受付部１５２は、操作キー６０２が有する操作部に対してユーザーにより行われた操作を、当該操作キー６０２から受信して、受け付ける。
ロボット制御部１５３は、ロボット１１の動作を制御する。具体的には、ロボット制御部１５３は、マニピュレーターＭ１と通信することでマニピュレーターＭ１の動作を制御し、エンドエフェクターＥ１と通信することでエンドエフェクターＥ１の動作を制御する。
【００４０】
［ロボットシステムにおいて行われる動作］
＜各種の画像の表示＞
本実施形態では、カメラ２２により対象物６１−１〜６１−４の画像を撮像する。
画像処理装置２３が、撮像された画像の情報に基づいて当該画像を２値化し、２値化された画像における同じ画素値を有する画素の連結性に基づいて画素の集合体（ブロブ）を検出する。
【００４１】
ここで、同じ画素値（ここでは、説明の便宜上、「画素値Ａ１」という。）を有する１個のブロブとして認識される領域の内側に、違う画素値（ここでは、説明の便宜上、「画素値Ａ２」という。）を有する部分（例えば、穴のような部分）がある場合があり得る。
この場合、一例として、画像処理装置２３は、違う画素値（画素値Ａ２）を有する部分（例えば、穴のような部分）についても、同じ画素値（画素値Ａ１）へ変更して、ブロブの一部とする処理を実行してもよい。この処理では、それぞれのブロブの外枠（外側の輪郭）の内側はすべて当該ブロブの領域となる。
他の例として、画像処理装置２３は、違う画素値（画素値Ａ２）を有する部分（例えば、穴のような部分）については、そのままとして、ブロブの一部とはしない処理を実行してもよい。この処理では、それぞれのブロブの外枠（外側の輪郭）の内側に、当該ブロブではない部分を区切る枠（内側の輪郭）が１以上存在し得る。
【００４２】
また、画像処理装置２３は、検出されたそれぞれのブロブについて、特徴的な値（数値）を検出する。当該特徴的な値としては、任意の値であってもよく、本実施形態では、面積の値、所定のＸＹ直交座標系における座標Ｘの値および座標Ｙの値が用いられる。当該ＸＹ直交座標系としては、例えば、画像の水平方向（横方向）をＸ軸方向とし、当該画像の垂直方向（縦方向）をＹ軸方向とする座標系であってもよい。
画像処理装置２３は、ブロブの検出結果に関する情報を、ケーブル３２を介して、ロボット制御装置１２に送信する。
【００４３】
ここで、２値化を行うための閾値としては、任意の値が用いられてもよい。画像処理装置２３は、例えば、画像に含まれるそれぞれの画素の画素値（例えば、輝度値）について、当該画素値が所定の閾値を超える場合には１値とする一方、当該画素値が当該所定の閾値未満である場合には０値とすることで、２値化する。
また、画像処理装置２３は、例えば、撮像された画像のうちで、ユーザーにより指定（選択）された範囲の画像部分について、ブロブを検出する処理を行ってもよい。
なお、ユーザーにより行われる当該指定の操作は、例えば、開発用ＰＣ６０１が有する操作部を用いて行われてもよい。他の構成例として、当該操作は、他の操作部（例えば、画像処理装置２３、ロボット制御装置１２あるいは操作キー６０２が有する操作部）を用いて行われてもよい。
【００４４】
また、画像処理装置２３は、検出されたそれぞれのブロブごとに、当該ブロブと、当該ブロブに関する特徴的な値に、同じ識別情報を付与する。当該識別情報としては、例えば、連続番号の情報が用いられてもよい。連続番号の順序は、任意の順序であってもよく、例えば、面積の大きい方から小さい方への順序などであってもよい。また、連続番号の順序は、例えば、ユーザーにより指定されてもよく、または、自動的に割り当てられてもよい。
なお、ユーザーにより行われる当該指定の操作は、例えば、開発用ＰＣ６０１が有する操作部を用いて行われてもよい。他の構成例として、当該操作は、他の操作部（例えば、画像処理装置２３、ロボット制御装置１２あるいは操作キー６０２が有する操作部）を用いて行われてもよい。
【００４５】
図３は、本発明の一実施形態に係るブロブの検出結果の画像２１１の一例を示す図である。
本実施形態では、開発用ＰＣ６０１が、画像２１１を表示装置６２１の画面に表示する。
画像２１１は、複数（図３の例では、１８個）のブロブ２３１〜２４８を含む。図３の例では、０値（黒色）の画素の集合を対象物（図１の例では、対象物６１−１〜６１−４）である可能性があるブロブ２３１〜２４８としており、１値（白色）の画素については背景とみなしている。
【００４６】
図３の例では、４個のブロブ２４４〜２４７は対象物を表わしており、他のブロブ２３１〜２４３、２４８は対象物以外の物を表わしている。対象物以外の物は、例えば、ベルトコンベアー５１（他の構成例として、ステージなど）に存在する傷または色むらであり、あるいは、撮影時に生じたノイズ（ここでは、説明の便宜上、物とみなしている。）である。
【００４７】
また、画像処理装置２３は、画像２１１に、カーソル２７１の画像を重畳して表示するように制御する。画像処理装置２３は、当該カーソル２７１を、ユーザーにより行われる移動の操作に応じて、当該画像２１１において移動させる。当該操作は、例えば、開発用ＰＣ６０１が有する操作部を用いて行われる。
また、画像処理装置２３は、ユーザーにより行われるクリックの操作（例えば、開発用ＰＣ６０１における操作）に応じて、画像２１１におけるカーソル２７１の位置（または、カーソル２７１に対応する対象）の指定（選択）を受け付ける。ユーザーは、画像２１１においてカーソル２７１を所望の位置に合わせてクリックする。
【００４８】
画像処理装置２３は、任意のブロブ２３１〜２４８についてカーソル２７１によって指定が受け付けられた場合、指定が受付けられたブロブを強調して表示する制御を行う。図３の例では、１個のブロブ２４５が指定されており、画像処理装置２３は、当該ブロブ２４５の周囲に輪郭２６１を表示するように制御することで、当該ブロブ２４５を強調している。当該輪郭２６１は、例えば、ブロブ２３１〜２４８および背景として使用されていない色を有しており、赤色、青色、あるいは、黄色などの色を有してもよい。
【００４９】
図４は、本発明の一実施形態に係る特徴情報テーブルの画像（特徴情報テーブル画像３１１）の一例を示す図である。
画像処理装置２３は、図３に示される画像２１１においてブロブ２４５が指定された場合、指定されたブロブ２４５に関する特徴的な値を含む特徴情報テーブル画像３１１を生成する。当該特徴情報テーブル画像３１１は、表示装置６２１の画面に表示される。
図３および図４の例では、指定されたブロブ２４５に「１５」という識別情報が割り当てられている（付与されている）とする。本実施形態では、当該識別情報として、０を初期値として１ずつ増加する連続番号が用いられる。なお、図４の例では、識別情報を「ＩＤ」と表している。
図４の例では、検出された複数のブロブ２３１〜２４８のうちの一部であって、指定されたブロブ２４５の識別情報を含む前後の識別情報を有する４個のブロブ（「１３」〜「１６」という識別情報を有するブロブ）の情報を表す特徴情報テーブル画像３１１が表示されている。識別情報が「１５」であるブロブの情報は、面積が「２５０」という値であり、座標Ｘが「１０」という値であり、座標Ｙが「−１０」という値である。
【００５０】
図４の例では、特徴情報テーブル画像３１１には、互いに直交する２つの方向のうちの一方の方向（例えば、縦の方向）に識別情報が順番に記述されており、他方の方向（例えば、横の方向）に該当する識別情報を有するブロブについて、面積を表す数値、座標Ｘを表す数値、座標Ｙを表す数値が記述されている。ここで、ブロブの座標（Ｘ、Ｙ）としては、例えば、当該ブロブの重心（または、図心）の座標が用いられてもよい。
【００５１】
図４の例では、特徴情報テーブル画像３１１において、前記した一方の方向（例えば、縦の方向）について、スクロールを指示するバーが表示されている。画像処理装置２３は、ユーザーにより行われるスクロールの操作に応じて、特徴情報テーブル画像３１１を前記した一方の方向にスクロールさせる。なお、このようなスクロールの機能は、例えば、前記した一方の方向と、前記した他方の方向と、のうちの任意の一方または両方について備えられてもよい。
【００５２】
また、図４の例では、画像処理装置２３は、特徴情報テーブル画像３１１において、指定された行（指定行３２１）を、他の行とは異なる色とすることで、強調して表示している。当該色は、例えば、特徴情報テーブル画像３１１において使用されていない色を有しており、赤色、青色、あるいは、黄色などの色を有してもよい。
【００５３】
なお、図３の例における強調表示あるいは図４の例における強調表示としては、例えば、輪郭あるいは行の色を強調する表示以外の表示が用いられてもよく、例えば、輪郭あるいは行の線を太くする表示、または、輪郭あるいは行を点滅させる表示などが用いられてもよい。
【００５４】
また、画像処理装置２３は、ユーザーにより行われるクリックの操作（例えば、開発用ＰＣ６０１における操作）に応じて、特徴情報テーブル画像３１１におけるカーソル（図示せず）の位置（または、カーソルに対応する対象）の指定（選択）を受け付ける。ユーザーは、特徴情報テーブル画像３１１においてカーソルを所望の位置（例えば、所望の行など）に合わせてクリックする。
なお、他の例として、特徴情報テーブル画像３１１において、各行の識別情報（ＩＤ）の欄の横にさらにボタンなどを表示して、当該ボタンなどの位置で各行の指定を受け付けてもよい。
【００５５】
また、画像処理装置２３は、特徴情報テーブル画像３１１において、複数のブロブ２３１〜２４８の情報を並べ替え（ソート）する機能を有してもよい。一例として、画像処理装置２３は、ユーザーにより行われる操作（例えば、開発用ＰＣ６０１における操作）により特定された並べ替えの規則に基づいて、複数のブロブ２３１〜２４８の情報を並べ替えした特徴情報テーブル画像３１１を表示する。他の例として、画像処理装置２３は、あらかじめ定められた並べ替えの規則に基づいて、複数のブロブ２３１〜２４８の情報を並べ替えした特徴情報テーブル画像３１１を表示する。並べ替えの規則としては、任意の規則が用いられてもよく、例えば、面積が大きい方から小さい方への順序に並べ替える規則、面積が小さい方から大きい方への順序に並べ替える規則、座標Ｘあるいは座標Ｙが大きい方から小さい方への順序に並べ替える規則、または、座標Ｘあるいは座標Ｙが小さい方から大きい方への順序に並べ替える規則などが用いられてもよい。
【００５６】
図５は、本発明の一実施形態に係る特徴情報の画像（特徴情報画像４１１）の一例を示す図である。
画像処理装置２３は、図４に示される特徴情報テーブル画像３１１において１個のブロブの行（指定行３２１）が指定された場合、指定されたブロブ（ブロブ２４５）に関する特徴的な値の情報を含む画像（特徴情報画像４１１）を生成する。当該特徴情報画像４１１は、表示装置６２１の画面に表示される。
図５の例では、特徴情報画像４１１は、指定されたブロブ（ブロブ２４５）のみについて、当該ブロブに関する特徴的な値の情報を含む。
【００５７】
ここで、本実施形態では、画像処理装置２３は、図３に示される画像２１１においてブロブ２４５が指定された場合にそれに対応する図４に示される特徴情報テーブル画像３１１を表示するように制御し、図４に示される特徴情報テーブル画像３１１において指定行３２１が指定された場合にそれに対応する図５に示される特徴情報画像４１１を表示するように制御する構成とした。さらに、画像処理装置２３は、例えば、１つ前の表示内容に戻る操作（例えば、開発用ＰＣ６０１における操作）がユーザーにより行われて受け付けられたことに応じて、図５の表示内容から図４の表示内容に戻る処理、あるいは、図４の表示内容から図３の表示内容に戻る処理を行ってもよい。
【００５８】
また、他の構成例として、画像処理装置２３は、図３に示される画像２１１においてブロブ２４５が指定された場合に、それに対応する図５に示される特徴情報画像４１１を表示するように制御する構成が用いられてもよい。また、画像処理装置２３は、例えば、１つ前の表示内容に戻る操作（例えば、開発用ＰＣ６０１における操作）がユーザーにより行われて受け付けられたことに応じて、図５の表示内容から図３の表示内容に戻る処理を行ってもよい。
【００５９】
また、他の構成例として、画像処理装置２３は、図４に示される特徴情報テーブル画像３１１において所定のブロブに対応する行（指定行３２１）が指定された場合に、それに対応する当該ブロブを含む画像を表示するように制御する構成が用いられてもよい。当該画像としては、例えば、指定された当該ブロブのみの画像であってもよく、または、図３に示される画像２１１のように、指定された当該ブロブと他のブロブを含む画像であってもよい。
【００６０】
画像処理装置２３は、図３の表示内容、図４の表示内容、図５の表示内容、および他の任意の表示内容のうちの任意の２つまたは３つを同一の画面で表示するように制御してもよい。
一例として、画像処理装置２３は、図３に示される画像２１１においてブロブ２４５が指定された場合に、それに対応する図４に示される特徴情報テーブル画像３１１を、図３に示される当該画像２１１とともに、同一の画面に表示するように制御してもよい。
他の例として、画像処理装置２３は、図４に示される特徴情報テーブル画像３１１において所定のブロブに対応する行（指定行３２１）が指定された場合に、それに対応する当該ブロブを含む画像を、図４に示される特徴情報テーブル画像３１１とともに、同一の画面に表示するように制御してもよい。
【００６１】
ここで、本実施形態では、カーソルの移動およびクリックの操作によって、画像における所定の位置（本実施形態では、ブロブ）を指定する構成を示したが、このような操作としては、任意の操作が用いられてもよい。例えば、クリックの操作の代わりに、カーソルが同じ位置に存在する連続時間が所定の時間を超えるという操作（移動させないという操作）が用いられてもよい。また、例えば、タッチパネルなどにおいて、カーソルの代わりに、人の指などが用いられてもよい。
一例として、図３に示されるような画像２１１において、検出された複数のブロブ２３１〜２４８に連続番号が付与されている場合、画像処理装置２３は、ユーザーにより所定の操作（例えば、所定のキーの押下など）が行われるごとに、連続番号にしたがって、指定されるブロブを順次切り替える、構成が用いられてもよい。
他の例として、図４に示されるような特徴情報テーブル画像３１１において、画像処理装置２３は、ユーザーにより所定の方向（例えば、上、または、下）に対応するキーの操作が行われるごとに、当該方向に１つずつ、指定される行を順次切り替える、構成が用いられてもよい。なお、行の代わりに列が用いられる場合には、上下の代わりに左右が用いられる。
【００６２】
また、本実施形態では、検出された複数のブロブ２３１〜２４８のうちの１個のみが指定される場合ばかりでなく、検出された複数のブロブ２３１〜２４８のうちの２個以上が同時に指定される場合があってもよい。
また、本実施形態では、検出された複数のブロブ２３１〜２４８のうちで、指定されたブロブに関する情報について強調表示を行うが、他の構成例として、検出されたすべてのブロブ２３１〜２４８に関する情報について強調表示を行う構成が用いられてもよい。
【００６３】
＜ロボットシステムにおいて行われる表示処理の手順の一例＞
図６は、本発明の一実施形態に係るロボットシステム１において行われる表示処理の手順の一例を示す図である。
【００６４】
（ステップＳ１）
まず、ロボットシステム１において、画像を取得する。具体的には、ベルトコンベアー５１に載せられて移動させられている対象物６１−１〜６１−４の画像を、カメラ２２により撮像する。そして、ステップＳ２の処理へ移行する。
【００６５】
（ステップＳ２）
次に、ロボットシステム１において、画像処理装置２３により行われる所定の画像処理の対象範囲（測定範囲）として、カメラ２２により撮像された画像における所定の範囲（測定範囲）の指定が受け付けられる。そして、ステップＳ３の処理へ移行する。なお、本実施形態において、当該対象範囲は、サーチウインドウとも呼ばれる。
ここで、この指定は、例えば、ユーザーにより行われてもよく、または、自動的に行われてもよい。この指定は、例えば、開発用ＰＣ６０１において行われる。
【００６６】
（ステップＳ３）
画像処理装置２３は、カメラ２２により撮像された画像の情報について、所定の画像処理を行う。本実施形態では、画像処理装置２３は、当該画像処理として、当該画像においてブロブを検出する処理を行う。画像処理装置２３は、当該画像処理の結果の情報をロボット制御装置１２を介して開発用ＰＣ６０１に送信する。開発用ＰＣ６０１は、当該情報を受信する。そして、ステップＳ４の処理へ移行する。
【００６７】
（ステップＳ４）
開発用ＰＣ６０１では、検出されたブロブに関して、ブロブの識別情報（ＩＤ）の初期値の指定を受け付ける。そして、ステップＳ５の処理へ移行する。
ここで、この指定は、例えば、自動的に行われるが、ユーザーにより行われる操作に基づいて行われてもよい。本実施形態では、ブロブの識別情報の初期値として、０が指定される。
【００６８】
（ステップＳ５）
画像処理装置２３は、指定された識別情報に対応するブロブに関する情報を表示するように制御する。そして、ステップＳ６の処理へ移行する。
本実施形態では、画像処理装置２３は、図３に示されるようなブロブ検出結果の画像２１１を表示するとともに、指定された識別情報に対応する図４に示されるような特徴情報テーブル画像３１１を表示するように制御する。当該画像２１１および当該特徴情報テーブル画像３１１には、指定された識別情報に対応するブロブに関する情報が含まれる。
【００６９】
（ステップＳ６）
画像処理装置２３は、ステップＳ５の処理において、指定された識別情報に対応するブロブに関する情報を表示する場合に、当該情報を強調して表示するように制御する。そして、ステップＳ７の処理へ移行する。
本実施形態では、画像処理装置２３は、図３に示されるようなブロブ検出結果の画像２１１を表示する場合に、指定された識別情報に対応するブロブの輪郭を強調して表示するように制御する。本実施形態では、画像処理装置２３は、図４に示されるような特徴情報テーブル画像３１１を表示する場合に、指定された識別情報に対応するブロブの行を強調して表示するように制御する。
なお、ステップＳ５およびステップＳ６における表示の処理において、初期の状態のとき、または、指定された識別情報に対応するブロブに関する情報が存在しないときなどには、他の情報が表示されてもよい。
【００７０】
（ステップＳ７）
画像処理装置２３は、ユーザーにより行われる操作（例えば、開発用ＰＣ６０１における操作）に基づいて、画像（ここでは、図３に示されるような画像２１１を例とする。）において指定された位置の情報を受け付ける。そして、ステップＳ８の処理へ移行する。
本実施形態では、この指定を行う操作として、操作部（例えば、マウスあるいはタッチパネルなど）に対するクリックの操作が用いられる。
【００７１】
（ステップＳ８）
画像処理装置２３は、画像２１１において指定された位置（本実施形態では、クリックされた位置）が、いずれかのブロブに対応する位置であるか否かを判定する。
この判定の結果、画像処理装置２３は、画像２１１において指定された位置が、いずれかのブロブに対応する位置である場合（ステップＳ８：ＹＥＳ）、ステップＳ９の処理へ移行する。
一方、この判定の結果、画像処理装置２３は、画像２１１において指定された位置が、いずれかのブロブに対応する位置ではない場合（ステップＳ８：ＮＯ）、ステップＳ１１の処理へ移行する。なお、画像処理装置２３は、例えば、位置の指定の受け付けが無い状態が所定の時間だけ継続した場合においても、ステップＳ１１の処理へ移行してもよい。
【００７２】
（ステップＳ９）
画像処理装置２３は、画像２１１において指定された位置に対応するブロブの識別情報を取得（特定）する。そして、ステップＳ１０の処理へ移行する。
【００７３】
（ステップＳ１０）
画像処理装置２３は、取得された識別情報を指定する。そして、ステップＳ５の処理へ移行する。
【００７４】
（ステップＳ１１）
画像処理装置２３は、ユーザーにより行われる操作（例えば、開発用ＰＣ６０１における操作）に基づいて表示処理の終了の指示を受け付けたか否かを判定する。
この判定の結果、画像処理装置２３は、表示処理の終了の指示を受け付けたと判定した場合（ステップＳ１１：ＹＥＳ）、表示処理を終了する。
一方、この判定の結果、画像処理装置２３は、表示処理の終了の指示を受け付けていないと判定した場合（ステップＳ１１：ＮＯ）、ステップＳ７の処理へ移行する。
ここで、表示処理の終了の指示をユーザーにより与えるための操作としては、任意の操作が用いられてもよく、例えば、画像２１１あるいは他の部分に設けられた所定のボタンをクリックする操作が用いられてもよい。他の例として、画像処理装置２３は、所定のタイミングで、表示処理の終了の指示を受け付けるためのボタンなどを表示して、当該ボタンなどに対する操作の有無に応じて、表示処理の終了の指示の有無を判定してもよい。
【００７５】
＜所定の処理の条件の設定＞
開発用ＰＣ６０１は、ロボット１１により行われる所定の処理の条件を設定する。例えば、開発用ＰＣ６０１は、表示装置６２１により表示される情報の一部または全部に基づいて、ロボット１１により行われる所定の処理の条件を設定する。例えば、開発用ＰＣ６０１は、当該条件の情報を記憶部（当該開発用ＰＣ６０１の記憶部）に記憶する。
ここで、当該所定の処理は、例えば、表示装置６２１により表示される情報の一部または全部に基づいて行われる処理であり、一例として、対象物（図１の例では、対象物６１−１〜６１−４）あるいはノイズなどについて検査を行う処理であってもよく、または、対象物（図１の例では、対象物６１−１〜６１−４）をピッキングする処理（対象物を選んで取り出す処理）であってもよい。また、当該所定の処理は、例えば、表示装置６２１により表示される情報であってユーザーにより指定（選択）された情報に基づいて行われる処理である。
【００７６】
また、所定の処理の条件としては、例えば、当該所定の処理で使用されるパラメーター（プロパティー）の値または範囲が用いられてもよい。
一例として、対象物（ワークの一例）であると認識（判定）するための情報が、所定の処理の条件として用いられてもよい。
具体例として、対象物の候補の面積が上限値（上限に対応する所定の閾値）と下限値（下限に対応する所定の閾値）との間の範囲にある場合に、当該候補は対象物であると判定する条件が用いられてもよい。この場合、開発用ＰＣ６０１は、上限値を表すパラメーターの値および下限値を表すパラメーターの値（または、当該範囲を表すパラメーターの値）を設定する。
【００７７】
ここで、開発用ＰＣ６０１は、例えば、ユーザーにより行われる操作に基づいて、条件を設定してもよく、または、あらかじめ定められた手順にしたがって、自動的に、条件を設定してもよい。あるいは、開発用ＰＣ６０１では、ユーザーがパラメーターの値などをプログラム（ロボット制御装置１２を動作させるプログラム）に記述することで、条件が設定されてもよい。
ユーザーは、例えば、表示装置６２１により表示される情報の一部または全部に基づいて、所定の処理の条件を設定する。当該情報は、例えば、検出されたそれぞれのブロブの面積の情報であってもよく、あるいは、検出されたそれぞれのブロブに関する他の情報であってもよい。一例として、ユーザーは、検出されたそれぞれのブロブの面積の情報を見て、対象物として判定するための面積に関する閾値（例えば、上限値あるいは下限値）を設定することが可能である。
【００７８】
なお、対象物であることを判定する処理は、実質的に、対象物ではないことを判定する処理と同様である。このため、対象物であることを判定するための条件は、対象物ではないことを判定するための条件として用いられてもよい。つまり、開発用ＰＣ６０１、画像処理装置２３あるいはロボット制御装置１２では、対象物であることを判定するための条件に基づいて、一例として、対象物であると判定したブロブを抽出して処理することが可能であり、他の例として、対象物ではない（例えば、ノイズなど）と判定したブロブを抽出して処理することが可能である。
【００７９】
＜所定の処理＞
ロボット１１により行われる所定の処理は、任意の処理であってもよい。
一例として、ロボット１１により、対象物、あるいは、対象物以外の物について、検査の処理が行われてもよい。例えば、ロボット制御装置１２は、ロボット１１を制御して、対象物であると判定した物あるいは他の物をロボット１１のエンドエフェクターＥ１により把持して移動させることで、あらかじめ定められた所定の検査を行うための動作を実行する。
【００８０】
他の例として、ロボット１１により、対象物、あるいは、対象物以外の物について、ピッキングの処理が行われてもよい。例えば、ロボット制御装置１２は、ロボット１１を制御して、対象物であると判定した物あるいは他の物をロボット１１のエンドエフェクターＥ１により選択的に把持して持ち上げることで、ピッキングの動作を実行する。
このようなピッキングにおいて、ロボット制御装置１２は、例えば、操作受付部１５２によって、ユーザーから、ピッキングの対象とする１個のブロブの指定を受け付け、それ以降は、ロボット制御部１５３によって、当該ブロブの面積に対して同じ面積を有するブロブ（あるいは、所定の相違の範囲内の面積を有するブロブ）を選択的にピッキングするように制御する、構成が用いられてもよい。これにより、例えば、異なるサイズ（面積）を有する複数の対象物がベルトコンベアー５１（あるいは、ステージなど）に存在する場合に、最初の１回はユーザーが所望のサイズの対象物を選択し、その後は、自動的に、当該サイズと同じ（あるいは、近い）サイズを有する対象物を選択してロボット１１によりピッキングすることが可能である。
【００８１】
＜ロボットシステムにおいて行われる動作の例＞
ロボットシステム１において行われる動作の例を示す。
まず、カメラ２２により画像の取り込みを行う。画像処理装置２３は、取り込まれた画像の情報を開発用ＰＣ６０１に送信し、開発用ＰＣ６０１は当該画像の情報を表示装置６２１の画面に出力（表示）する。ユーザーは、当該画面において、ブロブの検出を行う領域（測定範囲）を指定する。画像処理装置２３は、指定された測定範囲において、ブロブを検出する処理を実行する。また、画像処理装置２３は、ブロブの識別情報の初期値として０を設定する。
このとき、例えば、ブロブ検出処理時における条件において、面積が大きいものから小さいものへの順に識別情報（本実施形態では、連続番号）を付与することが設定されている場合、検出されたブロブのうちで面積が最も大きいブロブ（識別情報が０であるブロブ）に関する情報が強調して表示される。
その後、他のブロブが指定されると、指定されたブロブに関する情報が強調して表示される。
【００８２】
ここで、検出されるブロブ２３１〜２４８には、対象物６１−１〜６１−４に対応するブロブ２４４〜２４７ばかりでなく、それ以外の物（傷あるいは色むらなど）に対応するブロブ２３１〜２４３、２４８が含まれ得る。
本実施形態では、ユーザーがブロブの情報を得ることを希望する場合には、ユーザーは該当するブロブに対応する位置にカーソルを合わせてクリックすることで、当該ブロブに関する情報を表示させることができる。また、本実施形態では、指定されたブロブに関する情報は、強調して表示される。指定されたブロブに関する情報としては、例えば、図４に示される特徴情報テーブル画像３１１のように、結果のリストの該当部をハイライトさせた情報が用いられてもよく、または、図５に示される特徴情報画像４１１のように、指定されたブロブのみに関する情報が用いられてもよい。
【００８３】
本実施形態では、ブロブの検出結果の情報に基づいて、ロボット１１により検査あるいはピッキングなどの処理が行われる。一例として、ユーザーは、ブロブに対応する物が対象物であるか否かを判定する条件を設定するために、検出された特定のブロブをクリックして、当該ブロブに関する値（面積などの数値）を参考値（例えば、正しい対象物であるという参考値）として利用することが可能である。また、本実施形態では、クリックされたブロブに関する情報について強調表示（例えば、輪郭あるいは所定の色などの表示）が行われるため、ユーザーは、誤ったブロブをクリックしても、その間違いにすぐに気付くことが可能である。
【００８４】
＜ロボットシステムにおいて行われる条件設定を含む動作の流れの例＞
図７は、本発明の一実施形態に係るロボットシステム１において行われる条件設定を含む動作の手順の一例を示す図である。
なお、図６に示される処理フローと、図７に示される処理フローとは、例えば、独立して行われてもよく、または、両方が並列して行われてもよい。例えば、図６に示される処理フローにおけるステップＳ１〜ステップＳ３の処理と、図７に示される処理フローにおけるステップＳ３１の処理とは、共通の処理であってもよい。
【００８５】
（ステップＳ３１）
画像処理装置２３は、カメラ２２により撮像された画像について、ブロブを検出する。そして、ステップＳ３２の処理へ移行する。
【００８６】
（ステップＳ３２）
画像処理装置２３は、ブロブの検出結果を開発用ＰＣ６０１に送信し、開発用ＰＣ６０１は当該検出結果を表示装置６２１に表示する。この表示は、テーブル（例えば、表形式のテーブル）などを用いて行われてもよい。ユーザーは、この表示の内容（ブロブの検出結果）を見て確認する。そして、ステップＳ３３の処理へ移行する。
【００８７】
（ステップＳ３３）
開発用ＰＣ６０１は、ブロブに関する条件の設定を行う。そして、ステップＳ３４の処理へ移行する。
例えば、ユーザーは、ブロブの検出処理（あるいは、ブロブサーチ処理）においてプロパティーを入力することが可能な画面を用いて、先に確認した情報（ブロブの検出結果）に基づいて、ブロブの面積の最小値、最大値などの設定を行うことが可能である。
【００８８】
なお、このような条件の設定は、例えば、ユーザーにより行われる操作に基づいて行われてもよく、または、開発用ＰＣ６０１により自動的に行われてもよい。
一例として、開発用ＰＣ６０１は、画像処理装置２３によって生成されたＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の画面を表示装置６２１に表示して、当該ＧＵＩを介して、ユーザーから所望の条件を受け付けて設定してもよい。
本実施形態では、このような条件の設定内容に基づいて、ロボット１１の動作が行われる。
【００８９】
（ステップＳ３４）
画像処理装置２３は、ブロブをサーチする処理（ブロブサーチ処理）を行う。そして、ステップＳ３５の処理へ移行する。
なお、本例では、ブロブ検出処理によりブロブを検出し、その後、条件が設定された後にブロブサーチ処理により条件に合ったブロブをサーチして検出する例を示すが、ブロブ検出処理とブロブサーチ処理とは、例えば、同様な処理であってもよい。
【００９０】
（ステップＳ３５）
画像処理装置２３は、ブロブサーチ処理の結果（リザルト）を開発用ＰＣ６０１に送信し、開発用ＰＣ６０１は当該結果を表示装置６２１に表示する。そして、ステップＳ３６の処理へ移行する。当該結果として、例えば、ブロブの座標および面積、あるいは、設定された条件に対する良否の結果などが含まれてもよい。一例として、設定された条件として面積の最大、最小が用いられる場合には、ブロブの面積が当該最小と当該最大の範囲にある場合には当該ブロブは良と判定され、それ以外の場合には当該ブロブは不良として判定される。
【００９１】
（ステップＳ３６）
ロボット制御装置１２（あるいは、開発用ＰＣ６０１）は、前記したブロブサーチ処理の結果（リザルト）を読み出す。そして、ステップＳ３７の処理へ移行する。この読み出しは、例えば、ＶＧｅｔの命令（コマンド）を用いて行われてもよい。
また、開発用ＰＣ６０１（あるいは、他の構成例として、ロボット制御装置１２）は、読み出された当該結果に基づいてロボット制御装置１２による制御が行われるように、ロボット制御装置１２による制御アルゴリズム（例えば、プログラム）を設定する。例えば、開発用ＰＣ６０１（あるいは、他の構成例として、ロボット制御装置１２）は、良と判定されたブロブを処理対象とするような処理の条件を設定することが可能である。
【００９２】
（ステップＳ３７）
ロボット制御装置１２は、これにより得られた情報（ブロブの座標、良否の判定結果など）に基づいて、ロボット１１の動作を制御する。ロボット１１の動作としては、例えば、移動、あるいは、把持などがある。
なお、ロボット制御装置１２は、前記したブロブサーチ処理の結果が不良であるブロブについては処理を行わない、といった判定を行うことも可能である。
【００９３】
ここで、条件の設定は、例えば、ロボット制御装置１２において行われてもよい。一例として、ユーザーがロボット１１の動作のコマンドに所望の条件に合った数値を入力することで、当該条件を設定してもよい。
【００９４】
＜画面の例＞
図８〜図１５は、それぞれ、本発明の一実施形態に係るブロブの処理において表示される画面２００１〜２００７の例を示す図である。
ここで、これらの画面２００１〜２００７の概略的な構成は同じであり、これらの画面２００１〜２００７は、画像表示部２０２１と、プロパティー設定表示部２０２２と、検出結果表示部２０２３と、アイコン表示部２０２４と、オブジェクト実行ボタン３０１１を含む。画像表示部２０２１と、プロパティー設定表示部２０２２と、検出結果表示部２０２３のそれぞれの内部に表示される情報は、処理の状況などに応じて変化し得る。
【００９５】
画像表示部２０２１は、画像を表示する部分である。
プロパティー設定表示部２０２２は、プロパティーを設定する欄を表示する部分である。
検出結果表示部２０２３は、検出結果を表示する部分である。
アイコン表示部２０２４は、複数のアイコンを表示する部分である。
オブジェクト実行ボタン３０１１は、処理を実行させるボタンである。
本例では、開発用ＰＣ６０１が制御することで、画像処理装置２３による画像処理および表示装置６２１による表示が行われる。
【００９６】
まず、図８に示される画面２００１が表示される。
図８の例では、入力された画像が画像表示部２０２１に表示されている。当該画像は、例えば、撮像画像から得られた二値化画像（例えば、白黒の画像）であってもよい。図８の例では、当該画像は、一定間隔で縦と横に並んだ黒丸を含む画像である。
ユーザーにより行われる操作に応じて、カーソル２０５１の位置が所定のアイコン２０４１の位置に合わされて指定（例えば、クリックなど）されると、当該アイコン２０４１に対応付けられた処理が行われる。
ここで、当該所定のアイコン２０４１は、画像に基づいてブロブを検出する処理に対応付けられている。
【００９７】
次に、図９に示される画面２００２が表示される。
ブロブを検出する処理において、ユーザーにより行われる操作に応じて、カーソル２０５１によって画面２００２（例えば、画像表示部２０２１の領域）が指定（例えば、クリックなど）されると、画像表示部２０２１においてサーチウインドウ（ＳｅａｒｃｈＷｉｎ）２１１１が表示される。
【００９８】
ここで、サーチウインドウ２１１１は、画像表示部２０２１に表示される画像においてブロブの検出の処理を行う領域（測定範囲）を表す枠である。サーチウインドウ２１１１は、例えば、周囲とは異なる色の枠であってもよく、赤色などであってもよい。
また、サーチウインドウ２１１１のプロパティーの値（例えば、大きさ、形状などの値）は、初期では、デフォルト値に設定される。当該デフォルト値は、あらかじめ定められた値であり、ユーザーにより行われる操作に応じて変更され得る。
図９の例では、プロパティー設定表示部２０２２に、サーチウインドウ２１１１のプロパティーの値が表示される。このプロパティーの値は、ユーザーにより行われる操作に応じて変更され得る。
【００９９】
図９の例では、サーチウインドウ２１１１のプロパティーの値（設定値）として、角度（Ａｎｇｌｅ）、重心位置（または、図心位置）のＸ座標値（ＣｅｎｔｅｒＸ）、重心位置（または、図心位置）のＹ座標値（ＣｅｎｔｅｒＹ）、高さ方向の長さ（Ｈｅｉｇｈｔ）、左側の位置（Ｌｅｆｔ）、高さ方向の上側の位置（Ｔｏｐ）、形状のタイプ（Ｔｙｐｅ）、横方向の幅（Ｗｉｄｔｈ）、探索するサイズ（Ｓｉｚｅ  Ｔｏ  Ｆｉｎｄ）、ソート（Ｓｏｒｔ）、自動的な閾値判定（ＴｈｒｅｓｈｏｌｄＡｕｔｏ）がある。
ここで、画像表示部２０２１の領域はＸＹ直交座標系の平面で表され、Ｘ座標が横方向に対応しており、Ｙ座標が高さ方向（縦方向）に対応している。
また、図９の例では、形状のタイプ（Ｔｙｐｅ）として、矩形（Ｒｅｃｔａｎｇｌｅ）が用いられているが、他の形状が用いられてもよく、例えば、円あるいは楕円などの形状が用いられてもよい。
また、図９の例では、探索するサイズ（Ｓｉｚｅ  Ｔｏ  Ｆｉｎｄ）として最大のもの（Ｌａｒｇｅｓｔ）が設定されており、ソート（Ｓｏｒｔ）として不要（Ｎｏｎｅ）が設定されており、自動的な閾値判定（ＴｈｒｅｓｈｏｌｄＡｕｔｏ）として失敗（Ｆａｌｓｅ）が設定されている。
【０１００】
次に、図１０に示される画面２００３が表示される。
当該画面２００３では、図９に示される画面２００２に対して、ユーザーにより行われる操作に応じて、カーソル２０５１が移動させられている。カーソル２０５１が移動させられると、その移動に応じて、画像表示部２０２１においてサーチウインドウ２１１１が変化（移動、および、拡大縮小）させられる。
図１０の例では、サーチウインドウ２１１１が、画像表示部２０２１と同じ大きさ（または、ほぼ同じ大きさ）となるように拡大されている。
【０１０１】
次に、ユーザーにより行われる所定の操作に応じて、ブロブの検出が行われる。当該所定の操作は、カーソル２０５１をオブジェクト実行ボタン３０１１の位置に合わせて指定（例えば、クリックなど）する操作である。
すると、図１１に示される画面２００４が表示される。画像表示部２０２１には、プロパティー設定表示部２０２２に表示されたプロパティーの設定内容に基づいて実行されたブロブ検出処理の結果が表示される。
図１１の例では、画像表示部２０２１には、検出されたブロブ４０１１〜４０１３（検出された複数のブロブのうち一部のみに符号を付してある。）が表示される。この検出結果では、対象となる画像に含まれる黒丸に対応するブロブ４０１１以外に、ノイズなどにより検出されたブロブ４０１２、４０１３が含まれる。
なお、図１１の例では、検出されたブロブ４０１１〜４０１３は、四角形に×を記したマークで表されている。
【０１０２】
ここで、図１１の例では、プロパティーとして、検出する最大の領域（ＭａｘＡｒｅａ）、検出する最小の領域（ＭｉｎＡｒｅａ）、名称（Ｎａｍｅ）、探索する数（Ｎｕｍｂｅｒ  ｏｆ  Ｆｉｎｄ）、パスカラー（ＰａｓｓＣｏｌｏｒ）、パスタイプ（ＰａｓｓＴｙｐｅ）、ポラリティー（Ｐｏｌａｒｉｔｙ）、リジェクトオンエッジ（ＲｅｊｅｃｔＯｎＥｄｇｅ）がある。
例えば、検出する最大の領域（ＭａｘＡｒｅａ）は２０００００となっており、検出する最小の領域（ＭｉｎＡｒｅａ）は２５となっている。本例では、これらの領域は面積（単位は、例えば、ピクセルの数）で表されており、面積が２５以上２０００００以下のブロブが検出対象となっている。
また、探索する数（Ｎｕｍｂｅｒ  ｏｆ  Ｆｉｎｄ）としては、すべて（Ａｌｌ）となっている。
本例では、検出された複数のブロブが、面積の大きい方から順に並べられている。図１１の例では、面積が最大であるブロブの検出結果が１番目の情報として検出結果表示部２０２３に表示されている。
【０１０３】
また、図１１の例では、検出結果表示部２０２３に、それぞれのブロブの検出結果が表示される。検出結果として、角度（Ａｎｇｌｅ）、面積（Ａｒｅａ）、カメラＸ（ＣａｍｅｒａＸ）、カメラＹ（ＣａｍｅｒａＹ）、コンパクトネス（Ｃｏｍｐａｃｔｎｅｓｓ）、発見されたか否か（Ｆｏｕｎｄ）、ファウンドオンエッジ（ＦｏｕｎｄＯｎＥｄｇｅ）、ホール（Ｈｏｌｅｓ）、外形（ＭａｊｏｒＤｉａｍｅｔｅｒ）、最大のフェレ径（ＭａｘＦｅｒｅｔＤｉａｍｅｔｅｒ）、最大のＸ座標値（ＭａｘＸ）、最大のＹ座標値（ＭａｘＹ）がある。
【０１０４】
次に、ユーザーにより行われる所定の操作に応じて、画像表示部２０２１に表示される検出結果（検出結果の画像）が拡大されたとする。当該所定の操作は、カーソル２０５１を用いて、拡大率（縮小も同様）が選択される操作である。
すると、図１２に示される画面２００５が表示される。
図１２の例では、図１１の例に対して、画像表示部２０２１に表示される検出結果が拡大されている。
【０１０５】
次に、ユーザーにより行われる所定の操作に応じて、画像表示部２０２１に表示される１個のブロブ４０１３が指定されたとする。当該所定の操作は、カーソル２０５１をブロブ４０１３の位置に合わせて指定（例えば、クリックなど）する操作である。
すると、図１３に示される画面２００６が表示される。
図１３の例では、指定されたブロブ４０１３に関する検出結果が検出結果表示部２０２３に表示されている。これにより、ユーザーは、ノイズなどであるブロブ４０１３に関する情報を把握することができる。
例えば、指定されたブロブ４０１３の面積は１１１．０である。
【０１０６】
次に、ユーザーにより行われる所定の操作に応じて、プロパティー設定表示部２０２２において、検出する最小の領域（ＭｉｎＡｒｅａ）が変更されたとする。当該所定の操作は、カーソル２０５１を該当する欄の位置に合わせて指定（例えば、クリックなど）し、値を入力する操作である。
この場合、図１４に示される画面２００７が表示される。
図１４の例では、検出する最小の領域（ＭｉｎＡｒｅａ）として１５０が設定されている。これにより、図１４の例では、面積が１５０以上２０００００以下のブロブが検出対象となり、ノイズ等部分４０２１、４０２２（ノイズなどによるブロブ４０１２、４０１３に対応する部分）が検出されていない。
すなわち、本例では、ユーザーは、ノイズなどによるブロブ４０１２、４０１３を指定（選択）することで、その情報（本例では、面積）を調べることができ、そして、当該情報に基づいて、ノイズ等部分４０２１、４０２２をブロブサーチ処理で検出しない設定とすることが可能である。
【０１０７】
ここで、図７に示される処理フローでは、例えば、ステップＳ３１の処理（ブロブの検出）において図８〜図１０に示される画面２００１〜２００３に関する処理が行われ、ステップＳ３２の処理（ブロブの検出結果の表示）において図１１に示される画面２００４に関する処理が行われ、ステップＳ３３の処理（ブロブに関する条件の設定）において図１２〜図１４に示される画面２００５〜２００７に関する処理が行われる。なお、図１４に示される画面２００７に関して、ブロブサーチの処理および当該処理の結果の表示は、ステップＳ３４〜ステップＳ３５で行われる。
【０１０８】
＜ロボットシステムのハードウェア構成の例＞
図１５は、本発明の一実施形態に係るロボットシステム１における各装置のハードウェア構成の一例を示す図である。なお、図１５の例では、図１に示される表示装置２４、６２１とそのケーブル４２、６４１については図示を省略してある。
図１５には、カメラ２２と、画像処理装置２３と、ロボット制御装置１２と、ロボット１１と、操作キー６０２と、開発用ＰＣ６０１と、カメラ２２と画像処理装置２３とを通信可能に接続するケーブル４１と、画像処理装置２３とロボット制御装置１２とを通信可能に接続するケーブル３２と、ロボット１１とロボット制御装置１２とを通信可能に接続するケーブル３１と、開発用ＰＣ６０１とロボット制御装置１２とを通信可能に接続するケーブル３３と、操作キー６０２とロボット制御装置１２とを通信可能に接続するケーブル３４を示してある。
【０１０９】
ここで、それぞれのケーブル４１、３１、３２、３３、３４は、例えば、イーサネット（登録商標）のケーブルであってもよく、また、例えば、接続の手法として、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）が用いられてもよい。なお、他のケーブル４２、６４１についても同様である。
【０１１０】
ロボット制御装置１２は、ハードウェア構成の概略として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）７１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）７１３と、４個のインターフェイス（Ｉ／Ｆ）７１４〜７１７を備える。
４個のインターフェイス７１４、７１５、７１６、７１７は、それぞれ、ケーブル３２、ケーブル３１、ケーブル３３、ケーブル３４と接続される。
【０１１１】
ロボット１１は、インターフェイス（Ｉ／Ｆ）７５１を備える。インターフェイス７５１は、ケーブル３１と接続される。当該ケーブル３１を介して、ロボット制御装置１２からロボット１１へ駆動信号が送信され、また、ロボット１１からロボット制御装置１２へ力覚センサー９２などのセンサーの検出情報が送信される。
操作キー６０２は、ロボット制御装置１２とは別体であり、ユーザーにより行われる操作を受け付ける。操作キー６０２は、例えば、処理の実行を指示するスイッチのキーなどを有してもよい。操作キー６０２は、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）の機器の一例である。
【０１１２】
画像処理装置２３は、ハードウェア構成の概略として、ＣＰＵ７３１と、ＲＯＭ７３２と、ＲＡＭ７３３と、２個のインターフェイス（Ｉ／Ｆ）７３４〜７３５を備える。
２個のインターフェイス（Ｉ／Ｆ）７３４、７３５は、それぞれ、ケーブル３２、ケーブル４１と接続される。
【０１１３】
開発用ＰＣ６０１は、ハードウェア構成の概略として、ＣＰＵ８１１と、ＲＯＭ８１２と、ＲＡＭ８１３と、インターフェイス（Ｉ／Ｆ）８１４を備える。インターフェイス（Ｉ／Ｆ）８１４は、ケーブル３３と接続される。
【０１１４】
図１５に示されるロボットシステム１において行われる動作の例を（動作手順例１）〜（動作手順例６）として示す。なお、この動作の例は一例であり、他の任意の動作が用いられてもよい。
本実施形態では、ロボット１１を動作させるためのプログラムを作成するときには、開発用ＰＣ６０１がロボット制御装置１２と接続された状態とされる。但し、量産の段階などでは、開発用ＰＣ６０１がロボット制御装置１２から外される場合がある。
【０１１５】
（動作手順例１）
開発用ＰＣ６０１は、画像処理装置２３に対して、画像を取得するように命令を出力し、これにより、画像を取得する。この命令は、開発用ＰＣ６０１と画像処理装置２３との間で、ロボット制御装置１２により中継される。また、当該画像は、カメラ２２により撮像される画像である。
【０１１６】
（動作手順例２）
開発用ＰＣ６０１は、取得された画像に基づいて、ブロブの画像（ブロブ画像）を得て、当該ブロブ画像に基づいてブロブの検出条件を設定する。この設定は、例えば、ユーザーにより行われてもよく、または、装置（例えば、開発用ＰＣ６０１）により自動的に行われてもよい。一例として、図８〜図１４に示される画面２００１〜２００７を用いて、検出条件であるプロパティーの設定が行われてもよい。
【０１１７】
（動作手順例３）
開発用ＰＣ６０１は、ブロブの検出条件の設定内容に基づいて、設定された条件が反映されたプログラムを作成して、当該プログラムをロボット制御装置１２の記憶部１１３（例えば、ＲＯＭ７１２）に記憶（保存）する。
【０１１８】
（動作手順例４）
ロボット制御装置１２は、画像処理装置２３に対して、ブロブサーチ処理の命令を出力する。これにより、画像処理装置２３において、ブロブサーチ処理が行われる。
【０１１９】
（動作手順例５）
画像処理装置２３は、ブロブサーチ処理の結果の情報をロボット制御装置１２に送信する。これにより、ロボット制御装置１２は、画像処理装置２３から、ブロブサーチ処理の結果の情報を取得する。
【０１２０】
（動作手順例６）
ロボット制御装置１２は、取得されたブロブサーチ処理の結果の情報に基づいて、ロボット１１の動作を制御する。この際、ロボット制御装置１２は、ロボット１１に対して直接的な駆動信号を出力し、また、ロボット１１からセンサーの検出結果の情報を取得して必要に応じてフィードバック制御などを行う。
【０１２１】
［開発用ＰＣと画像処理装置とロボット制御装置］
本実施形態では、画像処理装置２３が所定の画像処理（本実施形態では、撮像画像に基づいてブロブを検出するための処理）を実行し、当該画像処理の結果の情報に基づいて開発用ＰＣ６０１が所定の処理の条件を設定し、ロボット制御装置１２がロボット１１による当該処理の実行を制御する。
ここで、画像処理装置２３により行われる所定の画像処理の内容としては、本実施形態における画像処理の内容に限られず、例えば、本実施形態における画像処理の内容と比べて、少なくてもよく、多くてもよく、または、異なる内容であってもよい。この場合に、例えば、画像処理装置２３により行われる処理については開発用ＰＣ６０１あるいはロボット制御装置１２では行われなくてもよく、また、開発用ＰＣ６０１あるいはロボット制御装置１２により行われる処理については画像処理装置２３では行われなくてもよい。
また、本実施形態では、開発用ＰＣ６０１が開発時における処理の制御を行う構成としたが、他の構成例として、開発用ＰＣ６０１が有する機能のすべてまたは一部がロボット制御装置１２あるいは画像処理装置２３に備えられてもよい。
つまり、開発用ＰＣ６０１により行われる処理と画像処理装置２３により行われる処理とロボット制御装置１２により行われる処理とを合わせた全体の処理において必要な処理が実行されれば、それぞれの装置（開発用ＰＣ６０１、画像処理装置２３、ロボット制御装置１２）により行われる処理の分担は様々であってもよい。
一例として、ロボット制御装置１２に画像処理装置２３の機能を一体化してもよく、つまり、ロボット制御装置１２が画像処理装置２３の機能を含んでもよい。
【０１２２】
ここで、本実施形態では、プログラムの開発段階では、ブロブサーチの設定、結果の表示などは、すべて、開発用ＰＣ６０１の表示装置６２１（モニター）に表示される。具体例として、図３〜図５、図８〜図１４に示される画像（画面）のすべては、開発用ＰＣ６０１の表示装置６２１に表示される。
なお、これらの画像（画面）が、補助的に、画像処理装置２３により表示装置２４の画面に表示されてもよい。
【０１２３】
［他の構成例に係るロボットシステム］
図１６は、本発明の一実施形態（他の構成例）に係るロボットシステム１００１の概略的な構成例を示す図である。
ロボットシステム１００１は、図１に示されるロボットシステム１と比べて、図１に示される単腕のロボット１１の代わりに、双腕のロボット１０１１を備える点で、相違しており、他の点については同様である。
以下では、ロボットシステム１００１について、図１に示されるロボットシステム１とは相違する点について詳しく説明する。
【０１２４】
ロボットシステム１００１は、ロボット１０１１と、支持部２１と、カメラ２２と、画像処理装置２３と、表示装置２４と、開発用ＰＣ６０１と、操作キー６０２と、表示装置６２１と、ロボット１０１１に備えられたロボット制御装置１１１１と画像処理装置２３とを通信可能に接続するケーブル１１３１と、開発用ＰＣ６０１とロボット制御装置１１１１とを通信可能に接続するケーブル１１３２（図１の例におけるケーブル３３に対応する。）と、操作キー６０２とロボット制御装置１１１１とを通信可能に接続するケーブル１１３３（図１の例におけるケーブル３４に対応する。）と、カメラ２２と画像処理装置２３とを通信可能に接続するケーブル４１と、画像処理装置２３と表示装置２４とを通信可能に接続するケーブル４２と、開発用ＰＣ６０１と表示装置６２１とを通信可能に接続するケーブル６４１と、ベルトコンベアー５１と、複数（図１の例では、４個を示してある。）の対象物６１−１〜６１−４と、テーブル７１を備える。
【０１２５】
［双腕のロボット］
ロボット１０１１は、上部にある頭部と、中央部にある胴体部と、下部にある台部（台の部分）と、胴体部に設けられた腕部を備える。
ロボット１０１１は、腕部として２本の腕を有する双腕のロボットである。
【０１２６】
ロボット１０１１は、一方の腕側の構成として、第１マニピュレーターＭ１１と、第１力覚センサー１０７１−１と、第１エンドエフェクターＥ１１を備える。これらは一体化され、本実施形態では、第１マニピュレーターＭ１１と第１エンドエフェクターＥ１１との間に第１力覚センサー１０７１−１を備える。
ロボット１０１１は、他方の腕側の構成として、第２マニピュレーターＭ１２と、第２力覚センサー１０７１−２と、第２エンドエフェクターＥ１２を備える。これらは一体化され、本実施形態では、第２マニピュレーターＭ１２と第２エンドエフェクターＥ１２との間に第２力覚センサー１０７１−２を備える。
【０１２７】
本実施形態では、一方の腕側の構成（第１エンドエフェクターＥ１１が取り付けられた第１マニピュレーターＭ１１）により７軸の自由度の動作を行うことが可能であり、他方の腕側の構成（第２エンドエフェクターＥ１２が取り付けられた第２マニピュレーターＭ１２）により７軸の自由度の動作を行うことが可能であるが、他の構成例として、６軸以下または８軸以上の自由度の動作を行う構成が用いられてもよい。
ここで、マニピュレーターＭ１１、Ｍ１２は、７軸の自由度で動作する場合、６軸以下の自由度で動作する場合と比較して取り得る姿勢が増えることによって、例えば、動作が滑らかになり、当該マニピュレーターＭ１１、Ｍ１２の周辺に存在する物体との干渉を容易に回避することができる。また、マニピュレーターＭ１１、Ｍ１２が７軸の自由度で動作する場合、当該マニピュレーターＭ１１、Ｍ１２の制御は、マニピュレーターＭ１１、Ｍ１２が８軸以上の自由度で動作する場合と比較して計算量が少なく容易である。このような理由から、本実施形態では、好ましい一例として、７軸の自由度で動作するマニピュレーターＭ１１、Ｍ１２が用いられている。
また、本実施形態では、胴体部は、腰の部分で、１軸の自由度で回転することが可能な構成である。
【０１２８】
また、ロボット１０１１は、頭部の左右のそれぞれに設けられた２個のカメラ（第１カメラ１０３１−１、第２カメラ１０３１−２）と、第１マニピュレーターＭ１１の所定部位に設けられたカメラ（第３カメラ１０５１−１）と、第２マニピュレーターＭ１２の所定部位に設けられたカメラ（第４カメラ１０５１−２）を備える。
それぞれのカメラ（第１カメラ１０３１−１、第２カメラ１０３１−２、第３カメラ１０５１−１、第４カメラ１０５１−２）は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）あるいはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）等を用いたカメラである。
第１カメラ１０３１−１および第２カメラ１０３１−２は、それぞれ、頭部の動きに応じて動かされる。
第３カメラ１０５１−１および第４カメラ１０５１−２は、それぞれ、第１マニピュレーターＭ１１および第２マニピュレーターＭ１２のそれぞれの動きに応じて動かされる。
【０１２９】
また、ロボット１０１１は、ロボット制御装置１１１１を備える。本実施形態では、ロボット１０１１は、台部の内部にロボット制御装置１１１１を備える。
ロボット制御装置１１１１は、ロボット１０１１の動作を制御する。ロボット制御装置１１１１は、例えば、第１マニピュレーターＭ１１および第２マニピュレーターＭ１２の動作を制御する。さらに、ロボット１０１１の腰などの部分の動作が可能な構成では、ロボット制御装置１１１１は当該腰などの部分の動作を制御する。
本実施形態では、第１カメラ１０３１−１、第２カメラ１０３１−２、第３カメラ１０５１−１および第４カメラ１０５１−２のそれぞれは、画像を撮像して、撮像された画像の情報をロボット制御装置１１１１に送信（出力）する。また、第１力覚センサー１０７１−１および第２力覚センサー１０７１−２のそれぞれは、第１エンドエフェクターＥ１１および第２エンドエフェクターＥ１２のそれぞれに作用する力およびモーメントのうちの一方または両方を検出して、検出結果の情報をロボット制御装置１１１１に送信（出力）する。ロボット制御装置１１１１は、これらの情報を受信（入力）し、受信された情報を、ロボット１０１１の動作を制御する際に、使用することが可能である。
ここで、第１カメラ１０３１−１、第２カメラ１０３１−２、第３カメラ１０５１−１、第４カメラ１０５１−２、第１力覚センサー１０７１−１および第２力覚センサー１０７１−２のそれぞれとロボット制御装置１１１１とは有線のケーブル（回線）を介して接続されており、当該回線を介して情報を通信することが可能である。なお、有線のケーブルの代わりに、無線の回線が用いられてもよい。
【０１３０】
本実施形態では、第１マニピュレーターＭ１１の位置および姿勢、第２マニピュレーターＭ１２の位置および姿勢、および各カメラ（第１カメラ１０３１−１、第２カメラ１０３１−２、第３カメラ１０５１−１、第４カメラ１０５１−２）により撮像される画像について、座標系のキャリブレーションが行われている。
【０１３１】
本実施形態では、ロボット制御装置１１１１は、設定されたプログラム（制御プログラム）にしたがって、ロボット１０１１の動作を制御する。ロボット制御装置１１１１は、ロボット１０１１の動作を実現するために必要な各種の情報を、ロボット１０１１（本体）に対して教示する。
具体例として、ロボット制御装置１１１１は、各マニピュレーターＭ１１、Ｍ１２の動作を制御することで、各エンドエフェクターＥ１１、Ｅ１２により物体を把持することが可能である。また、ロボット制御装置１１１１は、各エンドエフェクターＥ１１、Ｅ１２により把持された物体を移動させること、各エンドエフェクターＥ１１、Ｅ１２により把持された物体を所定位置に載置して離す（把持を解除する）こと、各エンドエフェクターＥ１１、Ｅ１２により把持された物体を加工（例えば、穴開けなど）すること、なども可能である。
本実施形態では、それぞれのエンドエフェクターＥ１１、Ｅ１２は、掌１０９１−１、１０９１−２および爪（指）１０９２−１、１０９２−２を備える。
【０１３２】
［他の構成例に係るロボット制御装置］
図２を例とすると、本実施形態では、ロボット制御装置１１１１は、例えば、入力部１１１、出力部１１２、記憶部１１３、制御部１１４と同様な機能を備える。本実施形態では、ロボット制御装置１１１１は、２個のマニピュレーターＭ１１、Ｍ１２のうちの任意の一方を制御することが可能であり、また、２個のマニピュレーターＭ１１、Ｍ１２の両方を協調的に制御することが可能である。
なお、本実施形態では、例えば、カメラ２２の代わりに、複数のカメラ１０３１−１〜１０３１−２、１０５１−１〜１０５１−２のうちの１個以上が用いられてもよい。
【０１３３】
開発用ＰＣ６０１、双腕のロボット１０１１およびロボット制御装置１１１１においても、単腕のロボット１１およびロボット制御装置１２の場合と同様に、画像処理装置２３により行われた所定の画像処理の結果の情報などに基づいて、所定の画像の情報を表示装置２４、６２１の画面に表示すること、ユーザーにより行われる操作を受け付けること、ロボット１０１１により行われる所定の処理の条件を設定すること、設定された条件に基づいてロボット１０１１が動作を行うこと、などを実行する。
【０１３４】
［実施形態のまとめ］
以上のように、本実施形態に係るロボットシステム１、１００１では、表示情報において、所望の対象（本実施形態では、ブロブ）に関する画像がユーザーにより指定された場合に、当該対象に関する他の画像を表示する。また、本実施形態に係るロボットシステム１、１００１では、当該他の画像に基づいて、ユーザーによりまたは自動的に、物体に関する処理の条件を設定し、ロボット１１、１０１１により当該処理を実行する。
また、本実施形態に係るロボットシステム１、１００１では、表示情報において、所望の対象に関する画像がユーザーにより指定された場合に、当該対象に関する画像を強調表示する。
【０１３５】
本実施形態に係るロボットシステム１、１００１では、所定の対象（本実施形態では、ブロブ）と、当該対象に関する画像と、が対応付けられており、例えば、表示情報において、複数の対象のなかから、所望の対象に関する画像（本実施形態では、当該対象自体の画像、または、面積あるいは位置などの数値を含む画像）がユーザーにより指定された場合に、当該画像の輪郭などが強調表示され、また、当該画像に関する他の画像（本実施形態では、面積あるいは位置などの数値を含む画像、または、当該対象自体の画像）が表示される。
【０１３６】
このように、本実施形態に係るロボットシステム１、１００１では、ユーザーは、所望の対象に関する画像を直感的に指定することで、当該対象に関する他の画像を表示させることができ、このような指定の操作がユーザーにとって容易である。
また、本実施形態に係るロボットシステム１、１００１では、ユーザーによる画像（ここで、説明の便宜上、「画像Ｇ１」という。）の指定を受け付けるために表示される元の画像（ここで、説明の便宜上、「画像Ｇ０」という。）と、ユーザーによる画像（画像Ｇ１）の指定に応じて表示される他の画像（ここで、説明の便宜上、「画像Ｇ２」という。）とが同一の画面に表示されることで、これらの画像（画像Ｇ０、画像Ｇ２）の対応関係を視覚的に把握することをユーザーにとって容易にすることができる。
【０１３７】
また、本実施形態に係るロボットシステム１、１００１では、ユーザーにより指定された対象に関する画像が強調表示されることにより、複数の対象のなかで現在において指定されている対象に関する画像を把握することがユーザーにとって容易である。つまり、本実施形態に係るロボットシステム１、１００１では、強調表示される画像を視覚的に目立たせることができ、当該画像をユーザーにとって把握し易くすることができる。
【０１３８】
このように、本実施形態に係るロボットシステム１、１００１では、ロボット１１、１０１１において、ある画像に関する別の画像を表示し、当該別の画像の情報（一部または全部）を基に処理の条件を設定し、当該処理を行うことを効率的に行うことができる。
以上のような効果は、例えば、検出された対象の数が多いような場合にも発揮され、このような場合においても情報過多になることを防止することができる。
【０１３９】
＜本実施形態に係る効果の具体例＞
ここで、本実施形態に係る効果の具体例を示す。
本実施形態と対比する技術の例（以下、「対比技術例」ともいう。）を説明する。
対比技術例では、図３に示されるような画像を表示する場合に、それぞれのブロブの画像の近くに、当該それぞれのブロブに割り振られた連続番号の数字（例えば、０、１、２、・・・）を表示する。ユーザーは、当該画像において所望のブロブの連続番号を見た後に、図３とは別の画面で図４に示されるような画像を見て、所望のブロブの連続番号に対応する面積などを読み取る。つまり、ユーザーは、図３に示されるような画像における数字を覚えておいて、当該数字に基づいて、図４に示されるような画像から所望の情報を探す必要がある。しかしながら、このような対比技術例では、多数（例えば、１００個など）のブロブが検出された場合には、図３に示されるような画像に表示される数字が多数となって、ユーザーにとって見づらくなってしまう。また、このような対比技術例では、図３に示されるような画像において、ユーザーが数字（連続番号）を見間違う可能性があり、また、図４に示されるような画像において、リストをスクロールするなどして所望の数字（連続番号）を探す手間が生じる。
これに対して、本実施形態では、図３に示される画像においてブロブに対応する数字（連続番号）が表示されなくてもよいため、当該画像をユーザーにとって見易くすることができる。また、本実施形態では、ユーザーにより指定されたブロブに関する画像について、当該ブロブに関する他の画像が表示されるため、ユーザーによって所望のブロブの画像を探す手間を軽減することができる。
【０１４０】
なお、本実施形態では、撮像された画像におけるブロブを検出する場合を示したが、本実施形態に係る技術は、他の場合に適用されてもよい。例えば、本実施形態の技術は、所定のパターンを検出する場合に適用されてもよい。所定のパターンとしては、例えば、画像における輝度情報に基づくパターンが用いられてもよく、一例として、輪郭のパターンが用いられてもよい。
【０１４１】
＜ロボットの例＞
ロボットとしては、垂直多関節型の単腕ロボットあるいは双腕ロボット以外であってもよく、様々なロボットに適用されてもよい。
例えば、水平多関節型のロボット（スカラロボット）、または、直角座標ロボットが用いられてもよい。直角座標ロボットは、例えば、ガントリロボットである。
【０１４２】
＜構成例＞
一構成例として、第１操作（指定の操作）を受け付け撮像された第１画像（一例として、図３に示される画像２１１）に含まれる第２画像（一例として、図３に示されるブロブ２４５の画像）が選択されると、第２画像に関する第３画像（一例として、図４に示される特徴情報テーブル画像３１１、または、他の例として、図５に示される特徴情報画像４１１）を表示し、第３画像の情報が受け付けられると、前記情報に基づき撮像されている物体に関する処理（例えば、検査の処理、あるいは、ピッキングの処理など）の条件が設定され、設定された条件に基づいて、当該処理を行うロボット（一例として、図１に示されるロボット１１、または、他の例として、図１６に示されるロボット１０１１）である。
一構成例として、ロボットにおいて、第２画像は、第１対象（図３の例では、ブロブ２４５に対応する対象）に対応する画像であり、第３画像は、第１対象に関する数値（図４および図５の例では、面積の数値、座標の数値）を含む。
一構成例として、ロボットにおいて、第１操作が受け付けられた場合、第１画像において第２画像の表示を強調する（図３の例では、輪郭２６１の強調表示）。
一構成例として、ロボットにおいて、第１画像とともに第３画像を表示する。
一構成例として、ロボットにおいて、第２画像は、第２対象（例えば、前記した第１対象と同じであってもよく、または、異なってもよい。）に対応する画像であり、第３画像は、第２対象に関する数値を含み、第２操作（指定の操作）を受け付け第３画像（一例として、図４に示される特徴情報テーブル画像３１１）に含まれる第２対象に関する第４画像（一例として、図４に示される特徴情報テーブル画像３１１における任意の行の画像）が選択されると、第４画像に関する第５画像（一例として、指定された行に対応する画像であり、例えば、第２対象のみに関する画像など）を表示する。
一構成例として、ロボットにおいて、第２操作が受け付けられた場合、第３画像において第４画像の表示を強調する。
一構成例として、ロボットにおいて、第３画像とともに第５画像を表示する。
一構成例として、以上のようなロボットに処理を行わせる、ロボット制御装置である（一例として、図１に示されるロボット制御装置１２、または、他の例として、図１６に示されるロボット制御装置１１１１）である。
一構成例として、以上のようなロボットと、ロボットを制御するロボット制御装置と、を備えるロボットシステム（一例として、図１に示されるロボットシステム１、または、図１６に示されるロボットシステム１００１）である。
【０１４３】
他の例として、図８〜図１４に示される画面２００１〜２００７に関する構成例を示す。
一構成例として、第１操作を受け付け撮像された第１画像（画像表示部２０２１に表示される画像）に含まれる第２画像（任意の部分の画像であり、例えば、ノイズなどの部分の画像）が選択されると、第２画像に関する第３画像（例えば、選択された部分に関する面積などの数値を含む画像）を表示し、第３画像の情報が受け付けられると、当該情報に基づき撮像されている物体に関する処理の条件が設定され、設定された条件に基づいて、前記処理を行うロボットである。
【０１４４】
なお、以上に説明した装置（例えば、開発用ＰＣ６０１、画像処理装置２３、ロボット制御装置１２、１１１１など）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体（記憶媒体）に記録（記憶）し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、オペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）あるいは周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１４５】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）あるいは電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１４６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１４７】
１、１００１…ロボットシステム、１１、１０１１…ロボット、１２、１１１１…ロボット制御装置、２１…支持部、２２、１０３１−１〜１０３１−２、１０５１−１〜１０５１−２…カメラ、２３…画像処理装置、２４、６２１…表示装置、３１〜３４、４１〜４２、６４１、１１３１〜１１３３…ケーブル、５１…ベルトコンベアー、６１−１〜６１−４…対象物、７１…テーブル、９１…基端、９２、１０７１−１〜１０７１−２…力覚センサー、６０１…開発用ＰＣ、６０２…操作キー、１１１…入力部、１１２…出力部、１１３…記憶部、１１４…制御部、１５１…情報取得部、１５２…操作受付部、１５３…ロボット制御部、２１１…画像、２３１〜２４８…ブロブ、２６１…輪郭、２７１、２０５１…カーソル、３１１…特徴情報テーブル画像、３２１…指定行、４１１…特徴情報画像、７１１、７３１、８１１…ＣＰＵ、７１２、７３２、８１２…ＲＯＭ、７１３、７３３、８１３…ＲＡＭ、７１４〜７１７、７３４〜７３５、８１４…インターフェイス、２００１〜２００７…画面、２０２１…画像表示部、２０２２…プロパティー設定表示部、２０２３…検出結果表示部、２０２４…アイコン表示部、２０４１…アイコン、２１１１…サーチウインドウ、３０１１…オブジェクト実行ボタン、４０１１〜４０１３…ブロブ、４０２１〜４０２２…ノイズ等部分、１０９１−１〜１０９１−２…掌、１０９２−１〜１０９２−２…爪、Ｍ１、Ｍ１１〜Ｍ１２…マニピュレーター、Ｅ１、Ｅ１１〜Ｅ１２…エンドエフェクター
【図１】
2018034241.tif 000003
【図２】
2018034241.tif 000004
【図３】
2018034241.tif 000005
【図４】
2018034241.tif 000006
【図５】
2018034241.tif 000007
【図６】
2018034241.tif 000008
【図７】
2018034241.tif 000009
【図８】
2018034241.tif 000010
【図９】
2018034241.tif 000011
【図１０】
2018034241.tif 000012
【図１１】
2018034241.tif 000013
【図１２】
2018034241.tif 000014
【図１３】
2018034241.tif 000015
【図１４】
2018034241.tif 000016
【図１５】
2018034241.tif 000017
【図１６】
2018034241.tif 000018