WO2022107684A1 - パラメータを調整する装置、ロボットシステム、方法、及びコンピュータプログラム - Google Patents

パラメータを調整する装置、ロボットシステム、方法、及びコンピュータプログラム Download PDF

Info

Publication number
WO2022107684A1
WO2022107684A1 PCT/JP2021/041616 JP2021041616W WO2022107684A1 WO 2022107684 A1 WO2022107684 A1 WO 2022107684A1 JP 2021041616 W JP2021041616 W JP 2021041616W WO 2022107684 A1 WO2022107684 A1 WO 2022107684A1
Authority
WO
WIPO (PCT)
Prior art keywords
work
image data
processor
model
parameter
Prior art date
Application number
PCT/JP2021/041616
Other languages
English (en)
French (fr)
Inventor
潤 和田
Original Assignee
ファナック株式会社
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 ファナック株式会社 filed Critical ファナック株式会社
Priority to US18/252,189 priority Critical patent/US20230405850A1/en
Priority to DE112021004779.5T priority patent/DE112021004779T5/de
Priority to CN202180075789.5A priority patent/CN116472551A/zh
Priority to JP2022563719A priority patent/JPWO2022107684A1/ja
Publication of WO2022107684A1 publication Critical patent/WO2022107684A1/ja

Links

Images

Classifications

    • 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/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • 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/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • 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/40053Pick 3-D object from pile of objects
    • 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/40499Reinforcement learning algorithm
    • 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/40564Recognize shape, contour of object, extract position and orientation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • 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/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Definitions

  • Servo motors 29 are provided on each component of the robot 12 (robot base 18, swivel body 20, lower arm 22, upper arm 24, wrist 26). These servomotors 29 rotate each movable element of the robot 12 (swivel body 20, lower arm 22, upper arm 24, wrist 26, wrist flange 26b) around the drive shaft in response to a command from the control device 16. Move it. As a result, the robot 12 can move the end effector 28 and arrange it at an arbitrary position and posture.
  • the processor 30 operates the robot 12 to perform a work handling operation in which the work W piled up in bulk in the container B is gripped by the end effector 28 and picked up.
  • the processor 30 first images the work W in the container B with the visual sensor 14.
  • the processor 30 acquires the parameter PM for collating the work model WM that models the work W with the work feature WP of the work W imaged by the visual sensor 14. Then, the processor 30 applies the parameter PM to a predetermined algorithm AL (software), and collates the work model WM with the work feature WP according to the algorithm AL, so that the sensor coordinate system of the work W reflected in the image data ID 1 is used.
  • the data (specifically, the coordinates) of the position (specifically, the position and the posture) in C3 is acquired.
  • the processor 30 acquires the position data in the robot coordinate system C1 of the imaged work W by converting the acquired position of the sensor coordinate system C3 into the robot coordinate system C1.
  • the processor 30 adjusts so as to optimize the parameter PM by using the work feature WP of the work W imaged by the visual sensor 14.
  • FIG. 6 shows an example of the image data ID 2 generated by this step S11.
  • the processor 30 arranges the work model WM in the virtual space defined by the sensor coordinate system C3, and generates the image data ID 2 of the virtual space in which the work model WM is arranged together with the work feature WP of the work W. Further, the processor 30 sets the work coordinate system C4 together with the work model WM in the sensor coordinate system C3.
  • This work coordinate system C4 is a coordinate system that defines the position (specifically, the position and the posture) of the work model WM.
  • the processor 30 uses the parameter PM 1 stored in the memory 32 at the start of the step S11 to set the position of the work W in the image data ID 2 as the detection position DP 1 .
  • Ask When obtaining the detection position DP 1 , the processor 30 applies the parameter PM 1 to the algorithm AL, and collates the work model WM with the work feature WP reflected in the image data ID 2 according to the algorithm AL.
  • the processor 30 determines the coordinates (in the sensor coordinate system C3) of the work coordinate system C4 set in the work model WM.
  • x, y, z, W, P, R) is detected as the detection position DP1 .
  • the coordinates (x, y, z) indicate the origin position of the work coordinate system C4 in the sensor coordinate system C3
  • the coordinates (W, P, R) indicate the attitude of the work coordinate system C4 with respect to the sensor coordinate system C3. So-called yaw, pitch, roll).
  • the above-mentioned parameter PM 1 is for collating the work model WM with the work feature WP.
  • the size SZ, the image roughness (or resolution) ⁇ at the time of collation, and the data (for example, the work model WM and the work feature WP) that specify which feature points of the work model WM and the work feature WP are collated with each other. Includes data that identifies the "contour" to match.
  • the processor 30 acquires the detection position DP 1 (x, y, z, W, P, R) by collating the work model WM and the work feature WP with each other using the parameter PM 1 . Therefore, in the present embodiment, the processor 30 functions as a position detection unit 54 (FIG. 2) for obtaining the detection position DP 1 using the parameter PM 1 .
  • step S26 the processor 30 updates the parameter PM n .
  • the processor 30 changes the parameter PM n (for example, the displacement amount E, the size SZ, or the image roughness ⁇ ) by the change amount ⁇ n determined in the latest step S25, thereby changing the parameter PM n .
  • step S4 that is, the process of acquiring the matching position
  • the same process as the flow shown in FIG. 5 is assigned the same step number, and duplicate description will be omitted.
  • step S4 shown in FIG. 9 the processor 30 executes steps S31 and S32 after step S11.
  • the processor 30 may erroneously display the work model WM at an inappropriate position.
  • FIG. 10 shows an example of the image data ID 2 in which the work model WM is displayed at an inappropriate position.
  • a feature F of a member different from the work W is reflected.
  • the processor 30 may not be able to recognize the work feature WP reflected in the image data ID 2, and may fail to display the work model WM.
  • An example of this is shown in FIG. In the image data ID 2 shown in FIG. 11, the work model WM corresponding to the work feature WP on the upper right is not displayed among the total of three work feature WPs. In such a case, the operator needs to add the work model WM to the image data ID 2.
  • step S11 When the image data ID 2 shown in FIG. 11 is displayed in step S11, the operator operates the input device 40 while visually recognizing the image data ID 2 to add the image data ID 2 (sensor coordinates) of the work model WM to be added.
  • Input data IP4 that specifies a position (for example, coordinates) in the system C3) is input.
  • step S32 the processor 30 functions as an image generation unit 52 and deletes the displayed work model WM from the image data ID 2 according to the received input data IP3 or IP4, or further converts the work model WM into the image data ID 2. Display additionally. For example, when the input data IP3 is received, the processor 30 deletes the work model WM displayed at the position corresponding to the feature F from the image data ID 2 shown in FIG. As a result, the image data ID 2 is updated as shown in FIG.
  • the processor 30 may display the work model WM at a position determined in accordance with a predetermined rule in the image data ID 2.
  • this rule can be defined as a rule for arranging the work model WM in the image data ID 2 in a grid pattern at equal intervals.
  • FIG. 14 shows an example in which the processor 30 displays the work model WM on the image data ID 2 according to the rule that the work model WM is arranged in a grid pattern at equal intervals.
  • step S4 processing of acquiring the matching position
  • the processor 30 executes steps S41 and S42 after step S11.
  • step S41 the processor 30 determines whether or not there is a work model WM that satisfies the condition G1 to be deleted in the image data ID 2.
  • the processor 30 refers to the points (or work features) of the three-dimensional point cloud constituting the work feature WP existing in the occupied area of the work model WM for each of the work model WMs reflected in the image data ID 2. Calculate the number N (pixels that copy the WP). Then, in step S41, the processor 30 determines whether or not the calculated number N is equal to or less than the predetermined threshold value Nth (N ⁇ Nth ) for each of the work model WMs , and N ⁇ Nth . If there is a work model WM determined to exist, the work model WM is specified as a deletion target, and YES is determined. That is, in the present embodiment, the condition G1 is defined as the number N being equal to or less than the threshold value Nth .
  • the processor 30 identifies the work feature WP as a model addition target and determines YES. That is, in the present embodiment, the condition G2 is defined as the existence of a work feature WP having no points (pixels) included in the exclusive area of the work model WM. For example, in the case of the example shown in FIG. 11, in the step S41, the processor 30 identifies the work feature WP shown in the upper right of the image data ID 2 as a model addition target, and determines YES.
  • step S42 the processor 30 functions as an image generation unit 52, and automatically adds the work model WM to the image data ID 2 at the position corresponding to the work feature WP specified as the model addition target in step S41.
  • a work model WM is added as shown in FIG.
  • the processor 30 additionally displays the work model WM in the image data ID 2 according to the predetermined condition G2. According to the flow shown in FIG. 15, the processor 30 can automatically delete or add the work model WM according to the condition G1 or G2, so that the operator's work can be reduced.
  • the processor 30 first executes the image acquisition process shown in FIG. In step S51, the processor 30 sets the number “i” that identifies the image data ID1 _i captured by the visual sensor 14 to “1”.
  • step S52 the processor 30 determines whether or not the image pickup start command has been accepted. For example, the operator operates the input device 40 to input an image pickup start command.
  • the processor 30 determines YES and proceeds to step S53. On the other hand, if the processor 30 has not received the image pickup start command, it determines NO and proceeds to step S56.
  • step S53 the processor 30 images the work W by the visual sensor 14 in the same manner as in step S2 described above. As a result, the visual sensor 14 captures the i-th image data ID1 _i and supplies it to the processor 30.
  • step S54 the processor 30 stores the i-th image data ID 1 _i acquired in the latest step S53 in the memory 32 together with the identification number “i”.
  • step S55 the operator changes the arrangement of the work W in the container B shown in FIG. 1 without inputting the image pickup end command.
  • the operator operates the input device 40 to input an imaging start command.
  • the processor 30 determines YES in step S52, executes steps S53 to S55 for the work W after the arrangement in the container B has changed, and acquires the i + 1th image data ID1 _i + 1 .
  • step S62 the processor 30 generates the image data ID 2 _i in which the work feature WP is displayed. Specifically, the processor 30 reads the i-th image data ID 1 _i identified by the identification number “i” from the memory 32. Then, based on the i-th image data ID1 _i , the processor 30 uses the work feature WP reflected in the i-th image data ID1 _i as a GUI that can be visually recognized by the operator, for example, the i-th as shown in FIG. Image data ID2 _i of is generated.
  • step S64 the processor 30 determines whether or not the identification number “i” exceeds the maximum value iMAX (i> iMAX ).
  • This maximum value iMAX is the total number of image data IDs 1 _i acquired by the processor 30 in the flow of FIG.
  • a plurality of image data IDs 1 _i of the work W arranged at various positions are accumulated by the flow shown in FIG. 17, and then a plurality of accumulated image data IDs 1 _i are accumulated in the flow shown in FIG.
  • the parameter PM is adjusted using the image data ID1 _i . According to this configuration, the parameter PM can be optimized for the work W arranged at various positions.
  • the processor 30 arranges the robot model 12M that models the robot 12 and the visual sensor model 14M fixed to the end effector model 28M of the robot model 12M in the virtual space, and arranges the robot model 12M and the visual.
  • the sensor model 14M may be simulated in virtual space to perform the flows shown in FIGS. 3, 17 and 18 (ie, simulation). According to this configuration, the parameter PM can be adjusted by so-called offline operation without using the actual robot 12 and the visual sensor 14.
  • Robot system 12
  • Robot 14 Visual sensor 16
  • Control device 30
  • Processor 50
  • Device 52
  • Image generation unit 54
  • Position detection unit 56
  • Input reception unit 58
  • Matching position acquisition unit 60
  • Parameter adjustment unit 62
  • Command generation unit

