JP6486678B2 - 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム - Google Patents

画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム Download PDF

Info

Publication number
JP6486678B2
JP6486678B2 JP2014262241A JP2014262241A JP6486678B2 JP 6486678 B2 JP6486678 B2 JP 6486678B2 JP 2014262241 A JP2014262241 A JP 2014262241A JP 2014262241 A JP2014262241 A JP 2014262241A JP 6486678 B2 JP6486678 B2 JP 6486678B2
Authority
JP
Japan
Prior art keywords
image processing
end effector
program
robot
general
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.)
Active
Application number
JP2014262241A
Other languages
English (en)
Other versions
JP2016120565A (ja
Inventor
直哉 内山
直哉 内山
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.)
Keyence Corp
Original Assignee
Keyence 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 Keyence Corp filed Critical Keyence Corp
Priority to JP2014262241A priority Critical patent/JP6486678B2/ja
Priority to US14/956,414 priority patent/US10065320B2/en
Publication of JP2016120565A publication Critical patent/JP2016120565A/ja
Application granted granted Critical
Publication of JP6486678B2 publication Critical patent/JP6486678B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39369Host and robot controller and vision processing
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39397Map image error directly to robot movement, position with relation to world, base not needed, image based visual servoing
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39484Locate, reach and grasp, visual guided grasping
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40425Sensing, vision based motion planning
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40607Fixed camera to observe workspace, object, workpiece, global
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement

Landscapes

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

Description

