WO2023112337A1 - 教示装置 - Google Patents

教示装置 Download PDF

Info

Publication number
WO2023112337A1
WO2023112337A1 PCT/JP2021/046870 JP2021046870W WO2023112337A1 WO 2023112337 A1 WO2023112337 A1 WO 2023112337A1 JP 2021046870 W JP2021046870 W JP 2021046870W WO 2023112337 A1 WO2023112337 A1 WO 2023112337A1
Authority
WO
WIPO (PCT)
Prior art keywords
imaging
detection
unit
conditions
condition
Prior art date
Application number
PCT/JP2021/046870
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 PCT/JP2021/046870 priority Critical patent/WO2023112337A1/ja
Priority to TW111144136A priority patent/TW202326600A/zh
Publication of WO2023112337A1 publication Critical patent/WO2023112337A1/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/04Viewing devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Definitions

  • the present invention relates to a teaching device.
  • a visual detection function uses an image processing device to detect a specific object from an image within the field of view of an imaging device and acquires the position of the detected object.
  • the robot can manipulate the object that has not been positioned (see, for example, Patent Document 1).
  • Patent Document 2 relates to a suction/holding ability test program, which states that "a nozzle holder is moved more violently than usual by a moving device, and an imaging device is caused to image an electronic circuit component held by the suction nozzle before and after the movement, and Image data acquired as a result of imaging before and after movement is processed, and if there is no change in the position of the electronic circuit component relative to the suction nozzle before and after movement, it is determined that the ability of the suction nozzle to hold the electronic circuit component is sufficient. (abstract).
  • JP 2019-113895 A Japanese Patent Application Laid-Open No. 2003-304095
  • non-detection or erroneous detection may occur due to the influence of changes in the imaging position and environment when detecting a workpiece, which is an object. be.
  • Non-detection or erroneous detection causes the system to stop and affects the cycle time. Therefore, it is desirable to be able to prevent such occurrences.
  • an object detection unit that detects the object from a captured image obtained by imaging the object with a visual sensor; an imaging condition setting unit that causes the object detection unit to perform imaging and detection of the object under each of the plurality of imaging conditions; and a plurality of detections obtained by executing the imaging and detection under the plurality of imaging conditions. and a detection result determination unit that determines a detection result to be formally adopted based on an index representing the statistical properties of the result.
  • FIG. 1 is a diagram showing the overall configuration of a robot system including a teaching operation panel according to one embodiment
  • FIG. It is a figure showing the hardware configuration example of a robot control device and a teaching operation panel.
  • 3 is a functional block diagram of the teaching console, robot control device, and visual sensor control device;
  • FIG. 10 is a diagram showing an example in which check boxes for automatically setting a plurality of imaging conditions are provided on a parameter setting screen for an execution command of a vision detection function or a detection program.
  • FIG. 10 is a diagram showing an example of a method of automatically generating a plurality of imaging positions around an imaging position instructed or specified by a user; 4 is a flowchart showing imaging and detection processing including processing for determining a detection result from images captured at a plurality of imaging positions; FIG. 10 is a diagram showing an example of detection results when workpieces are detected at six imaging positions including an imaging position automatically generated by an imaging condition setting unit; FIG. 8 is a flow chart showing processing for determining a formal detection result by a detection result determination unit based on the detection result shown in FIG. 7; FIG. FIG. 10 is a diagram showing an example of detection results when workpieces are detected at three imaging positions including an imaging position automatically generated by an imaging condition setting unit;
  • FIG. 1 is a diagram showing the overall configuration of a robot system 100 including a teaching operation panel 10 according to one embodiment.
  • the robot system 100 includes a robot 30 equipped with a hand (gripping device) 33 at the tip of an arm, a robot control device 50 for controlling the robot 30, a teaching operation panel 10 as a teaching device, and a robot 30 at the tip of the arm. It includes an attached visual sensor 70 and a visual sensor controller 20 that controls the visual sensor 70 .
  • the visual sensor control device 20 is connected to the robot control device 50
  • the teaching operation panel 10 is connected to the robot control device 50 .
  • the robot system 100 can detect an object (hereinafter referred to as a work) 1 on the workbench 2 with a visual sensor 70 and handle the work 1 with a hand 33 mounted on the robot 30 .
  • a work object
  • the robot controller 50 controls the motion of the robot 30 in accordance with an operation program loaded into the robot controller 50 or a command input from the teaching operation panel 10 .
  • the visual sensor control device 20 has a function of controlling the visual sensor 70 and a function of performing image processing on the image captured by the visual sensor 70 .
  • the visual sensor control device 20 detects the position of the workpiece 1 from the image captured by the visual sensor 70 and provides the detection result to the robot control device 50 . Thereby, the robot control device 50 can handle the work 1 that has not been positioned.
  • the detection result may include the detected position of the workpiece 1 and an evaluation value (detection score, image contrast, etc.) relating to detection.
  • the visual sensor 70 may be a camera that captures a grayscale image or a color image, or a stereo camera or a three-dimensional sensor that can acquire a range image or a three-dimensional point group.
  • the visual sensor control device 20 holds a model pattern of a workpiece, and can execute image processing for detecting the workpiece by pattern matching between the image of the workpiece in the captured image and the model pattern.
  • the visual sensor 70 has been calibrated, and the visual sensor control device 20 has calibration data that defines the relative positional relationship between the visual sensor 70 and the robot 30 .
  • the position on the image picked up by the visual sensor 70 can be converted into a position on a coordinate system (robot coordinate system or the like) fixed to the working space.
  • the visual sensor control device 20 is configured as a separate device from the robot control device 50, but the functions of the visual sensor control device 20 may be installed in the robot control device 50.
  • the robot system 100 determines a formal detection result by integrally using the results of performing detection processing on each of the captured images of the object captured under a plurality of imaging conditions. It is configured to improve the accuracy of detection and prevent the occurrence of non-detection and erroneous detection.
  • FIG. 2 is a diagram showing a hardware configuration example of the robot control device 50 and the teaching operation panel 10.
  • the robot control device 50 is a general device in which a memory 52 (ROM, RAM, non-volatile memory, etc.), an input/output interface 53, an operation unit 54 including various operation switches, etc. are connected to a processor 51 via a bus. It may have a configuration as a computer.
  • the teaching operation panel 10 is used as a device for performing operation input and screen display for teaching the robot 30 (that is, creating an operation program).
  • the teaching operation panel 10 provides a processor 11 with a memory 12 (ROM, RAM, non-volatile memory, etc.), a display unit 13, an operation unit 14 composed of input devices such as a keyboard and a touch panel (software keys), an input/output It may have a general computer configuration in which the interface 15 and the like are connected via a bus.
  • various information processing devices such as a tablet terminal, a smart phone, and a personal computer may be used as the teaching device.
  • the visual sensor control device 20 also has a configuration as a general computer in which memory (ROM, RAM, non-volatile memory, etc.), an input/output interface, a display section, an operation section, etc. are connected to the processor via a bus. You may have
  • FIG. 3 is a functional block diagram of the teaching operation panel 10, the robot control device 50, and the visual sensor control device 20.
  • the visual sensor control device 20 has a storage section 121 and an image processing section 122 .
  • the storage unit 121 stores various data (model patterns, etc.), detection results, calibration data, and the like required for image processing.
  • the calibration data includes the relative positional relationship of the coordinate system set for the visual sensor 70 with respect to the coordinate system set for the robot 30 .
  • the calibration data may also include internal parameters (focal length, image size, lens distortion, etc.) relating to the imaging optical system.
  • the image processing unit 122 has a function of executing pattern matching and other various image processing.
  • the robot control device 50 has a storage unit 151 and an operation control unit 152 .
  • the storage unit 151 stores various programs such as an operation program and other various information used for robot control.
  • An operation program is provided from the teaching operation panel 10, for example.
  • the motion control unit 152 controls motions of the robot 30 and the like according to commands or motion programs from the teaching operation panel 10 .
  • the control by the motion control unit 152 includes control of the hand 33 and control of the visual sensor control device 20 .
  • the teaching operation panel 10 includes a program creation unit 110, an object detection unit 111, an imaging condition setting unit 112, a detection result determination unit 113, an imaging condition adjustment unit 114, and a storage unit. 115.
  • FIG. 3 shows functional blocks focusing on functions for creating a program and performing detection using a visual sensor.
  • the program creation unit 110 has various functions related to program creation, such as providing various user interface screens for program creation (teaching). With the assistance of the program creation unit 110, the user can create various programs such as an operation program and a detection program.
  • the object detection unit 111 takes an image of the workpiece 1 with the visual sensor 70 and controls the detection of the workpiece 1 from the captured image. More specifically, the object detection unit 111 sends a command for imaging and detection to the robot control device 50 side, and causes the imaging and detection operations to be executed.
  • the object detection unit 111 may be implemented as a detection program that operates under the control of the processor 11 of the teaching console 10 .
  • the object detection unit 111 detects the image of the object by performing matching between the feature points extracted from the captured image and the feature points of the model pattern of the object.
  • the feature points may be edge points.
  • the object detection unit 111 uses an evaluation value (for example, a detection score) representing the degree of matching between the feature points of the object on the captured image and the feature points of the model pattern to determine whether the detection is successful or not. You may make it determine whether there exists.
  • an evaluation value for example, a detection score
  • the imaging condition setting unit 112 sets a plurality of imaging conditions for imaging the workpiece 1, and causes the object detection unit 111 to perform imaging and detection processing of the workpiece 1 under each of the plurality of imaging conditions.
  • the imaging conditions include at least one of the imaging position (or imaging area) of the camera, the exposure time of the camera, the light intensity of the light source (LED, etc.), the gain, the binning, the detection range, and the position and orientation of the robot.
  • binning represents a capture method in which a plurality of pixels on an image pickup device are collectively treated as one pixel
  • detection range represents a range that can be used for detection in a captured image.
  • the position and orientation of the robot as imaging conditions are significant as information that defines the position and orientation of the camera.
  • the detection result determination unit 113 operates to improve the accuracy of the detection result by determining the formal detection result by integrally using the detection results under the plurality of imaging conditions set by the imaging condition setting unit 112. .
  • the detection result determination unit 113 determines the detection result to be formally adopted based on an index representing the statistical properties of a plurality of detection results obtained by performing imaging and detection according to a plurality of imaging requirements.
  • indices representing statistical properties may include modes, averages, medians, standard deviations, and other various statistics.
  • the imaging condition adjustment unit 114 adjusts the imaging conditions previously taught to the object detection unit 111 based on a plurality of detection results obtained by detection under a plurality of imaging conditions set by the imaging condition setting unit 112. do. Note that the imaging conditions previously taught to the object detection unit 111 are the imaging conditions taught by the user via the parameter setting screen or in the manner described in the detection program.
  • the storage unit 115 is used to store various types of information including information on teaching settings, information for programming, and the like.
  • the imaging condition setting unit 112 can automatically generate a plurality of imaging conditions.
  • the imaging condition setting unit 112 may generate a plurality of imaging conditions in accordance with user designation of parameters such as the number of imaging conditions.
  • (a1) Include a check item for automatically generating a plurality of imaging conditions in a parameter setting screen for setting detailed parameters of a visual detection function command (command icon, etc.) or a processing program (detection program).
  • (a2) A method of providing a programming syntax for automatically generating a plurality of imaging conditions and using the syntax when text-based programming is possible.
  • the above method (a1) can be realized, for example, by providing a check box such as " ⁇ Automatic setting of imaging conditions" on the parameter setting screen.
  • a check box such as " ⁇ Automatic setting of imaging conditions"
  • the imaging condition setting unit 112 automatically generates a plurality of imaging conditions.
  • FIG. 4 shows an example in which check boxes for automatically setting a plurality of imaging conditions are provided on the parameter setting screen for the execution command of the visual detection function or the detection program.
  • the parameter setting screen 200 in FIG. 4 includes “camera imaging position” 210 and “detection setting” 220 as setting items.
  • the "detection setting” 220 includes a designation field 221 for designating a detection program and a register designation field 222 for storing the detected number of workpieces.
  • the parameter setting screen 200 further includes check boxes 230 for automatically generating a plurality of imaging positions as imaging conditions, and a designation field 231 for designating the number of imaging positions in this case.
  • this check box 230 is checked, the imaging condition setting unit 112 selects the number of imaging positions specified in the number of detection fields based on the imaging positions taught by the user in the "camera imaging position" 210 designation field. is automatically generated.
  • a specific example of the technique (a2) can be realized by providing the following command syntax, for example.
  • Satsuzoichijidoseisei (“number of imaging positions”, “detection program name”)
  • the above command provides a function of generating the number of imaging positions specified by the argument "number of imaging positions” for the detection program specified by the argument "detection program name”.
  • the imaging condition setting unit 112 sets the number of imaging positions specified by the number of imaging positions around the imaging position specified (instructed) by the user in the detection program. Generate a position.
  • An imaging position in this case may also include the posture.
  • An imaging area 301 in the central part shown in FIG. 5 is assumed to be an imaging area on the imaging target surface corresponding to the imaging position previously instructed by the user in the “camera imaging position” 210 field of the parameter setting screen 200 .
  • the imaging target surface is, for example, the mounting surface of the work 1 (the upper surface of the workbench 2). Also, here, it is assumed that the number of designations for automatic generation of imaging positions is four.
  • the imaging condition setting unit 112 as shown in the left part of FIG. Imaging areas 311-314 are arranged.
  • the distances from the center C01 of the imaging area 301 to the centers C11, C12, C13, and C14 of the imaging areas 311, 312, 313, and 314 may be the same.
  • the distances from the center C01 of the imaging region 301 to the centers C11, C12, C13, and C14 of the imaging regions 311, 312, 313, and 314 are determined by how much each of the imaging regions 311 to 314 overlaps the imaging region 301. It may be automatically set by the imaging condition setting unit 112 according to the condition, or may be configured so that the user can specify it. In the left part of FIG.
  • the five imaging regions 301, 311-314 are illustrated so as not to overlap each other, but in reality the imaging regions 311-314 As shown on the right side, they are arranged so as to partially overlap with the imaging regions 301 so that the target object is included in each imaging region.
  • the imaging condition setting unit 112 sets the position of the imaging region set in this way, information about the imaging optical system of the visual sensor 70 (focal length of the imaging lens, angle of view, etc.), relative distance between the visual sensor 70 and the imaging target plane.
  • the imaging positions of the visual sensor 70 corresponding to the respective imaging regions 311 to 314 can be obtained based on various conditions such as the positional relationship.
  • the imaging condition setting unit 112 can acquire information necessary for generating imaging conditions from the robot control device 50 side.
  • the object detection unit 111 moves the robot 30 (hand 33) so that the workpiece 1 is imaged at a plurality of imaging positions set by the imaging condition setting unit 112 as described above.
  • FIG. 6 shows the imaging condition setting unit 112 and the detection result determination unit 113 described above for the basic detection processing function of the object detection unit 111 that performs detection by imaging the object under previously taught imaging conditions.
  • 10 is a flowchart showing "imaging and detection processing" added with processing for determining detection results from images captured under a plurality of imaging conditions by the function of . This processing is realized by the cooperation of the teaching console 10, the robot controller 50, and the vision sensor controller 20 under the control of the processor 11 of the teaching console 10.
  • the imaging condition setting unit 112 performs the user-specified A number of imaging conditions are generated (step S1). Then, the imaging condition setting unit 112 instructs the object detection unit 111 to perform normal detection including processing for imaging the workpiece (step S2) and detection processing (image processing) using the captured image (step 3). The process is repeatedly executed for a plurality of imaging conditions (loop process L1). Note that the plurality of imaging conditions that are loop-processed here include the imaging conditions previously taught by the user and the imaging conditions automatically generated by the imaging condition setting unit 112 .
  • a final detection result is determined by integrally using a plurality of detection results obtained by imaging under a plurality of imaging conditions. is performed (step S4).
  • the detection result determination process in step S ⁇ b>4 in FIG. 6 is provided by the function of the detection result determination unit 113 .
  • the determination of the detection result by the detection result determination unit 113 can be various examples of determination based on indices representing statistical properties of a plurality of detection results. As examples, there are determination examples such as the following (b1) to (b4).
  • (b1) A detection result to be formally adopted is determined by majority rule based on the number of detection results that match each other from a plurality of detection results relating to object detection under a plurality of imaging conditions.
  • (b2) A formal detection result is determined by averaging a plurality of detection results regarding object detection under a plurality of imaging conditions.
  • (b3) Evaluate the detection result based on a value obtained by adding scores as a plurality of detection results under a plurality of imaging conditions, and determine a formal detection result.
  • the total score value is used as an index value for evaluation. For example, when the total value of scores exceeds a threshold, it may be adopted as a formal detection result. Alternatively, when there are a plurality of groups with matching detection results, the total score of each group may be compared to determine the group to be adopted as the official detection results.
  • (b4) Remove outliers from a plurality of detection results and average them.
  • FIG. 7 shows detection results 411 to 416 when the work 1 is detected at six imaging positions including the imaging position automatically generated by the imaging condition setting unit 112 .
  • Each detection result 411-416 includes a captured image and a detection position.
  • the detection result 411 includes the captured image M1 and the detected position P1
  • the detection result 412 includes the captured image M2 and the detected position P2
  • the detection result 413 includes the captured image M3 and the detected position P3.
  • the detection result 414 includes the captured image M4 and the detected position P4
  • the detection result 415 includes the captured image M5 and the detected position P5
  • the detection result 416 includes the captured image M6 and the detected position P6 .
  • the detected position is the three-dimensional position of the workpiece 1 detected from the captured image, which is a two-dimensional image.
  • the visual sensor control device 20 has calibration data.
  • This calibration data includes external parameters that define the relative positional relationship of the coordinate system (camera coordinate system) set in the visual sensor 70 with respect to the robot coordinate system, and internal parameters related to the imaging optical system.
  • a three-dimensional position in the robot coordinate system can be mapped onto a two-dimensional image by a transformation matrix set based on this calibration data.
  • a three-dimensional position on the robot coordinate system is transformed into a position on the camera coordinate system by the extrinsic parameters, and the position on the camera coordinate system is mapped to a position on the image plane by the intrinsic parameters. Based on such mapping, the three-dimensional position on the coordinate system (robot coordinate system) fixed to the work space can be calculated from the position on the image picked up by the visual sensor 70 .
  • the detection results 411 to 416 in FIG. 7 are images of the workpiece 1 taken from different imaging positions.
  • the detection position P1 of the detection result 411, the detection position P3 of the detection result 413, and the detection position P5 of the detection result 415 match.
  • the detection position P2 of the detection result 412 and the detection position P4 of the detection result 414 match, and there is no other detection position P6 that is the same.
  • the difference is within a predetermined allowable range (for example, The difference is such that the robot 30 handles the workpiece 1 without causing any problem).
  • detection positions P1, P3, and P5 are correct detection positions
  • detection position P2, detection position P4, and detection position P6 are erroneous detections.
  • FIG. 8 shows the processing (step S4 in FIG. 6) when the detection result determination unit 113 determines the formal detection result according to the above-described determination method (b1) based on the detection results 411 to 416 shown in FIG. is shown as a flow chart.
  • the detection result determination unit 113 compares the six detection positions P1-P6 based on the detection results 411-416 (step S11). Note that the detected position (three-dimensional position) can be obtained from the position information of the robot 30 at the time of imaging and the detection result on the captured image. In this case, the detection result determination unit 113 recognizes that the detection positions P1, P3 and P5 are the same detection positions, the detection positions P2 and P4 are the same detection positions, and that there is no same detection result as the detection result P6 ( step S12).
  • the detection result determination unit 113 officially determines the detection positions (in this case, the detection positions P1, P3, and P5 based on the detection results 411, 413, and 415) when the detected positions are the same in the most captured images. detected position (step S13).
  • the detection result with the largest number of matching detection results (that is, the most frequent value) is adopted as the official detection result. It is possible to prevent the occurrence of
  • the imaging conditions that bring about the detection results with a smaller number of matching detection results have the highest number of matching detection results. It can be positioned as "an imaging condition with a lower probability of successful detection" than an imaging condition that brought about detection results (detection positions P1, P3, P5) in the case of a large number.
  • the imaging conditions that produced the detection results were the detection results with fewer matching detection results (detection positions P2 and P4, Alternatively, it can be positioned as "an imaging condition with a higher probability of successful detection" than the imaging condition that brought about the detection result P6).
  • the evaluation value (detection score, etc.) included in the detection result it can be considered that the lower the evaluation value, the lower the probability of successful detection under the imaging condition.
  • an imaging condition with a higher evaluation value has a higher probability of successful detection.
  • the imaging condition adjustment unit 114 (c1) An imaging condition that provides a detection result with a greater number of matches, is an imaging condition with a higher probability of successful detection. (c2) An imaging condition that provides a higher predetermined evaluation value related to the detection result is an imaging condition with a higher probability of successful detection.
  • imaging condition adjustment unit 114 uses the extracted “imaging conditions positioned as unsuitable for use in imaging and detection” and/or “imaging conditions positioned as suitable for use in imaging and detection," The imaging conditions previously taught to the object detection unit 111 can be adjusted. It should be noted that “(c1) the imaging condition that brings about a detection result with a larger number of matches is an imaging condition with a higher probability of successful detection” means “detection results with a smaller number of matches with each other”.
  • the imaging condition that brings about is an imaging condition with a lower probability of successful detection.”
  • ⁇ (c2) the imaging condition with which the predetermined evaluation value related to the detection result is higher is the imaging condition in which the probability of successful detection is higher'' means that ⁇ the predetermined evaluation value related to the detection result is The lower the imaging condition, the lower the probability of successful detection.”
  • the imaging condition adjustment unit 114 may extract the imaging conditions that bring about the detection results P1, P3, and P5 as "imaging conditions positioned as suitable for use in imaging and detection” according to the above determination criteria (c1). In addition, the imaging condition adjustment unit 114 determines the imaging condition that brought about the detection positions P2 and P4 or the detection result P6 to be the imaging condition positioned as unsuitable for use in imaging and detection according to the determination criterion (c1). ” may be extracted as
  • Detection positions P1, P3, and P5 are correct detection positions, and detection positions P2, P4, and detection position P6 are erroneous detections.
  • the detection scores of the detection positions P1, P3 and P5 are higher than the detection scores of the detection results P2 and P4 or the detection result P6. Therefore, the imaging condition adjustment unit 114 extracts the imaging conditions that bring about the detection results P1, P3, and P5 as “imaging conditions positioned as suitable for use in imaging and detection” according to the determination criterion (c2). good.
  • the imaging condition adjusting unit 114 determines the imaging condition that brought about the detection positions P2 and P4 or the detection result P6 according to the determination criterion (c2) as “an imaging condition that is positioned as being unsuitable for use in imaging and detection. ” may be extracted as
  • the imaging condition adjustment unit 114 stores the "imaging conditions positioned as unsuitable for use in imaging and detection" and/or the "imaging conditions positioned as suitable for use in imaging and detection” extracted as described above. This is stored in the unit 115 so that it can be used for adjusting the imaging conditions.
  • the storage unit 115 may include any storage device that can be configured in the memory 52, such as a storage area for variables that can be referred to by programs, files in non-volatile memory, and the like. Alternatively, the storage unit 115 may be configured outside the teaching console 10 .
  • the imaging condition adjustment unit 114 when the imaging conditions instructed by the user or specified in advance to the detection program correspond to "imaging conditions positioned as unsuitable for use in imaging and detection," A message prompting the user to change the imaging conditions is output, or if "imaging conditions positioned as suitable for use in imaging and detection" are stored in the storage unit 115, the detection program is instructed.
  • an operation may be performed to update preset imaging conditions to "imaging conditions positioned as suitable for use in imaging and detection". By such an operation, it is possible to prevent the use of “imaging conditions that are considered unsuitable for use in imaging and detection” as imaging conditions by the object detection unit 111 .
  • detection results 511 to 513 are the detection results obtained when the work 1 is detected at three imaging positions including the imaging position automatically generated by the imaging condition setting unit 112 .
  • the detection result 511 includes the captured image M11 and the detection position P11
  • the detection result 512 includes the captured image M12 and the detection position P12
  • the detection result 513 includes the captured image M13 and the detection position P13.
  • the detection positions P11, P12, and P13 in the example of FIG. 9 are all correct detection positions (detection results that are not erroneous detections).
  • the detection result determination unit 113 adopts the average value of the detection positions P11-P13 as the three detection results as the formal detection position. Since the three-dimensional position of the workpiece 1 as a detection result generally varies, the detection accuracy can be improved by averaging these detection positions (for example, the average value of the detection positions P11 to P13 is used as the formal detection position). can increase If the detection positions P11, P12, and P13 include erroneous detection (those whose evaluation values are lower than a predetermined value), the erroneously detected detection positions may be removed from the averaging. . In this example, an example in which the average value is determined as the formal detection result has been described, but there may be an example in which the median value is determined as the formal detection result.
  • the imaging condition adjustment unit 114 determines whether the above-described determination criterion (c2) “a result in which the predetermined evaluation value related to the detection result is higher is an imaging condition with a higher probability of successful detection.” "imaging conditions" and/or "imaging conditions positioned as suitable for use in imaging and detection” can be extracted. Then, the imaging condition adjustment unit 114 adjusts the imaging conditions as described above, that is, the “imaging conditions positioned as unsuitable for use in imaging and detection” are not used as the imaging conditions by the object detection unit 111. or update the imaging conditions previously taught to the object detection unit 111 with “imaging conditions positioned as suitable for use in imaging and detection”.
  • detection positions P1, P3, and P5 in the first embodiment shown in FIG. 7 may also include variations.
  • P5 may be averaged and used as the formal detection position in the first embodiment.
  • the robot system shown in the above-described embodiments has a configuration in which the robot is equipped with a visual sensor and images a workpiece placed on the workbench.
  • the various functions described in the above embodiments may be applied to a system in which a robot that grips a work is moved to show the work to a visual sensor.
  • a plurality of imaging positions set by the imaging condition setting unit 112 described with reference to FIG. 5 are relative imaging positions of the visual sensor 70 with the workpiece as a reference. Therefore, in the case of such a system configuration, the object detection unit 111 is configured such that the workpiece is gripped by the robot so that the image of the workpiece is captured by the visual sensor 70 at a plurality of image capturing positions set by the image capturing condition setting unit 112.
  • a control that is, a command to the robot control device
  • the imaging target plane in this case may be defined as a plane including the surface of the workpiece.
  • the operation of automatically generating a plurality of imaging conditions by the imaging condition setting unit 112 has been described.
  • the operation may be such that the object detection unit 111 uses a plurality of imaging conditions.
  • each function in the functional block diagram shown in FIG. 3 is an example, and various modifications regarding the arrangement of functions are possible.
  • the object detection unit 111, the imaging condition setting unit 112, the detection result determination unit 113, the imaging condition adjustment unit 114, and the storage unit 115 arranged in the teaching operation panel 10 are arranged on the robot control device 50 side. Examples are possible.
  • the functions of the visual sensor control device 20 may also be included in the robot control device 50 . In this case, the entire function provided by the teaching operation panel 10 and the robot control device 50 can be defined as a teaching device.
  • the functional blocks of the teaching operation panel 10, the robot controller 50, and the visual sensor controller 20 shown in FIG. 3 are implemented by the processors of these devices executing various software stored in the storage device. Alternatively, it may be realized by a configuration mainly composed of hardware such as ASIC (Application Specific Integrated Circuit).
  • ASIC Application Specific Integrated Circuit
  • Programs for executing various processes such as imaging and detection processes in the above-described embodiment are stored in various computer-readable recording media (eg, ROM, EEPROM, semiconductor memory such as flash memory, magnetic recording medium, CD-ROM, can be recorded on an optical disc such as a DVD-ROM).
  • ROM read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • semiconductor memory such as flash memory
  • magnetic recording medium CD-ROM

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Supply And Installment Of Electrical Components (AREA)
  • Manipulator (AREA)