Abstract

従来、視覚センサが撮像したワークのワーク特徴と、該ワークのワークモデルとを照合するためのパラメータを調整するためには、専門知識を有するオペレータが必要となっていた。 装置50は、視覚センサが撮像したワークのワーク特徴が表示された画像データを生成する画像生成部52と、ワークモデルをワーク特徴と照合するためのパラメータを用いて、画像データにおけるワークの位置を検出位置として求める位置検出部54と、画像データにおいてワークモデルをワーク特徴に一致するように配置したときの、該画像データにおける該ワークモデルの位置をマッチング位置として取得するマッチング位置取得部58と、検出位置とマッチング位置との差を表すデータに基づいてパラメータを調整するパラメータ調整部60とを備える。

Description

パラメータを調整する装置、ロボットシステム、方法、及びコンピュータプログラム
 本発明は、画像データにおいてワークのワーク特徴とワークモデルとを照合するためのパラメータを調整する装置、ロボットシステム、方法、及びコンピュータプログラムに関する。
 視覚センサが撮像した画像データに写るワークの位置を検出するためのパラメータを取得する技術が知られている(例えば、特許文献1)。
特開平2-210584号公報
 視覚センサが撮像した画像データに写るワークのワーク特徴と、ワークをモデル化したワークモデルとを、パラメータを用いて互いに照合することで、画像データに写るワークの位置を求める場合がある。従来、このような照合用のパラメータを調整するためには、専門知識を有するオペレータが必要となっていた。
 本開示の一態様において、装置は、視覚センサが撮像したワークのワーク特徴が表示された画像データにおいてワークをモデル化したワークモデルをワーク特徴と照合するためのパラメータを用いて、画像データにおけるワークの位置を検出位置として求める位置検出部と、画像データにおいてワークモデルをワーク特徴に一致するように配置したときの、該画像データにおける該ワークモデルの位置をマッチング位置として取得するマッチング位置取得部と、位置検出部が検出位置を、マッチング位置に対応する位置として求めるのを可能とするように、検出位置とマッチング位置との差を表すデータに基づいてパラメータを調整するパラメータ調整部とを備える。
 本開示の他の態様において、方法は、プロセッサが、視覚センサが撮像したワークのワーク特徴が表示された画像データにおいてワークをモデル化したワークモデルをワーク特徴と照合するためのパラメータを用いて、画像データにおけるワークの位置を検出位置として求め、画像データにおいてワークモデルをワーク特徴に一致するように配置したときの、該画像データにおける該ワークモデルの位置をマッチング位置として取得し、検出位置を、マッチング位置に対応する位置として求めるのを可能とするように、検出位置とマッチング位置との差を表すデータに基づいてパラメータを調整する。
 本開示によれば、画像データにおいてワークモデルをワーク特徴にマッチングさせたときに取得したマッチング位置を用いてパラメータを調整している。このため、パラメータの調整に関する専門知識がないオペレータでも、マッチング位置を取得することができ、これによりパラメータを調整することが可能となる。
