(57)【要約】【課題】対応付けた領域に基づいてロボットに対象物を把持させることができるロボット制御装置を提供する。【解決手段】ロボット制御装置は、取得した複数の対象物が撮像された画像に指定された領域であって、受け付けられた第１領域を示す第１領域情報と、前記第１領域とは異なる領域であって、前記第１領域に応じた第２領域を示す第２領域情報とに基づいて、他の前記対象物の前記第１領域と重ならない前記第２領域が指定された前記対象物をロボットに把持させ、他の前記対象物の前記第１領域と前記第２領域が重なる前記対象物をロボットに把持させない。【選択図】図３
2018034242.tif 000002
【特許請求の範囲】
【請求項１】
取得した複数の対象物が撮像された画像に指定された領域であって、受け付けられた第１領域を示す第１領域情報と、前記第１領域とは異なる領域であって、前記第１領域に応じた第２領域を示す第２領域情報とに基づいて、他の前記対象物の前記第１領域と重ならない前記第２領域が指定された前記対象物をロボットに把持させ、他の前記対象物の前記第１領域と前記第２領域が重なる前記対象物をロボットに把持させない
ロボット制御装置。
【請求項２】
前記第１領域情報に基づいて、他の前記対象物に指定された前記第１領域と重ならない前記第１領域が指定された前記対象物を前記ロボットに把持させ、他の前記対象物に指定された前記第１領域と重なる前記第１領域が指定された前記対象物を前記ロボットに把持させない
請求項１に記載のロボット制御装置。
【請求項３】
前記第１領域が指定されたことに応じて前記第２領域が設定される
請求項１又は請求項２に記載のロボット制御装置。
【請求項４】
前記第２領域は、
受け付けられた操作によって指定される
請求項１又は請求項２に記載のロボット制御装置。
【請求項５】
前記第１領域情報及び前記第２領域情報に基づいて、前記複数の前記対象物のうちの少なくとも一部の前記対象物の前記画像に、前記第１領域に対応する第３領域と、前記第２領域に対応する第４領域とを設定し、
前記第１領域及び前記第３領域と、前記第１領域及び前記第４領域が設定された少なくとも一部の前記対象物を表示部に表示させる、
請求項１から請求項４のいずれか一項に記載のロボット制御装置。
【請求項６】
前記第１領域情報が示す前記第１領域及び前記第２領域情報が示す前記第２領域と、前記対象物の前記画像とを表示部に表示させる、
請求項１から請求項５のいずれか一項に記載のロボット制御装置。
【請求項７】
前記第１領域は、
前記対象物の輪郭の全体を含む領域であって、前記対象物の形状に基づく領域である、
請求項１から請求項６のいずれか一項に記載のロボット制御装置。
【請求項８】
前記第１領域の形状は、凸包である、
請求項１から請求項７のいずれか一項に記載のロボット制御装置。
【請求項９】
前記第２領域は、
前記ロボットによる前記対象物の把持に関する領域である、
請求項１から請求項８のいずれか一項に記載のロボット制御装置。
【請求項１０】
請求項１から請求項９のうちいずれか一項に記載のロボット制御装置の制御に基づいて動作する、
ロボット。
【請求項１１】
請求項１から請求項９のうちいずれか一項に記載のロボット制御装置と、
請求項１０に記載のロボットと、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット制御装置、ロボット、及びロボットシステムに関する。
【背景技術】
【０００２】
撮像部により撮像した撮像画像に基づいてロボットに作業を行わせる技術の研究や開発が行われている。
【０００３】
これに関して、搬送体によって搬送される複数の対象物を所定の撮像領域で撮像し、当該撮像結果から各対象物の位置座標及び方向を取得し、搬送体の移動距離を取得し、位置座標及び方向と移動距離に基づいて複数の対象物を把持するグリッパを移動及び回転させることにより所定の可動領域内で複数の対象物のハンドリングを制御するトラッキング方法において、グリッパの角度から各対象物をハンドリング可能な角度までの回転時間を考慮して、グリッパの位置から各対象物までの移動時間を算出し、算出されたグリッパの移動時間をハンドリング時間として設定し、当該ハンドリング時間が短い対象物から順に所定の可動領域内の対象物のハンドリング順序を決定するトラッキング方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１１３６７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このように記載のトラッキング方法では、把持する対象物に他の対象物が隣接する場合、グリッパが他の対象物に接触し、グリッパや他の対象物が変形してしまう場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、取得した複数の対象物が撮像された画像に指定された領域であって、受け付けられた第１領域を示す第１領域情報と、前記第１領域とは異なる領域であって、前記第１領域に応じた第２領域を示す第２領域情報とに基づいて、他の前記対象物の前記第１領域と重ならない前記第２領域が指定された前記対象物をロボットに把持させ、他の前記対象物の前記第１領域と前記第２領域が重なる前記対象物をロボットに把持させないロボット制御装置である。
この構成により、ロボット制御装置は、取得した複数の対象物が撮像された画像に指定された領域であって、受け付けられた第１領域を示す第１領域情報と、第１領域とは異なる領域であって、第１領域に応じた第２領域を示す第２領域情報とに基づいて、他の対象物の第１領域と重ならない第２領域が指定された対象物をロボットに把持させ、他の対象物の第１領域と第２領域が重なる対象物をロボットに把持させない。これにより、ロボット制御装置は、操作者が所望する条件を満たす対象物をロボットに把持させることができる。
【０００７】
また、本発明の他の態様は、ロボット制御装置において、前記第１領域情報に基づいて、他の前記対象物に指定された前記第１領域と重ならない前記第１領域が指定された前記対象物を前記ロボットに把持させ、他の前記対象物に指定された前記第１領域と重なる前記第１領域が指定された前記対象物を前記ロボットに把持させない、構成が用いられてもよい。
この構成により、ロボット制御装置は、第１領域情報に基づいて、他の対象物に指定された第１領域と重ならない第１領域が指定された対象物をロボットに把持させ、他の対象物に指定された第１領域と重なる第１領域が指定された対象物をロボットに把持させない。これにより、ロボット制御装置は、対象物に対応付けられた第１領域に基づいて、操作者が所望する条件を満たす対象物をロボットに把持させることができる。
【０００８】
また、本発明の他の態様は、ロボット制御装置において、前記第１領域が指定されたことに応じて前記第２領域が設定される、構成が用いられてもよい。
この構成により、ロボット制御装置は、第１領域が指定されたことに応じて第２領域が設定される。これにより、ロボット制御装置は、第２領域を設定する補助を行うことができる。
【０００９】
また、本発明の他の態様は、ロボット制御装置において、前記第２領域は、受け付けられた操作によって指定される、構成が用いられてもよい。
この構成により、ロボット制御装置では、第２領域は、受け付けられた操作によって指定される。これにより、ロボット制御装置は、設定された第２領域に基づいて、操作者が所望する条件を満たす対象物をロボットに把持させることができる。
【００１０】
また、本発明の他の態様は、ロボット制御装置において、前記第１領域情報及び前記第２領域情報に基づいて、前記複数の前記対象物のうちの少なくとも一部の前記対象物の前記画像に、前記第１領域に対応する第３領域と、前記第２領域に対応する第４領域とを設定し、前記第３領域及び前記第４領域と、前記第３領域及び前記第４領域が設定された少なくとも一部の前記対象物を表示部に表示させる、構成が用いられてもよい。
この構成により、ロボット制御装置は、第１領域情報及び第２領域情報に基づいて、複数の対象物のうちの少なくとも一部の対象物の画像に、第１領域に対応する第３領域と、第２領域に対応する第４領域とを設定し、第３領域及び第４領域と、第３領域及び第４領域が設定された少なくとも一部の対象物を表示部に表示させる。これにより、ロボット制御装置は、操作者が対象物に第１領域及び第２領域を指定する補助を行うことができる。
【００１１】
また、本発明の他の態様は、ロボット制御装置において、前記第１領域情報が示す前記第１領域及び前記第２領域情報が示す前記第２領域と、前記対象物の前記画像とを表示部に表示させる、構成が用いられてもよい。
この構成により、ロボット制御装置は、第１領域情報が示す第１領域及び第２領域情報が示す第２領域と、対象物の画像とを表示部に表示させる。これにより、ロボット制御装置は、操作者が対象物に第１領域及び第２領域を対応付ける補助を行うことができる。
【００１２】
また、本発明の他の態様は、ロボット制御装置において、前記第１領域は、前記対象物の輪郭の全体を含む領域であって、前記対象物の形状に基づく領域である、構成が用いられてもよい。
この構成により、ロボット制御装置では、第１領域は、対象物の輪郭の全体を含む領域であって、対象物の形状に基づく領域である。これにより、ロボット制御装置は、対象物の全体を含む第１領域に基づいて、操作者が所望する条件を満たす対象物をロボットに把持させることができる。
【００１３】
また、本発明の他の態様は、ロボット制御装置において、前記第１領域の形状は、凸包である、構成が用いられてもよい。
この構成により、ロボット制御装置では、第１領域の形状は、凸包である。これにより、ロボット制御装置は、凸包形状である第１領域に対応する第１領域に基づいて、操作者が所望する条件を満たす対象物をロボットに把持させることができる。
【００１４】
また、本発明の他の態様は、ロボット制御装置において、前記第２領域は、前記ロボットによる前記対象物の把持に関する領域である、構成が用いられてもよい。
この構成により、ロボット制御装置では、第２領域は、ロボットによる対象物の把持に関する領域である。これにより、ロボット制御装置は、把持に関する第２領域に基づいて、操作者が所望する条件を満たす対象物をロボットに把持させることができる。
【００１５】
また、本発明の他の態様は、上記に記載のロボット制御装置の制御に基づいて動作する、ロボットである。
この構成により、ロボットは、第１領域及び第２領域に基づいて、対象物を把持する。これにより、ロボットは、操作者が所望する条件を満たす対象物を把持することができる。
【００１６】
また、本発明の他の態様は、上記に記載のロボット制御装置と、上記に記載のロボットと、を備えるロボットシステムである。
この構成により、ロボットシステムは、第１領域及び第２領域に基づいて、ロボットに対象物を把持させる。これにより、ロボットシステムは、操作者が所望する条件を満たす対象物をロボットに把持させることができる。
【００１７】
以上により、ロボット制御装置は、取得した複数の対象物が撮像された画像に指定された領域であって、受け付けられた第１領域を示す第１領域情報と、第１領域とは異なる領域であって、第１領域に応じた第２領域を示す第２領域情報とに基づいて、他の対象物の第１領域と重ならない第２領域が指定された対象物をロボットに把持させ、他の対象物の第１領域と第２領域が重なる対象物をロボットに把持させない。これにより、ロボット制御装置は、操作者が所望する条件を満たす対象物をロボットに把持させることができる。
また、ロボット及びロボットシステムは、取得した複数の対象物が撮像された画像に指定された領域であって、受け付けられた第１領域を示す第１領域情報と、第１領域とは異なる領域であって、第１領域に応じた第２領域を示す第２領域情報とに基づいて、他の対象物の第１領域と重ならない第２領域が指定された対象物を把持し、他の対象物の第１領域と第２領域が重なる対象物を把持しない。これにより、ロボットは、操作者が所望する条件を満たす対象物を把持することができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】ロボット制御装置３０のハードウェア構成の一例を示す図である。
【図３】ロボット制御装置３０の機能構成の一例を示す図である。
【図４】ロボット制御装置３０が行う処理の流れの一例を示すフローチャートである。
【図５】第１対象物に対して指定される第１領域の具体例１の第１の図である。
【図６】第１対象物に対して指定される第１領域の具体例１の第２の図である。
【図７】第１対象物に対して指定される第２領域の一例を示す図である。
【図８】画像Ｇに含まれる対象物Ｐ毎に対応付けられる第１領域及び第２領域の一例を示す図である。
【図９】ロボット制御装置３０がロボット２０に把持させる対象物Ｐの一例を示す表である。
【図１０】第１対象物に対して指定される第１領域の具体例２の図である。
【図１１】画像Ｇに含まれる対象物Ｐ毎に対応付けられる第１領域の具体例２の図である。
【図１２】第１対象物に対して指定される第１領域の具体例３の図である。
【図１３】画像Ｇに含まれる対象物Ｐ毎に対応付けられる第１領域の具体例３の図である。
【図１４】第１対象物に対して指定される第１領域の具体例４の図である。
【図１５】画像Ｇに含まれる対象物Ｐ毎に対応付けられる第１領域の具体例４の図である。
【図１６】本実施形態に係るロボットシステム１における各装置のハードウェア構成の一例を示す図である。
【図１７】変形例４に係るロボットシステム２の構成の一例を示す図である。
【図１８】変形例５に係るロボットシステム３の構成の一例を示す図である。
【発明を実施するための形態】
【００１９】
［実施形態］
以下、本発明の実施形態について、図面を参照して説明する。
【００２０】
＜ロボットシステムの構成＞
まず、ロボットシステム１の構成について説明する。
図１は、本実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、ロボット２０と、ロボット制御装置３０と、画像処理装置ＰＵと、カメラＣＲと、表示装置ＤＰと、開発用ＰＣ６０１と、操作キー６０２と、表示装置６２１とを備える。
【００２１】
図１の例では、テーブルＴＢ以外の構成部のうち、操作キー６０２以外のすべてが、テーブルＴＢに載せられて配置されている。
ここで、操作キー６０２以外の構成部に関し、ロボット２０などの一部の構成部が、テーブルＴＢの外側（例えば、床など）に配置されてもよい。
なお、必ずしもテーブルＴＢが用いられなくてもよく、すべての構成部が床などに配置されてもよい。
【００２２】
ベルトコンベアーＢＣは、駆動部とベルトとを備えており、駆動部が駆動することによりベルトを移動する。これにより、ベルトコンベアーＢＣは、ベルトに載せられる対象物Ｐを移動させる。図１の例では、７個の対象物Ｐである対象物Ｐ１〜対象物Ｐ７がベルトコンベアーＢＣに載せられて移動させられる。なお、ベルトコンベアーＢＣによって移動される対象物Ｐは、７個より少なくてもよく、７個以上であってもよい。
図１の例では、ベルトコンベアーＢＣは、当該ベルトコンベアーＢＣに載せられた物を定められた移動方向に移動させる。当該移動方向は、本実施形態では、当該物がカメラＣＲにより撮像される位置から、当該物がロボット２０により作業される位置へ、向かう方向である。
ここで、図１の例では、ベルトコンベアーＢＣの一部が示されている。一例として、ベルトコンベアーＢＣは、所定の開始始点（図示せず）から所定の終了地点（図示せず）まで続いている。所定の開始始点とは、例えば、ベルトコンベアーＢＣに対象物Ｐを載置する装置が配置される位置である。また、所定の終了地点とは、例えば、ロボット２０が所定の作業を行う作業領域よりも前述の移動方向に数ｍ先の位置である。他の例として、ベルトコンベアーＢＣが備えるベルトは、開始始点と終了地点とが存在しない環状のベルトであってもよい。
また、ベルトコンベアーＢＣに載せられて移動させられる対象物Ｐ１〜対象物Ｐ７は、本実施形態に係るロボット２０による作業箇所以外の箇所（図示せず）で任意の作業が行われてもよい。
なお、本実施形態では、対象物Ｐ１〜対象物Ｐ７がベルトコンベアーＢＣに載せられて移動させられるが、他の構成例として、対象物Ｐ１〜対象物Ｐ７がステージに載せられて静止した状態で配置されてもよい。当該ステージは、テーブルＴＢであってもよく、または、他のものであってもよい。
対象物Ｐ１〜対象物Ｐ７は、ロボット２０により行われる作業で用いられるワークの一例である。対象物Ｐ１〜対象物Ｐ７は、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部材である。図１では、対象物Ｐ１〜対象物Ｐ７を直方体と半円筒形とが組み合わされた形状の物体として表している。なお、対象物Ｐ１〜対象物Ｐ７は、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。また、対象物Ｐ１〜対象物Ｐ７の形状は、直方体と半円筒形とが組み合わされた形状に代えて、他の形状であってもよい。
図１の例では、対象物Ｐ１〜対象物Ｐ７のうち、対象物Ｐ４及び対象物Ｐ５と、対象物Ｐ６及び対象物Ｐ７とは、重なった状態で配置されているが、対象物Ｐ１〜対象物Ｐ７は、互いが重ならないように配置されていてもよく、対象物Ｐ１〜対象物Ｐ７の全てが重なった状態で配置されていてもよい。
【００２３】
カメラＣＲは、所定の範囲の画像Ｇを撮像する撮像装置である。図１の例では、当該所定の範囲は、ベルトコンベアーＢＣのベルト上においてロボット２０が作業可能な範囲よりも手前の範囲であって、ベルトコンベアーＢＣによって移動する対象物Ｐのうち、少なくとも１つ以上の対象物Ｐの輪郭それぞれを含む範囲の全体を撮像することが可能な範囲である。なお、カメラＣＲが撮像する所定の範囲とは、ベルトコンベアーＢＣのベルトが設置される範囲を全て含む範囲であってもよい。この一例では、カメラＣＲは、ベルトコンベアーＢＣに載せられて移動させられる対象物Ｐ１〜対象物Ｐ７を撮像することが可能な配置で、支持部ＳＰによって支持される。図１の例では、カメラＣＲは、ベルトコンベアーＢＣのベルトの上面に対してカメラＣＲの撮像の光軸が直交する位置（つまり、ベルトコンベアーＢＣのベルトの上面と撮像画像の面とが平行になる位置）に配置される。
カメラＣＲは、ケーブルによって画像処理装置ＰＵと通信可能に接続されている。これにより、カメラＣＲは、撮像した画像Ｇの情報（画像データ）を、ケーブルを介して、画像処理装置ＰＵに送信する。画像処理装置ＰＵは、カメラＣＲから送信された画像Ｇを示す画像データを、ケーブルを介して受信する。なお、カメラＣＲと画像処理装置ＰＵとのケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等の規格によって行われる。また、カメラＣＲは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって画像処理装置ＰＵと接続される構成であってもよい。
また、本実施形態では、カメラＣＲが支持部ＳＰに固定される場合を示すが、他の構成例として、カメラＣＲにより撮像される範囲を変更することが可能な構成が用いられてもよい。
また、他の構成例として、対象物Ｐ１〜対象物Ｐ７の形状などの情報を測定する機器として、カメラＣＲの代わりに、他の機器が用いられてもよく、例えば、レーザーを用いた測定機器などが用いられてもよい。
【００２４】
＜画像処理装置＞
画像処理装置ＰＵは、カメラＣＲから送信された画像の情報を、ケーブルを介して、受信する。画像処理装置ＰＵは、受信された画像の情報を、ケーブルを介して、ロボット制御装置３０に送信する。画像処理装置ＰＵは、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、画像処理装置ＰＵは、画像Ｇの情報（画像データ）を、ケーブルを介して、ロボット制御装置３０に送信する。
ロボット制御装置３０は、画像処理装置ＰＵから送信された画像Ｇを示す画像データを、ケーブルを介して受信する。なお、画像処理装置ＰＵとロボット制御装置３０とのケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等の規格によって行われる。また、カメラＣＲは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって画像処理装置ＰＵと接続される構成であってもよい。なお、画像処理装置ＰＵは、カメラＣＲから受信した画像の情報について所定の画像処理を行い、当該画像処理の結果の情報を、ケーブルを介して、ロボット制御装置３０に送信してもよい。
【００２５】
画像処理装置ＰＵは、表示対象となる情報を表示装置ＤＰに出力（送信）する。当該表示対象となる情報としては、例えば、カメラＣＲにより撮像された画像Ｇの情報が用いられてもよく、画像処理装置ＰＵにより行われた画像処理の結果の情報が用いられてもよく、または、ロボット制御装置３０により行われた処理の結果の情報が用いられてもよい。
なお、開発時において、画像処理装置ＰＵにより行われる画像処理および表示制御などのうちの一部または全部は、開発用ＰＣ６０１からの制御に基づいて行われてもよい。
【００２６】
ここで、図１の例では、ロボットシステム１において、画像処理装置ＰＵを備える画像処理システムが設けられていると捉えることができる。当該画像処理システムは、例えば、カメラＣＲを含んでもよい。また、当該画像処理システムは、例えば、表示装置ＤＰを含んでもよい。
なお、画像処理システムは、例えば、画像を測定する画像測定システムなどであってもよい。
【００２７】
＜表示装置＞
表示装置ＤＰは、ケーブルによって画像処理装置ＰＵと通信可能に接続されている。これにより、画像処理装置ＰＵは、ロボット制御装置３０から受信した画像データを、ケーブルを介して表示装置ＤＰに送信する。なお、表示装置ＤＰと画像処理装置ＰＵとのケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等の規格によって行われる。また、表示装置ＤＰは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって画像処理装置ＰＵと接続される構成であってもよい。
表示装置ＤＰは、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ＥｌｅｃｔｒｏＬｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイパネルを含む表示装置である。表示装置ＤＰは、画像処理装置ＰＵから送信された画像Ｇを示す画像データを、ケーブルを介して受信し、受信された画像データが示す画像Ｇを表示する。
【００２８】
＜開発用ＰＣ＞
開発用ＰＣ６０１は、ロボット制御装置３０で使用されるプログラムを開発するときなどに使用される。当該プログラムは、例えば、ロボット２０の動作を制御するプログラムである。
開発用ＰＣ６０１は、ケーブルを介して、ロボット制御装置３０との間で通信する。
なお、開発用ＰＣ６０１は、例えば、開発が完了した後には、ロボット制御装置３０と接続されていなくてもよい。
開発用ＰＣ６０１は、例えば、ロボット２０により行われる所定の処理の条件を設定する機能を有している。処理の条件としては、任意の条件が用いられてもよく、例えば、処理に使用されるパラメーター（「プロパティー」などと呼ばれてもよい。）の値または範囲が用いられてもよい。
本実施形態では、開発時においては、開発用ＰＣ６０１がロボット制御装置３０を介して画像処理装置ＰＵに対して命令（指示）を与えることで、各種の処理が行われる。また、開発時においては、例えば、開発用ＰＣ６０１が有する操作部がユーザーにより操作される。
【００２９】
表示装置６２１は、例えば、画面に情報を表示するディスプレイ装置である。表示装置６２１は、開発用ＰＣ６０１から受信した画像データを、ケーブルを介して受信し、受信された情報を画面に表示する。
開発用ＰＣ６０１は、表示対象となる情報を表示装置６２１に出力（送信）する。当該表示対象となる情報としては、例えば、カメラＣＲにより撮像された画像Ｇの情報が用いられてもよく、画像処理装置ＰＵにより行われた画像処理の結果の情報が用いられてもよく、または、ロボット制御装置３０により行われた処理の結果の情報が用いられてもよい。
本実施形態では、開発用ＰＣ６０１が画像処理装置ＰＵに対して画像処理の実行を指示し、画像処理装置ＰＵが画像や画像処理結果を開発用ＰＣ６０１に送信し、開発用ＰＣ６０１が受信した当該画像や当該画像処理結果を表示装置６２１に表示させる。
【００３０】
ここで、本実施形態では、開発時には、主（メイン）となる表示装置として、開発用ＰＣ６０１の表示装置６２１に、各種の情報が表示される。
なお、画像処理装置ＰＵの表示装置ＤＰには、開発用ＰＣ６０１の表示装置６２１と同様な情報が表示されてもよく、または、他の情報が表示されてもよい。本実施形態では、画像処理装置ＰＵの表示装置ＤＰは補助（サブ）の表示装置として使用される。例えば、画像処理装置ＰＵの表示装置ＤＰでは、自動動作中の対象物の表示、あるいは、結果表示を行ってもよい。
【００３１】
＜スカラロボット＞
ロボット２０は、この一例では、スカラロボットである。なお、ロボット２０は、スカラロボットに代えて、直角座標ロボットや単腕ロボット、複腕ロボット等の他のロボットであってもよい。直角座標ロボットは、例えば、ガントリロボットである。
【００３２】
図１に示した例において、ロボット２０は、テーブルＴＢに設置されている。なお、ロボット２０は、テーブルＴＢに代えて、壁面や天井面、治具、台の上面等に設置される構成であってもよい。以下では、説明の便宜上、ロボット２０が設置されている面に直交する方向であって、ロボット２０から当該面に向かう方向を下と称し、当該方向と反対の方向を上と称して説明する。ロボット２０が設置されている面に直交する方向であって、ロボット２０の重心から当該面に向かう方向は、例えば、ワールド座標系におけるＺ軸の負方向、又はロボット座標系ＲＣにおけるＺ軸の負方向である。
【００３３】
ロボット２０は、テーブルＴＢに設置された支持台Ｂと、可動部ＡＭとを備える。また、可動部ＡＭは、支持台Ｂによって図示しない第１軸ＡＸ１周りに回動可能に支持された第１アームＡＭ１と、第１アームＡＭ１によって図示しない第２軸ＡＸ２周りに回動可能に支持された第２アームＡＭ２と、第２アームＡＭ２によって図示しない第３軸ＡＸ３周りに回動可能且つ第３軸ＡＸ３の軸方向に並進可能に支持されたシャフト（作動軸）Ｓを備える。可動部ＡＭは、アームの一例である。
【００３４】
シャフトＳは、円柱形状の軸体である。シャフトＳの周表面には、図示しないボールねじ溝とスプライン溝とがそれぞれ形成される。シャフトＳは、第２アームＡＭ２の端部のうちの第１アームＡＭ１と反対側の端部を上下に貫通し、設けられている。また、シャフトＳには、この一例において、シャフトＳの端部のうちの上側の端部に当該円柱の半径よりも大きな半径の円盤形状のフランジが設けられている。当該円柱の中心軸は、当該フランジの中心軸と一致している。
【００３５】
シャフトＳのフランジが設けられていない方の端部には、エンドエフェクターＥが設けられている。エンドエフェクターＥは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターＥは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
【００３６】
エンドエフェクターＥは、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、エンドエフェクターＥは、ロボット制御装置３０から取得される制御信号に基づく動作を行う。
【００３７】
支持台Ｂは、テーブルＴＢに固定されている。支持台Ｂは、図示しない第１関節を備える。前述の第１軸ＡＸ１は、この第１関節の回動軸のことである。第１関節は、図示しないアクチュエーターを備え、ロボット制御装置３０から取得する制御信号に基づいて第１アームＡＭ１を第１軸ＡＸ１周りに回動させる。
【００３８】
第１アームＡＭ１は、第１軸ＡＸ１周りに回動するので、水平方向に移動する。水平方向は、この一例において、上下方向と直交する方向である。水平方向は、例えば、ワールド座標系におけるＸＹ平面に沿った方向、又はロボット座標系ＲＣにおけるＸＹ平面に沿った方向である。
【００３９】
第２アームＡＭ２は、図示しない第２関節を備える。前述の第２軸ＡＸ２は、この第２関節の回動軸のことである。第２関節は、図示しないアクチュエーターを備え、ロボット制御装置３０から取得する制御信号に基づいて第２アームＡＭ２を第２軸ＡＸ２周りに回動させる。第２アームＡＭ２は、第２軸ＡＸ２周りに回動するので、水平方向に移動する。
【００４０】
また、第２アームＡＭ２は、図示しない上下動アクチュエーターと、図示しない回動アクチュエーターとを備えてシャフトＳを支持する。上下動アクチュエーターは、シャフトＳのボールねじ溝の外周部に設けられたボールねじナットをタイミングベルト等で回動させることにより、シャフトＳを上下方向（すなわち、前述の第３軸ＡＸ３の軸方向）に移動（昇降）させる。回動アクチュエーターは、シャフトＳのスプライン溝の外周部に設けられたボールスプラインナットをタイミングベルト等で回動させることにより、シャフトＳの中心軸（すなわち、前述の第３軸ＡＸ３）周りにシャフトＳを回動させる。
【００４１】
ロボット２０が備える各アクチュエーターのそれぞれは、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該各アクチュエーターのそれぞれは、ロボット制御装置３０から取得される制御信号に基づく動作を行う。
【００４２】
＜ロボット制御装置＞
ロボット制御装置３０は、画像処理装置ＰＵから画像Ｇを示す画像データをケーブルを介して取得する。なお、カメラＣＲの配置を変更することが可能な構成において、ロボット制御装置３０は、カメラＣＲの配置を制御して変更することが可能であってもよい。この場合、ロボット制御装置３０は、例えば、カメラＣＲを制御してもよい。また、ロボット制御装置３０がカメラＣＲを制御する構成に代えて、画像処理装置ＰＵがカメラＣＲを制御する構成であってもよい。
また、ロボット制御装置３０と、開発用ＰＣ６０１とは、ケーブルを介して通信可能に接続される。なお、ロボット制御装置３０と開発用ＰＣ６０１とのケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等の規格によって行われる。また、開発用ＰＣ６０１は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
また、ロボット制御装置３０と、操作キー６０２とは、ケーブルを介して通信可能に接続される。なお、ロボット制御装置３０と操作キー６０２とのケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等の規格によって行われる。また、操作キー６０２は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００４３】
＜操作キー＞
操作キー６０２は、ロボット制御装置３０の外部に設けられた操作装置の一例である。操作キー６０２は、ユーザーにより操作される操作部（例えば、１個以上のキー）を有しており、ユーザーにより当該操作部に対して行われた操作の内容を受け付けて、ケーブルを介して、ロボット制御装置３０に送信する。
操作キー６０２は、例えば、キーボード、マウス、タッチパッド等を備えたティーチングペンダントや、その他の入力装置である。操作キー６０２は、表示装置６２１又は表示装置ＤＰが表示する画像Ｇに基づいて開発用ＰＣ６０１、ロボット制御装置３０又は画像処理装置ＰＵの操作者が行う操作を取得し、取得した操作を示す操作情報をケーブル介してロボット制御装置３０に送信する。ロボット制御装置３０は、受信した当該操作を開発用ＰＣ６０１に送信する。
【００４４】
ロボット制御装置３０は、表示用の情報を、ケーブルを介して、表示装置６２１に送信する。また、ロボット制御装置３０は、表示装置６２１に表示用の情報が表示されることに応じてロボット制御装置３０の操作者が操作キー６０２に入力した操作を示す情報を取得する。
ロボット制御装置３０は、ロボット２０を制御する。例えば、ロボット制御装置３０は、ロボット２０が有するそれぞれのアクチュエーター、およびエンドエフェクターＥのそれぞれを制御する。
【００４５】
＜ロボットが行う所定の作業の概要＞
図１に示す一例では、ロボット２０は、ベルトコンベアーＢＣに載せられて移動させられる対象物Ｐ１〜対象物Ｐ７を１個ずつ把持し、把持した対象物Ｐを図示しない給材領域に載置する作業を所定の作業として行う。
【００４６】
＜開発用ＰＣ及びロボット制御装置がロボットに所定の作業を行わせる処理の概要＞
以下、開発用ＰＣ６０１及びロボット制御装置３０がロボット２０に所定の作業を行わせる処理の概要について説明する。
【００４７】
表示装置６２１は、ロボット制御装置３０から画像Ｇを示す画像データを受信し、当該画像データが示す画像Ｇを表示する。開発用ＰＣ６０１の操作者は、表示装置６２１に表示された画像Ｇに含まれる複数の対象物Ｐのうち、操作者が所望する対象物Ｐである第１対象物を指定する。具体的には、開発用ＰＣ６０１の操作者は、第１対象物の領域である第１領域を示す第１領域情報を開発用ＰＣ６０１が備える入力部ＩＰ（不図示）に入力する操作を行う。入力部ＩＰとは、キーボードやマウス等である。また、開発用ＰＣ６０１の操作者は、第１対象物を指定する領域であって、第１領域とは異なる領域である第２領域を示す第２領域情報を入力部ＩＰに入力する操作を行う。開発用ＰＣ６０１は、入力部ＩＰから第１領域を示す第１領域情報と、第２領域を示す第２領域情報とを取得する。開発用ＰＣ６０１は、取得した第１領域情報及び第２領域情報に基づいて、画像Ｇに含まれる複数の対象物Ｐのうちの少なくとも一部の対象物Ｐに、第１対象物に指定した第１領域に対応する第１領域と、第１対象物に指定した第２領域に対応する第２領域とを対応付ける。ロボット制御装置３０は、開発用ＰＣ６０１によって第１領域と第２領域が対応づけられた対象物Ｐを、当該第１領域と当該第２領域とに基づいてロボット２０に把持させる。そして、ロボット制御装置３０、ロボット２０を動作させ、対象物Ｐを図示しない供給領域に載置する。
また、開発用ＰＣ６０１は、取得した第１領域情報及び第２領域情報に基づいて、複数の対象物Ｐのうちの少なくとも一部の対象物Ｐの画像Ｇに、第１領域に対応する第３領域と、第２領域に対応する第４領域とを設定し、第３領域及び第４領域と、第３領域及び第４領域が設定された少なくとも一部の対象物を表示装置６２１に表示させる。
【００４８】
＜ロボット制御装置のハードウェア構成＞
以下、図２を参照し、ロボット制御装置３０のハードウェア構成について説明する。図２は、ロボット制御装置３０のハードウェア構成の一例を示す図である。ロボット制御装置３０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１と、記憶部３２と、入力部３３と、通信部３４と、出力部３５とを備える。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。また、ロボット制御装置３０は、通信部３４を介してロボット２０、開発用ＰＣ６０１、操作キー６０２及び画像処理装置ＰＵと通信を行う。通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
【００４９】
入力部３３は、外部の装置から出力される情報を入力する。図１の例では、入力部３３は、例えば、画像処理装置ＰＵ、開発用ＰＣ６０１、あるいは、操作キー６０２から出力（送信）される情報を入力（受信）する。
【００５０】
出力部３５は、外部に情報を出力する。一例として、出力部３５は、表示画面に情報を出力（送信）する。他の例として、出力部３５は、音（音声を含む。）を発するスピーカーに音の情報を出力（送信）してもよい。また、出力部３５は、例えば、ロボット２０（例えば、マニピュレーターＭ１、エンドエフェクターＥ１）、開発用ＰＣ６０１、画像処理装置ＰＵ、あるいは、操作キー６０２に情報を出力する。
【００５１】
なお、本実施形態では、ロボット制御装置３０と表示装置６２１とは接続されていないが、他の構成例として、表示装置６２１がロボット制御装置３０の出力部３５に一体または別体として接続されてもよい。
また、入力部３３が有する操作部は、例えば、表示画面（または、他の画面）を用いたタッチパネルであってもよい。
【００５２】
ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
記憶部３２は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等を含む。なお、記憶部３２は、ロボット制御装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部３２は、ロボット制御装置３０が処理する各種情報や画像、プログラム等を格納する。
【００５３】
＜ロボット制御装置の機能構成＞
以下、図３を参照し、ロボット制御装置３０の機能構成について説明する。図３は、ロボット制御装置３０の機能構成の一例を示す図である。ロボット制御装置３０は、記憶部３２と、制御部３６とを備える。
【００５４】
制御部３６は、ロボット制御装置３０の全体を制御する。制御部３６は、取得部３６１と、対応付部３６２と、表示制御部３６３と、ロボット制御部３６４とを備える。制御部３６が備えるこれらの機能部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）やＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェア機能部であってもよい。
【００５５】
取得部３６１は、入力部ＩＰが受付けた操作を示す情報を開発用ＰＣ６０１から取得する。入力部ＩＰが受付けた操作には、表示装置６２１が表示する画像Ｇに含まれる対象物Ｐのうち、操作者が所望する対象物Ｐである第１対象物に対して第１領域を操作者が指定する操作と、第１領域とは異なる第２領域を第１対象物に対して操作者が指定する操作とが含まれる。ここで、画像Ｇに含まれる対象物Ｐは、カメラＣＲに撮像され、画像Ｇに写っている対象物Ｐである。取得部３６１は、入力部ＩＰが受付けた第１領域を示す第１領域情報と、第２領域を示す第２領域情報とを取得する。なお、入力部ＩＰが受付ける操作は、操作者が所望する対象物Ｐである第１対象物に対して第１領域を操作者が指定する操作と、第１領域とは異なる第２領域を第１対象物に対して操作者が指定する操作とのうち、少なくとも１つであってもよい。この場合、操作者が指定する操作が行われない第１領域又は第２領域は、予め第１対象物に対して対応付けられる。
【００５６】
対応付部３６２は、取得部３６１が取得した第１領域情報及び第２領域情報に基づいて、画像Ｇに含まれる複数の対象物Ｐのうち、少なくとも一部の対象物Ｐ毎に第１対象物に対応付けられた第１領域に対応する第１領域と、第１対象物に対応付けられた第２領域に対応する第２領域とを対応付ける。本実施形態では、対応付部３６２は、画像Ｇに含まれる全ての対象物Ｐ毎に第１対象物に対応付けられた第１領域に対応する第１領域と、第１対象物に対応付けられた第２領域に対応する第２領域とを対応付ける。
なお、操作者が所望する対象物Ｐである第１対象物に対して第１領域を操作者が指定する操作のみが行われる場合、操作者が指定する操作が行われない第２領域は、第１対象物に対応付けられた第１領域の位置に応じた位置に対応付けられてもよい。
【００５７】
表示制御部３６３は、対応付部３６２が対象物Ｐに対応付けた第１領域に対応する第３領域及び第２領域に対応する第４領域と、当該対象物Ｐとを示す画像である表示画像ＤＧを生成する。また、表示制御部３６３は、生成した表示画像ＤＧを表示装置６２１に表示させる。
【００５８】
ロボット制御部３６４は、対応付部３６２が対象物Ｐ毎に対応付けた第１領域及び第２領域に基づいて、ロボット２０に対象物Ｐを把持させる。
【００５９】
＜ロボット制御装置の対応付処理＞
以下、図４を参照し、ロボット制御装置３０の対応付処理について説明する。図４は、ロボット制御装置３０が行う処理の流れの一例を示すフローチャートである。
【００６０】
取得部３６１は、入力部ＩＰが操作者から受け付けた第１領域情報と、第２領域情報とを開発用ＰＣ６０１から取得する（ステップＳ１１０）。以下、図５〜図７を参照して、第１対象物に指定される第１領域及び第２領域について説明する。
【００６１】
図５は、第１対象物に対して指定される第１領域の具体例１の第１の図である。
図６は、第１対象物に対して指定される第１領域の具体例１の第２の図である。
図７は、第１対象物に対して指定される第２領域の一例を示す図である。
具体的には、図５は、対応付処理において表示される画面２００１の例を示す図である。図６は、対応付処理において表示される画面２００２の例を示す図である。図７は、対応付処理において表示される画面２００３の例を示す図である。
ここで、これらの画面２００１〜２００３の概略的な構成は同じであり、これらの画面２００１〜２００７は、画像表示部２０２１と、プロパティー設定表示部２０２２と、検出結果表示部２０２３と、アイコン表示部２０２４と、オブジェクト実行ボタン３０１１を含む。画像表示部２０２１と、プロパティー設定表示部２０２２と、検出結果表示部２０２３のそれぞれの内部に表示される情報は、処理の状況などに応じて変化し得る。
【００６２】
画像表示部２０２１は、画像を表示する部分である。
プロパティー設定表示部２０２２は、プロパティーを設定する欄を表示する部分である。
検出結果表示部２０２３は、検出結果を表示する部分である。
アイコン表示部２０２４は、複数のアイコンを表示する部分である。
オブジェクト実行ボタン３０１１は、処理を実行させるボタンである。
本例では、開発用ＰＣ６０１が制御することで、画像処理装置ＰＵによる画像処理および表示処理が行われる。
【００６３】
まず、図５に示す通り、表示装置６２１には、画面２００１が表示される。
図５の例では、入力された画像Ｇ１が画像表示部２０２１に表示されている。
操作者により行われる操作に応じて、カーソル２０５１の位置が所定のアイコン２０４１の位置に合わされて指定（例えば、クリックなど）されると、当該アイコン２０４１に対応付けられた処理が行われる。
ここで、当該所定のアイコン２０４１は、第１対象物に指定される第１領域を指定する処理に対応付けられている。
【００６４】
画像Ｇ１には、カメラＣＲが撮像したある状態の対象物Ｐ１〜対象物Ｐ７であって、同一の形状を有する対象物Ｐ１〜対象物Ｐ７が含まれる。ロボット制御装置３０は、画像処理装置ＰＵから画像Ｇ１の画像データを受信し、開発用ＰＣ６０１に送信する。表示装置６２１は、開発用ＰＣ６０１から画像Ｇ１の画像データを受信し、画像Ｇ１を表示する。開発用ＰＣ６０１の操作者は、表示装置６２１に表示される画像Ｇ１に基づいて、画像Ｇ１に含まれる対象物Ｐのうち、操作者が所望する対象物Ｐである第１対象物に第１領域を指定する。具体的には、操作者は、入力部ＩＰによって、第１対象物に指定した第１領域として領域Ａ１１の位置及び大きさを指定する。
【００６５】
次に、図６に示す画面２００２が表示される。
図６の例では、操作者により行われる操作に応じて、カーソル２０５１によって画面２００２（例えば、画像表示部２０２１の領域）が指定（例えば、クリックなど）されると、画像表示部２０２１においてウインドウ２１１１が表示される。
【００６６】
ここで、ウインドウ２１１１は、画像表示部２０２１に表示される画像において第１対象物に指定される第１領域を指定する領域（領域Ａ１１）を表す枠である。ウインドウ２１１１は、例えば、周囲とは異なる色の枠であってもよく、赤色などであってもよい。
また、ウインドウ２１１１のプロパティーの値（例えば、大きさ、形状などの値）は、初期では、デフォルト値に設定される。当該デフォルト値は、あらかじめ定められた値であり、操作者により行われる操作に応じて変更され得る。
図６の例では、プロパティー設定表示部２０２２に、ウインドウ２１１１のプロパティーの値が表示される。このプロパティーの値は、操作者により行われる操作に応じて変更され得る。
【００６７】
図６の例では、ウインドウ２１１１のプロパティーの値（設定値）として、角度（Ａｎｇｌｅ）、重心位置（または、図心位置）のＸ座標値（ＣｅｎｔｅｒＸ）、重心位置（または、図心位置）のＹ座標値（ＣｅｎｔｅｒＹ）、高さ方向の長さ（Ｈｅｉｇｈｔ）、左側の位置（Ｌｅｆｔ）、高さ方向の上側の位置（Ｔｏｐ）、形状のタイプ（Ｔｙｐｅ）がある。
ここで、画像表示部２０２１の領域はＸＹ直交座標系の平面で表され、Ｘ座標が横方向に対応しており、Ｙ座標が高さ方向（縦方向）に対応している。
また、図６の例では、形状のタイプ（Ｔｙｐｅ）として、矩形（Ｒｅｃｔａｎｇｌｅ）が用いられているが、他の形状が用いられてもよく、例えば、円あるいは楕円などの形状が用いられてもよい。
また、図６の例では、第１領域である領域Ａ１１として、重心位置（または、図心位置）のＸ座標値（ＣｅｎｔｅｒＸ）が２２２、重心位置（または、図心位置）のＹ座標値（ＣｅｎｔｅｒＹ）が２８５、高さ方向の長さ（Ｈｅｉｇｈｔ）が２３４、左側の位置（Ｌｅｆｔ）３９、高さ方向の上側の位置（Ｔｏｐ）が１６８、形状のタイプ（Ｔｙｐｅ）が矩形（Ｒｅｃｔａｎｇｌｅ）のウインドウ２１１１が設定されている。
【００６８】
図６に示す通り、この一例では、第１対象物とは、対象物Ｐ１である。また、図６に示す通り、本実施形態では、第１対象物には、長方形状の第１領域が対応付けられる。また、この一例は、第１領域は、第１領域の中心と第１対象物の重心とが一致する位置に上述の構成によって指定される。ここで、第１対象物に指定した第１領域は、第１対象物である対象物Ｐ１の輪郭の全体を含む領域であって、第１対象物の形状に基づく領域である。なお、操作者により行われる当該指定の操作は、例えば開発用ＰＣ６０１が有する操作部を用いて行われてもよい。他の構成例として、当該操作は、他の操作部（例えば、画像処理装置ＰＵ、ロボット制御装置３０あるいは操作キー６０２が有する操作部）を用いて行われてもよい。
【００６９】
次に、図７に示す画面２００３が表示される。
図７の例では、操作者により行われる操作に応じて、カーソル２０５１によって画面２００３（例えば、画像表示部２０２１の領域）が指定（例えば、クリックなど）されると、画像表示部２０２１においてウインドウ２１１２（この一例では、ウインドウ２１１２−１、２１１１−２）が表示される。
【００７０】
ここで、ウインドウ２１１２（ウインドウ２１１２−１、２１１１−２）は、画像表示部２０２１に表示される画像において第１対象物に指定される第２領域を指定する領域（領域Ａ２１−１、２１−２）を表す枠である。ウインドウ２１１２は、例えば、周囲とは異なる色の枠であってもよく、赤色などであってもよい。
また、ウインドウ２１１２のプロパティーの値（例えば、大きさ、形状などの値）は、初期では、デフォルト値に設定される。当該デフォルト値は、あらかじめ定められた値であり、操作者により行われる操作に応じて変更され得る。
図７の例では、プロパティー設定表示部２０２２に、ウインドウ２１１２のプロパティーの値が表示される。このプロパティーの値は、操作者により行われる操作に応じて変更され得る。
【００７１】
図７の例では、ウインドウ２１１２のプロパティーの値（設定値）として、角度（Ａｎｇｌｅ）、重心位置（または、図心位置）のＸ座標値（ＣｅｎｔｅｒＸ）、重心位置（または、図心位置）のＹ座標値（ＣｅｎｔｅｒＹ）、高さ方向の長さ（Ｈｅｉｇｈｔ）、左側の位置（Ｌｅｆｔ）、高さ方向の上側の位置（Ｔｏｐ）、形状のタイプ（Ｔｙｐｅ）がある。
ここで、画像表示部２０２１の領域はＸＹ直交座標系の平面で表され、Ｘ座標が横方向に対応しており、Ｙ座標が高さ方向（縦方向）に対応している。
また、図７の例では、形状のタイプ（Ｔｙｐｅ）として、矩形（Ｒｅｃｔａｎｇｌｅ）が用いられているが、他の形状が用いられてもよく、例えば、円あるいは楕円などの形状が用いられてもよい。
【００７２】
開発用ＰＣ６０１の操作者は、表示装置６２１に表示される画像Ｇ１に基づいて、第１領域が対応付けられた第１対象物に対して、第１領域とは異なる領域である第２領域を指定する。具体的には、操作者は、入力部ＩＰによって、第１対象物の第２領域として領域Ａ２１−１及び領域Ａ２１−２の位置及び大きさを上述の構成によって指定する。ここで、第１対象物に指定した第２領域は、ロボット２０による対象物Ｐの把持に関する領域である。対象物Ｐの把持に関する領域は、例えば、ロボット２０が備えるエンドエフェクターＥの形状に基づく領域である。また、第２領域の位置は、エンドエフェクターＥが対象物Ｐを把持する際のエンドエフェクターＥの位置に基づく位置である。
【００７３】
ステップＳ１１０の処理が行われた後、対応付部３６２は、取得部３６１が取得する第１領域情報及び第２領域情報に基づいて、画像Ｇに含まれる対象物Ｐ毎に第１対象物に対応付けられた第１領域に対応する第１領域と、第１対象物に対応付けられた第２領域に対応する第２領域とを対応付ける（ステップＳ１２０）。以下、図９を参照して、画像Ｇに含まれる対象物Ｐ毎に対応付けられる第１領域及び第２領域について説明する。
【００７４】
図８は、画像Ｇに含まれる対象物Ｐ毎に対応付けられる第１領域及び第２領域の一例を示す図である。
対応付部３６２は、取得部３６１から取得した第１領域情報が示す第１領域に基づいて、画像Ｇ１に含まれる対象物Ｐ（この一例では、対象物Ｐ１〜対象物Ｐ７）に対して、第１対象物に対応付けられた第１領域に対応する第１領域を対応付ける。具体的には、対応付部３６２は、既知の画像認識によって、画像Ｇ１のうち、第１領域に含まれる第１対象物のエッジを検出する。対応付部３６２は、画像Ｇ１のうち、第１対象物と同じ輪郭及び大きさのもの（この一例では、対象物Ｐ１〜対象物Ｐ７）を検出する。なお、対応付部３６２が第１領域に含まれる第１対象物のエッジを検出する方法は、既知の画像認識による方法であってもよく、これから開発される方法であってもよい。対応付部３６２は、画像Ｇ１のうち、第１対象物と同じ輪郭及び大きさのものに対して、第１対象物に対する第１領域の位置と相対的に同じ位置に、第１対象物に対応付けられる第１領域と同じ輪郭及び同じ大きさの第１領域を対応付ける。図８に示す通り、この一例では、画像Ｇ１に含まれる対象物Ｐ１〜対象物Ｐ７には、第１領域として領域Ａ３１〜領域Ａ３７が対応付けられる。領域Ａ３１〜領域Ａ３７は、第１対象物の輪郭の全体を含む領域であって、第１対象物の形状に基づく領域である。上述したように、この一例では、画像Ｇ１に含まれる対象物Ｐ１〜対象物Ｐ７は、同一の形状を有する。したがって、領域Ａ３１〜領域Ａ３７は、対象物Ｐ１〜対象物Ｐ７の輪郭の全体を含む領域であって、対象物Ｐ１~対象物Ｐ７の形状に基づく領域である。なお、対応付部３６２は、画像Ｇに含まれる対象物Ｐのうち、第１対象物との類似の程度（類似度）が高い対象物Ｐから順番に対象物Ｐに番号を付してもよい。この場合、表示装置６２１は、既知の方法によって、当該番号を表示してもよい。
【００７５】
対応付部３６２は、取得部３６１から取得した第２領域情報が示す第２領域に基づいて、画像Ｇ１に含まれる対象物Ｐ（この一例では、対象物Ｐ１〜対象物Ｐ７）に対して、第１対象物に対応付けられた第２領域に対応する第２領域を対応付ける。具体的には、対応付部３６２は、第１領域情報に基づいて画像Ｇ１に含まれる対象物Ｐに対して第１領域に対応する第１領域を対応付けた方法と同様の方法によって、画像Ｇ１に含まれる対象物Ｐに対して第２領域に対応する第２領域を対応付ける。図８に示す通り、この一例では、画像Ｇ１に含まれる対象物Ｐ１〜対象物Ｐ７には、第２領域として、領域Ａ４１〜領域Ａ４７が対応付けられる。具体的には、対象物Ｐ１には、領域Ａ４１−１及び領域Ａ４１−２が対応付けられ、対象物Ｐ２には、領域Ａ４２−１及び領域Ａ４２−２が対応付けられ、対象物Ｐ３には、領域Ａ４３−１及び領域Ａ４３−２が対応付けられ、対象物Ｐ４には、領域Ａ４４−１及び領域Ａ４４−２が対応付けられ、対象物Ｐ５には、領域Ａ４５−１及び領域Ａ４５−２が対応付けられ、対象物Ｐ６には、領域Ａ４６−１及び領域Ａ４６−２が対応付けられ、対象物Ｐ７には、領域Ａ４７−１及び領域Ａ４７−２が対応付けられる。領域Ａ４１〜領域Ａ４７は、ロボット２０による対象物Ｐの把持に関する領域である。
【００７６】
上述の複数の対象物Ｐに第１領域及び第２領域を対応付する処理は、操作者により行われる所定の操作に応じて行われる。当該所定の操作は、カーソル２０５１をオブジェクト実行ボタン３０１１の位置に合わせて指定（例えば、クリックなど）する操作である。
すると、図８に示される画面２００４が表示される。画像表示部２０２１には、プロパティー設定表示部２０２２に表示されたプロパティーの設定内容に基づいて実行された第１領域と、第２領域の対応付処理の結果が表示される。
【００７７】
本例では、対応付け処理された複数の対象物Ｐが、第１対象物との類似の程度（類似度）が高い対象物Ｐから順番に並べられている。
また、図８の例では、検出結果表示部２０２３に、対応付処理が行われた対象物Ｐそれぞれの処理結果が表示される。処理結果として、角度（Ａｎｇｌｅ）、面積（Ａｒｅａ）、カメラＸ（ＣａｍｅｒａＸ）、カメラＹ（ＣａｍｅｒａＹ）、コンパクトネス（Ｃｏｍｐａｃｔｎｅｓｓ）、発見されたか否か（Ｆｏｕｎｄ）、ファウンドオンエッジ（ＦｏｕｎｄＯｎＥｄｇｅ）、ホール（Ｈｏｌｅｓ）、外形（ＭａｊｏｒＤｉａｍｅｔｅｒ）、最大のフェレ径（ＭａｘＦｅｒｅｔＤｉａｍｅｔｅｒ）、最大のＸ座標値（ＭａｘＸ）、最大のＹ座標値（ＭａｘＹ）がある。
なお、複数の対象物Ｐに第１領域と、第２領域との対応付処理が操作者により行われる所定の操作に応じて一括して行われる構成に代えて、複数の対象物Ｐに第１領域を対応付ける対応付処理と、複数の対象物Ｐに第２領域を対応付ける対応付処理とは、個別に行われる構成であってもよい。
【００７８】
ステップＳ１２０の処理が行われた後、表示制御部３６３は、対応付部３６２が対象物Ｐ１〜対象物Ｐ７に対応付けた第１領域に対応する第３領域及び第２領域に対応する第４領域と、当該対象物Ｐ１〜対象物Ｐ７とを示す画像である表示画像ＤＧを生成する。また、表示制御部３６３は、生成した表示画像ＤＧを表示装置６２１に表示させる（ステップＳ１３０）。
なお、表示制御部３６３は、第３領域及び第４領域と、当該対象物Ｐ１〜対象物Ｐ７とを示す画像である表示画像ＤＧを生成する構成に代えて、第１領域、第２領域、第１領域及び第２領域と、対象物Ｐ１〜対象物Ｐ７とを示す表示画像ＤＧを生成する構成であってもよい。
【００７９】
ロボット制御部３６４は、対象物Ｐ１〜対象物Ｐ７のそれぞれに対応付けられた第１領域及び第２領域に基づいて、対象物Ｐをロボット２０に把持させる（ステップＳ１４０）。
ロボット制御部３６４は、画像Ｇに含まれる複数の対象物Ｐのうち、他の対象物Ｐに対応付けられた第１領域と重なりのない第１領域に対応付けられた対象物Ｐであって、他の対象物Ｐに対応付けられた第２領域が第１領域と重なりのない第１領域に対応付けられた対象物Ｐをロボット２０に把持させる。図８に示す通り、この一例では、対象物Ｐ１に対応付けられた第１領域を示す領域Ａ３１は、他の対象物Ｐである対象物Ｐ２〜対象物Ｐ７に対応付けられた第１領域（すなわち、領域Ａ３２〜領域Ａ３７）と重ならない。また、図８に示す通り、この一例では、対象物Ｐ２〜対象物Ｐ７に対応付けられた第１領域を示す領域Ａ３２〜領域Ａ３７は、他の対象物Ｐの第１領域と重なる。したがって、図９に示す通り、画像Ｇ１に含まれる複数の対象物Ｐのうち、他の対象物Ｐに対応付けられた第１領域と重なりのない第１領域に対応付けられた対象物Ｐは、対象物Ｐ１である。図９は、ロボット制御装置３０がロボット２０に把持させる対象物Ｐの一例を示す表である。また、図８に示す通り、この一例では、対象物Ｐ１に対応付けられた第２領域を示す領域Ａ４１−１及び領域Ａ４１−２は、他の対象物Ｐである対象物Ｐ２〜対象物Ｐ７に対応付けられた第１領域（すなわち、領域Ａ３２〜領域Ａ３７）と重ならない。また、図８に示す通り、この一例では、対象物Ｐ２〜対象物Ｐ７に対応付けられた第２領域を示す領域Ａ４２−１、領域Ａ４２−２、…、領域Ａ４７−２は、他の対象物Ｐの第１領域に重なる。したがって、図９に示す通り、画像Ｇ１に含まれる複数の対象物Ｐのうち、他の対象物Ｐに対応付けられた第２領域が第１領域と重なりのない第１領域に対応付けられた対象物Ｐは、対象物Ｐ１である。
これにより、ロボット制御部３６４は、対象物Ｐ１〜対象物Ｐ７のうち、対象物Ｐ１をロボット２０に把持させる。なお、ロボット制御部３６４は、他の対象物Ｐに対応付けられた第１領域と重なりのない第１領域に対応付けられた対象物Ｐと、他の対象物Ｐに対応付けられた第２領域が第１領域と重なりのない第１領域に対応付けられた対象物Ｐとのうち、少なくとも一方を満たす対象物Ｐをロボット２０に把持させる構成であってもよい。
【００８０】
上述したように、この一例では、第１領域は、対象物Ｐの輪郭の全体を含む領域であって、対象物Ｐの形状に基づく領域である。ここで、第１領域が重なる対象物Ｐは、対象物Ｐが他の対象物Ｐと重なる対象物Ｐである。ロボット２０は、互いに重なり合う対象物Ｐを把持しようとする場合、エンドエフェクターＥや当該対象物Ｐが変形する場合がある。ロボット制御装置３０は、上述の構成によって、互いに重ならない対象物Ｐをロボット２０に把持させることにより、エンドエフェクターＥや対象物Ｐが変形することを抑制することができる。
また、上述したように、この一例では、第２領域は、対象物Ｐの把持に関する領域である。ここで、第２領域が他の対象物Ｐの第１領域に重なる対象物Ｐは、ロボット２０のエンドエフェクターＥが対象物Ｐを把持する位置に他の対象物Ｐが存在する対象物Ｐである。ロボット２０は、エンドエフェクターＥが対象物Ｐを把持する位置に他の対象物Ｐが存在する場合、エンドエフェクターＥや他の対象物Ｐが変形する場合がある。ロボット制御装置３０は、上述の構成によって、エンドエフェクターＥが対象物Ｐを把持する位置に他の対象物Ｐが存在しない対象物Ｐをロボット２０に把持させることにより、エンドエフェクターＥや対象物Ｐが変形することを抑制することができる。
【００８１】
＜変形例１：第１領域の角度の指定＞
以下、図を参照して本実施形態に係る変形例１について説明する。
図１０は、第１対象物に対して指定される第１領域の具体例２の図である。
上述したように開発用ＰＣ６０１の操作者は、表示装置６２１に表示される画像Ｇ１に基づいて、画像Ｇ１に含まれる対象物Ｐのうち、第１対象物（この一例では、対象物Ｐ１）に対して第１領域を指定する。図１０に示す通り、この一例では、第１領域は、長方形である。ここで、開発用ＰＣ６０１の操作者は、第１領域の位置及び大きさの他、第１領域の角度を指定してもよい。具体的には、操作者は、表示装置６２１に表示される画面２００５に基づいて、第１対象物に指定した第１領域として上述した構成と同様に領域Ａ１１を指定し、プロパティー設定表示部２０２２に当該領域Ａ１１の角度（Ａｎｇｌｅ）を指定する。この一例では、第１領域の角度の指定は、第１領域の中心と第１対象物の重心とが一致する位置であって、第１領域の長方形の長手方向と、第１対象物の直方体部分の長手方向とが平行である位置を基準位置とし、当該基準位置からの角度を指定する。なお、基準位置は、第１領域の中心と、第１対象物の重心とが一致する位置であって、画像Ｇの縦方向が第１領域の縦方向と平行、かつ画像Ｇの横方向が第１領域の横方向と平行である位置であってもよい。図１０に示す通り、第１領域の角度の指定は、操作者が第１領域を所望の方向に回転させる操作を行うことによって指定してもよい。
【００８２】
図１１は、画像Ｇに含まれる対象物Ｐ毎に対応付けられる第１領域の具体例２の図である。
図１１に示す通り、画面２００６には、上述した構成によって、画像Ｇ１に含まれる対象物Ｐ（この一例では、対象物Ｐ１〜対象物Ｐ２）には、図１０に示す第１領域に対応する第１領域である領域Ａ３１〜領域Ａ３７が対応付けられる。
【００８３】
＜変形例２：第１領域の形状の一例＞
以下、図を参照して本実施形態に係る変形例２について説明する。
図１２は、第１対象物に対して指定される第１領域の具体例３の図である。
上述したように開発用ＰＣ６０１の操作者は、表示装置６２１に表示される画像Ｇ１に基づいて、画像Ｇ１に含まれる対象物Ｐのうち、第１対象物（この一例では、対象物Ｐ１）に対して第１領域を指定する。図１２に示す通り、この一例では、第１領域は、円形である。ここで、開発用ＰＣ６０１の操作者は、第１領域の位置及び大きさの他、第１領域の形状を指定してもよい。具体的には、操作者は、表示装置６２１に表示される画面２００７に基づいて、第１対象物に指定した第１領域として領域Ａ１１を指定し、プロパティー設定表示部２０２２に当該領域Ａ１１の形状のタイプ（Ｔｙｐｅ）をＣｉｒｃｌｅとして指定する。第１領域の形状の指定は、指定する形状を示す情報を操作者が入力部ＩＰに入力することによって指定する。
【００８４】
図１３は、画像Ｇに含まれる対象物Ｐ毎に対応付けられる第１領域の具体例３の図である。
図１３に示す通り、画面２００８には、上述した構成によって、画像Ｇ１に含まれる対象物Ｐ（この一例では、対象物Ｐ１〜対象物Ｐ２）には、図１２に示す第１領域に対応する第１領域である領域Ａ３１〜領域Ａ３７が対応付けられる。
【００８５】
＜変形例３：第１領域の形状の一例＞
以下、図を参照して本実施形態に係る変形例３について説明する。
図１４は、第１対象物に対して指定される第１領域の具体例４の図である。
上述したように開発用ＰＣ６０１の操作者は、表示装置６２１に表示される画像Ｇ１に基づいて、画像Ｇ１に含まれる対象物Ｐのうち、第１対象物（この一例では、対象物Ｐ１）に対して第１領域を指定する。図１４に示す通り、この一例では、第１領域は、第１対象物が内接する凸包である。具体的には、操作者は、表示装置６２１に表示される画面２００９に基づいて、第１対象物に指定した第１領域として領域Ａ１１を指定し、プロパティー設定表示部２０２２に当該領域Ａ１１の形状のタイプ（Ｔｙｐｅ）をＣｏｎｖｅｘとして指定する。第１領域の形状の指定は、指定する形状を示す情報を操作者が入力部ＩＰに入力することによって指定する。なお、操作者が第１対象物を含む適当な領域を指定すると、当該第１領域の形状が第１対象物に内接する凸包の形状に自動的に変換される構成であってもよい。
【００８６】
図１５は、画像Ｇに含まれる対象物Ｐ毎に対応付けられる第１領域の具体例４の図である。
図１５に示す通り、画面２０１０には、上述した構成によって、画像Ｇ１に含まれる対象物Ｐ（この一例では、対象物Ｐ１〜対象物Ｐ２）には、図１４に示す第１領域に対応する第１領域である領域Ａ３１〜領域Ａ３７が対応付けられる。
【００８７】
＜ロボットシステムのハードウェア構成の例＞
図１６は、本実施形態に係るロボットシステム１における各装置のハードウェア構成の一例を示す図である。なお、図１６の例では、図１に示される表示装置ＤＰ、６２１とそのケーブルについては図示を省略してある。
図１６には、カメラＣＲと、画像処理装置ＰＵと、ロボット制御装置３０と、ロボット２０と、操作キー６０２と、開発用ＰＣ６０１と、カメラＣＲと画像処理装置ＰＵとを通信可能に接続するケーブルと、画像処理装置ＰＵとロボット制御装置３０とを通信可能に接続するケーブルと、ロボット２０とロボット制御装置３０とを通信可能に接続するケーブルと、開発用ＰＣ６０１とロボット制御装置３０とを通信可能に接続するケーブルと、操作キー６０２とロボット制御装置３０とを通信可能に接続するケーブルを示してある。
【００８８】
ここで、それぞれのケーブルは、例えば、イーサネット（登録商標）のケーブルであってもよく、また、例えば、接続の手法として、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）が用いられてもよい。なお、他のケーブルについても同様である。
【００８９】
ロボット制御装置３０は、ハードウェア構成の概略として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）７１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）７１３と、４個のインターフェイス（Ｉ／Ｆ）７１４〜７１７を備える。
４個のインターフェイス７１４、７１５、７１６、７１７は、それぞれ、ケーブルと接続される。
【００９０】
ロボット２０は、インターフェイス（Ｉ／Ｆ）７５１を備える。インターフェイス７５１は、ケーブルと接続される。当該ケーブルを介して、ロボット制御装置３０からロボット２０へ駆動信号が送信され、また、ロボット２０からロボット制御装置３０へセンサーの検出情報等が送信される。
操作キー６０２は、ロボット制御装置３０とは別体であり、ユーザーにより行われる操作を受け付ける。操作キー６０２は、例えば、処理の実行を指示するスイッチのキーなどを有してもよい。操作キー６０２は、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）の機器の一例である。
【００９１】
画像処理装置ＰＵは、ハードウェア構成の概略として、ＣＰＵ７３１と、ＲＯＭ７３２と、ＲＡＭ７３３と、２個のインターフェイス（Ｉ／Ｆ）７３４〜７３５を備える。
２個のインターフェイス（Ｉ／Ｆ）７３４、７３５は、それぞれ、ケーブル、ケーブルと接続される。
【００９２】
開発用ＰＣ６０１は、ハードウェア構成の概略として、ＣＰＵ８１１と、ＲＯＭ８１２と、ＲＡＭ８１３と、インターフェイス（Ｉ／Ｆ）８１４を備える。インターフェイス（Ｉ／Ｆ）８１４は、ケーブルと接続される。
【００９３】
図１６に示されるロボットシステム１において行われる動作の例を（動作手順例１）〜（動作手順例６）として示す。なお、この動作の例は一例であり、他の任意の動作が用いられてもよい。
本実施形態では、ロボット２０を動作させるためのプログラムを作成するときには、開発用ＰＣ６０１がロボット制御装置３０と接続された状態とされる。但し、量産の段階などでは、開発用ＰＣ６０１がロボット制御装置３０から外される場合がある。
【００９４】
（動作手順例１）
開発用ＰＣ６０１は、画像処理装置ＰＵに対して、画像Ｇを取得するように命令を出力し、これにより、画像Ｇを取得する。この命令は、開発用ＰＣ６０１と画像処理装置ＰＵとの間で、ロボット制御装置３０により中継される。また、当該画像Ｇは、カメラＣＲにより撮像される画像Ｇである。
【００９５】
（動作手順例２）
開発用ＰＣ６０１は、取得された画像Ｇに基づいて、第１領域及び第２領域を設定する。この設定は、例えば、ユーザーにより行われてもよく、または、装置（例えば、開発用ＰＣ６０１）により自動的に行われてもよい。一例として、図５〜図８に示される画面２００１〜２００４を用いて、プロパティーの設定が行われてもよい。
【００９６】
（動作手順例３）
開発用ＰＣ６０１は、第１領域及び第２領域の設定内容に基づいて、設定された条件が反映されたプログラムを作成して、当該プログラムをロボット制御装置３０の記憶部１１３（例えば、ＲＯＭ７１２）に記憶（保存）する。
【００９７】
（動作手順例４）
ロボット制御装置３０は、画像処理装置ＰＵに対して、対応付処理の命令を出力する。これにより、画像処理装置ＰＵにおいて、対応付処理が行われる。
【００９８】
（動作手順例５）
画像処理装置ＰＵは、対応付処理の結果の情報をロボット制御装置３０に送信する。これにより、ロボット制御装置３０は、画像処理装置ＰＵから、対応付処理の結果の情報を取得する。
【００９９】
（動作手順例６）
ロボット制御装置３０は、取得された対応付処理の結果の情報に基づいて、ロボット２０の動作を制御する。この際、ロボット制御装置３０は、ロボット２０に対して直接的な駆動信号を出力し、また、ロボット２０からセンサーの検出結果の情報を取得して必要に応じてフィードバック制御などを行う。
【０１００】
［開発用ＰＣと画像処理装置とロボット制御装置］
本実施形態では、画像処理装置ＰＵが所定の画像処理（本実施形態では、撮像画像に第１領域及び第２領域を指定する処理）を実行し、当該画像処理の結果の情報に基づいて開発用ＰＣ６０１が所定の処理の条件を設定し、ロボット制御装置３０がロボット２０による当該処理の実行を制御する。
ここで、画像処理装置ＰＵにより行われる所定の画像処理の内容としては、本実施形態における画像処理の内容に限られず、例えば、本実施形態における画像処理の内容と比べて、少なくてもよく、多くてもよく、または、異なる内容であってもよい。この場合に、例えば、画像処理装置ＰＵにより行われる処理については開発用ＰＣ６０１あるいはロボット制御装置３０では行われなくてもよく、また、開発用ＰＣ６０１あるいはロボット制御装置３０により行われる処理については画像処理装置ＰＵでは行われなくてもよい。
また、本実施形態では、開発用ＰＣ６０１が開発時における処理の制御を行う構成としたが、他の構成例として、開発用ＰＣ６０１が有する機能のすべてまたは一部がロボット制御装置３０あるいは画像処理装置ＰＵに備えられてもよい。
つまり、開発用ＰＣ６０１により行われる処理と画像処理装置ＰＵにより行われる処理とロボット制御装置３０により行われる処理とを合わせた全体の処理において必要な処理が実行されれば、それぞれの装置（開発用ＰＣ６０１、画像処理装置ＰＵ、ロボット制御装置３０）により行われる処理の分担は様々であってもよい。
一例として、ロボット制御装置３０に画像処理装置ＰＵの機能を一体化してもよく、つまり、ロボット制御装置３０が画像処理装置ＰＵの機能を含んでもよい。
【０１０１】
ここで、本実施形態では、プログラムの開発段階では、対応付処理及び対応付処理の結果の表示などは、すべて、開発用ＰＣ６０１の表示装置６２１（モニター）に表示される。具体例として、図５−８、図１０−１５に示される画像（画面）のすべては、開発用ＰＣ６０１の表示装置６２１に表示される。
なお、これらの画像（画面）が、補助的に、画像処理装置ＰＵにより表示装置２４の画面に表示されてもよい。
【０１０２】
＜変形例４：単腕ロボット＞
以下、図を参照して本実施形態に係る変形例４について説明する。
図１７は、変形例４に係るロボットシステム２の構成の一例を示す図である。
変形例４では、ロボットシステム２が備えるロボット２１は、単腕のロボットである。
ロボット２１は、基端（支持台）Ｂ１と、マニピュレーターＭ１と、エンドエフェクターＥ１を備える。
なお、変形例４では、ロボット制御装置３０は、ロボット２１とは別体で設けられている。他の構成例として、ロボット制御装置３０は、ロボット２１と一体で設けられてもよく、例えば、ロボット２１の基端Ｂ１の内部に設けられてもよい。
【０１０３】
ロボット２１の基端Ｂ１は、テーブルＴＢに設置されている。
ロボット２１のマニピュレーターＭ１の一端は、基端Ｂ１と接続されている。ロボット２１のマニピュレーターＭ１の他端と、エンドエフェクターＥ１とが接続されている。
ロボット２１のマニピュレーターＭ１は、６軸垂直多関節型の構造を有しており、６個の関節を備える。それぞれの関節は、アクチュエーター（図示せず）を備える。そして、ロボット２１では、６個の関節のそれぞれのアクチュエーターの動作によって、６軸の自由度の動作を行う。他の構成例として、ロボットシステム２には、５軸以下の自由度で動作を行うロボット、または、７軸以上の自由度で動作を行うロボットが用いられてもよい。
ロボット２１のエンドエフェクターＥ１は、例えば、ハンドであり、物体を把持することが可能な指部を備える。他の構成例として、ロボット２１のエンドエフェクターＥ１は、任意のものであってもよく、例えば、空気の吸引を利用して物体を吸着するもの、磁力を利用して物体を寄せ付けるものなどであってもよい。
【０１０４】
ロボット制御装置３０は、あらかじめ設定された動作制御プログラムにしたがって、ロボット２１を制御する。例えば、ロボット制御装置３０は、ロボット２１の動作を実現するために必要な各種の情報を、ロボット２１（本体）に対して教示する。具体的には、ロボット制御装置３０は、マニピュレーターＭ１が有するそれぞれのアクチュエーター及びエンドエフェクターＥ１のそれぞれを制御する。
ロボット制御装置３０は、ロボット２０に対象物Ｐを把持させる制御と同様の制御をロボット２１に行い、ロボット２１に所定の作業を行わせる。
【０１０５】
＜変形例５：双腕ロボット＞
以下、図を参照して本実施形態に係る変形例５について説明する。
図１８は、変形例５に係るロボットシステム３の構成の一例を示す図である。
変形例５では、ロボットシステム３が備えるロボット２２は、双腕のロボットである。
ロボット２２は、上部にある頭部と、中央部にある胴体部と、下部にある台部（台の部分）と、胴体部に設けられた腕部を備える。
ロボット２２は、腕部として２本の腕を有する双腕のロボットである。
【０１０６】
ロボット２２は、一方の腕側の構成として、第１マニピュレーターＭ１１と、第１エンドエフェクターＥ１１を備える。
ロボット２２は、他方の腕側の構成として、第２マニピュレーターＭ１２と、第２エンドエフェクターＥ１２を備える。
【０１０７】
変形例５では、一方の腕側の構成（第１エンドエフェクターＥ１１が取り付けられた第１マニピュレーターＭ１１）により７軸の自由度の動作を行うことが可能であり、他方の腕側の構成（第２エンドエフェクターＥ１２が取り付けられた第２マニピュレーターＭ１２）により７軸の自由度の動作を行うことが可能であるが、他の構成例として、６軸以下または８軸以上の自由度の動作を行う構成が用いられてもよい。
ここで、第１マニピュレーターＭ１１、第２マニピュレーターＭ１２は、７軸の自由度で動作する場合、６軸以下の自由度で動作する場合と比較して取り得る姿勢が増えることによって、例えば、動作が滑らかになり、当該第１マニピュレーターＭ１１、第２マニピュレーターＭ１２の周辺に存在する物体との干渉を容易に回避することができる。また、第１マニピュレーターＭ１１、第２マニピュレーターＭ１２が７軸の自由度で動作する場合、当該第１マニピュレーターＭ１１、第２マニピュレーターＭ１２の制御は、第１マニピュレーターＭ１１、第２マニピュレーターＭ１２が８軸以上の自由度で動作する場合と比較して計算量が少なく容易である。このような理由から、変形例５では、好ましい一例として、７軸の自由度で動作する第１マニピュレーターＭ１１、第２マニピュレーターＭ１２が用いられている。
また、変形例５では、胴体部は、腰の部分で、１軸の自由度で回転することが可能な構成である。
【０１０８】
また、ロボット２２は、頭部の左右のそれぞれに設けられた２個のカメラ（第１カメラ１０３１−１、第２カメラ１０３１−２）と、第１マニピュレーターＭ１１の所定部位に設けられたカメラ（第３カメラ１０５１−１）と、第２マニピュレーターＭ１２の所定部位に設けられたカメラ（第４カメラ１０５１−２）を備える。
それぞれのカメラ（第１カメラ１０３１−１、第２カメラ１０３１−２、第３カメラ１０５１−１、第４カメラ１０５１−２）は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）あるいはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）等を用いたカメラである。
第１カメラ１０３１−１及び第２カメラ１０３１−２は、それぞれ、頭部の動きに応じて動かされる。
第３カメラ１０５１−１及び第４カメラ１０５１−２は、それぞれ、第１マニピュレーターＭ１１及び第２マニピュレーターＭ１２のそれぞれの動きに応じて動かされる。
【０１０９】
また、ロボット２２は、ロボット制御装置３０を備える。変形例５では、ロボット２２は、台部の内部にロボット制御装置３０を備える。
ロボット制御装置３０は、ロボット２２の動作を制御する。ロボット制御装置３０は、例えば、第１マニピュレーターＭ１１及び第２マニピュレーターＭ１２の動作を制御する。さらに、ロボット２２の腰などの部分の動作が可能な構成では、ロボット制御装置３０は当該腰などの部分の動作を制御する。
変形例５では、第１カメラ１０３１−１、第２カメラ１０３１−２、第３カメラ１０５１−１及び第４カメラ１０５１−２のそれぞれは、画像を撮像して、撮像された画像の情報をロボット制御装置３０に送信（出力）する。
【０１１０】
変形例５では、第１マニピュレーターＭ１１の位置及び姿勢、第２マニピュレーターＭ１２の位置及び姿勢、及び各カメラ（第１カメラ１０３１−１、第２カメラ１０３１−２、第３カメラ１０５１−１、第４カメラ１０５１−２）により撮像される画像について、座標系のキャリブレーションが行われている。
【０１１１】
変形例５では、ロボット制御装置３０は、あらかじめ設定された動作制御プログラムにしたがって、ロボット２２の動作を制御する。ロボット制御装置３０は、ロボット２２の動作を実現するために必要な各種の情報を、ロボット２２（本体）に対して教示する。
具体例として、ロボット制御装置３０は、各マニピュレーター（第１マニピュレーターＭ１１及び第２マニピュレーターＭ１２）の動作を制御することで、各エンドエフェクター（第１エンドエフェクターＥ１１及び第２エンドエフェクターＥ１２）により物体を把持することが可能である。また、ロボット制御装置３０は、各エンドエフェクターにより把持された物体を移動させること、各エンドエフェクターにより把持された物体を所定位置に載置して離す（把持を解除する）こと、各エンドエフェクターにより把持された物体を加工（例えば、穴開けなど）すること、なども可能である。
変形例５では、それぞれのエンドエフェクターＥ１１、Ｅ１２は、掌１０９１−１、１０９１−２及び爪（指）１０９２−１、１０９２−２を備える。
【０１１２】
変形例５では、ロボット制御装置３０は、２個のマニピュレーターＭ１１、Ｍ１２のうちの任意の一方を制御することが可能であり、また、２個のマニピュレーターＭ１１、Ｍ１２の両方を協調的に制御することが可能である。
なお、変形例５では、例えば、カメラＣＲの代わりに、複数のカメラ１０３１−１〜１０３１−２、１０５１−１〜１０５１−２のうちの１個以上が用いられてもよい。
ロボット制御装置３０は、ロボット２０に対象物Ｐを把持させる制御と同様の制御をロボット２２に行い、第１エンドエフェクターＥ１１と、第２エンドエフェクターＥ１２のうち、いずれか一方又は両方に対象物Ｐを把持させる。
【０１１３】
なお、上述では、ロボット制御装置３０は、カメラＣＲが撮像した画像Ｇに基づいて、対象物Ｐを把持させる制御を行う場合について説明したが、これに限られない。ロボット制御装置３０は、対象物Ｐを三次元計測し、計測した結果に基づいて、第１対象物に対して第１領域及び第２領域を指定してもよい。
【０１１４】
以上のように、ロボット制御装置３０は、取得した複数の対象物Ｐが撮像された画像Ｇに指定された領域であって、受け付けられた第１領域を示す第１領域情報と、第１領域とは異なる領域であって、第１領域に応じた第２領域を示す第２領域情報とに基づいて、他の対象物Ｐの第１領域と重ならない第２領域が指定された対象物Ｐをロボットに把持させ、他の対象物Ｐの第１領域と第２領域が重なる対象物Ｐをロボットに把持させない。これにより、ロボット制御装置３０は、これにより、ロボット制御装置３０は、操作者が所望する条件を満たす対象物Ｐをロボットに把持させることができる。
【０１１５】
また、ロボット制御装置３０は、第１領域情報に基づいて、他の対象物Ｐに指定された第１領域と重ならない第１領域が指定された対象物Ｐをロボットに把持させ、他の対象物Ｐに指定された第１領域と重なる第１領域が指定された対象物Ｐをロボットに把持させない。これにより、ロボット制御装置３０は、対象物Ｐに対応付けられた第１領域に基づいて、操作者が所望する条件を満たす対象物Ｐをロボットに把持させることができる。
【０１１６】
また、ロボット制御装置３０は、第１領域が指定されたことに応じて第２領域が設定される。これにより、ロボット制御装置３０は、第２領域を設定する補助を行うことができる。
【０１１７】
また、ロボット制御装置３０では、第２領域は、受け付けられた操作によって指定される。これにより、ロボット制御装置３０は、操作者が所望する第２領域を対象物Ｐに指定することができる。
【０１１８】
また、ロボット制御装置３０は、第１領域情報及び第２領域情報に基づいて、複数の対象物Ｐのうちの少なくとも一部の対象物Ｐの画像Ｇに、第１領域に対応する第３領域と、第２領域に対応する第４領域とを設定し、第３領域及び第４領域と、第３領域及び第４領域が設定された少なくとも一部の対象物Ｐを表示部（この一例では、表示装置６２１又は表示装置ＤＰ）に表示させる。これにより、ロボット制御装置３０は、操作者が対象物Ｐに第１領域及び第２領域を指定する補助を行うことができる。
【０１１９】
また、ロボット制御装置３０は、第１領域情報が示す第１領域及び第２領域情報が示す第２領域と、対象物Ｐの画像Ｇとを表示部に表示させる。これにより、ロボット制御装置３０は、操作者が対象物Ｐに第１領域及び第２領域を対応付ける補助を行うことができる。
【０１２０】
また、ロボット制御装置３０では、第１領域は、対象物Ｐの輪郭の全体を含む領域であって、対象物Ｐの形状に基づく領域である。これにより、ロボット制御装置３０は、対象物Ｐの全体を含む第１領域に基づいて、操作者が所望する条件を満たす対象物Ｐをロボットに把持させることができる。
【０１２１】
また、ロボット制御装置３０では、第１領域の形状は、凸包である。これにより、ロボット制御装置３０は、凸包形状である第１領域に対応する第１領域に基づいて、操作者が所望する条件を満たす対象物Ｐをロボットに把持させることができる。
【０１２２】
また、ロボット制御装置３０では、第２領域は、ロボットによる対象物Ｐの把持に関する領域である。これにより、ロボット制御装置３０は、把持に関する第２領域に基づいて、操作者が所望する条件を満たす対象物Ｐをロボットに把持させることができる。
【０１２３】
また、ロボット２０は、第１領域及び第２領域に基づいて、対象物Ｐを把持する。これにより、ロボット２０は、操作者が所望する条件を満たす対象物Ｐを把持することができる。
【０１２４】
また、ロボットシステム１は、第１領域及び第２領域に基づいて、ロボット２０に対象物Ｐを把持させる。これにより、ロボットシステム１は、操作者が所望する条件を満たす対象物Ｐをロボット２０に把持させることができる。
【０１２５】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１２６】
また、以上に説明した装置（例えば、ロボット制御装置３０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１２７】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１２８】
１、２、３…ロボットシステム、２０、２１、２２…ロボット、３０…ロボット制御装置、３１…ＣＰＵ、３２…記憶部、３３…入力部、３４…通信部、３５…出力部、３６…制御部、３６１…取得部、３６２…対応付部、３６３…表示制御部、３６４…ロボット制御部、ＰＵ…画像処理装置、６０１…開発用ＰＣ、６０２…操作キー、６２１…表示装置、ＤＰ…表示装置、Ａ１１、Ａ２１−１、Ａ２１−２、Ａ３１、Ａ３２、Ａ３７、Ａ４１、Ａ４１−１、Ａ４１−２、Ａ４２−１、Ａ４２−２、Ａ４３−１、Ａ４３−２、Ａ４４−１、Ａ４４−２、Ａ４５−１、Ａ４５−２、Ａ４６−１、Ａ４６−２、Ａ４７、Ａ４７−１、Ａ４７−２…領域、ＢＣ…ベルトコンベアー、ＣＲ…カメラ、ＤＧ…表示画像、Ｇ、Ｇ１…画像、Ｐ、Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、Ｐ７…対象物、ＴＢ…テーブル
【図１】
2018034242.tif 000003
【図２】
2018034242.tif 000004
【図３】
2018034242.tif 000005
【図４】
2018034242.tif 000006
【図５】
2018034242.tif 000007
【図６】
2018034242.tif 000008
【図７】
2018034242.tif 000009
【図８】
2018034242.tif 000010
【図９】
2018034242.tif 000011
【図１０】
2018034242.tif 000012
【図１１】
2018034242.tif 000013
【図１２】
2018034242.tif 000014
【図１３】
2018034242.tif 000015
【図１４】
2018034242.tif 000016
【図１５】
2018034242.tif 000017
【図１６】
2018034242.tif 000018
【図１７】
2018034242.tif 000019
【図１８】
2018034242.tif 000020