Abstract

視覚センサにより対象物を撮像して得られた撮像画像から対象物の検出を実行する対象物検出部(111)と、対象物の撮像に関する複数の撮像条件を設定し、当該複数の撮像条件の各々で対象物検出部(111)に対象物の撮像及び検出を実行させる撮像条件設定部(112)と、複数の撮像条件により撮像及び検出を実行して得られた複数の検出結果の統計的な性質を表す指標に基づき正式に採用する検出結果を決定する検出結果決定部(113)と、を備える教示装置(10)である。

Description

教示装置
 本発明は、教示装置に関する。
 画像処理装置を用いて撮像装置の視野内の画像の中から特定の対象物を検出し、検出した対象物の位置を取得する視覚検出機能が知られている。視覚検出機能で検出した対象物の位置を用いることで、ロボットは位置決めされていない対象物を操作することができる(例えば、特許文献1参照)。
 なお、特許文献2は、吸着・保持能力試験プログラムに関し、「移動装置にノズルホルダを通常より激しく移動させるとともに、その移動の前後に撮像装置に吸着ノズルに保持された電子回路部品を撮像させ、移動の前後における撮像の結果取得された画像のデータを処理して、移動の前後における電子回路部品の吸着ノズルに対する相対位置に変化がなければ、吸着ノズルの電子回路部品保持能力は十分であると判定する」ことを記載する(要約書)。
