JP2018034241A - ロボット、ロボット制御装置およびロボットシステム - Google Patents

ロボット、ロボット制御装置およびロボットシステム Download PDF

Info

Publication number
JP2018034241A
JP2018034241A JP2016168961A JP2016168961A JP2018034241A JP 2018034241 A JP2018034241 A JP 2018034241A JP 2016168961 A JP2016168961 A JP 2016168961A JP 2016168961 A JP2016168961 A JP 2016168961A JP 2018034241 A JP2018034241 A JP 2018034241A
Authority
JP
Japan
Prior art keywords
image
robot
blob
information
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016168961A
Other languages
English (en)
Inventor
健太郎 塚本
Kentaro Tsukamoto
健太郎 塚本
信之 説田
Nobuyuki Setsuda
信之 説田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2016168961A priority Critical patent/JP2018034241A/ja
Priority to US15/689,424 priority patent/US10562187B2/en
Publication of JP2018034241A publication Critical patent/JP2018034241A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/04Viewing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0093Programme-controlled manipulators co-operating with conveyor means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32128Gui graphical user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

【課題】画像に関する別の画像を表示し、当該別の画像の情報を基に処理の条件を設定し、当該処理を行うことを効率的に行うロボットなどを提供する。【解決手段】第1操作を受け付け撮像された第1画像に含まれる第2画像が選択されると、前記第2画像に関する第3画像を表示し、前記第3画像の情報が受け付けられると、前記情報に基づき撮像されている物体に関する処理の条件が設定され、設定された条件に基づいて、前記処理を行うロボット。【選択図】図1

Description