一実施形態に係るロボットシステムの概略図である。 図1に示すロボットシステムのブロック図である。 一実施形態に係るパラメータ調整方法を示すフローチャートである。 図3中のステップS3で生成される画像データの一例を示す。 図3中のステップS4のフローの一例を示す。 図5中のステップS11で生成される画像データの一例を示す。 画像データ内でワークモデルがワーク特徴にマッチングしている状態を示す。 図3中のステップS5のフローの一例を示す。 図3中のステップS4のフローの他の例を示す。 図9中のステップS11で生成される画像データの一例を示す。 図9中のステップS11で生成される画像データの他の例を示す。 図9中のステップS32で生成される画像データの例を示す。 図9中のステップS11で生成される画像データにおいて、ワークモデルがランダムに表示された状態を示す。 図9中のステップS11で生成される画像データにおいて、ワークモデルが予め定めた規則に従って表示された状態を示す。 図3中のステップS4のフローのさらに他の例を示す。 図15中のステップS42で生成される画像データの例を示す。 視覚センサによって画像データを取得するフローの一例を示す。 他の実施形態に係るパラメータ調整方法を示すフローチャートである。
 以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図1及び図2を参照して、一実施形態に係るロボットシステム10について説明する。ロボットシステム10は、ロボット12、視覚センサ14、及び制御装置16を備える。
 本実施形態においては、ロボット12は、垂直多関節ロボットであって、ロボットベース18、旋回胴20、下腕部22、上腕部24、手首部26、及びエンドエフェクタ28を有する。ロボットベース18は、作業セルの床の上に固定されている。旋回胴20は、鉛直軸周りに旋回可能となるように、ロボットベース18に設けられている。
 下腕部22は、旋回胴20に水平軸周りに回動可能に設けられ、上腕部24は、下腕部22の先端部に回動可能に設けられている。手首部26は、上腕部24の先端部に回動可能に設けられた手首ベース26aと、手首軸A1周りに回動可能となるように該手首ベース26aに設けられた手首フランジ26bとを有する。
 エンドエフェクタ28は、手首フランジ26bに着脱可能に取り付けられ、ワークWに対して所定の作業を行う。本実施形態においては、エンドエフェクタ28は、ワークWを把持可能なロボットハンドであって、例えば、開閉可能な複数の指部、又は吸着部(負圧発生装置、吸盤、電磁石等)を有する。
 ロボット12の各構成要素(ロボットベース18、旋回胴20、下腕部22、上腕部24、手首部26)には、サーボモータ29(図2)が設けられている。これらサーボモータ29は、制御装置16からの指令に応じて、ロボット12の各可動要素(旋回胴20、下腕部22、上腕部24、手首部26、手首フランジ26b)を駆動軸周りに回動させる。その結果、ロボット12は、エンドエフェクタ28を移動させて任意の位置及び姿勢に配置することができる。
 視覚センサ14は、エンドエフェクタ28(又は手首フランジ26b)に対して固定されている。例えば、視覚センサ14は、撮像センサ(CMOS、CCD等)と、該撮像センサへ被写体像を導光する光学レンズ(コリメートレンズ、フォーカスレンズ等)とを有する3次元視覚センサであって、光軸A2に沿って被写体像を撮像するとともに、該被写体像までの距離dを測定するように構成される。
 図1に示すように、ロボット12には、ロボット座標系C1、及びツール座標系C2が設定されている。ロボット座標系C1は、ロボット12の各可動要素の動作を制御するための制御座標系である。本実施形態においては、ロボット座標系C1は、その原点がロボットベース18の中心に配置され、そのz軸が鉛直方向と平行となるように、ロボットベース18に対して固定されている。
 一方、ツール座標系C2は、ロボット座標系C1におけるエンドエフェクタ28の位置を制御するための制御座標系である。本実施形態においては、ツール座標系C2は、その原点(いわゆる、TCP)が、エンドエフェクタ28の作業位置(ワーク把持位置)に配置され、そのz軸が、手首軸A1と平行となる(具体的には、一致する)ように、エンドエフェクタ28に対して設定されている。
 エンドエフェクタ28を移動させるとき、制御装置16は、ロボット座標系C1においてツール座標系C2を設定し、設定したツール座標系C2によって表される位置にエンドエフェクタ28を配置するように、ロボット12の各サーボモータ29への指令を生成する。こうして、制御装置16は、ロボット座標系C1における任意の位置にエンドエフェクタ28を位置決めできる。なお、本稿において、「位置」とは、位置及び姿勢を意味する場合がある。
 一方、視覚センサ14には、センサ座標系C3が設定されている。センサ座標系C3は、視覚センサ14が撮像した画像データ(又は、撮像センサ)の各画素の座標を規定する。本実施形態においては、センサ座標系C3は、その原点が撮像センサの中心に配置され、そのz軸が光軸A2と平行となる(具体的には、一致する)ように、視覚センサ14に対して設定されている。
 センサ座標系C3とツール座標系C2との位置関係は、キャリブレーションにより既知となっており、故に、センサ座標系C3の座標とツール座標系C2の座標とは、既知の変換行列(例えば、同次変換行列)を介して、相互変換可能となっている。また、ツール座標系C2とロボット座標系C1との位置関係は既知であるので、センサ座標系C3の座標とロボット座標系C1の座標とは、ツール座標系C2を介して、相互変換可能である。
 制御装置16は、ロボット12の動作を制御する。具体的には、制御装置16は、プロセッサ30、メモリ32、及びI/Oインターフェース34を有するコンピュータである。プロセッサ30は、メモリ32及びI/Oインターフェース34とバス36を介して通信可能に接続され、これらコンポーネントと通信しつつ、後述する各種機能を実現するための演算処理を行う。
 メモリ32は、RAM又はROM等を有し、各種データを一時的又は恒久的に記憶する。I/Oインターフェース34は、例えば、イーサネット(登録商標)ポート、USBポート、光ファイバコネクタ、又はHDMI(登録商標)端子を有し、プロセッサ30からの指令の下、外部機器との間でデータを有線又は無線で通信する。ロボット12の各サーボモータ29及び視覚センサ14は、I/Oインターフェース34に通信可能に接続されている。
 また、制御装置16には、表示装置38及び入力装置40が設けられている。表示装置38及び入力装置40は、I/Oインターフェース34に通信可能に接続されている。表示装置38は、液晶ディスプレイ又は有機ELディスプレイ等を有し、プロセッサ30からの指令の下、各種データを視認可能に表示する。
 入力装置40は、キーボード、マウス、又はタッチパネル等を有し、オペレータからの入力データを受け付ける。なお、表示装置38及び入力装置40は、制御装置16の筐体に一体に組み込まれてもよいし、又は、制御装置16の筐体とは別体として該筐体に外付けされてもよい。
 本実施形態においては、プロセッサ30は、ロボット12を動作させて、容器B内にバラ積みにされたワークWをエンドエフェクタ28で把持して取り上げるワークハンドリング作業を実行する。このワークハンドリング作業を実行するために、プロセッサ30は、まず、視覚センサ14で容器B内のワークWを撮像する。
 このときに視覚センサ14が撮像する画像データID1は、撮像された各々のワークWの視覚的な特徴点(エッジ、輪郭、面、辺、角、穴、突部等)を写すワーク特徴WPと、視覚センサ14(具体的には、センサ座標系C3の原点)から該ワーク特徴WPの各画素が表すワークW上の点までの距離dの情報とを含む。
 次いで、プロセッサ30は、ワークWをモデル化したワークモデルWMを、視覚センサ14によって撮像されたワークWのワーク特徴WPと照合するためのパラメータPMを取得する。そして、プロセッサ30は、該パラメータPMを所定のアルゴリズムAL(ソフトウェア)に適用し、該アルゴリズムALに従ってワークモデルWMとワーク特徴WPとを照合することで、画像データID1に写るワークWのセンサ座標系C3における位置(具体的には、位置及び姿勢)のデータ(具体的には、座標)を取得する。そして、プロセッサ30は、取得したセンサ座標系C3の位置をロボット座標系C1に変換することで、撮像したワークWのロボット座標系C1における位置データを取得する。
 ここで、画像データID1に写るワークWの位置を高精度に取得するためには、パラメータPMを最適化する必要がある。本実施形態においては、プロセッサ30は、視覚センサ14が撮像したワークWのワーク特徴WPを用いて、パラメータPMを最適化するように調整する。
 以下、図3を参照して、パラメータPMを調整する方法について説明する。図3に示すフローは、例えば、制御装置16が起動されたときに開始される。なお、図3のフローの開始時点で、上述のアルゴリズムALと、予め準備されたパラメータPMとが、メモリ32に格納されている。
 ステップS1において、プロセッサ30は、パラメータ調整指令を受け付けたか否かを判定する。例えば、オペレータは、入力装置40を操作して、パラメータ調整指令を手動で入力する。プロセッサ30は、I/Oインターフェース34を通して入力装置40からパラメータ調整指令を受け付けるとYESと判定し、ステップS2へ進む。一方、プロセッサ30は、パラメータ調整指令を受け付けていない場合はNOと判定し、ステップS6へ進む。
 ステップS2において、プロセッサ30は、視覚センサ14によってワークWを撮像する。具体的には、プロセッサ30は、ロボット12を動作させて、視覚センサ14を、図1に示すように、該視覚センサ14の視野に少なくとも1つのワークWが収まる撮像位置に、位置決めする。
 次いで、プロセッサ30は、視覚センサ14へ撮像指令を送り、該撮像指令に応じて、視覚センサ14は、ワークWを撮像して画像データID1を取得する。上述したように、画像データID1は、撮像された各々のワークWのワーク特徴WPと上述の距離dの情報とを含む。プロセッサ30は、視覚センサ14から画像データID1を取得する。画像データID1の各画素は、センサ座標系C3の座標として表される。
 ステップS3において、プロセッサ30は、ワーク特徴WPが表示された画像データID2を生成する。具体的には、プロセッサ30は、視覚センサ14から取得した画像データID1を基に、オペレータがワーク特徴WPを視認可能なグラフィカル・ユーザ・インターフェース(GUI)として、画像データID2を生成する。この画像データID2の一例を図4に示す。
 図4に示す例では、画像データID2において、ワーク特徴WPが、3次元点群として表示されている。また、画像データID2には、センサ座標系C3が設定されており、該画像データID2の各画素は、視覚センサ14が撮像した画像データID1と同様に、センサ座標系C3の座標として表される。
 そして、ワーク特徴WPを構成する複数の点の各々は、上述の距離dの情報を有しているので、センサ座標系C3の3次元座標(x,y,z)として表すことができるようになっている。すなわち、本実施形態においては、画像データID2は、3次元の画像データである。なお、図4では、理解の容易のために、画像データID2に計3個のワーク特徴WPが表示されている例を示しているが、実際上は、より多くのワーク特徴WP(つまり、ワークW)が示され得ることを理解されたい。
 プロセッサ30は、画像データID2を、画像データID1よりも視認性に優れたGUIとして、該画像データID1とは異なる画像データとして生成してもよい。例えば、プロセッサ30は、画像データID1に写る、ワーク特徴WP以外の領域を無色にする一方で、ワーク特徴WPに色付け(黒色、青色、赤色等)することによって、オペレータがワーク特徴WPを容易に識別可能とするように、画像データID2を生成してもよい。
 プロセッサ30は、生成した画像データID2を表示装置38に表示させる。こうして、オペレータは、図4に示すような画像データID2を視認することができる。このように、本実施形態においては、プロセッサ30は、ワーク特徴WPが表示された画像データID2を生成する画像生成部52(図2)として機能する。
 なお、プロセッサ30は、オペレータによる入力装置40の操作に応じて画像データID2に写るワークWを見る方向を変えるように(例えば、3DCADデータのように)、表示装置38に表示する画像データID2を更新してもよい。この場合、オペレータは、入力装置40の操作することで、画像データID2に写るワークWを所望の方向から視認することが可能となる。
 再度、図3を参照し、ステップS4において、プロセッサ30は、マッチング位置を取得するプロセスを実行する。このステップS4について、図5を参照して説明する。ステップS11において、プロセッサ30は、上述のステップS3で生成した画像データID2に、ワークモデルWMをさらに表示する。本実施形態においては、ワークモデルWMは、3DCADデータである。
 図6に、このステップS11によって生成される画像データID2の一例を示す。ステップS11において、プロセッサ30は、センサ座標系C3によって規定される仮想空間にワークモデルWMを配置し、ワークWのワーク特徴WPとともにワークモデルWMが配置された仮想空間の画像データID2を生成する。また、プロセッサ30は、センサ座標系C3において、ワークモデルWMとともに、ワーク座標系C4を設定する。このワーク座標系C4は、ワークモデルWMの位置(具体的には、位置及び姿勢)を規定する座標系である。
 本実施形態においては、プロセッサ30は、このステップS11において、該ステップS11の開始時点でメモリ32に格納されているパラメータPMを用いて、画像データID2におけるワークWの位置を検出位置DPとして求める。検出位置DPを求めるとき、プロセッサ30は、パラメータPMをアルゴリズムALに適用し、該アルゴリズムALに従って、ワークモデルWMを、画像データID2に写るワーク特徴WPと照合する。
 より具体的には、プロセッサ30は、パラメータPMが適用されたアルゴリズムALに従って、センサ座標系C3によって規定される仮想空間においてワークモデルWMの位置を所定の変位量Eずつ徐々に変化させて、ワークモデルWMの特徴点(エッジ、輪郭、面、辺、角、穴、突部等)と、該特徴点に対応するワーク特徴WPの特徴点とが互いに一致する、ワークモデルWMの位置を検索する。
 そして、プロセッサ30は、ワークモデルWMの特徴点が、対応するワーク特徴WPの特徴点に一致したときに、該ワークモデルWMに設定されているワーク座標系C4の、センサ座標系C3における座標(x,y,z,W,P,R)を、検出位置DPとして検出する。ここで、座標(x,y,z)は、センサ座標系C3におけるワーク座標系C4の原点位置を示し、座標(W,P,R)は、センサ座標系C3に対するワーク座標系C4の姿勢(いわゆる、ヨー、ピッチ、ロール)を示す。
 上述のパラメータPMは、ワークモデルWMをワーク特徴WPと照合するためのものであって、例えば、上述の変位量E、画像データID2において互いに照合する特徴点を検索する範囲を画定するウィンドウのサイズSZ、照合時の画像粗さ(又は、分解能)σ、及び、ワークモデルWMとワーク特徴WPのどの特徴点を互いに照合するかを特定するデータ(例えば、ワークモデルWM及びワーク特徴WPの「輪郭」を照合するように特定するデータ)を含む。
 こうして、プロセッサ30は、パラメータPMを用いてワークモデルWMとワーク特徴WPとを互いに照合することで、検出位置DP(x,y,z,W,P,R)を取得する。したがって、本実施形態においては、プロセッサ30は、パラメータPMを用いて検出位置DPを求める位置検出部54(図2)として機能する。
 次いで、プロセッサ30は、画像生成部52として機能して、画像データID2において、取得した検出位置DPにワークモデルWMを表示する。具体的には、プロセッサ30は、検出位置DPとして検出したセンサ座標系C3の座標(x,y,z,W,P,R)に配置されたワーク座標系C4によって表される位置に、ワークWMを表示する。
 こうして、図6に示すように、画像データID2において、3個のワーク特徴WPに対応する位置に、3個のワークモデルWMがそれぞれ表示されることになる。ここで、パラメータPMが最適化されていない場合、図6に示すように、取得した検出位置DP(つまり、図6に表示されたワークモデルWMの位置)が、ワーク特徴WPからずれてしまうことが起こり得る。
 再度、図5を参照して、ステップS12において、プロセッサ30は、画像データID2においてワークモデルWMの位置を変位させるための入力データIP1(第1の入力データ)を受け付けたか否かを判定する。具体的には、オペレータは、表示装置38に表示された図6に示す画像データID2を視認しつつ、該画像データID2に表示されたワークモデルWMを、対応するワーク特徴WPに一致する位置へ画像上で移動させるべく、入力装置40を操作することで入力データIP1を入力する。
 プロセッサ30は、I/Oインターフェース34を通して入力装置40から入力データIP1を受け付けるとYESと判定し、ステップS13へ進む。一方、入力装置40から入力データIP1を受け付けていない場合はNOと判定し、ステップS14へ進む。このように、本実施形態においては、プロセッサ30は、画像データID2においてワークモデルWMの位置を変位させるための入力データIP1を受け付ける入力受付部56(図2)として機能する。
 ステップS13において、プロセッサ30は、入力データIP1に応じて、画像データID2に表示されたワークモデルWMの位置を変位させる。具体的には、プロセッサ30は、画像生成部52として機能して、センサ座標系C3によって規定される仮想空間内で入力データIP1に応じてワークモデルWMの位置を変位させるように、画像データID2を更新する。こうして、オペレータは、表示装置38に表示された画像データID2を視認しつつ入力装置40を操作することで、画像データID2においてワークモデルWMを対応するワーク特徴WPに近づけるように、変位させることができる。
 ステップS14において、プロセッサ30は、マッチング位置MPを取得するための入力データIP2を受け付けたか否かを判定する。具体的には、オペレータは、ステップS13でワークモデルWMを変位させた結果、画像データID2においてワークモデルWMの位置がワーク特徴WPの位置に一致したときに、入力装置40を操作して、マッチング位置MPを取得するための入力データIP2を入力する。
 図7に、画像データID2においてワークモデルWMの位置がワーク特徴WPに一致した状態を示す。プロセッサ30は、I/Oインターフェース34を通して入力装置40から入力データIP2を受け付けるとYESと判定し、ステップS15へ進む一方、入力装置40から入力データIP2を受け付けていない場合はNOと判定し、ステップS12へ戻る。こうして、プロセッサ30は、ステップS14でYESと判定するまで、ステップS12~S14をループする。
 ステップS15において、プロセッサ30は、入力データIP2を受け付けたときの画像データID2におけるワークモデルWMの位置をマッチング位置MPとして取得する。上述したように、プロセッサ30が入力データIP2を受け付けたとき、図7に示すように、画像データID2において、ワークモデルWMが、それぞれ、対応するワーク特徴WPに一致している。
 プロセッサ30は、マッチング位置MPとして、図7に示すワークモデルWMの各々に設定されているワーク座標系C4のセンサ座標系C3における座標(x,y,z,W,P,R)を取得し、メモリ32に記憶する。このように、本実施形態においては、プロセッサ30は、マッチング位置MPを取得するマッチング位置取得部58(図2)として機能する。
 再度、図3を参照して、ステップS5において、プロセッサ30は、パラメータPMを調整するプロセスを実行する。このステップS5について、図8を参照して説明する。ステップS21において、プロセッサ30は、パラメータPMの更新回数を特定する番号「n」を「1」にセットする。
 ステップS22において、プロセッサ30は、位置検出部54として機能し、検出位置DPを取得する。具体的には、プロセッサ30は、このステップS22の開始時点でメモリ32に格納されているパラメータPMを用いて検出位置DPを求める。仮に、このステップS22の開始時点でn=1にセットされている場合(すなわち、第1回目のステップS22を実行する場合)、プロセッサ30は、上述のステップS11と同様に、パラメータPMを用いて図6に示す検出位置DPを求める。
 ステップS23において、プロセッサ30は、直近のステップS22で求めた検出位置DPと、上述のステップS4で取得したマッチング位置MPとの差を表すデータΔを取得する。このデータΔは、例えば、センサ座標系C3における検出位置DPとマッチング位置MPとの差を表す目的関数の値である。この目的関数は、例えば、互いに対応する一対の検出位置DP及びマッチング位置MPの差の和、二乗和、平均値、又は二乗平均値を示す関数であり得る。プロセッサ30は、取得したデータΔをメモリ32に記憶する。
 仮に、このステップS23の開始時点でn=1にセットされている場合(すなわち、第1回目のステップS23を実行する場合)、プロセッサ30は、検出位置DPとマッチング位置MPとの差を表すデータΔを取得する。このデータΔは、図6に示すワークモデルWMのセンサ座標系C3の位置(すなわち、検出位置DP)と、図7に示すワークモデルWMのセンサ座標系C3の位置(すなわち、マッチング位置MP)との差を表す。
 ステップS24において、プロセッサ30は、直近のステップS23で取得したデータΔの値が、予め定めた閾値Δth以下(Δ≦Δth)であるか否かを判定する。この閾値Δthは、オペレータによって定められ、メモリ32に予め格納される。プロセッサ30は、Δ≦Δthである場合はYESと判定し、ステップS5を終了し、図3中のステップS6へ進む。
 このステップS24でYESと判定したとき、直近のステップS22で求めた検出位置DPがマッチング位置MPに実質一致しており、故に、パラメータPMが最適化されていると見做すことができる。一方、プロセッサ30は、Δ>Δthである場合はNOと判定し、ステップS25へ進む。
 ステップS25において、プロセッサ30は、直近のステップS23で取得したデータΔに基づいて、画像データID2において検出位置DPとマッチング位置MPとの差を小さくすることができるパラメータPMの変化量αを決定する。具体的には、プロセッサ30は、直近のステップS23で取得したデータΔから、図8中のステップS22~S28のループを繰り返し実行したときにステップS23で取得されるデータΔの値をゼロへ向かって収束させることができる、パラメータPM(例えば、変位量E、サイズSZ、又は画像粗さσ)の変化量αを決定する。プロセッサ30は、この変化量αを、データΔと所定のアルゴリズムとを用いることで求めることができる。
 ステップS26において、プロセッサ30は、パラメータPMを更新する。具体的には、プロセッサ30は、直近のステップS25で決定した変化量αだけパラメータPM(例えば、変位量E、サイズSZ、又は画像粗さσ)を変化させることによって、該パラメータPMを更新し、新たなパラメータPMn+1とする。プロセッサ30は、更新後のパラメータPMn+1をメモリ32に記憶する。仮に、ステップS26の開始時点でn=1にセットされていた場合、プロセッサ30は、予め準備されたパラメータPMを変化量αだけ変化させて、パラメータPMへ更新する。
 ステップS27において、プロセッサ30は、パラメータPMの更新回数を特定する番号「n」を「1」だけインクリメントする(n=n+1)。ステップS28において、プロセッサ30は、パラメータPMの更新回数を特定する番号「n」が、最大値nMAXを超えた(n>nMAX)か、又は、直近のステップS25で決定した変化量αが予め定めた閾値αth以下となった(α≦αth)か否かを判定する。この最大値nMAX及び閾値αthは、オペレータによって予め定められ、メモリ32に格納される。
 ここで、プロセッサ30は、図8に示すように、ステップS24又はS28でYESと判定するまで、ステップS22~S28のループを繰り返し実行する。上述のステップS25にて、プロセッサ30は、検出位置DPとマッチング位置MPとの差(すなわち、データΔの値)を小さくすることができるように変化量αを決定していることから、ステップS22~S28のループを繰り返す毎に、ステップS23で取得するデータΔの値、及び、ステップS25で決定する変化量αが、小さくなっていく。
 したがって、変化量αが閾値αth以下となった場合は、パラメータPMが最適化されたものと見做すことができる。その一方で、ステップS22~S28のループを多数回に亘って繰り返し実行したとしても、変化量αがある値(>αth)に収束して、閾値αth以下とならない場合がある。このような場合も、パラメータPMが十分に最適化されたと見做すことができる。
 よって、プロセッサ30は、このステップS28において、n>nMAX、又は、α≦αthであるか否かを判定し、n>nMAX、又は、α≦αthを満たす場合はYESと判定してステップS5を終了する。一方、プロセッサ30は、n≦nMAX、且つ、α>αthである場合はNOと判定し、ステップS22へ戻り、更新後のパラメータPMn+1を用いてステップS22~S28のループを実行する。
 このように、プロセッサ30は、ステップS24又はS28でYESと判定するまで、ステップS22~S28の一連の動作を繰り返し実行することによって、データΔに基づいてパラメータPMを更新して調整している。したがって、本実施形態においては、プロセッサ30は、データΔに基づいてパラメータPMを調整するパラメータ調整部60(図2)として機能する。
 プロセッサ30は、位置検出部54として機能して画像データID2から検出位置DPを求める場合に上述のように最適化されたパラメータPMを用いることで、画像データID2における検出位置DPを、マッチング位置MPに対応する(例えば、実質一致する)位置として求めることが可能となる。
 再度、図3を参照して、ステップS6において、プロセッサ30は、動作終了指令を受け付けたか否かを判定する。例えば、オペレータは、入力装置40を操作して、動作終了指令を手動で入力する。プロセッサ30は、I/Oインターフェース34を通して入力装置40から動作終了指令を受け付けるとYESと判定し、制御装置16の動作を終了する。一方、プロセッサ30は、動作終了指令を受け付けていない場合はNOと判定し、ステップS1へ戻る。
 例えば、オペレータは、ステップS5の終了後、動作終了指令を入力せずに、図1に示す容器B内のワークWの配置を変化させる。次いで、オペレータは、入力装置40を操作して、上述のパラメータ調整指令を入力する。そうすると、プロセッサ30は、ステップS1でYESと判定し、容器B内の配置が変化した後のワークWに対してステップS2~S5を実行し、パラメータPMを調整する。このように、容器B内のワークWの配置を変化させる毎にステップS2~S5を実行することによって、様々な位置に配置されたワークWについてパラメータPMを最適化することができる。
 以上のように、本実施形態においては、プロセッサ30は、画像生成部52、位置検出部54、入力受付部56、マッチング位置取得部58、及びパラメータ調整部60として機能して、パラメータPMを調整している。従って、画像生成部52、位置検出部54、入力受付部56、マッチング位置取得部58、及びパラメータ調整部60は、パラメータPMを調整するための装置50(図2)を構成する。
 この装置50によれば、画像データID2においてワークモデルWMをワーク特徴WPにマッチングさせたときに取得したマッチング位置MPを用いてパラメータPMを調整している。このため、パラメータPMの調整に関する専門知識がないオペレータでも、マッチング位置MPを取得することができ、これによりパラメータPMを調整することが可能となる。
 また、本実施形態においては、プロセッサ30は、図8中のステップS22~S28の一連の動作を繰り返し実行することによってパラメータPMを調整している。この構成によれば、パラメータPMを自動で調整することができるとともに、該パラメータPMを迅速に最適化できる。
 また、本実施形態においては、プロセッサ30は、画像生成部52として機能して、画像データID2にワークモデルWMをさらに表示し(ステップS11)、入力データIP1に応じて、画像データID2に表示されたワークモデルWMの位置を変位させている(ステップS13)。そして、プロセッサ30は、画像データID2においてワークモデルWMがワーク特徴WPに一致するように配置されたときに、マッチング位置取得部58として機能し、マッチング位置MPを取得している(ステップS15)。
 この構成によれば、オペレータは、表示装置38に表示された画像データID2を視認しつつ入力装置40を操作することで、画像データID2においてワークモデルWMをワーク特徴WPに容易に一致させることができ、以って、マッチング位置MPを取得できる。したがって、パラメータPMの調整に関する専門知識がないオペレータでも、画像上でワークモデルWMをワーク特徴WPに位置合わせするだけで、マッチング位置MPを容易に取得可能となる。
 上述のようにパラメータPMを調整した後、プロセッサ30は、調整後のパラメータPMを用いて、ワークWに対する作業(具体的には、ワークハンドリング作業)をロボット12に実行させる。以下、ロボット12が実行するワークWに対する作業について説明する。プロセッサ30は、オペレータ、上位コントローラ、又はコンピュータプログラムから作業開始指令を受け付けると、ロボット12を動作させて、視覚センサ14を、容器B内のワークWを撮像可能な撮像位置に位置決めし、視覚センサ14を動作させてワークWを撮像する。
 このときに視覚センサ14が撮像する画像データID3には、少なくとも1つのワークWのワーク特徴WPが示されている。プロセッサ30は、I/Oインターフェース34を通して視覚センサ14から画像データID3を取得し、該画像データID3に基づいて、ロボット12を動作するための動作指令CMを生成する。
 より具体的には、プロセッサ30は、位置検出部54として機能して、調整後のパラメータPMをアルゴリズムALに適用し、該アルゴリズムALに従って、ワークモデルWMを、画像データID3に写るワーク特徴WPと照合する。その結果、プロセッサ30は、画像データID3における検出位置DPID3を、センサ座標系C3の座標として取得する。
 次いで、プロセッサ30は、取得した検出位置DPID3をロボット座標系C1(又は、ツール座標系C2)に変換することで、撮像されたワークWのロボット座標系C1(又は、ツール座標系C2)における位置データPDを取得する。次いで、プロセッサ30は、取得した位置データPDに基づいて、ロボット12を制御するための動作指令CMを生成し、該動作指令CMに従って各サーボモータ29を制御することで、位置データPDを取得したワークWをエンドエフェクタ28で把持して取り上げるワークハンドリング作業をロボット12に実行させる。
 このように、本実施形態においては、プロセッサ30は、動作指令CMを生成する指令生成部62として機能する。調整後のパラメータPMを用いることによって、正確な検出位置DPID3(すなわち、位置データPD)を検出できることから、プロセッサ30は、ロボット12にワークハンドリング作業を高精度に実行させることができる。
 次に、図9を参照して、上述のステップS4(すなわち、マッチング位置を取得するプロセス)の他の例について説明する。なお、図9に示すフローにおいて、図5に示すフローと同様のプロセスには同じステップ番号を付し、重複する説明を省略する。図9に示すステップS4においては、プロセッサ30は、ステップS11の後、ステップS31及びS32を実行する。
 具体的には、ステップS31において、プロセッサ30は、ワークモデルWMを画像データID2から削除するための入力データIP3(第2の入力データ)、又は、さらなるワークモデルWMを画像データID2に追加するための入力データIP4(第2の入力データ)を受け付けたか否かを判定する。
 ここで、上述のステップS11において、プロセッサ30が、ワークモデルWMを不適切な位置に誤って表示してしまう場合がある。図10に、ワークモデルWMが不適切な位置に表示されている画像データID2の例を示す。図10に示す画像データID2においては、ワークWとは別の部材の特徴Fが写り込んでいる。
 プロセッサ30は、パラメータPMを用いて検出位置DPを求めたときに、特徴FをワークWのワーク特徴WPと誤認し、特徴Fに対応する検出位置DPを求めてしまう場合がある。このような場合、オペレータは、画像データID2から、特徴Fに対応する位置に表示されたワークモデルWMを削除する必要がある。
 一方、上述のステップS11において、プロセッサ30が、画像データID2に写るワーク特徴WPを認識できずに、ワークモデルWMを表示し損ねてしまう場合がある。このような例を図11に示す。図11に示す画像データID2においては、計3個のワーク特徴WPのうち、右上のワーク特徴WPに対応するワークモデルWMが表示されていない。このような場合、オペレータは、画像データID2にワークモデルWMを追加する必要がある。
 そこで、本実施形態においては、プロセッサ30は、ワークモデルWMを画像データID2から削除するための入力データIP3、及び、さらなるワークモデルWMを画像データID2に追加するための入力データIP4を受け付けるように構成されている。具体的には、ステップS11で図10に示す画像データID2が表示された場合、オペレータは、該画像データID2を視認しつつ入力装置40を操作して、削除すべきワークモデルWMを指定する入力データIP3を入力する。
 また、ステップS11で図11に示す画像データID2が表示された場合、オペレータは、該画像データID2を視認しつつ入力装置40を操作して、追加すべきワークモデルWMの画像データID2(センサ座標系C3)における位置(例えば、座標)を指定する入力データIP4を入力する。
 プロセッサ30は、このステップS31において、I/Oインターフェース34を通して入力装置40から入力データIP3又はIP4を受け付けるとYESと判定し、ステップS32へ進む。一方、入力装置40から入力データIP3又はIP4を受け付けていない場合はNOと判定し、ステップS12へ進む。
 ステップS32において、プロセッサ30は、画像生成部52として機能し、受け付けた入力データIP3又はIP4に従って、表示したワークモデルWMを画像データID2から削除するか、又は、さらなるワークモデルWMを画像データID2に追加で表示する。例えば、入力データIP3を受け付けたとき、プロセッサ30は、図10に示す画像データID2から、特徴Fに対応する位置に表示されたワークモデルWMを削除する。その結果、図12に示すように画像データID2が更新される。
 一方、入力データIP4を受け付けたとき、プロセッサ30は、図11に示す画像データID2において、入力データIP4によって指定された位置にワークモデルWMを追加で表示する。その結果、図6に示すように、全てのワーク特徴WPに対応するように計3個のワークモデルWMが画像データID2に表示されることになる。
 ステップS32の後、プロセッサ30は、図5のフローと同様にステップS12~S15を実行する。なお、図9に示すフローでは、プロセッサ30は、ステップS14でNOと判定した場合、ステップS31へ戻る。以上のように、本実施形態によれば、オペレータは、ステップS11で表示された画像データID2において、必要に応じてワークモデルWMを削除又は追加することができる。
 なお、図9中のステップS11において、プロセッサ30は、画像データID2においてランダムに決定した位置にワークモデルWMを表示してもよい。プロセッサ30が、ワークモデルWMを画像データID2にランダムに表示した例を、図13に示す。この場合において、プロセッサ30は、画像データID2に配置するワークモデルWMの個数をランダムに決定してもよいし、又は、オペレータが該個数を予め定めてもよい。
 代替的には、図9中のステップS11において、プロセッサ30は、画像データID2において、予め定めた規則に従って決定した位置にワークモデルWMを表示してもよい。例えば、この規則は、ワークモデルWMを画像データID2において等間隔で格子状に配置する規則として、定められ得る。プロセッサ30が、等間隔で格子状に配置するという規則に従ってワークモデルWMを画像データID2に表示した例を、図14に示す。
 プロセッサ30がステップS11でワークモデルWMをランダム又は所定の規則に従って配置した後、オペレータは、ステップS31において入力装置40に入力データIP3又はIP4を入力することで、画像データID2に表示されたワークモデルWMを、必要に応じて削除又は追加することができる。
 次に、図15を参照して、上述のステップS4(マッチング位置を取得するプロセス)のさらに他の例について説明する。図15に示すステップS4においては、プロセッサ30は、ステップS11の後、ステップS41及びS42を実行する。ステップS41において、プロセッサ30は、画像データID2において、削除対象とする条件G1を満たしているワークモデルWMかあるか否かを判定する。
 具体的には、プロセッサ30は、画像データID2に写るワークモデルWMの各々について、該ワークモデルWMの占有領域内に存在する、ワーク特徴WPを構成する3次元点群の点(又は、ワーク特徴WPを写す画素)の数Nを算出する。そして、プロセッサ30は、このステップS41において、ワークモデルWMの各々について、算出した数Nが予め定めた閾値Nth以下である(N≦Nth)か否かを判定し、N≦Nthであると判定されたワークモデルWMがある場合に、該ワークモデルWMを削除対象として特定し、YESと判定する。すなわち、本実施形態においては、条件G1は、数Nが閾値Nth以下であることとして、定められている。
 例えば、プロセッサ30がステップS11で図14に示す画像データID2を生成したとする。この場合、画像データID2に写るワークモデルWMのうち、上列の左側から2番目及び4番目のワークモデルWMと、下列の左側から1番目、3番目及び4番目のワークモデルWMとに関し、その専有領域内に存在するワーク特徴WPの点(画素)が少なくなっている。したがって、この場合、プロセッサ30は、ステップS11において、これら計5個のワークモデルWMを削除対象として特定し、YESと判定することになる。
 ステップS42において、プロセッサ30は、画像生成部52として機能し、ステップS41で削除対象として特定したワークモデルWMを画像データID2から自動で削除する。図14に示す例の場合、プロセッサ30は、削除対象として特定された上述の計5個のワークモデルWMを、画像データID2から自動で削除する。図16に、これら5個のワークモデルWMが削除された画像データID2の例を示す。このように、本実施形態においては、プロセッサ30は、予め定めた条件G1に従って、表示したワークモデルWMを画像データID2から自動で削除する。
 代替的には、プロセッサ30は、ステップS41において、画像データID2においてワークモデルWMを追加する条件G2を満たしているか否かを判定してもよい。例えば、プロセッサ30が、ステップS11で図11に示す画像データID2を生成したとする。プロセッサ30は、各々のワーク特徴WPについて、ワークモデルWMの専有領域に含まれる点(又は、画素)を有しているか否かを判定する。
 そして、プロセッサ30は、ワークモデルWMの専有領域に含まれる点(画素)を有さないワーク特徴WPがある場合に、該ワーク特徴WPをモデル追加対象として特定し、YESと判定する。すなわち、本実施形態においては、条件G2は、ワークモデルWMの専有領域に含まれる点(画素)を有さないワーク特徴WPが存在することとして、定められている。例えば図11に示す例の場合、プロセッサ30は、このステップS41において、画像データID2の右上に示されたワーク特徴WPをモデル追加対象として特定し、YESと判定することになる。
 そして、ステップS42において、プロセッサ30は、画像生成部52として機能し、ステップS41でモデル追加対象として特定したワーク特徴WPに対応する位置に、ワークモデルWMを画像データID2に自動で追加する。その結果、例えば図6に示すようにワークモデルWMが追加される。
 このように、本実施形態においては、プロセッサ30は、予め定めた条件G2に従って、ワークモデルWMを画像データID2に追加で表示する。図15に示すフローによれば、プロセッサ30は、条件G1又はG2に従ってワークモデルWMを自動で削除又は追加することができるので、オペレータの作業を低減できる。
 次に、図17及び図18を参照して、ロボットシステム10の他の機能について説明する。本実施形態においては、プロセッサ30は、まず、図17に示す画像取得プロセスを実行する。ステップS51において、プロセッサ30は、視覚センサ14が撮像する画像データID1_iを識別する番号「i」を「1」にセットする。
 ステップS52において、プロセッサ30は、撮像開始指令を受け付けたか否かを判定する。例えば、オペレータは、入力装置40を操作して撮像開始指令を入力する。プロセッサ30は、I/Oインターフェース34を通して入力装置40から撮像開始指令を受け付けるとYESと判定し、ステップS53へ進む。一方、プロセッサ30は、撮像開始指令を受け付けていない場合はNOと判定し、ステップS56へ進む。
 ステップS53において、プロセッサ30は、上述のステップS2と同様に、視覚センサ14によってワークWを撮像する。その結果、視覚センサ14は、第i番目の画像データID1_iを撮像し、プロセッサ30に供給する。ステップS54において、プロセッサ30は、直近のステップS53で取得した第i番目の画像データID1_iを、識別番号「i」とともにメモリ32に記憶する。ステップS55において、プロセッサ30は、識別番号「i」を「1」だけインクリメントする(i=i+1)。
 ステップS56において、プロセッサ30は、撮像終了指令を受け付けたか否かを判定する。例えば、オペレータは、入力装置40を操作して撮像終了指令を入力する。プロセッサ30は、撮像終了指令を受け付けるとYESと判定し、図17に示すフローを終了する。一方、プロセッサ30は、撮像終了指令を受け付けていない場合はNOと判定し、ステップS52へ戻る。
 例えば、オペレータは、ステップS55の終了後、撮像終了指令を入力せずに、図1に示す容器B内のワークWの配置を変化させる。次いで、オペレータは、入力装置40を操作して撮像開始指令を入力する。そうすると、プロセッサ30は、ステップS52でYESと判定し、容器B内の配置が変化した後のワークWに対してステップS53~S55を実行し、第i+1番目の画像データID1_i+1を取得する。
 図17に示すフローの終了後、プロセッサ30は、図18に示すフローを実行する。なお、図18に示すフローにおいて、図3及び図17に示すフローと同様のプロセスには同じステップ番号を付し、重複する説明を省略する。プロセッサ30は、ステップS1でYESと判定した場合はステップS51へ進む一方、NOと判定した場合はステップS6に進む。
 そして、プロセッサ30は、ステップS6においてYESと判定した場合は、図18に示すフローを終了する一方、NOと判定した場合は、ステップS1へ戻る。ステップS51において、プロセッサ30は、画像データID1_iの識別番号「i」を「1」にセットする。
 ステップS62において、プロセッサ30は、ワーク特徴WPが表示された画像データID2_iを生成する。具体的には、プロセッサ30は、識別番号「i」で識別される第i番目の画像データID1_iをメモリ32から読み出す。そして、プロセッサ30は、第i番目の画像データID1_iを基に、第i番目の画像データID1_iに写るワーク特徴WPをオペレータが視認可能なGUIとして、例えば図4に示すような第i番目の画像データID2_iを生成する。
 ステップS62の後、プロセッサ30は、第i番目の画像データID2_iを用いて上述のステップS4及びS5を順次実行し、第i番目の画像データID2_iに関して最適化するようにパラメータPMを調整する。次いで、プロセッサ30は、ステップS55を実行し、識別番号「i」を「1」だけインクリメントする(i=i+1)。
 ステップS64において、プロセッサ30は、識別番号「i」が、最大値iMAXを超えた(i>iMAX)か否かを判定する。この最大値iMAXは、図17のフローでプロセッサ30が取得した画像データID1_iの総数である。プロセッサ30は、ステップS64において、i>iMAXである場合はYESと判定し、図18に示すフローを終了する一方、i≦iMAXである場合はNOと判定し、ステップS62へ戻る。こうして、プロセッサ30は、ステップS64でYESと判定するまで、ステップS62、S4、S5、S55及びS64のループを繰り返し実行し、全ての画像データID2_i(i=1,2,3,・・・iMAX)に関してパラメータPMを調整する。
 以上のように、本実施形態においては、図17に示すフローによって、様々な位置に配置したワークWの画像データID1_iを複数蓄積し、その後に、図18に示すフローにおいて、蓄積した複数の画像データID1_iを用いてパラメータPMを調整している。この構成によれば、様々な位置に配置したワークWについてパラメータPMを最適化することができる。
 なお、図17に示すフローにおいて、プロセッサ30は、ステップS52を省略し、且つ、ステップS56の代わりに上述のステップS64を実行し、識別番号「i」が最大値iMAXを超えた(i>iMAX)か否かを判定してもよい。このときのステップS64で用いられる閾値iMAXは、2以上の整数としてオペレータによって予め定められる。
 そして、プロセッサ30は、このステップS64でYESと判定した場合は、図17のフローを終了する方、NOと判定した場合はステップS53へ戻る。ここで、プロセッサ30は、このような図17のフローの変形例において、ステップS53を実行する毎に、視覚センサ14の位置(具体的には、位置及び姿勢)を変更して、ワークWを異なる位置及び視線方向A2から撮像してもよい。この変形例によれば、オペレータが手動でワークWの配置を変えなくとも、様々な配置のワークWを撮像した画像データID1_iを自動で取得し、蓄積することができる。
 なお、プロセッサ30は、メモリ32に予め格納されたコンピュータプログラムに従って、図3、図17及び図18に示すフローを実行してもよい。このコンピュータプログラムは、図3、図17及び図18に示すフローをプロセッサ30に実行させるための命令文を含み、メモリ32に予め格納される。
 上述の実施形態においては、プロセッサ30が、実機のロボット12及び視覚センサ14によって、実物のワークWの画像データID1を取得する場合について述べた。しかしながら、プロセッサ30は、視覚センサ14をモデル化した視覚センサモデル14MによってワークモデルWMを仮想的に撮像することによって、画像データID1を取得してもよい。
 この場合において、プロセッサ30は、仮想空間内に、ロボット12をモデル化したロボットモデル12Mと、該ロボットモデル12Mのエンドエフェクタモデル28Mに固定した視覚センサモデル14Mとを配置し、ロボットモデル12M及び視覚センサモデル14Mを仮想空間内で模擬的に動作させて、図3、図17及び図18に示すフローを実行してもよい(すなわち、シミュレーション)。この構成によれば、実機のロボット12及び視覚センサ14を用いることなく、いわゆるオフライン動作によってパラメータPMを調整することができる。
 なお、上述の装置50から入力受付部56を省略することもできる。この場合において、プロセッサ30は、図5のステップS12~S14を省略し、ステップS11で生成した画像データID2からマッチング位置MPを自動で取得してもよい。例えば、画像データIDに写るワーク特徴WPとマッチング位置MPとの相関性を示す学習モデルLMがメモリ32に予め格納されてもよい。
 この学習モデルLMは、例えば、少なくとも1つのワーク特徴WPが写る画像データIDと、該画像データIDにおけるマッチング位置MPのデータとの学習データセットを、機械学習装置に反復して与えることによって(例えば、教師あり学習)、構築することができる。プロセッサ30は、ステップS11で生成した画像データID2を学習モデルLMに入力する。そうすると、学習モデルLMは、入力された画像データID2に写るワーク特徴WPに対応するマッチング位置MPを出力する。こうして、プロセッサ30は、画像データID2からマッチング位置MPを自動で取得できる。なお、プロセッサ30は、この機械学習装置の機能を実行するように構成されてもよい。
 なお、上述の実施形態においては、画像データID2において、ワーク特徴WPが3次元点群から構成される場合について述べた。しかしながら、これに限らず、プロセッサ30は、ステップS3において、ワーク特徴WPを写す各画素の色又は色調(濃淡)が上述の距離dに応じて変化するように表された距離画像として、画像データID2を生成してもよい。
 また、プロセッサ30は、ステップS3において、画像データID2を新たに生成することなく、視覚センサ14から取得した画像データID1を、表示装置38に表示するための画像データとして生成し、表示装置38に表示させてもよい。そして、プロセッサ30は、画像データID1を用いてステップS3及びS4を実行してもよい。
 また、上述の装置50から画像生成部52を省略し、該画像生成部52の機能を外部機器(例えば、視覚センサ14、又はPC)に求めることもできる。例えば、プロセッサ30は、視覚センサ14が撮像した画像データID1を、何ら変更を加えずに元のデータ形式として用いて、パラメータPMを調整してもよい。この場合、視覚センサ14が画像生成部52の機能を担うことになる。
 視覚センサ14は、3次元視覚センサに限らず、2次元カメラであってもよい。この場合において、プロセッサ30は、2次元の画像データID1を基に、2次元の画像データID2を生成し、ステップS3及びS4を実行してもよい。この場合、センサ座標系C3は、2次元の座標系(x,y)となる。
 上述の実施形態においては、装置50が制御装置16に実装される場合について述べた。しかしながら、これに限らず、装置50は、制御装置16とは別のコンピュータ(例えば、デスクトップ型PC、タブレット端末装置若しくはスマートフォン等のモバイル電子機器、又は、ロボット12を教示するための教示装置)に実装されてもよい。この場合、該別のコンピュータは、装置50として機能するプロセッサを有し、制御装置16のI/Oインターフェース34に通信可能に接続されてもよい。
 なお、上述のエンドエフェクタ28は、ロボットハンドに限らず、ワークに対する作業を行う如何なる装置(レーザ加工ヘッド、溶接トーチ、塗料塗布器等)であってもよい。以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
 10  ロボットシステム
 12  ロボット
 14  視覚センサ
 16  制御装置
 30  プロセッサ
 50  装置
 52  画像生成部
 54  位置検出部
 56  入力受付部
 58  マッチング位置取得部
 60  パラメータ調整部
 62  指令生成部