本発明は、複雑なロボット動作制御プログラムを逐一コーディングすることなく、高い精度でロボットの動作を制御することができる画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラムに関する。
撮像装置によりロボットの作業領域を撮像して、撮像された画像内のワークの位置を検出し、検出されたワークの位置情報を撮像された画像に基づいて算出することで、ロボットの動作を高い精度で制御する制御システムが多々開発されている。例えば特許文献1では、撮像装置を含むセンサにより検出された情報に基づいてロボットの動作を制御するロボット制御装置が開示されている。また、特許文献2では、外部のコンピュータでコンパイルしたロードモジュール(ロボット動作制御プログラム)を送信することでロボットの動作を制御するロボット制御装置が開示されている。
このように従来のロボット制御システムでは、精緻な動作制御をするべく、画像処理装置において表示される座標系で算出された位置座標を、ロボットコントローラがエンドエフェクタを動作させる座標系の位置座標へと座標変換している。座標変換を行うための変換式を算出する処理をキャリブレーションと呼んでいる。ここで、エンドエフェクタとは、例えばワークを把持して固着できるロボットアームの先端部分を意味する。
ロボットのエンドエフェクタに対する動作(移動)命令は、画像処理装置が、撮像した画像に基づく位置座標を、キャリブレーション結果に基づいて実際の位置座標の座標値に変換する。画像処理装置は、変換された座標値とともに動作(移動)命令をロボットコントローラへ送信する。
特開平04−134501号公報 特開平09−091022号公報
ロボットコントローラがロボットを正しく動作させるためには、ロボットの動作プログラムをユーザが作成する必要がある。動作プログラムには、例えばロボットのエンドエフェクタを原点位置に復帰させる、エンドエフェクタを特定の位置に移動させる、ワークを把持する、ワークを解放する等の一連の動作がシーケンシャルに記述されている。
しかし、ユーザは、画像処理装置とのデータ通信を含む一連の動作についてもプログラムを作成する必要があり、ロボットの動作を制御するためには、ロボットコントローラ用の動作プログラムだけでなく、画像処理装置が関連する一連の動作についてもプログラムを作成する必要が生じる。したがって、システム全体の立ち上げまでに相当の時間を要するという問題点があった。
本発明は斯かる事情に鑑みてなされたものであり、複雑なロボット動作制御プログラムを逐一コーディングすることなく、高い精度でロボットの動作を制御することができる画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラムを提供することを目的とする。
上記目的を達成するために第1発明に係る画像処理装置は、ロボットの動作を制御するロボットコントローラとデータ通信することが可能な通信装置と、前記ロボットによる操作対象である対象物を撮像する撮像装置とを有し、該撮像装置にて載置位置に載置された対象物を撮影することにより対象物の位置を検出し、ロボットのエンドエフェクタにより対象物を把持するピッキング動作を実行するための動作プログラムを生成する画像処理装置であって、前記ロボットコントローラに前記エンドエフェクタの移動命令を送信する移動命令送信手段と、前記移動命令を受けて移動した前記エンドエフェクタの位置座標である第一の座標値を取得する移動座標取得手段と、前記エンドエフェクタが前記移動命令を受けて移動した状態で、対象物を撮像するよう前記撮像装置に撮像トリガを送信する撮像制御手段と、前記撮像装置にて撮像された対象物の画像に基づいて、対象物を把持するための位置座標である第二の座標値を検出する画像検出手段と、前記第一の座標値へ前記エンドエフェクタを移動させる汎用動作と、前記撮像装置に前記撮像トリガを送信する汎用動作と、前記第二の座標値へ前記エンドエフェクタを移動させる汎用動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の汎用動作の選択を受け付け、選択を受け付けた複数の汎用動作の実行順序の設定を受け付ける動作設定受付手段と、前記動作設定受付手段で選択を受け付けた複数の汎用動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成することにより、前記ピッキング動作を実行するための動作プログラムの中で汎用動作に相当する部分を示すサンプルプログラムを生成するプログラム生成手段とを備え、前記プログラム生成手段は、汎用動作とは異なる前記エンドエフェクタの詳細な動作に対応する動作プログラムを使用者が記述できるように、編集可能な形式で前記サンプルプログラムを出力することを特徴とする。
また、第発明に係る画像処理装置は、第1発明において、前記動作設定受付手段は、前記ロボットコントローラから受信する、前記撮像装置で対象物の撮像を開始するタイミングを示す撮像トリガ、又は処理切替命令ごとに、少なくとも汎用動作の種類及び汎用動作の実行順序を含む動作条件の設定を受け付けることが好ましい。
また、第発明に係る画像処理装置は、第1又は第2発明において、前記動作設定受付手段は、前記エンドエフェクタに対する待機指令の設定を受け付けることが好ましい。
また、第発明に係る画像処理装置は、第1乃至第発明のいずれか1つにおいて、前記ロボットの種別の選択を受け付けるロボット選択受付手段を備え、前記プログラム生成手段は、選択を受け付けた前記ロボットの種別ごとに規定されたフォーマットに従って前記動作プログラムを生成することが好ましい。
また、第発明に係る画像処理装置は、第1乃至第発明のいずれか1つにおいて、前記プログラム生成手段は、前記ロボットコントローラとのデータ通信を確立する前記動作プログラムを生成することが好ましい。
また、第発明に係る画像処理装置は、第1乃至第発明のいずれか1つにおいて、前記移動命令送信手段は、前記第一の座標値又は前記第二の座標値へ前記エンドエフェクタを移動させる移動命令を前記ロボットコントローラへ送信することが好ましい。
また、第発明に係る画像処理装置は、第1乃至第発明のいずれか1つにおいて、前記移動命令送信手段は、撮像された対象物が表示されている画像上で指定を受け付けた位置に前記エンドエフェクタを移動させる移動命令を前記ロボットコントローラへ送信することが好ましい。
また、第発明に係る画像処理装置は、第1乃至第発明のいずれか1つにおいて、前記エンドエフェクタの複数の第一の座標値を取得し、複数の第一の座標値の中から前記エンドエフェクタの移動先として一の第一の座標値の選択を受け付ける移動先選択手段を備えることが好ましい。
次に、上記目的を達成するために第発明に係る画像処理システムは、ロボットの動作を制御するロボットコントローラと、該ロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットによる操作対象である対象物を撮像する撮像装置を含み、該撮像装置にて載置位置に載置された対象物を撮影することにより対象物の位置を検出し、ロボットのエンドエフェクタにより対象物を把持するピッキング動作を実行するための動作プログラムを生成する画像処理装置とで構成される画像処理システムであって、前記画像処理装置は、前記ロボットコントローラに前記エンドエフェクタの移動命令を送信する移動命令送信手段と、前記移動命令を受けて移動した前記エンドエフェクタの位置座標である第一の座標値を取得する移動座標取得手段と、前記エンドエフェクタが前記移動命令を受けて移動した状態で、対象物を撮像するよう前記撮像装置に撮像トリガを送信する撮像制御手段と、前記撮像装置にて撮像された対象物の画像に基づいて、対象物を把持するための位置座標である第二の座標値を検出する画像検出手段と、前記第一の座標値へ前記エンドエフェクタを移動させる汎用動作と、前記撮像装置に前記撮像トリガを送信する汎用動作と、前記第二の座標値へ前記エンドエフェクタを移動させる汎用動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の汎用動作の選択を受け付け、選択を受け付けた複数の汎用動作の実行順序の設定を受け付ける動作設定受付手段と、前記動作設定受付手段で選択を受け付けた複数の汎用動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成することにより、前記ピッキング動作を実行するための動作プログラムの中で汎用動作に相当する部分を示すサンプルプログラムを生成するプログラム生成手段とを備え、前記プログラム生成手段は、汎用動作とは異なる前記エンドエフェクタの詳細な動作に対応する動作プログラムを使用者が記述できるように、編集可能な形式で前記サンプルプログラムを出力することを特徴とする。
また、第10発明に係る画像処理システムは、第9発明において、前記動作設定受付手段は、前記ロボットコントローラから受信する、前記撮像装置で対象物の撮像を開始するタイミングを示す撮像トリガ、又は処理切替命令ごとに、少なくとも汎用動作の種類及び汎用動作の実行順序を含む動作条件の設定を受け付けることが好ましい。
また、第11発明に係る画像処理システムは、第9又は第10発明において、前記動作設定受付手段は、前記エンドエフェクタに対する待機指令の設定を受け付けることが好ましい。
また、第12発明に係る画像処理システムは、第9乃至第11発明のいずれか1つにおいて、前記画像処理装置は、前記ロボットの種別の選択を受け付けるロボット選択受付手段を備え、前記プログラム生成手段は、選択を受け付けた前記ロボットの種別ごとに規定されたフォーマットに従って前記動作プログラムを生成することが好ましい。
また、第13発明に係る画像処理システムは、第9乃至第12発明のいずれか1つにおいて、前記プログラム生成手段は、前記ロボットコントローラとのデータ通信を確立する前記動作プログラムを生成することが好ましい。
また、第14発明に係る画像処理システムは、第9乃至第13発明のいずれか1つにおいて、前記移動命令送信手段は、前記第一の座標値又は前記第二の座標値へ前記エンドエフェクタを移動させる移動命令を前記ロボットコントローラへ送信することが好ましい。
また、第15発明に係る画像処理システムは、第9乃至第13発明のいずれか1つにおいて、前記移動命令送信手段は、撮像された対象物が表示されている画像上で指定を受け付けた位置に前記エンドエフェクタを移動させる移動命令を前記ロボットコントローラへ送信することが好ましい。
また、第16発明に係る画像処理システムは、第9乃至第15発明のいずれか1つにおいて、前記画像処理装置は、前記エンドエフェクタの複数の第一の座標値を取得し、複数の第一の座標値の中から前記エンドエフェクタの移動先として一の第一の座標値の選択を受け付ける移動先選択手段を備えることが好ましい。
次に、上記目的を達成するために第17発明に係る画像処理方法は、ロボットの動作を制御するロボットコントローラと、該ロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットによる操作対象である対象物を撮像する撮像装置を含み、該撮像装置にて載置位置に載置された対象物を撮影することにより対象物の位置を検出し、ロボットのエンドエフェクタにより対象物を把持するピッキング動作を実行するための動作プログラムを生成する画像処理装置とで構成される画像処理システムで実行することが可能な画像処理方法であって、前記画像処理装置は、前記ロボットコントローラに前記エンドエフェクタの移動命令を送信する工程と、前記移動命令を受けて移動した前記エンドエフェクタの位置座標である第一の座標値を取得する工程と、前記エンドエフェクタが前記移動命令を受けて移動した状態で、対象物を撮像するよう前記撮像装置に撮像トリガを送信する工程と、前記撮像装置にて撮像された対象物の画像に基づいて、対象物を把持するための位置座標である第二の座標値を検出する工程と、前記第一の座標値へ前記エンドエフェクタを移動させる汎用動作と、前記撮像装置に前記撮像トリガを送信する汎用動作と、前記第二の座標値へ前記エンドエフェクタを移動させる汎用動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の汎用動作の選択を受け付け、選択を受け付けた複数の汎用動作の実行順序の設定を受け付ける工程と、選択を受け付けた複数の汎用動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成することにより、前記ピッキング動作を実行するための動作プログラムの中で汎用動作に相当する部分を示すサンプルプログラムを生成する工程とを含み、汎用動作とは異なる前記エンドエフェクタの詳細な動作に対応する動作プログラムを使用者が記述できるように、編集可能な形式で前記サンプルプログラムを出力することを特徴とする。
次に、上記目的を達成するために第18発明に係るコンピュータプログラムは、ロボットの動作を制御するロボットコントローラとデータ通信することが可能な通信装置と、前記ロボットによる操作対象である対象物を撮像する撮像装置とを有し、該撮像装置にて載置位置に載置された対象物を撮影することにより対象物の位置を検出し、ロボットのエンドエフェクタにより対象物を把持するピッキング動作を実行するための動作プログラムを生成する画像処理装置で実行することが可能なコンピュータプログラムであって、前記画像処理装置を、前記ロボットコントローラに前記エンドエフェクタの移動命令を送信する移動命令送信手段、前記移動命令を受けて移動した前記エンドエフェクタの位置座標である第一の座標値を取得する移動座標取得手段、前記エンドエフェクタが前記移動命令を受けて移動した状態で、対象物を撮像するよう前記撮像装置に撮像トリガを送信する撮像制御手段、前記撮像装置にて撮像された対象物の画像に基づいて、対象物を把持するための位置座標である第二の座標値を検出する画像検出手段、前記第一の座標値へ前記エンドエフェクタを移動させる汎用動作と、前記撮像装置に前記撮像トリガを送信する汎用動作と、前記第二の座標値へ前記エンドエフェクタを移動させる汎用動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の汎用動作の選択を受け付け、選択を受け付けた複数の汎用動作の実行順序の設定を受け付ける動作設定受付手段、及び前記動作設定受付手段で選択を受け付けた複数の汎用動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成することにより、前記ピッキング動作を実行するための動作プログラムの中で汎用動作に相当する部分を示すサンプルプログラムを生成するプログラム生成手段として機能させ、前記プログラム生成手段を、汎用動作とは異なる前記エンドエフェクタの詳細な動作に対応する動作プログラムを使用者が記述できるように、編集可能な形式で前記サンプルプログラムを出力する手段として機能させることを特徴とする。
第1発明、第9発明、第17発明及び第18発明では、画像処理装置は、ロボットコントローラにエンドエフェクタの移動命令を送信し、移動命令を受けて移動したエンドエフェクタの位置座標である第一の座標値を取得する。そして、エンドエフェクタが移動命令を受けて移動した状態で、対象物を撮像するよう撮像装置に撮像トリガを送信し、撮像装置にて撮像された対象物の画像に基づいて、対象物を把持するための位置座標である第二の座標値を検出する。第一の座標値へエンドエフェクタを移動させる汎用動作と、撮像装置に撮像トリガを送信する汎用動作と、第二の座標値へエンドエフェクタを移動させる汎用動作を含む複数の汎用動作の中から、ロボットコントローラに実行させる複数の汎用動作の選択を受け付け、選択を受け付けた複数の汎用動作の実行順序の設定を受け付ける。選択を受け付けた複数の汎用動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成することにより、ピッキング動作を実行するための動作プログラムの中で汎用動作に相当する部分を示すサンプルプログラムを生成する。汎用動作とは異なるエンドエフェクタの詳細な動作に対応する動作プログラムを使用者が記述できるように、編集可能な形式でサンプルプログラムを出力する。これにより、画像処理装置からロボットコントローラに対してロボットの動作を制御する、汎用動作とは異なるエンドエフェクタの詳細な動作に対応する動作プログラムを使用者が記述できるように、編集可能な形式で生成されたサンプルプログラムを出力することができるので、ロボットの種別ごとに異なる機械語を理解していない作業者(ユーザ)であっても、ロボットの動作をユーザの希望に沿った高い精度で制御することができる動作プログラムを作成することが可能となる。したがって、すべての動作プログラムが完成する都度、動作を確認する煩雑な手順が不要となるので、システムとして早期に立ち上げることが可能となる。
2発明及び第10発明では、ロボットコントローラから受信する、撮像装置で対象物の撮像を開始するタイミングを示す撮像トリガ、又は処理切替命令ごとに、少なくとも汎用動作の種類及び汎用動作の実行順序を含む動作条件の設定を受け付けるので、撮像トリガ、又は処理切替命令に応じて動作条件を変更することができ、動作条件に応じた適切なタイミングで対象物を撮像して表示されている画像上の対象物の位置座標を検出することが可能となる。
3発明及び第11発明では、エンドエフェクタに対する待機指令の設定を受け付けるので、撮像までの待機時間を設定することで、動作直後の振動を抑制し、撮像時のロボットの位置を安定させることができる。これにより、撮像装置をロボットに取り付けた状態での検出、あるいは対象物をロボットに把持させた状態での位置検出の精度を高くすることが可能となる。
4発明及び第12発明では、ロボットの種別の選択を受け付け、選択を受け付けたロボットの種別ごとに規定されたフォーマットに従って動作プログラムを生成するので、ロボットの種別が変更された場合であっても、ロボットの種別に応じた動作プログラムを生成することが可能となる。
5発明及び第13発明では、ロボットコントローラとのデータ通信を確立する動作プログラムを生成するので、コーディングが煩雑な通信部分のプログラムについてもユーザが直接コーディングする必要がなく、システム全体を早期に立ち上げることが可能となる。
6発明及び第14発明では、第一の座標値又は第二の座標値へエンドエフェクタを移動させる移動命令をロボットコントローラへ送信するので、画像処理装置からロボットの動作を制御することができ、一定の動作によりロボットの試運転をすることも可能となる。
7発明及び第15発明では、撮像された対象物が表示されている画像上で指定を受け付けた位置にエンドエフェクタを移動させる移動命令をロボットコントローラへ送信するので、画像上で対象物の移動先を指定するだけでロボットの動作を制御することが可能となる。
8発明及び第16発明では、エンドエフェクタの複数の第一の座標値を取得し、複数の第一の座標値の中からエンドエフェクタの移動先として一の第一の座標値の選択を受け付けるので、取得した複数の第一の座標値の中から、エンドエフェクタの移動先を選択することができ、新たに移動先を指定する処理が不要となる。
本発明によれば、画像処理装置からロボットコントローラに対してロボットの動作を制御する、汎用動作とは異なるエンドエフェクタの詳細な動作に対応する動作プログラムを使用者が記述できるように、編集可能な形式で生成されたサンプルプログラムを出力することができるので、ロボットの種別ごとに異なる機械語を理解していない作業者(ユーザ)であっても、ロボットの動作をユーザの希望に沿った高い精度で制御することができる動作プログラムを作成することが可能となる。したがって、すべての動作プログラムが完成する都度、動作を確認する煩雑な手順が不要となるので、システムとして早期に立ち上げることが可能となる。
本発明の実施の形態1に係る画像処理システムの構成を示す模式図である。 本発明の実施の形態1に係る画像処理システムの画像処理装置の構成例を示すブロック図である。 従来のキャリブレーションの処理手順を示すフローチャートである。 本発明の実施の形態1に係る画像処理システムのキャリブレーションの処理手順を示すフローチャートである。 本発明の実施の形態1に係る画像処理装置の開始位置設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の検出ツール設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の移動パターンの設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の移動パターンの設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の輪郭検出ツールを用いる場合の検出条件設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の輪郭検出ツールを用いる場合の検出条件設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の濃淡検出ツールを用いる場合の検出条件設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の濃淡検出ツールを用いる場合の検出条件設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の機能ブロック図である。 本発明の実施の形態1に係る画像処理装置の位置データ登録画面の例示図である。 本発明の実施の形態1に係る画像処理装置の位置データ選択画面の例示図である。 本発明の実施の形態1に係る画像処理装置の位置データ選択画面の他の例示図である。 本発明の実施の形態1に係る画像処理装置のプログラム生成画面の例示図である。 本発明の実施の形態1に係るロボットコントローラの動作プログラムの例示図である。 本発明の実施の形態1に係るロボットコントローラの機能ブロック図である。 本発明の実施の形態1に係るロボットコントローラの変換プログラムの処理手順を示すフローチャートである。 本発明の実施の形態1に係る画像処理システムのシステム構築手順を示すフローチャートである。 本発明の実施の形態1に係る画像処理装置の動作プログラム作成の処理手順を示すフローチャートである。 本発明の実施の形態1に係る画像処理システムにおける試運転時の動作を説明するための模式図である。 本発明の実施の形態1に係る画像処理装置のプログラム生成画面の例示図である。 本発明の実施の形態1に係る画像処理システムの試運転時の処理手順を示すフローチャートである。 本発明の実施の形態2に係る画像処理システムにおけるピッキングの実行を説明するための模式図である。 本発明の実施の形態2に係る画像処理システムのピッキングの処理手順を示すフローチャートである。 本発明の実施の形態2に係る画像処理システムにおける撮像位置を補正する場合のピッキングの実行を説明するための模式図である。 本発明の実施の形態2に係る画像処理システムの撮像位置を補正する場合のピッキングの処理手順を示すフローチャートである。 本発明の実施の形態2に係る画像処理システムの異なる動作条件の設定例を示す条件設定画面の例示図である。 本発明の実施の形態2に係る画像処理システムの異なる動作条件に切り替え可能な動作プログラムの例示図である。 本発明の実施の形態2に係る画像処理システムにおける動作条件の切り替えが必要となるピッキングの実行を説明するための模式図である。 本発明の実施の形態2に係る画像処理システムの動作条件の切り替えを含むピックアップの処理手順を示すフローチャートである。 本発明の実施の形態2に係る画像処理システムの動作条件の切り替えを含むピックアップの処理手順を示すフローチャートである。
以下、本発明の実施の形態に係る画像処理システムについて、図面に基づいて具体的に説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係る画像処理システムの構成を示す模式図である。
図1に示すように、本実施の形態1に係る画像処理システムは、対象物(ワーク)6を移動させるマニピュレータ(ロボット)1、マニピュレータ1の動作を制御するロボットコントローラ2、画像処理装置3、及び撮像装置4で構成されている。マニピュレータ1の先端には、対象物6を把持又は解放することが可能なエンドエフェクタ5が設けられており、ロボットコントローラ2はエンドエフェクタ5の開閉動作も制御する。
撮像装置4は、例えばカラーCCDカメラであり、移動する対象物であるワーク6を撮像する。撮像された画像に基づいて、後述するキャリブレーションを実行することにより、実際のワーク6の位置座標(エンドエフェクタ5の移動位置の座標)と、画面に表示された画像上の位置座標とをリンクさせることができる。
マニピュレータ1は、3本のアームで構成されており、2本のアームが互いになす角度、及びアーム支点の回転により、エンドエフェクタ5を所望の位置へ移動させる。
図2は、本発明の実施の形態1に係る画像処理システムの画像処理装置3の構成例を示すブロック図である。本発明の実施の形態1に係る画像処理装置3は、少なくともCPU(中央演算装置)等で構成された制御部31、メモリ32、記憶装置33、入出力インタフェース34、表示インタフェース35、通信インタフェース36及び上述したハードウェアを接続する内部バス37で構成されている。
制御部31は、内部バス37を介して画像処理装置3の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置33に記憶されているコンピュータプログラムに従って、種々のソフトウェア的機能を実行する。メモリ32は、SRAM、SDRAM等の揮発性メモリで構成され、コンピュータプログラムの実行時にロードモジュールが展開され、コンピュータプログラムの実行時に発生する一時的なデータ等を記憶する。
記憶装置33は、内蔵される固定型記憶装置(ハードディスク)、SRAM等の揮発性メモリ、ROM等の不揮発性メモリ等で構成されている。記憶装置33に記憶されているコンピュータプログラムは、プログラム及びデータ等の情報を記録したDVD、CD−ROM等の可搬型記録媒体からダウンロード、あるいは通信インタフェース36を介してダウンロードされ、実行時には記憶装置33からメモリ32へ展開して実行される。
通信インタフェース(通信装置)36は内部バス37に接続されており、インターネット、LAN、WAN等の外部のネットワークに接続されることにより、外部のコンピュータ等とデータ送受信を行うことが可能となっている。
入出力インタフェース34は、キーボード38、マウス39等のデータ入力媒体と接続され、データの入力を受け付ける。また、表示インタフェース35は、CRTモニタ、LCD等の表示装置40と接続され、所定の画像を表示する。
従来、マニピュレータ1の動作制御は、ロボットコントローラ2に記憶されているシーケンシャルな動作制御プログラムにより行われていた。その場合、マニピュレータ1のエンドエフェクタ5の実際の位置座標と、画像処理装置3に表示されている画像上の位置座標との間でキャリブレーションを実行する必要がある。
キャリブレーションは、複数の位置座標について、マニピュレータ1のエンドエフェクタ5の実際の位置座標と、画像処理装置3に表示されている画像上の位置座標との間の変換式を算出する。座標変換の方法は、特に限定されるものではなく、例えばアフィン変換で変換する。
Figure 0006486678
(式1)に示すように、マニピュレータ1のエンドエフェクタ5の実際の位置座標(x’、y’)と、画像処理装置3に表示されている画像上の位置座標(x、y)とに基づいて、6つの自由度を有する変換式の係数a、b、c、d、e、fを求める。対応する位置座標が6つを超える場合には、最小二乗法を用いれば良い。
図3は、従来のキャリブレーションの処理手順を示すフローチャートである。図3に示すように、ロボットコントローラ2は、マニピュレータ1に撮像対象となるマークを付与したワーク6を、キャリブレーションターゲットとして把持させた状態で、エンドエフェクタ5をキャリブレーション位置へと移動させる(ステップS301)。
ロボットコントローラ2は、移動したエンドエフェクタ5の位置座標(x’、y’)を取得して(ステップS302)、計測命令及び取得した位置座標(x’、y’)を画像処理装置3へ送信する(ステップS303)。画像処理装置3は、ロボットコントローラ2から計測命令及び取得した位置座標(x’、y’)を受信し(ステップS304)、エンドエフェクタ5の動作領域を撮像する(ステップS305)。
画像処理装置3は、エンドエフェクタ5の動作領域の画像を表示し、表示されている画像上の位置座標(x、y)を検出する(ステップS306)。ロボットコントローラ2は、キャリブレーション用のすべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出したか否かを判断する(ステップS307)。ロボットコントローラ2が、まだすべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出していないと判断した場合(ステップS307:NO)、ロボットコントローラ2は、次の移動命令を発行し(ステップS308)、処理をステップS301へ戻して、上述した処理を繰り返す。
ロボットコントローラ2が、すべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出したと判断した場合(ステップS307:YES)、画像処理装置3は、(式1)に従って変換式を算出する(ステップS309)。具体的には、6つの係数a、b、c、d、e、fを求める。
しかし、従来のキャリブレーションでは、マニピュレータ1の種別ごとに固有のシーケンシャルな制御プログラムが必要となる。したがって、機種ごとに個別の制御プログラムによりキャリブレーションを実行しなければならない。そこで、画像処理装置3において主たるキャリブレーションを実行する。
図4は、本発明の実施の形態1に係る画像処理システムのキャリブレーションの処理手順を示すフローチャートである。図4に示すように、画像処理装置3は、マニピュレータ1に撮像対象となるマークを付与したワーク6を、キャリブレーションターゲットとして把持させた状態で、キャリブレーションの開始位置を設定する(ステップS401)。図5は、本発明の実施の形態1に係る画像処理装置3の開始位置設定画面の例示図である。
図5に示すように、撮像された対象物6の画像は画像表示領域55に表示されている。キャリブレーションの実行ボタンのうち、開始位置設定ボタン51が選択されると、開始位置設定画面56がポップアップ表示され、開始位置を設定する。この場合、ジョグ操作ボタン57を選択することで、マニピュレータ1のエンドエフェクタ5を所定の位置に移動させることができる。したがって、移動先を確認しながらキャリブレーションの開始位置を設定することができる。
なお、移動パターンを設定する前に、検出ツールを設定することができる。図6は、本発明の実施の形態1に係る画像処理装置3の検出ツール設定画面の例示図である。
図6に示すように、キャリブレーションの実行ボタンのうち、検出ツール設定ボタン52が選択されると、検出ツール選択領域61が表示される。ユーザは、画像表示領域55に表示されている画像を見ながら、検出ツール選択領域61において検出ツールを選択する。図6の例では、輪郭検出ツールを選択している。これ以外に、例えば濃淡検出ツールを選択しても良い。
図4に戻って、画像処理装置3は、マニピュレータ1のエンドエフェクタ5の移動パターンを設定する(ステップS402)。図7及び図8は、本発明の実施の形態1に係る画像処理装置3の移動パターンの設定画面の例示図である。
図7に示すように、キャリブレーションの実行ボタンのうち、キャリブレーションボタン53が選択されると、移動パターン設定画面71がポップアップ表示される。ここで、移動パターンの設定ボタン72を選択すると、図8に示すように、詳細設定画面73がポップアップ表示される。
詳細設定画面73では、キャリブレーション実行時の検出パターンを設定する。例えば、3×3の9個、5×5の25個等の設定を受け付ける。所定の移動距離を設定することで、詳細設定画面73の下部に表示されるような移動パターンが設定される。
図4に戻って、画像処理装置3は移動命令をロボットコントローラ2へ送信する(ステップS403)。ロボットコントローラ2は、移動命令を受信して(ステップS404)、移動命令をマニピュレータ1の種別に応じて解釈する(ステップS405)。すなわち、マニピュレータ1を稼働させることが可能な機械語のロードモジュールに翻訳する。
ロボットコントローラ2は、エンドエフェクタ5を移動命令で指定されている位置へと移動させ(ステップS406)。ロボットコントローラ2は、エンドエフェクタ5の移動先の位置座標(x’、y’)を取得して(ステップS407)、取得した位置座標(x’、y’)を画像処理装置3へ送信する(ステップS408)。
画像処理装置3は、ロボットコントローラ2から、取得した位置座標(x’、y’)を受信し(ステップS409)、エンドエフェクタ5の動作領域を撮像する(ステップS410)。画像処理装置3は、動作領域の画像を表示し、表示されている画像上の位置座標(x、y)を検出する(ステップS411)。
なお、表示されている画像上のどの位置の位置座標(x、y)を検出するかは、設定されている検出ツールを用いて画像中から検出する。例えば検出ツールとして、輪郭検出ツールが選択されている場合、検出される輪郭領域を指定する必要がある。
図9及び図10は、本発明の実施の形態1に係る画像処理装置3の輪郭検出ツールを用いる場合の検出条件設定画面の例示図である。図9に示すように、ツール表示領域91において、選択されている「輪郭検出ツール」が表示されている。そして、パターン編集領域92において、輪郭パターンの形状を設定する。図9の例では矩形領域に設定されている。
そして、画像表示領域55に表示されている対象物において、マウス等でドラッグ操作をしながら、輪郭パターンを検出する検出領域93を設定する。図9の例では、対象物を囲むように設定しているが、特にこのような設定に限定されるものではない。
検出領域93が設定されると、図10に示すように、検出条件設定画面94において、検出条件を設定する。検出条件としては、例えば対象物の傾きの許容範囲である「角度範囲」、検出する個数を示す「検出個数」、どの程度まで類似していれば検出するかを示す「相関値下限」等を設定する。
また、検出ツールとして、濃淡検出ツールを選択しても良い。濃淡検出ツールが選択されている場合であっても、検出する領域を設定する必要がある。
図11及び図12は、本発明の実施の形態1に係る画像処理装置3の濃淡検出ツールを用いる場合の検出条件設定画面の例示図である。図11に示すように、ツール表示領域91において、選択されている「濃淡検出ツール」が表示されている。そして、パターン編集領域92において、輪郭パターンの形状を設定する。図11の例では矩形領域に設定されている。
そして、画像表示領域55に表示されている対象物において、マウス等でドラッグ操作をしながら、輪郭パターンを検出する検出領域93を設定する。図11の例では、対象物を囲むように設定しているが、特にこのような設定に限定されるものではない。
検出領域93が設定されると、図12に示すように、検出条件設定領域121において、検出条件を設定する。検出条件としては、例えば対象物の傾きの許容範囲である「角度範囲」、検出する個数を示す「検出個数」、どの程度まで類似していれば検出するかを示す「相関値下限」等の他、検出感度(サーチ感度)あるいは検出精度(サーチ精度)についても設定することができる。形状が同じであっても、濃淡差等に違いが生じている場合が想定されるからである。
図4に戻って、画像処理装置3は、キャリブレーション用のすべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出したか否かを判断する(ステップS412)。画像処理装置3が、まだすべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出していないと判断した場合(ステップS412:NO)、画像処理装置3は、次の移動命令を発行し(ステップS413)、処理をステップS403へ戻して、上述した処理を繰り返す。
画像処理装置3が、すべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出したと判断した場合(ステップS412:YES)、画像処理装置3は、(式1)に従って変換式を算出する(ステップS414)。具体的には、6つの係数a、b、c、d、e、fを求める。
なお、キャリブレ−ションとして二次元のアフィン変換を用いる例について説明しているが、もちろん三次元のアフィン変換を用いても良い。
図13は、本発明の実施の形態1に係る画像処理装置3の機能ブロック図である。画像処理装置3の移動座標取得部301は、移動命令に応じて移動したエンドエフェクタ5の各位置座標である第一の座標値(x’、y’)を取得する。
なお、移動座標取得部301において取得する第一の座標値(x’、y’)は、画像処理装置3からの移動命令に応じてエンドエフェクタ5が移動した各位置において、ロボットコントローラ2から取得した座標値としているが、画像処理装置3で表示されている画像上で指定されたマニピュレータ(ロボット)1の移動目標座標をそのまま第一の座標値としても良い。
撮像制御部302は、エンドエフェク5が移動した各移動先にて対象物を撮像するよう撮像装置4の動作を制御する。これにより、ロボットコントローラ2から取得した移動先のエンドエフェクタ5の位置座標である第一の座標値(x’、y’)に対応する領域を撮像するよう制御することで、取得した第一の座標値(x’、y’)との間でキャリブレーションを実行することができる。
画像検出部303は、各移動先にて撮像された対象物6の画像に基づいて対象物の位置座標である第二の座標値(x、y)を検出する。キャリブレーション実行部304は、取得した複数の第一の座標値(x’、y’)と、検出した複数の第二の座標値(x、y)とに基づいて、両座標間の変換規則を算出する。例えば二次元のキャリブレーションを実行する場合、上述した(式1)に座標値を代入して、係数a、b、c、d、e、fを求める。
キャリブレーションを実行することにより、ロボットコントローラ2から取得した移動先のエンドエフェクタ5の位置座標である第一の座標値(x’、y’)を指定して移動命令を送信するだけでなく、各移動先にて撮像された対象物の6の画像に基づいて検出された第二の座標値(x、y)から第一の座標値(x’、y’)を算出することができ、移動命令を送信することができる。つまり、画像処理装置3からロボットコントローラ2に対して動作の指令を送信することができるようになる。
動作設定受付部305は、少なくとも第一の座標値(x’、y’)へエンドエフェクタ5を移動させる動作又は第二の座標値(x、y)へエンドエフェクタ5を移動させる動作(具体的にはキャリブレーション結果を用いて第一の座標値へ変換した座標値へ移動させる動作)を含む複数の動作の中から、ロボットコントローラ2に実行させる複数の動作の選択を受け付け、選択を受け付けた複数の動作の実行順序の設定を受け付ける。
具体的には、まず移動先の位置データを記憶する。図14は、本発明の実施の形態1に係る画像処理装置3の位置データ登録画面の例示図である。まず、マニピュレータ(ロボット)1のエンドエフェクタ5を撮像位置へ移動させる。移動命令は、画像処理装置3からロボットコントローラ2へ送信する。
エンドエフェクタ5の位置データは、第一の座標値(x’、y’)としてロボットコントローラ2から移動座標取得部301により取得する。図14(a)には、取得した第一の座標値が表示されている。
そして、登録ボタン141をマウス等でクリック操作することにより、取得した第一の座標値を識別子、例えば「POS001」とともに記憶する。第一の座標値が1つでも記憶されている場合、図14(b)に示すように、移動ボタン142が使用可能な状態となる。位置データを選択して移動ボタン142をマウス等でクリック操作することにより、移動命令を送信することができる。
図15は、本発明の実施の形態1に係る画像処理装置3の位置データ選択画面の例示図である。図15に示すように、位置データ選択領域151に、既に記憶されている位置データ候補が表示されている。ユーザは、この中から1つの位置データを選択すれば良い。
また、表示されている画像上で位置の指定を受け付けても良い。図16は、本発明の実施の形態1に係る画像処理装置3の位置データ選択画面の他の例示図である。図16の例では、位置データ選択領域151が存在しない。あくまでも撮像された画像が表示されている画像表示領域55において、現在の位置を「十」印161で表示している。ユーザは、マウス等のクリック操作により、移動先の位置「+」印162を指定すれば良い。
すなわち、位置データ選択画面は、図13の移動先選択部309として機能する。移動先選択部309は、エンドエフェクタ5の複数の第一の座標値を取得し、複数の第一の座標値の中からエンドエフェクタ5の移動先として一の第一の座標値の選択を受け付ける。
図13に戻って、動作設定受付部305は、ロボットコントローラ2から受信する、撮像装置4で対象物6の撮像を開始するタイミングを示す撮像トリガごとに、少なくとも動作の種類及び動作順序を含む動作条件の設定も受け付ける。設定を受け付けた撮像トリガごとの動作条件をロボットコントローラ2から受信したタイミングで、撮像装置4によりワーク6を撮像する。撮像トリガとしては、特にどのような情報でなければならないという限定はない。少なくとも撮像装置4に撮像を開始するタイミングを知らせる信号であれば足りる。
動作設定受付部305は、エンドエフェクタ5に対する待機指令の設定を受け付けても良い。撮像までの待機時間を設定を受け付けることで、動作直後の振動を抑制し、撮像時のエンドエフェクタ5の位置を安定させることができる。これにより、撮像装置4をエンドエフェクタ5に取り付けた状態での検出、あるいはワーク6をエンドエフェクタ5に把持させた状態での位置検出の精度を高くすることが可能となる。
プログラム生成部306は、動作設定受付部305で選択を受け付けた複数の動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成する。具体的には、設定を受け付けた実行順序に従って、選択を受け付けた複数の動作に対応する各動作プログラムを、編集可能なテキストデータとして生成する。
自動的に生成するとともに、ユーザの意向により自由にカスタマイズできるように、プログラム生成部306は、例えばロボットコントローラ2による動作のうち、少なくとも第一の座標値又は第2の座標値へエンドエフェクタ5を移動させる動作、撮像トリガを送信する動作を含む、ロボットコントローラ2に実行させる一連の複数の動作について動作プログラムを生成すれば良い。もちろん、ロボットコントローラ2とのデータ通信を確立する動作プログラムを生成しても良い。
また、マニピュレータ(ロボット)1の種別によって動作プログラムのフォーマットが異なるので、プログラム生成部306は、動作設定受付部305で選択を受け付けた複数の動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成する。
図17は、本発明の実施の形態1に係る画像処理装置3のプログラム生成画面の例示図である。図17において、シーケンス選択領域171では、動作プログラムに組み込む動作の候補である動作リストが表示されている。ユーザは、表示されている動作リストの中から、生成されるプログラムで実行したい動作を選択する。
また、生成されるプログラムで制御する対象となるマニピュレータ(ロボット)1の製造元であるメーカを、メーカ選択領域172において選択する(ロボット選択受付部307)。生成される動作プログラムは、メーカごとに仕様が異なるからである。ロボット選択受付部307は、ロボットの種別の選択を受け付け、プログラム生成部306は、選択を受け付けたマニピュレータ1の種別ごとに規定されたフォーマットに従って動作プログラムを生成する。
ここで、動作リストの中から選択することができるのは、エンドエフェクタ5の移動、撮像トリガの送信等の動作(以下、汎用動作)のみである。選択することができない動作としては、例えばエンドエフェクタ5の詳細な動作(ピッキング、リリース等)、他に接続されている外部機器の動作等(以下、特殊動作)である。動作プログラムの一部として、まず汎用動作に相当する部分のみ編集可能な形式で自動生成する。そして、最終的には、ユーザが特殊動作に相当する部分を編集することにより、動作プログラムを完成することができる。
すべての設定が完了した状態で、プログラム出力ボタン173をマウス等によりクリック操作することにより、ロボットコントローラ2の動作プログラムが生成される。図18は、本発明の実施の形態1に係るロボットコントローラ2の動作プログラムの例示図である。
図18に示すように、ソースコード181は、画像処理装置3とのデータ通信を確立する命令である。ソースコード182は、撮像装置4を退避させる命令である。ソースコード183は、画像処理装置3に対する座標値取得命令である。
ソースコード184は、画像処理装置3から座標値を受信する命令である。ソースコード185は、実際のマニピュレータ1の位置座標に変換する命令である。
ソースコード186は、マニピュレータ1のエンドエフェクタ5を移動の最終位置へ移動させる命令である。ソースコード187は、コメント欄であり、ユーザ自身がソースコードを記述することで、よりユーザニーズに応じた動作プログラムを生成することができる。ソースコード188は、画像処理装置3とのデータ通信を解除する命令である。
図13に戻って、移動命令送信部308は、第一の座標値又は第2の座標値へエンドエフェクタ5を移動させる移動命令をロボットコントローラ2へ送信する。なお、図16に示すように移動先の位置情報の指定を受け付けた場合には、画像上で指定を受け付けた位置にエンドエフェクタ5を移動させる移動命令をロボットコントローラ2へ送信する。
また、ロボットコントローラ2は、動作を制御するマニピュレータ(ロボット)1の種別に応じて、移動命令を変換する必要がある。図19は、本発明の実施の形態1に係るロボットコントローラ2の機能ブロック図である。
図19に示すように、ロボットコントローラ2は、プログラム変換部201を備えている。プログラム変換部201は、マニピュレータ(ロボット)1の種別ごとに提供されており、移動命令をマニピュレータ1の種別に応じたエンドエフェクタ5への移動命令に変換する。これにより、使用するマニピュレータ1の種別に応じた変換プログラムをロボットコントローラ2にインストールすることができ、マニピュレータ1の種別に応じたエンドエフェクタ5の移動命令に変換することができる。
図20は、本発明の実施の形態1に係るロボットコントローラ2の変換プログラムの処理手順を示すフローチャートである。図20に示すように、ロボットコントローラ2は、画像処理装置3とデータ通信を確立し(ステップS2001)、移動命令を受信したか否かを判断する(ステップS2002)。
ロボットコントローラ2が、受信していないと判断した場合(ステップS2002:NO)、ロボットコントローラ2は、受信待ち状態となる。ロボットコントローラ2が、受信したと判断した場合(ステップS2002:YES)、ロボットコントローラ2は、最初の移動命令を解釈する(ステップS2003)。
ロボットコントローラ2は、解釈した移動命令の内容に沿って移動命令を切り替えて、マニピュレータ1のエンドエフェクタ5を移動させる(ステップS2004)。ロボットコントローラ2は、すべての移動命令を解釈したか否かを判断する(ステップS2005)。
ロボットコントローラ2が、まだ解釈していない移動命令があると判断した場合(ステップS2005:NO)、ロボットコントローラ2は、次の移動命令を解釈して(ステップS2006)、処理をステップS2004へ戻して上述した処理を繰り返す。ロボットコントローラ2が、すべての移動命令を解釈したと判断した場合(ステップS2005:YES)、ロボットコントローラ2は、処理を終了する。
図21は、本発明の実施の形態1に係る画像処理システムのシステム構築手順を示すフローチャートである。図21に示すように、画像処理装置3は、図4に示すキャリブレーションを実行し(ステップS2101)、位置座標の変換式を求める。
画像処理装置3は、ワーク6を検出する検出ツールの選択を受け付ける(ステップS2102)。具体的には、図6に示す検出ツール設定画面の検出ツール設定領域61において検出ツールを選択する。
画像処理装置3は、動作プログラムを作成する(ステップS2103)。画像処理装置3は、試運転で動作を確認したサンプルプログラムの詳細を編集して(ステップS2104)、運用段階へ移行させる(ステップS2105)。
図22は、本発明の実施の形態1に係る画像処理装置3の動作プログラム作成の処理手順を示すフローチャートである。図22に示すように、画像処理装置3は、移動先の位置データを一又は複数記憶する(ステップS2201)。
画像処理装置3は、動作の実行順序である動作シーケンスを記憶し(ステップS2202)、マニピュレータ(ロボット)1のメーカの選択を受け付ける(ステップS2203)。動作シーケンスは、例えば図17に示すプログラム生成画面のシーケンス選択領域171において、実行したい処理(移動)の順番にプルダウンメニューの中から選択する。また、メーカの選択は、例えば図17に示すプログラム生成画面のメーカ選択領域172において選択する。
画像処理装置3は、試運転を行って(ステップS2204)、その時点のサンプルプログラムを出力する(ステップS2205)。つまり、従来はプログラムが完成していないと動作確認をすることができなかったのに対して、基本動作が正しいか否かを試運転で確認しながら詳細を詰めることができる点に本願の特徴がある。
ユーザは、マニピュレータ(ロボット)1の動作が、所望の動作であるか否かを判断して(ステップS2206)、ユーザが所望の動作ではないと判断した場合(ステップS2206:NO)、画像処理装置3は、サンプルプログラムの編集を受け付けて(ステップS2207)、処理をステップS2204へ戻して、上述した処理を繰り返す。ユーザが所望の動作であると判断した場合(ステップS2206:YES)、画像処理装置3は、サンプルプログラムの送信依頼を受け付けて、サンプルプログラムのソースコードをテキストデータとして出力する(ステップS2208)。
マニピュレータ(ロボット)1の試運転時の動作は特に限定されるものではない。図23は、本発明の実施の形態1に係る画像処理システムにおける試運転時の動作を説明するための模式図である。
本実施の形態1に係る画像処理システムは、まず図23(a)に示すように、ワーク6を撮像できるよう、マニピュレータ1のエンドエフェクタ5をワーク6が載置されている位置とは異なる位置「POS000」へ移動させる。この状態で、図23(b)に示すように、撮像トリガに応じてワーク6を撮像し、最後に図23(c)に示すように、ワーク6を把持するべく、マニピュレータ1のエンドエフェクタ5をワーク6が載置されている位置(検出位置)へと移動させる。
斯かる動作をマニピュレータ(ロボット)1にさせるべく、ロボットコントローラ2で実行される動作プログラムは、プログラム生成画面から容易に生成することができる。図24は、本発明の実施の形態1に係る画像処理装置3のプログラム生成画面の例示図である。
図24において、シーケンス選択領域241では、生成されるプログラムで実行したい処理(動作)をプルダウンメニューの中から選択する。また、生成されるプログラムで制御する対象となるマニピュレータ(ロボット)1の製造元であるメーカを、メーカ選択領域242において選択する。生成されるプログラムは、メーカごとに仕様が異なるからである。
図24の例では、事前に登録されている位置座標(図24では識別子として「POS000」)へ移動し、撮像開始のタイミングを示す撮像トリガを発行して、ワーク6を把持する位置まで移動する動作を制御するプログラムを生成するよう指定している。全ての指定が完了した時点で、プログラム出力ボタン243をマウス等によりクリック操作することで、ロボットコントローラ2の動作プログラムが生成される。
図25は、本発明の実施の形態1に係る画像処理システムの試運転時の処理手順を示すフローチャートである。図25に示すように、画像処理装置3は、所定位置(図24の例では「POS000」)への移動命令をロボットコントローラ2へ送信する(ステップS2501)。
ロボットコントローラ2は、画像処理装置3からの移動命令を受信し(ステップS2502)、移動命令をマニピュレータ1の種別に応じて解釈する(ステップS2503)。すなわち、マニピュレータ1を稼働させることが可能な機械語のロードモジュールに翻訳する。
ロボットコントローラ2は、エンドエフェクタ5を移動命令で指定されている位置(図24の例では「POS000」)へと移動させ(ステップS2504)、撮像命令を画像処理装置3へ送信する(ステップS2505)。
画像処理装置3は、撮像命令を受信し(ステップS2506)、エンドエフェクタ5の動作領域を撮像する(ステップS2507)。画像処理装置3は、エンドエフェクタ5の動作領域の画像を表示し、表示されている画像上のワーク6の位置座標(x、y)を検出し(ステップS2508)、キャリブレーションにより求めてある変換式を用いて位置座標(x’、y’)へ変換する(ステップS2509)。
画像処理装置3は、位置座標(x’、y’)への移動命令をロボットコントローラ2へ送信する(ステップS2510)。ロボットコントローラ2は、移動命令を受信して(ステップS2511)、変換された位置座標(x’、y’)へエンドエフェクタ5を移動する(ステップS2512)
なお、試運転の実行に備えて、2つの実行モードを準備しておくことが好ましい。例えば1つは「ティーチングモード」、もう1つは「自動運転モード」である。
「ティーチングモード」では、ユーザが動作を確認しながらサンプルプログラムを更新するためのモードである。したがって、ユーザは、マニピュレータ1の近傍で作業をしている可能性が高いので、安全を確保するために低速動作に限定し、何らかのスイッチを意識的に押下げ続けている状態でないと動作しないよう設定されている。
また、「自動運転モード」では、「ティーチングモード」のような動作制限は存在しない。その代わり、ユーザの安全を確保するために、例えば所定の範囲内に人が存在することを人感センサが検知した場合には動作しない等の対策を施す必要はある。なお、キャリブレーションの実行時には、ユーザが近傍に存在する可能性が高いので、「ティーチングモード」の時だけ動作できる、といったロボットコントローラ2における制限機能を付与することが好ましい。
以上のように本実施の形態1によれば、画像処理装置3からロボットコントローラ2に対してマニピュレータ(ロボット)1の動作を制御する動作プログラムを画像処理装置3内で生成することができるので、マニピュレータ1の種別ごとに異なる機械語を理解していない作業者(ユーザ)であっても、マニピュレータ1の動作を高い精度で制御することができる動作プログラムを作成することが可能となる。したがって、すべての動作プログラムが完成する都度、動作を確認する煩雑な手順が不要となるので、システムとして早期に立ち上げることが可能となる。
(実施の形態2)
本発明の実施の形態2に係る画像処理システムの構成、画像処理装置3の構成は、実施の形態1と同様であることから、同一の機能を有する構成要素については同一の符号を付することにより詳細な説明は省略する。本実施の形態2は、設定条件を切り替えて動作を切り替えることが可能な動作プログラムを生成する点で、実施の形態1とは相違する。
実施の形態2では、ワーク6のピッキングの実行を例に挙げて説明する。図26は、本発明の実施の形態2に係る画像処理システムにおけるピッキングの実行を説明するための模式図である。図26に示すように、本実施の形態2に係る画像処理システムは、ワーク6をピックアップ位置261からプレース位置262へと移動させる。具体的には、撮像装置4でピックアップ位置261のワーク6を撮像しながら、ワーク6をマニピュレータ1のエンドエフェクタ5で把持し、プレース位置262まで移動してからワーク6を解放する。
図27は、本発明の実施の形態2に係る画像処理システムのピッキングの処理手順を示すフローチャートである。図27に示すように、ロボットコントローラ2は、マニピュレータ1のエンドエフェクタ5により撮像対象であるワーク6を撮像装置4で撮像することができない事態を回避するために、マニピュレータ1のエンドエフェクタ5を撮像領域内から移動する(ステップS2701)。
ロボットコントローラ2は、撮像命令を画像処理装置3へ送信する(ステップS2702)。画像処理装置3は、撮像命令を受信して(ステップS2703)、ワーク6を撮像する(ステップS2704)。画像処理装置3は、ワーク6の画像を表示し、表示されている画像上のワーク6の位置座標(x、y)を検出して(ステップS2705)、キャリブレーションにより求めてある変換式を用いて位置座標(x’、y’)へ変換する(ステップS2706)。画像処理装置3は、変換された位置座標(x’、y’)をロボットコントローラ2へ送信する(ステップS2707)。
ロボットコントローラ2は、位置座標(x’、y’)を受信し(ステップS2708)、ワーク6を把持するピックアップ位置261へエンドエフェクタ5を移動させる(ステップS2709)。ロボットコントローラ2は、エンドエフェクタ5にワーク6を把持させる(ステップS2710)。
ロボットコントローラ2は、ワーク6を把持しながらエンドエフェクタ5をプレース位置262へ移動させ(ステップS2711)、ワーク6を解放させる(ステップS2712)。なお、破線で囲まれている範囲の処理、すなわちステップS2710、ステップS2712以外の処理は、マニピュレータ1の動作を制御する動作プログラムを自動生成することができる。
ワーク6のエンドエフェクタ5で把持した位置がずれているため、撮像位置を補正する必要がある場合も生じうる。図28は、本発明の実施の形態2に係る画像処理システムにおける撮像位置を補正する場合のピッキングの実行を説明するための模式図である。
図28に示すように、本実施の形態2に係る画像処理システムは、ワーク6をピックアップ位置261からプレース位置262へと移動させる。図26とは異なり、ワーク6をマニピュレータ1のエンドエフェクタ5で把持し、プレース位置262まで移動する間の状態を撮像装置4で撮像する。つまり、マニピュレータ1のエンドエフェクタ5で把持された時点でワーク6の存在位置が機械的にずれるので、そのずれを補正する。
図29は、本発明の実施の形態2に係る画像処理システムの撮像位置を補正する場合のピッキングの処理手順を示すフローチャートである。図29に示すように、ロボットコントローラ2は、マニピュレータ1のエンドエフェクタ5をピックアップ位置261へ移動する(ステップS2901)。
ロボットコントローラ2は、ワーク6を把持し(ステップS2902)、撮像装置4によりマニピュレータ1のエンドエフェクタ5で把持されたワーク6を撮像する位置へと移動する(ステップS2903)。ロボットコントローラ2は、撮像命令を画像処理装置3へ送信する(ステップS2904)
画像処理装置3は、撮像命令を受信して(ステップS2905)、ワーク6を撮像する(ステップS2906)。画像処理装置3は、ワーク6の画像を表示し、表示されている画像上のワーク6の位置座標(x、y)を検出して(ステップS2907)、キャリブレーションにより求めてある変換式を用いて位置座標(x’、y’)へ変換する(ステップS2908)。画像処理装置3は、変換された位置座標(x’、y’)をロボットコントローラ2へ送信する(ステップS2909)。
ロボットコントローラ2は、位置座標(x’、y’)を受信し(ステップS2910)、移動命令で指定した位置座標へエンドエフェクタ5を移動させる(ステップS2911)。ロボットコントローラ2は、位置座標(x’、y’)が移動命令で指定した位置座標と一定範囲内に収束しているか否かを判断する(ステップS2912)。
ロボットコントローラ2が、位置座標(x’、y’)が移動命令で指定した位置座標と一定範囲内に収束していないと判断した場合(ステップS2912:NO)、ロボットコントローラ2は、処理をステップS2904へ戻して、上述した処理を繰り返す。ロボットコントローラ2が、位置座標(x’、y’)が移動命令で指定した位置座標と一定範囲内に収束したと判断した場合(ステップS2912:YES)、ロボットコントローラ2は、ワーク6を把持しながらエンドエフェクタ5をプレース位置262へ移動させ(ステップS2913)、ワーク6を解放させる(ステップS2914)。なお、破線で囲まれている範囲の処理、すなわちステップS2902、ステップS2912、ステップS2914以外の処理は、マニピュレータ1の動作を制御する動作プログラムを自動生成することができる。
ピッキングの実行についても、条件が変更された場合には、生成される動作プログラムが変動する。例えば撮像位置が相違する、画像から検出する位置が相違する、マニピュレータ1のメーカが相違する等、条件の相違に対応して動作プログラムを切り替えることが好ましい。
図30は、本発明の実施の形態2に係る画像処理システムの異なる動作条件の設定例を示す条件設定画面の例示図である。まず図30(a)に示すように、「条件0」として、条件設定領域3001において撮像位置を「POS0」、画像から検出する位置を「A」と設定しており、メーカ設定領域3002において、マニピュレータ1のメーカを「メーカA」と設定している。一方、図30(b)に示すように、「条件1」として、条件設定領域3001において撮像位置を「POS1」、画像から検出する位置を「B」と設定しており、メーカ設定領域3002において、マニピュレータ1のメーカを「メーカA」と設定している。ここでは、同じメーカのマニピュレータ1に異なる動作をさせている。
図31は、本発明の実施の形態2に係る画像処理システムの異なる動作条件に切り替え可能な動作プログラムの例示図である。図31に示すように、ソースコード3100は、画像処理装置3とのデータ通信を確立する命令である。ソースコード3101は、Val0の値に応じて動作条件の切り替えを実行する命令である。
具体的には、Val0の値が‘0’である場合、条件0に基づくソースコード3102を実行し、Val0の値が‘1’である場合、条件1に基づくソースコード3103を実行することになる。なお、ソースコード3100は、自動的に生成しても良いし、ユーザが書き加えても良い。
図32は、本発明の実施の形態2に係る画像処理システムにおける動作条件の切り替えが必要となるピッキングの実行を説明するための模式図である。図32に示すように、本実施の形態2に係る画像処理システムは、ワーク6A又はワーク6Bをピックアップ位置261からプレース位置262へと移動させる。
具体的には、撮像装置4でピックアップ位置261のワーク6A又はワーク6Bを撮像しながら、ワーク6A又はワーク6Bをマニピュレータ1のエンドエフェクタ5で把持し、プレース位置262まで移動してからワーク6A又はワーク6Bを解放する。同時に2つのワークを保持することはできないので、まずはワーク6Aを把持して移動する動作プログラムを、次にワーク6Bを把持して移動する動作プログラムを、それぞれ実行する。
図33A及び図33Bは、本発明の実施の形態2に係る画像処理システムの動作条件の切り替えを含むピックアップの処理手順を示すフローチャートである。図33A及び図33Bに示すように、ロボットコントローラ2は、動作条件の切り替えについて、画像処理装置3で設定を受け付けた条件がどの条件であるかを判断する(ステップS3301)。ロボットコントローラ2が、条件‘0’へ切り替えの設定を受け付けていると判断した場合(ステップS3301:‘0’)、ロボットコントローラ2は、条件‘0’への切替命令を画像処理装置3へ送信する(ステップS3302)。
切替命令としては、本実施の形態2に示すように、個別に切替命令を送信しても良いし、後述する撮像命令(撮像トリガ)に含ませても良い。つまり、撮像装置4で対象物6の撮像を開始するタイミングを示す撮像トリガで条件を切り替えても良い。撮像トリガごとに、少なくとも動作の種類及び動作順序を含む動作条件の設定を受け付けているので、撮像トリガに応じて動作条件を切り替えることができ、動作に応じた適切なタイミングで対象物6を撮像して、表示されている画像上の対象物6の位置座標を検出することが可能となる。
画像処理装置3は、切替命令を受信して(ステップS3303)、応答信号をロボットコントローラ2へ送信する(ステップS3304)。ロボットコントローラ2は、応答信号を受信して(ステップS3305)、位置POS0へマニピュレータ1のエンドエフェクタ5を移動させる(ステップS3306)。
ロボットコントローラ2は、撮像命令を画像処理装置3へ送信する(ステップS3307)。画像処理装置3は、撮像命令を受信して(ステップS3308)、ワーク6を撮像する(ステップS3309)。画像処理装置3は、ワーク6の画像を表示し、表示されている画像上のワーク6の位置座標(x、y)を検出して(ステップS3310)、キャリブレーションにより求めてある変換式を用いて位置座標(x’、y’)へ変換する(ステップS3311)。画像処理装置3は、変換された位置座標(x’、y’)をロボットコントローラ2へ送信する(ステップS3312)。
ロボットコントローラ2は、位置座標(x’、y’)を受信し(ステップS3313)、位置座標(x’、y’)で示されているワーク6を把持するピックアップ位置261へ、マニピュレータ1のエンドエフェクタ5を移動させる(ステップS3314)。ロボットコントローラ2は、エンドエフェクタ5にワーク6を把持させ(ステップS3315)、ワーク6を把持しながらエンドエフェクタ5をプレース位置262へ移動させて(ステップS3316)、ワーク6を解放させる(ステップS3317)。
ロボットコントローラ2が、条件‘1’へ切り替えの設定を受け付けていると判断した場合(ステップS3301:‘1’)、ロボットコントローラ2は、条件‘1’への切替命令を画像処理装置3へ送信する(ステップS3320)。
画像処理装置3は、切替命令を受信して(ステップS3321)、応答信号をロボットコントローラ2へ送信する(ステップS3322)。ロボットコントローラ2は、応答信号を受信して(ステップS3323)、位置POS1へマニピュレータ1のエンドエフェクタ5を移動させる(ステップS3324)。
ロボットコントローラ2は、撮像命令を画像処理装置3へ送信する(ステップS3325)。画像処理装置3は、撮像命令を受信して(ステップS3326)、ワーク6を撮像する(ステップS3327)。画像処理装置3は、ワーク6の画像を表示し、表示されている画像上のワーク6の位置座標(x、y)を検出して(ステップS3328)、キャリブレーションにより求めてある変換式を用いて位置座標(x’、y’)へ変換する(ステップS3329)。画像処理装置3は、変換された位置座標(x’、y’)をロボットコントローラ2へ送信する(ステップS3330)。
ロボットコントローラ2は、位置座標(x’、y’)を受信し(ステップS3331)、位置座標(x’、y’)で示されているワーク6を把持するピックアップ位置261へ、マニピュレータ1のエンドエフェクタ5を移動させる(ステップS3332)。ロボットコントローラ2は、エンドエフェクタ5にワーク6を把持させ(ステップS3333)、ワーク6を把持しながらエンドエフェクタ5をプレース位置262へ移動させて(ステップS3334)、ワーク6を解放させる(ステップS3335)。なお、破線で囲まれている範囲の処理、すなわちステップS3315、ステップS3317、ステップS3333、ステップS3335以外の処理は、マニピュレータ1の動作を制御する動作プログラムを自動生成することができる。
以上のように本実施の形態2によれば、画像処理装置3からロボットコントローラ2に対してマニピュレータ1のエンドエフェクタ5の動作を制御する移動命令、動作命令を送信することができるので、ユーザがマニピュレータ(ロボット)1の種別ごとに異なる機械語を理解する必要がなく、マニピュレータ1を試運転することにより正しく動作するか否かを確認することが可能となる。したがって、すべての動作プログラムが完成する都度、動作を確認する煩雑な手順が不要となるので、システムとして早期に立ち上げることが可能となる。
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。例えばロボットコントローラ2の代わりにモーションコントローラを用いることで、適用範囲を拡大することができる。
また、従来、ロボットコントローラ2で移動目標位置を取得する場合、画像処理装置3からは相対的な位置座標を受信していた。例えば、画像処理装置3では、移動することにより生ずる差分である、差分距離X(X方向の差分)、差分距離Y(Y方向の差分)及び差分角度(XY平面上での回転角度)θを画像から検出し、ロボットコントローラ2は、受信した差分距離X、差分距離Y及び差分角度θを基準位置に加算することにより、移動目標位置を特定していた。
しかし、本実施の形態では、基準位置を含む座標系を画像処理装置3に記憶しておくことができる。したがって、ロボットコントローラ2に対して、差分距離X、差分距離Y及び差分角度θという相対的な位置座標ではなく、画像処理装置3内で算出した移動目標位置の座標値そのものを送信することができる。
これにより、マニピュレータ1のエンドエフェクタ5を移動させる場合に、ロボットコントローラ2側で基準座標を記憶しておく必要がない。したがって、画像処理装置3のみで移動目標位置の座標値を出力することができ、ワーク6を交換するときに、改めて新たなワーク6について基準座標を設定する必要もなく、操作が煩雑にならない。
1 マニピュレータ(ロボット)
2 ロボットコントローラ
3 画像処理装置
4 撮像装置
5 エンドエフェクタ
6 対象物(ワーク)
31 制御部
32 メモリ
33 記憶装置
36 通信インタフェース