本発明は、ロボット、ロボット制御装置およびロボットシステムに関する。
従来、取得された多値画像から特定範囲の輝度値を有する画素を抽出し、抽出された画素の連結性から集合体(ブロブ)を取得する技術があった。
しかしながら、画像における特定のブロブと、当該特定のブロブの情報(例えば、面積あるいは座標の情報)との対応付けがなされていない場合、ブロブと当該ブロブの情報との対応付けが人にとって直感的に理解しにくいことがあった。このような問題は、特に、検出されたブロブが多数存在するときに顕著であった。
一例として、特許文献1に記載された画像測定装置では、画像において検出対象に番号を表示し、当該検出対象の情報に対応する番号を付与することが行われる。この技術では、画像に番号が表示され、当該番号に対応した情報が別の画面に表示される。これにより、例えば、抽出されたブロブが多数ある場合においても、ブロブと当該ブロブの情報とが対応付けられる。
しかしながら、この技術では、ブロブの検出数が多いときには画像に表示される情報が過多になることがあった。また、この技術では、所望のブロブの情報を得るために、結果リストのスクロールを行うこと、あるいは、番号の指定が必要になることがあった。こうしたことから、ブロブと当該ブロブの情報との対応付けが人にとって直感的に理解しにくいことがあった。このような問題は、特に、検出されたブロブが多数存在するときに顕著であった。
特開2003−227706号公報
上述のように、従来では、検出対象と当該検出対象の情報との対応付けが人にとって直感的に理解しにくいことがあった。
なお、検出対象としては、一例として、ブロブであるが、それ以外の対象についても同様な問題があった。
上記課題の少なくとも一つを解決するために本発明の一態様は、第1操作を受け付け撮像された第1画像に含まれる第2画像が選択されると、前記第2画像に関する第3画像を表示し、前記第3画像の情報が受け付けられると、前記情報に基づいて撮像されている物体に関する処理の条件が設定され、設定された条件に基づいて、前記処理を行うロボットである。
この構成により、ロボットでは、第1操作を受け付け撮像された第1画像に含まれる第2画像が選択されると、第2画像に関する第3画像を表示し、第3画像の情報が受け付けられると、前記情報に基づいて撮像されている物体に関する処理の条件が設定され、設定された条件に基づいて、当該処理を行う。これにより、ロボットでは、第2画像に関する第3画像を表示し、第3画像の情報を基に処理の条件を設定し、当該処理を行うことを効率的に行うことができる。
本発明の一態様は、ロボットにおいて、前記第2画像は、第1対象に対応する画像であり、前記第3画像は、前記第1対象に関する数値を含む、構成が用いられてもよい。
この構成により、ロボットでは、第2画像は、第1対象に対応する画像であり、第3画像は、第1対象に関する数値を含む。これにより、ロボットでは、第2画像(第1対象に対応する画像)に関する第3画像(第1対象に関する数値を含む画像)を表示し、第3画像の情報を基に処理の条件を設定し、当該処理を行うことを効率的に行うことができる。
本発明の一態様は、ロボットにおいて、前記第1操作が受け付けられた場合、前記第1画像において前記第2画像の表示を強調する、構成が用いられてもよい。
この構成により、ロボットでは、第1操作が受け付けられた場合、第1画像において第2画像の表示を強調する。これにより、ロボットでは、第2画像を視覚的に目立たせることができ、第2画像をユーザーにとって把握し易くすることができる。
本発明の一態様は、ロボットにおいて、前記第1画像とともに前記第3画像を表示する、構成が用いられてもよい。
この構成により、ロボットでは、第1画像とともに第3画像を表示する。これにより、ロボットでは、第1画像と第3画像との対応関係を視覚的に把握することをユーザーにとって容易にすることができる。
本発明の一態様は、ロボットにおいて、前記第2画像は、第2対象に対応する画像であり、前記第3画像は、前記第2対象に関する数値を含み、前記第2操作を受け付け前記第3画像に含まれる前記第2対象に関する第4画像が選択されると、前記第4画像に関する第5画像を表示する、構成が用いられてもよい。
この構成により、ロボットでは、第2画像は、第2対象に対応する画像であり、第3画像は、第2対象に関する数値を含み、前記第2操作を受け付け第3画像に含まれる第2対象に関する第4画像が選択されると、第4画像に関する第5画像を表示する。これにより、ロボットでは、第4画像に関する第5画像を表示することを効率的に行うことができる。
本発明の一態様は、ロボットにおいて、前記第2操作が受け付けられた場合、前記第3画像において前記第4画像の表示を強調する、構成が用いられてもよい。
この構成により、ロボットでは、第2操作が受け付けられた場合、第3画像において第4画像の表示を強調する。これにより、ロボットでは、第4画像を視覚的に目立たせることができ、第4画像をユーザーにとって把握し易くすることができる。
本発明の一態様は、ロボットにおいて、前記第3画像とともに前記第5画像を表示する、構成が用いられてもよい。
この構成により、ロボットでは、第3画像とともに第5画像を表示する。これにより、ロボットでは、第3画像と第5画像との対応関係を視覚的に把握することをユーザーにとって容易にすることができる。
上記課題の少なくとも一つを解決するために本発明の一態様は、以上のようなロボットに前記処理を行わせる、ロボット制御装置である。
この構成により、ロボット制御装置では、ロボットに前記処理を行わせる。これにより、ロボット制御装置では、ロボットにおいて、第2画像に関する第3画像を表示し、第3画像の情報を基に処理の条件を設定し、当該処理を行うことを効率的に行うことができる。
上記課題の少なくとも一つを解決するために本発明の一態様は、以上のようなロボットと、前記ロボットを制御するロボット制御装置と、を備えるロボットシステムである。
この構成により、ロボットシステムでは、ロボットと、当該ロボットを制御するロボット制御装置を備える。これにより、ロボットシステムでは、ロボットにおいて、第2画像に関する第3画像を表示し、第3画像の情報を基に処理の条件を設定し、当該処理を行うことを効率的に行うことができる。
以上のように、本発明に係るロボット、ロボット制御装置およびロボットシステムによれば、ロボットにおいて、第1操作を受け付け撮像された第1画像に含まれる第2画像が選択されると、第2画像に関する第3画像を表示し、第3画像の情報が受け付けられると、前記情報に基づき撮像されている物体に関する処理の条件が設定され、設定された条件に基づいて、当該処理を行う。これにより、本発明に係るロボット、ロボット制御装置およびロボットシステムでは、ロボットにおいて、第2画像に関する第3画像を表示し、第3画像の情報を基に処理の条件を設定し、当該処理を行うことを効率的に行うことができる。
本発明の一実施形態に係るロボットシステムの概略的な構成例を示す図である。 本発明の一実施形態に係るロボット制御装置の概略的な構成例を示す図である。 本発明の一実施形態に係るブロブの検出結果の画像の一例を示す図である。 本発明の一実施形態に係る特徴情報テーブルの画像の一例を示す図である。 本発明の一実施形態に係る特徴情報の画像の一例を示す図である。 本発明の一実施形態に係るロボットシステムにおいて行われる表示処理の手順の一例を示す図である。 本発明の一実施形態に係るロボットシステムにおいて行われる条件設定を含む動作の手順の一例を示す図である。 本発明の一実施形態に係るブロブの処理において表示される画面の例を示す図である。 本発明の一実施形態に係るブロブの処理において表示される画面の例を示す図である。 本発明の一実施形態に係るブロブの処理において表示される画面の例を示す図である。 本発明の一実施形態に係るブロブの処理において表示される画面の例を示す図である。 本発明の一実施形態に係るブロブの処理において表示される画面の例を示す図である。 本発明の一実施形態に係るブロブの処理において表示される画面の例を示す図である。 本発明の一実施形態に係るブロブの処理において表示される画面の例を示す図である。 本発明の一実施形態に係るロボットシステムにおける各装置のハードウェア構成の一例を示す図である。 本発明の一実施形態(他の構成例)に係るロボットシステムの概略的な構成例を示す図である。
本発明の実施形態について図面を参照して詳細に説明する。
[ロボットシステム]
図1は、本発明の一実施形態に係るロボットシステム1の概略的な構成例を示す図である。
ロボットシステム1は、ロボット11と、ロボット制御装置12と、支持部21と、カメラ22と、画像処理装置23と、表示装置24と、開発用のパーソナルコンピュータ(開発用PC)601と、操作キー602と、表示装置621と、ロボット11とロボット制御装置12とを通信可能に接続するケーブル31と、ロボット制御装置12と画像処理装置23とを通信可能に接続するケーブル32と、開発用PC601とロボット制御装置12とを通信可能に接続するケーブル33と、操作キー602とロボット制御装置12とを通信可能に接続するケーブル34と、カメラ22と画像処理装置23とを通信可能に接続するケーブル41と、画像処理装置23と表示装置24とを通信可能に接続するケーブル42と、開発用PC601と表示装置621とを通信可能に接続するケーブル641と、ベルトコンベアー51と、複数(図1の例では、4個を示してある。)の対象物61−1〜61−4と、テーブル71を備える。
ここで、本実施形態では、図1に示されるすべての構成部がロボットシステム1に含まれると捉えたが、他の例として、ロボット11と、ロボット制御装置12と、ロボット11とロボット制御装置12とを通信可能に接続するケーブル31がロボットシステム1に含まれ、それ以外の構成部のうちの任意の1以上がロボットシステム1に含まれないと捉えられてもよい。
また、通信のインターフェイスとしては、任意の有線のケーブル31〜34、41〜42、641の代わりに、通信可能な無線の回線が用いられてもよい。
図1の例では、テーブル71以外の構成部のうち、操作キー602以外のすべてが、テーブル71に載せられて配置されている。
ここで、操作キー602以外の構成部に関し、ロボット11などの一部の構成部が、テーブル71の外側(例えば、床など)に配置されてもよい。
なお、必ずしもテーブル71が用いられなくてもよく、すべての構成部が床などに配置されてもよい。
ベルトコンベアー51は、当該ベルトコンベアー51に載せられた物を定められた方向に移動させる。当該方向は、本実施形態では、当該物がカメラ22により撮像される位置から、当該物がロボット11により作業される位置へ、向かう方向である。
図1の例では、複数の対象物61−1〜61−4がベルトコンベアー51に載せられて移動させられる。
ここで、図1の例では、ベルトコンベアー51の一部が示されている。一例として、ベルトコンベアー51は、任意の開始始点(図示せず)から任意の終了地点(図示せず)まで続いている。他の例として、ベルトコンベアー51は、環状になっていてもよい。
また、ベルトコンベアー51に載せられて移動させられる対象物61−1〜61−4に対して、本実施形態に係るロボット11による作業箇所以外の箇所(図示せず)で任意の作業が行われてもよい。
なお、本実施形態では、対象物61−1〜61−4がベルトコンベアー51に載せられて移動させられるが、他の構成例として、対象物61−1〜61−4がステージに載せられて静止した状態で配置されてもよい。当該ステージは、テーブル71であってもよく、または、他のものであってもよい。
対象物61−1〜61−4は、ロボット11により行われる作業で用いられるワークの一例である。
対象物61−1〜61−4としては、任意の物体が用いられてもよい。対象物61−1〜61−4は、例えば、生体であってもよく、または、生体でなくてもよい。
支持部21は、カメラ22を所定の位置に固定的に支持する部材である。
カメラ22は、所定の範囲の画像を撮像する撮像装置である。図1の例では、当該所定の範囲として、ベルトコンベアー51において対象物61−1〜61−4が移動する範囲が用いられている。つまり、図1の例では、ベルトコンベアー51に載せられて移動させられる対象物61−1〜61−4を視野に捉えて当該対象物61−1〜61−4の画像をカメラ22により撮像することが可能な配置で、カメラ22が支持部21の所定の位置に設けられている。図1の例では、ベルトコンベアー51の面に対してカメラ22の撮像の光軸が直交する配置(つまり、ベルトコンベアー51の面と撮像画像の面とが平行になる配置)となっている。
カメラ22は、撮像された画像の情報(画像データ)を、ケーブル41を介して、画像処理装置23に送信する。
なお、本実施形態では、カメラ22が固定的に配置される場合を示すが、他の構成例として、カメラ22により撮像される範囲を変更することが可能な構成が用いられてもよい。
また、他の構成例として、対象物61−1〜61−4の形状などの情報を測定する機器として、カメラ22の代わりに、他の機器が用いられてもよく、例えば、レーザーを用いた測定機器などが用いられてもよい。
画像処理装置23は、カメラ22から送信された画像の情報を、ケーブル41を介して、受信する。画像処理装置23は、受信された画像の情報について所定の画像処理を行い、当該画像処理の結果の情報を、ケーブル32を介して、ロボット制御装置12に送信する。当該画像処理の結果の情報には、カメラ22から送信された画像の情報(画像処理前の画像の情報)が含まれてもよい。一例として、画像処理装置23は、コンピューターを用いて構成されてもよい。
表示装置24は、例えば、画面に情報を表示するディスプレイ装置である。表示装置24は、画像処理装置23から送信された情報を、ケーブル42を介して受信し、受信された情報を画面に表示する。
画像処理装置23は、表示対象となる情報を表示装置24に出力(送信)する。当該表示対象となる情報としては、例えば、カメラ22により撮像された画像の情報が用いられてもよく、画像処理装置23により行われた画像処理の結果の情報が用いられてもよく、または、ロボット制御装置12により行われた処理の結果の情報が用いられてもよい。
なお、開発時において、画像処理装置23により行われる画像処理および表示制御などのうちの一部または全部は、開発用PC601からの制御に基づいて行われてもよい。
ここで、図1の例では、ロボットシステム1において、画像処理装置23を備える画像処理システムが設けられていると捉えることができる。当該画像処理システムは、例えば、カメラ22を含んでもよい。また、当該画像処理システムは、例えば、表示装置24を含んでもよい。
なお、画像処理システムは、例えば、画像を測定する画像測定システムなどであってもよい。
[単腕のロボット]
本実施形態では、ロボット11は、単腕のロボットである。
ロボット11は、基端(支持台)91と、マニピュレーターM1と、力覚センサー92と、エンドエフェクターE1を備える。
なお、本実施形態では、ロボット制御装置12は、ロボット11とは別体で設けられている。他の構成例として、ロボット制御装置12は、ロボット11と一体で設けられてもよく、例えば、ロボット11の基端91の内部に設けられてもよい。
ロボット11の基端91は、設置されている。
ロボット11のマニピュレーターM1の一端は、基端91と接続されている。ロボット11のマニピュレーターM1の他端と、エンドエフェクターE1とが、これらの間に力覚センサー92を介して、接続されている。
ロボット11のマニピュレーターM1は、6軸垂直多関節型の構造を有しており、6個の関節を備える。それぞれの関節は、アクチュエーター(図示せず)を備える。そして、ロボット11では、6個の関節のそれぞれのアクチュエーターの動作によって、6軸の自由度の動作を行う。他の構成例として、5軸以下の自由度で動作を行うロボット、または、7軸以上の自由度で動作を行うロボットが用いられてもよい。
ロボット11のエンドエフェクターE1は、例えば、ハンドであり、物体を把持することが可能な指部を備える。他の構成例として、ロボット11のエンドエフェクターE1は、任意のものであってもよく、例えば、空気の吸引を利用して物体を吸着するもの、磁力を利用して物体を寄せ付けるものなどであってもよい。
[開発用PC]
開発用PC601は、ロボット制御装置12で使用されるプログラムを開発するときなどに使用される。当該プログラムは、例えば、ロボット11の動作を制御するプログラムである。
開発用PC601は、ケーブル33を介して、ロボット制御装置12との間で通信する。
なお、開発用PC601は、例えば、開発が完了した後には、ロボット制御装置12と接続されていなくてもよい。
開発用PC601は、例えば、ロボット11により行われる所定の処理の条件を設定する機能を有している。処理の条件としては、任意の条件が用いられてもよく、例えば、処理に使用されるパラメーター(「プロパティー」などと呼ばれてもよい。)の値または範囲が用いられてもよい。
本実施形態では、開発時においては、開発用PC601がロボット制御装置12を介して画像処理装置23に対して命令(指示)を与えることで、各種の処理が行われる。また、開発時においては、例えば、開発用PC601が有する操作部がユーザーにより操作される。
表示装置621は、例えば、画面に情報を表示するディスプレイ装置である。表示装置621は、開発用PC601から送信された情報を、ケーブル641を介して受信し、受信された情報を画面に表示する。
開発用PC601は、表示対象となる情報を表示装置621に出力(送信)する。当該表示対象となる情報としては、例えば、カメラ22により撮像された画像の情報が用いられてもよく、画像処理装置23により行われた画像処理の結果の情報が用いられてもよく、または、ロボット制御装置12により行われた処理の結果の情報が用いられてもよい。
本実施形態では、開発用PC601が画像処理装置23に対して画像処理の実行を指示し、画像処理装置23が画像や画像処理結果を開発用PC601に送信し、開発用PC601が受信した当該画像や当該画像処理結果を表示装置621に表示させる。
ここで、本実施形態では、開発時には、主(メイン)となる表示装置として、開発用PC601の表示装置621に、各種の情報が表示される。
なお、画像処理装置23の表示装置24には、開発用PC601の表示装置621と同様な情報が表示されてもよく、または、他の情報が表示されてもよい。本実施形態では、画像処理装置23の表示装置24は補助(サブ)の表示装置として使用される。例えば、画像処理装置23の表示装置24では、自動動作中の対象物の表示、あるいは、結果表示を行ってもよい。
[ロボット制御装置]
ロボット制御装置12は、ロボット11を制御する。例えば、ロボット制御装置12は、マニピュレーターM1が有するそれぞれのアクチュエーター、力覚センサー92およびエンドエフェクターE1のそれぞれを制御する。
ロボット制御装置12は、力覚センサー92から、検出結果の情報を受信する。
また、ロボット制御装置12は、画像処理装置23から送信された画像処理の結果の情報を、ケーブル32を介して、受信する。
なお、カメラ22の配置を変更することが可能な構成において、ロボット制御装置12は、カメラ22の配置を制御して変更することが可能であってもよい。この場合、ロボット制御装置12は、例えば、直接的にカメラ22を制御してもよく、あるいは、画像処理装置23を介してカメラ22を制御してもよい。
また、ロボット制御装置12は、ケーブル33を介して開発用PC601との間で通信する。
また、ロボット制御装置12は、ケーブル34を介して操作キー602との間で通信する。
操作キー602は、ロボット制御装置12の外部に設けられた操作装置の一例である。操作キー602は、ユーザーにより操作される操作部(例えば、1個以上のキー)を有しており、ユーザーにより当該操作部に対して行われた操作の内容を受け付けて、ケーブル34を介して、ロボット制御装置12に送信する。
図2は、本発明の一実施形態に係るロボット制御装置12の概略的な構成例を示す図である。
ロボット制御装置12は、入力部111と、出力部112と、記憶部113と、制御部114を備える。
制御部114は、情報取得部151と、操作受付部152と、ロボット制御部153を備える。
入力部111は、外部から情報を入力する。一例として、入力部111は、キーボードあるいはマウスなどの操作部を備え、当該操作部に対してユーザー(人)により行われる操作の内容に応じた情報を入力する。他の例として、入力部111は、外部の装置から出力される情報を入力する。図1の例では、入力部111は、例えば、画像処理装置23、開発用PC601、あるいは、操作キー602から出力(送信)される情報を入力(受信)し、力覚センサー92から出力(送信)される情報を入力(受信)する。
出力部112は、外部に情報を出力する。一例として、出力部112は、表示画面に情報を出力(送信)する。他の例として、出力部112は、音(音声を含む。)を発するスピーカーに音の情報を出力(送信)してもよい。また、出力部112は、例えば、ロボット11(例えば、マニピュレーターM1、エンドエフェクターE1)、開発用PC601、画像処理装置23、あるいは、操作キー602に情報を出力する。
なお、本実施形態では、ロボット制御装置12と表示装置24とは接続されていないが、他の構成例として、表示装置24がロボット制御装置12の出力部112に一体または別体として接続されてもよい。
また、入力部111が有する操作部は、例えば、表示画面(または、他の画面)を用いたタッチパネルであってもよい。
記憶部113は、情報を記憶する。一例として、記憶部113は、制御部114により使用されるプログラム(制御プログラム)および各種のパラメーターの情報を記憶する。他の例として、記憶部113は、任意の情報を記憶してもよく、例えば、ロボット11を制御する際に使用される画像などの情報を記憶してもよい。
制御部114は、ロボット制御装置12において各種の制御を行う。制御部114は、例えば、記憶部113に記憶されたプログラムおよび各種のパラメーターの情報に基づいて、各種の制御を行う。
情報取得部151は、情報を取得する。情報取得部151は、例えば、入力部111により入力される情報、または、記憶部113に記憶された情報のうちの1以上を取得する。
操作受付部152は、入力部111が有する操作部に対してユーザーにより行われた操作を受け付ける。また、操作受付部152は、操作キー602が有する操作部に対してユーザーにより行われた操作を、当該操作キー602から受信して、受け付ける。
ロボット制御部153は、ロボット11の動作を制御する。具体的には、ロボット制御部153は、マニピュレーターM1と通信することでマニピュレーターM1の動作を制御し、エンドエフェクターE1と通信することでエンドエフェクターE1の動作を制御する。
[ロボットシステムにおいて行われる動作]
<各種の画像の表示>
本実施形態では、カメラ22により対象物61−1〜61−4の画像を撮像する。
画像処理装置23が、撮像された画像の情報に基づいて当該画像を2値化し、2値化された画像における同じ画素値を有する画素の連結性に基づいて画素の集合体(ブロブ)を検出する。
ここで、同じ画素値(ここでは、説明の便宜上、「画素値A1」という。)を有する1個のブロブとして認識される領域の内側に、違う画素値(ここでは、説明の便宜上、「画素値A2」という。)を有する部分(例えば、穴のような部分)がある場合があり得る。
この場合、一例として、画像処理装置23は、違う画素値(画素値A2)を有する部分(例えば、穴のような部分)についても、同じ画素値(画素値A1)へ変更して、ブロブの一部とする処理を実行してもよい。この処理では、それぞれのブロブの外枠(外側の輪郭)の内側はすべて当該ブロブの領域となる。
他の例として、画像処理装置23は、違う画素値(画素値A2)を有する部分(例えば、穴のような部分)については、そのままとして、ブロブの一部とはしない処理を実行してもよい。この処理では、それぞれのブロブの外枠(外側の輪郭)の内側に、当該ブロブではない部分を区切る枠(内側の輪郭)が1以上存在し得る。
また、画像処理装置23は、検出されたそれぞれのブロブについて、特徴的な値(数値)を検出する。当該特徴的な値としては、任意の値であってもよく、本実施形態では、面積の値、所定のXY直交座標系における座標Xの値および座標Yの値が用いられる。当該XY直交座標系としては、例えば、画像の水平方向(横方向)をX軸方向とし、当該画像の垂直方向(縦方向)をY軸方向とする座標系であってもよい。
画像処理装置23は、ブロブの検出結果に関する情報を、ケーブル32を介して、ロボット制御装置12に送信する。
ここで、2値化を行うための閾値としては、任意の値が用いられてもよい。画像処理装置23は、例えば、画像に含まれるそれぞれの画素の画素値(例えば、輝度値)について、当該画素値が所定の閾値を超える場合には1値とする一方、当該画素値が当該所定の閾値未満である場合には0値とすることで、2値化する。
また、画像処理装置23は、例えば、撮像された画像のうちで、ユーザーにより指定(選択)された範囲の画像部分について、ブロブを検出する処理を行ってもよい。
なお、ユーザーにより行われる当該指定の操作は、例えば、開発用PC601が有する操作部を用いて行われてもよい。他の構成例として、当該操作は、他の操作部(例えば、画像処理装置23、ロボット制御装置12あるいは操作キー602が有する操作部)を用いて行われてもよい。
また、画像処理装置23は、検出されたそれぞれのブロブごとに、当該ブロブと、当該ブロブに関する特徴的な値に、同じ識別情報を付与する。当該識別情報としては、例えば、連続番号の情報が用いられてもよい。連続番号の順序は、任意の順序であってもよく、例えば、面積の大きい方から小さい方への順序などであってもよい。また、連続番号の順序は、例えば、ユーザーにより指定されてもよく、または、自動的に割り当てられてもよい。
なお、ユーザーにより行われる当該指定の操作は、例えば、開発用PC601が有する操作部を用いて行われてもよい。他の構成例として、当該操作は、他の操作部(例えば、画像処理装置23、ロボット制御装置12あるいは操作キー602が有する操作部)を用いて行われてもよい。
図3は、本発明の一実施形態に係るブロブの検出結果の画像211の一例を示す図である。
本実施形態では、開発用PC601が、画像211を表示装置621の画面に表示する。
画像211は、複数(図3の例では、18個)のブロブ231〜248を含む。図3の例では、0値(黒色)の画素の集合を対象物(図1の例では、対象物61−1〜61−4)である可能性があるブロブ231〜248としており、1値(白色)の画素については背景とみなしている。
図3の例では、4個のブロブ244〜247は対象物を表わしており、他のブロブ231〜243、248は対象物以外の物を表わしている。対象物以外の物は、例えば、ベルトコンベアー51(他の構成例として、ステージなど)に存在する傷または色むらであり、あるいは、撮影時に生じたノイズ(ここでは、説明の便宜上、物とみなしている。)である。
また、画像処理装置23は、画像211に、カーソル271の画像を重畳して表示するように制御する。画像処理装置23は、当該カーソル271を、ユーザーにより行われる移動の操作に応じて、当該画像211において移動させる。当該操作は、例えば、開発用PC601が有する操作部を用いて行われる。
また、画像処理装置23は、ユーザーにより行われるクリックの操作(例えば、開発用PC601における操作)に応じて、画像211におけるカーソル271の位置(または、カーソル271に対応する対象)の指定(選択)を受け付ける。ユーザーは、画像211においてカーソル271を所望の位置に合わせてクリックする。
画像処理装置23は、任意のブロブ231〜248についてカーソル271によって指定が受け付けられた場合、指定が受付けられたブロブを強調して表示する制御を行う。図3の例では、1個のブロブ245が指定されており、画像処理装置23は、当該ブロブ245の周囲に輪郭261を表示するように制御することで、当該ブロブ245を強調している。当該輪郭261は、例えば、ブロブ231〜248および背景として使用されていない色を有しており、赤色、青色、あるいは、黄色などの色を有してもよい。
図4は、本発明の一実施形態に係る特徴情報テーブルの画像(特徴情報テーブル画像311)の一例を示す図である。
画像処理装置23は、図3に示される画像211においてブロブ245が指定された場合、指定されたブロブ245に関する特徴的な値を含む特徴情報テーブル画像311を生成する。当該特徴情報テーブル画像311は、表示装置621の画面に表示される。
図3および図4の例では、指定されたブロブ245に「15」という識別情報が割り当てられている(付与されている)とする。本実施形態では、当該識別情報として、0を初期値として1ずつ増加する連続番号が用いられる。なお、図4の例では、識別情報を「ID」と表している。
図4の例では、検出された複数のブロブ231〜248のうちの一部であって、指定されたブロブ245の識別情報を含む前後の識別情報を有する4個のブロブ(「13」〜「16」という識別情報を有するブロブ)の情報を表す特徴情報テーブル画像311が表示されている。識別情報が「15」であるブロブの情報は、面積が「250」という値であり、座標Xが「10」という値であり、座標Yが「−10」という値である。
図4の例では、特徴情報テーブル画像311には、互いに直交する2つの方向のうちの一方の方向(例えば、縦の方向)に識別情報が順番に記述されており、他方の方向(例えば、横の方向)に該当する識別情報を有するブロブについて、面積を表す数値、座標Xを表す数値、座標Yを表す数値が記述されている。ここで、ブロブの座標(X、Y)としては、例えば、当該ブロブの重心(または、図心)の座標が用いられてもよい。
図4の例では、特徴情報テーブル画像311において、前記した一方の方向(例えば、縦の方向)について、スクロールを指示するバーが表示されている。画像処理装置23は、ユーザーにより行われるスクロールの操作に応じて、特徴情報テーブル画像311を前記した一方の方向にスクロールさせる。なお、このようなスクロールの機能は、例えば、前記した一方の方向と、前記した他方の方向と、のうちの任意の一方または両方について備えられてもよい。
また、図4の例では、画像処理装置23は、特徴情報テーブル画像311において、指定された行(指定行321)を、他の行とは異なる色とすることで、強調して表示している。当該色は、例えば、特徴情報テーブル画像311において使用されていない色を有しており、赤色、青色、あるいは、黄色などの色を有してもよい。
なお、図3の例における強調表示あるいは図4の例における強調表示としては、例えば、輪郭あるいは行の色を強調する表示以外の表示が用いられてもよく、例えば、輪郭あるいは行の線を太くする表示、または、輪郭あるいは行を点滅させる表示などが用いられてもよい。
また、画像処理装置23は、ユーザーにより行われるクリックの操作(例えば、開発用PC601における操作)に応じて、特徴情報テーブル画像311におけるカーソル(図示せず)の位置(または、カーソルに対応する対象)の指定(選択)を受け付ける。ユーザーは、特徴情報テーブル画像311においてカーソルを所望の位置(例えば、所望の行など)に合わせてクリックする。
なお、他の例として、特徴情報テーブル画像311において、各行の識別情報(ID)の欄の横にさらにボタンなどを表示して、当該ボタンなどの位置で各行の指定を受け付けてもよい。
また、画像処理装置23は、特徴情報テーブル画像311において、複数のブロブ231〜248の情報を並べ替え(ソート)する機能を有してもよい。一例として、画像処理装置23は、ユーザーにより行われる操作(例えば、開発用PC601における操作)により特定された並べ替えの規則に基づいて、複数のブロブ231〜248の情報を並べ替えした特徴情報テーブル画像311を表示する。他の例として、画像処理装置23は、あらかじめ定められた並べ替えの規則に基づいて、複数のブロブ231〜248の情報を並べ替えした特徴情報テーブル画像311を表示する。並べ替えの規則としては、任意の規則が用いられてもよく、例えば、面積が大きい方から小さい方への順序に並べ替える規則、面積が小さい方から大きい方への順序に並べ替える規則、座標Xあるいは座標Yが大きい方から小さい方への順序に並べ替える規則、または、座標Xあるいは座標Yが小さい方から大きい方への順序に並べ替える規則などが用いられてもよい。
図5は、本発明の一実施形態に係る特徴情報の画像(特徴情報画像411)の一例を示す図である。
画像処理装置23は、図4に示される特徴情報テーブル画像311において1個のブロブの行(指定行321)が指定された場合、指定されたブロブ(ブロブ245)に関する特徴的な値の情報を含む画像(特徴情報画像411)を生成する。当該特徴情報画像411は、表示装置621の画面に表示される。
図5の例では、特徴情報画像411は、指定されたブロブ(ブロブ245)のみについて、当該ブロブに関する特徴的な値の情報を含む。
ここで、本実施形態では、画像処理装置23は、図3に示される画像211においてブロブ245が指定された場合にそれに対応する図4に示される特徴情報テーブル画像311を表示するように制御し、図4に示される特徴情報テーブル画像311において指定行321が指定された場合にそれに対応する図5に示される特徴情報画像411を表示するように制御する構成とした。さらに、画像処理装置23は、例えば、1つ前の表示内容に戻る操作(例えば、開発用PC601における操作)がユーザーにより行われて受け付けられたことに応じて、図5の表示内容から図4の表示内容に戻る処理、あるいは、図4の表示内容から図3の表示内容に戻る処理を行ってもよい。
また、他の構成例として、画像処理装置23は、図3に示される画像211においてブロブ245が指定された場合に、それに対応する図5に示される特徴情報画像411を表示するように制御する構成が用いられてもよい。また、画像処理装置23は、例えば、1つ前の表示内容に戻る操作(例えば、開発用PC601における操作)がユーザーにより行われて受け付けられたことに応じて、図5の表示内容から図3の表示内容に戻る処理を行ってもよい。
また、他の構成例として、画像処理装置23は、図4に示される特徴情報テーブル画像311において所定のブロブに対応する行(指定行321)が指定された場合に、それに対応する当該ブロブを含む画像を表示するように制御する構成が用いられてもよい。当該画像としては、例えば、指定された当該ブロブのみの画像であってもよく、または、図3に示される画像211のように、指定された当該ブロブと他のブロブを含む画像であってもよい。
画像処理装置23は、図3の表示内容、図4の表示内容、図5の表示内容、および他の任意の表示内容のうちの任意の2つまたは3つを同一の画面で表示するように制御してもよい。
一例として、画像処理装置23は、図3に示される画像211においてブロブ245が指定された場合に、それに対応する図4に示される特徴情報テーブル画像311を、図3に示される当該画像211とともに、同一の画面に表示するように制御してもよい。
他の例として、画像処理装置23は、図4に示される特徴情報テーブル画像311において所定のブロブに対応する行(指定行321)が指定された場合に、それに対応する当該ブロブを含む画像を、図4に示される特徴情報テーブル画像311とともに、同一の画面に表示するように制御してもよい。
ここで、本実施形態では、カーソルの移動およびクリックの操作によって、画像における所定の位置(本実施形態では、ブロブ)を指定する構成を示したが、このような操作としては、任意の操作が用いられてもよい。例えば、クリックの操作の代わりに、カーソルが同じ位置に存在する連続時間が所定の時間を超えるという操作(移動させないという操作)が用いられてもよい。また、例えば、タッチパネルなどにおいて、カーソルの代わりに、人の指などが用いられてもよい。
一例として、図3に示されるような画像211において、検出された複数のブロブ231〜248に連続番号が付与されている場合、画像処理装置23は、ユーザーにより所定の操作(例えば、所定のキーの押下など)が行われるごとに、連続番号にしたがって、指定されるブロブを順次切り替える、構成が用いられてもよい。
他の例として、図4に示されるような特徴情報テーブル画像311において、画像処理装置23は、ユーザーにより所定の方向(例えば、上、または、下)に対応するキーの操作が行われるごとに、当該方向に1つずつ、指定される行を順次切り替える、構成が用いられてもよい。なお、行の代わりに列が用いられる場合には、上下の代わりに左右が用いられる。
また、本実施形態では、検出された複数のブロブ231〜248のうちの1個のみが指定される場合ばかりでなく、検出された複数のブロブ231〜248のうちの2個以上が同時に指定される場合があってもよい。
また、本実施形態では、検出された複数のブロブ231〜248のうちで、指定されたブロブに関する情報について強調表示を行うが、他の構成例として、検出されたすべてのブロブ231〜248に関する情報について強調表示を行う構成が用いられてもよい。
<ロボットシステムにおいて行われる表示処理の手順の一例>
図6は、本発明の一実施形態に係るロボットシステム1において行われる表示処理の手順の一例を示す図である。
(ステップS1)
まず、ロボットシステム1において、画像を取得する。具体的には、ベルトコンベアー51に載せられて移動させられている対象物61−1〜61−4の画像を、カメラ22により撮像する。そして、ステップS2の処理へ移行する。
(ステップS2)
次に、ロボットシステム1において、画像処理装置23により行われる所定の画像処理の対象範囲(測定範囲)として、カメラ22により撮像された画像における所定の範囲(測定範囲)の指定が受け付けられる。そして、ステップS3の処理へ移行する。なお、本実施形態において、当該対象範囲は、サーチウインドウとも呼ばれる。
ここで、この指定は、例えば、ユーザーにより行われてもよく、または、自動的に行われてもよい。この指定は、例えば、開発用PC601において行われる。
(ステップS3)
画像処理装置23は、カメラ22により撮像された画像の情報について、所定の画像処理を行う。本実施形態では、画像処理装置23は、当該画像処理として、当該画像においてブロブを検出する処理を行う。画像処理装置23は、当該画像処理の結果の情報をロボット制御装置12を介して開発用PC601に送信する。開発用PC601は、当該情報を受信する。そして、ステップS4の処理へ移行する。
(ステップS4)
開発用PC601では、検出されたブロブに関して、ブロブの識別情報(ID)の初期値の指定を受け付ける。そして、ステップS5の処理へ移行する。
ここで、この指定は、例えば、自動的に行われるが、ユーザーにより行われる操作に基づいて行われてもよい。本実施形態では、ブロブの識別情報の初期値として、0が指定される。
(ステップS5)
画像処理装置23は、指定された識別情報に対応するブロブに関する情報を表示するように制御する。そして、ステップS6の処理へ移行する。
本実施形態では、画像処理装置23は、図3に示されるようなブロブ検出結果の画像211を表示するとともに、指定された識別情報に対応する図4に示されるような特徴情報テーブル画像311を表示するように制御する。当該画像211および当該特徴情報テーブル画像311には、指定された識別情報に対応するブロブに関する情報が含まれる。
(ステップS6)
画像処理装置23は、ステップS5の処理において、指定された識別情報に対応するブロブに関する情報を表示する場合に、当該情報を強調して表示するように制御する。そして、ステップS7の処理へ移行する。
本実施形態では、画像処理装置23は、図3に示されるようなブロブ検出結果の画像211を表示する場合に、指定された識別情報に対応するブロブの輪郭を強調して表示するように制御する。本実施形態では、画像処理装置23は、図4に示されるような特徴情報テーブル画像311を表示する場合に、指定された識別情報に対応するブロブの行を強調して表示するように制御する。
なお、ステップS5およびステップS6における表示の処理において、初期の状態のとき、または、指定された識別情報に対応するブロブに関する情報が存在しないときなどには、他の情報が表示されてもよい。
(ステップS7)
画像処理装置23は、ユーザーにより行われる操作(例えば、開発用PC601における操作)に基づいて、画像(ここでは、図3に示されるような画像211を例とする。)において指定された位置の情報を受け付ける。そして、ステップS8の処理へ移行する。
本実施形態では、この指定を行う操作として、操作部(例えば、マウスあるいはタッチパネルなど)に対するクリックの操作が用いられる。
(ステップS8)
画像処理装置23は、画像211において指定された位置(本実施形態では、クリックされた位置)が、いずれかのブロブに対応する位置であるか否かを判定する。
この判定の結果、画像処理装置23は、画像211において指定された位置が、いずれかのブロブに対応する位置である場合(ステップS8:YES)、ステップS9の処理へ移行する。
一方、この判定の結果、画像処理装置23は、画像211において指定された位置が、いずれかのブロブに対応する位置ではない場合(ステップS8:NO)、ステップS11の処理へ移行する。なお、画像処理装置23は、例えば、位置の指定の受け付けが無い状態が所定の時間だけ継続した場合においても、ステップS11の処理へ移行してもよい。
(ステップS9)
画像処理装置23は、画像211において指定された位置に対応するブロブの識別情報を取得(特定)する。そして、ステップS10の処理へ移行する。
(ステップS10)
画像処理装置23は、取得された識別情報を指定する。そして、ステップS5の処理へ移行する。
(ステップS11)
画像処理装置23は、ユーザーにより行われる操作(例えば、開発用PC601における操作)に基づいて表示処理の終了の指示を受け付けたか否かを判定する。
この判定の結果、画像処理装置23は、表示処理の終了の指示を受け付けたと判定した場合(ステップS11:YES)、表示処理を終了する。
一方、この判定の結果、画像処理装置23は、表示処理の終了の指示を受け付けていないと判定した場合(ステップS11:NO)、ステップS7の処理へ移行する。
ここで、表示処理の終了の指示をユーザーにより与えるための操作としては、任意の操作が用いられてもよく、例えば、画像211あるいは他の部分に設けられた所定のボタンをクリックする操作が用いられてもよい。他の例として、画像処理装置23は、所定のタイミングで、表示処理の終了の指示を受け付けるためのボタンなどを表示して、当該ボタンなどに対する操作の有無に応じて、表示処理の終了の指示の有無を判定してもよい。
<所定の処理の条件の設定>
開発用PC601は、ロボット11により行われる所定の処理の条件を設定する。例えば、開発用PC601は、表示装置621により表示される情報の一部または全部に基づいて、ロボット11により行われる所定の処理の条件を設定する。例えば、開発用PC601は、当該条件の情報を記憶部(当該開発用PC601の記憶部)に記憶する。
ここで、当該所定の処理は、例えば、表示装置621により表示される情報の一部または全部に基づいて行われる処理であり、一例として、対象物(図1の例では、対象物61−1〜61−4)あるいはノイズなどについて検査を行う処理であってもよく、または、対象物(図1の例では、対象物61−1〜61−4)をピッキングする処理(対象物を選んで取り出す処理)であってもよい。また、当該所定の処理は、例えば、表示装置621により表示される情報であってユーザーにより指定(選択)された情報に基づいて行われる処理である。
また、所定の処理の条件としては、例えば、当該所定の処理で使用されるパラメーター(プロパティー)の値または範囲が用いられてもよい。
一例として、対象物(ワークの一例)であると認識(判定)するための情報が、所定の処理の条件として用いられてもよい。
具体例として、対象物の候補の面積が上限値(上限に対応する所定の閾値)と下限値(下限に対応する所定の閾値)との間の範囲にある場合に、当該候補は対象物であると判定する条件が用いられてもよい。この場合、開発用PC601は、上限値を表すパラメーターの値および下限値を表すパラメーターの値(または、当該範囲を表すパラメーターの値)を設定する。
ここで、開発用PC601は、例えば、ユーザーにより行われる操作に基づいて、条件を設定してもよく、または、あらかじめ定められた手順にしたがって、自動的に、条件を設定してもよい。あるいは、開発用PC601では、ユーザーがパラメーターの値などをプログラム(ロボット制御装置12を動作させるプログラム)に記述することで、条件が設定されてもよい。
ユーザーは、例えば、表示装置621により表示される情報の一部または全部に基づいて、所定の処理の条件を設定する。当該情報は、例えば、検出されたそれぞれのブロブの面積の情報であってもよく、あるいは、検出されたそれぞれのブロブに関する他の情報であってもよい。一例として、ユーザーは、検出されたそれぞれのブロブの面積の情報を見て、対象物として判定するための面積に関する閾値(例えば、上限値あるいは下限値)を設定することが可能である。
なお、対象物であることを判定する処理は、実質的に、対象物ではないことを判定する処理と同様である。このため、対象物であることを判定するための条件は、対象物ではないことを判定するための条件として用いられてもよい。つまり、開発用PC601、画像処理装置23あるいはロボット制御装置12では、対象物であることを判定するための条件に基づいて、一例として、対象物であると判定したブロブを抽出して処理することが可能であり、他の例として、対象物ではない(例えば、ノイズなど)と判定したブロブを抽出して処理することが可能である。
<所定の処理>
ロボット11により行われる所定の処理は、任意の処理であってもよい。
一例として、ロボット11により、対象物、あるいは、対象物以外の物について、検査の処理が行われてもよい。例えば、ロボット制御装置12は、ロボット11を制御して、対象物であると判定した物あるいは他の物をロボット11のエンドエフェクターE1により把持して移動させることで、あらかじめ定められた所定の検査を行うための動作を実行する。
他の例として、ロボット11により、対象物、あるいは、対象物以外の物について、ピッキングの処理が行われてもよい。例えば、ロボット制御装置12は、ロボット11を制御して、対象物であると判定した物あるいは他の物をロボット11のエンドエフェクターE1により選択的に把持して持ち上げることで、ピッキングの動作を実行する。
このようなピッキングにおいて、ロボット制御装置12は、例えば、操作受付部152によって、ユーザーから、ピッキングの対象とする1個のブロブの指定を受け付け、それ以降は、ロボット制御部153によって、当該ブロブの面積に対して同じ面積を有するブロブ(あるいは、所定の相違の範囲内の面積を有するブロブ)を選択的にピッキングするように制御する、構成が用いられてもよい。これにより、例えば、異なるサイズ(面積)を有する複数の対象物がベルトコンベアー51(あるいは、ステージなど)に存在する場合に、最初の1回はユーザーが所望のサイズの対象物を選択し、その後は、自動的に、当該サイズと同じ(あるいは、近い)サイズを有する対象物を選択してロボット11によりピッキングすることが可能である。
<ロボットシステムにおいて行われる動作の例>
ロボットシステム1において行われる動作の例を示す。
まず、カメラ22により画像の取り込みを行う。画像処理装置23は、取り込まれた画像の情報を開発用PC601に送信し、開発用PC601は当該画像の情報を表示装置621の画面に出力(表示)する。ユーザーは、当該画面において、ブロブの検出を行う領域(測定範囲)を指定する。画像処理装置23は、指定された測定範囲において、ブロブを検出する処理を実行する。また、画像処理装置23は、ブロブの識別情報の初期値として0を設定する。
このとき、例えば、ブロブ検出処理時における条件において、面積が大きいものから小さいものへの順に識別情報(本実施形態では、連続番号)を付与することが設定されている場合、検出されたブロブのうちで面積が最も大きいブロブ(識別情報が0であるブロブ)に関する情報が強調して表示される。
その後、他のブロブが指定されると、指定されたブロブに関する情報が強調して表示される。
ここで、検出されるブロブ231〜248には、対象物61−1〜61−4に対応するブロブ244〜247ばかりでなく、それ以外の物(傷あるいは色むらなど)に対応するブロブ231〜243、248が含まれ得る。
本実施形態では、ユーザーがブロブの情報を得ることを希望する場合には、ユーザーは該当するブロブに対応する位置にカーソルを合わせてクリックすることで、当該ブロブに関する情報を表示させることができる。また、本実施形態では、指定されたブロブに関する情報は、強調して表示される。指定されたブロブに関する情報としては、例えば、図4に示される特徴情報テーブル画像311のように、結果のリストの該当部をハイライトさせた情報が用いられてもよく、または、図5に示される特徴情報画像411のように、指定されたブロブのみに関する情報が用いられてもよい。
本実施形態では、ブロブの検出結果の情報に基づいて、ロボット11により検査あるいはピッキングなどの処理が行われる。一例として、ユーザーは、ブロブに対応する物が対象物であるか否かを判定する条件を設定するために、検出された特定のブロブをクリックして、当該ブロブに関する値(面積などの数値)を参考値(例えば、正しい対象物であるという参考値)として利用することが可能である。また、本実施形態では、クリックされたブロブに関する情報について強調表示(例えば、輪郭あるいは所定の色などの表示)が行われるため、ユーザーは、誤ったブロブをクリックしても、その間違いにすぐに気付くことが可能である。
<ロボットシステムにおいて行われる条件設定を含む動作の流れの例>
図7は、本発明の一実施形態に係るロボットシステム1において行われる条件設定を含む動作の手順の一例を示す図である。
なお、図6に示される処理フローと、図7に示される処理フローとは、例えば、独立して行われてもよく、または、両方が並列して行われてもよい。例えば、図6に示される処理フローにおけるステップS1〜ステップS3の処理と、図7に示される処理フローにおけるステップS31の処理とは、共通の処理であってもよい。
(ステップS31)
画像処理装置23は、カメラ22により撮像された画像について、ブロブを検出する。そして、ステップS32の処理へ移行する。
(ステップS32)
画像処理装置23は、ブロブの検出結果を開発用PC601に送信し、開発用PC601は当該検出結果を表示装置621に表示する。この表示は、テーブル(例えば、表形式のテーブル)などを用いて行われてもよい。ユーザーは、この表示の内容(ブロブの検出結果)を見て確認する。そして、ステップS33の処理へ移行する。
(ステップS33)
開発用PC601は、ブロブに関する条件の設定を行う。そして、ステップS34の処理へ移行する。
例えば、ユーザーは、ブロブの検出処理(あるいは、ブロブサーチ処理)においてプロパティーを入力することが可能な画面を用いて、先に確認した情報(ブロブの検出結果)に基づいて、ブロブの面積の最小値、最大値などの設定を行うことが可能である。
なお、このような条件の設定は、例えば、ユーザーにより行われる操作に基づいて行われてもよく、または、開発用PC601により自動的に行われてもよい。
一例として、開発用PC601は、画像処理装置23によって生成されたGUI(Graphical User Interface)の画面を表示装置621に表示して、当該GUIを介して、ユーザーから所望の条件を受け付けて設定してもよい。
本実施形態では、このような条件の設定内容に基づいて、ロボット11の動作が行われる。
(ステップS34)
画像処理装置23は、ブロブをサーチする処理(ブロブサーチ処理)を行う。そして、ステップS35の処理へ移行する。
なお、本例では、ブロブ検出処理によりブロブを検出し、その後、条件が設定された後にブロブサーチ処理により条件に合ったブロブをサーチして検出する例を示すが、ブロブ検出処理とブロブサーチ処理とは、例えば、同様な処理であってもよい。
(ステップS35)
画像処理装置23は、ブロブサーチ処理の結果(リザルト)を開発用PC601に送信し、開発用PC601は当該結果を表示装置621に表示する。そして、ステップS36の処理へ移行する。当該結果として、例えば、ブロブの座標および面積、あるいは、設定された条件に対する良否の結果などが含まれてもよい。一例として、設定された条件として面積の最大、最小が用いられる場合には、ブロブの面積が当該最小と当該最大の範囲にある場合には当該ブロブは良と判定され、それ以外の場合には当該ブロブは不良として判定される。
(ステップS36)
ロボット制御装置12(あるいは、開発用PC601)は、前記したブロブサーチ処理の結果(リザルト)を読み出す。そして、ステップS37の処理へ移行する。この読み出しは、例えば、VGetの命令(コマンド)を用いて行われてもよい。
また、開発用PC601(あるいは、他の構成例として、ロボット制御装置12)は、読み出された当該結果に基づいてロボット制御装置12による制御が行われるように、ロボット制御装置12による制御アルゴリズム(例えば、プログラム)を設定する。例えば、開発用PC601(あるいは、他の構成例として、ロボット制御装置12)は、良と判定されたブロブを処理対象とするような処理の条件を設定することが可能である。
(ステップS37)
ロボット制御装置12は、これにより得られた情報(ブロブの座標、良否の判定結果など)に基づいて、ロボット11の動作を制御する。ロボット11の動作としては、例えば、移動、あるいは、把持などがある。
なお、ロボット制御装置12は、前記したブロブサーチ処理の結果が不良であるブロブについては処理を行わない、といった判定を行うことも可能である。
ここで、条件の設定は、例えば、ロボット制御装置12において行われてもよい。一例として、ユーザーがロボット11の動作のコマンドに所望の条件に合った数値を入力することで、当該条件を設定してもよい。
<画面の例>
図8〜図15は、それぞれ、本発明の一実施形態に係るブロブの処理において表示される画面2001〜2007の例を示す図である。
ここで、これらの画面2001〜2007の概略的な構成は同じであり、これらの画面2001〜2007は、画像表示部2021と、プロパティー設定表示部2022と、検出結果表示部2023と、アイコン表示部2024と、オブジェクト実行ボタン3011を含む。画像表示部2021と、プロパティー設定表示部2022と、検出結果表示部2023のそれぞれの内部に表示される情報は、処理の状況などに応じて変化し得る。
画像表示部2021は、画像を表示する部分である。
プロパティー設定表示部2022は、プロパティーを設定する欄を表示する部分である。
検出結果表示部2023は、検出結果を表示する部分である。
アイコン表示部2024は、複数のアイコンを表示する部分である。
オブジェクト実行ボタン3011は、処理を実行させるボタンである。
本例では、開発用PC601が制御することで、画像処理装置23による画像処理および表示装置621による表示が行われる。
まず、図8に示される画面2001が表示される。
図8の例では、入力された画像が画像表示部2021に表示されている。当該画像は、例えば、撮像画像から得られた二値化画像(例えば、白黒の画像)であってもよい。図8の例では、当該画像は、一定間隔で縦と横に並んだ黒丸を含む画像である。
ユーザーにより行われる操作に応じて、カーソル2051の位置が所定のアイコン2041の位置に合わされて指定(例えば、クリックなど)されると、当該アイコン2041に対応付けられた処理が行われる。
ここで、当該所定のアイコン2041は、画像に基づいてブロブを検出する処理に対応付けられている。
次に、図9に示される画面2002が表示される。
ブロブを検出する処理において、ユーザーにより行われる操作に応じて、カーソル2051によって画面2002(例えば、画像表示部2021の領域)が指定(例えば、クリックなど)されると、画像表示部2021においてサーチウインドウ(SearchWin)2111が表示される。
ここで、サーチウインドウ2111は、画像表示部2021に表示される画像においてブロブの検出の処理を行う領域(測定範囲)を表す枠である。サーチウインドウ2111は、例えば、周囲とは異なる色の枠であってもよく、赤色などであってもよい。
また、サーチウインドウ2111のプロパティーの値(例えば、大きさ、形状などの値)は、初期では、デフォルト値に設定される。当該デフォルト値は、あらかじめ定められた値であり、ユーザーにより行われる操作に応じて変更され得る。
図9の例では、プロパティー設定表示部2022に、サーチウインドウ2111のプロパティーの値が表示される。このプロパティーの値は、ユーザーにより行われる操作に応じて変更され得る。
図9の例では、サーチウインドウ2111のプロパティーの値(設定値)として、角度(Angle)、重心位置(または、図心位置)のX座標値(CenterX)、重心位置(または、図心位置)のY座標値(CenterY)、高さ方向の長さ(Height)、左側の位置(Left)、高さ方向の上側の位置(Top)、形状のタイプ(Type)、横方向の幅(Width)、探索するサイズ(Size To Find)、ソート(Sort)、自動的な閾値判定(ThresholdAuto)がある。
ここで、画像表示部2021の領域はXY直交座標系の平面で表され、X座標が横方向に対応しており、Y座標が高さ方向(縦方向)に対応している。
また、図9の例では、形状のタイプ(Type)として、矩形(Rectangle)が用いられているが、他の形状が用いられてもよく、例えば、円あるいは楕円などの形状が用いられてもよい。
また、図9の例では、探索するサイズ(Size To Find)として最大のもの(Largest)が設定されており、ソート(Sort)として不要(None)が設定されており、自動的な閾値判定(ThresholdAuto)として失敗(False)が設定されている。
次に、図10に示される画面2003が表示される。
当該画面2003では、図9に示される画面2002に対して、ユーザーにより行われる操作に応じて、カーソル2051が移動させられている。カーソル2051が移動させられると、その移動に応じて、画像表示部2021においてサーチウインドウ2111が変化(移動、および、拡大縮小)させられる。
図10の例では、サーチウインドウ2111が、画像表示部2021と同じ大きさ(または、ほぼ同じ大きさ)となるように拡大されている。
次に、ユーザーにより行われる所定の操作に応じて、ブロブの検出が行われる。当該所定の操作は、カーソル2051をオブジェクト実行ボタン3011の位置に合わせて指定(例えば、クリックなど)する操作である。
すると、図11に示される画面2004が表示される。画像表示部2021には、プロパティー設定表示部2022に表示されたプロパティーの設定内容に基づいて実行されたブロブ検出処理の結果が表示される。
図11の例では、画像表示部2021には、検出されたブロブ4011〜4013(検出された複数のブロブのうち一部のみに符号を付してある。)が表示される。この検出結果では、対象となる画像に含まれる黒丸に対応するブロブ4011以外に、ノイズなどにより検出されたブロブ4012、4013が含まれる。
なお、図11の例では、検出されたブロブ4011〜4013は、四角形に×を記したマークで表されている。
ここで、図11の例では、プロパティーとして、検出する最大の領域(MaxArea)、検出する最小の領域(MinArea)、名称(Name)、探索する数(Number of Find)、パスカラー(PassColor)、パスタイプ(PassType)、ポラリティー(Polarity)、リジェクトオンエッジ(RejectOnEdge)がある。
例えば、検出する最大の領域(MaxArea)は200000となっており、検出する最小の領域(MinArea)は25となっている。本例では、これらの領域は面積(単位は、例えば、ピクセルの数)で表されており、面積が25以上200000以下のブロブが検出対象となっている。
また、探索する数(Number of Find)としては、すべて(All)となっている。
本例では、検出された複数のブロブが、面積の大きい方から順に並べられている。図11の例では、面積が最大であるブロブの検出結果が1番目の情報として検出結果表示部2023に表示されている。
また、図11の例では、検出結果表示部2023に、それぞれのブロブの検出結果が表示される。検出結果として、角度(Angle)、面積(Area)、カメラX(CameraX)、カメラY(CameraY)、コンパクトネス(Compactness)、発見されたか否か(Found)、ファウンドオンエッジ(FoundOnEdge)、ホール(Holes)、外形(MajorDiameter)、最大のフェレ径(MaxFeretDiameter)、最大のX座標値(MaxX)、最大のY座標値(MaxY)がある。
次に、ユーザーにより行われる所定の操作に応じて、画像表示部2021に表示される検出結果(検出結果の画像)が拡大されたとする。当該所定の操作は、カーソル2051を用いて、拡大率(縮小も同様)が選択される操作である。
すると、図12に示される画面2005が表示される。
図12の例では、図11の例に対して、画像表示部2021に表示される検出結果が拡大されている。
次に、ユーザーにより行われる所定の操作に応じて、画像表示部2021に表示される1個のブロブ4013が指定されたとする。当該所定の操作は、カーソル2051をブロブ4013の位置に合わせて指定(例えば、クリックなど)する操作である。
すると、図13に示される画面2006が表示される。
図13の例では、指定されたブロブ4013に関する検出結果が検出結果表示部2023に表示されている。これにより、ユーザーは、ノイズなどであるブロブ4013に関する情報を把握することができる。
例えば、指定されたブロブ4013の面積は111.0である。
次に、ユーザーにより行われる所定の操作に応じて、プロパティー設定表示部2022において、検出する最小の領域(MinArea)が変更されたとする。当該所定の操作は、カーソル2051を該当する欄の位置に合わせて指定(例えば、クリックなど)し、値を入力する操作である。
この場合、図14に示される画面2007が表示される。
図14の例では、検出する最小の領域(MinArea)として150が設定されている。これにより、図14の例では、面積が150以上200000以下のブロブが検出対象となり、ノイズ等部分4021、4022(ノイズなどによるブロブ4012、4013に対応する部分)が検出されていない。
すなわち、本例では、ユーザーは、ノイズなどによるブロブ4012、4013を指定(選択)することで、その情報(本例では、面積)を調べることができ、そして、当該情報に基づいて、ノイズ等部分4021、4022をブロブサーチ処理で検出しない設定とすることが可能である。
ここで、図7に示される処理フローでは、例えば、ステップS31の処理(ブロブの検出)において図8〜図10に示される画面2001〜2003に関する処理が行われ、ステップS32の処理(ブロブの検出結果の表示)において図11に示される画面2004に関する処理が行われ、ステップS33の処理(ブロブに関する条件の設定)において図12〜図14に示される画面2005〜2007に関する処理が行われる。なお、図14に示される画面2007に関して、ブロブサーチの処理および当該処理の結果の表示は、ステップS34〜ステップS35で行われる。
<ロボットシステムのハードウェア構成の例>
図15は、本発明の一実施形態に係るロボットシステム1における各装置のハードウェア構成の一例を示す図である。なお、図15の例では、図1に示される表示装置24、621とそのケーブル42、641については図示を省略してある。
図15には、カメラ22と、画像処理装置23と、ロボット制御装置12と、ロボット11と、操作キー602と、開発用PC601と、カメラ22と画像処理装置23とを通信可能に接続するケーブル41と、画像処理装置23とロボット制御装置12とを通信可能に接続するケーブル32と、ロボット11とロボット制御装置12とを通信可能に接続するケーブル31と、開発用PC601とロボット制御装置12とを通信可能に接続するケーブル33と、操作キー602とロボット制御装置12とを通信可能に接続するケーブル34を示してある。
ここで、それぞれのケーブル41、31、32、33、34は、例えば、イーサネット(登録商標)のケーブルであってもよく、また、例えば、接続の手法として、USB(Universal Serial Bus)が用いられてもよい。なお、他のケーブル42、641についても同様である。
ロボット制御装置12は、ハードウェア構成の概略として、CPU(Central Processing Unit)711と、ROM(Read Only Memory)712と、RAM(Random Access Memory)713と、4個のインターフェイス(I/F)714〜717を備える。
4個のインターフェイス714、715、716、717は、それぞれ、ケーブル32、ケーブル31、ケーブル33、ケーブル34と接続される。
ロボット11は、インターフェイス(I/F)751を備える。インターフェイス751は、ケーブル31と接続される。当該ケーブル31を介して、ロボット制御装置12からロボット11へ駆動信号が送信され、また、ロボット11からロボット制御装置12へ力覚センサー92などのセンサーの検出情報が送信される。
操作キー602は、ロボット制御装置12とは別体であり、ユーザーにより行われる操作を受け付ける。操作キー602は、例えば、処理の実行を指示するスイッチのキーなどを有してもよい。操作キー602は、I/O(Input/Output)の機器の一例である。
画像処理装置23は、ハードウェア構成の概略として、CPU731と、ROM732と、RAM733と、2個のインターフェイス(I/F)734〜735を備える。
2個のインターフェイス(I/F)734、735は、それぞれ、ケーブル32、ケーブル41と接続される。
開発用PC601は、ハードウェア構成の概略として、CPU811と、ROM812と、RAM813と、インターフェイス(I/F)814を備える。インターフェイス(I/F)814は、ケーブル33と接続される。
図15に示されるロボットシステム1において行われる動作の例を(動作手順例1)〜(動作手順例6)として示す。なお、この動作の例は一例であり、他の任意の動作が用いられてもよい。
本実施形態では、ロボット11を動作させるためのプログラムを作成するときには、開発用PC601がロボット制御装置12と接続された状態とされる。但し、量産の段階などでは、開発用PC601がロボット制御装置12から外される場合がある。
(動作手順例1)
開発用PC601は、画像処理装置23に対して、画像を取得するように命令を出力し、これにより、画像を取得する。この命令は、開発用PC601と画像処理装置23との間で、ロボット制御装置12により中継される。また、当該画像は、カメラ22により撮像される画像である。
(動作手順例2)
開発用PC601は、取得された画像に基づいて、ブロブの画像(ブロブ画像)を得て、当該ブロブ画像に基づいてブロブの検出条件を設定する。この設定は、例えば、ユーザーにより行われてもよく、または、装置(例えば、開発用PC601)により自動的に行われてもよい。一例として、図8〜図14に示される画面2001〜2007を用いて、検出条件であるプロパティーの設定が行われてもよい。
(動作手順例3)
開発用PC601は、ブロブの検出条件の設定内容に基づいて、設定された条件が反映されたプログラムを作成して、当該プログラムをロボット制御装置12の記憶部113(例えば、ROM712)に記憶(保存)する。
(動作手順例4)
ロボット制御装置12は、画像処理装置23に対して、ブロブサーチ処理の命令を出力する。これにより、画像処理装置23において、ブロブサーチ処理が行われる。
(動作手順例5)
画像処理装置23は、ブロブサーチ処理の結果の情報をロボット制御装置12に送信する。これにより、ロボット制御装置12は、画像処理装置23から、ブロブサーチ処理の結果の情報を取得する。
(動作手順例6)
ロボット制御装置12は、取得されたブロブサーチ処理の結果の情報に基づいて、ロボット11の動作を制御する。この際、ロボット制御装置12は、ロボット11に対して直接的な駆動信号を出力し、また、ロボット11からセンサーの検出結果の情報を取得して必要に応じてフィードバック制御などを行う。
[開発用PCと画像処理装置とロボット制御装置]
本実施形態では、画像処理装置23が所定の画像処理(本実施形態では、撮像画像に基づいてブロブを検出するための処理)を実行し、当該画像処理の結果の情報に基づいて開発用PC601が所定の処理の条件を設定し、ロボット制御装置12がロボット11による当該処理の実行を制御する。
ここで、画像処理装置23により行われる所定の画像処理の内容としては、本実施形態における画像処理の内容に限られず、例えば、本実施形態における画像処理の内容と比べて、少なくてもよく、多くてもよく、または、異なる内容であってもよい。この場合に、例えば、画像処理装置23により行われる処理については開発用PC601あるいはロボット制御装置12では行われなくてもよく、また、開発用PC601あるいはロボット制御装置12により行われる処理については画像処理装置23では行われなくてもよい。
また、本実施形態では、開発用PC601が開発時における処理の制御を行う構成としたが、他の構成例として、開発用PC601が有する機能のすべてまたは一部がロボット制御装置12あるいは画像処理装置23に備えられてもよい。
つまり、開発用PC601により行われる処理と画像処理装置23により行われる処理とロボット制御装置12により行われる処理とを合わせた全体の処理において必要な処理が実行されれば、それぞれの装置(開発用PC601、画像処理装置23、ロボット制御装置12)により行われる処理の分担は様々であってもよい。
一例として、ロボット制御装置12に画像処理装置23の機能を一体化してもよく、つまり、ロボット制御装置12が画像処理装置23の機能を含んでもよい。
ここで、本実施形態では、プログラムの開発段階では、ブロブサーチの設定、結果の表示などは、すべて、開発用PC601の表示装置621(モニター)に表示される。具体例として、図3〜図5、図8〜図14に示される画像(画面)のすべては、開発用PC601の表示装置621に表示される。
なお、これらの画像(画面)が、補助的に、画像処理装置23により表示装置24の画面に表示されてもよい。
[他の構成例に係るロボットシステム]
図16は、本発明の一実施形態(他の構成例)に係るロボットシステム1001の概略的な構成例を示す図である。
ロボットシステム1001は、図1に示されるロボットシステム1と比べて、図1に示される単腕のロボット11の代わりに、双腕のロボット1011を備える点で、相違しており、他の点については同様である。
以下では、ロボットシステム1001について、図1に示されるロボットシステム1とは相違する点について詳しく説明する。
ロボットシステム1001は、ロボット1011と、支持部21と、カメラ22と、画像処理装置23と、表示装置24と、開発用PC601と、操作キー602と、表示装置621と、ロボット1011に備えられたロボット制御装置1111と画像処理装置23とを通信可能に接続するケーブル1131と、開発用PC601とロボット制御装置1111とを通信可能に接続するケーブル1132(図1の例におけるケーブル33に対応する。)と、操作キー602とロボット制御装置1111とを通信可能に接続するケーブル1133(図1の例におけるケーブル34に対応する。)と、カメラ22と画像処理装置23とを通信可能に接続するケーブル41と、画像処理装置23と表示装置24とを通信可能に接続するケーブル42と、開発用PC601と表示装置621とを通信可能に接続するケーブル641と、ベルトコンベアー51と、複数(図1の例では、4個を示してある。)の対象物61−1〜61−4と、テーブル71を備える。
[双腕のロボット]
ロボット1011は、上部にある頭部と、中央部にある胴体部と、下部にある台部(台の部分)と、胴体部に設けられた腕部を備える。
ロボット1011は、腕部として2本の腕を有する双腕のロボットである。
ロボット1011は、一方の腕側の構成として、第1マニピュレーターM11と、第1力覚センサー1071−1と、第1エンドエフェクターE11を備える。これらは一体化され、本実施形態では、第1マニピュレーターM11と第1エンドエフェクターE11との間に第1力覚センサー1071−1を備える。
ロボット1011は、他方の腕側の構成として、第2マニピュレーターM12と、第2力覚センサー1071−2と、第2エンドエフェクターE12を備える。これらは一体化され、本実施形態では、第2マニピュレーターM12と第2エンドエフェクターE12との間に第2力覚センサー1071−2を備える。
本実施形態では、一方の腕側の構成(第1エンドエフェクターE11が取り付けられた第1マニピュレーターM11)により7軸の自由度の動作を行うことが可能であり、他方の腕側の構成(第2エンドエフェクターE12が取り付けられた第2マニピュレーターM12)により7軸の自由度の動作を行うことが可能であるが、他の構成例として、6軸以下または8軸以上の自由度の動作を行う構成が用いられてもよい。
ここで、マニピュレーターM11、M12は、7軸の自由度で動作する場合、6軸以下の自由度で動作する場合と比較して取り得る姿勢が増えることによって、例えば、動作が滑らかになり、当該マニピュレーターM11、M12の周辺に存在する物体との干渉を容易に回避することができる。また、マニピュレーターM11、M12が7軸の自由度で動作する場合、当該マニピュレーターM11、M12の制御は、マニピュレーターM11、M12が8軸以上の自由度で動作する場合と比較して計算量が少なく容易である。このような理由から、本実施形態では、好ましい一例として、7軸の自由度で動作するマニピュレーターM11、M12が用いられている。
また、本実施形態では、胴体部は、腰の部分で、1軸の自由度で回転することが可能な構成である。
また、ロボット1011は、頭部の左右のそれぞれに設けられた2個のカメラ(第1カメラ1031−1、第2カメラ1031−2)と、第1マニピュレーターM11の所定部位に設けられたカメラ(第3カメラ1051−1)と、第2マニピュレーターM12の所定部位に設けられたカメラ(第4カメラ1051−2)を備える。
それぞれのカメラ(第1カメラ1031−1、第2カメラ1031−2、第3カメラ1051−1、第4カメラ1051−2)は、例えば、CCD(Charge Coupled Device)あるいはCMOS(Complementary Metal Oxide Semiconductor)等を用いたカメラである。
第1カメラ1031−1および第2カメラ1031−2は、それぞれ、頭部の動きに応じて動かされる。
第3カメラ1051−1および第4カメラ1051−2は、それぞれ、第1マニピュレーターM11および第2マニピュレーターM12のそれぞれの動きに応じて動かされる。
また、ロボット1011は、ロボット制御装置1111を備える。本実施形態では、ロボット1011は、台部の内部にロボット制御装置1111を備える。
ロボット制御装置1111は、ロボット1011の動作を制御する。ロボット制御装置1111は、例えば、第1マニピュレーターM11および第2マニピュレーターM12の動作を制御する。さらに、ロボット1011の腰などの部分の動作が可能な構成では、ロボット制御装置1111は当該腰などの部分の動作を制御する。
本実施形態では、第1カメラ1031−1、第2カメラ1031−2、第3カメラ1051−1および第4カメラ1051−2のそれぞれは、画像を撮像して、撮像された画像の情報をロボット制御装置1111に送信(出力)する。また、第1力覚センサー1071−1および第2力覚センサー1071−2のそれぞれは、第1エンドエフェクターE11および第2エンドエフェクターE12のそれぞれに作用する力およびモーメントのうちの一方または両方を検出して、検出結果の情報をロボット制御装置1111に送信(出力)する。ロボット制御装置1111は、これらの情報を受信(入力)し、受信された情報を、ロボット1011の動作を制御する際に、使用することが可能である。
ここで、第1カメラ1031−1、第2カメラ1031−2、第3カメラ1051−1、第4カメラ1051−2、第1力覚センサー1071−1および第2力覚センサー1071−2のそれぞれとロボット制御装置1111とは有線のケーブル(回線)を介して接続されており、当該回線を介して情報を通信することが可能である。なお、有線のケーブルの代わりに、無線の回線が用いられてもよい。
本実施形態では、第1マニピュレーターM11の位置および姿勢、第2マニピュレーターM12の位置および姿勢、および各カメラ(第1カメラ1031−1、第2カメラ1031−2、第3カメラ1051−1、第4カメラ1051−2)により撮像される画像について、座標系のキャリブレーションが行われている。
本実施形態では、ロボット制御装置1111は、設定されたプログラム(制御プログラム)にしたがって、ロボット1011の動作を制御する。ロボット制御装置1111は、ロボット1011の動作を実現するために必要な各種の情報を、ロボット1011(本体)に対して教示する。
具体例として、ロボット制御装置1111は、各マニピュレーターM11、M12の動作を制御することで、各エンドエフェクターE11、E12により物体を把持することが可能である。また、ロボット制御装置1111は、各エンドエフェクターE11、E12により把持された物体を移動させること、各エンドエフェクターE11、E12により把持された物体を所定位置に載置して離す(把持を解除する)こと、各エンドエフェクターE11、E12により把持された物体を加工(例えば、穴開けなど)すること、なども可能である。
本実施形態では、それぞれのエンドエフェクターE11、E12は、掌1091−1、1091−2および爪(指)1092−1、1092−2を備える。
[他の構成例に係るロボット制御装置]
図2を例とすると、本実施形態では、ロボット制御装置1111は、例えば、入力部111、出力部112、記憶部113、制御部114と同様な機能を備える。本実施形態では、ロボット制御装置1111は、2個のマニピュレーターM11、M12のうちの任意の一方を制御することが可能であり、また、2個のマニピュレーターM11、M12の両方を協調的に制御することが可能である。
なお、本実施形態では、例えば、カメラ22の代わりに、複数のカメラ1031−1〜1031−2、1051−1〜1051−2のうちの1個以上が用いられてもよい。
開発用PC601、双腕のロボット1011およびロボット制御装置1111においても、単腕のロボット11およびロボット制御装置12の場合と同様に、画像処理装置23により行われた所定の画像処理の結果の情報などに基づいて、所定の画像の情報を表示装置24、621の画面に表示すること、ユーザーにより行われる操作を受け付けること、ロボット1011により行われる所定の処理の条件を設定すること、設定された条件に基づいてロボット1011が動作を行うこと、などを実行する。
[実施形態のまとめ]
以上のように、本実施形態に係るロボットシステム1、1001では、表示情報において、所望の対象(本実施形態では、ブロブ)に関する画像がユーザーにより指定された場合に、当該対象に関する他の画像を表示する。また、本実施形態に係るロボットシステム1、1001では、当該他の画像に基づいて、ユーザーによりまたは自動的に、物体に関する処理の条件を設定し、ロボット11、1011により当該処理を実行する。
また、本実施形態に係るロボットシステム1、1001では、表示情報において、所望の対象に関する画像がユーザーにより指定された場合に、当該対象に関する画像を強調表示する。
本実施形態に係るロボットシステム1、1001では、所定の対象(本実施形態では、ブロブ)と、当該対象に関する画像と、が対応付けられており、例えば、表示情報において、複数の対象のなかから、所望の対象に関する画像(本実施形態では、当該対象自体の画像、または、面積あるいは位置などの数値を含む画像)がユーザーにより指定された場合に、当該画像の輪郭などが強調表示され、また、当該画像に関する他の画像(本実施形態では、面積あるいは位置などの数値を含む画像、または、当該対象自体の画像)が表示される。
このように、本実施形態に係るロボットシステム1、1001では、ユーザーは、所望の対象に関する画像を直感的に指定することで、当該対象に関する他の画像を表示させることができ、このような指定の操作がユーザーにとって容易である。
また、本実施形態に係るロボットシステム1、1001では、ユーザーによる画像(ここで、説明の便宜上、「画像G1」という。)の指定を受け付けるために表示される元の画像(ここで、説明の便宜上、「画像G0」という。)と、ユーザーによる画像(画像G1)の指定に応じて表示される他の画像(ここで、説明の便宜上、「画像G2」という。)とが同一の画面に表示されることで、これらの画像(画像G0、画像G2)の対応関係を視覚的に把握することをユーザーにとって容易にすることができる。
また、本実施形態に係るロボットシステム1、1001では、ユーザーにより指定された対象に関する画像が強調表示されることにより、複数の対象のなかで現在において指定されている対象に関する画像を把握することがユーザーにとって容易である。つまり、本実施形態に係るロボットシステム1、1001では、強調表示される画像を視覚的に目立たせることができ、当該画像をユーザーにとって把握し易くすることができる。
このように、本実施形態に係るロボットシステム1、1001では、ロボット11、1011において、ある画像に関する別の画像を表示し、当該別の画像の情報(一部または全部)を基に処理の条件を設定し、当該処理を行うことを効率的に行うことができる。
以上のような効果は、例えば、検出された対象の数が多いような場合にも発揮され、このような場合においても情報過多になることを防止することができる。
<本実施形態に係る効果の具体例>
ここで、本実施形態に係る効果の具体例を示す。
本実施形態と対比する技術の例(以下、「対比技術例」ともいう。)を説明する。
対比技術例では、図3に示されるような画像を表示する場合に、それぞれのブロブの画像の近くに、当該それぞれのブロブに割り振られた連続番号の数字(例えば、0、1、2、・・・)を表示する。ユーザーは、当該画像において所望のブロブの連続番号を見た後に、図3とは別の画面で図4に示されるような画像を見て、所望のブロブの連続番号に対応する面積などを読み取る。つまり、ユーザーは、図3に示されるような画像における数字を覚えておいて、当該数字に基づいて、図4に示されるような画像から所望の情報を探す必要がある。しかしながら、このような対比技術例では、多数(例えば、100個など)のブロブが検出された場合には、図3に示されるような画像に表示される数字が多数となって、ユーザーにとって見づらくなってしまう。また、このような対比技術例では、図3に示されるような画像において、ユーザーが数字(連続番号)を見間違う可能性があり、また、図4に示されるような画像において、リストをスクロールするなどして所望の数字(連続番号)を探す手間が生じる。
これに対して、本実施形態では、図3に示される画像においてブロブに対応する数字(連続番号)が表示されなくてもよいため、当該画像をユーザーにとって見易くすることができる。また、本実施形態では、ユーザーにより指定されたブロブに関する画像について、当該ブロブに関する他の画像が表示されるため、ユーザーによって所望のブロブの画像を探す手間を軽減することができる。
なお、本実施形態では、撮像された画像におけるブロブを検出する場合を示したが、本実施形態に係る技術は、他の場合に適用されてもよい。例えば、本実施形態の技術は、所定のパターンを検出する場合に適用されてもよい。所定のパターンとしては、例えば、画像における輝度情報に基づくパターンが用いられてもよく、一例として、輪郭のパターンが用いられてもよい。
<ロボットの例>
ロボットとしては、垂直多関節型の単腕ロボットあるいは双腕ロボット以外であってもよく、様々なロボットに適用されてもよい。
例えば、水平多関節型のロボット(スカラロボット)、または、直角座標ロボットが用いられてもよい。直角座標ロボットは、例えば、ガントリロボットである。
<構成例>
一構成例として、第1操作(指定の操作)を受け付け撮像された第1画像(一例として、図3に示される画像211)に含まれる第2画像(一例として、図3に示されるブロブ245の画像)が選択されると、第2画像に関する第3画像(一例として、図4に示される特徴情報テーブル画像311、または、他の例として、図5に示される特徴情報画像411)を表示し、第3画像の情報が受け付けられると、前記情報に基づき撮像されている物体に関する処理(例えば、検査の処理、あるいは、ピッキングの処理など)の条件が設定され、設定された条件に基づいて、当該処理を行うロボット(一例として、図1に示されるロボット11、または、他の例として、図16に示されるロボット1011)である。
一構成例として、ロボットにおいて、第2画像は、第1対象(図3の例では、ブロブ245に対応する対象)に対応する画像であり、第3画像は、第1対象に関する数値(図4および図5の例では、面積の数値、座標の数値)を含む。
一構成例として、ロボットにおいて、第1操作が受け付けられた場合、第1画像において第2画像の表示を強調する(図3の例では、輪郭261の強調表示)。
一構成例として、ロボットにおいて、第1画像とともに第3画像を表示する。
一構成例として、ロボットにおいて、第2画像は、第2対象(例えば、前記した第1対象と同じであってもよく、または、異なってもよい。)に対応する画像であり、第3画像は、第2対象に関する数値を含み、第2操作(指定の操作)を受け付け第3画像(一例として、図4に示される特徴情報テーブル画像311)に含まれる第2対象に関する第4画像(一例として、図4に示される特徴情報テーブル画像311における任意の行の画像)が選択されると、第4画像に関する第5画像(一例として、指定された行に対応する画像であり、例えば、第2対象のみに関する画像など)を表示する。
一構成例として、ロボットにおいて、第2操作が受け付けられた場合、第3画像において第4画像の表示を強調する。
一構成例として、ロボットにおいて、第3画像とともに第5画像を表示する。
一構成例として、以上のようなロボットに処理を行わせる、ロボット制御装置である(一例として、図1に示されるロボット制御装置12、または、他の例として、図16に示されるロボット制御装置1111)である。
一構成例として、以上のようなロボットと、ロボットを制御するロボット制御装置と、を備えるロボットシステム(一例として、図1に示されるロボットシステム1、または、図16に示されるロボットシステム1001)である。
他の例として、図8〜図14に示される画面2001〜2007に関する構成例を示す。
一構成例として、第1操作を受け付け撮像された第1画像(画像表示部2021に表示される画像)に含まれる第2画像(任意の部分の画像であり、例えば、ノイズなどの部分の画像)が選択されると、第2画像に関する第3画像(例えば、選択された部分に関する面積などの数値を含む画像)を表示し、第3画像の情報が受け付けられると、当該情報に基づき撮像されている物体に関する処理の条件が設定され、設定された条件に基づいて、前記処理を行うロボットである。
なお、以上に説明した装置(例えば、開発用PC601、画像処理装置23、ロボット制御装置12、1111など)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体(記憶媒体)に記録(記憶)し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、オペレーティングシステム(OS:Operating System)あるいは周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disc)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)あるいは電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1、1001…ロボットシステム、11、1011…ロボット、12、1111…ロボット制御装置、21…支持部、22、1031−1〜1031−2、1051−1〜1051−2…カメラ、23…画像処理装置、24、621…表示装置、31〜34、41〜42、641、1131〜1133…ケーブル、51…ベルトコンベアー、61−1〜61−4…対象物、71…テーブル、91…基端、92、1071−1〜1071−2…力覚センサー、601…開発用PC、602…操作キー、111…入力部、112…出力部、113…記憶部、114…制御部、151…情報取得部、152…操作受付部、153…ロボット制御部、211…画像、231〜248…ブロブ、261…輪郭、271、2051…カーソル、311…特徴情報テーブル画像、321…指定行、411…特徴情報画像、711、731、811…CPU、712、732、812…ROM、713、733、813…RAM、714〜717、734〜735、814…インターフェイス、2001〜2007…画面、2021…画像表示部、2022…プロパティー設定表示部、2023…検出結果表示部、2024…アイコン表示部、2041…アイコン、2111…サーチウインドウ、3011…オブジェクト実行ボタン、4011〜4013…ブロブ、4021〜4022…ノイズ等部分、1091−1〜1091−2…掌、1092−1〜1092−2…爪、M1、M11〜M12…マニピュレーター、E1、E11〜E12…エンドエフェクター