Claims (11)

  1.  視覚センサが撮像したワークのワーク特徴が表示された画像データにおいて前記ワークをモデル化したワークモデルを前記ワーク特徴と照合するためのパラメータを用いて、前記画像データにおける前記ワークの位置を検出位置として求める位置検出部と、
     前記画像データにおいて前記ワークモデルを前記ワーク特徴に一致するように配置したときの、該画像データにおける該ワークモデルの位置をマッチング位置として取得するマッチング位置取得部と、
     前記位置検出部が前記検出位置を、前記マッチング位置に対応する位置として求めるのを可能とするように、前記検出位置と前記マッチング位置との差を表すデータに基づいて前記パラメータを調整するパラメータ調整部と、を備える、装置。
  2.  前記画像データを生成する画像生成部をさらに備える、請求項1に記載の装置。
  3.  前記画像生成部は、前記画像データに前記ワークモデルをさらに表示し、
     前記装置は、前記画像データにおいて前記ワークモデルの位置を変位させるための第1の入力データを受け付ける入力受付部をさらに備え、
     前記マッチング位置取得部は、前記画像生成部が前記第1の入力データに応じて前記画像データに表示された前記ワークモデルの位置を変位させて該ワークモデルを前記ワーク特徴に一致するように配置したときに、前記マッチング位置を取得する、請求項2に記載の装置。
  4.  前記画像生成部は、
      前記位置検出部が取得した前記検出位置に前記ワークモデルを表示するか、
      前記画像データにおいてランダムに決定した位置に前記ワークモデルを表示するか、又は、
      前記画像データにおいて予め定めた規則に従って決定した位置に前記ワークモデルを表示する、請求項3に記載の装置。
  5.  前記入力受付部は、さらに、前記ワークモデルを前記画像データから削除するか、又は、第2の前記ワークモデルを前記画像データに追加するための第2の入力データを受け付け、
     前記画像生成部は、前記第2の入力データに従って、表示した前記ワークモデルを前記画像データから削除し、又は、前記第2のワークモデルを前記画像データに追加で表示する、請求項3又は4に記載の装置。
  6.  前記画像生成部は、予め定めた条件に従って、表示した前記ワークモデルを前記画像データから削除するか、又は、第2の前記ワークモデルを前記画像データに追加で表示する、請求項3又は4に記載の装置。
  7.  前記パラメータ調整部は、
      前記差を表すデータに基づいて、前記差を小さくすることができる前記パラメータの変化量を決定し、
      決定した前記変化量だけ前記パラメータを変化させることによって、該パラメータを更新し、
      更新後の前記パラメータを用いて前記位置検出部が求めた前記検出位置と前記マッチング位置との差を表すデータを取得する、
    という、一連の動作を繰り返し実行することによって、前記パラメータを調整する、請求項1~6のいずれか1項に記載の装置。
  8.  前記ワーク特徴は、前記視覚センサをモデル化した視覚センサモデルによって前記ワークモデルを仮想的に撮像することによって取得される、請求項1~7のいずれか1項に記載の装置。
  9.  ワークを撮像する視覚センサと、
     前記ワークに対する作業を実行するロボットと、
     前記視覚センサが撮像した画像データに基づいて、前記ロボットを動作させるための動作指令を生成する指令生成部と、
     請求項1~8のいずれか1項に記載の装置と、を備え、
     前記位置検出部は、前記パラメータ調整部によって調整された前記パラメータを用いて、前記視覚センサが撮像した前記画像データにおける前記ワークの位置を検出位置として取得し、
     前記指令生成部は、
      前記位置検出部が前記調整されたパラメータを用いて取得した前記検出位置に基づいて、前記ロボットを制御するための制御座標系における前記ワークの位置データを取得し、
      前記位置データに基づいて、前記動作指令を生成する、ロボットシステム。
  10.  プロセッサが、
      視覚センサが撮像したワークのワーク特徴が表示された画像データにおいて前記ワークをモデル化したワークモデルを前記ワーク特徴と照合するためのパラメータを用いて、前記画像データにおける前記ワークの位置を検出位置として求め、
      前記画像データにおいて前記ワークモデルを前記ワーク特徴に一致するように配置したときの、該画像データにおける該ワークモデルの位置をマッチング位置として取得し、
      前記検出位置を、前記マッチング位置に対応する位置として求めるのを可能とするように、前記検出位置と前記マッチング位置との差を表すデータに基づいて前記パラメータを調整する、方法。
  11.  請求項10に記載の方法を前記プロセッサに実行させるコンピュータプログラム。