特開2019-113895号公報 特開2003-304095号公報
 特許文献1に記載されたような、視覚センサを用いる従来のロボットシステムでは、対象物であるワークを検出する際の撮像位置や環境の変化等の影響で未検出や誤検出が発生することがある。未検出や誤検出は、システムを停止させる要因となり、サイクルタイムに影響を与えるため、その発生を未然に防止できるようにすることが望まれる。
 本開示の一態様は、視覚センサにより対象物を撮像して得られた撮像画像から前記対象物の検出を実行する対象物検出部と、前記対象物の撮像に関する複数の撮像条件を設定し、当該複数の撮像条件の各々で前記対象物検出部に前記対象物の撮像及び検出を実行させる撮像条件設定部と、前記複数の撮像条件により前記撮像及び検出を実行して得られた複数の検出結果の統計的な性質を表す指標に基づき正式に採用する検出結果を決定する検出結果決定部と、を備える教示装置である。
 上記構成によれば、より精度の高い検出結果を得ることができ、未検出や誤検出の発生を未然に防ぐことが可能になる。
 添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれらの目的、特徴および利点ならびに他の目的、特徴および利点がさらに明確になるであろう。
一実施形態に係る教示操作盤を含むロボットシステムの全体構成を表す図である。 ロボット制御装置及び教示操作盤のハードウェア構成例を表す図である。 教示操作盤、ロボット制御装置、及び視覚センサ制御装置の機能ブロック図である。 視覚検出機能の実行命令或いは検出プログラムに対するパラメータ設定画面に、複数の撮像条件を自動設定するためのチェクボックスを設けた例を示す図である。 ユーザが教示或いは指定した撮像位置の周囲に、複数の撮像位置を自動生成する手法の例を示す図である。 複数の撮像位置で撮像した画像から検出結果を決定する処理を含む撮像及び検出処理を表すフローチャートである。 撮像条件設定部により自動生成された撮像位置を含む6つの撮像位置でワークの検出を行った場合の検出結果の例を示す図である。 図7に示す検出結果に基づいて、検出結果決定部が正式な検出結果を決定する処理を表すフローチャートである。 撮像条件設定部により自動生成された撮像位置を含む3つの撮像位置でワークの検出を行った場合の検出結果の例を示す図である。
 次に、本開示の実施形態について図面を参照して説明する。参照する図面において、同様の構成部分または機能部分には同様の参照符号が付けられている。理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は本発明を実施するための一つの例であり、本発明は図示された形態に限定されるものではない。
 図1は、一実施形態に係る教示操作盤10を含むロボットシステム100の全体構成を表す図である。ロボットシステム100は、アーム先端部にハンド(把持装置)33を搭載したロボット30と、ロボット30を制御するロボット制御装置50と、教示装置としての教示操作盤10と、ロボット30のアーム先端部に取り付けられた視覚センサ70と、視覚センサ70を制御する視覚センサ制御装置20とを含む。視覚センサ制御装置20は、ロボット制御装置50に接続され、また、教示操作盤10は、ロボット制御装置50に接続されている。ロボットシステム100は、視覚センサ70により作業台2上の対象物(以下、ワークと記載する)1の検出を行い、ロボット30に搭載したハンド33でワーク1のハンドリングを行うことができる。
 産業機械としてのロボット30は、ここでは、垂直多関節ロボットであるとしているが、他の種類のロボットが用いられても良い。ロボット制御装置50は、ロボット制御装置50内にロードされた動作プログラム或いは教示操作盤10から入力される指令にしたがってロボット30の動作を制御する。
 視覚センサ制御装置20は、視覚センサ70を制御する機能と、視覚センサ70で撮像された画像に対する画像処理を行う機能とを有する。視覚センサ制御装置20は、視覚センサ70で撮像された画像からワーク1の位置を検出し、検出結果をロボット制御装置50に提供する。これにより、ロボット制御装置50は、位置決めされていないワーク1のハンドリングを行うことができる。なお、検出結果には、ワーク1の検出位置、検出に関する評価値(検出スコア、画像のコントラスト等)が含まれ得る。
 視覚センサ70は、濃淡画像やカラー画像を撮像するカメラでも、距離画像や3次元点群を取得できるステレオカメラや3次元センサでもよい。視覚センサ制御装置20は、ワークのモデルパターンを保持しており、撮像画像中のワークの画像とモデルパターンとのパターマッチングによりワークを検出する画像処理を実行することができる。本実施形態では、視覚センサ70はキャリブレーション済みであるものとし、視覚センサ制御装置20は、視覚センサ70とロボット30との相対位置関係を定義したキャリブレーションデータを保有しているものとする。これにより、視覚センサ70で撮像した画像上の位置を、作業空間に固定した座標系(ロボット座標系等)上の位置に変換することができる。
 なお、図1では、視覚センサ制御装置20はロボット制御装置50とは別の装置として構成されているが、視覚センサ制御装置20としての機能がロボット制御装置50内に搭載されていても良い。
 以下で説明するように、ロボットシステム100は、対象物を複数の撮像条件で撮像した撮像画像の各々について検出処理を行った結果を統合的に用いて正式な検出結果を決定することで、検出の精度を高め、未検出や誤検出の発生を未然に防ぐことができるように構成される。
 図2は、ロボット制御装置50及び教示操作盤10のハードウェア構成例を表す図である。ロボット制御装置50は、プロセッサ51に対してメモリ52(ROM、RAM、不揮発性メモリ等)、入出力インタフェース53、各種操作スイッチを含む操作部54等がバスを介して接続された、一般的なコンピュータとしての構成を有していても良い。教示操作盤10は、ロボット30を教示する(すなわち、動作プログラムを作成する)ための操作入力及び画面表示を行うための装置として用いられる。教示操作盤10は、プロセッサ11に対して、メモリ12(ROM、RAM、不揮発性メモリ等)、表示部13、キーボード及びタッチパネル(ソフトウェアキー)等の入力装置により構成される操作部14、入出力インタフェース15等がバスを介して接続された、一般的なコンピュータとしての構成を有していても良い。なお、教示操作盤10に代えて、タブレット端末、スマートフォン、パーソナルコンピュータ等の各種情報処理装置を教示装置として用いても良い。
 視覚センサ制御装置20も、プロセッサに対してメモリ(ROM、RAM、不揮発性メモリ等)、入出力インタフェース、表示部、操作部等がバスを介して接続された、一般的なコンピュータとしての構成を有していても良い。
 図3は、教示操作盤10、ロボット制御装置50、及び視覚センサ制御装置20の機能ブロック図である。
 視覚センサ制御装置20は、記憶部121と、画像処理部122とを有する。記憶部121は、画像処理を行う上で必要となる各種データ(モデルパターン等)、検出結果、キャリブレーションデータ等を記憶する。キャリブレーションデータは、ロボット30に設定した座標系に対する視覚センサ70に設定した座標系の相対位置関係を含む。キャリブレーションデータは、更に、撮影光学系に関する内部パラメータ(焦点距離、画像サイズ、レンズ歪み等)を含んでいても良い。画像処理部122は、パターンマッチングその他の各種画像処理を実行する機能を担う。
 ロボット制御装置50は、記憶部151と、動作制御部152とを有する。記憶部151は、動作プログラム等の各種プログラム、及びその他のロボット制御に用いる各種情報を記憶する。動作プログラムは、例えば、教示操作盤10から提供される。動作制御部152は、教示操作盤10からの指令或いは動作プログラムにしたがってロボット30等の動作を制御する。なお、動作制御部152による制御には、ハンド33の制御、及び視覚センサ制御装置20に対する制御が含まれる。
 図3に示されるように、教示操作盤10は、プログラム作成部110と、対象物検出部111と、撮像条件設定部112と、検出結果決定部113と、撮像条件調整部114と、記憶部115とを備える。なお、教示操作盤10は、ロボットの教示に関する様々な機能を有するが、図3では、プログラム作成、及び視覚センサを用いた検出を実行するための機能に着目した場合の機能ブロックを記載している。
 プログラム作成部110は、プログラム作成(教示)のための各種ユーザインタフェース画面の提供等のプログラム作成に係わる各種機能を有する。プログラム作成部110による支援の下で、ユーザは、動作プログラムや検出プログラム等の各種プログラムの作成を行うことができる。
 対象物検出部111は、視覚センサ70によりワーク1を撮像し、撮像画像からワーク1の検出を実行する制御を司る。より具体的には、対象物検出部111は、撮像及び検出のための指令をロボット制御装置50側に送り、撮像及び検出の動作を実行させる。対象物検出部111は、教示操作盤10のプロセッサ11による制御の下で動作する検出プログラムとして実現されるものであっても良い。例えば、対象物検出部111は、撮像画像から抽出した特徴点と、対象物のモデルパターンの特徴点とのマッチングを行って対象物の像を検出する。ここで、特徴点は、エッジ点であっても良い。そして、対象物検出部111は、撮像画像上の対象物の特徴点とモデルパターンの特徴点との一致度を表す評価値(例えば、検出スコア)を用いて検出が成功しているか検出エラーであるかを判定するようにしても良い。
 撮像条件設定部112は、ワーク1の撮像に関する複数の撮像条件を設定し、当該複数の撮像条件の各々で対象物検出部111にワーク1の撮像及び検出処理を実行させる。
 例示として、撮像条件には、カメラの撮像位置(又は撮像領域)、カメラの露光時間、光源(LED等)の光量、ゲイン、ビニング、検出範囲、ロボットの位置姿勢の少なくともいずれかが含まれていても良い。これらの諸条件は、検出結果に影響を与え得る。なお、ビニングとは、撮像素子上の複数の画素をまとめて一つの画素として扱う取り込み手法を表し、検出範囲とは、撮像画像中の検出に用い得るべき範囲を表す。撮像条件としてのロボットの位置姿勢は、カメラの位置姿勢を規定する情報として意義を有する。
 検出結果決定部113は、撮像条件設定部112により設定された複数の撮像条件による検出結果を統合的に用いて正式な検出結果を決定することで、検出結果の精度を向上させるように動作する。本実施形態では、検出結果決定部113は、複数の撮像要件により撮像及び検出を実行して得られた複数の検出結果の統計的な性質を表す指標に基づき正式に採用する検出結果を決定する。ここで、統計的な性質を表す指標には、最頻値、平均値、中央値、標準偏差その他の各種統計量が含まれ得る。
 撮像条件調整部114は、撮像条件設定部112により設定された複数の撮像条件による検出によって得られた複数の検出結果に基づいて、対象物検出部111に対して予め教示された撮像条件を調整する。なお、対象物検出部111に対して予め教示された撮像条件とは、パラメータ設定画面を介して、或いは検出プログラムに記述する態様でユーザにより教示されている撮像条件である。
 記憶部115は、教示設定に関する情報、プログラミングのための情報等を含む各種情報を記憶するために用いられる。
 撮像条件設定部112による複数の撮像条件の設定について説明する。撮像条件設定部112は、複数の撮像条件を自動生成することができる。撮像条件設定部112は、ユーザによる撮像条件数などのパラメータの指定に従って、複数の撮像条件を生成しても良い。撮像条件設定部112が、ユーザからの撮像条件数の指定に従って撮像条件を自動的に生成する態様には、