Claims (9)

  1. 第1操作を受け付け撮像された第1画像に含まれる第2画像が選択されると、前記第2画像に関する第3画像を表示し、
    前記第3画像の情報が受け付けられると、前記情報に基づき撮像されている物体に関する処理の条件が設定され、
    設定された条件に基づいて、前記処理を行うロボット。
  2. 前記第2画像は、第1対象に対応する画像であり、
    前記第3画像は、前記第1対象に関する数値を含む、
    請求項1に記載のロボット。
  3. 前記第1操作が受け付けられた場合、前記第1画像において前記第2画像の表示を強調する、
    請求項1または請求項2のいずれか1項に記載のロボット。
  4. 前記第1画像とともに前記第3画像を表示する、
    請求項1から請求項3のいずれか1項に記載のロボット。
  5. 前記第2画像は、第2対象に対応する画像であり、
    前記第3画像は、前記第2対象に関する数値を含み、
    第2操作を受け付け前記第3画像に含まれる前記第2対象に関する第4画像が選択されると、前記第4画像に関する第5画像を表示する、
    請求項1から請求項4のいずれか1項に記載のロボット。
  6. 前記第2操作が受け付けられた場合、前記第3画像において前記第4画像の表示を強調する、
    請求項5に記載のロボット。
  7. 前記第3画像とともに前記第5画像を表示する、
    請求項5または請求項6のいずれか1項に記載のロボット。
  8. 請求項1から請求項7のいずれか1項に記載のロボットに前記処理を行わせる、
    ロボット制御装置。
  9. 請求項1から請求項7のいずれか1項に記載のロボットと、
    前記ロボットを制御するロボット制御装置と、
    を備えるロボットシステム。