Claims (18)

  1. ロボットの動作を制御するロボットコントローラとデータ通信することが可能な通信装置と、前記ロボットによる操作対象である対象物を撮像する撮像装置とを有し、該撮像装置にて載置位置に載置された対象物を撮影することにより対象物の位置を検出し、ロボットのエンドエフェクタにより対象物を把持するピッキング動作を実行するための動作プログラムを生成する画像処理装置であって、
    前記ロボットコントローラに前記エンドエフェクタの移動命令を送信する移動命令送信手段と、
    前記移動命令を受けて移動した前記エンドエフェクタの位置座標である第一の座標値を取得する移動座標取得手段と、
    前記エンドエフェクタが前記移動命令を受けて移動した状態で、対象物を撮像するよう前記撮像装置に撮像トリガを送信する撮像制御手段と、
    前記撮像装置にて撮像された対象物の画像に基づいて、対象物を把持するための位置座標である第二の座標値を検出する画像検出手段と、
    前記第一の座標値へ前記エンドエフェクタを移動させる汎用動作と、前記撮像装置に前記撮像トリガを送信する汎用動作と、前記第二の座標値へ前記エンドエフェクタを移動させる汎用動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の汎用動作の選択を受け付け、選択を受け付けた複数の汎用動作の実行順序の設定を受け付ける動作設定受付手段と、
    前記動作設定受付手段で選択を受け付けた複数の汎用動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成することにより、前記ピッキング動作を実行するための動作プログラムの中で汎用動作に相当する部分を示すサンプルプログラムを生成するプログラム生成手段とを備え
    前記プログラム生成手段は、汎用動作とは異なる前記エンドエフェクタの詳細な動作に対応する動作プログラムを使用者が記述できるように、編集可能な形式で前記サンプルプログラムを出力することを特徴とする画像処理装置。
  2. 前記動作設定受付手段は、前記ロボットコントローラから受信する、前記撮像装置で対象物の撮像を開始するタイミングを示す撮像トリガ、又は処理切替命令ごとに、少なくとも汎用動作の種類及び汎用動作の実行順序を含む動作条件の設定を受け付けることを特徴とする請求項1に記載の画像処理装置。
  3. 前記動作設定受付手段は、前記エンドエフェクタに対する待機指令の設定を受け付けることを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記ロボットの種別の選択を受け付けるロボット選択受付手段を備え、
    前記プログラム生成手段は、選択を受け付けた前記ロボットの種別ごとに規定されたフォーマットに従って前記動作プログラムを生成することを特徴とする請求項1乃至3のいずれか一項に記載の画像処理装置。
  5. 前記プログラム生成手段は、前記ロボットコントローラとのデータ通信を確立する前記動作プログラムを生成することを特徴とする請求項1乃至4のいずれか一項に記載の画像処理装置。
  6. 前記移動命令送信手段は、前記第一の座標値又は前記第二の座標値へ前記エンドエフェクタを移動させる移動命令を前記ロボットコントローラへ送信することを特徴とする請求項1乃至5のいずれか一項に記載の画像処理装置。
  7. 前記移動命令送信手段は、撮像された対象物が表示されている画像上で指定を受け付けた位置に前記エンドエフェクタを移動させる移動命令を前記ロボットコントローラへ送信することを特徴とする請求項1乃至のいずれか一項に記載の画像処理装置。
  8. 前記エンドエフェクタの複数の第一の座標値を取得し、複数の第一の座標値の中から前記エンドエフェクタの移動先として一の第一の座標値の選択を受け付ける移動先選択手段を備えることを特徴とする請求項1乃至7のいずれか一項に記載の画像処理装置。
  9. ロボットの動作を制御するロボットコントローラと、
    該ロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットによる操作対象である対象物を撮像する撮像装置を含み、該撮像装置にて載置位置に載置された対象物を撮影することにより対象物の位置を検出し、ロボットのエンドエフェクタにより対象物を把持するピッキング動作を実行するための動作プログラムを生成する画像処理装置とで構成される画像処理システムであって、
    前記画像処理装置は、
    前記ロボットコントローラに前記エンドエフェクタの移動命令を送信する移動命令送信手段と、
    前記移動命令を受けて移動した前記エンドエフェクタの位置座標である第一の座標値を取得する移動座標取得手段と、
    前記エンドエフェクタが前記移動命令を受けて移動した状態で、対象物を撮像するよう前記撮像装置に撮像トリガを送信する撮像制御手段と、
    前記撮像装置にて撮像された対象物の画像に基づいて、対象物を把持するための位置座標である第二の座標値を検出する画像検出手段と、
    前記第一の座標値へ前記エンドエフェクタを移動させる汎用動作と、前記撮像装置に前記撮像トリガを送信する汎用動作と、前記第二の座標値へ前記エンドエフェクタを移動させる汎用動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の汎用動作の選択を受け付け、選択を受け付けた複数の汎用動作の実行順序の設定を受け付ける動作設定受付手段と
    前記動作設定受付手段で選択を受け付けた複数の汎用動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成することにより、前記ピッキング動作を実行するための動作プログラムの中で汎用動作に相当する部分を示すサンプルプログラムを生成するプログラム生成手段とを備え
    前記プログラム生成手段は、汎用動作とは異なる前記エンドエフェクタの詳細な動作に対応する動作プログラムを使用者が記述できるように、編集可能な形式で前記サンプルプログラムを出力することを特徴とする画像処理システム
  10. 前記動作設定受付手段は、前記ロボットコントローラから受信する、前記撮像装置で対象物の撮像を開始するタイミングを示す撮像トリガ、又は処理切替命令ごとに、少なくとも汎用動作の種類及び汎用動作の実行順序を含む動作条件の設定を受け付けることを特徴とする請求項9に記載の画像処理システム
  11. 前記動作設定受付手段は、前記エンドエフェクタに対する待機指令の設定を受け付けることを特徴とする請求項9又は10に記載の画像処理システム。
  12. 前記画像処理装置は、
    前記ロボットの種別の選択を受け付けるロボット選択受付手段を備え、
    前記プログラム生成手段は、選択を受け付けた前記ロボットの種別ごとに規定されたフォーマットに従って前記動作プログラムを生成することを特徴とする請求項9乃至11のいずれか一項に記載の画像処理システム。
  13. 前記プログラム生成手段は、前記ロボットコントローラとのデータ通信を確立する前記動作プログラムを生成することを特徴とする請求項9乃至12のいずれか一項に記載の画像処理システム。
  14. 前記移動命令送信手段は、
    前記第一の座標値又は前記第二の座標値へ前記エンドエフェクタを移動させる移動命令を前記ロボットコントローラへ送信することを特徴とする請求項9乃至13のいずれか一項に記載の画像処理システム。
  15. 前記移動命令送信手段は、
    撮像された対象物が表示されている画像上で指定を受け付けた位置に前記エンドエフェクタを移動させる移動命令を前記ロボットコントローラへ送信することを特徴とする請求項9乃至13のいずれか一項に記載の画像処理システム。
  16. 前記画像処理装置は、
    前記エンドエフェクタの複数の第一の座標値を取得し、複数の第一の座標値の中から前記エンドエフェクタの移動先として一の第一の座標値の選択を受け付ける移動先選択手段を備えることを特徴とする請求項9乃至15のいずれか一項に記載の画像処理システム。
  17. ロボットの動作を制御するロボットコントローラと、
    該ロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットによる操作対象である対象物を撮像する撮像装置を含み、該撮像装置にて載置位置に載置された対象物を撮影することにより対象物の位置を検出し、ロボットのエンドエフェクタにより対象物を把持するピッキング動作を実行するための動作プログラムを生成する画像処理装置とで構成される画像処理システムで実行することが可能な画像処理方法であって、
    前記画像処理装置は、
    前記ロボットコントローラに前記エンドエフェクタの移動命令を送信する工程と、
    前記移動命令を受けて移動した前記エンドエフェクタの位置座標である第一の座標値を取得する工程と、
    前記エンドエフェクタが前記移動命令を受けて移動した状態で、対象物を撮像するよう前記撮像装置に撮像トリガを送信する工程と、
    前記撮像装置にて撮像された対象物の画像に基づいて、対象物を把持するための位置座標である第二の座標値を検出する工程と、
    前記第一の座標値へ前記エンドエフェクタを移動させる汎用動作と、前記撮像装置に前記撮像トリガを送信する汎用動作と、前記第二の座標値へ前記エンドエフェクタを移動させる汎用動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の汎用動作の選択を受け付け、選択を受け付けた複数の汎用動作の実行順序の設定を受け付ける工程と、
    選択を受け付けた複数の汎用動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成することにより、前記ピッキング動作を実行するための動作プログラムの中で汎用動作に相当する部分を示すサンプルプログラムを生成する工程とを含み、
    汎用動作とは異なる前記エンドエフェクタの詳細な動作に対応する動作プログラムを使用者が記述できるように、編集可能な形式で前記サンプルプログラムを出力することを特徴とする画像処理方法
  18. ロボットの動作を制御するロボットコントローラとデータ通信することが可能な通信装置と、
    前記ロボットによる操作対象である対象物を撮像する撮像装置と
    を有し、該撮像装置にて載置位置に載置された対象物を撮影することにより対象物の位置を検出し、ロボットのエンドエフェクタにより対象物を把持するピッキング動作を実行するための動作プログラムを生成する画像処理装置で実行することが可能なコンピュータプログラムであって、
    前記画像処理装置を、
    前記ロボットコントローラに前記エンドエフェクタの移動命令を送信する移動命令送信手段、
    前記移動命令を受けて移動した前記エンドエフェクタの位置座標である第一の座標値を取得する移動座標取得手段、
    前記エンドエフェクタが前記移動命令を受けて移動した状態で、象物を撮像するよう前記撮像装置に撮像トリガを送信する撮像制御手段、
    前記撮像装置にて撮像された対象物の画像に基づいて、対象物を把持するための位置座標である第二の座標値を検出する画像検出手段、
    前記第一の座標値へ前記エンドエフェクタを移動させる汎用動作と、前記撮像装置に前記撮像トリガを送信する汎用動作と、前記第二の座標値へ前記エンドエフェクタを移動させる汎用動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の汎用動作の選択を受け付け、選択を受け付けた複数の汎用動作の実行順序の設定を受け付ける動作設定受付手段、及び
    前記動作設定受付手段で選択を受け付けた複数の汎用動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成することにより、前記ピッキング動作を実行するための動作プログラムの中で汎用動作に相当する部分を示すサンプルプログラムを生成するプログラム生成手段として機能させ、
    前記プログラム生成手段を、汎用動作とは異なる前記エンドエフェクタの詳細な動作に対応する動作プログラムを使用者が記述できるように、編集可能な形式で前記サンプルプログラムを出力する手段として機能させることを特徴とするコンピュータプログラム