(a1)視覚検出機能の命令(命令アイコン等)或いは処理プログラム(検出プログラム)の詳細パラメータを設定するためのパラメータ設定画面に、複数の撮像条件を自動的に生成させるためのチェック項目を含めることによる手法、
(a2)複数の撮像条件を自動生成するためのプログラミングの構文を設け、テキストベースでのプログラミングを行う際に当該構文を使用する手法、が有り得る。
 上記手法(a1)は、例えば、パラメータ設定画面に、“□撮像条件の自動設定”といったチェックボックスを設けることにより実現することができる。ユーザがこのチェックボックスをチェックしている場合、撮像条件設定部112は複数の撮像条件を自動生成するようにする。
 図4に、視覚検出機能の実行命令或いは検出プログラムに対するパラメータ設定画面に、複数の撮像条件を自動設定するためのチェックボックスを設けた例を示す。図4のパラメータ設定画面200は、設定項目として、「カメラの撮像位置」210と、「検出設定」220とを含む。「検出設定」220は、検出プログラムを指定するための指定欄221と、ワークの検出数を格納するためのレジスタの指定欄222とを含む。「カメラの撮像位置」210の指定欄における教示ボタン211を押下することで、ユーザは、教示操作盤10のジョグ操作ボタンを操作してロボット30を移動させ撮像位置の教示を行うことができる。
 パラメータ設定画面200は、更に、撮像条件としての複数の撮像位置を自動生成するためのチェックボックス230と、この場合の撮像位置の数を指定する指定欄231とを含む。このチェックボックス230にチェックを入れると、撮像条件設定部112は、ユーザが「カメラの撮像位置」210の指定欄で教示した撮像位置に基づいて、検出数の指定欄で指定した数の撮像位置を自動生成する。
 上記手法(a2)の具体例は、例えば、以下のような命令構文を設けることにより実現し得る。

