WO2019230320A1 - 視覚センサシステム、制御方法およびプログラム - Google Patents
視覚センサシステム、制御方法およびプログラム Download PDFInfo
- Publication number
- WO2019230320A1 WO2019230320A1 PCT/JP2019/018547 JP2019018547W WO2019230320A1 WO 2019230320 A1 WO2019230320 A1 WO 2019230320A1 JP 2019018547 W JP2019018547 W JP 2019018547W WO 2019230320 A1 WO2019230320 A1 WO 2019230320A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- posture
- unit
- subject
- height information
- sensor system
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 25
- 239000000284 extract Substances 0.000 claims abstract description 5
- 238000005259 measurement Methods 0.000 claims description 95
- 238000003384 imaging method Methods 0.000 claims description 84
- 230000007547 defect Effects 0.000 claims description 66
- 230000003287 optical effect Effects 0.000 claims description 55
- 230000000007 visual effect Effects 0.000 claims description 53
- 238000013459 approach Methods 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 230000002950 deficient Effects 0.000 abstract description 5
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000002372 labelling Methods 0.000 description 7
- 230000005484 gravity Effects 0.000 description 6
- 239000000463 material Substances 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 238000005286 illumination Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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/1697—Vision controlled systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
- B25J13/089—Determining the position of the robot with reference to its environment
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/22—Measuring arrangements characterised by the use of optical techniques for measuring depth
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/25—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
- G01B11/2513—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object with several lines being projected in more than one direction, e.g. grids, patterns
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/25—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
- G01B11/2518—Projection by scanning of the object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B2210/00—Aspects not specifically covered by any group under G01B, e.g. of wheel alignment, caliper-like sensors
- G01B2210/52—Combining or merging partially overlapping images to an overall image
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39016—Simultaneous calibration of manipulator and camera
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39039—Two cameras detect same reference on workpiece to define its position in space
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39045—Camera on end effector detects reference pattern
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39057—Hand eye calibration, eye, camera on hand, end effector
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40613—Camera, laser scanner on end effector, hand eye manipulator, local
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30164—Workpiece; Machine component
Definitions
- the present invention relates to a visual sensor system, a control method, and a program.
- Patent Document 1 discloses a technique for measuring a three-dimensional shape a plurality of times in consideration of the influence of a shadow caused by illumination or the like. Specifically, after the first imaging is performed when the camera is placed in the first position and orientation, the predetermined object is centered on the target object in a plane including the optical axis of the projector and the optical axis of the camera. The camera is arranged at the second position and orientation rotated by an angle.
- JP 2016-99257 A Japanese Patent Laid-Open No. 2007-114071 JP 2012-79294 A
- a position and orientation that is rotated by a predetermined angle from the first position and orientation is determined as the second position and orientation. That is, the amount of movement of the camera from the first position and orientation to the second position and orientation is constant.
- the shadow situation changes depending on the state of the subject. For this reason, the second position / posture is not necessarily a position / posture in which the influence of the shadow is easily removed.
- the present disclosure has been made paying attention to the above-described problems, and the purpose thereof is a visual sensor system, a control method, and a program capable of determining the position and orientation of an imaging unit so as to easily eliminate the influence of shadows. Is to provide.
- the visual sensor system includes an imaging unit, a movement mechanism, a measurement unit, and a movement control unit.
- the imaging unit images a subject.
- the moving mechanism places the imaging unit in the designated posture at the designated position.
- the measurement unit measures the three-dimensional shape of the surface of the subject using the image captured by the imaging unit.
- the movement control unit again selects the subject based on the measurement shape which is the three-dimensional shape of the subject measured by the measurement unit using the image when the imaging unit is arranged in the first position and the first posture.
- the second position and the second posture to be imaged are determined, and an instruction is given to the moving mechanism.
- the three-dimensional shape is indicated by height information from the reference plane.
- the movement control unit extracts a missing area where the height information is missing from the measurement shape, and determines the second position and the second posture based on the height information around the missing area in the measurement shape. .
- the height information around the defect area is related to the three-dimensional shape of the subject in the defect area. Therefore, according to this disclosure, it is possible to determine the second position and the second posture at which the height information in the defect region can be easily obtained by using the height information around the defect region. That is, the position and orientation of the imaging unit can be determined so as to easily eliminate the influence of shadows.
- the movement control unit determines the second position and the second posture so that the height information of the target line segment connecting two points around the defect region in the measurement shape can be acquired.
- the imaging unit by arranging the imaging unit at the second position and the second posture where the height information of the target line segment can be acquired, the possibility that the height information in the defect area can be acquired is increased. .
- the movement control unit obtains a first angle formed by the target line segment and a first plane perpendicular to the optical axis of the imaging unit arranged at the first position and the first posture. Further, the movement control unit determines a difference between the first angle and a second angle determined in advance according to the characteristics of the imaging unit and the subject as a movement angle from the first posture to the second posture. Further, the movement control unit has a first posture along a second plane that includes the target line segment and is perpendicular to the reference plane in a direction in which the angle formed by the target line segment and the optical axis of the imaging unit approaches 90 degrees. Then, the posture rotated by the moving angle is determined as the second posture.
- the amount of rotational movement from the first posture to the second posture where the height information of the target line segment can be acquired can be suppressed.
- the rotational movement amount it is possible to shorten the time required to move the imaging unit.
- the line segment obtained by projecting the target line segment on the reference plane is parallel to a predetermined direction. According to this disclosure, the movement control unit can easily determine the target line segment.
- one of the two points is a point having the maximum height information in the periphery of the defect region in the measurement shape.
- the other of the two points is a point having the smallest height information in the periphery of the defect region.
- the movement control unit determines the target line segment having the largest first angle formed with the first plane perpendicular to the optical axis of the imaging unit disposed in the first position and the first posture. be able to. As a result, by arranging the imaging unit in the second position and the second posture, there is a high possibility that the Z coordinate value of the missing area can be calculated.
- the movement control unit includes the second position and the second position so that the height information of the target region that overlaps the defect region among the approximate planes that approximate at least three points around the defect region in the measurement shape can be acquired. A second posture is determined.
- the imaging unit by arranging the imaging unit at the second position and the second posture at which the height information of the target area can be acquired, there is a high possibility that the height information in the defect area can be acquired.
- the movement control unit obtains a first angle formed between the target region and a first plane perpendicular to the optical axis of the imaging unit arranged at the first position and the first posture.
- the movement control unit determines a difference between the first angle and a second angle predetermined according to the characteristics of the imaging unit and the subject as a movement angle from the first posture to the second posture.
- the movement control unit includes the normal of the target region in a direction in which the angle formed by the target region and the optical axis of the imaging unit approaches 90 degrees, and moves from the first posture along the second plane perpendicular to the reference plane.
- the posture rotated by the movement angle is determined as the second posture.
- the rotational movement amount from the first posture to the second posture where the height information of the target area can be acquired can be suppressed.
- By suppressing the rotational movement amount it is possible to shorten the time required to move the imaging unit.
- the movement control unit determines the second position so that the optical axis of the imaging unit passes through a reference point that is a point with higher height information among the two points.
- the movement control unit may determine the second position so that the optical axis of the imaging unit passes through a reference point which is a point having the lower height information among the two points.
- the movement control unit may determine the second position so that the optical axis of the imaging unit passes through a reference point that is a midpoint between the two points.
- the movement control unit may determine the second position so that the optical axis of the imaging unit passes through the reference point in the target region. According to these disclosures, it is possible to determine the second position where it is easy to obtain the height information in the defect area.
- the movement control unit determines the second position so that the distance between the reference point and the first position is the same as the distance between the reference point and the second position.
- the measurement accuracy of the height information around the defect area measured from the image when the imaging unit is arranged at the first position and the first posture, and the imaging unit is the second It is possible to match the measurement accuracy of the height information in the defect area measured from the position and the image when placed in the second posture.
- the visual sensor system uses an imaging unit that captures an image of the subject, a moving mechanism that places the imaging unit in an instructed position at an instructed position, and an image captured by the imaging unit. And a measuring unit for measuring the three-dimensional shape of the surface of the. The three-dimensional shape is indicated by height information from the reference plane.
- the control method of the visual sensor system includes a first step and a second step. In the first step, height information is lost from the measurement shape which is the three-dimensional shape of the subject measured by the measurement unit using the image when the imaging unit is arranged at the first position and the first posture. This is a step of extracting a missing area.
- the second step is a step of determining the second position and the second posture at which the subject is to be imaged again based on the height information around the defect area in the measurement shape. According to this disclosure, it is possible to determine the position and orientation of the imaging unit so as to easily eliminate the influence of shadows.
- a program for supporting a visual sensor system causes a computer to execute the first step and the second step. Also according to this disclosure, it is possible to determine the position and orientation of the imaging unit so as to easily eliminate the influence of the shadow.
- the position and orientation of the imaging unit can be determined so as to easily eliminate the influence of shadows.
- FIG. 10 It is a flowchart which shows an example of the flow of a process of the visual sensor system shown in FIG. 10 is a flowchart illustrating a subroutine of processing for determining a second position and a second posture in FIG. 9. It is a figure which shows another example of the determination method of an object line segment. It is a block diagram which shows the internal structure of the movement control part which concerns on the modification 4. It is a figure which shows an example of an object area
- FIG. 1 is a schematic diagram illustrating an overall configuration of a visual sensor system according to an embodiment.
- the visual sensor system 1 measures, for example, the three-dimensional shape of the surface of the subject 101 with the plurality of target objects 100 stacked on the pallet 102 placed at a predetermined position as the subject 101.
- the three-dimensional shape measured by the visual sensor system 1 is used for various purposes. For example, a gripping robot (not shown) selects the target object 100 at the highest position from the plurality of target objects 100 based on the three-dimensional shape measured by the visual sensor system 1, and grips the selected target object 100. Then transport it to another location.
- the visual sensor system 1 includes an acquisition unit 10, a robot 20, a measurement unit 30, a synthesis unit 40, and a movement control unit 50.
- the acquisition unit 10 acquires an image for measuring the three-dimensional shape of the surface of the subject 101.
- the acquisition unit 10 is a unit in which a projector 11 that projects pattern light onto a subject 101 and a camera 12 that images the subject 101 onto which the pattern light is projected are integrated.
- the pattern light is, for example, a stripe pattern.
- the robot 20 is a moving mechanism that moves the acquisition unit 10, and is, for example, a vertical articulated robot.
- the acquisition unit 10 is fixed to the tip of the robot 20.
- the robot 20 moves the acquisition unit 10 so that the camera 12 is placed at the designated position in the designated posture.
- the measurement unit 30 is an image processing device that measures the three-dimensional shape of the surface of the subject 101 by processing an image captured by the camera 12 and generates three-dimensional shape data indicating the measured three-dimensional shape.
- the three-dimensional shape is indicated by, for example, an XYZ coordinate system in which the reference plane 103 that is the upper surface of the pallet 102 is the XY plane and the Z axis is an axis perpendicular to the XY plane.
- the Z coordinate value is height information from the reference plane 103 to the surface of the subject 101.
- the three-dimensional shape data includes XYZ coordinate values of each point of the measured three-dimensional shape. Note that calibration for associating the coordinate system of the camera 12 with the coordinate system of the robot 20 is performed in advance.
- the measurement unit 30 can calculate XYZ coordinate values, which are absolute coordinate systems, from the coordinate system values of the camera 12 based on the calibration data and the position and orientation of the robot 20.
- FIG. 2 is a diagram illustrating an example of a distance image converted from the three-dimensional shape measured by the measurement unit 30.
- the distance image is obtained by converting the Z coordinate value (height information) of the three-dimensional shape data into a luminance value.
- FIG. 2 shows that the Z coordinate value increases as the luminance increases.
- a missing area 60 is an area where the Z coordinate value is missing in the three-dimensional shape data, and is indicated by the minimum luminance.
- the pattern light is not sufficiently projected from the projector 11 onto the shadowed portion of the subject 101.
- the measurement unit 30 cannot measure the Z coordinate value of the portion where the pattern light is not sufficiently projected. That is, the defect area 60 corresponds to a shadow area where the pattern light is not sufficiently projected.
- the combining unit 40 measures a three-dimensional shape (hereinafter referred to as “first measurement shape”) measured using an image when the camera 12 is placed in the first position and the first posture. ) And a three-dimensional shape (hereinafter, referred to as “second measurement shape”) measured using an image when the camera 12 is disposed at the second position and the second posture. Specifically, the synthesizing unit 40 uses the Z coordinate value of the portion corresponding to the defect area 60 (see FIG. 2) in the three-dimensional shape data indicating the first measurement shape, Replace with the Z coordinate value of the same area.
- the movement control unit 50 controls the movement of the acquisition unit 10 by instructing the robot 20 of the position and posture of the camera 12.
- the movement control unit 50 determines the second position and the second posture of the camera 12 where the subject 101 should be imaged again when the first measurement shape includes a defect region.
- the movement control unit 50 instructs the robot 20 on the determined second position and second posture.
- the movement control unit 50 varies the amount of movement from the first position and the first attitude to the second position and the second attitude according to the first measurement shape. Specifically, the movement control unit 50 extracts the defect region 60 (see FIG. 2) from the first measurement shape, and based on the Z coordinate value around the defect region 60 in the first measurement shape, the second position. And determining a second posture.
- the Z coordinate value around the defect area 60 is related to the three-dimensional shape of the subject 101 in the defect area 60. Therefore, by using the Z coordinate value around the defect area 60, it is possible to determine the second position and the second posture at which the Z coordinate value in the defect area 60 can be easily obtained.
- the movement control unit 50 determines the second position and the second posture so that, for example, the Z coordinate value of the target line segment connecting two points around the defect region 60 in the first measurement shape can be acquired.
- FIG. 3 is a diagram showing the height profile of the defect region and its periphery.
- points 62 and 63 are two points around the missing region 60 where the Z coordinate value indicating the height information with respect to the reference plane 103 is missing.
- the camera 12 is placed at the second position and the second posture where the Z coordinate value of the target line segment 64 connecting the point 62 and the point 63 can be acquired. By arranging, the possibility that the Z coordinate value in the defect area 60 can be acquired increases.
- the measurement unit 30 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), an auxiliary storage device, a communication I / F, and the like, and performs image processing.
- the auxiliary storage device is composed of, for example, a hard disk drive, a solid state drive, or the like, and stores a program executed by the CPU.
- the measuring unit 30 processes an image captured by the camera 12, measures the three-dimensional shape of the surface of the subject 101 on the camera 12 side, and generates three-dimensional shape data indicating the measured three-dimensional shape. Specifically, the measurement unit 30 calculates XYZ coordinate values of each point on the surface of the subject 101. The measurement unit 30 calculates the three-dimensional shape data of the subject 101 by converting the coordinate system of the camera 12 to the XYZ coordinate system of the robot 20 using position and orientation information indicating the position and orientation of the camera 12. As described above, the XYZ coordinate system is a coordinate system of the robot 20 set so that the XY plane coincides with the reference plane 103 which is the upper surface of the pallet 102 and the Z axis is orthogonal to the XY plane.
- the measurement unit 30 may calculate the Z coordinate value by using a known method such as a phase shift method (for example, Japanese Patent Application Laid-Open No. 2007-114071 (Patent Document 2)). Alternatively, the measurement unit 30 may calculate the Z coordinate value by using a known method of structured illumination (for example, JP 2012-79294 A (Patent Document 3)).
- a known method such as a phase shift method (for example, Japanese Patent Application Laid-Open No. 2007-114071 (Patent Document 2)).
- the measurement unit 30 may calculate the Z coordinate value by using a known method of structured illumination (for example, JP 2012-79294 A (Patent Document 3)).
- the measuring unit 30 does not calculate the Z coordinate value for an area where the pattern light projected from the projector 11 cannot be recognized.
- FIG. 4 is a schematic diagram illustrating a hardware configuration of the movement control unit.
- the movement control unit 50 includes a central processing unit (CPU) 501, a main memory 502, a hard disk 503, a display 504, an input device 505, and a communication interface (I / F) 506. These units are connected to each other via a bus 500 so that data communication is possible.
- CPU central processing unit
- main memory 502 main memory
- hard disk 503 a hard disk 503
- display 504 an input device 505
- I / F communication interface
- the CPU 501 performs various operations by developing a program (code) including the control program 507 installed in the hard disk 503 in the main memory 502 and executing them in a predetermined order.
- the main memory 502 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory).
- the hard disk 503 is an internal memory provided in the movement control unit 50 and is a non-volatile storage device.
- the hard disk 503 stores various programs such as the control program 507.
- a semiconductor storage device such as a flash memory may be employed in addition to the hard disk 503 or instead of the hard disk 503.
- the control program 507 is a program indicating a procedure for controlling the robot 20.
- Various programs such as the control program 507 need not be stored in the hard disk 503 but may be stored in a server that can communicate with the movement control unit 50 or in an external memory that can be directly connected to the movement control unit 50.
- various programs executed by the movement control unit 50 and various parameters used in the various programs are distributed in the external memory, and the movement control unit 50 reads the various programs and various parameters from the external memory.
- the external memory stores information such as the program by electrical, magnetic, optical, mechanical, or chemical action so that the computer and other devices, machines, etc. can read the recorded program information. It is a medium.
- a program or parameter downloaded from a server or the like connected so as to be communicable with the movement control unit 50 may be installed in the movement control unit 50.
- the display 504 is, for example, a liquid crystal display.
- the input device 505 is constituted by, for example, a mouse, a keyboard, a touch pad, and the like.
- the communication I / F 506 exchanges various data between an external device and the CPU 501. Note that the communication I / F 506 may exchange data between the server and the CPU 501.
- the communication I / F 506 includes hardware corresponding to a network for exchanging various data with an external device.
- control program 507 may be provided by being incorporated in a part of another program.
- a dedicated hardware circuit may perform part or all of the processing provided by the execution of the control program 507.
- FIG. 5 is a block diagram illustrating an example of an internal configuration of the movement control unit.
- the movement control unit 50 in the example illustrated in FIG. 5 includes an instruction value generation unit 51 and a movement destination determination unit 52.
- the instruction value generation unit 51 generates instruction values for the position and orientation of the camera 12 and outputs the generated instruction values to the robot 20.
- the instruction value includes an XYZ coordinate value of the camera 12 and an XYZ component of a unit vector in the imaging direction of the camera 12. Further, the instruction value generation unit 51 outputs the generated instruction value to the measurement unit 30 as the position and orientation information of the camera 12.
- the instruction value generation unit 51 first generates a first instruction value corresponding to the first position and the first posture, and outputs the generated first instruction value to the robot 20.
- the first position and the first posture are determined in advance.
- the first position is, for example, a position above the center point of the pallet 102 (see FIG. 1) by a predetermined distance.
- the first posture is, for example, a posture in which the imaging direction of the camera 12 is downward in the vertical direction.
- the instruction value generation unit 51 generates the first instruction value, generates a second instruction value corresponding to the second position and the second attitude determined by the movement destination determination unit 52, and generates the generated first instruction value. 2 is output to the robot 20.
- the movement destination determination unit 52 is based on the three-dimensional shape (first measurement shape) of the surface of the subject 101 measured using the image when the camera 12 is placed in the first position and the first posture. Then, the second position and the second posture at which the subject 101 is to be imaged again are determined.
- the destination determination unit 52 includes a distance image generation unit 53, a labeling unit 54, a target line segment determination unit 55, a first angle calculation unit 56, a second angle setting unit 57, a posture determination unit 58, a position And a determination unit 59.
- the distance image generation unit 53 generates distance image data from the three-dimensional shape data indicating the first measurement shape measured by the measurement unit 30.
- the distance image generation unit 53 generates distance image data by converting the Z coordinate value of the three-dimensional shape data indicating the first measurement shape into a luminance value.
- the distance image generation unit 53 sets the luminance of the region where the Z coordinate value is not calculated by the measurement unit 30 to the minimum value.
- the labeling unit 54 performs a labeling process on the distance image data generated by the distance image generating unit 53, whereby a defective region 60 (in which pixels having the minimum brightness are continuous in the vertical, horizontal, or diagonal directions). (See FIG. 2).
- the target line segment determination unit 55 determines a target line segment 64 (see FIG. 3) connecting two points around the defect region 60 in the first measurement shape.
- the target line segment determining unit 55 selects one missing region 60 from the plurality of missing regions 60, and the target line segment is applied only to the selected missing region 60. 64 is determined.
- An algorithm for selecting one defect region 60 from the plurality of defect regions 60 is determined in advance according to the method of using the three-dimensional shape measured by the visual sensor system 1. For example, when a three-dimensional shape is used to select the object 100 at the highest position from among the plurality of objects 100, the target line segment determination unit 55 selects a surrounding area from among the plurality of defect regions 60. The defective region 60 having the highest height may be selected.
- FIG. 6 is a diagram illustrating an example of a reference line set in the distance image.
- FIG. 7 is a diagram showing a height profile of the reference line shown in FIG.
- the target line segment determination unit 55 determines a straight line that passes through the center of gravity 61 of the missing region 60 and is parallel to the X-axis direction as the reference line 65 in the distance image indicated by the distance image data.
- the target line segment determination unit 55 selects two points 67 and 68 adjacent to the missing region 60 from the points on the reference line 65. Points 67 and 68 are points around the defect region 60 in the distance image.
- the target line segment determination unit 55 specifies the points 62 and 63 in the XYZ coordinate system corresponding to the points 67 and 68 by inversely converting the luminance value into the Z coordinate value.
- the target line segment determination unit 55 determines the line segment connecting the points 62 and 63 as the target line segment 64. Since the reference line 65 is parallel to the X-axis direction, the line segment obtained by projecting the target line segment 64 onto the reference plane 103 is parallel to the X-axis direction.
- the first angle calculation unit 56 includes the target line segment 64 determined by the target line segment determination unit 55 and the optical axis of the camera 12 arranged at the first position and the first posture.
- An angle ⁇ a (hereinafter referred to as “first angle”) ⁇ a formed with the first plane 66 perpendicular to 13 is calculated.
- the first posture is a posture in which the imaging direction of the camera 12 is downward in the vertical direction. Therefore, the first plane 66 perpendicular to the optical axis 13 of the camera 12 disposed at the first position and the first posture is parallel to the XY plane.
- the reference plane 103 that is the XY plane and the first plane 66 coincide with each other.
- the second angle setting unit 57 determines the upper limit (hereinafter referred to as the angle) between the surface of the subject 101 whose Z coordinate value can be calculated by the measurement unit 30 and the plane perpendicular to the optical axis of the camera 12. “Second angle ⁇ b”).
- FIG. 8 is a diagram showing an example of the path of the pattern light emitted from the projector 11.
- FIG. 8A shows the path of the pattern light when the surface of the subject 101 is parallel to the plane 14 perpendicular to the optical axis of the camera 12.
- FIG. 8B shows a pattern light path when the surface of the subject 101 is inclined by an angle ⁇ max with respect to the plane 14 perpendicular to the optical axis of the camera 12.
- incident light from the projector 11 is diffusely reflected on the surface of the subject 101 with an intensity distribution corresponding to the emission direction. Therefore, the reflected light that can be received by the camera 12 decreases as the surface of the subject 101 tilts.
- the measuring unit 30 determines the Z coordinate value (height information) for the surface of the subject 101. It cannot be calculated with high accuracy. Therefore, the second angle setting unit 57 sets the angle ⁇ max as the second angle ⁇ b.
- the angle ⁇ max varies depending on the characteristics of the camera 12 (for example, the angle of view). Further, the angle ⁇ max varies depending on the material of the subject 101. This is because the reflection performance and scattering performance of pattern light differ depending on the material of the subject 101. For this reason, the second angle setting unit 57 stores in advance a table in which the characteristics of the camera 12 and the material of the subject 101 are associated with the angle ⁇ max, and the second angle setting unit 57 corresponds to the input characteristics of the camera 12 and the material of the subject 101. A second angle ⁇ b is set.
- the posture determination unit 58 determines the second posture of the camera 12 so that the Z coordinate value of the target line segment 64 (see FIG. 7) can be calculated.
- the posture determination unit 58 determines ⁇ w that satisfies the following expression (1) as the movement angle ⁇ w from the first posture to the second posture. 0 ⁇ ⁇ a ⁇ w ⁇ ⁇ b (1)
- the posture determination unit 58 determines the difference ( ⁇ a ⁇ b) between the first angle ⁇ a and the second angle ⁇ b as the movement angle ⁇ w. Thereby, the rotational movement amount from the first posture to the second posture can be suppressed to the minimum.
- the posture determining unit 58 includes the target line segment 64 and is perpendicular to the reference plane 103 (that is, the XY plane) along the second plane (that is, the plane of FIG. 7 and parallel to the XZ plane).
- the posture obtained by rotationally moving the first posture is determined as the second posture.
- the posture determination unit 58 starts from the first posture along the second plane in a direction in which the angle formed by the target line segment 64 (see FIG. 7) and the optical axis 13 of the camera 12 approaches 90 degrees.
- the posture rotated by the movement angle ⁇ w is determined as the second posture.
- the position determination unit 59 determines the second position of the camera 12 so that the Z coordinate value of the target line segment 64 (see FIG. 7) can be calculated. Specifically, the position determination unit 59 determines the position of the camera 12 that satisfies the following conditions a and b as the second position.
- Condition a In the second posture determined by the posture determination unit 58, the point having the larger Z coordinate value (that is, the height) among the two points 62 and 63 at both ends of the target line segment 64 (see FIG. 7). The optical axis of the camera 12 passes through the higher information point.
- Condition b First of the two points 62 and 63 at both ends of the target line segment 64 (see FIG. 7) having a larger Z coordinate value (that is, a point having higher height information) (reference point). The distance to the position is the same as the distance from the point to the second position.
- the second position and the second posture are determined so that the Z coordinate value of the target line segment 64 can be calculated.
- the possibility that the Z coordinate value in the missing region 60 can be calculated increases.
- FIG. 9 is a flowchart illustrating an example of a processing flow of the visual sensor system.
- the camera 12 is placed in the first position and the first posture.
- the projector 11 projects pattern light onto the subject 101.
- the camera 12 images the subject 101 on which the pattern light is projected.
- the measurement unit 30 uses the image captured in step S ⁇ b> 3 (that is, the image when the camera 12 is placed in the first position and the first posture) and uses the tertiary of the surface of the subject 101.
- the original shape (first measurement shape) is measured.
- step S5 the distance image generation unit 53 generates distance image data from the three-dimensional shape data indicating the first measurement shape.
- the labeling unit 54 performs a labeling process on the distance image data.
- step S7 it is determined whether or not a missing area is included in the distance image indicated by the distance image data. If the missing image is not included in the distance image (NO in step S7), in step S8, the synthesis unit 40 outputs three-dimensional shape data indicating the first measurement shape as measurement result data. After step S8, the visual sensor system 1 ends the process.
- step S9 the movement destination determination unit 52 determines the second position and the second position where the subject 101 should be imaged again based on the first measurement shape. Determine posture.
- step S10 the camera 12 is placed in the second position and the second posture.
- step S ⁇ b> 11 the projector 11 projects pattern light onto the subject 101.
- step S12 the camera 12 images the subject 101 on which the pattern light is projected.
- step S ⁇ b> 13 the measurement unit 30 uses the image captured in step S ⁇ b> 10 (that is, the image when the camera 12 is placed in the second position and the second posture), and the three-dimensional shape of the subject 101. (Second measurement shape) is measured.
- step S14 the synthesis unit 40 generates measurement result data by combining the three-dimensional shape data indicating the first measurement shape and the three-dimensional shape data indicating the second measurement shape, and the generated measurement result data. Is output.
- step S14 the visual sensor system 1 ends the process.
- FIG. 10 is a flowchart for explaining a subroutine of the process (step S9) for determining the second position and the second posture in FIG.
- step S ⁇ b> 21 the target line segment determination unit 55 selects a defect area having the highest peripheral height among the defect areas extracted from the distance image. Note that when there is only one missing region extracted from the distance image, the target line segment determination unit 55 selects the missing region.
- step S22 the target line segment determination unit 55 determines a target line segment connecting two points around the selected defect area in the first measurement shape.
- the first angle calculation unit 56 calculates a first angle ⁇ a formed by the target line segment and the first plane perpendicular to the optical axis of the camera 12 arranged at the first position and the first posture. To do.
- step S ⁇ b> 24 the second angle setting unit 57 sets the second angle ⁇ b according to the characteristics of the camera 12 and the material of the subject 101.
- step S25 the posture determination unit 58 determines the second posture of the camera 12 using the movement angle ⁇ w that satisfies the equation (1) (0 ⁇ ⁇ a ⁇ w ⁇ ⁇ b).
- step S26 the position determining unit 59 sets the camera 12 so that the optical axis passes through the point having the larger Z coordinate value (that is, the point having the higher height information) out of the two points at both ends of the target line segment. The second position of is determined.
- the movement control unit 50 of the visual sensor system 1 uses the first measurement shape measured by the measurement unit 30 using the image when the camera 12 is placed in the first position and the first posture. Based on the above, the second position and the second posture at which the subject is to be imaged again are determined. The movement control unit 50 instructs the robot 20 on the determined second position and secondly the posture. The movement control unit 50 extracts a missing area 60 in which the Z coordinate value that is height information is missing from the first measurement shape. The movement control unit 50 determines the second position and the second posture based on the Z coordinate value around the defect region 60 in the first measurement shape.
- the Z coordinate value around the defect area 60 is related to the three-dimensional shape of the subject 101 in the defect area 60. Therefore, by using the Z coordinate value around the defect area 60, it is possible to determine the second position and the second posture at which the Z coordinate value in the defect area 60 can be easily obtained.
- the movement control unit 50 determines the second position and the second posture so that the Z coordinate value of the target line segment 64 connecting the two points 62 and 63 around the defect region 60 in the first measurement shape can be acquired. .
- the Z-coordinate value in the defect region 60 can be acquired. Increases nature.
- the movement control unit 50 obtains a first angle ⁇ a formed by the target line segment 64 and the first plane 66 perpendicular to the optical axis 13 of the camera 12 arranged at the first position and the first posture.
- the movement control unit 50 determines the difference ( ⁇ a ⁇ b) between the first angle ⁇ a and the second angle ⁇ b determined in advance according to the characteristics of the camera 12 and the subject 101 from the first attitude to the second attitude. Determined as the moving angle.
- the movement control unit 50 includes the target line segment 64 in a direction in which the angle formed by the target line segment 64 and the optical axis 13 of the camera 12 approaches 90 degrees, along the second plane perpendicular to the reference plane 103.
- a posture rotated from the first posture by the movement angle ⁇ w is determined as the second posture. Thereby, the rotational movement amount to the 2nd attitude
- the line segment obtained by projecting the target line segment 64 onto the reference plane 103 is parallel to a predetermined direction (here, the X-axis direction). Thereby, the target line segment determination unit 55 can easily determine the target line segment 64.
- the target line segment determination unit 55 determines the target line segment 64 using the reference line 65 that passes through the center of gravity 61 of the missing region 60 and is parallel to the X-axis direction (see FIG. 6).
- the method for determining the target line segment by the target line segment determining unit 55 is not limited to this.
- FIG. 11 is a diagram illustrating another example of the method for determining the target line segment by the target line segment determining unit.
- the target line segment determination unit 55 may determine a target line segment using a reference line 73 that passes through the center of gravity 61 of the missing region 60 and is parallel to the Y-axis direction.
- the target line segment determination unit 55 selects two points 71 and 72 adjacent to the missing region 60 from the points on the reference line 73. Points 71 and 72 are points around the defect area 60 in the distance image.
- the target line segment determination unit 55 specifies two points in the XYZ coordinate system corresponding to the points 71 and 72 by inversely converting the luminance value into the Z coordinate value, and sets the line segment connecting the two points as the target line segment. decide. Since the reference line 73 is parallel to the Y-axis direction, the line segment obtained by projecting the target line segment 64 onto the reference plane 103 is parallel to the Y-axis direction.
- the posture determination unit 58 rotates and moves the camera 12 along a second plane (that is, a plane parallel to the YZ plane) that includes the target line segment and is perpendicular to the reference plane 103 (that is, the XY plane). By doing so, the second posture is determined. Specifically, the posture determination unit 58 sets the first posture along the second plane (a plane parallel to the YZ plane) in a direction in which the angle formed by the target line segment and the optical axis of the camera 12 approaches 90 degrees. The posture rotated by the movement angle ⁇ w is determined as the second posture.
- the target line segment determination unit 55 has a point 74 having the maximum luminance value (that is, a point having the maximum Z coordinate value) and a luminance value having the minimum luminance value among the points around the defect area 60 in the distance image.
- a certain point 75 (that is, a point having the smallest Z coordinate value) may be selected.
- the target line segment determining unit 55 specifies two points in the XYZ coordinate system corresponding to the points 74 and 75 by inversely converting the luminance value into the Z coordinate value, and uses the line segment connecting the two points as the target line segment. decide.
- the two points are a point having the maximum Z coordinate value (height information) and a point having the minimum Z coordinate value among the points around the defect region 60 in the first measurement shape.
- the target line segment determination unit 55 has the first angle ⁇ a formed by the first plane 66 (see FIG. 7) perpendicular to the optical axis 13 of the camera 12 arranged at the first position and the first posture.
- the largest target line segment can be determined.
- the position determination unit 59 determines the second position of the camera 12 so that the optical axis passes through the point 62, 63 at both ends of the target line segment 64 that has the larger Z coordinate value. .
- the position determination unit 59 is configured so that the optical axis passes through a point having a smaller Z coordinate value (that is, a point having a lower height information) among the points 62 and 63 at both ends of the target line segment 64. Twelve second positions may be determined.
- the position determination unit 59 may determine the second position of the camera 12 so that the optical axis passes through the midpoints of the points 62 and 63 at both ends of the target line segment 64.
- the second angle setting unit 57 may set an angle ( ⁇ max ⁇ ) smaller than the angle ⁇ max by a predetermined margin angle ⁇ as the second angle ⁇ b.
- the second position and the second posture are determined so that the Z coordinate value of the target line segment 64 connecting the two points around the defect region 60 in the first measurement shape can be calculated.
- the second position is such that the Z coordinate value of the target area that overlaps the missing area in the approximate plane that approximates at least three points around the missing area 60 in the first measurement shape can be calculated.
- the second attitude may be determined.
- FIG. 12 is a block diagram illustrating an internal configuration of a movement control unit according to Modification 4.
- FIG. 13 is a diagram illustrating an example of the target area.
- the visual sensor system according to the modified example 4 is different from the visual sensor system 1 shown in FIG. 1 in that the movement control unit 50a shown in FIG. 11 is used instead of the movement control unit 50 shown in FIG. It differs in that it is equipped with.
- the movement control unit 50 a replaces the target line segment determination unit 55, the first angle calculation unit 56, the posture determination unit 58, and the position determination unit 59 with the target region determination unit 55 a, the first The difference is that an angle calculation unit 56a, a posture determination unit 58a, and a position determination unit 59a are provided.
- the target area determination unit 55a specifies an approximate plane 81 that approximates at least three points 80 around the defect area 60 in the first measurement shape.
- the target region determination unit 55 a determines a region that overlaps the missing region 60 in the approximate plane 81 as the target region 82.
- the first angle calculation unit 56a calculates, as the first angle ⁇ a, the angle formed between the target region 82 and the first plane 66 perpendicular to the optical axis 13 of the camera 12 arranged at the first position and the first posture. To do.
- the posture determination unit 58a determines the second posture so that the Z coordinate value of the target area 82 can be calculated. Specifically, the posture determination unit 58a determines ⁇ w that satisfies the above equation (1) as the movement angle ⁇ w from the first posture to the second posture, as with the posture determination unit 58. For example, the posture determination unit 58a determines the difference ( ⁇ a ⁇ b) between the first angle ⁇ a and the second angle ⁇ b as the movement angle ⁇ w. Thereby, the movement amount from the first posture to the second posture can be suppressed to the minimum.
- the posture determination unit 58a rotates and moves the first posture along the second plane 84 that includes the normal line 83 of the target region 82 and is perpendicular to the reference plane 103 (that is, the XY plane). Determine the posture. Specifically, the posture determination unit 58a rotates from the first posture by the movement angle ⁇ w along the second plane 84 in a direction in which the angle formed by the target region 82 and the optical axis 13 of the camera 12 approaches 90 degrees. The determined posture is determined as the second posture.
- the position determination unit 59a determines the second position so that the Z coordinate value of the target region 82 can be calculated. Specifically, the position determination unit 59a determines the position of the camera 12 that satisfies the following conditions a ′ and b ′ as the second position.
- Condition a ′ In the second posture determined by the posture determination unit 58a, the optical axis 13 of the camera 12 passes through a point in the target region 82 (for example, the center of gravity of the target region 82).
- Condition b ′ The distance from the point in the target area 82 (for example, the center of gravity of the target area) to the first position is the same as the distance from the point to the second position.
- the second position and the second posture are determined so that the Z coordinate value of the target region 82 can be calculated.
- the possibility that the Z coordinate value in the missing area 60 can be calculated increases.
- the movement control unit 50 may rotate the acquisition unit 10 around the optical axis and the center of the camera 12.
- FIG. 14 is a diagram illustrating an example of the rotation position of the acquisition unit 10. 14A to 14C, the upper part shows a side view and the lower part shows a plan view.
- the movement control unit 50 rotates the acquisition unit by 180 ° around the optical axis 13 of the camera 12 as shown in FIG.
- the movement control unit 50 may rotate the acquisition unit by 90 ° around the optical axis 13 of the camera 12 as shown in FIG. Thereby, the incident direction of the pattern light from the projector 11 can be changed.
- (Configuration 1) An imaging unit (12) for imaging the subject (101); A moving mechanism (20) for disposing the imaging unit (12) in a designated posture at a designated position; A measurement unit (30) that measures a three-dimensional shape of the surface of the subject (101) using an image captured by the imaging unit (12); A measurement shape which is a three-dimensional shape of the subject (101) measured by the measurement unit (30) using an image when the imaging unit (12) is arranged at the first position and the first posture.
- a movement control unit (50) for determining a second position and a second posture at which the subject (101) should be imaged again and instructing the movement mechanism (20),
- the three-dimensional shape is indicated by height information from the reference plane (103),
- the movement control unit (50) Extracting a defect region (60) in which the height information is missing from the measurement shape,
- a visual sensor system (1) that determines the second position and the second posture based on the height information around the defect region (60) in the measurement shape.
- the movement control unit (50) is configured to acquire the height information of the target line segment (64) connecting two points around the defect area (60) in the measurement shape so that the second position and the first position can be acquired.
- the visual sensor system (1) according to configuration 1, wherein the posture of 2 is determined.
- the movement control unit (50) A first angle formed by the target line segment (64) and a first plane (66) perpendicular to the optical axis of the imaging unit (12) disposed in the first position and the first posture is obtained. , The difference between the first angle and the second angle that is predetermined according to the characteristics of the imaging unit (12) and the subject (101) is defined as the movement angle from the first posture to the second posture.
- the target line segment (64) and the optical axis of the image pickup unit (12) include a target line segment (64) in a direction approaching 90 degrees and are perpendicular to the reference plane (103).
- the visual sensor system (1) according to Configuration 2, wherein a posture rotated by the movement angle from the first posture along two planes is determined as the second posture.
- One of the two points is a point having the maximum height information in the periphery of the defect region (60) in the measurement shape, and the other of the two points is in the periphery of the defect region (60).
- the visual sensor system (1) according to configuration 2 or 3, wherein the height information is a minimum point.
- the movement control unit (50) is configured to increase a height of a target region (82) that overlaps the defect region (60) in an approximate plane (81) that approximates at least three points around the defect region (60) in the measurement shape.
- the movement control unit (50) A first angle formed by the target region (82) and a first plane (66) perpendicular to the optical axis of the imaging unit (12) disposed at the first position and the first posture; The difference between the first angle and the second angle that is predetermined according to the characteristics of the imaging unit (12) and the subject (101) is the movement angle from the first posture to the second posture.
- the normal plane (83) of the target area (82) is included in a direction in which the angle formed by the target area (82) and the optical axis of the imaging unit (12) approaches 90 degrees, and the reference plane (103)
- the movement control unit (50) determines the second position so that the optical axis of the imaging unit (12) passes through a reference point that is the higher of the two points of the height information.
- the visual sensor system (1) according to any one of configurations 2 to 5.
- the movement control unit (50) determines the second position so that the optical axis of the imaging unit (12) passes through a reference point which is the lower point of the height information among the two points.
- the visual sensor system (1) according to any one of configurations 2 to 5.
- the movement control unit (50) determines the second position so that a distance between the reference point and the first position is equal to a distance between the reference point and the second position.
- the visual sensor system (1) according to any one of configurations 8 to 11.
- FIG. 14 An imaging unit (12) for imaging the subject (101); A moving mechanism (20) for disposing the imaging unit (12) in a designated posture at a designated position; A program for supporting a visual sensor system (1) including a measurement unit (30) that measures a three-dimensional shape of the surface of the subject (101) using an image captured by the imaging unit (12).
- the three-dimensional shape is indicated by height information from the reference plane (103), On the computer, A measurement shape which is a three-dimensional shape of the subject (101) measured by the measurement unit (30) using an image when the imaging unit (12) is arranged at the first position and the first posture. Extracting a missing region (60) from which the height information is missing, Determining a second position and a second posture at which the subject (101) should be imaged again based on the height information around the defect area (60) in the measurement shape. (507).
- 1 visual sensor system 10 acquisition unit, 11 projector, 12 camera, 13 optical axis, 14 plane, 20 robot, 30 measurement unit, 40 synthesis unit, 50, 50a movement control unit, 51 indicated value generation unit, 52 destination determination Unit, 53 distance image generation unit, 54 labeling unit, 55 target line segment determination unit, 55a target region determination unit, 56, 56a first angle calculation unit, 57 second angle setting unit, 58, 58a posture determination unit, 59, 59a position determination unit, 60 missing area, 61 center of gravity, 62, 63, 67, 68, 71, 72, 74, 75 points, 64 target line segments, 65, 73 reference line, 66 first plane, 81 approximate plane, 82 Target area, 83 normal, 84 second plane, 100 target, 101 subject, 102 pallet, 103 reference plane, 5 0 bus, 502 main memory, 503 hard disk, 504 display, 505 input device, 506 communication I / F, 507 control program.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
移動制御部は、撮像部が第1の位置および第1の姿勢に配置されているときの画像を用いて計測部により計測された被写体の三次元形状である計測形状に基づいて、被写体を再度撮像すべき第2の位置および第2の姿勢を決定して、移動機構へ指示する。三次元形状は、基準面からの高さ情報によって示される。移動制御部は、計測形状から、高さ情報が欠損している欠損領域を抽出し、計測形状における欠損領域の周囲の高さ情報に基づいて、第2の位置および第2の姿勢を決定する。これにより、影の影響を排除しやすいように撮像部の位置姿勢を決定することができる。
Description
本発明は、視覚センサシステム、制御方法およびプログラムに関する。
近年、プロジェクタからパターン光が投影された被写体をカメラにより撮像し、得られた画像を用いて被写体の表面の三次元形状を計測する技術が開発されている。
特開2016-99257号公報(特許文献1)には、照明等によって発生する影の影響を考慮して、三次元形状の計測を複数回行なう技術が開示されている。具体的には、カメラが第1の位置姿勢に配置されているときに1回目の撮像を行なった後、対象物体を中心に、プロジェクタの光軸とカメラの光軸とを含む面内で所定角度回転させた第2の位置姿勢にカメラが配置される。
特開2016-99257号公報に記載の技術では、第1の位置姿勢から所定角度回転させた位置姿勢が第2の位置姿勢として決定される。すなわち、カメラの第1の位置姿勢から第2の位置姿勢への移動量は一定である。しかしながら、影の状況は、被写体の状態によって変化する。そのため、第2の位置姿勢が影の影響を排除しやすい位置姿勢であるとは限らない。
本開示は、上記の問題点に着目してなされたもので、その目的は、影の影響を排除しやすいように撮像部の位置姿勢を決定することが可能な視覚センサシステム、制御方法およびプログラムを提供することである。
本開示の一例では、視覚センサシステムは、撮像部と、移動機構と、計測部と、移動制御部とを備える。撮像部は、被写体を撮像する。移動機構は、撮像部を指示された位置に指示された姿勢で配置する。計測部は、撮像部により撮像された画像を用いて、被写体の表面の三次元形状を計測する。移動制御部は、撮像部が第1の位置および第1の姿勢に配置されているときの画像を用いて計測部により計測された被写体の三次元形状である計測形状に基づいて、被写体を再度撮像すべき第2の位置および第2の姿勢を決定して、移動機構へ指示する。三次元形状は、基準面からの高さ情報によって示される。移動制御部は、計測形状から、高さ情報が欠損している欠損領域を抽出し、計測形状における欠損領域の周囲の高さ情報に基づいて、第2の位置および第2の姿勢を決定する。
欠損領域の周囲の高さ情報は、欠損領域内の被写体の三次元形状と関係している可能性が高い。そのため、この開示によれば、欠損領域の周囲の高さ情報を用いることにより、欠損領域内の高さ情報を取得しやすい第2の位置および第2の姿勢を決定することができる。すなわち、影の影響を排除しやすいように撮像部の位置姿勢を決定することが可能となる。
本開示の一例では、移動制御部は、計測形状における欠損領域の周囲の2点を結ぶ対象線分の高さ情報が取得可能なように第2の位置および第2の姿勢を決定する。
この開示によれば、対象線分の高さ情報を取得可能な第2の位置および第2の姿勢に撮像部を配置することにより、欠損領域内の高さ情報を取得できる可能性が高くなる。
本開示の一例では、移動制御部は、対象線分と、第1の位置および第1の姿勢に配置された撮像部の光軸に垂直な第1平面とのなす第1角度を求める。さらに、移動制御部は、第1角度と、撮像部の特性および被写体に応じて予め定められる第2角度との差を、第1の姿勢から第2の姿勢への移動角度として決定する。さらに、移動制御部は、対象線分と撮像部の光軸とのなす角度が90度に近づく方向に、対象線分を含み、かつ基準面に垂直な第2平面に沿って第1の姿勢から移動角度だけ回転した姿勢を第2の姿勢として決定する。
この開示によれば、第1の姿勢から対象線分の高さ情報を取得可能な第2の姿勢への回転移動量を抑制できる。回転移動量を抑制することにより、撮像部の移動に要する時間を短縮できる。
本開示の一例では、対象線分を基準面に投影した線分は、予め定められた方向に平行である。この開示によれば、移動制御部は、対象線分を決定しやすくなる。
本開示の一例では、2点の一方は、計測形状において、欠損領域の周囲のうち高さ情報が最大の点である。2点の他方は、欠損領域の周囲のうち高さ情報が最小の点である。
この開示によれば、移動制御部は、第1の位置および第1の姿勢に配置された撮像部の光軸に垂直な第1平面とのなす第1角度が最も大きい対象線分を決定することができる。その結果、撮像部を第2の位置および第2の姿勢に配置することにより、欠損領域のZ座標値を算出できる可能性が高くなる。
本開示の一例では、移動制御部は、計測形状における欠損領域の周囲の少なくとも3点に近似する近似平面のうち欠損領域と重なる対象領域の高さ情報が取得可能なように第2の位置および第2の姿勢を決定する。
この開示によれば、対象領域の高さ情報を取得可能な第2の位置および第2の姿勢に撮像部を配置することにより、欠損領域内の高さ情報を取得できる可能性が高くなる。
本開示の一例では、移動制御部は、対象領域と、第1の位置および第1の姿勢に配置された撮像部の光軸に垂直な第1平面とのなす第1角度を求める。移動制御部は、第1角度と、撮像部の特性および被写体に応じて予め定められる第2角度との差を、第1の姿勢から第2の姿勢への移動角度として決定する。移動制御部は、対象領域と撮像部の光軸とのなす角度が90度に近づく方向に、対象領域の法線を含み、かつ基準面に垂直な第2平面に沿って第1の姿勢から移動角度だけ回転した姿勢を第2の姿勢として決定する。
この開示によれば、第1の姿勢から対象領域の高さ情報を取得可能な第2の姿勢への回転移動量を抑制できる。回転移動量を抑制することにより、撮像部の移動に要する時間を短縮できる。
本開示の一例では、移動制御部は、2点のうち高さ情報が高い方の点である基準点を撮像部の光軸が通るように、第2の位置を決定する。もしくは、移動制御部は、2点のうち高さ情報が低い方の点である基準点を撮像部の光軸が通るように、第2の位置を決定してもよい。もしくは、移動制御部は、2点の中点である基準点を撮像部の光軸が通るように、第2の位置を決定してもよい。もしくは、移動制御部は、対象領域内の基準点を撮像部の光軸が通るように、第2の位置を決定してもよい。これらの開示によれば、欠損領域内の高さ情報を取得しやすい第2の位置を決定することができる。
本開示の一例では、移動制御部は、基準点と第1の位置との距離と、基準点と第2の位置との距離とが同一となるように、第2の位置を決定する。この開示によれば、撮像部が第1の位置および第1の姿勢に配置されているときの画像から計測された、欠損領域の周囲の高さ情報の計測精度と、撮像部が第2の位置および第2の姿勢に配置されているときの画像から計測された、当該欠損領域内の高さ情報の計測精度とを合わせることができる。
本開示の一例では、視覚センサシステムは、被写体を撮像する撮像部と、撮像部を指示された位置に指示された姿勢で配置する移動機構と、撮像部により撮像された画像を用いて、被写体の表面の三次元形状を計測する計測部とを備える。三次元形状は、基準面からの高さ情報によって示される。視覚センサシステムの制御方法は、第1ステップと第2ステップとを備える。第1ステップは、撮像部が第1の位置および第1の姿勢に配置されているときの画像を用いて計測部により計測された被写体の三次元形状である計測形状から、高さ情報が欠損している欠損領域を抽出するステップである。第2ステップは、計測形状における欠損領域の周囲の高さ情報に基づいて、被写体を再度撮像すべき第2の位置および第2の姿勢を決定するステップである。この開示によれば、影の影響を排除しやすいように撮像部の位置姿勢を決定することが可能となる。
本開示の一例では、視覚センサシステムをサポートするためのプログラムは、上記の第1ステップおよび第2ステップをコンピュータに実行させる。この開示によっても、影の影響を排除しやすいように撮像部の位置姿勢を決定することが可能となる。
本開示によれば、影の影響を排除しやすいように撮像部の位置姿勢を決定することが可能となる。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
§1 適用例
図1を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に係る視覚センサシステムの全体構成を示す模式図である。視覚センサシステム1は、たとえば、所定位置に設置されたパレット102上に積まれた複数の対象物100全体を被写体101とし、被写体101の表面の三次元形状を計測する。視覚センサシステム1によって計測された三次元形状は、様々な用途に利用される。たとえば、図示しない把持ロボットは、視覚センサシステム1によって計測された三次元形状に基づいて、複数の対象物100の中から最も高い位置の対象物100を選択し、選択した対象物100を把持して、別の場所に搬送する。
図1を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に係る視覚センサシステムの全体構成を示す模式図である。視覚センサシステム1は、たとえば、所定位置に設置されたパレット102上に積まれた複数の対象物100全体を被写体101とし、被写体101の表面の三次元形状を計測する。視覚センサシステム1によって計測された三次元形状は、様々な用途に利用される。たとえば、図示しない把持ロボットは、視覚センサシステム1によって計測された三次元形状に基づいて、複数の対象物100の中から最も高い位置の対象物100を選択し、選択した対象物100を把持して、別の場所に搬送する。
図1に示されるように、視覚センサシステム1は、取得ユニット10と、ロボット20と、計測部30と、合成部40と、移動制御部50とを備える。
取得ユニット10は、被写体101の表面の三次元形状を計測するための画像を取得する。取得ユニット10は、被写体101にパターン光を投影するプロジェクタ11と、パターン光が投影された被写体101を撮像するカメラ12とを一体化したユニットである。パターン光は、たとえば縞パターンである。
ロボット20は、取得ユニット10を移動させる移動機構であり、たとえば垂直多関節ロボットである。ロボット20の先端には、取得ユニット10が固定されている。ロボット20は、カメラ12を指示された位置に指示された姿勢で配置するように、取得ユニット10を移動させる。
計測部30は、カメラ12により撮像された画像を処理することにより、被写体101の表面の三次元形状を計測し、計測した三次元形状を示す三次元形状データを生成する画像処理装置である。
三次元形状は、たとえばパレット102の上面である基準面103をXY平面とし、Z軸をXY平面に垂直な軸とするXYZ座標系によって示される。Z座標値は、基準面103から被写体101の表面までの高さ情報である。三次元形状データは、計測された三次元形状の各点のXYZ座標値を含む。なお、カメラ12の座標系とロボット20の座標系とを対応付けるキャリブレーションが予め行なわれている。計測部30は、キャリブレーションデータとロボット20の位置および姿勢とに基づいて、カメラ12の座標系の値から絶対座標系であるXYZ座標値を計算できる。
図2は、計測部30によって計測された三次元形状から変換された距離画像の一例を示す図である。距離画像は、三次元形状データのZ座標値(高さ情報)を輝度値に変換することにより得られる。図2において、輝度が大きいほどZ座標値が大きいことを示している。
図2において、欠損領域60は、三次元形状データにおいてZ座標値が欠損している領域であり、最小の輝度で示される。被写体101において影となる部分には、プロジェクタ11からパターン光が十分に投影されない。計測部30は、パターン光が十分に投影されない部分のZ座標値を計測することができない。つまり、欠損領域60は、パターン光が十分に投影されなかった影領域に対応する。
図1に戻って、合成部40は、カメラ12が第1の位置および第1の姿勢に配置されているときの画像を用いて計測された三次元形状(以下、「第1計測形状」という)と、カメラ12が第2の位置および第2の姿勢に配置されているときの画像を用いて計測された三次元形状(以下、「第2計測形状」という)とを合成する。具体的には、合成部40は、第1計測形状を示す三次元形状データにおいて欠損領域60(図2参照)に対応する部分のZ座標値を、第2計測形状を示す三次元形状データにおいて同領域のZ座標値に置換する。
移動制御部50は、カメラ12の位置および姿勢をロボット20に指示することにより、取得ユニット10の移動を制御する。
移動制御部50は、第1計測形状に欠損領域が含まれている場合、被写体101を再度撮像すべきカメラ12の第2の位置および第2の姿勢を決定する。移動制御部50は、決定した第2の位置および第2の姿勢をロボット20に指示する。
移動制御部50は、第1計測形状に応じて、第1の位置および第1の姿勢から第2の位置および第2の姿勢への移動量を異ならせる。具体的には、移動制御部50は、第1計測形状から欠損領域60(図2参照)を抽出し、第1計測形状における欠損領域60の周囲のZ座標値に基づいて、第2の位置および第2の姿勢を決定する。欠損領域60の周囲のZ座標値は、欠損領域60内の被写体101の三次元形状と関係している可能性が高い。そのため、欠損領域60の周囲のZ座標値を用いることにより、欠損領域60内のZ座標値を取得しやすい第2の位置および第2の姿勢を決定することができる。
移動制御部50は、たとえば、第1計測形状における欠損領域60の周囲の2点を結ぶ対象線分のZ座標値が取得可能なように第2の位置および第2の姿勢を決定する。
図3は、欠損領域およびその周辺の高さプロファイルを示す図である。図3において、点62,63は、基準面103に対する高さ情報を示すZ座標値が欠損している欠損領域60の周囲の2点である。欠損領域60内の被写体101の三次元形状は未知であるが、点62と点63とを結ぶ対象線分64のZ座標値を取得可能な第2の位置および第2の姿勢にカメラ12を配置することにより、欠損領域60内のZ座標値を取得できる可能性が高くなる。
§2 具体例
次に、本実施の形態に係る視覚センサシステムの各構成の一例について説明する。
次に、本実施の形態に係る視覚センサシステムの各構成の一例について説明する。
<A.計測部>
計測部30は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置、通信I/F等を含み、画像処理を行なう。補助記憶装置は、たとえば、ハードディスクドライブ、ソリッドステートドライブ等で構成され、CPUが実行するプログラム等を記憶する。
計測部30は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置、通信I/F等を含み、画像処理を行なう。補助記憶装置は、たとえば、ハードディスクドライブ、ソリッドステートドライブ等で構成され、CPUが実行するプログラム等を記憶する。
計測部30は、カメラ12によって撮像された画像を処理し、被写体101におけるカメラ12側の表面の三次元形状を計測し、計測した三次元形状を示す三次元形状データを生成する。具体的には、計測部30は、被写体101の表面上の各点のXYZ座標値を算出する。計測部30は、カメラ12の位置および姿勢を示す位置姿勢情報を用いてカメラ12の座標系をロボット20のXYZ座標系に変換することにより、被写体101の三次元形状データを算出する。XYZ座標系は、上述したように、XY平面がパレット102の上面である基準面103と一致し、Z軸がXY平面に直交するように設定されたロボット20の座標系である。計測部30は、たとえば位相シフト法のような公知の方法(たとえば、特開2007-114071号公報(特許文献2))を用いて、Z座標値を算出すればよい。もしくは、計測部30は、構造化照明式の公知の方法(たとえば、特開2012-79294号公報(特許文献3))を用いて、Z座標値を算出してもよい。
計測部30は、プロジェクタ11から投影されたパターン光を認識できない領域についてZ座標値を算出しない。
<B.移動制御部のハードウェア構成>
図4は、移動制御部のハードウェア構成について示す模式図である。移動制御部50は、CPU(Central Processing Unit)501、メインメモリ502、ハードディスク503、ディスプレイ504、入力デバイス505および通信インターフェイス(I/F)506を含む。これらの各部は、バス500を介して、互いにデータ通信可能に接続される。
図4は、移動制御部のハードウェア構成について示す模式図である。移動制御部50は、CPU(Central Processing Unit)501、メインメモリ502、ハードディスク503、ディスプレイ504、入力デバイス505および通信インターフェイス(I/F)506を含む。これらの各部は、バス500を介して、互いにデータ通信可能に接続される。
CPU501は、ハードディスク503にインストールされた制御プログラム507を含むプログラム(コード)をメインメモリ502に展開して、これらを所定順序で実行することで、各種の演算を実施する。メインメモリ502は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である。
ハードディスク503は、移動制御部50が備える内部メモリであって、不揮発性の記憶装置である。ハードディスク503は、制御プログラム507等の各種プログラムを記憶する。なお、ハードディスク503に加えて、あるいは、ハードディスク503に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
制御プログラム507は、ロボット20を制御するための手順を示すプログラムである。制御プログラム507等の各種プログラムは、ハードディスク503に保存されている必要はなく、移動制御部50と通信可能なサーバや、移動制御部50と直接接続可能な外部メモリに保存されていてもよい。たとえば、外部メモリに移動制御部50で実行される各種プログラムおよび各種プログラムで用いられる各種パラメータが格納された状態で流通し、移動制御部50は、この外部メモリから各種プログラムおよび各種パラメータを読み出す。外部メモリは、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。あるいは、移動制御部50と通信可能に接続されたサーバなどからダウンロードしたプログラムやパラメータを移動制御部50にインストールしてもよい。
ディスプレイ504は、たとえば液晶ディスプレイである。入力デバイス505は、たとえばマウス、キーボード、タッチパッド等により構成される。
通信I/F506は、外部の装置とCPU501との間で各種データをやり取りする。なお、通信I/F506は、サーバとCPU501との間でデータをやり取りしてもよい。通信I/F506は、外部の装置との間で各種データをやり取りするためのネットワークに対応するハードウェアを含む。
なお、本実施の形態に係る制御プログラム507は、他のプログラムの一部に組み込まれて提供されるものであってもよい。また、代替的に、制御プログラム507の実行により提供される処理の一部もしくは全部を専用のハードウェア回路が行なってもよい。
<C.移動制御部の内部構成>
図5は、移動制御部の内部構成の一例を示すブロック図である。図5に示す例の移動制御部50は、指示値生成部51と、移動先決定部52とを備える。
図5は、移動制御部の内部構成の一例を示すブロック図である。図5に示す例の移動制御部50は、指示値生成部51と、移動先決定部52とを備える。
指示値生成部51は、カメラ12の位置および姿勢の指示値を生成し、生成した指示値をロボット20に出力する。指示値は、カメラ12のXYZ座標値と、カメラ12の撮像方向の単位ベクトルのXYZ成分とを含む。さらに、指示値生成部51は、生成した指示値をカメラ12の位置姿勢情報として計測部30に出力する。
指示値生成部51は、まず、第1の位置および第1の姿勢に対応する第1の指示値を生成し、生成した第1の指示値をロボット20に出力する。第1の位置および第1の姿勢は、予め定められている。第1の位置は、たとえば、パレット102(図1参照)の中心点から所定距離だけ上方の位置である。第1の姿勢は、たとえば、カメラ12の撮像方向が鉛直方向下向きとなる姿勢である。
指示値生成部51は、第1の指示値を生成した後、移動先決定部52によって決定された第2の位置および第2の姿勢に対応する第2の指示値を生成し、生成した第2の指示値をロボット20に出力する。
移動先決定部52は、カメラ12が第1の位置および第1の姿勢に配置されているときの画像を用いて計測された被写体101の表面の三次元形状(第1計測形状)に基づいて、被写体101を再度撮像すべき第2の位置および第2の姿勢を決定する。
移動先決定部52は、距離画像生成部53と、ラベリング部54と、対象線分決定部55と、第1角度演算部56と、第2角度設定部57と、姿勢決定部58と、位置決定部59とを有する。
距離画像生成部53は、計測部30により計測された第1計測形状を示す三次元形状データから距離画像データを生成する。距離画像生成部53は、第1計測形状を示す三次元形状データのZ座標値を輝度値に変換することにより、距離画像データを生成する。なお、距離画像生成部53は、計測部30によってZ座標値が算出されていない領域の輝度を最小値に設定する。
ラベリング部54は、距離画像生成部53によって生成された距離画像データに対してラベリング処理を施すことにより、最小値の輝度を有する画素が縦、横または斜め方向に連続している欠損領域60(図2参照)を抽出する。
対象線分決定部55は、第1計測形状において欠損領域60の周囲の2点を結ぶ対象線分64(図3参照)を決定する。
ラベリング部54によって複数の欠損領域60が抽出された場合、対象線分決定部55は、複数の欠損領域60から1つの欠損領域60を選択し、選択した欠損領域60に対してのみ対象線分64を決定する。複数の欠損領域60から1つの欠損領域60を選択するアルゴリズムは、視覚センサシステム1によって計測された三次元形状の利用方法に応じて予め定められる。たとえば、複数の対象物100の中から最も高い位置の対象物100を選択するために三次元形状が利用される場合、対象線分決定部55は、複数の欠損領域60の中から、周囲の高さが最も高い欠損領域60を選択すればよい。
図6および図7を参照して、対象線分決定部55による対象線分64の決定方法について説明する。図6は、距離画像に設定される基準線の一例を示す図である。図7は、図6に示す基準線の高さプロファイルを示す図である。
図6に示されるように、対象線分決定部55は、距離画像データで示される距離画像において、欠損領域60の重心61を通り、X軸方向に平行な直線を基準線65として決定する。対象線分決定部55は、基準線65上の点から、欠損領域60に隣接する2つの点67,68を選択する。点67,68は、距離画像における欠損領域60の周囲の点である。
図7に示されるように、対象線分決定部55は、輝度値をZ座標値に逆変換することにより、点67,68に対応するXYZ座標系の点62,63をそれぞれ特定する。対象線分決定部55は、点62,63を結ぶ線分を対象線分64として決定する。基準線65がX軸方向に平行であるため、対象線分64を基準面103に投影した線分は、X軸方向に平行である。
第1角度演算部56は、図7に示されるように、対象線分決定部55によって決定された対象線分64と、第1の位置および第1の姿勢に配置されたカメラ12の光軸13に垂直な第1平面66とのなす角度(以下、「第1角度」という)θaを演算する。上述したように、第1の姿勢は、カメラ12の撮像方向が鉛直方向下向きとなる姿勢である。そのため、第1の位置および第1の姿勢に配置されたカメラ12の光軸13に垂直な第1平面66は、XY平面に平行である。図7に示す例では、XY平面である基準面103と第1平面66とが一致している。
図5に戻って、第2角度設定部57は、計測部30によってZ座標値の算出が可能な被写体101の表面と、カメラ12の光軸に垂直な平面とのなす角度の上限(以下、「第2角度θb」という)を設定する。
図8は、プロジェクタ11から照射されたパターン光の経路の一例を示す図である。図8(a)には、被写体101の表面がカメラ12の光軸に垂直な平面14に平行であるときのパターン光の経路が示される。図8(b)には、被写体101の表面がカメラ12の光軸に垂直な平面14に対して角度θmaxだけ傾斜しているときのパターン光の経路が示される。図8に示されるように、プロジェクタ11からの入射光は、被写体101の表面において、出射方向に応じた強度分布を持つ拡散反射を行なう。そのため、被写体101の表面が傾くに従い、カメラ12が受光できる反射光が低下する。被写体101の表面と、カメラ12の光軸13に垂直な平面14とのなす角度が角度θmax以下であれば、所定のS/N比を維持できる。一方、被写体101の表面と、カメラ12の光軸13に垂直な平面14とのなす角度が角度θmaxを超えると、計測部30は、被写体101の表面について、Z座標値(高さ情報)を精度良く算出することができない。そこで、第2角度設定部57は、角度θmaxを第2角度θbとして設定する。
角度θmaxは、カメラ12の特性(たとえば画角)によって異なる。さらに、角度θmaxは、被写体101の材質によっても異なる。被写体101の材質によって、パターン光の反射性能および散乱性能が異なるからである。そのため、第2角度設定部57は、カメラ12の特性および被写体101の材質と角度θmaxとを対応付けたテーブルを予め記憶しておき、入力されたカメラ12の特性および被写体101の材質に応じて第2角度θbを設定する。
姿勢決定部58は、対象線分64(図7参照)のZ座標値の算出が可能なように、カメラ12の第2の姿勢を決定する。対象線分64のZ座標値を取得するためには、カメラ12の光軸13に垂直な平面と対象線分64とのなす角度が第2角度θb以下であることが好ましい。そのため、姿勢決定部58は、以下の式(1)を満たすθwを、第1の姿勢から第2の姿勢への移動角度θwとして決定する。
0≦θa-θw≦θb ・・・式(1)たとえば、姿勢決定部58は、第1角度θaと第2角度θbとの差(θa-θb)を移動角度θwとして決定する。これにより、第1の姿勢から第2の姿勢への回転移動量を最小限に抑制できる。
0≦θa-θw≦θb ・・・式(1)たとえば、姿勢決定部58は、第1角度θaと第2角度θbとの差(θa-θb)を移動角度θwとして決定する。これにより、第1の姿勢から第2の姿勢への回転移動量を最小限に抑制できる。
姿勢決定部58は、対象線分64を含み、かつ基準面103(つまり、XY面)に垂直な第2平面(つまり、図7の紙面であり、XZ面に平行な面)に沿って、第1の姿勢を回転移動させた姿勢を第2の姿勢として決定する。具体的には、姿勢決定部58は、対象線分64(図7参照)とカメラ12の光軸13とのなす角度が90度に近づく方向に、第2平面に沿って第1の姿勢から移動角度θwだけ回転した姿勢を第2の姿勢として決定する。
位置決定部59は、対象線分64(図7参照)のZ座標値が算出可能なように、カメラ12の第2の位置を決定する。具体的には、位置決定部59は、以下の条件a,bを満たすカメラ12の位置を第2の位置として決定する。
条件a:姿勢決定部58によって決定された第2の姿勢において、対象線分64(図7参照)の両端の2つの点62,63のうちZ座標値が大きい方の点(つまり、高さ情報が高い方の点)をカメラ12の光軸が通る。
条件b:対象線分64(図7参照)の両端の2つの点62,63のうちZ座標値が大きい方の点(つまり、高さ情報が高い方の点)(基準点)から第1の位置までの距離と、当該点から第2の位置までの距離とが同じである。
条件a:姿勢決定部58によって決定された第2の姿勢において、対象線分64(図7参照)の両端の2つの点62,63のうちZ座標値が大きい方の点(つまり、高さ情報が高い方の点)をカメラ12の光軸が通る。
条件b:対象線分64(図7参照)の両端の2つの点62,63のうちZ座標値が大きい方の点(つまり、高さ情報が高い方の点)(基準点)から第1の位置までの距離と、当該点から第2の位置までの距離とが同じである。
上記のようにして、対象線分64のZ座標値が算出可能なように、第2の位置および第2の姿勢が決定される。対象線分64のZ座標値を算出可能な第2の位置および第2の姿勢にカメラ12を配置することにより、欠損領域60内のZ座標値を算出できる可能性が高くなる。
<D.視覚センサシステムの処理の流れ>
図9は、視覚センサシステムの処理の流れの一例を示すフローチャートである。まずステップS1において、カメラ12が第1の位置および第1の姿勢に配置される。ステップS2において、プロジェクタ11は、被写体101にパターン光を投影する。ステップS3において、カメラ12は、パターン光が投影された被写体101を撮像する。ステップS4において、計測部30は、ステップS3において撮像された画像(つまり、カメラ12が第1の位置および第1の姿勢に配置されているときの画像)を用いて、被写体101の表面の三次元形状(第1計測形状)を計測する。
図9は、視覚センサシステムの処理の流れの一例を示すフローチャートである。まずステップS1において、カメラ12が第1の位置および第1の姿勢に配置される。ステップS2において、プロジェクタ11は、被写体101にパターン光を投影する。ステップS3において、カメラ12は、パターン光が投影された被写体101を撮像する。ステップS4において、計測部30は、ステップS3において撮像された画像(つまり、カメラ12が第1の位置および第1の姿勢に配置されているときの画像)を用いて、被写体101の表面の三次元形状(第1計測形状)を計測する。
次にステップS5において、距離画像生成部53は、第1計測形状を示す三次元形状データから距離画像データを生成する。ステップS6において、ラベリング部54は、距離画像データにラベリング処理を施す。ステップS7において、距離画像データで示される距離画像に欠損領域が含まれるか否かが判断される。距離画像に欠損領域が含まれない場合(ステップS7でNO)、ステップS8において、合成部40は、第1計測形状を示す三次元形状データを計測結果データとして出力する。ステップS8の後、視覚センサシステム1は、処理を終了する。
距離画像に欠損領域が含まれる場合(ステップS7でYES)、ステップS9において、移動先決定部52は、第1計測形状に基づいて、被写体101を再度撮像すべき第2の位置および第2の姿勢を決定する。
次にステップS10において、カメラ12が第2の位置および第2の姿勢に配置される。ステップS11において、プロジェクタ11は、被写体101にパターン光を投影する。ステップS12において、カメラ12は、パターン光が投影された被写体101を撮像する。ステップS13において、計測部30は、ステップS10において撮像された画像(つまり、カメラ12が第2の位置および第2の姿勢に配置されているときの画像)を用いて、被写体101の三次元形状(第2計測形状)を計測する。
次にステップS14において、合成部40は、第1計測形状を示す三次元形状データと第2計測形状を示す三次元形状データとを合成することにより計測結果データを生成し、生成した計測結果データを出力する。ステップS14の後、視覚センサシステム1は、処理を終了する。
<E.移動先決定部の処理の流れ>
図10は、図9における第2の位置および第2の姿勢を決定する処理(ステップS9)のサブルーチンを説明するフローチャートである。
図10は、図9における第2の位置および第2の姿勢を決定する処理(ステップS9)のサブルーチンを説明するフローチャートである。
ステップS21において、対象線分決定部55は、距離画像から抽出された欠損領域のうち、周囲の高さが最も高い欠損領域を選択する。なお、距離画像から抽出された欠損領域が1つだけである場合、対象線分決定部55は、当該欠損領域を選択する。
ステップS22において、対象線分決定部55は、第1計測形状において、選択した欠損領域の周囲の2点を結ぶ対象線分を決定する。ステップS23において、第1角度演算部56は、対象線分と、第1の位置および第1の姿勢に配置されたカメラ12の光軸に垂直な第1平面とのなす第1角度θaを演算する。ステップS24において、第2角度設定部57は、カメラ12の特性および被写体101の材質に応じて第2角度θbを設定する。
次にステップS25において、姿勢決定部58は、式(1)(0≦θa-θw≦θb)を満たす移動角度θwを用いて、カメラ12の第2の姿勢を決定する。ステップS26において、位置決定部59は、対象線分の両端の2点のうちZ座標値が大きい方の点(つまり、高さ情報が高い方の点)を光軸が通るように、カメラ12の第2の位置を決定する。
<F.作用・効果>
以上のように、視覚センサシステム1の移動制御部50は、カメラ12が第1の位置および第1の姿勢に配置されているときの画像を用いて計測部30により計測された第1計測形状に基づいて、被写体を再度撮像すべき第2の位置および第2の姿勢を決定する。移動制御部50は、決定した第2の位置および第2に姿勢をロボット20へ指示する。移動制御部50は、第1計測形状から、高さ情報であるZ座標値が欠損している欠損領域60を抽出する。移動制御部50は、第1計測形状における欠損領域60の周囲のZ座標値に基づいて、第2の位置および第2の姿勢を決定する。
以上のように、視覚センサシステム1の移動制御部50は、カメラ12が第1の位置および第1の姿勢に配置されているときの画像を用いて計測部30により計測された第1計測形状に基づいて、被写体を再度撮像すべき第2の位置および第2の姿勢を決定する。移動制御部50は、決定した第2の位置および第2に姿勢をロボット20へ指示する。移動制御部50は、第1計測形状から、高さ情報であるZ座標値が欠損している欠損領域60を抽出する。移動制御部50は、第1計測形状における欠損領域60の周囲のZ座標値に基づいて、第2の位置および第2の姿勢を決定する。
欠損領域60の周囲のZ座標値は、欠損領域60内の被写体101の三次元形状と関係している可能性が高い。そのため、欠損領域60の周囲のZ座標値を用いることにより、欠損領域60内のZ座標値を取得しやすい第2の位置および第2の姿勢を決定することができる。
移動制御部50は、第1計測形状における欠損領域60の周囲の2点62,63を結ぶ対象線分64のZ座標値が取得可能なように第2の位置および第2の姿勢を決定する。点62と点63とを結ぶ対象線分64のZ座標値を取得可能な第2の位置および第2の姿勢にカメラ12を配置することにより、欠損領域60内のZ座標値を取得できる可能性が高くなる。
移動制御部50は、対象線分64と、第1の位置および第1の姿勢に配置されたカメラ12の光軸13に垂直な第1平面66とのなす第1角度θaを求める。移動制御部50は、第1角度θaと、カメラ12の特性および被写体101に応じて予め定められる第2角度θbとの差(θa-θb)を、第1の姿勢から第2の姿勢への移動角度として決定する。移動制御部50は、対象線分64とカメラ12の光軸13とのなす角度が90度に近づく方向に、対象線分64を含み、かつ基準面103に垂直な第2平面に沿って第1の姿勢から移動角度θwだけ回転した姿勢を第2の姿勢として決定する。これにより、第1の姿勢から対象線分64のZ座標値を算出可能な第2の姿勢への回転移動量を最小限に抑制できる。
対象線分64を基準面103に投影した線分は、予め定められた方向(ここではX軸の方向)に平行である。これにより、対象線分決定部55は、対象線分64を決定しやすくなる。
<G.変形例1>
上記の説明では、対象線分決定部55は、欠損領域60の重心61を通り、X軸方向に平行な基準線65を用いて、対象線分64を決定する(図6参照)。しかしながら、対象線分決定部55による対象線分の決定方法はこれに限定されない。
上記の説明では、対象線分決定部55は、欠損領域60の重心61を通り、X軸方向に平行な基準線65を用いて、対象線分64を決定する(図6参照)。しかしながら、対象線分決定部55による対象線分の決定方法はこれに限定されない。
図11は、対象線分決定部による対象線分の決定方法の別の例を示す図である。図11に示されるように、対象線分決定部55は、欠損領域60の重心61を通り、Y軸方向に平行な基準線73を用いて、対象線分を決定してもよい。対象線分決定部55は、基準線73上の点から、欠損領域60に隣接する2つの点71,72を選択する。点71,72は、距離画像における欠損領域60の周囲の点である。対象線分決定部55は、輝度値をZ座標値に逆変換することにより、点71,72に対応するXYZ座標系の2点を特定し、当該2点を結ぶ線分を対象線分として決定する。基準線73がY軸方向に平行であるため、対象線分64を基準面103に投影した線分は、Y軸方向に平行である。
この場合、姿勢決定部58は、対象線分を含み、かつ基準面103(つまり、XY平面)に垂直な第2平面(つまり、YZ面に平行な面)に沿って、カメラ12を回転移動させることにより、第2の姿勢を決定する。具体的には、姿勢決定部58は、対象線分とカメラ12の光軸とのなす角度が90度に近づく方向に、第2平面(YZ面に平行な面)に沿って第1の姿勢から移動角度θwだけ回転した姿勢を第2の姿勢として決定する。
もしくは、対象線分決定部55は、距離画像において欠損領域60の周囲の点のうち、輝度値が最大である点74(つまり、Z座標値が最大である点)と、輝度値が最小である点75(つまり、Z座標値が最小である点)とを選択してもよい。対象線分決定部55は、輝度値をZ座標値に逆変換することにより、点74,75に対応するXYZ座標系の2点を特定し、当該2点を結ぶ線分を対象線分として決定する。当該2点は、第1計測形状において欠損領域60の周囲の点のうち、Z座標値(高さ情報)が最大の点とZ座標値が最小の点とである。
これにより、対象線分決定部55は、第1の位置および第1の姿勢に配置されたカメラ12の光軸13に垂直な第1平面66(図7参照)とのなす第1角度θaが最も大きい対象線分を決定することができる。その結果、カメラ12を第2の位置および第2の姿勢に配置することにより、欠損領域60のZ座標値を算出できる可能性が高くなる。
<H.変形例2>
上記の説明では、位置決定部59は、対象線分64の両端の点62,63のうちZ座標値が大きい方の点を光軸が通るように、カメラ12の第2の位置を決定する。しかしながら、位置決定部59は、対象線分64の両端の点62,63のうちZ座標値が小さい方の点(つまり、高さ情報が低い方の点)を光軸が通るように、カメラ12の第2の位置を決定してもよい。もしくは、位置決定部59は、対象線分64の両端の点62,63の中点を光軸が通るように、カメラ12の第2の位置を決定してもよい。
上記の説明では、位置決定部59は、対象線分64の両端の点62,63のうちZ座標値が大きい方の点を光軸が通るように、カメラ12の第2の位置を決定する。しかしながら、位置決定部59は、対象線分64の両端の点62,63のうちZ座標値が小さい方の点(つまり、高さ情報が低い方の点)を光軸が通るように、カメラ12の第2の位置を決定してもよい。もしくは、位置決定部59は、対象線分64の両端の点62,63の中点を光軸が通るように、カメラ12の第2の位置を決定してもよい。
<I.変形例3>
第2角度設定部57は、角度θmaxから予め定められたマージン角度θαだけ小さい角度(θmax-θα)を第2角度θbとして設定してもよい。これにより、カメラ12が第2の位置および第2の姿勢に配置されたとき、カメラ12の光軸に垂直な平面と対象線分64とのなす角度が角度θmaxよりもマージン角度θα以上小さくなる。その結果、欠損領域60のZ座標値を算出しやすくなる。
第2角度設定部57は、角度θmaxから予め定められたマージン角度θαだけ小さい角度(θmax-θα)を第2角度θbとして設定してもよい。これにより、カメラ12が第2の位置および第2の姿勢に配置されたとき、カメラ12の光軸に垂直な平面と対象線分64とのなす角度が角度θmaxよりもマージン角度θα以上小さくなる。その結果、欠損領域60のZ座標値を算出しやすくなる。
<J.変形例4>
上記の説明では、第1計測形状における欠損領域60の周囲の2点を結ぶ対象線分64のZ座標値が算出可能なように第2の位置および第2の姿勢が決定される。しかしながら、対象線分の代わりに、第1計測形状における欠損領域60の周囲の少なくとも3点に近似する近似平面のうち欠損領域と重なる対象領域のZ座標値が算出可能なように第2の位置および第2の姿勢が決定されてもよい。
上記の説明では、第1計測形状における欠損領域60の周囲の2点を結ぶ対象線分64のZ座標値が算出可能なように第2の位置および第2の姿勢が決定される。しかしながら、対象線分の代わりに、第1計測形状における欠損領域60の周囲の少なくとも3点に近似する近似平面のうち欠損領域と重なる対象領域のZ座標値が算出可能なように第2の位置および第2の姿勢が決定されてもよい。
図12および図13を参照して、変形例4に係る視覚センサシステムについて説明する。図12は、変形例4に係る移動制御部の内部構成を示すブロック図である。図13は、対象領域の一例を示す図である。
図12に示されるように、変形例4に係る視覚センサシステムは、図1に示す視覚センサシステム1と比較して、図5に示す移動制御部50の代わりに図11に示す移動制御部50aを備える点で相違する。移動制御部50aは、移動制御部50と比較して、対象線分決定部55、第1角度演算部56、姿勢決定部58および位置決定部59の代わりに、対象領域決定部55a、第1角度演算部56a、姿勢決定部58aおよび位置決定部59aを備える点で相違する。
図13に示されるように、対象領域決定部55aは、第1計測形状における欠損領域60の周囲の少なくとも3つの点80に近似する近似平面81を特定する。対象領域決定部55aは、近似平面81のうち欠損領域60と重なる領域を対象領域82として決定する。
第1角度演算部56aは、対象領域82と、第1の位置および第1の姿勢に配置されたカメラ12の光軸13に垂直な第1平面66とのなす角度を第1角度θaとして演算する。
姿勢決定部58aは、対象領域82のZ座標値が算出可能なように第2の姿勢を決定する。具体的には、姿勢決定部58aは、姿勢決定部58と同様に、上記の式(1)を満たすθwを、第1の姿勢から第2の姿勢への移動角度θwとして決定する。たとえば、姿勢決定部58aは、第1角度θaと第2角度θbとの差(θa-θb)を移動角度θwとして決定する。これにより、第1の姿勢から第2の姿勢への移動量を最小限に抑制できる。
姿勢決定部58aは、対象領域82の法線83を含み、かつ基準面103(つまり、XY面)に垂直な第2平面84に沿って、第1の姿勢を回転移動させることにより、第2の姿勢を決定する。具体的には、姿勢決定部58aは、対象領域82とカメラ12の光軸13とのなす角度が90度に近づく方向に、第2平面84に沿って第1の姿勢から移動角度θwだけ回転した姿勢を第2の姿勢として決定する。
位置決定部59aは、対象領域82のZ座標値が算出可能なように第2の位置を決定する。具体的には、位置決定部59aは、以下の条件a’,b’を満たすカメラ12の位置を第2の位置として決定する。
条件a’:姿勢決定部58aによって決定された第2の姿勢において、対象領域82内の点(たとえば、対象領域82の重心)をカメラ12の光軸13が通る。
条件b’:対象領域82内の点(たとえば、対象領域の重心)から第1の位置までの距離と、当該点から第2の位置までの距離とが同じである。
条件a’:姿勢決定部58aによって決定された第2の姿勢において、対象領域82内の点(たとえば、対象領域82の重心)をカメラ12の光軸13が通る。
条件b’:対象領域82内の点(たとえば、対象領域の重心)から第1の位置までの距離と、当該点から第2の位置までの距離とが同じである。
上記のようにして、対象領域82のZ座標値が算出可能なように、第2の位置および第2の姿勢が決定される。対象領域82のZ座標値を算出可能な第2の位置および第2の姿勢にカメラ12を配置することにより、欠損領域60内のZ座標値を算出できる可能性が高くなる。
<K.その他の変形例>
移動制御部50は、カメラ12の光軸と中心として、取得ユニット10を回転させてもよい。
移動制御部50は、カメラ12の光軸と中心として、取得ユニット10を回転させてもよい。
図14は、取得ユニット10の回転位置の例を示す図である。図14(a)~(c)において、上部は側面図を示し、下部は平面図を示す。たとえば、移動制御部50は、図14(b)に示されるように、カメラ12の光軸13を中心として、取得ユニットを180°回転させる。もしくは、移動制御部50は、図14(c)に示されるように、カメラ12の光軸13を中心として、取得ユニットを90°回転させてもよい。これにより、プロジェクタ11からのパターン光の入射方向を変更できる。
<付記>
以下のように、本実施の形態は、以下のような開示を含む。
以下のように、本実施の形態は、以下のような開示を含む。
(構成1)
被写体(101)を撮像する撮像部(12)と、
前記撮像部(12)を指示された位置に指示された姿勢で配置する移動機構(20)と、
前記撮像部(12)により撮像された画像を用いて、前記被写体(101)の表面の三次元形状を計測する計測部(30)と、
前記撮像部(12)が第1の位置および第1の姿勢に配置されているときの画像を用いて前記計測部(30)により計測された前記被写体(101)の三次元形状である計測形状に基づいて、前記被写体(101)を再度撮像すべき第2の位置および第2の姿勢を決定して、前記移動機構(20)へ指示する移動制御部(50)とを備え、
前記三次元形状は、基準面(103)からの高さ情報によって示され、
前記移動制御部(50)は、
前記計測形状から、前記高さ情報が欠損している欠損領域(60)を抽出し、
前記計測形状における前記欠損領域(60)の周囲の前記高さ情報に基づいて、前記第2の位置および前記第2の姿勢を決定する、視覚センサシステム(1)。
被写体(101)を撮像する撮像部(12)と、
前記撮像部(12)を指示された位置に指示された姿勢で配置する移動機構(20)と、
前記撮像部(12)により撮像された画像を用いて、前記被写体(101)の表面の三次元形状を計測する計測部(30)と、
前記撮像部(12)が第1の位置および第1の姿勢に配置されているときの画像を用いて前記計測部(30)により計測された前記被写体(101)の三次元形状である計測形状に基づいて、前記被写体(101)を再度撮像すべき第2の位置および第2の姿勢を決定して、前記移動機構(20)へ指示する移動制御部(50)とを備え、
前記三次元形状は、基準面(103)からの高さ情報によって示され、
前記移動制御部(50)は、
前記計測形状から、前記高さ情報が欠損している欠損領域(60)を抽出し、
前記計測形状における前記欠損領域(60)の周囲の前記高さ情報に基づいて、前記第2の位置および前記第2の姿勢を決定する、視覚センサシステム(1)。
(構成2)
前記移動制御部(50)は、前記計測形状における前記欠損領域(60)の周囲の2点を結ぶ対象線分(64)の高さ情報が取得可能なように前記第2の位置および前記第2の姿勢を決定する、構成1に記載の視覚センサシステム(1)。
前記移動制御部(50)は、前記計測形状における前記欠損領域(60)の周囲の2点を結ぶ対象線分(64)の高さ情報が取得可能なように前記第2の位置および前記第2の姿勢を決定する、構成1に記載の視覚センサシステム(1)。
(構成3)
前記移動制御部(50)は、
前記対象線分(64)と、前記第1の位置および前記第1の姿勢に配置された前記撮像部(12)の光軸に垂直な第1平面(66)とのなす第1角度を求め、
前記第1角度と、前記撮像部(12)の特性および前記被写体(101)に応じて予め定められる第2角度との差を、前記第1の姿勢から前記第2の姿勢への移動角度として決定し、
前記対象線分(64)と前記撮像部(12)の光軸とのなす角度が90度に近づく方向に、前記対象線分(64)を含み、かつ前記基準面(103)に垂直な第2平面に沿って前記第1の姿勢から前記移動角度だけ回転した姿勢を前記第2の姿勢として決定する、構成2に記載の視覚センサシステム(1)。
前記移動制御部(50)は、
前記対象線分(64)と、前記第1の位置および前記第1の姿勢に配置された前記撮像部(12)の光軸に垂直な第1平面(66)とのなす第1角度を求め、
前記第1角度と、前記撮像部(12)の特性および前記被写体(101)に応じて予め定められる第2角度との差を、前記第1の姿勢から前記第2の姿勢への移動角度として決定し、
前記対象線分(64)と前記撮像部(12)の光軸とのなす角度が90度に近づく方向に、前記対象線分(64)を含み、かつ前記基準面(103)に垂直な第2平面に沿って前記第1の姿勢から前記移動角度だけ回転した姿勢を前記第2の姿勢として決定する、構成2に記載の視覚センサシステム(1)。
(構成4)
前記対象線分(64)を前記基準面(103)に投影した線分は、予め定められた方向に平行である、構成3に記載の視覚センサシステム(1)。
前記対象線分(64)を前記基準面(103)に投影した線分は、予め定められた方向に平行である、構成3に記載の視覚センサシステム(1)。
(構成5)
前記2点の一方は、前記計測形状において、前記欠損領域(60)の周囲のうち前記高さ情報が最大の点であり、前記2点の他方は、前記欠損領域(60)の周囲のうち前記高さ情報が最小の点である、構成2または3に記載の視覚センサシステム(1)。
前記2点の一方は、前記計測形状において、前記欠損領域(60)の周囲のうち前記高さ情報が最大の点であり、前記2点の他方は、前記欠損領域(60)の周囲のうち前記高さ情報が最小の点である、構成2または3に記載の視覚センサシステム(1)。
(構成6)
前記移動制御部(50)は、前記計測形状における前記欠損領域(60)の周囲の少なくとも3点に近似する近似平面(81)のうち前記欠損領域(60)と重なる対象領域(82)の高さ情報が取得可能なように前記第2の位置および前記第2の姿勢を決定する、構成2に記載の視覚センサシステム(1)。
前記移動制御部(50)は、前記計測形状における前記欠損領域(60)の周囲の少なくとも3点に近似する近似平面(81)のうち前記欠損領域(60)と重なる対象領域(82)の高さ情報が取得可能なように前記第2の位置および前記第2の姿勢を決定する、構成2に記載の視覚センサシステム(1)。
(構成7)
前記移動制御部(50)は、
前記対象領域(82)と、前記第1の位置および前記第1の姿勢に配置された前記撮像部(12)の光軸に垂直な第1平面(66)とのなす第1角度を求め、
前記第1角度と、前記撮像部(12)の特性および前記被写体(101)に応じて予め定められる第2角度との差を、前記第1の姿勢から前記第2の姿勢への移動角度として決定し、
前記対象領域(82)と前記撮像部(12)の光軸とのなす角度が90度に近づく方向に、前記対象領域(82)の法線(83)を含み、かつ前記基準面(103)に垂直な第2平面(84)に沿って前記第1の姿勢から前記移動角度だけ回転した姿勢を前記第2の姿勢として決定する、構成6に記載の視覚センサシステム(1)。
前記移動制御部(50)は、
前記対象領域(82)と、前記第1の位置および前記第1の姿勢に配置された前記撮像部(12)の光軸に垂直な第1平面(66)とのなす第1角度を求め、
前記第1角度と、前記撮像部(12)の特性および前記被写体(101)に応じて予め定められる第2角度との差を、前記第1の姿勢から前記第2の姿勢への移動角度として決定し、
前記対象領域(82)と前記撮像部(12)の光軸とのなす角度が90度に近づく方向に、前記対象領域(82)の法線(83)を含み、かつ前記基準面(103)に垂直な第2平面(84)に沿って前記第1の姿勢から前記移動角度だけ回転した姿勢を前記第2の姿勢として決定する、構成6に記載の視覚センサシステム(1)。
(構成8)
前記移動制御部(50)は、前記2点のうち前記高さ情報が高い方の点である基準点を前記撮像部(12)の光軸が通るように、前記第2の位置を決定する、構成2から5のいずれかに記載の視覚センサシステム(1)。
前記移動制御部(50)は、前記2点のうち前記高さ情報が高い方の点である基準点を前記撮像部(12)の光軸が通るように、前記第2の位置を決定する、構成2から5のいずれかに記載の視覚センサシステム(1)。
(構成9)
前記移動制御部(50)は、前記2点のうち前記高さ情報が低い方の点である基準点を前記撮像部(12)の光軸が通るように、前記第2の位置を決定する、構成2から5のいずれかに記載の視覚センサシステム(1)。
前記移動制御部(50)は、前記2点のうち前記高さ情報が低い方の点である基準点を前記撮像部(12)の光軸が通るように、前記第2の位置を決定する、構成2から5のいずれかに記載の視覚センサシステム(1)。
(構成10)
前記移動制御部(50)は、前記2点の中点である基準点を前記撮像部(12)の光軸が通るように、前記第2の位置を決定する、構成2から5のいずれかに記載の視覚センサシステム(1)。
前記移動制御部(50)は、前記2点の中点である基準点を前記撮像部(12)の光軸が通るように、前記第2の位置を決定する、構成2から5のいずれかに記載の視覚センサシステム(1)。
(構成11)
前記移動制御部(50)は、前記対象領域内の基準点を前記撮像部(12)の光軸が通るように、前記第2の位置を決定する、構成6または7に記載の視覚センサシステム(1)。
前記移動制御部(50)は、前記対象領域内の基準点を前記撮像部(12)の光軸が通るように、前記第2の位置を決定する、構成6または7に記載の視覚センサシステム(1)。
(構成12)
前記移動制御部(50)は、前記基準点と前記第1の位置との距離と、前記基準点と前記第2の位置との距離とが同一となるように、前記第2の位置を決定する、構成8から11のいずれかに記載の視覚センサシステム(1)。
前記移動制御部(50)は、前記基準点と前記第1の位置との距離と、前記基準点と前記第2の位置との距離とが同一となるように、前記第2の位置を決定する、構成8から11のいずれかに記載の視覚センサシステム(1)。
(構成13)
被写体(101)を撮像する撮像部(12)と、
前記撮像部(12)を指示された位置に指示された姿勢で配置する移動機構(20)と、
前記撮像部(12)により撮像された画像を用いて、前記被写体(101)の表面の三次元形状を計測する計測部(30)とを備えた視覚センサシステム(1)の制御方法であって、
前記三次元形状は、基準面(103)からの高さ情報によって示され、
前記撮像部(12)が第1の位置および第1の姿勢に配置されているときの画像を用いて前記計測部(30)により計測された前記被写体(101)の三次元形状である計測形状から、前記高さ情報が欠損している欠損領域(60)を抽出するステップと、
前記計測形状における前記欠損領域(60)の周囲の前記高さ情報に基づいて、前記被写体(101)を再度撮像すべき第2の位置および第2の姿勢を決定するステップとを備える、制御方法。
被写体(101)を撮像する撮像部(12)と、
前記撮像部(12)を指示された位置に指示された姿勢で配置する移動機構(20)と、
前記撮像部(12)により撮像された画像を用いて、前記被写体(101)の表面の三次元形状を計測する計測部(30)とを備えた視覚センサシステム(1)の制御方法であって、
前記三次元形状は、基準面(103)からの高さ情報によって示され、
前記撮像部(12)が第1の位置および第1の姿勢に配置されているときの画像を用いて前記計測部(30)により計測された前記被写体(101)の三次元形状である計測形状から、前記高さ情報が欠損している欠損領域(60)を抽出するステップと、
前記計測形状における前記欠損領域(60)の周囲の前記高さ情報に基づいて、前記被写体(101)を再度撮像すべき第2の位置および第2の姿勢を決定するステップとを備える、制御方法。
(構成14)
被写体(101)を撮像する撮像部(12)と、
前記撮像部(12)を指示された位置に指示された姿勢で配置する移動機構(20)と、
前記撮像部(12)により撮像された画像を用いて、前記被写体(101)の表面の三次元形状を計測する計測部(30)とを備えた視覚センサシステム(1)をサポートするためのプログラム(507)であって、
前記三次元形状は、基準面(103)からの高さ情報によって示され、
コンピュータに、
前記撮像部(12)が第1の位置および第1の姿勢に配置されているときの画像を用いて前記計測部(30)により計測された前記被写体(101)の三次元形状である計測形状から、前記高さ情報が欠損している欠損領域(60)を抽出するステップと、
前記計測形状における前記欠損領域(60)の周囲の前記高さ情報に基づいて、前記被写体(101)を再度撮像すべき第2の位置および第2の姿勢を決定するステップとを実行させる、プログラム(507)。
被写体(101)を撮像する撮像部(12)と、
前記撮像部(12)を指示された位置に指示された姿勢で配置する移動機構(20)と、
前記撮像部(12)により撮像された画像を用いて、前記被写体(101)の表面の三次元形状を計測する計測部(30)とを備えた視覚センサシステム(1)をサポートするためのプログラム(507)であって、
前記三次元形状は、基準面(103)からの高さ情報によって示され、
コンピュータに、
前記撮像部(12)が第1の位置および第1の姿勢に配置されているときの画像を用いて前記計測部(30)により計測された前記被写体(101)の三次元形状である計測形状から、前記高さ情報が欠損している欠損領域(60)を抽出するステップと、
前記計測形状における前記欠損領域(60)の周囲の前記高さ情報に基づいて、前記被写体(101)を再度撮像すべき第2の位置および第2の姿勢を決定するステップとを実行させる、プログラム(507)。
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 視覚センサシステム、10 取得ユニット、11 プロジェクタ、12 カメラ、13 光軸、14 平面、20 ロボット、30 計測部、40 合成部、50,50a 移動制御部、51 指示値生成部、52 移動先決定部、53 距離画像生成部、54 ラベリング部、55 対象線分決定部、55a 対象領域決定部、56,56a 第1角度演算部、57 第2角度設定部、58,58a 姿勢決定部、59,59a 位置決定部、60 欠損領域、61 重心、62,63,67,68,71,72,74,75 点、64 対象線分、65,73 基準線、66 第1平面、81 近似平面、82 対象領域、83 法線、84 第2平面、100 対象物、101 被写体、102 パレット、103 基準面、500 バス、502 メインメモリ、503 ハードディスク、504 ディスプレイ、505 入力デバイス、506 通信I/F、507 制御プログラム。
Claims (14)
- 被写体を撮像する撮像部と、
前記撮像部を指示された位置に指示された姿勢で配置する移動機構と、
前記撮像部により撮像された画像を用いて、前記被写体の表面の三次元形状を計測する計測部とを備え、
前記撮像部が第1の位置および第1の姿勢に配置されているときの画像を用いて前記計測部により計測された前記被写体の三次元形状である計測形状に基づいて、前記被写体を再度撮像すべき第2の位置および第2の姿勢を決定して、前記移動機構へ指示する移動制御部とを備え、
前記三次元形状は、基準面からの高さ情報によって示され、
前記移動制御部は、
前記計測形状から、前記高さ情報が欠損している欠損領域を抽出し、
前記計測形状における前記欠損領域の周囲の前記高さ情報に基づいて、前記第2の位置および前記第2の姿勢を決定する、視覚センサシステム。 - 前記移動制御部は、前記計測形状における前記欠損領域の周囲の2点を結ぶ対象線分の高さ情報が取得可能なように前記第2の位置および前記第2の姿勢を決定する、請求項1に記載の視覚センサシステム。
- 前記移動制御部は、
前記対象線分と、前記第1の位置および前記第1の姿勢に配置された前記撮像部の光軸に垂直な第1平面とのなす第1角度を求め、
前記第1角度と、前記撮像部の特性および前記被写体に応じて予め定められる第2角度との差を、前記第1の姿勢から前記第2の姿勢への移動角度として決定し、
前記対象線分と前記撮像部の光軸とのなす角度が90度に近づく方向に、前記対象線分を含み、かつ前記基準面に垂直な第2平面に沿って前記第1の姿勢から前記移動角度だけ回転した姿勢を前記第2の姿勢として決定する、請求項2に記載の視覚センサシステム。 - 前記対象線分を前記基準面に投影した線分は、予め定められた方向に平行である、請求項3に記載の視覚センサシステム。
- 前記2点の一方は、前記計測形状において、前記欠損領域の周囲のうち前記高さ情報が最大の点であり、前記2点の他方は、前記欠損領域の周囲のうち前記高さ情報が最小の点である、請求項2または3に記載の視覚センサシステム。
- 前記移動制御部は、前記計測形状における前記欠損領域の周囲の少なくとも3点に近似する近似平面のうち前記欠損領域と重なる対象領域の高さ情報が取得可能なように前記第2の位置および前記第2の姿勢を決定する、請求項2に記載の視覚センサシステム。
- 前記移動制御部は、
前記対象領域と、前記第1の位置および前記第1の姿勢に配置された前記撮像部の光軸に垂直な第1平面とのなす第1角度を求め、
前記第1角度と、前記撮像部の特性および前記被写体に応じて予め定められる第2角度との差を、前記第1の姿勢から前記第2の姿勢への移動角度として決定し、
前記対象領域と前記撮像部の光軸とのなす角度が90度に近づく方向に、前記対象領域の法線を含み、かつ前記基準面に垂直な第2平面に沿って前記第1の姿勢から前記移動角度だけ回転した姿勢を前記第2の姿勢として決定する、請求項6に記載の視覚センサシステム。 - 前記移動制御部は、前記2点のうち前記高さ情報が高い方の点である基準点を前記撮像部の光軸が通るように、前記第2の位置を決定する、請求項2から5のいずれか1項に記載の視覚センサシステム。
- 前記移動制御部は、前記2点のうち前記高さ情報が低い方の点である基準点を前記撮像部の光軸が通るように、前記第2の位置を決定する、請求項2から5のいずれか1項に記載の視覚センサシステム。
- 前記移動制御部は、前記2点の中点である基準点を前記撮像部の光軸が通るように、前記第2の位置を決定する、請求項2から5のいずれか1項に記載の視覚センサシステム。
- 前記移動制御部は、前記対象領域内の基準点を前記撮像部の光軸が通るように、前記第2の位置を決定する、請求項6または7に記載の視覚センサシステム。
- 前記移動制御部は、前記基準点と前記第1の位置との距離と、前記基準点と前記第2の位置との距離とが同一となるように、前記第2の位置を決定する、請求項8から11のいずれか1項に記載の視覚センサシステム。
- 被写体を撮像する撮像部と、
前記撮像部を指示された位置に指示された姿勢で配置する移動機構と、
前記撮像部により撮像された画像を用いて、前記被写体の表面の三次元形状を計測する計測部とを備えた視覚センサシステムの制御方法であって、
前記三次元形状は、基準面からの高さ情報によって示され、
前記撮像部が第1の位置および第1の姿勢に配置されているときの画像を用いて前記計測部により計測された前記被写体の三次元形状である計測形状から、前記高さ情報が欠損している欠損領域を抽出するステップと、
前記計測形状における前記欠損領域の周囲の前記高さ情報に基づいて、前記被写体を再度撮像すべき第2の位置および第2の姿勢を決定するステップとを備える、制御方法。 - 被写体を撮像する撮像部と、
前記撮像部を指示された位置に指示された姿勢で配置する移動機構と、
前記撮像部により撮像された画像を用いて、前記被写体の表面の三次元形状を計測する計測部とを備えた視覚センサシステムをサポートするためのプログラムであって、
前記三次元形状は、基準面からの高さ情報によって示され、
コンピュータに、
前記撮像部が第1の位置および第1の姿勢に配置されているときの画像を用いて前記計測部により計測された前記被写体の三次元形状である計測形状から、前記高さ情報が欠損している欠損領域を抽出するステップと、
前記計測形状における前記欠損領域の周囲の前記高さ情報に基づいて、前記被写体を再度撮像すべき第2の位置および第2の姿勢を決定するステップとを実行させる、プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201980024781.9A CN111971523B (zh) | 2018-05-29 | 2019-05-09 | 视觉传感器***、控制方法及存储介质 |
US17/042,934 US11745352B2 (en) | 2018-05-29 | 2019-05-09 | Vision sensor system, control method, and non-transitory computer readable storage medium |
EP19810389.7A EP3805695B1 (en) | 2018-05-29 | 2019-05-09 | Vision sensor system, control method, and program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018102264A JP7052564B2 (ja) | 2018-05-29 | 2018-05-29 | 視覚センサシステム、制御方法およびプログラム |
JP2018-102264 | 2018-05-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019230320A1 true WO2019230320A1 (ja) | 2019-12-05 |
Family
ID=68697603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/018547 WO2019230320A1 (ja) | 2018-05-29 | 2019-05-09 | 視覚センサシステム、制御方法およびプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US11745352B2 (ja) |
EP (1) | EP3805695B1 (ja) |
JP (1) | JP7052564B2 (ja) |
CN (1) | CN111971523B (ja) |
WO (1) | WO2019230320A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7453762B2 (ja) * | 2019-08-26 | 2024-03-21 | 川崎重工業株式会社 | 画像処理装置、撮像装置、ロボット及びロボットシステム |
CN112492292B (zh) * | 2020-11-27 | 2023-04-11 | 天目爱视(北京)科技有限公司 | 一种自由姿态的智能视觉3d信息采集设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007114071A (ja) | 2005-10-20 | 2007-05-10 | Omron Corp | 三次元形状計測装置、プログラム、コンピュータ読み取り可能な記録媒体、及び三次元形状計測方法 |
JP2008082707A (ja) * | 2006-09-25 | 2008-04-10 | Topcon Corp | 測量方法及び測量システム及び測量データ処理プログラム |
JP2012079294A (ja) | 2010-09-08 | 2012-04-19 | Canon Inc | 画像情報処理装置及びその制御方法 |
JP2016099257A (ja) | 2014-11-21 | 2016-05-30 | キヤノン株式会社 | 情報処理装置及び情報処理方法 |
JP2017053793A (ja) * | 2015-09-11 | 2017-03-16 | キヤノン株式会社 | 計測装置、および物品の製造方法 |
WO2017163537A1 (ja) * | 2016-03-22 | 2017-09-28 | 三菱電機株式会社 | 距離計測装置及び距離計測方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012225888A (ja) * | 2011-04-22 | 2012-11-15 | Canon Inc | 位置姿勢計測装置、位置姿勢計測方法 |
US9437005B2 (en) | 2011-07-08 | 2016-09-06 | Canon Kabushiki Kaisha | Information processing apparatus and information processing method |
US9279661B2 (en) * | 2011-07-08 | 2016-03-08 | Canon Kabushiki Kaisha | Information processing apparatus and information processing method |
JP6415291B2 (ja) * | 2014-12-09 | 2018-10-31 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム |
-
2018
- 2018-05-29 JP JP2018102264A patent/JP7052564B2/ja active Active
-
2019
- 2019-05-09 WO PCT/JP2019/018547 patent/WO2019230320A1/ja unknown
- 2019-05-09 US US17/042,934 patent/US11745352B2/en active Active
- 2019-05-09 EP EP19810389.7A patent/EP3805695B1/en active Active
- 2019-05-09 CN CN201980024781.9A patent/CN111971523B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007114071A (ja) | 2005-10-20 | 2007-05-10 | Omron Corp | 三次元形状計測装置、プログラム、コンピュータ読み取り可能な記録媒体、及び三次元形状計測方法 |
JP2008082707A (ja) * | 2006-09-25 | 2008-04-10 | Topcon Corp | 測量方法及び測量システム及び測量データ処理プログラム |
JP2012079294A (ja) | 2010-09-08 | 2012-04-19 | Canon Inc | 画像情報処理装置及びその制御方法 |
JP2016099257A (ja) | 2014-11-21 | 2016-05-30 | キヤノン株式会社 | 情報処理装置及び情報処理方法 |
JP2017053793A (ja) * | 2015-09-11 | 2017-03-16 | キヤノン株式会社 | 計測装置、および物品の製造方法 |
WO2017163537A1 (ja) * | 2016-03-22 | 2017-09-28 | 三菱電機株式会社 | 距離計測装置及び距離計測方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2019207140A (ja) | 2019-12-05 |
EP3805695B1 (en) | 2024-06-12 |
EP3805695A1 (en) | 2021-04-14 |
US11745352B2 (en) | 2023-09-05 |
EP3805695A4 (en) | 2022-03-02 |
CN111971523B (zh) | 2022-06-10 |
CN111971523A (zh) | 2020-11-20 |
JP7052564B2 (ja) | 2022-04-12 |
US20210016448A1 (en) | 2021-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5485889B2 (ja) | 位相解析測定を行う装置および方法 | |
US20200284573A1 (en) | Position and orientation measuring apparatus, information processing apparatus and information processing method | |
JP6812271B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
US8199335B2 (en) | Three-dimensional shape measuring apparatus, three-dimensional shape measuring method, three-dimensional shape measuring program, and recording medium | |
US20200278197A1 (en) | Measurement apparatus, measurement method, system, storage medium, and information processing apparatus | |
KR20140008262A (ko) | 로봇 시스템, 로봇, 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램 | |
JP2006514739A5 (ja) | ||
JP2006514739A (ja) | 歯科用レーザデジタイザシステム | |
WO2019230320A1 (ja) | 視覚センサシステム、制御方法およびプログラム | |
US20230179732A1 (en) | Image capturing apparatus, image processing apparatus, image processing method, image capturing apparatus calibration method, robot apparatus, method for manufacturing article using robot apparatus, and recording medium | |
JP5774230B2 (ja) | 形状補正およびワーピングによる運動分析 | |
US9560250B2 (en) | Information processing apparatus, measurement system, control system, light amount determination method and storage medium | |
JP6776004B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2000205821A (ja) | 三次元形状計測装置及びその三次元形状計測方法 | |
JP5732424B2 (ja) | 3次元形状計測装置とそのキャリブレーション方法 | |
JP4764963B2 (ja) | 画像処理装置 | |
JP2015081894A (ja) | 表面形状測定装置及び表面形状測定方法 | |
JP4741943B2 (ja) | 検査装置及び検査方法 | |
JPH0843044A (ja) | 3次元座標測定装置 | |
JP2023054992A (ja) | 部品実装装置及び部品実装方法 | |
JP4046282B2 (ja) | レンジファインダ | |
JP2005251122A (ja) | 画像処理装置および画像処理方法 | |
KR20240071170A (ko) | 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법 및 장치 | |
JP2021162390A (ja) | 変位計測装置および変位計測方法 | |
JP2014106143A (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: 19810389 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019810389 Country of ref document: EP Effective date: 20210111 |