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

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

Info

Publication number
JP6486679B2
JP6486679B2 JP2014262243A JP2014262243A JP6486679B2 JP 6486679 B2 JP6486679 B2 JP 6486679B2 JP 2014262243 A JP2014262243 A JP 2014262243A JP 2014262243 A JP2014262243 A JP 2014262243A JP 6486679 B2 JP6486679 B2 JP 6486679B2
Authority
JP
Japan
Prior art keywords
image processing
end effector
coordinate
image
robot
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
JP2014262243A
Other languages
English (en)
Other versions
JP2016120567A (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 JP2014262243A priority Critical patent/JP6486679B2/ja
Priority to US14/955,067 priority patent/US10137574B2/en
Priority to DE102015226696.6A priority patent/DE102015226696B4/de
Priority to CN201510994020.XA priority patent/CN105729467B/zh
Publication of JP2016120567A publication Critical patent/JP2016120567A/ja
Application granted granted Critical
Publication of JP6486679B2 publication Critical patent/JP6486679B2/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/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • 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/39057Hand eye calibration, eye, camera on hand, end effector
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • G06T2207/30208Marker matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Description

本発明は、複雑なロボット動作制御プログラムを作成することなく、高い精度でキャリブレーションを実行することができる画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラムに関する。
撮像装置によりロボットの作業領域を撮像して、撮像された画像内のワークの位置を検出し、検出されたワークの位置情報を撮像された画像に基づいて算出することで、ロボットの動作を高い精度で制御する制御システムが多々開発されている。例えば特許文献1では、撮像装置を含むセンサにより検出された情報に基づいてロボットの動作を制御するロボット制御装置が開示されている。また、特許文献2では、外部のコンピュータでコンパイルしたロードモジュール(ロボット動作制御プログラム)を送信することでロボットの動作を制御するロボット制御装置が開示されている。
このように従来のロボット制御システムでは、精緻な動作制御をするべく、画像処理装置において表示される座標系で算出された位置座標を、ロボットコントローラがエンドエフェクタを動作させる座標系の位置座標へと座標変換をする必要がある。座標変換を行うための変換式を算出する処理をキャリブレーションと呼んでいる。ここで、エンドエフェクタとは、例えばワークを把持して固着できるロボットアームの先端部分を意味する。
キャリブレーションの実行時には、例えばロボットのエンドエフェクタにてワークを把持し、エンドエフェクタを複数の所定の位置に移動させた状態におけるロボットの位置座標と、ワークを撮像装置で撮像し、撮像された画像に基づいて検出した画像上での位置座標とを比較することで、変換式を算出することができる。
特開平04−134501号公報 特開平09−091022号公報
キャリブレーションを正しく実行するためには、ロボットコントローラがエンドエフェクタを適切な位置に移動させ、移動先において撮像指示信号を画像処理装置に対して送信し、次の位置にエンドエフェクタを移動させる。これを複数回繰り返すようシーケンシャルなロボット動作制御プログラムをユーザが作成する必要があった。
また、ユーザは、撮像指示信号を受信してワークの位置を検出するための処理を画像処理装置において行う必要があった。つまり、ユーザがロボット動作制御プログラム及び画像処理装置の設定の両方に熟練が必要であり、システム全体の立ち上げまでに相当の時間を要する遠因ともなっている。
さらに、ロボットコントローラがロボットの動作制御の主体となっており、撮像装置を含むセンサの動作まで制御している。したがって、ロボット動作制御プログラムに精通していなければ所望の動作をさせることが困難であり、キャリブレーションも正確に実行させることができないという問題点もあった。
本発明は斯かる事情に鑑みてなされたものであり、複雑なロボット動作制御プログラムを作成することなく、高い精度でキャリブレーションを実行することができる画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラムを提供することを目的とする。
記目的を達成するために第発明に係る画像処理システムは、ロボットの動作を制御するロボットコントローラと、該ロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットのエンドエフェクタにより把持されたキャリブレーションターゲットを撮像する撮像装置を含む画像処理装置とで構成される画像処理システムであって、前記画像処理装置は、撮像の対象となる前記キャリブレーションターゲットと前記撮像装置との相対位置を変化させるよう、複数の所定の位置に前記エンドエフェクタを移動させるための移動命令コード及び移動先の位置座標を含む移動命令を前記ロボットコントローラに対して送信する命令送信手段と、前記移動命令に応じて移動した前記エンドエフェクタの各位置座標である第一の座標値を取得する移動座標取得手段と、前記エンドエフェクタが移動した各位置座標にて該エンドエフェクタにて把持されたキャリブレーションターゲットを撮像するよう前記撮像装置の動作を制御する撮像制御手段と、前記撮像装置により撮像された前記キャリブレーションターゲットの画像に基づいて前記キャリブレーションターゲットの位置座標である第二の座標値を検出する画像検出手段と、取得した複数の前記第一の座標値と、検出した複数の前記第二の座標値とに基づいて、両座標間の変換規則を算出するキャリブレーション実行手段とを備え、前記ロボットコントローラは、前記移動命令に含まれる移動命令コードを検出し、前記画像処理装置から送信された共通のフォーマットの移動命令を、ロボットの種別に応じた前記エンドエフェクタの移動命令に変換するプログラム変換手段を備えることを特徴とする。
また、第発明に係る画像処理システムは、第発明において、前記画像処理装置は、撮像された前記キャリブレーションターゲットの画像を表示する表示手段と、表示されている前記キャリブレーションターゲットの画像上で、位置の指定を受け付ける位置指定受付手段とを備え、指定を受け付けた位置の第二の座標値を前記変換規則に基づいて前記第一の座標値に変換することが好ましい。
また、第発明に係る画像処理システムは、第1又は第2発明において、前記画像処理装置は、前記移動座標取得手段により取得した前記第一の座標値を、前記変換規則に基づいて前記第二の座標値に変換し、表示されている前記キャリブレーションターゲットの画像上に重畳して表示することが好ましい。
次に、上記目的を達成するために第発明に係る画像処理方法は、ロボットの動作を制御するロボットコントローラと、該ロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットのエンドエフェクタにより把持されたキャリブレーションターゲットを撮像する撮像装置を含む画像処理装置とで構成される画像処理システムで実行することが可能な画像処理方法であって、前記画像処理装置が前記ロボットコントローラに対して、撮像の対象となる前記キャリブレーションターゲットと前記撮像装置との相対位置を変化させるよう、複数の所定の位置に前記エンドエフェクタを移動させるための移動命令コード及び移動先の位置座標を含む移動命令を送信する工程と、前記ロボットコントローラが、前記移動命令に含まれる移動命令コードを検出し、前記画像処理装置から送信された共通のフォーマットの移動命令を、ロボットの種別に応じた前記エンドエフェクタの移動命令に変換する工程と、前記ロボットコントローラが、前記移動命令に応じて前記エンドエフェクタを前記移動先の位置座標に移動させる工程と、前記画像処理装置が、前記ロボットコントローラから前記移動命令に応じて移動した前記エンドエフェクタの各位置座標である第一の座標値を取得する工程と、前記画像処理装置が、前記エンドエフェクタが移動した各位置座標にて該エンドエフェクタにて把持されたキャリブレーションターゲットを撮像するよう前記撮像装置の動作を制御する工程と、前記画像処理装置が、前記撮像装置により撮像された前記キャリブレーションターゲットの画像に基づいて前記キャリブレーションターゲットの位置座標である第二の座標値を検出する工程と、前記画像処理装置が、取得した複数の前記第一の座標値と、検出した複数の前記第二の座標値とに基づいて、両座標間の変換規則を算出する工程とを含むことを特徴とする。
次に、上記目的を達成するために第発明に係るコンピュータプログラムは、ロボットの動作を制御するロボットコントローラとデータ通信することが可能な通信装置と、前記ロボットのエンドエフェクタにより把持されたキャリブレーションターゲットを撮像する撮像装置とを有する画像処理装置で実行することが可能なコンピュータプログラムであって、前記画像処理装置を、撮像の対象となる前記キャリブレーションターゲットと前記撮像装置との相対位置を変化させるよう、複数の所定の位置に前記エンドエフェクタを移動させるための移動命令コード及び移動先の位置座標を含む移動命令を前記ロボットコントローラに対して送信する命令送信手段、前記ロボットコントローラにより前記移動命令に含まれる移動命令コードが検出され、前記画像処理装置から送信された共通のフォーマットの移動命令を、ロボットの種別に応じて変換された前記エンドエフェクタの移動命令に応じて移動した前記エンドエフェクタの各位置座標である第一の座標値を取得する移動座標取得手段、前記エンドエフェクタが移動した各位置座標にて該エンドエフェクタにて把持されたキャリブレーションターゲットを撮像するよう前記撮像装置の動作を制御する撮像制御手段、前記撮像装置により撮像された前記キャリブレーションターゲットの画像に基づいて前記キャリブレーションターゲット位置座標である第二の座標値を検出する画像検出手段、及び取得した複数の前記第一の座標値と、検出した複数の前記第二の座標値とに基づいて、両座標間の変換規則を算出するキャリブレーション実行手段として機能させることを特徴とする。
1発明、第4発明及び第5発明では、画像処理装置は、ロボットコントローラに対して、撮像の対象となるキャリブレーションターゲットと撮像装置との相対位置を変化させるよう、複数の所定の位置にエンドエフェクタを移動させるための移動命令コード及び移動先の位置座標を含む移動命令をロボットコントローラに対して送信する。ロボットコントローラは、移動命令に含まれる移動命令コードを検出し、画像処理装置から送信された共通のフォーマットの移動命令を、ロボットの種別に応じたエンドエフェクタの移動命令に変換し、移動命令に応じてエンドエフェクタを移動先の位置座標に移動させる。画像処理装置は、ロボットコントローラから移動命令に応じて移動したエンドエフェクタの各位置座標である第一の座標値を取得する。エンドエフェクタが移動した各位置座標にて該エンドエフェクタにて把持されたキャリブレーションターゲットを撮像する。画像処理装置は、撮像装置により撮像されたキャリブレーションターゲットの画像に基づいてキャリブレーションターゲットの位置座標である第二の座標値を検出する。画像処理装置は、取得した複数の第一の座標値と、検出した複数の第二の座標値とに基づいて、両座標間の変換規則を算出する。これにより、画像処理装置からロボットコントローラに対してロボットの動作を制御する移動命令を送信することができるので、ユーザがロボットの種別ごとに異なる機械語を理解する必要がなく、ロボットの動作を高い精度で制御できるよう、ロボットコントローラが認識する位置座標(第一の座標値)と、撮像されたキャリブレーションターゲットの画像から検出した位置座標(第二の座標値)との変換規則を求めることが可能となる。
第2発明では、画像処理装置は、撮像されたキャリブレーションターゲットの画像を表示し、表示されているキャリブレーションターゲットの画像上で、位置の指定を受け付け、指定を受け付けた位置の第二の座標値を変換規則に基づいて第一の座標値に変換するので、画像上でロボットの移動先を指示することができ、受け付けた指定通りの位置にロボットを移動させることが可能となる。
発明では、画像処理装置は、取得した第一の座標値を、変換規則に基づいて第二の座標値に変換し、表示されているキャリブレーションターゲットの画像上に重畳して表示するので、ロボットの移動後の位置を表示されているキャリブレーションターゲットの画像上で確認することが可能となる。
本発明によれば、画像処理装置からロボットコントローラに対してロボットの動作を制御する移動命令を送信することができるので、ユーザがロボットの種別ごとに異なる機械語を理解する必要がなく、ロボットの動作を高い精度で制御できるよう、ロボットコントローラが認識する位置座標(第一の座標値)と、撮像された対象物の画像から検出した位置座標(第二の座標値)との変換規則を求めることが可能となる。
本発明の実施の形態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に係るロボットコントローラのプログラムの例示図である。 本発明の実施の形態3に係る画像処理装置のプログラム生成画面の例示図である。 本発明の実施の形態3に係る画像処理システムにおける試運転時の動作を説明するための模式図である。 本発明の実施の形態3に係る画像処理システムの試運転時の処理手順を示すフローチャートである。 本発明の実施の形態に係る画像処理システムの三次元のキャリブレーションの処理手順を示すフローチャートである。
以下、本発明の実施の形態に係る画像処理システムについて、図面に基づいて具体的に説明する。
(実施の形態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 0006486679
(式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に係る画像処理装置3の機能ブロック図である。画像処理装置3の命令送信部301は、撮像の対象となる対象物と撮像装置4との相対位置を変化させるよう、複数の所定の位置にエンドエフェクタ5を移動させる移動命令をロボットコントローラ2に対して送信する。
命令送信部301は、少なくとも移動指示及び移動先の位置座標を含む移動命令をロボットコントローラ2へ送信する。ロボットコントローラ2は、移動命令に含まれる位置座標へとエンドエフェクタ5を移動させる。
移動座標取得部302は、移動命令に応じて移動したエンドエフェクタ5の各位置座標である第一の座標値(x’、y’)を、ロボットコントローラ2から取得する。移動したエンドエフェクタ5の位置座標と、撮像された対象物6の画像上での位置座標との位置ずれを調整することができる。
なお、移動座標取得部302において取得する第一の座標値(x’、y’)は、画像処理装置3からの移動命令に応じてエンドエフェクタ5が移動した各位置において、ロボットコントローラ2から取得した座標値としているが、画像処理装置3において事前に設定されたマニピュレータ(ロボット)1の移動目標座標をそのまま第一の座標値としても良い。
撮像制御部303は、エンドエフェクタ5が移動した各移動先にて対象物を撮像するよう撮像装置4の動作を制御する。これにより、ロボットコントローラ2から取得した移動先のエンドエフェクタ5の位置座標である第一の座標値(x’、y’)に対応する領域を撮像するよう制御することで、撮像された画像に基づいて対象物6の実際の位置座標である第二の座標値(x、y)を検出することができる。
画像検出部304は、各移動先にて撮像された対象物6の画像に基づいて対象物の位置座標である第二の座標値(x、y)を検出する。キャリブレーション実行部309は、取得した複数の第一の座標値(x’、y’)と、検出した複数の第二の座標値(x、y)とに基づいて、両座標間の変換規則を算出する。具体的には(式1)に座標値を代入して、係数a、b、c、d、e、fを求める。
図5は、本発明の実施の形態1に係る画像処理システムのキャリブレーションの処理手順を示すフローチャートである。図5に示すように、画像処理装置3は、マニピュレータ1に撮像対象となるマークを付与したワーク6を、キャリブレーションターゲットとして把持させた状態で、キャリブレーションの開始位置を設定する(ステップS501)。図6は、本発明の実施の形態1に係る画像処理装置3の開始位置設定画面の例示図である。
図6に示すように、撮像された対象物6の画像は画像表示領域65に表示されている。キャリブレーションの実行ボタンのうち、開始位置設定ボタン61が選択されると、開始位置設定画面66がポップアップ表示され、開始位置を設定する。この場合、ジョグ操作ボタン67を選択することで、マニピュレータ1のエンドエフェクタ5を所定の位置に移動させることができる。したがって、移動先を確認しながらキャリブレーションの開始位置を設定することができる。
なお、移動パターンを設定する前に、検出ツールを設定することができる。図7は、本発明の実施の形態1に係る画像処理装置3の検出ツール設定画面の例示図である。
図7に示すように、キャリブレーションの実行ボタンのうち、検出ツール設定ボタン62が選択されると、検出ツール選択領域71が表示される。ユーザは、画像表示領域65に表示されている画像を見ながら、検出ツール選択領域71において検出ツールを選択する。図7の例では、輪郭検出ツールを選択している。これ以外に、例えば濃淡検出ツールを選択しても良い。
図5に戻って、画像処理装置3は、マニピュレータ1のエンドエフェクタ5の移動パターンを設定する(ステップS502)。図8及び図9は、本発明の実施の形態1に係る画像処理装置3の移動パターンの設定画面の例示図である。
図8に示すように、キャリブレーションの実行ボタンのうち、キャリブレーションボタン63が選択されると、移動パターン設定画面81がポップアップ表示される。ここで、移動パターンの設定ボタン82を選択すると、図9に示すように、詳細設定画面83がポップアップ表示される。
詳細設定画面83では、キャリブレーション実行時の検出パターンを設定する。例えば、3×3の9個、5×5の25個等の設定を受け付ける。所定の移動距離を設定することで、詳細設定画面83の下部に表示されるような移動パターンが設定される。
図5に戻って、画像処理装置3は移動命令をロボットコントローラ2へ送信する(ステップS503)。ロボットコントローラ2は、移動命令を受信して(ステップS504)、移動命令をマニピュレータ1の種別に応じて解釈する(ステップS505)。すなわち、マニピュレータ1を稼働させることが可能な機械語のロードモジュールに翻訳する。
ロボットコントローラ2は、エンドエフェクタ5を移動命令で指定されている位置へと移動させ(ステップS506)。ロボットコントローラ2は、エンドエフェクタ5の移動先の位置座標(x’、y’)を取得して(ステップS507)、取得した位置座標(x’、y’)を画像処理装置3へ送信する(ステップS508)。
画像処理装置3は、ロボットコントローラ2から、取得した位置座標(x’、y’)を受信し(ステップS509)、エンドエフェクタ5の動作領域を撮像する(ステップS510)。画像処理装置3は、動作領域の画像を表示し、表示されている画像上の位置座標(x、y)を検出する(ステップS511)。
なお、表示されている画像上のどの位置の位置座標(x、y)を検出するかは、設定されている検出ツールを用いて画像中から検出する。例えば検出ツールとして、輪郭検出ツールが選択されている場合、検出される輪郭領域を指定する必要がある。
図10及び図11は、本発明の実施の形態1に係る画像処理装置3の輪郭検出ツールを用いる場合の検出条件設定画面の例示図である。図10に示すように、ツール表示領域101において、選択されている「輪郭検出ツール」が表示されている。そして、パターン編集領域102において、輪郭パターンの形状を設定する。図10の例では矩形領域に設定されている。
そして、画像表示領域65に表示されている対象物において、マウス等でドラッグ操作をしながら、輪郭パターンを検出する検出領域103を設定する。図10の例では、対象物を囲むように設定しているが、特にこのような設定に限定されるものではない。
検出領域103が設定されると、図11に示すように、検出条件設定画面104において、検出条件を設定する。検出条件としては、例えば対象物の傾きの許容範囲である「角度範囲」、検出する個数を示す「検出個数」、どの程度まで類似していれば検出するかを示す「相関値下限」等を設定する。
また、検出ツールとして、濃淡検出ツールを選択しても良い。濃淡検出ツールが選択されている場合であっても、検出する領域を設定する必要がある。
図12及び図13は、本発明の実施の形態1に係る画像処理装置3の濃淡検出ツールを用いる場合の検出条件設定画面の例示図である。図12に示すように、ツール表示領域101において、選択されている「濃淡検出ツール」が表示されている。そして、パターン編集領域102において、輪郭パターンの形状を設定する。図12の例では矩形領域に設定されている。
そして、画像表示領域65に表示されている対象物において、マウス等でドラッグ操作をしながら、輪郭パターンを検出する検出領域103を設定する。図12の例では、対象物を囲むように設定しているが、特にこのような設定に限定されるものではない。
検出領域103が設定されると、図13に示すように、検出条件設定領域131において、検出条件を設定する。検出条件としては、例えば対象物の傾きの許容範囲である「角度範囲」、検出する個数を示す「検出個数」、どの程度まで類似していれば検出するかを示す「相関値下限」等の他、検出感度(サーチ感度)あるいは検出精度(サーチ精度)についても設定することができる。形状が同じであっても、濃淡差等に違いが生じている場合が想定されるからである。
図5に戻って、画像処理装置3は、キャリブレーション用のすべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出したか否かを判断する(ステップS512)。画像処理装置3が、まだすべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出していないと判断した場合(ステップS512:NO)、画像処理装置3は、次の移動命令を発行し(ステップS513)、処理をステップS503へ戻して、上述した処理を繰り返す。
画像処理装置3が、すべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出したと判断した場合(ステップS512:YES)、画像処理装置3は、(式1)に従って変換式を算出する(ステップS514)。具体的には、6つの係数a、b、c、d、e、fを求める。
なお、移動命令で移動先を指定する方法は、特に限定されるものではない。例えば事前に複数の移動先を記憶させておき、その中から選択する方法であっても良い。図14は、本発明の実施の形態1に係る画像処理装置3の移動先選択画面の例示図である。図14に示すように、移動先選択領域141に、既に記憶されている移動先の候補が表示されている。ユーザは、この中から1つの移動先を選択すれば良い。
また、表示されている画像上で位置を指定しても良い。図15は、本発明の実施の形態1に係る画像処理装置3の移動先選択画面の他の例示図である。図15の例では、移動先選択領域141が存在しない。あくまでも撮像された画像が表示されている画像表示領域65において、現在の位置を「十」印151で表示している。ユーザは、マウス等のクリック操作により、移動先の位置「十」印152を指定すれば良い。
この場合、キャリブレーションの実行により、(式1)の係数a、b、c、d、e、fが特定されることを前提として、図4において、座標検出部305、座標変換部306、表示部307、及び位置指定受付部308を備えることが必要となる。
座標検出部305は、撮像された対象物6の画像に基づいて対象物6の実際の位置座標である第二の座標値(x、y)を検出する。そして、座標変換部306は、検出された第二の座標値(x、y)を変換規則に基づいて第一の座標値(x’、y’)に変換する。
表示部307は、撮像された対象物6の画像を表示し、位置指定受付部308は、表示されている対象物6の画像上で、位置の指定を受け付ける。これにより、指定を受け付けた位置の第二の座標値を検出することができるので、表示されている画像を見ながらマニピュレータ1のエンドエフェクタ5に対して正確な移動命令を発行することができる。
また、移動後の位置座標を、表示されている対象物6の画像上に重畳して表示しても良い。すなわち、移動座標取得部302により取得した第一の座標値を、算出された変換規則に基づいて第二の座標値に変換し、表示されている対象物6の画像上に重畳して表示すれば良い。
また、ロボットコントローラ2は、動作を制御するマニピュレータ(ロボット)1の種別に応じて、移動命令を変換する必要がある。図16は、本発明の実施の形態1に係るロボットコントローラ2の機能ブロック図である。
図16に示すように、ロボットコントローラ2は、プログラム変換部201を備えている。プログラム変換部201は、マニピュレータ(ロボット)1の種別ごとに提供されており、移動命令をマニピュレータ1の種別に応じたエンドエフェクタ5への移動命令に変換する。これにより、使用するマニピュレータ1の種別に応じた変換プログラムをロボットコントローラ2にインストールすることができ、マニピュレータ1の種別に応じたエンドエフェクタ5の移動命令に変換することができる。
図17は、本発明の実施の形態1に係るロボットコントローラ2の変換プログラムの処理手順を示すフローチャートである。図17に示すように、ロボットコントローラ2は、画像処理装置3とデータ通信を確立し(ステップS1701)、移動命令を受信したか否かを判断する(ステップS1702)。
ロボットコントローラ2が、受信していないと判断した場合(ステップS1702:NO)、ロボットコントローラ2は、受信待ち状態となる。ロボットコントローラ2が、受信したと判断した場合(ステップS1702:YES)、ロボットコントローラ2は、最初の移動命令を解釈する(ステップS1703)。
ロボットコントローラ2は、解釈した移動命令の内容に沿って移動命令を変換して、マニピュレータ1のエンドエフェクタ5を移動させる(ステップS1704)。ロボットコントローラ2は、すべての移動命令を解釈したか否かを判断する(ステップS1705)。
ロボットコントローラ2が、まだ解釈していない移動命令があると判断した場合(ステップS1705:NO)、ロボットコントローラ2は、次の移動命令を解釈して(ステップS1706)、処理をステップS1704へ戻して上述した処理を繰り返す。ロボットコントローラ2が、すべての移動命令を解釈したと判断した場合(ステップS1705:YES)、ロボットコントローラ2は、処理を終了する。
図18は、本発明の実施の形態1に係るロボットコントローラ2の変換プログラムの例示図である。図18に示すように、ソースコード1801は、画像処理装置3とのデータ通信を確立する命令である。
ソースコード1802は、画像処理装置3から移動命令を受信する命令である。ソースコード1803は、移動命令を解釈する命令である。図18に示すソースコードでは、例えば移動命令「MV、100、200、300」を受信した場合、命令コード「MV」を検出し、移動先の位置として(100、200、300)を記憶することになる。このように移動命令のデータ構造に合わせた変換プログラムを準備することにより、外部から移動命令を受け付けることができる。
また、一般に移動命令のデータ構造は、ロボットメーカーに応じて相違する。そこで、ロボットメーカーごとに変換プログラムを事前に用意しておき、使用するロボットメーカーに応じた変換プログラムをロボットコントローラ2にインストールする。これにより、ロボットコントローラ2は、画像処理装置3から送信された共通のフォーマットの移動命令を、ロボットの種別に応じたエンドエフェクタ5の移動命令に変換することができる。
なお、上述した例では、移動命令を文字列で記載しており、イーサネット(登録商標)のノン−プロトコル通信で送信しているが、例えばロボットコントローラ2の共有メモリにおいて、アドレスAAAには命令を、アドレスBBBには命令のパラメータを、それぞれ割り当てることで文字列を用いずに、数値データをやり取りすることで命令体系を構成することもできる。画像処理装置3から数値での移動命令を受信した場合、アドレスAAAは移動命令「MV」に相当する数値番号で、アドレスBBBは「100、200、300」で書き換えられ、マニピュレータ1に対する移動命令として発行される。
もちろん、これ以外のプロトコル、例えばイーサネット(登録商標)のプロトコル通信、PLCリンク、CC−Link、PROFINET等の各プロトコル通信を用いても良い。
また、上述した実施の形態1では、撮像装置4をマニピュレータ1とは別個に備えることを前提としている(以下、オフハンド型式)。図19は、本発明の実施の形態1に係るオフハンド型式の画像処理システムの構成を示す模式図である。
図19では、マニピュレータ1に撮像対象となるマーク60を付与したワーク(対象物)6を、キャリブレーションターゲットとして把持させた状態で、エンドエフェクタ5を移動させて撮像装置4で撮像する。
図20は、本発明の実施の形態1に係る画像処理装置3のオフハンド型式での撮像位置を示す模式図である。図20(a)は、エンドエフェクタ5の移動順序を示しており、原点(0、0)から反時計回りに一定間隔で移動する。一方、図20(b)は、撮像装置4でマーク60を撮像する順序を示している。撮像装置4はマニピュレータ1とは別個に固定的に備えているので、図20(a)と同様に、原点(0、0)から反時計回りに一定間隔で撮像する。
一方、撮像装置4をマニピュレータ1のエンドエフェクタ5に一体として装着しても良い。この場合、撮像装置4はエンドエフェクタ5と一体となって移動する(以下、オンハンド型式)。図21は、本発明の実施の形態1に係るオンハンド型式の画像処理システムの構成を示す模式図である。
図21では、撮像装置4がマニピュレータ1のエンドエフェクタ5と一体に設けられているので、撮像対象となるマーク60は撮像装置4で撮像することが可能な領域に付与される。そして、エンドエフェクタ5を移動させつつ撮像装置4で撮像する。
図22は、本発明の実施の形態1に係る画像処理装置3のオンハンド型式での撮像位置を示す模式図である。図22(a)は、エンドエフェクタ5の移動順序を示しており、原点(0、0)から反時計回りに一定間隔で移動する。一方、図22(b)は、撮像装置4でマーク60を撮像する順序を示している。撮像装置4はマニピュレータ1と一体となって移動するので、原点(0、0)から図22(a)と点対称となるように一定間隔で撮像する。すなわち、移動距離に‘−1’を乗算した位置で撮像する。
図23は、本発明の実施の形態1に係る画像処理装置3の処理手順の違いを示すフローチャートである。図23(a)は、オフハンド型式での処理手順を示すフローチャートを、図23(b)は、オンハンド型式での処理手順を示すフローチャートを、それぞれ示している。
まずオフハンド型式では、図23(a)に示すように、マニピュレータ1に撮像対象となるマーク60を付与したワーク6を把持させた状態で(ステップS2301)、画像処理装置3は、移動先の位置座標(x’、y’)を取得し(ステップS2302)、エンドエフェクタ5の動作領域を撮像する(ステップS2303)。画像処理装置3は、動作領域の画像を表示し、表示されている画像上の位置座標(x、y)を検出する(ステップS2304)。
画像処理装置3は、キャリブレーション用のすべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出したか否かを判断する(ステップS2305)。画像処理装置3が、まだすべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出していないと判断した場合(ステップS2305:NO)、画像処理装置3は、次の移動命令を発行し(ステップS2306)、処理をステップS2302へ戻して、上述した処理を繰り返す。
画像処理装置3が、すべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出したと判断した場合(ステップS2305:YES)、画像処理装置3は、(式1)に従って変換式を算出する(ステップS2307)。具体的には、6つの係数a、b、c、d、e、fを求める。
次に、オンハンド型式では、図23(b)に示すように、撮像対象となるマーク60を撮像装置4の直下に設定した状態で(ステップS2311)、画像処理装置3は、移動先の位置座標(x’、y’)を取得し(ステップS2312)、エンドエフェクタ5の動作領域を撮像する(ステップS2313)。画像処理装置3は、動作領域の画像を表示し、表示されている画像上の位置座標(x、y)を検出する(ステップS2314)。
画像処理装置3は、キャリブレーション用のすべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出したか否かを判断する(ステップS2315)。画像処理装置3が、まだすべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出していないと判断した場合(ステップS2315:NO)、画像処理装置3は、次の移動命令を発行し(ステップS2316)、処理をステップS2312へ戻して、上述した処理を繰り返す。
画像処理装置3が、すべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出したと判断した場合(ステップS2315:YES)、画像処理装置3は、位置座標(x、y)に‘−1’を乗算して(ステップS2317)、(式1)に従って変換式を算出する(ステップS2318)。具体的には、6つの係数a、b、c、d、e、fを求める。
以上のように本実施の形態1によれば、画像処理装置3からロボットコントローラ2に対してマニピュレータ(ロボット)1のエンドエフェクタ5の動作を制御する移動命令を送信することができるので、ユーザがマニピュレータ(ロボット)1の種別ごとに異なる機械語を理解する必要がなく、マニピュレータ1の動作を高い精度で制御できるよう、ロボットコントローラ2が認識する位置座標(第一の座標値)と、撮像された対象物(ワーク)6の画像から検出した位置座標(第二の座標値)との変換規則を求めることが可能となる。
(実施の形態2)
本発明の実施の形態2に係る画像処理システムの構成、画像処理装置3の構成は、実施の形態1と同様であることから、同一の機能を有する構成要素については同一の符号を付することにより詳細な説明は省略する。本実施の形態2は、キャリブレーションの結果を用いてワーク(対象物)6のピッキングを実行する点で、実施の形態1とは相違する。
図24は、本発明の実施の形態2に係る画像処理システムにおけるピッキングの実行を説明するための模式図である。図24に示すように、本実施の形態2に係る画像処理システムは、ワーク6をピックアップ位置241からプレース位置242へと移動させる。具体的には、撮像装置4でピックアップ位置241のワーク6を撮像しながら、ワーク6をマニピュレータ1のエンドエフェクタ5で把持し、プレース位置242まで移動してからワーク6を解放する。
図25は、本発明の実施の形態2に係る画像処理システムのピッキングの処理手順を示すフローチャートである。図25に示すように、ロボットコントローラ2は、マニピュレータ1のエンドエフェクタ5により撮像対象であるワーク6を撮像装置4で撮像することができない事態を回避するために、マニピュレータ1のエンドエフェクタ5を撮像領域内から移動する(ステップS2501)。
ロボットコントローラ2は、撮像命令を画像処理装置3へ送信する(ステップS2502)。画像処理装置3は、撮像命令を受信して(ステップS2503)、ワーク6を撮像する(ステップS2504)。画像処理装置3は、ワーク6の画像を表示し、表示されている画像上のワーク6の位置座標(x、y)を検出して(ステップS2505)、キャリブレーションにより求めてある変換式を用いて位置座標(x’、y’)へ変換する(ステップS2506)。
図26は、本発明の実施の形態2に係る画像処理システムのワーク6の位置検出画面の例示図である。図26に示すように、撮像されたワーク6の画像が画像表示領域65に表示されている。
十印261が、ワーク6の画像が表示されていた位置座標を、十印262が、ワーク6の移動先を示している。
図27は、本発明の実施の形態2に係る画像処理システムのワーク6の移動画面の例示図である。図27の例では、エンドエフェクタ5が撮像されているので、ワーク6がエンドエフェクタ5の陰となって画像に表示されていない。
しかし、画像上に重畳して、ワーク6の画像が表示されていた位置座標を示す十印261、ワーク6の移動先を示す十印262が表示されている。したがって、ワーク6自体の画像が表示されていない場合であっても、エンドエフェクタ5を移動させて、図26のような表示状態にしたうえで移動先を指定しても良い。
なお、キャリブレーションの結果を複数記憶しておき、いずれかの結果を選択するようにしても良い。図28は、本発明の実施の形態2に係る画像処理システムのキャリブレーション結果の選択画面の例示図である。
図28に示すように、キャリブレーションデータ表示ボタン282をマウス操作等によりクリックすると、プルダウンメニュー281に記憶されているキャリブレーション結果が表示される。すなわち、キャリブレーションごとに係数が特定された(式1)の変換規則が記憶されているので、記憶されている変換規則を選択可能に表示する。
ユーザは、プルダウンメニュー281から、一のキャリブレーション結果を選択する。これにより、マニピュレータ1を高い精度で動作制御することができる。
図25に戻って、画像処理装置3は、変換された実際の位置座標(x’、y’)をロボットコントローラ2へ送信する(ステップS2507)。ロボットコントローラ2は、位置座標(x’、y’)を受信し(ステップS2508)、ワーク6を把持するピックアップ位置241へエンドエフェクタ5を移動させる(ステップS2509)。ロボットコントローラ2は、エンドエフェクタ5にワーク6を把持させる(ステップS2510)。
ロボットコントローラ2は、ワーク6を把持しながらエンドエフェクタ5をプレース位置242へ移動させ(ステップS2511)、エンドエフェクタ5にワーク6を解放させる(ステップS2512)。なお、破線で囲まれている範囲の処理、すなわちステップS2510、ステップS2512以外の処理は、動作プログラムを自動生成することができる。
また、マニピュレータ1のエンドエフェクタ5の位置と、画像上での位置との位置合わせをしておくことが好ましい。実際の位置座標(x’、y’)を、対象物6の画像に基づいて検出された画像上の位置座標(x、y)から高い精度で求めるためである。
図29は、本発明の実施の形態2に係る画像処理システムのマスター位置の登録処理を説明するための模式図である。まず、図29(a)に示すように、ワーク6をエンドエフェクタ5で把持し、把持した状態の位置座標(x’、y’)を記憶する。
次に、図29(b)に示すように、ロボットコントローラ2は、ワーク6を把持した状態のエンドエフェクタ5を直下に載置して、ワーク6を解放する。図29(c)に示すように、ワーク6を解放した後、エンドエフェクタ5を直上に移動し、撮像装置4によりワーク6を撮像する。マニピュレータ1のエンドエフェクタ5が、撮像装置4により撮像された画像に含まれる場合、すなわちエンドエフェクタ5によりワーク6の画像を撮像することができない場合には、エンドエフェクタ5が映り込まないようエンドエフェクタ5を移動させてから撮像装置4で撮像する。撮像された画像は、画像処理装置3の記憶装置33に記憶される。
このように、ワーク6を把持する位置の画像及び位置座標(x’、y’)を対応付けて記憶することにより、エンドエフェクタ5の位置とワーク6の位置とにずれが生じている場合であっても、ワーク6を把持することができる位置までエンドエフェクタ5を移動させることができるよう、動作を制御することが可能となる。
図30は、本発明の実施の形態2に係る画像処理装置3のマスター位置の登録画面の例示図である。図30に示すように、撮像装置4が、エンドエフェクタ5によりワーク6を把持した状態で、エンドエフェクタ5の中心位置TCPの座標値及び中心位置TCPからオフセットした位置座標の座標値を取得する。取得したエンドエフェクタ5の中心位置TCPの座標値及び中心位置TCPからオフセットした位置座標の座標値は、座標表示領域3001に表示される。
そして、移動ボタン3002をマウス等によりクリック操作することにより、登録したエンドエフェクタ5の中心位置TCPに、マニピュレータ1のエンドエフェクタ5を容易に戻すことが可能となる。
マニピュレータ1の動作を制御するための、ロボットコントローラ2で実行されるプログラムは自動的に生成しても良い。図31は、本発明の実施の形態2に係る画像処理装置3のプログラム生成画面の例示図である。
図31において、シーケンス選択領域311では、生成されるプログラムで実行したい処理をプルダウンメニューの中から選択する。また、生成されるプログラムで制御する対象となるマニピュレータ(ロボット)1の製造元であるメーカを、メーカ選択領域312において選択する。生成されるプログラムは、メーカごとに仕様が異なるからである。
すべての設定が完了した状態で、プログラム出力ボタン313をマウス等によりクリック操作することにより、ロボットコントローラ2のプログラムが生成される。図32は、本発明の実施の形態2に係るロボットコントローラ2のプログラムの例示図である。
図32に示すように、ソースコード321は、画像処理装置3とのデータ通信を確立する命令である。ソースコード322は、撮像装置4を退避させる命令である。ソースコード323は、画像処理装置3に対する座標値取得命令である。
ソースコード324は、画像処理装置3から座標値を受信する命令である。ソースコード325は、実際のマニピュレータ1の位置座標に変換する命令である。
ソースコード326は、マニピュレータ1のエンドエフェクタ5を出力位置へ移動させる命令である。ソースコード327は、コメント欄であり、ユーザ自身がソースコードを記述することで、より詳細なプログラムを生成することができる。ソースコード328は、画像処理装置3とのデータ通信を解除する命令である。
なお、上述した例では、移動命令を文字列で記載しており、イーサネット(登録商標)のノン−プロトコル通信で送信しているが、例えばロボットコントローラ2の共有メモリにおいて、アドレスAAAには命令を、アドレスBBBには命令のパラメータを、それぞれ割り当てることで文字列を用いずに、数値データをやり取りすることで命令体系を構成することもできる。画像処理装置3から数値での移動命令を受信した場合、アドレスAAAは移動命令「MV」に相当する数値番号で、アドレスBBBは「100、200、300」で書き換えられ、マニピュレータ1に対する移動命令として発行される。
もちろん、これ以外のプロトコル、例えばイーサネット(登録商標)のプロトコル通信、PLCリンク、CC−Link、PROFINET等の各プロトコル通信を用いても良い。
以上のように本実施の形態2によれば、画像処理装置3からロボットコントローラ2に対してマニピュレータ1のエンドエフェクタ5の動作を制御する移動命令、動作命令を送信することができるので、マニピュレータ(ロボット)1の種別ごとに異なる機械語を理解する必要がなく、マニピュレータ1の動作を高い精度で制御することができる。
(実施の形態3)
本発明の実施の形態3に係る画像処理システムの構成、画像処理装置3の構成は、実施の形態1及び2と同様であることから、同一の機能を有する構成要素については同一の符号を付することにより詳細な説明は省略する。本実施の形態3は、キャリブレーションの結果を用いて試運転を行う点で、実施の形態1及び2とは相違する。
マニピュレータ1の試運転をするための、ロボットコントローラ2で実行されるプログラムは、実施の形態2と同様、自動的に生成される。図33は、本発明の実施の形態3に係る画像処理装置3のプログラム生成画面の例示図である。
図33において、シーケンス選択領域331では、生成されるプログラムで実行したい処理をプルダウンメニューの中から選択する。また、生成されるプログラムで制御する対象となるマニピュレータ(ロボット)1の製造元であるメーカを、メーカ選択領域332において選択する。生成されるプログラムは、メーカごとに仕様が異なるからである。
図33の例では、登録されている位置座標(図33では識別子として「POS000」)へ移動し、撮像開始のタイミングを示す撮像トリガを発行して、ワーク6を把持する位置まで移動する動作を制御するプログラムを生成するよう指定している。全ての指定が完了した時点で、プログラム出力ボタン333をマウス操作等によりクリックすることで、ロボットコントローラ2のプログラムが生成される。
試運転時の動作は、図34に示すようになる。図34は、本発明の実施の形態3に係る画像処理システムにおける試運転時の動作を説明するための模式図である。
本実施の形態3に係る画像処理システムは、まず図34(a)に示すように、ワーク6を撮像できるよう、マニピュレータ1のエンドエフェクタ5をワーク6が載置されている位置とは異なる位置「POS000」へ移動させる。この状態で、図34(b)に示すように、撮像トリガに応じてワーク6を撮像し、最後に図34(c)に示すように、ワーク6を把持するべく、マニピュレータ1のエンドエフェクタ5をワーク6が載置されている位置(検出位置)へと移動させる。
図35は、本発明の実施の形態3に係る画像処理システムの試運転時の処理手順を示すフローチャートである。図35に示すように、画像処理装置3は、所定位置(図33の例では「POS000」)への移動命令をロボットコントローラ2へ送信する(ステップS3501)。
ロボットコントローラ2は、画像処理装置3からの移動命令を受信し(ステップS3502)、移動命令をマニピュレータ1の種別に応じて解釈する(ステップS3503)。すなわち、マニピュレータ1を稼働させることが可能な機械語のロードモジュールに翻訳する。
ロボットコントローラ2は、エンドエフェクタ5を移動命令で指定されている位置(図33の例では「POS000」)へと移動させ(ステップS3504)、撮像命令を画像処理装置3へ送信する(ステップS3505)。
画像処理装置3は、撮像命令を受信し(ステップS3506)、エンドエフェクタ5の動作領域を撮像する(ステップS3507)。画像処理装置3は、エンドエフェクタ5の動作領域の画像を表示し、表示されている画像上のワーク6の位置座標(x、y)を検出し(ステップS3508)、キャリブレーションにより求めてある変換式を用いて位置座標(x’、y’)へ変換する(ステップS3509)。
画像処理装置3は、位置座標(x’、y’)への移動命令をロボットコントローラ2へ送信する(ステップS3510)。ロボットコントローラ2は、移動命令を受信して(ステップS3511)、変換された位置座標(x’、y’)へエンドエフェクタ5を移動する(ステップS3512)
以上のように本実施の形態3によれば、画像処理装置3からロボットコントローラ2に対してマニピュレータ1のエンドエフェクタ5の動作を制御する移動命令、動作命令を送信することができるので、マニピュレータ(ロボット)1の種別ごとに異なる機械語を理解する必要がなく、マニピュレータ1を試運転することにより正しく動作するか否かを確認することが可能となる。
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。例えばロボットコントローラ2の代わりにモーションコントローラを用いることで、適用範囲を拡大することができる。
また、キャリブレーションとして二次元のアフィン変換を用いる例について説明しているが、もちろん三次元のアフィン変換を用いても良い。この場合、アフィン変換の変換式は、(式2)のようになる。
Figure 0006486679
具体的には、複数の撮像装置4により空間に保持されたワーク6を撮像することで、画像上でのワーク6の位置座標である座標値(x、y、z)と、実際の位置座標である空間座標値(x’、y’、z’)との間の変換式の各係数を求めることになる。
図36は、本発明の実施の形態に係る画像処理システムの三次元のキャリブレーションの処理手順を示すフローチャートである。図36に示すように、画像処理装置3は、移動命令をロボットコントローラ2へ送信する(ステップS3601)。ロボットコントローラ2は、移動命令を受信して(ステップS3602)、移動命令をマニピュレータ1の種別に応じて解釈する(ステップS3603)。すなわち、マニピュレータ1を稼働させることが可能な機械語のロードモジュールに翻訳する。
ロボットコントローラ2は、エンドエフェクタ5を移動命令で指定されている位置へと移動させ(ステップS3604)。ロボットコントローラ2は、エンドエフェクタ5の移動先の位置座標(x’、y’、z’)を取得して(ステップS3605)、取得した位置座標(x’、y’、z’)を画像処理装置3へ送信する(ステップS3606)。
画像処理装置3は、ロボットコントローラ2から、取得した位置座標(x’、y’、z’)を受信し(ステップS3607)、エンドエフェクタ5の動作領域を撮像する(ステップS3608)。画像処理装置3は、動作領域の画像を表示し、表示されている画像上の位置座標(x、y、z)を検出する(ステップS3609)。
画像処理装置3は、キャリブレーション用のすべての位置座標(x’、y’、z’)について画像上の位置座標(x、y、z)を検出したか否かを判断する(ステップS3610)。画像処理装置3が、まだすべての位置座標(x’、y’、z’)について画像上の位置座標(x、y、z)を検出していないと判断した場合(ステップS3610:NO)、画像処理装置3は、次の移動命令を発行し(ステップS3611)、処理をステップS3601へ戻して、上述した処理を繰り返す。
画像処理装置3が、すべての位置座標(x’、y’、z’)について画像上の位置座標(x、y、z)を検出したと判断した場合(ステップS3610:YES)、画像処理装置3は、(式2)に従って変換式を算出する(ステップS3612)。具体的には、12個の係数axx〜azz、bx 、by 、bz を求めることになる。
1 マニピュレータ(ロボット)
2 ロボットコントローラ
3 画像処理装置
4 撮像装置
5 エンドエフェクタ
6 対象物(ワーク)
31 制御部
32 メモリ
33 記憶装置
36 通信インタフェース(通信装置)

Claims (5)

  1. ロボットの動作を制御するロボットコントローラと
    該ロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットのエンドエフェクタにより把持されたキャリブレーションターゲットを撮像する撮像装置を含む画像処理装置とで構成される画像処理システムであって、
    前記画像処理装置は、
    撮像の対象となる前記キャリブレーションターゲットと前記撮像装置との相対位置を変化させるよう、複数の所定の位置に前記エンドエフェクタを移動させるための移動命令コード及び移動先の位置座標を含む移動命令を前記ロボットコントローラに対して送信する命令送信手段と、
    前記移動命令に応じて移動した前記エンドエフェクタの各位置座標である第一の座標値を取得する移動座標取得手段と、
    前記エンドエフェクタが移動した各位置座標にて該エンドエフェクタにて把持されたキャリブレーションターゲットを撮像するよう前記撮像装置の動作を制御する撮像制御手段と、
    前記撮像装置により撮像された前記キャリブレーションターゲットの画像に基づいて前記キャリブレーションターゲットの位置座標である第二の座標値を検出する画像検出手段と、
    取得した複数の前記第一の座標値と、検出した複数の前記第二の座標値とに基づいて、両座標間の変換規則を算出するキャリブレーション実行手段と
    を備え
    前記ロボットコントローラは、
    前記移動命令に含まれる移動命令コードを検出し、前記画像処理装置から送信された共通のフォーマットの移動命令を、ロボットの種別に応じた前記エンドエフェクタの移動命令に変換するプログラム変換手段
    を備えることを特徴とする画像処理システム
  2. 前記画像処理装置は、
    撮像された前記キャリブレーションターゲットの位置座標である前記第二の座標値を検出する座標検出手段と、
    検出された前記第二の座標値を前記変換規則に基づいて前記第一の座標値に変換する座標変換手段と、
    撮像された前記キャリブレーションターゲットの画像を表示する表示手段と、
    表示されている前記キャリブレーションターゲットの画像上で、位置の指定を受け付ける位置指定受付手段と
    を備え、
    前記座標変換手段により、指定を受け付けた位置の第二の座標値を前記変換規則に基づいて前記第一の座標値に変換することを特徴とする請求項1に記載の画像処理システム
  3. 前記画像処理装置は、
    前記移動座標取得手段により取得した前記第一の座標値を、前記変換規則に基づいて前記第二の座標値に変換し、表示されている前記キャリブレーションターゲットの画像上に重畳して表示することを特徴とする請求項1又は2に記載の画像処理システム
  4. ロボットの動作を制御するロボットコントローラと、
    該ロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットのエンドエフェクタにより把持されたキャリブレーションターゲットを撮像する撮像装置を含む画像処理装置とで構成される画像処理システムで実行することが可能な画像処理方法であって、
    前記画像処理装置が前記ロボットコントローラに対して、撮像の対象となる前記キャリブレーションターゲットと前記撮像装置との相対位置を変化させるよう、複数の所定の位置に前記エンドエフェクタを移動させるための移動命令コード及び移動先の位置座標を含む移動命令を送信する工程と、
    前記ロボットコントローラが、前記移動命令に含まれる移動命令コードを検出し、前記画像処理装置から送信された共通のフォーマットの移動命令を、ロボットの種別に応じた前記エンドエフェクタの移動命令に変換する工程と、
    前記ロボットコントローラが、前記移動命令に応じて前記エンドエフェクタを前記移動先の位置座標に移動させる工程と、
    前記画像処理装置が、前記ロボットコントローラから前記移動命令に応じて移動した前記エンドエフェクタの各位置座標である第一の座標値を取得する工程と、
    前記画像処理装置が、前記エンドエフェクタが移動した各位置座標にて該エンドエフェクタにて把持されたキャリブレーションターゲットを撮像するよう前記撮像装置の動作を制御する工程と、
    前記画像処理装置が、前記撮像装置により撮像された前記キャリブレーションターゲットの画像に基づいて前記キャリブレーションターゲットの位置座標である第二の座標値を検出する工程と、
    前記画像処理装置が、取得した複数の前記第一の座標値と、検出した複数の前記第二の座標値とに基づいて、両座標間の変換規則を算出する工程と
    を含むことを特徴とする画像処理方法
  5. ロボットの動作を制御するロボットコントローラとデータ通信することが可能な通信装置と、
    前記ロボットのエンドエフェクタにより把持されたキャリブレーションターゲットを撮像する撮像装置と
    を有する画像処理装置で実行することが可能なコンピュータプログラムであって、
    前記画像処理装置を、
    撮像の対象となる前記キャリブレーションターゲットと前記撮像装置との相対位置を変化させるよう、複数の所定の位置に前記エンドエフェクタを移動させるための移動命令コード及び移動先の位置座標を含む移動命令を前記ロボットコントローラに対して送信する命令送信手段、
    前記ロボットコントローラにより前記移動命令に含まれる移動命令コードが検出され、前記画像処理装置から送信された共通のフォーマットの移動命令を、ロボットの種別に応じて変換された前記エンドエフェクタの移動命令に応じて移動した前記エンドエフェクタの各位置座標である第一の座標値を取得する移動座標取得手段、
    前記エンドエフェクタが移動した各位置座標にて該エンドエフェクタにて把持されたキャリブレーションターゲットを撮像するよう前記撮像装置の動作を制御する撮像制御手段、
    前記撮像装置により撮像された前記キャリブレーションターゲットの画像に基づいて前記キャリブレーションターゲットの位置座標である第二の座標値を検出する画像検出手段、及び
    取得した複数の前記第一の座標値と、検出した複数の前記第二の座標値とに基づいて、両座標間の変換規則を算出するキャリブレーション実行手段
    として機能させることを特徴とするコンピュータプログラム
JP2014262243A 2014-12-25 2014-12-25 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム Active JP6486679B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014262243A JP6486679B2 (ja) 2014-12-25 2014-12-25 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
US14/955,067 US10137574B2 (en) 2014-12-25 2015-12-01 Image processing apparatus, image processing system, image processing method, and computer program
DE102015226696.6A DE102015226696B4 (de) 2014-12-25 2015-12-23 Bildverarbeitungsvorrichtung, Bildverarbeitungssystem, Bildverarbeitungsverfahren und Computerprogramm
CN201510994020.XA CN105729467B (zh) 2014-12-25 2015-12-25 图像处理设备、图像处理***、图像处理方法

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2016120567A JP2016120567A (ja) 2016-07-07
JP6486679B2 true JP6486679B2 (ja) 2019-03-20

Family

ID=56116857

Family Applications (1)

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

Country Status (4)

Country Link
US (1) US10137574B2 (ja)
JP (1) JP6486679B2 (ja)
CN (1) CN105729467B (ja)
DE (1) DE102015226696B4 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6486678B2 (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
CN109689310A (zh) * 2016-09-13 2019-04-26 Abb瑞士股份有限公司 对工业机器人编程的方法
JP7179439B2 (ja) * 2016-11-28 2022-11-29 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP6892286B2 (ja) 2017-03-03 2021-06-23 株式会社キーエンス 画像処理装置、画像処理方法、及びコンピュータプログラム
CN115855022A (zh) * 2017-04-07 2023-03-28 辉达公司 使用深度神经网络执行自主路径导航
JP6897396B2 (ja) * 2017-07-28 2021-06-30 セイコーエプソン株式会社 制御装置、ロボットシステムおよび制御方法
JP6881188B2 (ja) * 2017-09-27 2021-06-02 オムロン株式会社 位置検出装置およびプログラム
CN110125926B (zh) * 2018-02-08 2021-03-26 比亚迪股份有限公司 自动化的工件取放方法及***
JP2020013242A (ja) * 2018-07-17 2020-01-23 富士ゼロックス株式会社 ロボット制御システム、ロボット装置およびプログラム
JP2020025992A (ja) * 2018-08-09 2020-02-20 株式会社東芝 制御装置、制御方法、およびプログラム
CN111971529A (zh) * 2018-09-03 2020-11-20 Abb瑞士股份有限公司 用于管理机器人***的方法和装置
JP6871220B2 (ja) * 2018-11-08 2021-05-12 ファナック株式会社 制御システム
CN109309791B (zh) * 2018-11-09 2021-01-29 珠海格力智能装备有限公司 控制相机拍照方法和***
JP7250489B2 (ja) * 2018-11-26 2023-04-03 キヤノン株式会社 画像処理装置およびその制御方法、プログラム
US20220088784A1 (en) * 2019-01-21 2022-03-24 Abb Schweiz Ag Method and Apparatus for Monitoring Robot System
US10369698B1 (en) * 2019-03-07 2019-08-06 Mujin, Inc. Method and system for performing automatic camera calibration for robot control
US10906184B2 (en) 2019-03-29 2021-02-02 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
CN110275532B (zh) * 2019-06-21 2020-12-15 珠海格力智能装备有限公司 机器人的控制方法及装置、视觉设备的控制方法及装置
JP2021037587A (ja) * 2019-09-03 2021-03-11 株式会社デンソー 部品挿入装置および部品の挿入方法
DE102020106998B4 (de) 2020-03-13 2023-05-25 Gottfried Wilhelm Leibniz Universität Hannover Verfahren zum Kalibrieren eines Roboters und entsprechender Roboter
CN114310901B (zh) * 2022-01-14 2023-09-26 北京京东乾石科技有限公司 用于机器人的坐标系标定方法、装置、***以及介质

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4456961A (en) * 1982-03-05 1984-06-26 Texas Instruments Incorporated Apparatus for teaching and transforming noncoincident coordinate systems
JPH04134501A (ja) 1990-09-27 1992-05-08 Toshiba Corp ロボット制御装置
JPH08174454A (ja) * 1994-12-22 1996-07-09 Kobe Steel Ltd 産業用ロボットの軌跡表示装置
JPH08286726A (ja) * 1995-04-12 1996-11-01 Hitachi Ltd ロボットの教示補正装置
JPH0991022A (ja) 1995-09-20 1997-04-04 Yaskawa Electric Corp ロボット制御装置
JP3655083B2 (ja) * 1998-02-25 2005-06-02 富士通株式会社 ロボットの位置決めを行うインタフェース装置
JP3051387B1 (ja) * 1998-12-25 2000-06-12 川崎重工業株式会社 ロボットのプログラム変換装置
JP3803755B2 (ja) * 1999-12-29 2006-08-02 川崎重工業株式会社 ロボットシステムおよびその利用方法
JP3556589B2 (ja) 2000-09-20 2004-08-18 ファナック株式会社 位置姿勢認識装置
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
AU2002357040A1 (en) * 2001-11-28 2003-06-10 Evolution Robotics, Inc. Sensor and actuator abstraction and aggregation in a hardware abstraction layer for a robot
JP4274558B2 (ja) * 2004-09-15 2009-06-10 富士フイルム株式会社 キャリブレーション方法
JP3999790B2 (ja) * 2005-03-18 2007-10-31 日本電信電話株式会社 機器プラットフォームへの接続装置
JP2007061983A (ja) * 2005-09-01 2007-03-15 Fanuc Ltd ロボット監視システム
US9195233B2 (en) * 2006-02-27 2015-11-24 Perrone Robotics, Inc. General purpose robotics operating system
JP4869852B2 (ja) * 2006-09-28 2012-02-08 株式会社ダイヘン 搬送用ロボットの教示方法
KR20080088165A (ko) * 2007-03-29 2008-10-02 삼성중공업 주식회사 로봇 캘리브레이션 방법
JP4835616B2 (ja) * 2008-03-10 2011-12-14 トヨタ自動車株式会社 動作教示システム及び動作教示方法
US9393694B2 (en) 2010-05-14 2016-07-19 Cognex Corporation System and method for robust calibration between a machine vision system and a robot
JP2012003727A (ja) * 2010-06-21 2012-01-05 Canon Inc 画像処理装置およびその方法
CN102294695A (zh) 2010-06-25 2011-12-28 鸿富锦精密工业(深圳)有限公司 机器人标定方法及标定***
JP5810562B2 (ja) * 2011-03-15 2015-11-11 オムロン株式会社 画像処理システムに向けられたユーザ支援装置、そのプログラムおよび画像処理装置
US9188973B2 (en) * 2011-07-08 2015-11-17 Restoration Robotics, Inc. Calibration and transformation of a camera system's coordinate system
JP5915214B2 (ja) * 2012-02-01 2016-05-11 セイコーエプソン株式会社 ロボット装置、組立て方法、及び組立てプログラム
JP6000579B2 (ja) * 2012-03-09 2016-09-28 キヤノン株式会社 情報処理装置、情報処理方法
CN104797386A (zh) * 2012-11-30 2015-07-22 株式会社安川电机 机器人***
JP2014128840A (ja) * 2012-12-28 2014-07-10 Kanto Seiki Kk ロボット制御システム
JP6108860B2 (ja) * 2013-02-14 2017-04-05 キヤノン株式会社 ロボットシステム及びロボットシステムの制御方法
JP2014180720A (ja) * 2013-03-19 2014-09-29 Yaskawa Electric Corp ロボットシステム及びキャリブレーション方法
CN103273496B (zh) * 2013-05-08 2015-07-15 长沙长泰机器人有限公司 一种利用智能相机在机器人搬运***中定位工件的方法
JP6486678B2 (ja) 2014-12-25 2019-03-20 株式会社キーエンス 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
JP6396516B2 (ja) * 2017-01-12 2018-09-26 ファナック株式会社 視覚センサのキャリブレーション装置、方法及びプログラム

Also Published As

Publication number Publication date
DE102015226696B4 (de) 2024-05-16
CN105729467B (zh) 2020-11-27
DE102015226696A1 (de) 2016-06-30
JP2016120567A (ja) 2016-07-07
US10137574B2 (en) 2018-11-27
CN105729467A (zh) 2016-07-06
US20160184995A1 (en) 2016-06-30

Similar Documents

Publication Publication Date Title
JP6486679B2 (ja) 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
CN110154017B (zh) 输送机跟踪***以及校准方法
JP6486678B2 (ja) 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
US20170259433A1 (en) Robot control device, information processing device, and robot system
KR20190044496A (ko) 자동화 장치
EP2835229A2 (en) Robot control apparatus and method for controlling robot
JPH0475887A (ja) 視覚センサのキャリブレーション方法
JP2016185572A (ja) ロボット、ロボット制御装置およびロボットシステム
KR20190027584A (ko) 카메라와 로봇 핸드의 캘리브레이션 방법 및 장치
JP2018024044A (ja) 情報処理システム、情報処理装置、ワークの位置特定方法、およびワークの位置特定プログラム
JP6326765B2 (ja) 教示装置、ロボット、ロボットシステム、方法、及びプログラム
JP2014128840A (ja) ロボット制御システム
JP7250489B2 (ja) 画像処理装置およびその制御方法、プログラム
WO2018043524A1 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
JP2020028957A (ja) 干渉回避装置およびロボットシステム
JP2010094777A (ja) 遠隔操作支援装置
JP2018202542A (ja) 計測装置、システム、制御方法及び物品の製造方法
JP6410388B2 (ja) 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
JP6390088B2 (ja) ロボット制御システム、ロボット、プログラム及びロボット制御方法
JP2006224291A (ja) ロボットシステム
CN111823277A (zh) 一种基于机器视觉的物体抓取平台及方法
JP6529758B2 (ja) 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
WO2023013740A1 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
JP7366264B2 (ja) ロボット教示方法及びロボット作業方法
CN116079750A (zh) 机器人示教***

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: 20180813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181015

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: 20190129

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: 6486679

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250