サツゾウイチジドウセイセイ(“撮像位置数”,“検出プログラム名”)

上記命令は、引数“撮像位置数”で指定した数の撮像位置を、引数“検出プログラム名”で指定した検出プログラムに関し生成する機能を提供する。例えば、動作プログラム内で上記の構文が記述されている場合、撮像条件設定部112は、検出プログラムでユーザ指定(教示)されている撮像位置の周囲に、撮像位置数で指定された数の撮像位置を生成する。
 ユーザが教示した撮像位置の周囲に、1以上の撮像位置を自動生成する手法の例を図5を参照し説明する。なお、この場合の撮像位置には、姿勢も含むものとしても良い。図5に示す中央部の撮像領域301は、ユーザが予めパラメータ設定画面200の「カメラの撮像位置」210の欄で教示した撮像位置に対応する撮像対象面上における撮像領域であるものとする。なお、撮像対象面は、例えば、ワーク1の載置面(作業台2の上面)である。また、ここでは撮像位置の自動生成の指定数は、4つであるものとする。
 一例として、撮像条件設定部112は、図5の左側部分に示すように、撮像領域301の中心C01を中心とする円の周方向において等角度間隔(本例では、90度間隔)で4つの撮像領域311-314を配置する。撮像領域301の中心C01から各撮像領域311、312,313、314の中心C11、C12、C13、C14までの距離は同一にしても良い。この場合、撮像領域301の中心C01から各撮像領域311、312,313、314の中心C11、C12、C13、C14までの距離は、各撮像領域311-314を撮像領域301とどの程度オーバーラップさせるかに応じて撮像条件設定部112において自動設定しても良いし、ユーザが指定できるように構成しても良い。なお、図5の左側部分では、説明の便宜のために、5つの撮像領域301、311-314が互いに重ならないように図示しているが、実際には、撮像領域311-314は、同図右側に示すように、それぞれの撮像領域に対象物が含まれるように、撮像領域301と部分的に重なるように配置される。撮像条件設定部112は、このようにして設定された撮像領域の位置、視覚センサ70の撮影光学系に関する情報(撮影レンズの焦点距離、画角等)、視覚センサ70と撮像対象面との相対位置関係等の諸条件に基づき、それぞれの撮像領域311-314に対応する視覚センサ70の撮像位置を求めることができる。なお、撮像条件設定部112は、撮像条件の生成のために必要な情報をロボット制御装置50側から取得することができる。対象物検出部111は、撮像条件設定部112により上記のように設定された複数の撮像位置でワーク1の撮像が行われるように、ロボット30(ハンド33)を移動させる。
 図6は、予め教示された撮像条件で対象物を撮像して検出を行うという対象物検出部111の基本的な検出処理機能に対して、上述した撮像条件設定部112及び検出結果決定部113の機能により複数の撮像条件で撮像した画像から検出結果を決定する処理が付加された「撮像及び検出処理」を表すフローチャートである。なお、本処理は、教示操作盤10のプロセッサ11による制御の下で、教示操作盤10と、ロボット制御装置50と、視覚センサ制御装置20とが協働することにより実現される処理である。
 図6の処理内容について説明する。上述したようなパラメータ設定画面200を介しての撮像条件の自動設定の指定、或いは、命令の構文による撮像条件の自動生成の指定が成されている場合、撮像条件設定部112は、ユーザ指定された数の撮像条件を生成する(ステップS1)。そして、撮像条件設定部112は、対象物検出部111に対して、ワークを撮像する処理(ステップS2)及び撮像された画像を用いた検出処理(画像処理)(ステップ3)からなる通常の検出処理を、複数の撮像条件について繰り返し実行させる(ループ処理L1)。なお、ここでループ処理される複数の撮像条件は、ユーザが予め教示している撮像条件、及び撮像条件設定部112が自動生成した撮像条件を含む。
 複数の撮像条件での撮像及び検出処理が完了し、処理がループを抜けると、複数の撮像条件で撮像することによる複数の検出結果を統合的に用いることによる、最終的な検出結果の決定が行われる(ステップS4)。
 図6のステップS4における検出結果の決定処理は、検出結果決定部113の機能により提供される。検出結果決定部113による検出結果の決定は、複数の検出結果の統計的な性質を表す指標に基づく各種決定例があり得る。例示として、以下の(b1)から(b4)のような決定例がある。