JP2014262241A 2014-12-25 2014-12-25 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム Active JP6486678B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014262241A JP6486678B2 (ja) 2014-12-25 2014-12-25 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
US14/956,414 US10065320B2 (en) 2014-12-25 2015-12-02 Image processing apparatus, image processing system, image processing method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014262241A JP6486678B2 (ja) 2014-12-25 2014-12-25 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2016120565A JP2016120565A (ja) 2016-07-07
JP6486678B2 true JP6486678B2 (ja) 2019-03-20

Family

ID=56163182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014262241A Active JP6486678B2 (ja) 2014-12-25 2014-12-25 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US10065320B2 (ja)
JP (1) JP6486678B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6486679B2 (ja) 2014-12-25 2019-03-20 株式会社キーエンス 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
EP3189947A1 (de) * 2016-01-07 2017-07-12 Sick Ag Verfahren zum konfigurieren und zum betreiben einer überwachten automatisierten arbeitszelle und konfigurationsvorrichtung
JP6497374B2 (ja) * 2016-10-27 2019-04-10 株式会社安川電機 ロボットシステム、ロボットシステムの制御方法、動作指令生成装置及びプログラム
CN109407603B (zh) * 2017-08-16 2020-03-06 北京猎户星空科技有限公司 一种控制机械臂抓取物体的方法及装置
JP6810087B2 (ja) * 2018-03-29 2021-01-06 ファナック株式会社 機械学習装置、機械学習装置を用いたロボット制御装置及びロボットビジョンシステム、並びに機械学習方法
JP7069971B2 (ja) * 2018-03-30 2022-05-18 セイコーエプソン株式会社 制御装置、ロボット、およびロボットシステム
CN108858186B (zh) * 2018-05-30 2021-05-07 南昌大学 一种小车对红外物体检测、识别及跟踪方法
CN109531575A (zh) * 2018-12-29 2019-03-29 深圳市哎哟不错机器人科研有限公司 基于色彩控制的机器人
CN110275532B (zh) * 2019-06-21 2020-12-15 珠海格力智能装备有限公司 机器人的控制方法及装置、视觉设备的控制方法及装置
JP7408676B2 (ja) * 2019-10-28 2024-01-05 京セラ株式会社 塗装装置および払拭方法
JP7535400B2 (ja) * 2020-07-14 2024-08-16 株式会社キーエンス 画像処理装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60101609A (ja) * 1983-11-08 1985-06-05 Matsushita Electric Ind Co Ltd ロボツトの制御装置
JPH03126102A (ja) * 1989-10-12 1991-05-29 Sony Corp ロボット制御装置及び方法
JPH04134501A (ja) 1990-09-27 1992-05-08 Toshiba Corp ロボット制御装置
JPH0655476A (ja) * 1992-07-31 1994-03-01 Citizen Watch Co Ltd ロボット教示装置
JPH06149345A (ja) * 1992-11-04 1994-05-27 Yamatake Honeywell Co Ltd ロボットの動作教示装置
JPH06278064A (ja) * 1993-03-31 1994-10-04 Citizen Watch Co Ltd 視覚センサの座標変換方法
JPH07299793A (ja) * 1994-05-11 1995-11-14 Toyota Autom Loom Works Ltd ロボットの干渉防止制御装置
JPH08194518A (ja) * 1995-01-19 1996-07-30 Komatsu Ltd 作業ロボットの教示装置および作業プログラム作成装置
JPH0991022A (ja) 1995-09-20 1997-04-04 Yaskawa Electric Corp ロボット制御装置
JP4039595B2 (ja) * 1998-09-03 2008-01-30 リコーエレメックス株式会社 ロボットシステム
JP2000135689A (ja) * 1998-10-30 2000-05-16 Fanuc Ltd ロボット用画像処理装置
JP2000181522A (ja) * 1998-12-11 2000-06-30 Denso Corp ロボット装置
US6681151B1 (en) * 2000-12-15 2004-01-20 Cognex Technology And Investment Corporation System and method for servoing robots based upon workpieces with fiducial marks using machine vision
WO2003045639A2 (en) * 2001-11-28 2003-06-05 Evolution Robotics, Inc. Sensor and actuator abstraction and aggregation in a hardware abstraction layer for a robot
DE102004045933A1 (de) * 2004-09-22 2006-03-30 Siemens Ag Verfahren zum Betrieb einer Automatisierungseinrichtung bzw. Vorrichtung zur Durchführung des Verfahrens
US9195233B2 (en) * 2006-02-27 2015-11-24 Perrone Robotics, Inc. General purpose robotics operating system
JP5142243B2 (ja) * 2006-09-13 2013-02-13 独立行政法人産業技術総合研究所 ロボット作業教示システムおよびロボットに対する作業教示方法
JP4835616B2 (ja) * 2008-03-10 2011-12-14 トヨタ自動車株式会社 動作教示システム及び動作教示方法
JP5131139B2 (ja) * 2008-10-09 2013-01-30 セイコーエプソン株式会社 動作シーケンス作成装置、動作シーケンス作成装置の制御方法およびプログラム
JP5835926B2 (ja) * 2011-04-11 2015-12-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2014180720A (ja) * 2013-03-19 2014-09-29 Yaskawa Electric Corp ロボットシステム及びキャリブレーション方法
US9457470B2 (en) * 2013-04-05 2016-10-04 Abb Technology Ltd Robot system and method for calibration
JP5939213B2 (ja) * 2013-08-09 2016-06-22 株式会社安川電機 ロボット制御装置及びロボット制御方法
JP6486679B2 (ja) 2014-12-25 2019-03-20 株式会社キーエンス 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム

Also Published As

Publication number Publication date
JP2016120565A (ja) 2016-07-07
US20160184997A1 (en) 2016-06-30
US10065320B2 (en) 2018-09-04

Similar Documents

Publication Publication Date Title
JP6486678B2 (ja) 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
JP6410388B2 (ja) 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
EP2608938B1 (en) Vision-guided alignment system and method
JP6486679B2 (ja) 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
JP2017042859A (ja) ピッキングシステム、並びに、そのための処理装置、方法及びプログラム
JP5371927B2 (ja) 座標系校正方法及びロボットシステム
CN106182042B (zh) 借助相机选择设备或对象
JP5525953B2 (ja) 寸法測定装置、寸法測定方法及び寸法測定装置用のプログラム
CN105269578A (zh) 指示装置以及机器人系统
JP2016185572A (ja) ロボット、ロボット制御装置およびロボットシステム
US20170142340A1 (en) Image processing apparatus, robot system, robot, and image processing method
US11590657B2 (en) Image processing device, control method thereof, and program storage medium
CN108627515B (zh) 计算成为检查系统的检查对象外的图像区域的装置及方法
CN109945780B (zh) 物体检查系统以及物体检查方法
JP2013024773A (ja) 3次元計測方法
KR20130075712A (ko) 레이저비전 센서 및 그 보정방법
JP2003089086A (ja) ロボット制御装置
WO2021210456A1 (ja) ロボットの制御座標系における視覚センサの位置を取得する装置、ロボットシステム、方法、及びコンピュータプログラム
JP2020034484A (ja) 画像検査装置
JP2020034483A (ja) 画像測定装置
JP2018087715A (ja) 情報処理装置、情報処理方法及びプログラム
WO2022124232A1 (ja) 画像処理システム及び画像処理方法
JP2015058488A (ja) ロボット制御システム、ロボット、ロボット制御方法及びプログラム
JP2022017738A (ja) 画像処理装置
JP2014061578A (ja) ロボット、ロボットシステム、ロボット制御装置、ロボット制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190220

R150 Certificate of patent or registration of utility model

Ref document number: 6486678

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250