JP2016168961A 2016-08-31 2016-08-31 ロボット、ロボット制御装置およびロボットシステム Pending JP2018034241A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016168961A JP2018034241A (ja) 2016-08-31 2016-08-31 ロボット、ロボット制御装置およびロボットシステム
US15/689,424 US10562187B2 (en) 2016-08-31 2017-08-29 Robot, robot control device, and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016168961A JP2018034241A (ja) 2016-08-31 2016-08-31 ロボット、ロボット制御装置およびロボットシステム

Publications (1)

Publication Number Publication Date
JP2018034241A true JP2018034241A (ja) 2018-03-08

Family

ID=61241402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016168961A Pending JP2018034241A (ja) 2016-08-31 2016-08-31 ロボット、ロボット制御装置およびロボットシステム

Country Status (2)

Country Link
US (1) US10562187B2 (ja)
JP (1) JP2018034241A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6856583B2 (ja) 2018-07-25 2021-04-07 ファナック株式会社 センシングシステム、作業システム、拡張現実画像の表示方法、拡張現実画像の記憶方法、およびプログラム
JP6856590B2 (ja) 2018-08-31 2021-04-07 ファナック株式会社 センシングシステム、作業システム、拡張現実画像の表示方法、およびプログラム
CN110271006A (zh) * 2019-07-19 2019-09-24 北京农业智能装备技术研究中心 机械臂视觉引导方法及装置
JP7343329B2 (ja) * 2019-08-05 2023-09-12 ファナック株式会社 ワーク選定及びロボット作業を同時に行うロボット制御システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3891853B2 (ja) 2002-02-01 2007-03-14 株式会社ミツトヨ 画像測定装置及び画像測定装置用プログラム
US8073190B2 (en) * 2007-11-16 2011-12-06 Sportvision, Inc. 3D textured objects for virtual viewpoint animations
US8154633B2 (en) * 2007-11-16 2012-04-10 Sportvision, Inc. Line removal and object detection in an image
US8466913B2 (en) * 2007-11-16 2013-06-18 Sportvision, Inc. User interface for accessing virtual viewpoint animations
JP5086830B2 (ja) * 2008-02-08 2012-11-28 株式会社キーエンス 画像検査装置、画像検査方法、及びコンピュータプログラム
JP5603796B2 (ja) * 2011-02-10 2014-10-08 株式会社キーエンス 画像検査装置、画像検査方法、及びコンピュータプログラム
US9179182B2 (en) * 2011-04-12 2015-11-03 Kenneth J. Huebner Interactive multi-display control systems
US9142019B2 (en) * 2013-02-28 2015-09-22 Google Technology Holdings LLC System for 2D/3D spatial feature processing