(b1)複数の撮像条件による対象物の検出に関する複数の検出結果から、互いに一致する検出結果の数に基づき多数決式で正式に採用する検出結果を決定する。 
(b2)複数の撮像条件による対象物の検出に関する複数の検出結果を平均化することで正式な検出結果を決定する。
(b3)複数の撮像条件による複数の検出結果としてのスコアを足し合わせた値に基づき検出結果を評価して正式な検出結果を決定する。この方式の下では、例えば、一致する検出結果をもたらす検出結果のグループについて、スコアの合計値を評価の指標値して用いる。例えば、スコアの合計値が閾値を超えているときに、正式な検出結果として採用しても良い。或いは、検出結果が一致するグループが複数ある場合に、各グループのスコアの合計値を対比して、正式な検出結果として採用するグループを決定しても良い。
(b4)複数の検出結果から外れ値を除去した上で平均化する。
 次に、図6に示した複数の撮像条件による対象物の撮像及び検出処理による具体的な動作例として、上記手法(b1)に従う動作例(第1実施例)と、上記手法(b2)に従う動作例(第2実施例)とを説明する。
 上記手法(b1)に従う、複数の撮像条件による対象物の撮像及び検出処理の動作例(第1実施例)について図7及び図8を参照して説明する。図7は、撮像条件設定部112により自動生成された撮像位置を含む6つの撮像位置でワーク1の検出を行った場合の検出結果411-416を示している。各検出結果411-416は、撮像画像と検出位置とを含んでいる。具体的には、検出結果411は、撮像画像M1と検出位置P1とを含み、検出結果412は、撮像画像M2と検出位置P2とを含み、検出結果413は、撮像画像M3と検出位置P3とを含み、検出結果414は、撮像画像M4と検出位置P4とを含み、検出結果415は、撮像画像M5と検出位置P5とを含み、検出結果416は、撮像画像M6と検出位置P6とを含む。なお、検出位置とは、2次元画像である撮像画像から検出されたワーク1の3次元位置である。上述したように、視覚センサ制御装置20は、キャリブレーションデータを保有している。このキャリブレーションデータは、ロボット座標系に対する視覚センサ70に設定した座標系(カメラ座標系)の相対位置関係を規定する外部パラメータや、撮影光学系に関する内部パラメータを含んでいる。このキャリブレーションデータに基づいて設定される変換行列により、ロボット座標系における3次元位置は2次元画像上にマッピングされ得る。すなわち、ロボット座標系上の3次元位置は、外部パラメータによりカメラ座標系上の位置に変換され、カメラ座標系上の位置は、内部パラメータにより画像平面上の位置にマッピングされる。このようなマッピングに基づき、視覚センサ70で撮像した画像上の位置から、作業空間に固定した座標系(ロボット座標系)上の3次元位置を算出することができる。
 図7の検出結果411-416は、それぞれ異なる撮像位置からワーク1を撮像したものである。ここでは、検出結果411の検出位置P1、検出結果413の検出位置P3、及び検出結果415の検出位置P5が一致している。また、検出結果412の検出位置P2及び検出結果414の検出位置P4が一致し、検出位置P6は他に同じものはない。なお、本明細書において、検出位置(検出結果)が一致する或いは整合するというときには、各検出位置(検出結果)が厳密に一致しない場合であっても、その差異が所定の許容範囲(例えば、ロボット30によるワーク1のハンドリングにおいて問題を生じない程度の差異)であるような場合をも含むものとする。なお、図7の例では、検出位置P1、P3、P5は正しい検出位置であり、検出位置P2、検出位置P4、検出位置P6は誤検出である。
 図8は、図7に示す検出結果411-416に基づいて、検出結果決定部113が上述の決定手法(b1)に沿って正式な検出結果を決定する際の処理(図6のステップS4)をフローチャートとして示したものである。まず、検出結果決定部113は、検出結果411-416による6つの検出位置P1-P6を比較する(ステップS11)。なお、検出位置(3次元位置)は、撮像時のロボット30の位置情報と、撮像画像上での検出結果とから求めることができる。この場合、検出結果決定部113は、検出位置P1、P3及びP5が同じ検出位置であり、検出位置P2及びP4が同じ検出位置であり、検出結果P6と同じものはないこと、を認識する(ステップS12)。
 次に、検出結果決定部113は、最も多くの撮像画像で検出位置が同じになる場合の検出位置(この場合は、検出結果411、413及び415による検出位置P1、P3及びP5)を、正式な検出位置として採用する(ステップS13)。
 このように、検出結果が一致する数が最も多くなる検出結果(すなわち、最頻値)を正式な検出結果として採用する構成とすることで、検出結果の信頼性を高め、未検出や誤検出の発生を未然に防ぐことが可能となる。
 次に、撮像条件調整部114による、対象物検出部111に対し予め教示された撮像条件の調整について説明する。上述の説明から理解されるように、検出結果が一致する数がよりいっそう少ない検出結果(検出位置P2及びP4、或いは、検出位置P6)をもたらした撮像条件は、検出結果が一致する数が最も多い場合の検出結果(検出位置P1、P3、P5)をもたらした撮像条件よりも「検出に成功する確率が低い撮像条件」と位置付けることができる。逆に、検出結果が一致する数が最も多くなる検出結果(検出位置P1、P3、P5)をもたらした撮像条件は、検出結果が一致する数がより一層少ない検出結果(検出位置P2及びP4、或いは、検出結果P6)をもたらした撮像条件よりも、「検出に成功する確率が高い撮像条件」と位置付けることができる。また、検出結果に含まれる評価値(検出スコア等)に関しても、その評価値が低い場合の撮像条件ほど、検出に成功する確率がより低い撮像条件であるとみなすことができる。また、その評価値が高い場合の撮像条件ほど、検出に成功する確率がより高い撮像条件であるとみなすことができる。
 よって、撮像条件調整部114は、
(c1)互いに一致する数がより多くなる検出結果をもたらす撮像条件ほど、検出に成功する確率がより高い撮像条件である、
(c2)検出結果に係わる所定の評価値がより高い結果をもたらす撮像条件ほど、検出に成功する確率がより高い撮像条件である、
の少なくともいずれかの判断基準を用いて、撮像条件設定部112が設定する複数の撮像条件から、「撮像及び検出に用いるのに適さないと位置づけられる撮像条件」、及び/又は、「撮像及び検出に用いるのに適すると位置づけられる撮像条件」を抽出することができる。そして、撮像条件調整部114は、抽出された「撮像及び検出に用いるのに適さないと位置づけられる撮像条件」、及び/又は、「撮像及び検出に用いるのに適すると位置づけられる撮像条件」により、対象物検出部111に対して予め教示された撮像条件を調整することができる。なお、「(c1)互いに一致する数がより多くなる検出結果をもたらす撮像条件ほど、検出に成功する確率がより高い撮像条件である」とは、「互いに一致する数がより少なくなる検出結果をもたらす撮像条件ほど、検出に成功する確率がより低い撮像条件である」と等価である。また、「(c2)検出結果に係わる所定の評価値がより高い結果をもたらす撮像条件ほど、検出に成功する確率がより高い撮像条件である」とは、「検出結果に係わる所定の評価値がより低くなる撮像条件ほど、検出に成功する確率がより低い撮像条件である」と等価である。
 撮像条件調整部114は、上記判断基準(c1)により、検出結果P1、P3、P5をもたらす撮像条件を、「撮像及び検出に用いるのに適すると位置づけられる撮像条件」として抽出しても良い。また、撮像条件調整部114は、上記判断基準(c1)により、検出位置P2及びP4、或いは、検出結果P6をもたらした撮像条件を、「撮像及び検出に用いるのに適さないと位置づけられる撮像条件」として抽出しても良い。
 検出位置P1、P3、P5は正しい検出位置であり、検出位置P2、P4及び検出位置P6は誤検出となっている。この場合、検出位置P1、P3及びP5の検出スコアは、検出結果P2及びP4、或いは、検出結果P6の検出スコアよりも高い値となる。したがって、撮像条件調整部114は、上記判断基準(c2)により、検出結果P1、P3、P5をもたらす撮像条件を、「撮像及び検出に用いるのに適すると位置づけられる撮像条件」として抽出しても良い。また、撮像条件調整部114は、上記判断基準(c2)により、検出位置P2及びP4、或いは、検出結果P6をもたらした撮像条件を、「撮像及び検出に用いるのに適さないと位置づけられる撮像条件」として抽出しても良い。
 なお、判断基準(c2)を判断基準(c1)と共に用いる場合には、例えば、