PCT/JP2021/041616 2020-11-18 2021-11-11 パラメータを調整する装置、ロボットシステム、方法、及びコンピュータプログラム WO2022107684A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US18/252,189 US20230405850A1 (en) 2020-11-18 2021-11-11 Device for adjusting parameter, robot system, method, and computer program
DE112021004779.5T DE112021004779T5 (de) 2020-11-18 2021-11-11 Vorrichtung zum Einstellen eines Parameters, Robotersystem, Verfahren und Computerprogramm
CN202180075789.5A CN116472551A (zh) 2020-11-18 2021-11-11 调整参数的装置、机器人系统、方法以及计算机程序
JP2022563719A JPWO2022107684A1 (ja) 2020-11-18 2021-11-11

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-191918 2020-11-18
JP2020191918 2020-11-18

Publications (1)

Publication Number Publication Date
WO2022107684A1 true WO2022107684A1 (ja) 2022-05-27

Family

ID=81708874

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/041616 WO2022107684A1 (ja) 2020-11-18 2021-11-11 パラメータを調整する装置、ロボットシステム、方法、及びコンピュータプログラム

Country Status (6)

Country Link
US (1) US20230405850A1 (ja)
JP (1) JPWO2022107684A1 (ja)
CN (1) CN116472551A (ja)
DE (1) DE112021004779T5 (ja)
TW (1) TW202235239A (ja)
WO (1) WO2022107684A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023248353A1 (ja) * 2022-06-21 2023-12-28 ファナック株式会社 ワークの位置データを取得する装置、制御装置、ロボットシステム、方法、及びコンピュータプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02210584A (ja) * 1989-02-10 1990-08-21 Fanuc Ltd 視覚センサにおける画像処理用教示データ設定方法及び視覚センサ
JP2010210586A (ja) * 2009-03-12 2010-09-24 Omron Corp 3次元計測処理のパラメータの導出方法および3次元視覚センサ
JP2020082274A (ja) * 2018-11-26 2020-06-04 キヤノン株式会社 画像処理装置およびその制御方法、プログラム
WO2020255229A1 (ja) * 2019-06-17 2020-12-24 オムロン株式会社 計測装置、計測方法、及び計測プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02210584A (ja) * 1989-02-10 1990-08-21 Fanuc Ltd 視覚センサにおける画像処理用教示データ設定方法及び視覚センサ
JP2010210586A (ja) * 2009-03-12 2010-09-24 Omron Corp 3次元計測処理のパラメータの導出方法および3次元視覚センサ
JP2020082274A (ja) * 2018-11-26 2020-06-04 キヤノン株式会社 画像処理装置およびその制御方法、プログラム
WO2020255229A1 (ja) * 2019-06-17 2020-12-24 オムロン株式会社 計測装置、計測方法、及び計測プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023248353A1 (ja) * 2022-06-21 2023-12-28 ファナック株式会社 ワークの位置データを取得する装置、制御装置、ロボットシステム、方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
CN116472551A (zh) 2023-07-21
TW202235239A (zh) 2022-09-16
JPWO2022107684A1 (ja) 2022-05-27
US20230405850A1 (en) 2023-12-21
DE112021004779T5 (de) 2023-07-06