Also Published As

Publication number Publication date
US20180056516A1 (en) 2018-03-01
US10562187B2 (en) 2020-02-18

Similar Documents

Publication Publication Date Title
US10306149B2 (en) Image processing apparatus, robot system, robot, and image processing method
US10562187B2 (en) Robot, robot control device, and robot system
JP6970797B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US10618181B2 (en) Robot control device, robot, and robot system
EP2963513B1 (en) Teaching apparatus and robot system
JP6744709B2 (ja) 情報処理装置、情報処理方法
JP6816364B2 (ja) 制御装置、ロボット、及びロボットシステム
US20150273689A1 (en) Robot control device, robot, robotic system, teaching method, and program
US20210162600A1 (en) Method of programming an industrial robot
JP2015182142A (ja) ロボット、ロボットシステム及び教示方法
US20130202212A1 (en) Information processing apparatus, information processing method, and computer program
US9595095B2 (en) Robot system
EP2752640A1 (en) Method and program for using gestures to control a coordinate measuring device
JP7261306B2 (ja) 情報処理装置、設定装置、画像認識システム、ロボットシステム、設定方法、学習装置、及び学習済みモデルの生成方法
JP2018144228A (ja) ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム
EP3290164A2 (en) Robot, robot control device, and robot system
US10969278B2 (en) Spectroscopic inspection method, image processing apparatus, and robot system
JP2018146347A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
US20230321823A1 (en) Robot control device, and robot system
US20230182292A1 (en) Program editing device
JP2015157343A (ja) ロボット、ロボットシステム、制御装置、および制御方法
CN115213894A (zh) 机器人图像的显示方法、显示系统以及记录介质
JP2016013590A (ja) 教示装置、及びロボットシステム
JPH1177568A (ja) 教示支援方法及び装置
US20220226982A1 (en) Method Of Creating Control Program For Robot, System Executing Processing Of Creating Control Program For Robot, And Non-Transitory Computer-Readable Storage Medium

Legal Events

Date Code Title Description
RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20180907

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181119