(d1)判断手法(c1)により抽出された「撮像及び検出に用いるのに適すると位置づけられる撮像条件」であっても、検出スコアが所定値より低くなる検出結果をもたらす場合には、「撮像及び検出に用いるのに適すると位置づけられる撮像条件」として用いないようにする、
(d2)互いに一致する検出結果の数が等しい2つのグループがある場合に、検出スコアの値(平均値、合計値等)が高い方のグループの検出結果をもたらした撮像条件を、「撮像及び検出に用いるのに適すると位置づけられる撮像条件」とする、
といった動作を行っても良い。
 撮像条件調整部114は、上記のように抽出された「撮像及び検出に用いるのに適さないと位置づけられる撮像条件」及び/又は「撮像及び検出に用いるのに適すると位置づけられる撮像条件」を記憶部115に記憶し、撮像条件の調整に用いることができるようにする。ここで、記憶部115には、プログラムから参照可能な変数の記憶領域、不揮発性メモリ内のファイルなどの、メモリ52内に構成可能なあらゆる記憶装置が含まれ得る。或いは、記憶部115は、教示操作盤10の外部に構成されても良い。
 例示として、撮像条件調整部114は、検出プログラムに対しユーザが教示した或いは予め指定されている撮影条件が、「撮像及び検出に用いるのに適さないと位置づけられる撮像条件」に該当する場合に、ユーザに撮像条件を変更するように促すメッセージを出力する、或いは、「撮像及び検出に用いるのに適すると位置づけられる撮像条件」が記憶部115に保存されている場合には、検出プログラムに教示され或いは予め設定されている撮像条件を、「撮像及び検出に用いるのに適すると位置づけられる撮像条件」に更新するように動作しても良い。このような動作により、対象物検出部111による撮像条件として、「撮像及び検出に用いるのに適さないと位置づけられる撮像条件」が用いられないようにすることができる。
 以上のような構成によれば、予め教示されている撮影条件を用いて検出プログラムを実行する実運用時において検出エラーが頻発するような場合に、図6に示す処理を一度実行させることで、「撮像及び検出に用いるのに適すると位置づけられる撮像条件」或いは「撮像及び検出に用いるのに適さないと位置づけられる撮像条件」を得て、適切に撮像条件を調整することが可能となる。
 次に、上記手法(b2)「複数の撮像条件による対象物の検出に関する複数の検出結果を平均化することで正式な検出結果を決定するやり方」に従う、複数の撮像条件による対象物の撮像及び検出処理の動作例(第2実施例)について、図9を参照して説明する。図9に示すように、撮像条件設定部112により自動生成された撮像位置を含む3つの撮像位置でワーク1の検出を行った場合の検出結果を検出結果511-513とする。検出結果511は、撮像画像M11と検出位置P11とを含み、検出結果512は、撮像画像M12と検出位置P12とを含み、検出結果513は、撮像画像M13と検出位置P13とを含む。なお、図9の例における検出位置P11、P12、P13は、いずれも正しい検出位置(誤検出ではない検出結果)となっている。
 検出結果決定部113は、3つの検出結果としての検出位置P11-P13の平均値を、正式な検出位置として採用する。検出結果としてのワーク1の3次元位置には一般にばらつきがあるため、これらの検出位置の平均化を行う(例えば、検出位置P11-P13の平均値を正式な検出位置とする)ことで検出精度を高めることができる。なお、検出位置P11、P12、P13中に誤検出(評価値が所定値よりも低いもの)が含まれる場合には、当該誤検出となっている検出位置を平均化から取り除くようにしても良い。なお、本例では、平均値を正式な検出結果として決定する例を説明したが、中央値を正式な検出結果として決定する例も有り得る。
 検出結果決定部113が上記手法(b2)による上述のような動作を行う場合においても、撮像条件調整部114は、上述の判断基準(c2)「検出結果に係わる所定の評価値がより高い結果をもたらす撮像条件ほど、検出に成功する確率がより高い撮像条件である」を用いて、撮像条件設定部112が設定する複数の撮像条件から、「撮像及び検出に用いるのに適さないと位置づけられる撮像条件」、及び/又は、「撮像及び検出に用いるのに適すると位置づけられる撮像条件」を抽出することができる。そして、撮像条件調整部114は、上述したような撮像条件の調整、すなわち、「撮像及び検出に用いるのに適さないと位置づけられる撮像条件」が、対象物検出部111による撮像条件として用いられないように調整すること、或いは、「撮像及び検出に用いるのに適すると位置づけられる撮像条件」で、対象物検出部111に対して予め教示された撮像条件を更新すること、を行うことができる。
 なお、図7で示した第1実施例における検出位置P1、P3、P5に関してもばらつきを含む場合があるため、検出結果決定部113は、第1実施例において採用された検出位置P1、P3、P5について平均化を行って第1実施例における正式な検出位置としても良い。
 以上説明したように、本実施形態によれば、より精度の高い検出結果を得ることができ、未検出毛や誤検出の発生を未然に防ぐことが可能になる。
 以上、典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、上述の各実施形態に変更及び種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
 上述の実施形態に示したロボットシステムは、ロボットに視覚センサを搭載し、作業台に載置されたワークを撮像する構成となっているが、視覚センサをロボットが設置された作業空間内に固定し、ワークを把持したロボットを移動させてワークを視覚センサに見せるようなシステムに上述の実施形態で記載した各種機能を適用するようにしても良い。図5を参照して説明した、撮像条件設定部112により設定された複数の撮像位置は、ワークを基準とする視覚センサ70の相対的な撮像位置である。したがって、このようなシステム構成の場合には、対象物検出部111は、撮像条件設定部112により設定された複数の撮像位置で視覚センサ70によるワークの撮像が行われるように、ロボットで把持したワークを移動させるように制御(すなわち、ロボット制御装置に対する指令)を行っても良い。なお、この場合の撮像対象面は、ワークの表面を含む面と定義しても良い。
 上述の実施形態では、撮像条件設定部112が複数の撮像条件を自動生成する動作について説明したが、撮像条件設定部112は、複数の撮像条件を指定するユーザ入力を受け付け、当該ユーザ入力された複数の撮像条件を、対象物検出部111に使用させるように動作しても良い。
 図3に示した機能ブロック図における各機能の配置は例示であり、機能の配置に関する様々な変形例が有り得る。例えば、教示操作盤10内に配置されている対象物検出部111、撮像条件設定部112、検出結果決定部113、撮像条件調整部114、及び記憶部115をロボット制御装置50側に配置する構成例も有り得る。また、この場合、視覚センサ制御装置20の機能もロボット制御装置50に含めても良い。なお、この場合、教示操作盤10とロボット制御装置50とにより提供される機能全体を教示装置と定義することもできる。
 図3に示した、教示操作盤10、ロボット制御装置50、及び視覚センサ制御装置20の機能ブロックは、これらの装置のプロセッサが、記憶装置に格納された各種ソフトウェアを実行することで実現されても良く、或いは、ASIC(Application Specific Integrated Circuit)等のハードウェアを主体とした構成により実現されても良い。
 上述した実施形態における撮像及び検出処理等の各種の処理を実行するプログラムは、コンピュータに読み取り可能な各種記録媒体(例えば、ROM、EEPROM、フラッシュメモリ等の半導体メモリ、磁気記録媒体、CD-ROM、DVD-ROM等の光ディスク)に記録することができる。
 1  ワーク
 2  作業台
 10  教示操作盤
 11  プロセッサ
 12  メモリ
 13  表示部
 14  操作部
 15  入出力インタフェース
 20  視覚センサ制御装置
 30  ロボット
 33  ハンド
 50  ロボット制御装置
 51  プロセッサ
 52  メモリ
 53  入出力インタフェース
 54  操作部
 70  視覚センサ
 100  ロボットシステム
 110  プログラム作成部
 111  対象物検出部
 112  撮像条件設定部
 113  検出結果決定部
 114  撮像条件調整部
 115  記憶部
 151  記憶部
 152  動作制御部
 121  記憶部
 122  画像処理部
 200  パラメータ設定画面
 411-416  検出結果
 511-513  検出結果