Similar Documents

Publication Publication Date Title
US11117262B2 (en) Intelligent robots
CN111482959B (zh) 机器人运动视觉系统的自动手眼标定系统与方法
KR102023588B1 (ko) 로봇 파지용 심층 기계 학습 방법 및 장치
JP5850962B2 (ja) ビジュアルフィードバックを利用したロボットシステム
JP5835926B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
US9884425B2 (en) Robot, robot control device, and robotic system
JP2018111165A (ja) 視覚センサのキャリブレーション装置、方法及びプログラム
US11833697B2 (en) Method of programming an industrial robot
JP2016099257A (ja) 情報処理装置及び情報処理方法
JP2013215866A (ja) ロボットシステム、ロボットシステムのキャリブレーション方法、キャリブレーション装置およびデジタルカメラ
JP2020012669A (ja) 物体検査装置、物体検査システム、及び検査位置を調整する方法
WO2022107684A1 (ja) パラメータを調整する装置、ロボットシステム、方法、及びコンピュータプログラム
US20220395981A1 (en) System and method for improving accuracy of 3d eye-to-hand coordination of a robotic system
CN115446847A (zh) 用于提高机器人系统的3d眼手协调准确度的系统和方法
JP2018122376A (ja) 画像処理装置、ロボット制御装置、及びロボット
WO2023102647A1 (en) Method for automated 3d part localization and adjustment of robot end-effectors
US11559888B2 (en) Annotation device
WO2022092168A1 (ja) ロボット制御装置及びロボットシステム
KR102430282B1 (ko) 생산 라인에서의 작업자 위치 인식 방법 및 그 장치
JP2020091126A (ja) 計測装置、システム、表示方法及びプログラム
CN115972192A (zh) 具有可变空间分辨率的3d计算机视觉系统
KR20220067719A (ko) 딥러닝과 마커를 이용한 비전인식을 통한 로봇 제어장치 및 그 방법
CN112643718A (zh) 图像处理设备及其控制方法和存储其控制程序的存储介质
Xu et al. A fast and straightforward hand-eye calibration method using stereo camera
WO2021200743A1 (ja) ロボットの教示位置を修正するための装置、教示装置、ロボットシステム、教示位置修正方法、及びコンピュータプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21894558

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022563719

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18252189

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202180075789.5

Country of ref document: CN

122 Ep: pct application non-entry in european phase

Ref document number: 21894558

Country of ref document: EP

Kind code of ref document: A1