Claims (15)

  1.  視覚センサにより対象物を撮像して得られた撮像画像から前記対象物の検出を実行する対象物検出部と、
     前記対象物の撮像に関する複数の撮像条件を設定し、当該複数の撮像条件の各々で前記対象物検出部に前記対象物の撮像及び検出を実行させる撮像条件設定部と、
     前記複数の撮像条件により前記撮像及び検出を実行して得られた複数の検出結果の統計的な性質を表す指標に基づき正式に採用する検出結果を決定する検出結果決定部と、
    を備える教示装置。
  2.  前記検出結果決定部は、前記指標としての前記複数の検出結果に関する最頻値に基づき、前記正式に採用する検出結果を決定する、請求項1に記載の教示装置。
  3.  前記検出結果決定部は、前記複数の検出結果のうち、前記正式に採用する検出結果として決定された1以上の検出結果をさらに平均化して、前記正式に採用する検出結果として用いる、請求項2に記載の教示装置。
  4.  前記複数の検出結果に基づき、前記対象物検出部に対して予め教示された撮像条件を調整する撮像条件調整部を更に備え、
     前記撮像条件調整部は、
    (1)互いに一致する数がより多くなる検出結果をもたらす撮像条件ほど、検出に成功する確率がより高い撮像条件である、
    (2)検出結果に係わる所定の評価値がより高い結果をもたらす撮像条件ほど、検出に成功する確率がより高い撮像条件である、
    の少なくともいずれかの判断基準を用いて、前記複数の撮像条件から、前記撮像及び検出に用いるのに適さないと位置づけられる撮像条件、又は、前記撮像及び検出に用いるのに適すると位置づけられる撮像条件を抽出し、
     抽出された前記撮像及び検出に用いるのに適さないと位置づけられる撮像条件、又は、前記撮像及び検出に用いるのに適すると位置づけられる撮像条件により、前記対象物検出部に予め教示された撮像条件を調整する、請求項2又は3に記載の教示装置。
  5.  前記撮像条件調整部は、前記撮像及び検出に用いるのに適さないと位置づけられる撮像条件を抽出し、当該撮像及び検出に用いるのに適さないと位置づけられる撮像条件が、前記対象物検出部による撮像条件として用いられないように調整する、請求項4に記載の教示装置。
  6.  前記撮像条件調整部は、前記撮像及び検出に用いるのに適すると位置づけられる撮像条件を抽出し、当該撮像及び検出に用いるのに適すると位置づけられる撮像条件で、前記対象物検出部に対して予め教示された撮像条件を更新する、請求項4に記載の教示装置。
  7.  前記検出結果決定部は、前記指標として前記複数の検出結果を平均化した値を用いて前記正式な検出結果を決定する、請求項1に記載の教示装置。
  8.  前記複数の検出結果に基づき、前記対象物検出部に対して予め教示された撮像条件を調整する撮像条件調整部を更に備え、
     前記撮像条件調整部は、検出結果に係わる所定の評価値がより高い結果をもたらす撮像条件ほど、検出に成功する確率がより高い撮像条件である、との判断基準を用いて、前記複数の撮像条件から、前記撮像及び検出に用いるのに適さないと位置づけられる撮像条件、又は、前記撮像及び検出に用いるのに適すると位置づけられる撮像条件を抽出し、
     抽出された前記撮像及び検出に用いるのに適さないと位置づけられる撮像条件、又は、前記撮像及び検出に用いるのに適すると位置づけられる撮像条件により、前記対象物検出部に予め教示された撮像条件を調整する、請求項7に記載の教示装置。
  9.  前記撮像条件調整部は、前記撮像及び検出に用いるのに適さないと位置づけられる撮像条件を抽出し、当該撮像及び検出に用いるのに適さないと位置づけられる撮像条件が、前記対象物検出部による撮像条件として用いられないように調整する、請求項8に記載の教示装置。
  10.  前記撮像条件調整部は、前記撮像及び検出に用いるのに適すると位置づけられる撮像条件を抽出し、当該撮像及び検出に用いるのに適すると位置づけられる撮像条件で、前記対象物検出部に対して予め教示された撮像条件を更新する、請求項8に記載の教示装置。
  11.  前記撮像条件設定部は、基準となる一つの撮像条件に基づいて1以上の撮像条件を生成することで前記複数の撮像条件を設定する、請求項1から10のいずれか一項に記載の教示装置。
  12.  前記基準となる一つの撮像条件は、前記対象物検出部に対して予め教示された撮像条件である、請求項11に記載の教示装置。
  13.  前記撮像条件は、前記視覚センサの撮像位置であり、
     前記撮像条件設定部は、前記基準となる一つの撮像位置の周囲に1以上の撮像位置を、前記1以上の撮像位置による撮像対象面での1以上の撮像領域が前記基準となる一つの撮像位置による前記撮像対象面での撮像領域と部分的に重なり合うように決定する、請求項11又は12に記載の教示装置。
  14.  前記視覚センサはロボットに搭載され、
     前記対象物検出部は、前記撮像条件設定部により設定された複数の撮像位置で前記対象物に対する撮像が行われるように、前記ロボットを移動させる、請求項13に記載の教示装置。
  15.  前記視覚センサは、ハンドを搭載したロボットが設置された作業空間に固定され、
     前記ロボットは前記対象物を前記ハンドで把持し、
     前記対象物検出部は、前記撮像条件設定部により設定された複数の撮像位置で前記対象物が撮像されるように、前記ロボットを移動させる、請求項13に記載の教示装置。
PCT/JP2021/046870 2021-12-17 2021-12-17 教示装置 WO2023112337A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/046870 WO2023112337A1 (ja) 2021-12-17 2021-12-17 教示装置
TW111144136A TW202326600A (zh) 2021-12-17 2022-11-18 教示裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/046870 WO2023112337A1 (ja) 2021-12-17 2021-12-17 教示装置

Publications (1)

Publication Number Publication Date
WO2023112337A1 true WO2023112337A1 (ja) 2023-06-22

Family

ID=86773984

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/046870 WO2023112337A1 (ja) 2021-12-17 2021-12-17 教示装置

Country Status (2)

Country Link
TW (1) TW202326600A (ja)
WO (1) WO2023112337A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007173660A (ja) * 2005-12-26 2007-07-05 Matsushita Electric Ind Co Ltd 電子部品実装装置における部品認識条件の評価方法
JP2017040600A (ja) * 2015-08-21 2017-02-23 キヤノン株式会社 検査方法、検査装置、画像処理装置、プログラム及び記録媒体
JP2019113895A (ja) * 2017-12-20 2019-07-11 ファナック株式会社 ワークを撮像する視覚センサを備える撮像装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007173660A (ja) * 2005-12-26 2007-07-05 Matsushita Electric Ind Co Ltd 電子部品実装装置における部品認識条件の評価方法
JP2017040600A (ja) * 2015-08-21 2017-02-23 キヤノン株式会社 検査方法、検査装置、画像処理装置、プログラム及び記録媒体
JP2019113895A (ja) * 2017-12-20 2019-07-11 ファナック株式会社 ワークを撮像する視覚センサを備える撮像装置

Also Published As

Publication number Publication date
TW202326600A (zh) 2023-07-01

Similar Documents

Publication Publication Date Title
US11511421B2 (en) Object recognition processing apparatus and method, and object picking apparatus and method
KR102280663B1 (ko) 비전 가이드 로봇 암 교정 방법
JP3300682B2 (ja) 画像処理機能を持つロボット装置
JP2018111165A (ja) 視覚センサのキャリブレーション装置、方法及びプログラム
CN111482959A (zh) 机器人运动视觉系统的自动手眼标定系统与方法
US9535538B2 (en) System, information processing apparatus, and information processing method
KR20180120647A (ko) 가이드된 어셈블리 환경에서 머신비전 좌표공간과 함께 묶기 위한 시스템 및 방법
JP2004351570A (ja) ロボットシステム
CN110712194B (zh) 物体检查装置、物体检查系统以及调整检查位置的方法
US11972589B2 (en) Image processing device, work robot, substrate inspection device, and specimen inspection device
US11625842B2 (en) Image processing apparatus and image processing method
CN111225143B (zh) 图像处理装置及其控制方法以及程序存储介质
US20210162600A1 (en) Method of programming an industrial robot
TW202102347A (zh) 視覺導引機器手臂校正方法
JPH06147830A (ja) 3次元位置測定装置及び3次元位置測定結果補正方法
JP2006021300A (ja) 推定装置および把持装置
WO2023112337A1 (ja) 教示装置
CN111199533B (zh) 图像处理装置
CN112109069A (zh) 机器人示教装置以及机器人系统
US11478936B2 (en) Image processing apparatus that processes image picked up by image pickup apparatus attached to robot, control method therefor, and storage medium storing control program therefor
CN115213894A (zh) 机器人图像的显示方法、显示系统以及记录介质
JP2022055779A (ja) 物体認識結果の良否判定に用いる閾値を設定する方法、及び、物体認識装置
CN111742349B (zh) 信息处理装置、信息处理方法以及信息处理存储介质
JP2021102253A (ja) 画像処理装置、ロボットシステム、及び画像処理方法
CN114945450A (zh) 机器人系统

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023567505

Country of ref document: JP