WO2020255229A1 - 計測装置、計測方法、及び計測プログラム - Google Patents
計測装置、計測方法、及び計測プログラム Download PDFInfo
- Publication number
- WO2020255229A1 WO2020255229A1 PCT/JP2019/023978 JP2019023978W WO2020255229A1 WO 2020255229 A1 WO2020255229 A1 WO 2020255229A1 JP 2019023978 W JP2019023978 W JP 2019023978W WO 2020255229 A1 WO2020255229 A1 WO 2020255229A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- measurement
- data
- sensor
- value
- measured
- Prior art date
Links
Images
Classifications
-
- 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
-
- 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/002—Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
- G01B11/005—Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates coordinate measuring machines
-
- 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
-
- 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
-
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- 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/10028—Range image; Depth image; 3D point clouds
Definitions
- the present invention relates to a measuring device, a measuring method, and a measuring program.
- Non-Patent Document 1 refers to the registration process of a plurality of point clouds measured from a plurality of different measurement points.
- the identification accuracy of the work is based on a plurality of parameters (for example, the number of times the point group is measured, the measurement time interval of the point group, the moving distance of the distance sensor, the moving speed of the distance sensor, and the work) that define the measurement conditions of each point group. It may vary depending on the respective values of the measurement angle of the distance sensor, the focus range of the distance sensor, and the position coordinates of each of the plurality of measurement points. For example, if the moving speed of the distance sensor is slowed down and the number of times the point cloud is measured is increased, a sufficient number of point clouds having sufficient quality necessary for identifying the work can be measured, so that the identification accuracy of the work is improved.
- the movement speed of the distance sensor is increased and the number of times the point cloud is measured is increased, a sufficient number of point clouds having the necessary and sufficient quality for identifying the work cannot be obtained, so that the identification accuracy of the work is improved. descend. Even if the moving speed of the distance sensor is increased, if the number of times the point cloud is measured is adjusted to an appropriate number, it is possible to measure an appropriate number of point clouds with appropriate quality for identifying the work, so the identification accuracy of the work is to some extent. improves. On the other hand, if the moving speed of the distance sensor is slowed down for the purpose of improving the identification accuracy of the work, the time required for measuring the point cloud becomes long, so that the high productivity required in the field of factory automation cannot be realized. ..
- the identification accuracy and productivity of the work differ depending on the combination of the values of the plurality of parameters that define the measurement conditions of each point cloud, and how the values of each parameter are changed will result in the work. It is difficult to predict how identification accuracy and productivity will change. Therefore, from the viewpoint of work identification accuracy and productivity, the values of each of the plurality of parameters that define the measurement conditions of each point cloud are manually set to the optimum values that match the conditions desired by the user regarding the measurement of the point cloud. It's not easy to do.
- the present invention can solve such a problem and output the values of each of the plurality of parameters that define the measurement conditions of the 3D data of the measurement object as values that match the conditions specified by the user.
- the subject is to propose a measuring device, a measuring method, and a measuring program.
- the measuring device is a 3D sensor mounted on a robot, and includes a 3D sensor that measures 3D data indicating three-dimensional coordinates of each point on the surface of the object to be measured. Registers 3D data measured at each measurement point other than a specific measurement point among multiple measurement points with different relative positional relationships of the 3D sensor with respect to the measurement object to 3D data measured at a specific measurement point.
- a parameter setting unit that sets and changes the value of each of a plurality of parameters that specify the measurement conditions of each 3D data for the purpose within a predetermined range, and the robot based on the value of each parameter that has been set or changed.
- a drive control unit that outputs a drive command instructing the drive device that drives the joint to change the relative positional relationship of the 3D sensor with respect to the object to be measured, and the values of each parameter that has been set or changed.
- a sensor control unit that controls the 3D sensor to measure 3D data of the object to be measured at multiple measurement points, and 3D data measured at each measurement point other than the specific measurement point at a specific measurement point.
- a registration processing unit that registers with the measured 3D data, and a storage unit that stores the identification result of the measurement object based on the 3D data obtained by registration in association with the value of each parameter set or changed.
- each of the plurality of parameters that match the priority condition. It is provided with an output unit that outputs one or more combinations of the values in order of priority according to the degree of matching with the priority condition. Since the user only has to select one or more combinations of the values of each of the plurality of parameters output as satisfying the priority condition specified by himself / herself, it is a complicated manual parameter. No adjustment is required. As a result, the user can easily and quickly set parameters that satisfy the priority conditions specified by the user without complicated parameter adjustment.
- Multiple parameters that define the measurement conditions for 3D data are the number of times the 3D data is measured, the movement distance of the 3D sensor, the movement speed of the 3D sensor, the measurement time interval of the 3D data, the measurement angle of the 3D sensor with respect to the measurement object, and the 3D sensor. It may include any one or more of the focus range of the above and the position coordinates of each of the plurality of measurement points. Through the setting of these parameters, the measurement conditions of 3D data can be customized to match the priority conditions specified by the user.
- the predetermined range in which each value of the plurality of parameters defining the measurement conditions of the 3D data of the measurement target can be taken may be a range estimated to satisfy the priority condition specified by the user through the input unit. 3D required for parameter setting by narrowing down the predetermined range that can be taken by each value of multiple parameters that define the measurement conditions of 3D data to the range that is estimated to satisfy the priority condition specified by the user. It is possible to reduce the number of data measurement processes and registration processes, and to easily and quickly set parameters that satisfy the priority conditions specified by the user.
- the measurement method according to the present invention is a 3D sensor mounted on a robot, and a measuring device including a 3D sensor that measures 3D data indicating three-dimensional coordinates of each point on the surface of the object to be measured is attached to the object to be measured.
- 3D for registering 3D data measured at each measurement point other than a specific measurement point among multiple measurement points with different relative positional relationships of 3D sensors to 3D data measured at a specific measurement point.
- a drive device that drives the joints of a robot based on the steps of setting and changing the values of each of a plurality of parameters that define the measurement conditions of data within a predetermined range, and the values of each set or changed parameter.
- the measurement program according to the present invention is a 3D sensor mounted on a robot, and is a measuring device provided with a 3D sensor that measures 3D data indicating three-dimensional coordinates of each point on the surface of the object to be measured. 3D for registering 3D data measured at each measurement point other than a specific measurement point among multiple measurement points with different relative positional relationships of 3D sensors to 3D data measured at a specific measurement point.
- a drive device that drives the joints of a robot based on the steps of setting and changing the values of each of a plurality of parameters that define the measurement conditions of data within a predetermined range, and the values of each set or changed parameter.
- each value of a plurality of parameters that define the measurement conditions of the 3D data of the measurement target object is possible to output as values that match the conditions specified by the user.
- FIG. 1 is an explanatory diagram showing an example of the overall configuration of the measurement system 100 according to the embodiment of the present invention.
- the measurement system 100 is derived from the robot 60, the 3D sensor 70 mounted on the robot 60, the computer system 10 that controls the driving of the robot 60 and the measurement of the 3D data of the measurement object 80 by the 3D sensor 70, and the computer system 10. It is provided with a robot controller 120 that controls the operation of the robot 60 in response to the command of.
- the 3D data shows the three-dimensional coordinates of each point on the surface of the object to be measured 80.
- a point cloud or a distance image can be used.
- a point cloud is defined, for example, as a set of points having three-dimensional coordinate values (x, y, z) in the xyz Cartesian coordinate system.
- a distance image is defined as, for example, a set of pixels having a distance d corresponding to two-dimensional image coordinates (u, v) in the uv Cartesian coordinate system as a pixel value.
- d is the distance between the 3D sensor 70 and the measurement object 80.
- the 3D sensor 70 may be a distance sensor that measures a point cloud, or may be a distance image sensor that acquires a distance image by combining a distance sensor and a 2D sensor.
- the distance sensor is a sensor that measures the distance d as depth information, and as the measurement method, for example, a trigonometry method, a flight time method (time of flight method), a phase difference method, or the like can be used. ..
- the 2D sensor is an image sensor that captures a two-dimensional image. A two-dimensional image differs from a distance image in that the distance d is not a pixel value.
- the distance image sensor captures a plurality of two-dimensional images of the measurement object 80 while changing the imaging position of the 2D sensor, and acquires a distance image having the distance d as a pixel value by image processing in stereo stereoscopic vision. It may be a camera. Alternatively, the distance image sensor may be a stereo camera that acquires a distance image having the distance d as a pixel value by simultaneously photographing the measurement object 80 from a plurality of different directions.
- the robot 60 is, for example, an articulated robot (for example, a vertical articulated robot, a horizontal articulated robot) including a robot hand 63 for operating (for example, grasping, sucking, moving, assembling, or inserting) the measurement object 80. ).
- the robot 60 includes a driving device 61 for driving the joint and a displacement detecting device 62 for detecting the displacement (angle displacement) of the joint.
- the drive device 61 is, for example, a servomotor that drives in response to a drive command from the robot controller 120.
- the displacement detection device 62 is, for example, an encoder (for example, an incremental encoder or an absolute encoder) that detects the rotation angle of the servomotor.
- a driving device 61 and a displacement detecting device 62 are incorporated in each joint of the robot 60.
- the robot 60 operates as a manipulator that operates autonomously, and can be used for various purposes such as picking, assembling, transporting, painting, inspecting, polishing, or cleaning the object to be measured 80.
- the object to be measured 80 is, for example, a work such as a device or a part.
- Examples of the workpiece include mechanical parts of an automobile power train system (for example, an engine or a transmission), or electronic parts of an electrical system.
- the measurement system 100 controls the drive of each joint of the robot 60 so as to change the relative positional relationship of the 3D sensor 70 with respect to the measurement object 80. Then, the measurement system 100 measures the measurement target 80 at a plurality of measurement points 90-1, 90-2, 90-3, ..., 90-N in which the relative positional relationship of the 3D sensor 70 with respect to the measurement target 80 is different. Measure 3D data.
- N is an integer of 2 or more.
- the measurement system 100 may, for example, measure an object while the robot 60 is stopped at one or more specific measurement points among a plurality of measurement points 90-1, 90-2, 90-3, ..., 90-N.
- the 3D data of the 80 may be measured, and the 3D data of the measurement object 80 may be measured during the operation of the robot 60 at each measurement point other than the specific measurement point.
- the measurement system 100 may measure the 3D data of the measurement object 80 while the robot 60 is stopped at all the measurement points 90-1, 90-2, 90-3, ..., 90-N, for example.
- reference numeral 201 indicates a coordinate system based on the robot 60
- reference numeral 202 indicates a coordinate system based on the robot hand 63
- reference numeral 203 indicates a coordinate system based on the 3D sensor 70. Is shown.
- the coordinate systems 201, 202, and 203 are referred to as a robot coordinate system, a tool coordinate system, and a sensor coordinate system, respectively.
- FIG. 2 is an explanatory diagram showing the flow of registration processing of 3D data according to the embodiment of the present invention.
- Registration means coordinate transformation to match the position and orientation of one 3D data with the position and orientation of the other 3D data.
- Reference numerals 150-1, 150-2, 150-3, ..., 150-N are the measurement objects 80 measured at the measurement points 90-1, 90-2, 90-3, ..., 90-N, respectively. Shows 3D data. Of a plurality of measurement points 90-1, 90-2, 90-3, ..., 90-N, for example, measurement point 90-1 is set as a specific measurement point, and measurement points 90 other than the specific measurement point 90-1 are used.
- 3D data 150-S By registering to 1, 3D data 150-S can be obtained.
- each of the other 3D data may be registered with the reference 3D data with reference to any 3D data other than the 3D data 150-1.
- ICP Intelligent Closest Point
- the ICP searches for the latest contact point in the other 3D data for each point constituting the one 3D data, and sets this as a provisional corresponding point.
- the ICP estimates the rigid body transformation that minimizes the distance between the corresponding points, and repeats the search for the corresponding points and the rigid body transformation estimation to minimize the distance between the corresponding points between the 3D data. ..
- a known algorithm for estimating the corresponding point from the characteristics of the 3D data may be used.
- an algorithm using a feature amount called PPF (Point Pair Feature) is known.
- the measuring device 200 includes a computer system 10 and a 3D sensor 70.
- the measurement system 100 includes a measurement device 200, a robot 60, and a robot controller 120.
- the computer system 10 includes an arithmetic unit 20, a storage device 30, an input / output interface 40, and a display interface 50.
- the arithmetic unit 20 includes a CPU (Central Processing Unit) 21, a ROM (Read Only Memory) 22, and a RAM (Random Access Memory) 23.
- the input / output interface 40 is connected to the 3D sensor 70, the robot controller 120, and the input device 130.
- the input device 130 is, for example, a keyboard, a mouse, a touch pad, or the like.
- the display interface 50 is connected to the display 140.
- the display 140 is, for example, a liquid crystal display.
- the storage device 30 is a computer-readable recording medium such as a disk medium (for example, a magnetic recording medium or an optical magnetic recording medium) or a semiconductor memory (for example, a volatile memory or a non-volatile memory). Such a recording medium can also be called, for example, a non-transient recording medium.
- the storage device 30 stores a measurement program 31 for executing the measurement method according to the embodiment of the present invention.
- the measurement program 31 is read from the storage device 30 into the RAM 23, interpreted and executed by the CPU 21.
- the measurement program 31 also functions as a main program for controlling the operation of the robot 60.
- the storage device 30 stores the three-dimensional CAD (Computer-Aided Design) data 32 of the measurement object 80.
- CAD Computer-Aided Design
- the arithmetic unit 20 inputs information indicating the displacement of each joint of the robot 60 output from the displacement detection device 62 through the input / output interface 40, and outputs a drive command to the drive device 61 that drives each joint of the robot 60. To do.
- the robot controller 50 drives a drive device 61 that drives each joint of the robot 60 in response to a drive command output from the arithmetic unit 20 through the input / output interface 40 (for example, the rotation speed and rotation torque of the servomotor). To control.
- the 3D sensor 70 receives 3D data 150-1, 150-2, 150-3, ..., 150-N of the measurement object 80 in response to a measurement command output from the arithmetic unit 20 through the input / output interface 40. measure.
- the arithmetic device 20 includes a measurement command for instructing the measurement of 3D data 150-1, 150-2, 150-3, ..., 150-N of the measurement object 80 by the 3D sensor 70 through the input / output interface 40, and a drive device.
- a drive command for controlling the drive of 61 is output, and 3D data 150-1, 150-2, 150-3, ..., 150-N of the measurement object 80 measured by the 3D sensor 70 are input.
- the RAM 23 temporarily stores the 3D data 150-1, 150-2, 150-3, ..., 150-N of the measurement object 80 measured by the 3D sensor 70, and is registered by the arithmetic unit 20. It functions as a work area for processing.
- the arithmetic unit 20 identifies the measurement target 80 by comparing the 3D data 150-S obtained by the registration process with the three-dimensional CAD data 32 of the measurement target 80.
- the arithmetic device 20 may use a known transformation matrix to transform the 3D data 150-S from the sensor coordinate system 203 to the robot coordinate system 201 to estimate the position and orientation of the measurement object 80 with respect to the robot 60. ..
- the display 140 displays various processing results (for example, identification results of the measurement target 80) by the measurement program 31.
- FIG. 3 shows an example in which one drive device 61 and one displacement detection device 62 are shown, the number of each of the drive device 61 and the displacement detection device 62 is the same as the number of joints. Good.
- the plurality of parameters may be, for example, the measurement target. Number of measurements of 80 3D data, movement distance of 3D sensor 70, measurement angle of 3D sensor 70 with respect to measurement object 80, focus range of 3D sensor 70, and multiple measurement points 90-1, 90-2, 90-3 , ..., One or more of the respective position coordinates of 90-N may be included.
- the focus range of the 3D sensor 70 means the depth of field.
- the plane parallel to the installation surface of the container 160 accommodating the plurality of measurement objects 80 stacked separately is the XY plane, and the direction is perpendicular to the installation surface of the container 160.
- the XYZ Cartesian coordinate system is defined so that is in the Z direction. Let X0 be the length of the container 160 in the X direction, and let Y0 be the length in the Y direction.
- the distance between the 3D sensor 70 and the measurement object 80 when the 3D sensor 70 is placed at a position where the relative positional relationship between the 3D sensor 70 and each measurement object 80 satisfies the best focus condition is Z0. And.
- the arithmetic unit 20 defines a plane 500 that defines a moving range of the 3D sensor 70 in the XY direction.
- the length of the plane 500 in the X direction is equal to X0, and the length in the Y direction is equal to Y0.
- the arithmetic unit 20 sets a range DOF in the Z direction in which the relative positional relationship between the 3D sensor 70 and each measurement object 80 satisfies the focus condition, and the range DOF from the plane 500 to the DOF.
- the three-dimensional region 510 inside is defined as an region that defines the movement range of the 3D sensor 70 in the XYZ direction.
- the DOF is the depth of field of the 3D sensor 70.
- the position coordinates of the measurement points 90-1, 90-2, 90-3, ..., 90-N of the 3D sensor 70 are all set within the three-dimensional region 510.
- the arithmetic unit 20 uses the 3D data 150- under the condition that the position coordinates of the measurement points 90-1, 90-2, 90-3, ..., 90-N of the 3D sensor 70 are constrained within the three-dimensional region 510.
- 3D data 150-1,150-2 while randomly changing the values of each of the plurality of parameters that define the measurement conditions of 1,150-2, 150-3, ..., 150-N within a predetermined range.
- 150-3, ..., 150-N are measured, and 3D data 150-S obtained by registration processing of 3D data 150-1, 150-2, 150-3, ..., 150-N and the object to be measured.
- the three-dimensional CAD data 32 of the 80s are compared, and the identification result (success or failure of the identification) of the measurement object 80 is stored in the storage device 30 in association with the combination of the respective values of the plurality of parameters.
- the range in which each value of the plurality of parameters can be taken is, for example, the default range that is practically sufficient for measuring the 3D data of the measurement object 80 based on the performance or specifications of the 3D sensor 70 and the robot 60. It may be a set range, or may be a range estimated to satisfy the priority condition specified by the user regarding the measurement of 3D data. Details of the priority conditions will be described later.
- the arithmetic unit 20 sets, for example, a measurement point 90-1 at the center of the plane 500 to start measuring 3D data by the 3D sensor 70, and ends the measurement of 3D data by the 3D sensor 70.
- Set the measurement points 90-N to be performed at the end of the plane 500, and set the other measurement points 90-2, 90-3, ..., On the straight line connecting the two measurement points 90-1, 90-N.
- 90- (N-1) may be set. In this case, the distance between the measurement points 90-1, 90-N is equal to the moving distance of the 3D sensor 70.
- the moving time of the 3D sensor 70 can be calculated from the relationship between the moving distance of the 3D sensor 70 and the moving speed.
- the measurement time interval of 3D data is set to a certain time interval, the number of times of measurement of 3D data can be calculated from the relationship between the movement time of the 3D sensor 70 and the measurement time interval.
- the measurement angle of the 3D sensor 70 with respect to the measurement object 80 is an angle at which a line segment passing through the 3D sensor 70 and the measurement object 80 intersects a predetermined reference line (for example, a horizontal line or a vertical line).
- the arithmetic device 20 fixes the moving speed of the 3D sensor 70 to a certain speed, and under the fixed moving speed, the measurement time interval of 3D data is continuously set from the upper limit to the lower limit within a certain range.
- the 3D data of the measurement target 80 is measured by the number of measurement times of the 3D data obtained from each measurement time interval.
- the arithmetic unit 20 repeats such processing while continuously changing the moving speed of the 3D sensor 70 from the upper limit to the lower limit within a certain range.
- the arithmetic unit 20 measures a plurality of 3D data of the measurement object 80 while continuously changing the moving speed of the 3D sensor 70 and the number of times of measurement of the 3D data from the upper limit to the lower limit, respectively, and a plurality of 3D.
- the 3D data 150-S obtained by the data registration process is compared with the 3D CAD data 32 of the measurement target 80, and the identification result (success / failure of identification) of the measurement target 80 is determined by each of the plurality of parameters. It is stored in the storage device 30 in association with the combination of values.
- the position coordinates of the plurality of measurement points 90-1, 90-2, 90-3, ..., 90-N may be any position coordinates as long as they are within the three-dimensional region 510, and the example shown in FIG. Not limited to. Even if the position coordinates of each measurement point are set so that the measurement angle of the 3D sensor 70 with respect to the measurement object 80 at each of the plurality of measurement points 90-1, 90-2, 90-3, ..., 90-N is different. Good. Further, the movement locus of the 3D sensor 70 does not necessarily have to be a straight line, and may be a curved line or a combination of a straight line and a curved line.
- FIG. 7 shows the correspondence between the identification result of the measurement object 80 and the value of each parameter for all possible combinations of the values of the plurality of parameters that define the measurement conditions of the 3D data according to the embodiment of the present invention. It is a flowchart which shows an example of the process to perform.
- step 701 the arithmetic unit 20 defines a three-dimensional region 510 that defines the movement range of the 3D sensor 70 in the XYZ direction from the above-mentioned values of X0, Y0, and Z0.
- step 702 the arithmetic unit 20 predetermined the values of the plurality of parameters that define the measurement conditions of the 3D data of the measurement object 80 based on the information of the three-dimensional region 510 defined in step 701. Set to a certain value within the range.
- step 703 the arithmetic unit 20 measures the drive device 61 that drives the joints of the robot 60 based on the respective values of the plurality of parameters set in step 702 (or changed in step 707 described later).
- a drive command is output instructing the 3D sensor 70 to be driven so as to change the relative positional relationship of the 3D sensor 70 with respect to the object 80, and a plurality of measurement points 90-1, 90-2, 90-3, ..., 90-
- a measurement command is output to the 3D sensor 70 so as to measure the 3D data 150-1, 150-2, 150-3, ..., 150-N of the measurement target 80 with N.
- step 704 the arithmetic unit 20 registers the plurality of 3D data 150-1, 150-2, 150-3, ..., 150-N measured in step 703 to obtain 3D data 150-S. ..
- step 705 the arithmetic unit 20 compares the 3D data 150-S obtained by the registration process of step 704 with the three-dimensional CAD data 32 of the measurement object 80, and the identification result (success or failure of identification) of the measurement object 80. ) Is stored in the storage device 30 in association with the combination of the values of the plurality of parameters set in step 702.
- step 706 the arithmetic unit 20 determines whether or not the processing of steps 703 to 705 has been performed for all possible combinations of the values of the plurality of parameters that define the measurement conditions of the 3D data of the measurement object 80. To do.
- step 707 the arithmetic unit 20 changes the value of each of the plurality of parameters that define the measurement conditions of the 3D data of the measurement object 80 to a certain value within a predetermined range.
- FIG. 8 is a graph showing an example of the identification result of a certain measurement object 80.
- This graph is a three-dimensional graph showing the number of successful identifications of the measurement object 80 with respect to the moving speed of the 3D sensor 70 and the number of times the 3D data is measured.
- the number of successful identifications of the measurement object 80 means the number of successful identifications of the measurement object 80 out of the number of times the 3D data is measured. 20%, 40%, 60%, 80%, and 100% of the moving speed of the 3D sensor 70 indicate the ratio of the moving speed of the 3D sensor 70 to a certain speed, respectively.
- FIG. 9 shows a flow chart for outputting one or more combinations of values of a plurality of parameters that meet the priority conditions for measurement of 3D data 150-1, 150-2, 150-3, ..., 150-N. It is a flowchart which shows.
- step 901 the arithmetic unit 20 measures and measures a plurality of 3D data for all combinations within a range in which the values of the plurality of parameters defining the measurement conditions of the 3D data of the measurement object 80 can be taken.
- These processes are the same as the processes of steps 701 to 707 shown in the flowchart of FIG. 7.
- the arithmetic unit 20 receives from the user the designation of the priority condition regarding the measurement of the 3D data of the measurement object 80.
- the user can operate the input device 130 to input priority conditions for measuring 3D data into the computer system 10.
- the user can specify that "the number of successful identifications of the measurement object 80 is maximized" as a priority condition for measuring 3D data.
- the user specifies as a priority condition for measuring 3D data that "the number of successful identifications of the measurement target 80 is equal to or greater than the average value and the time required for measuring the 3D data of the measurement target 80 is the shortest". can do.
- the user can specify that "the number of successful identifications of the measurement object 80 is equal to or greater than the average value and the moving speed of the 3D sensor 70 is maximized" as a priority condition for measuring 3D data.
- the user has a priority condition for measuring 3D data that "the number of successful identifications of the measurement target 80, the time required for measuring the 3D data of the measurement target 80, and the moving speed of the 3D sensor 70 are balanced". Can be specified as.
- the arithmetic unit 20 sets the priority condition specified by the user from the correspondence between the respective values of the plurality of parameters defining the measurement conditions of the 3D data of the measurement object 80 and the identification result of the measurement object 80.
- One or more combinations of the values of the plurality of matching parameters are prioritized in descending order of the degree of matching with the priority conditions, and are output to, for example, the display 140.
- the arithmetic unit 20 may output the upper M combinations having a high degree of matching the priority condition from all the combinations of the respective values of the plurality of parameters.
- M is an integer of 2 or more.
- the arithmetic unit 20 may output an optimum combination of the values of each of the plurality of parameters that match the priority condition specified by the user.
- steps 901 and 902 are executed may be changed.
- the arithmetic unit 20 in the process of steps 701 and 707 each value of a plurality of parameters that define the measurement conditions of the 3D data of the measurement object 80.
- the range that can be taken by the user may be narrowed down to the range of each parameter that is presumed to satisfy the priority condition specified by the user regarding the measurement of 3D data. For example, when the user specifies that "the number of successful identifications of the measurement target 80 is equal to or greater than the average value and the movement speed of the 3D sensor 70 is maximum" is specified by the user as a priority condition for measuring 3D data, the measurement target is measured.
- the range in which each value of the plurality of parameters defining the measurement conditions of the 3D data of the object 80 can be taken may be narrowed down to the range of each parameter in which the moving speed of the 3D sensor 70 is equal to or higher than a certain speed.
- FIG. 10 is a block diagram showing an example of the functions of the computer system 10 according to the embodiment of the present invention.
- Parameter setting unit 101 drive control unit 102, sensor control unit 103, registration processing in cooperation with the hardware resources (arithmetic unit 20, storage device 40, and input / output interface 40) of the computer system 10 and the measurement program 31.
- the functions are realized as a unit 104, a storage unit 105, an input unit 106, an output unit 107, a coordinate conversion unit 108, a position / orientation estimation unit 109, and an operation target calculation unit 110.
- the parameter setting unit 101 has a plurality of measurement points 90-1, 90-2, 90-3, ..., 90-N in which the relative positional relationship of the 3D sensor 70 with respect to the measurement object 80 is different, other than the specific measurement points.
- Each value is set and changed within a predetermined range (for example, a default set range or a range estimated to satisfy the priority condition specified by the user regarding the measurement of 3D data) (step in FIG. 7). 702,707).
- the drive control unit 102 of the robot 60 is based on the respective values of the plurality of parameters after the change.
- a drive command for instructing the drive device 61 for driving the joint to change the relative positional relationship of the 3D sensor 70 with respect to the measurement object 80 is output (step 703 in FIG. 7).
- the sensor control unit 103 makes a plurality of measurements based on the respective values of the changed plurality of parameters.
- 3D sensor to measure 3D data 150-1, 150-2, 150-3, ..., 150-N of measurement target 80 at points 90-1, 90-2, 90-3, ..., 90-N Control 70 (step 703 in FIG. 7).
- the registration processing unit 104 transmits 3D data measured at each measurement point other than a specific measurement point each time the value of at least one parameter among a plurality of parameters defining the measurement conditions of each 3D data is changed. Register with the 3D data measured at a specific measurement point (step 704 in FIG. 7).
- the storage unit 105 identifies the measurement object 80 based on the 3D data 150-S obtained by registration each time the value of at least one of the plurality of parameters defining the measurement conditions of each 3D data is changed. The result is stored in association with each value of the plurality of parameters (step 705 in FIG. 7).
- the input unit 106 receives from the user the designation of the priority condition regarding the measurement of 3D data (step 902 in FIG. 9).
- the output unit 107 has a correspondence relationship between each identification result of the measurement target 80 and each value of a plurality of parameters defining the measurement conditions of each 3D data, and each of the plurality of parameters matching the priority condition specified by the user.
- One or more combinations of the values of are prioritized in descending order of the degree of matching with the priority condition, and are output to, for example, the display 140 (step 903 in FIG. 9).
- the user operates the input device 130 to select any one combination of the respective values of the plurality of parameters from one or more combinations of the respective values of the plurality of parameters that match the priority condition. Can be done.
- the parameter setting unit 101 sets the respective values of the plurality of parameters that define the measurement conditions of each 3D data based on such a selection by the user.
- the measurement system 100 determines the robot 60 and the 3D sensor 70 based on any one combination selected by the user from one or more combinations of the respective values of the plurality of parameters that match the priority conditions specified by the user.
- 3D data 150-1, 150-2, 150-3, ..., 150-N of the measurement object 80 is measured by controlling.
- the measurement system 100 registers these 3D data 150-1, 150-2, 150-3, ..., 150-N to obtain 3D data 110-S.
- the coordinate conversion unit 108 performs coordinate conversion processing for converting the 3D data 110-S from the sensor coordinate system 203 to the robot coordinate system 201.
- the position / orientation estimation unit 109 estimates the position and orientation of the measurement object 80 with respect to the robot 60 based on the 3D data coordinate-converted to the robot coordinate system 201 by the coordinate conversion unit 108.
- the motion target calculation unit 110 calculates an motion target for the robot 60 to operate the measurement object 80 based on the position and posture of the measurement object 80 with respect to the robot 60.
- the motion target is the target position and target posture of the robot 60 required for the robot 60 to operate (for example, grasp, suck, move, assemble, or insert) the measurement object 80.
- the above-mentioned units does not necessarily have to be realized by the cooperation between the hardware resources (computing device 20, the storage device 40, and the input / output interface 40) of the computer system 10 and the measurement program 31, for example.
- Dedicated hardware resources eg, application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), etc. may be used.
- the computer system 10 replaces these functions with other functions according to the measurement purpose of the measurement system 100. It may have a function.
- the measurement purpose of the measurement system 100 may be an visual inspection for determining the presence or absence of defects in the inspection object 80.
- the functions of the coordinate conversion unit 108, the position / orientation estimation unit 109, and the operation target calculation unit 110 are Not needed.
- the method of identifying the measurement target 80 from the plurality of 3D data 150-1, 150-2, 150-3, ..., 150-N of the measurement target 80 measured by N is the method of identifying the measurement target 80.
- the accuracy is high, it is difficult to manually set each parameter that defines the measurement conditions of each 3D data.
- the user can use any one of one or more combinations of the values of the plurality of parameters output as satisfying the priority condition specified by the user. Since the combination may be selected, complicated manual parameter adjustment is not required. As a result, the user can easily and quickly set parameters that satisfy the priority conditions specified by the user without complicated parameter adjustment, and further increase the recognition success rate of the measurement object 80. You can also.
- the robot 60 is not limited to the industrial robot used for factory automation, and may be, for example, a robot used in the service industry (for example, an operating robot, a medical robot, a cleaning robot, a rescue robot, a security robot, etc.).
- a robot used in the service industry for example, an operating robot, a medical robot, a cleaning robot, a rescue robot, a security robot, etc.
- Appendix 1 A 3D sensor 70 mounted on the robot 60, which measures 3D data indicating 3D coordinates of each point on the surface of the object to be measured 80. 3D data measured at each measurement point other than a specific measurement point among a plurality of measurement points having different relative positional relationships of the 3D sensor 70 with respect to the measurement object 80 is registered in the 3D data measured at the specific measurement point.
- a parameter setting unit 101 that sets and changes the value of each of a plurality of parameters that define the measurement conditions of each 3D data for relation within a predetermined range.
- the drive control unit 102 that outputs a command and A sensor control unit 103 that controls the 3D sensor 70 so as to measure the 3D data of the measurement object 80 at a plurality of measurement points based on the values of each parameter that has been set or changed.
- a registration processing unit 104 that registers 3D data measured at each measurement point other than a specific measurement point with 3D data measured at a specific measurement point.
- a storage unit 105 that stores the identification result of the measurement object 80 based on the 3D data obtained by registration in association with the value of each parameter set or changed.
- An input unit 106 that accepts the designation of priority conditions related to 3D data measurement from the user, From the correspondence between each identification result of the measurement object 80 and the value of each parameter that has been set or changed, the degree to which one or more combinations of the values of each of the plurality of parameters that match the priority condition match the priority condition.
- a measuring device 200 including an output unit 107 that prioritizes and outputs in descending order. (Appendix 2) The measuring device 200 according to Appendix 1. Multiple parameters include the number of 3D data measurements, the movement distance of the 3D sensor, the movement speed of the 3D sensor, the measurement time interval of the 3D data, the measurement angle of the 3D sensor with respect to the object to be measured, the focus range of the 3D sensor, and multiple measurements.
- Appendix 3 The measuring device 200 according to Appendix 1 or 2.
- the predetermined range is a range estimated to satisfy the priority condition specified by the user through the input unit, that is, the measuring device 200.
- the measuring device 200 which is a 3D sensor 70 mounted on the robot 60 and includes a 3D sensor 70 that measures 3D data indicating three-dimensional coordinates of each point on the surface of the object to be measured 80. 3D data measured at each measurement point other than a specific measurement point among a plurality of measurement points having different relative positional relationships of the 3D sensor 70 with respect to the measurement object 80 is registered in the 3D data measured at the specific measurement point.
- Steps 702 and 707 to set and change the values of each of the plurality of parameters that define the measurement conditions of each 3D data for relation within a predetermined range.
- Drive instructing the drive device 61 that drives the joint of the robot 60 to change the relative positional relationship of the 3D sensor 70 with respect to the measurement object 80 based on the value of each parameter that has been set or changed.
- Step 703 to output the command and Step 703 of controlling the 3D sensor 70 so as to measure the 3D data of the measurement object 80 at a plurality of measurement points based on the value of each parameter set or changed.
- Step 704 that registers the 3D data measured at each measurement point other than the specific measurement point with the 3D data measured at the specific measurement point, and Step 705 to store the identification result of the measurement object 80 based on the 3D data obtained by registration in association with the value of each parameter set or changed, and Step 902, which accepts the designation of priority conditions for 3D data measurement from the user, and From the correspondence between each identification result of the measurement object 80 and the value of each parameter that has been set or changed, the degree to which one or more combinations of the values of each of the plurality of parameters that match the priority condition match the priority condition.
- a measuring device 200 including a 3D sensor 70 mounted on the robot 60 and measuring 3D data indicating 3D coordinates of each point on the surface of the object to be measured 80.
- 3D data measured at each measurement point other than a specific measurement point among a plurality of measurement points having different relative positional relationships of the 3D sensor 70 with respect to the measurement object 80 is registered in the 3D data measured at the specific measurement point.
- Steps 702 and 707 to set and change the values of each of the plurality of parameters that define the measurement conditions of each 3D data for relation within a predetermined range.
- Step 703 to output the command and Step 703 of controlling the 3D sensor 70 so as to measure the 3D data of the measurement object 80 at a plurality of measurement points based on the value of each parameter set or changed.
- Step 704 that registers the 3D data measured at each measurement point other than the specific measurement point with the 3D data measured at the specific measurement point, and Step 705 to store the identification result of the measurement object 80 based on the 3D data obtained by registration in association with the value of each parameter set or changed, and Step 902, which accepts the designation of priority conditions for 3D data measurement from the user, and From the correspondence between each identification result of the measurement object 80 and the value of each parameter that has been set or changed, the degree to which one or more combinations of the values of each of the plurality of parameters that match the priority condition match the priority condition.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Electromagnetism (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
計測対象物の3Dデータの計測条件を規定する各パラメータの値をユーザが指定する条件に合致する値として出力する。 計測対象物の表面の各点の3次元座標を示す3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内で設定及び変更し、設定又は変更された各パラメータの値に基づいて、計測対象物の複数の3Dデータを計測し、複数の3Dデータをレジストレーションし、レジストレーションにより得られる3Dデータに基づく計測対象物の識別結果を各パラメータの値と対応付けて記憶し、3Dデータの計測に関する優先条件の指定をユーザから受け付け、計測対象物の各識別結果と各パラメータの値との対応関係から、優先条件に合致する複数のパラメータのそれぞれの値の一つ以上の組み合わせを優先条件に合致する度合いの高い順に優先順位を付して出力する。
Description
本発明は、計測装置、計測方法、及び計測プログラムに関わる。
ファクトリーオートメーションの分野では、例えば、距離センサを用いて、ワークに対する相対的な位置関係が異なる複数の計測ポイントからワークの表面の各点の3次元座標を示す複数の点群(ポイントクラウド)を計測し、計測により得られた複数の点群のうち何れか特定の点群を基準として、他の点群の位置及び姿勢を、基準となる点群の位置及び姿勢に合わせるレジストレーション処理を行うことにより、レジストレーション処理後の点群からワークを識別する手法が知られている。非特許文献1は、複数の異なる計測ポイントから計測された複数の点群のレジストレーション処理について言及している。
「特徴点を用いた3次元点群データ位置合わせ法の検討」情報処理学会第77回全国大会
しかし、ワークの識別精度は、各点群の計測条件を規定する複数のパラメータ(例えば、点群の計測回数、点群の計測時間間隔、距離センサの移動距離、距離センサの移動速度、ワークに対する距離センサの計測角度、距離センサのフォーカス範囲、及び複数の計測ポイントのそれぞれの位置座標)のそれぞれの値によって変動し得る。例えば、距離センサの移動速度を遅くして点群の計測回数を多くすると、ワークの識別に必要十分な品質を有する十分な数の点群を計測できるため、ワークの識別精度は向上する。これに対し、距離センサの移動速度を早くした上で点群の計測回数を多くすると、ワークの識別に必要十分な品質を有する十分な数の点群が得られないため、ワークの識別精度は低下する。距離センサの移動速度を早くしたとしても、点群の計測回数を適度な回数に調整すると、ワークの識別に適度な品質を有する適度な数の点群を計測できるため、ワークの識別精度はある程度向上する。一方、ワークの識別精度の向上を目的として距離センサの移動速度を遅くすると、点群の計測に要する時間が長くなるため、ファクトリーオートメーションの分野に要求される高い生産性を実現することができなくなる。
このように、各点群の計測条件を規定する複数のパラメータのそれぞれの値の組み合わせによって、ワークの識別精度や生産性が異なるものであり、各パラメータの値をどのように変更すると、ワークの識別精度や生産性がどのように変わるのかを予測するのは困難である。このため、ワークの識別精度や生産性の観点から、各点群の計測条件を規定する複数のパラメータのそれぞれの値を、点群の計測に関してユーザが希望する条件に合致する最適値に手動設定するのは、容易でない。
そこで、本発明は、このような問題を解決し、計測対象物の3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を、ユーザが指定する条件に合致する値として出力することのできる計測装置、計測方法、及び計測プログラムを提案することを課題とする。
上述の課題を解決するため、本発明に関わる計測装置は、ロボットに搭載される3Dセンサであって、計測対象物の表面の各点の3次元座標を示す3Dデータを計測する3Dセンサと、計測対象物に対する3Dセンサの相対的な位置関係が異なる複数の計測ポイントのうち特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするための各3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内で設定及び変更するパラメータ設定部と、設定又は変更された各パラメータの値に基づいて、ロボットの関節を駆動する駆動装置に、計測対象物に対する3Dセンサの相対的な位置関係を変えるように駆動することを指示する駆動指令を出力する駆動制御部と、設定又は変更された各パラメータの値に基づいて、複数の計測ポイントで計測対象物の3Dデータを計測するように3Dセンサを制御するセンサ制御部と、特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするレジストレーション処理部と、レジストレーションにより得られる3Dデータに基づく計測対象物の識別結果を設定又は変更された各パラメータの値と対応付けて記憶する記憶部と、3Dデータの計測に関する優先条件の指定をユーザから受け付ける入力部と、計測対象物の各識別結果と設定又は変更された各パラメータの値との対応関係から、優先条件に合致する複数のパラメータのそれぞれの値の一つ以上の組み合わせを優先条件に合致する度合いの高い順に優先順位を付して出力する出力部とを備える。ユーザは、自身が指定する優先条件を満たすものとして出力された複数のパラメータのそれぞれの値の一つ以上の組み合わせの中から何れか一つの組み合わせを選択すればよいため、手作業による煩雑なパラメータ調整が不要となる。これにより、ユーザは、煩雑なパラメータ調整をしなくても、自身が指定する優先条件を満たすパラメータ設定を簡易かつ迅速に行うことができる。
3Dデータの計測条件を規定する複数のパラメータは、3Dデータの計測回数、3Dセンサの移動距離、3Dセンサの移動速度、3Dデータの計測時間間隔、計測対象物に対する3Dセンサの計測角度、3Dセンサのフォーカス範囲、及び複数の計測ポイントのそれぞれの位置座標のうち何れか一つ以上を含んでもよい。これらのパラメータの設定を通じて3Dデータの計測条件を、ユーザの指定する優先条件に合致するようにカスタマイズすることができる。
計測対象物の3Dデータの計測条件を規定する複数のパラメータのそれぞれの値が取り得る予め定められた範囲は、入力部を通じてユーザによって指定された優先条件を満たすものと推定される範囲でもよい。3Dデータの計測条件を規定する複数のパラメータのそれぞれの値が取り得る予め定められた範囲を、ユーザによって指定された優先条件を満たすものと推定される範囲に絞り込むことにより、パラメータ設定に要する3Dデータの計測処理やレジストレーション処理の回数を減らし、ユーザが指定する優先条件を満たすパラメータ設定を簡易かつ迅速に行うことができる。
本発明に関わる計測方法は、ロボットに搭載される3Dセンサであって、計測対象物の表面の各点の3次元座標を示す3Dデータを計測する3Dセンサを備える計測装置が、計測対象物に対する3Dセンサの相対的な位置関係が異なる複数の計測ポイントのうち特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするための各3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内で設定及び変更するステップと、設定又は変更された各パラメータの値に基づいて、ロボットの関節を駆動する駆動装置に、計測対象物に対する3Dセンサの相対的な位置関係を変えるように駆動することを指示する駆動指令を出力するステップと、設定又は変更された各パラメータの値に基づいて、複数の計測ポイントで計測対象物の3Dデータを計測するように3Dセンサを制御するステップと、特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするステップと、レジストレーションにより得られる3Dデータに基づく計測対象物の識別結果を設定又は変更された各パラメータの値と対応付けて記憶するステップと、3Dデータの計測に関する優先条件の指定をユーザから受け付けるステップと、計測対象物の各識別結果と設定又は変更された各パラメータの値との対応関係から、優先条件に合致する複数のパラメータのそれぞれの値の一つ以上の組み合わせを優先条件に合致する度合いの高い順に優先順位を付して出力するステップと、を実行する。ユーザは、自身が指定する優先条件を満たすものとして出力された複数のパラメータのそれぞれの値の一つ以上の組み合わせの中から何れか一つの組み合わせを選択すればよいため、手作業による煩雑なパラメータ調整が不要となる。これにより、ユーザは、煩雑なパラメータ調整をしなくても、自身が指定する優先条件を満たすパラメータ設定を簡易かつ迅速に行うことができる。
本発明に関わる計測プログラムは、ロボットに搭載される3Dセンサであって、計測対象物の表面の各点の3次元座標を示す3Dデータを計測する3Dセンサを備える計測装置に、計測対象物に対する3Dセンサの相対的な位置関係が異なる複数の計測ポイントのうち特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするための各3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内で設定及び変更するステップと、設定又は変更された各パラメータの値に基づいて、ロボットの関節を駆動する駆動装置に、計測対象物に対する3Dセンサの相対的な位置関係を変えるように駆動することを指示する駆動指令を出力するステップと、設定又は変更された各パラメータの値に基づいて、複数の計測ポイントで計測対象物の3Dデータを計測するように3Dセンサを制御するステップと、特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするステップと、レジストレーションにより得られる3Dデータに基づく計測対象物の識別結果を設定又は変更された各パラメータの値と対応付けて記憶するステップと、3Dデータの計測に関する優先条件の指定をユーザから受け付けるステップと、計測対象物の各識別結果と設定又は変更された各パラメータの値との対応関係から、優先条件に合致する複数のパラメータのそれぞれの値の一つ以上の組み合わせを優先条件に合致する度合いの高い順に優先順位を付して出力するステップとを実行させる。ユーザは、自身が指定する優先条件を満たすものとして出力された複数のパラメータのそれぞれの値の一つ以上の組み合わせの中から何れか一つの組み合わせを選択すればよいため、手作業による煩雑なパラメータ調整が不要となる。これにより、ユーザは、煩雑なパラメータ調整をしなくても、自身が指定する優先条件を満たすパラメータ設定を簡易かつ迅速に行うことができる。
本発明によれば、計測対象物の3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を、ユーザが指定する条件に合致する値として出力することができる。
以下、本発明の一側面に関わる実施形態を図面に基づいて説明する。本発明の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更又は改良され得るととともに、本発明には、その等価物も含まれる。なお、同一符号は、同一の構成要素を示すものとし、重複する説明は省略する。
[全体構成]
図1は本発明の実施形態に関わる計測システム100の全体構成の一例を示す説明図である。計測システム100は、ロボット60と、ロボット60に搭載された3Dセンサ70と、ロボット60の駆動及び3Dセンサ70による計測対象物80の3Dデータの計測を制御するコンピュータシステム10と、コンピュータシステム10からの指令に応答してロボット60の動作を制御するロボットコントローラ120とを備える。
図1は本発明の実施形態に関わる計測システム100の全体構成の一例を示す説明図である。計測システム100は、ロボット60と、ロボット60に搭載された3Dセンサ70と、ロボット60の駆動及び3Dセンサ70による計測対象物80の3Dデータの計測を制御するコンピュータシステム10と、コンピュータシステム10からの指令に応答してロボット60の動作を制御するロボットコントローラ120とを備える。
3Dデータは、計測対象物80の表面の各点の3次元座標を示す。この種の3Dデータとして、例えば、点群又は距離画像を用いることができる。点群は、例えば、xyz直交座標系の三次元座標値(x,y,z)を有する点の集合として定義される。距離画像は、例えば、uv直交座標系の2次元の画像座標(u,v)に対応する距離dを画素値とする画素の集合として定義される。ここで、dは、3Dセンサ70と計測対象物80との間の距離である。
3Dセンサ70は、点群を計測する距離センサでもよく、或いは、距離センサと2Dセンサとを組み合わせて距離画像を取得する距離画像センサでもよい。距離センサは、奥行情報としての距離dを計測するセンサであり、その計測方式として、例えば、三角法方式、飛行時間方式(タイム・オブ・フライト方式)、又は位相差方式などを用いることができる。2Dセンサは、2次元の画像を撮影するイメージセンサである。2次元の画像は、距離dを画素値としない点において距離画像とは異なる。距離画像センサは、例えば、2Dセンサの撮影位置を変えながら計測対象物80の複数の2次元の画像を撮影し、ステレオ立体視の画像処理により、距離dを画素値とする距離画像を取得するカメラでもよい。或いは、距離画像センサは、計測対象物80を複数の異なる方向から同時に撮影することにより、距離dを画素値とする距離画像を取得するステレオカメラでもよい。
ロボット60は、例えば、計測対象物80を操作(例えば、把持、吸着、移動、組み立て、又は挿入など)するためのロボットハンド63を備える多関節ロボット(例えば、垂直多関節ロボット、水平多関節ロボット)である。ロボット60は、関節を駆動するための駆動装置61と、関節の変位(角度変位)を検出する変位検出装置62とを備えている。駆動装置61は、例えば、ロボットコントローラ120からの駆動指令に応答して駆動するサーボモータである。変位検出装置62は、例えば、サーボモータの回転角を検出するエンコーダ(例えば、インクリメンタル型エンコーダ、又はアブソリュート型エンコーダなど)である。ロボット60の各関節には、駆動装置61と変位検出装置62とが組み込まれている。
ロボット60は、自律的に動作するマニピュレータとして動作し、例えば、計測対象物80のピッキング、組み立て、搬送、塗装、検査、研磨、又は洗浄などの様々な用途に用いることができる。計測対象物80は、例えば、仕掛け品又は部品などのワークである。ワークの例として、自動車のパワートレイン系(例えば、エンジン、又はトランスミッションなど)の機械部品、又は電装系の電子部品を挙げることができる。
計測システム100は、計測対象物80に対する3Dセンサ70の相対的な位置関係を変えるようにロボット60の各関節の駆動を制御する。そして、計測システム100は、計測対象物80に対する3Dセンサ70の相対的な位置関係が異なる複数の計測ポイント90-1,90-2,90-3,…,90-Nで計測対象物80の3Dデータを計測する。ここで、Nは、2以上の整数である。計測システム100は、例えば、複数の計測ポイント90-1,90-2,90-3,…,90-Nのうち何れか1つ以上の特定の計測ポイントでロボット60の停止中に計測対象物80の3Dデータを計測し、特定の計測ポイント以外の各計測ポイントでロボット60の動作中に計測対象物80の3Dデータを計測してもよい。計測システム100は、例えば、全ての計測ポイント90-1,90-2,90-3,…,90-Nでロボット60の停止中に計測対象物80の3Dデータを計測してもよい。
なお、図1において、符号201は、ロボット60を基準とする座標系を示し、符号202は、ロボットハンド63を基準とする座標系を示し、符号203は、3Dセンサ70を基準とする座標系を示す。座標系201,202,203を、それぞれ、ロボット座標系、ツール座標系、及びセンサ座標系と呼ぶ。
図2は本発明の実施形態に関わる3Dデータのレジストレーション処理の流れを示す説明図である。レジストレーションとは、一方の3Dデータの位置及び姿勢を他方の3Dデータの位置及び姿勢に合わせるための座標変換を意味する。符号150-1,150-2,150-3,…,150-Nは、それぞれ、計測ポイント90-1,90-2,90-3,…,90-Nで計測された計測対象物80の3Dデータを示す。複数の計測ポイント90-1,90-2,90-3,…,90-Nのうち、例えば、計測ポイント90-1を特定の計測ポイントとし、特定の計測ポイント90-1以外の計測ポイント90-2,90-3,…,90-Nで計測された3Dデータ150-2,150-3,…,150-Nのそれぞれを、特定の計測ポイント90-1で計測された3Dデータ150-1にレジストレーションすることにより、3Dデータ150-Sが得られる。なお、3Dデータ150-1以外の何れかの3Dデータを基準として、他の3Dデータのそれぞれを、基準となる3Dデータにレジストレーションしてもよい。
レジストレーション処理のアルゴリズムとして、例えば、ICP(Iterative Closest Point)を用いることができる。ICPは、一方の3Dデータを構成する各点に対し、他方の3Dデータにおける最近接点を探索し、これを仮の対応点とする。ICPは、このような対応点間の距離を最小化するような剛体変換を推定し、対応点の探索と剛体変換推定とを繰り返すことで、3Dデータ間の対応点同士の距離を最小化する。ICPの前処理として、3Dデータの特徴から対応点を推定する公知のアルゴリズムを用いてもよい。このようなアルゴリズムとして、例えば、PPF(Point Pair Feature)と呼ばれる特徴量を用いるものが知られている。
[ハードウェア構成]
次に、図3を参照しながら、本発明の実施形態に関わる計測システム100及び計測装置200のハードウェア構成の一例について説明する。
次に、図3を参照しながら、本発明の実施形態に関わる計測システム100及び計測装置200のハードウェア構成の一例について説明する。
計測装置200は、コンピュータシステム10と、3Dセンサ70とを備える。計測システム100は、計測装置200と、ロボット60と、ロボットコントローラ120とを備える。コンピュータシステム10は、演算装置20と、記憶装置30と、入出力インタフェース40と、ディスプレイインタフェース50とを備える。また、演算装置20は、CPU(Central Processing Unit)21と、ROM(Read Only Memory)22と、RAM(Random Access Memory)23とを備えている。入出力インタフェース40は、3Dセンサ70と、ロボットコントローラ120と、入力デバイス130とに接続している。入力デバイス130は、例えば、キーボード、マウス、タッチパッドなどである。ディスプレイインタフェース50は、ディスプレイ140に接続している。ディスプレイ140は、例えば、液晶ディスプレイである。
記憶装置30は、ディスク媒体(例えば、磁気記録媒体又は光磁気記録媒体)又は半導体メモリ(例えば、揮発性メモリ又は不揮発性メモリ)などのコンピュータ読み取り可能な記録媒体である。このような記録媒体は、例えば、非一過性の記録媒体と呼ぶこともできる。記憶装置30は、本発明の実施形態に関わる計測方法を実行するための計測プログラム31を格納している。計測プログラム31は、記憶装置30からRAM23に読み込まれ、CPU21によって解釈及び実行される。計測プログラム31は、ロボット60の動作を制御するメインプログラムとしても機能する。また、記憶装置30は、計測対象物80の3次元CAD(Computer-Aided Design)データ32を記憶している。
演算装置20は、入出力インタフェース40を通じて、変位検出装置62から出力されるロボット60の各関節の変位を示す情報を入力するとともに、ロボット60の各関節を駆動する駆動装置61に駆動指令を出力する。
ロボットコントローラ50は、入出力インタフェース40を通じて、演算装置20から出力される駆動指令に応答して、ロボット60の各関節を駆動する駆動装置61の駆動(例えば、サーボモータの回転数及び回転トルク)を制御する。
3Dセンサ70は、入出力インタフェース40を通じて、演算装置20から出力される計測指令に応答して、計測対象物80の3Dデータ150-1,150-2,150-3,…,150-Nを計測する。
演算装置20は、入出力インタフェース40を通じて、3Dセンサ70による計測対象物80の3Dデータ150-1,150-2,150-3,…,150-Nの計測を指令する計測指令と、駆動装置61の駆動を制御する駆動指令とを出力するとともに、3Dセンサ70によって計測された計測対象物80の3Dデータ150-1,150-2,150-3,…,150-Nを入力する。このとき、RAM23は、3Dセンサ70によって計測された計測対象物80の3Dデータ150-1,150-2,150-3,…,150-Nを一時的に記憶し、演算装置20によるレジストレーション処理を行うためのワークエリアとして機能する。演算装置20は、レジストレーション処理により得られる3Dデータ150-Sと、計測対象物80の3次元CADデータ32を比較して、計測対象物80を識別する。演算装置20は、公知の変換行列を用いて、3Dデータ150-Sをセンサ座標系203からロボット座標系201に座標変換し、ロボット60に対する計測対象物80の位置及び姿勢を推定してもよい。
ディスプレイ140は、計測プログラム31による各種処理結果(例えば、計測対象物80の識別結果)を表示する。
なお、図3では、駆動装置61及び変位検出装置62がそれぞれ一つ図示されている例が示されているが、駆動装置61及び変位検出装置62のそれぞれの個数は、関節の個数と同数でよい。
[パラメータ設定処理]
次に、図4乃至図9を参照しながら、3Dデータの計測条件を規定する複数のパラメータのそれぞれの値が取り得る全ての組み合わせについての計測対象物80の識別結果と各パラメータの値との対応付けを行う処理について説明する。複数の計測ポイント90-1,90-2,90-3,…,90-Nのうち何れか1つ以上の特定の計測ポイントでロボット60の停止中に計測対象物80の3Dデータを計測し、特定の計測ポイント以外の各計測ポイントでロボット60の動作中に計測対象物80の3Dデータを計測する場合、複数のパラメータは、例えば、計測対象物80の3Dデータの計測回数、3Dセンサ70の移動距離、計測対象物80に対する3Dセンサ70の計測角度、3Dセンサ70のフォーカス範囲、3Dセンサ70の移動速度、及び計測対象物80の3Dデータの計測時間間隔のうち何れか一つ以上を含んでもよい。全ての計測ポイント90-1,90-2,90-3,…,90-Nでロボット60の停止中に計測対象物80の3Dデータを計測する場合、複数のパラメータは、例えば、計測対象物80の3Dデータの計測回数、3Dセンサ70の移動距離、計測対象物80に対する3Dセンサ70の計測角度、3Dセンサ70のフォーカス範囲、及び複数の計測ポイント90-1,90-2,90-3,…,90-Nのそれぞれの位置座標のうち何れか一つ以上を含んでもよい。ここで、3Dセンサ70のフォーカス範囲は、被写界深度を意味する。
次に、図4乃至図9を参照しながら、3Dデータの計測条件を規定する複数のパラメータのそれぞれの値が取り得る全ての組み合わせについての計測対象物80の識別結果と各パラメータの値との対応付けを行う処理について説明する。複数の計測ポイント90-1,90-2,90-3,…,90-Nのうち何れか1つ以上の特定の計測ポイントでロボット60の停止中に計測対象物80の3Dデータを計測し、特定の計測ポイント以外の各計測ポイントでロボット60の動作中に計測対象物80の3Dデータを計測する場合、複数のパラメータは、例えば、計測対象物80の3Dデータの計測回数、3Dセンサ70の移動距離、計測対象物80に対する3Dセンサ70の計測角度、3Dセンサ70のフォーカス範囲、3Dセンサ70の移動速度、及び計測対象物80の3Dデータの計測時間間隔のうち何れか一つ以上を含んでもよい。全ての計測ポイント90-1,90-2,90-3,…,90-Nでロボット60の停止中に計測対象物80の3Dデータを計測する場合、複数のパラメータは、例えば、計測対象物80の3Dデータの計測回数、3Dセンサ70の移動距離、計測対象物80に対する3Dセンサ70の計測角度、3Dセンサ70のフォーカス範囲、及び複数の計測ポイント90-1,90-2,90-3,…,90-Nのそれぞれの位置座標のうち何れか一つ以上を含んでもよい。ここで、3Dセンサ70のフォーカス範囲は、被写界深度を意味する。
図4に示すように、演算装置20は、バラ積みされた複数の計測対象物80を収容するコンテナ160の設置面に平行な面がXY平面となり、且つ、コンテナ160の設置面に垂直な方向がZ方向となるように、XYZ直交座標系を定義する。コンテナ160のX方向の長さをX0とし、Y方向の長さをY0とする。3Dセンサ70と各計測対象物80との間の相対的な位置関係がベストフォーカスの条件を満たす位置に3Dセンサ70を置いたときの3Dセンサ70と計測対象物80との間の距離をZ0とする。
図5に示すように、演算装置20は、XY方向における3Dセンサ70の移動範囲を定める平面500を定義する。平面500は、Z方向から見たコンテナ160の平面形状をZ=Z0の平面に投影することにより得られる投影面である。平面500のX方向の長さは、X0に等しく、Y方向の長さは、Y0に等しい。
図6に示すように、演算装置20は、3Dセンサ70と各計測対象物80との間の相対的な位置関係がフォーカス条件を満たすZ方向の範囲DOFを設定し、平面500からDOFの範囲内にある3次元領域510を、XYZ方向における3Dセンサ70の移動範囲を定める領域として定義する。ここで、DOFは、3Dセンサ70の被写界深度である。3Dセンサ70の計測ポイント90-1,90-2,90-3,…,90-Nの位置座標は、何れも、3次元領域510内に設定される。
演算装置20は、3Dセンサ70の計測ポイント90-1,90-2,90-3,…,90-Nの位置座標が3次元領域510内に拘束される条件の下で、3Dデータ150-1,150-2,150-3,…,150-Nの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内でランダムに変えながら、3Dデータ150-1,150-2,150-3,…,150-Nを計測し、3Dデータ150-1,150-2,150-3,…,150-Nのレジストレーション処理により得られる3Dデータ150-Sと、計測対象物80の3次元CADデータ32を比較して、計測対象物80の識別結果(識別の成否)を、複数のパラメータのそれぞれの値の組み合わせと対応付けて記憶装置30に記憶する。なお、複数のパラメータのそれぞれの値が取り得る範囲は、例えば、3Dセンサ70及びロボット60の性能又は仕様を基に、計測対象物80の3Dデータを計測するのに実用上十分な範囲としてデフォルト設定された範囲でもよく、或いは、3Dデータの計測に関してユーザが指定する優先条件を満たすものと推定される範囲でもよい。優先条件の詳細については、後述する。
図5に示すように、演算装置20は、例えば、3Dセンサ70による3Dデータの計測を開始する計測ポイント90-1を平面500の中央部に設定し、3Dセンサ70による3Dデータの計測を終了する計測ポイント90-Nを平面500の端部に設定し、二つの計測ポイント90-1,90-Nの間を接続する直線上に、他の計測ポイント90-2,90-3,…,90-(N-1)を設定してもよい。この場合、計測ポイント90-1,90-Nの間の距離は、3Dセンサ70の移動距離に等しい。3Dセンサ70の移動速度をある一定の速度に設定すると、3Dセンサ70の移動距離と移動速度との関係から3Dセンサ70の移動時間を算出することができる。3Dデータの計測時間間隔をある一定の時間間隔に設定すると、3Dセンサ70の移動時間と計測時間間隔との関係から3Dデータの計測回数を算出することができる。計測対象物80に対する3Dセンサ70の計測角度は、3Dセンサ70及び計測対象物80を通る線分が所定の基準線(例えば、水平線又は鉛直線)と交差する角度である。
演算装置20は、例えば、3Dセンサ70の移動速度をある一定の速度に固定し、固定された移動速度の下で、3Dデータの計測時間間隔をある一定の範囲内で上限から下限まで連続的に変化させ、それぞれの計測時間間隔から求まる3Dデータの計測回数の分だけ計測対象物80の3Dデータを計測する。演算装置20は、このような処理を、3Dセンサ70の移動速度をある一定の範囲内で上限から下限まで連続的に変化させながら繰り返し行う。演算装置20は、このようにして、3Dセンサ70の移動速度と3Dデータの計測回数とをそれぞれ上限から下限まで連続的に変えながら計測対象物80の複数の3Dデータを計測し、複数の3Dデータのレジストレーション処理により得られる3Dデータ150-Sと、計測対象物80の3次元CADデータ32を比較して、計測対象物80の識別結果(識別の成否)を、複数のパラメータのそれぞれの値の組み合わせと対応付けて記憶装置30に記憶する。
なお、複数の計測ポイント90-1,90-2,90-3,…,90-Nのそれぞれの位置座標は、3次元領域510内であれば、どの位置座標でもよく、図5に示す例に限られない。複数の計測ポイント90-1,90-2,90-3,…,90-Nのそれぞれにおける計測対象物80に対する3Dセンサ70の計測角度が異なるように各計測ポイントの位置座標を設定してもよい。また、3Dセンサ70の移動軌跡は、必ずしも直線である必要はなく、曲線でもよく、或いは、直線と曲線とを組み合わせたものでもよい。
図7は本発明の実施形態に関わる3Dデータの計測条件を規定する複数のパラメータのそれぞれの値が取り得る全ての組み合わせについての計測対象物80の識別結果と各パラメータの値との対応付けを行う処理の一例を示すフローチャートである。
ステップ701において、演算装置20は、上述のX0,Y0,Z0の値から、XYZ方向における3Dセンサ70の移動範囲を定める3次元領域510を定義する。
ステップ702において、演算装置20は、ステップ701で定義された3次元領域510の情報を基に、計測対象物80の3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内のある一定の値に設定する。
ステップ703において、演算装置20は、ステップ702で設定された(又は後述のステップ707で変更された)複数のパラメータのそれぞれの値に基づいて、ロボット60の関節を駆動する駆動装置61に、計測対象物80に対する3Dセンサ70の相対的な位置関係を変えるように駆動することを指示する駆動指令を出力するとともに、複数の計測ポイント90-1,90-2,90-3,…,90-Nで計測対象物80の3Dデータ150-1,150-2,150-3,…,150-Nを計測するように3Dセンサ70に計測指令を出力する。
ステップ704において、演算装置20は、ステップ703で計測された複数の3Dデータ150-1,150-2,150-3,…,150-Nをレジストレーション処理して、3Dデータ150-Sを得る。
ステップ705において、演算装置20は、ステップ704のレジストレーション処理により得られる3Dデータ150-Sと計測対象物80の3次元CADデータ32を比較して、計測対象物80の識別結果(識別の成否)を、ステップ702で設定された複数のパラメータのそれぞれの値の組み合わせと対応付けて記憶装置30に記憶する。
ステップ706において、演算装置20は、計測対象物80の3Dデータの計測条件を規定する複数のパラメータのそれぞれの値が取り得る全ての組み合わせについて、ステップ703~705の処理を行ったか否かを判定する。
ステップ707において、演算装置20は、計測対象物80の3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内のある一定の値に変更する。
図8は、ある計測対象物80の識別結果の一例を示すグラフである。このグラフは、3Dセンサ70の移動速度及び3Dデータの計測回数に対する計測対象物80の識別成功数を示す3次元グラフである。計測対象物80の識別成功数とは、3Dデータの計測回数のうち計測対象物80の識別に成功した数を意味する。なお、3Dセンサ70の移動速度の20%、40%、60%、80%、及び100%は、それぞれ、ある一定の速度に対する3Dセンサ70の移動速度の割合を示す。
図9は、3Dデータ150-1,150-2,150-3,…,150-Nの計測に関する優先条件に合致する複数のパラメータのそれぞれの値の一つ以上の組み合わせを出力する処理の流れを示すフローチャートである。
ステップ901において、演算装置20は、計測対象物80の3Dデータの計測条件を規定する複数のパラメータのそれぞれの値が取り得る範囲内における全ての組み合わせについて、複数の3Dデータの計測処理、計測された複数の3Dデータのレジストレーション処理、レジストレーション処理後の3Dデータ150-Sに基づく計測対象物80の識別処理、及び、複数のパラメータのそれぞれの値と計測対象物80の識別結果とを対応付ける処理を行う。これらの処理は、図7のフローチャートに示すステップ701~707の処理と同じである。
ステップ902において、演算装置20は、計測対象物80の3Dデータの計測に関する優先条件の指定をユーザから受け付ける。ユーザは、入力デバイス130を操作して、3Dデータの計測に関する優先条件をコンピュータシステム10に入力することができる。ユーザは、例えば、「計測対象物80の識別成功数が最大となる」ことを3Dデータの計測に関する優先条件として指定することができる。ユーザは、例えば、「計測対象物80の識別成功数が平均値以上となり、且つ、計測対象物80の3Dデータの計測に要する時間が最短となる」ことを3Dデータの計測に関する優先条件として指定することができる。ユーザは、例えば、「計測対象物80の識別成功数が平均値以上となり、且つ、3Dセンサ70の移動速度が最大となる」ことを3Dデータの計測に関する優先条件として指定することができる。ユーザは、例えば、「計測対象物80の識別成功数、計測対象物80の3Dデータの計測に要する時間、及び3Dセンサ70の移動速度がバランスしている」ことを3Dデータの計測に関する優先条件として指定することができる。
ステップ903において、演算装置20は、計測対象物80の3Dデータの計測条件を規定する複数のパラメータのそれぞれの値と計測対象物80の識別結果との対応関係から、ユーザが指定する優先条件に合致する複数のパラメータのそれぞれの値の一つ以上の組み合わせを優先条件に合致する度合いの高い順に優先順位を付して、例えば、ディスプレイ140に出力する。この場合、演算装置20は、複数のパラメータのそれぞれの値の全ての組み合わせの中から優先条件に合致する度合いの高い上位M個の組み合わせを出力してもよい。ここで、Mは、2以上の整数である。演算装置20は、ユーザが指定する優先条件に合致する複数のパラメータのそれぞれの値の最適な一つの組み合わせを出力してもよい。
なお、ステップ901,902を実行する順番を入れ替えてもよい。ステップ901の処理に先立って、ステップ902の処理を実行する場合、演算装置20は、ステップ701,707の処理において、計測対象物80の3Dデータの計測条件を規定する複数のパラメータのそれぞれの値が取り得る範囲を、3Dデータの計測に関してユーザが指定する優先条件を満たすものと推定される各パラメータの範囲に絞り込んでもよい。例えば、「計測対象物80の識別成功数が平均値以上となり、且つ、3Dセンサ70の移動速度が最大となる」ことが3Dデータの計測に関する優先条件としてユーザから指定されている場合、計測対象物80の3Dデータの計測条件を規定する複数のパラメータのそれぞれの値が取り得る範囲を、3Dセンサ70の移動速度がある一定の速度以上となる各パラメータの範囲に絞りこんでもよい。
[機能構成]
図10は本発明の実施形態に関わるコンピュータシステム10の機能の一例を示すブロック図である。コンピュータシステム10のハードウェア資源(演算装置20、記憶装置40、及び入出力インタフェース40)と計測プログラム31との協働により、パラメータ設定部101、駆動制御部102、センサ制御部103、レジストレーション処理部104、記憶部105、入力部106、出力部107、座標変換部108、位置姿勢推定部109、及び動作目標算出部110として機能が実現される。
図10は本発明の実施形態に関わるコンピュータシステム10の機能の一例を示すブロック図である。コンピュータシステム10のハードウェア資源(演算装置20、記憶装置40、及び入出力インタフェース40)と計測プログラム31との協働により、パラメータ設定部101、駆動制御部102、センサ制御部103、レジストレーション処理部104、記憶部105、入力部106、出力部107、座標変換部108、位置姿勢推定部109、及び動作目標算出部110として機能が実現される。
パラメータ設定部101は、計測対象物80に対する3Dセンサ70の相対的な位置関係が異なる複数の計測ポイント90-1,90-2,90-3,…,90-Nのうち特定の計測ポイント以外の各計測ポイントで計測された計測対象物80の3Dデータを特定の計測ポイントで計測された計測対象物80の3Dデータにレジストレーションするための各3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲(例えば、デフォルト設定された範囲、又は3Dデータの計測に関してユーザが指定する優先条件を満たすものと推定される範囲)内で設定及び変更する(図7のステップ702,707)。
駆動制御部102は、各3Dデータの計測条件を規定する複数のパラメータのうち少なくとも一つのパラメータの値が変更される毎に、変更後の複数のパラメータのそれぞれの値に基づいて、ロボット60の関節を駆動する駆動装置61に、計測対象物80に対する3Dセンサ70の相対的な位置関係を変えるように駆動することを指示する駆動指令を出力する(図7のステップ703)。
センサ制御部103は、各3Dデータの計測条件を規定する複数のパラメータのうち少なくとも一つのパラメータの値が変更される毎に、変更後の複数のパラメータのそれぞれの値に基づいて、複数の計測ポイント90-1,90-2,90-3,…,90-Nで計測対象物80の3Dデータ150-1,150-2,150-3,…,150-Nを計測するように3Dセンサ70を制御する(図7のステップ703)。
レジストレーション処理部104は、各3Dデータの計測条件を規定する複数のパラメータのうち少なくとも一つのパラメータの値が変更される毎に、特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションする(図7のステップ704)。
記憶部105は、各3Dデータの計測条件を規定する複数のパラメータのうち少なくとも一つのパラメータの値が変更される毎に、レジストレーションにより得られる3Dデータ150-Sに基づく計測対象物80の識別結果を複数のパラメータのそれぞれの値と対応付けて記憶する(図7のステップ705)。
入力部106は、3Dデータの計測に関する優先条件の指定をユーザから受け付ける(図9のステップ902)。
出力部107は、計測対象物80の各識別結果と各3Dデータの計測条件を規定する複数のパラメータのそれぞれの値との対応関係から、ユーザが指定する優先条件に合致する複数のパラメータのそれぞれの値の一つ以上の組み合わせを優先条件に合致する度合いの高い順に優先順位を付して、例えば、ディスプレイ140に出力する(図9のステップ903)。ユーザは、優先条件に合致する複数のパラメータのそれぞれの値の一つ以上の組み合わせの中から、入力デバイス130を操作して、複数のパラメータのそれぞれの値の何れか一つの組み合わせを選択することができる。パラメータ設定部101は、ユーザのこのような選択に基づいて、各3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を設定する。
計測システム100は、ユーザが指定する優先条件に合致する複数のパラメータのそれぞれの値の一つ以上の組み合わせの中からユーザによって選択された何れか一つの組み合わせに基づいて、ロボット60及び3Dセンサ70を制御することにより、計測対象物80の3Dデータ150-1,150-2,150-3,…,150-Nを計測する。計測システム100は、これらの3Dデータ150-1,150-2,150-3,…,150-Nをレジストレーションして3Dデータ110-Sを得る。
座標変換部108は、3Dデータ110-Sをセンサ座標系203からロボット座標系201に変換するための座標変換処理を行う。
位置姿勢推定部109は、座標変換部108により、ロボット座標系201に座標変換された3Dデータに基づいて、ロボット60に対する測定対象物80の位置及び姿勢を推定する。
動作目標算出部110は、ロボット60に対する測定対象物80の位置及び姿勢に基づいて、ロボット60が計測対象物80を操作するための動作目標を算出する。動作目標は、ロボット60が計測対象物80を操作(例えば、把持、吸着、移動、組み立て、又は挿入など)するために要求されるロボット60の目標位置及び目標姿勢である。
なお、上述の各部(パラメータ設定部101、駆動制御部102、センサ制御部103、レジストレーション処理部104、記憶部105、入力部106、出力部107、座標変換部108、位置姿勢推定部109、及び動作目標算出部110)は、必ずしも、コンピュータシステム10のハードウェア資源(演算装置20、記憶装置40、及び入出力インタフェース40)と計測プログラム31との協働によって実現される必要はなく、例えば、専用のハードウェア資源(例えば、特定用途向け集積回路(ASIC)、又はフィールドプログラマブルゲートアレイ(FPGA)など)を用いて実現されてもよい。
また、座標変換部108、位置姿勢推定部109、及び動作目標算出部110の各機能は必須ではないため、コンピュータシステム10は、これらの機能に替えて計測システム100の計測目的に応じた他の機能を備えてもよい。例えば、計測システム100の計測目的は、検査対象物80の欠陥の有無を判定する外観検査でもよく、この場合、座標変換部108、位置姿勢推定部109、及び動作目標算出部110の各機能は不要である。
一つの計測ポイントで計測された計測対象物80の一つの3Dデータから計測対象物80を識別する方式よりも、複数の異なる計測ポイント90-1,90-2,90-3,…,90-Nで計測された計測対象物80の複数の3Dデータ150-1,150-2,150-3,…,150-Nから計測対象物80を識別する方式の方が、計測対象物80の識別精度が高い反面、各3Dデータの計測条件を規定する各パラメータの手動設定が困難となる。本発明の実施形態に関わる計測システム100によれば、ユーザは、自身が指定する優先条件を満たすものとして出力された複数のパラメータのそれぞれの値の一つ以上の組み合わせの中から何れか一つの組み合わせを選択すればよいため、手作業による煩雑なパラメータ調整が不要となる。これにより、ユーザは、煩雑なパラメータ調整をしなくても、自身が指定する優先条件を満たすパラメータ設定を簡易かつ迅速に行うことができ、更には、計測対象物80の認識成功率を高めることもできる。
ロボット60は、ファクトリーオートメーションに用いられる産業ロボットに限定されるものではなく、例えば、サービス業に用いられるロボット(例えば、オペレーティングロボット、医療用ロボット、掃除ロボット、レスキューロボット、セキュリティロボットなど)でもよい。
上述の実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限定されない。
(付記1)
ロボット60に搭載される3Dセンサ70であって、計測対象物80の表面の各点の3次元座標を示す3Dデータを計測する3Dセンサ70と、
計測対象物80に対する3Dセンサ70の相対的な位置関係が異なる複数の計測ポイントのうち特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするための各3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内で設定及び変更するパラメータ設定部101と、
設定又は変更された各パラメータの値に基づいて、ロボット60の関節を駆動する駆動装置61に、計測対象物80に対する3Dセンサ70の相対的な位置関係を変えるように駆動することを指示する駆動指令を出力する駆動制御部102と、
設定又は変更された各パラメータの値に基づいて、複数の計測ポイントで計測対象物80の3Dデータを計測するように3Dセンサ70を制御するセンサ制御部103と、
特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするレジストレーション処理部104と、
レジストレーションにより得られる3Dデータに基づく計測対象物80の識別結果を設定又は変更された各パラメータの値と対応付けて記憶する記憶部105と、
3Dデータの計測に関する優先条件の指定をユーザから受け付ける入力部106と、
計測対象物80の各識別結果と設定又は変更された各パラメータの値との対応関係から、優先条件に合致する複数のパラメータのそれぞれの値の一つ以上の組み合わせを優先条件に合致する度合いの高い順に優先順位を付して出力する出力部107とを備える計測装置200。
(付記2)
付記1に記載の計測装置200であって、
複数のパラメータは、3Dデータの計測回数、3Dセンサの移動距離、3Dセンサの移動速度、3Dデータの計測時間間隔、計測対象物に対する3Dセンサの計測角度、3Dセンサのフォーカス範囲、及び複数の計測ポイントのそれぞれの位置座標のうち何れか一つ以上を含む、計測装置200。
(付記3)
付記1又は2に記載の計測装置200であって、
予め定められた範囲は、入力部を通じてユーザによって指定された優先条件を満たすものと推定される範囲である、計測装置200。
(付記4)
ロボット60に搭載される3Dセンサ70であって、計測対象物80の表面の各点の3次元座標を示す3Dデータを計測する3Dセンサ70を備える計測装置200が、
計測対象物80に対する3Dセンサ70の相対的な位置関係が異なる複数の計測ポイントのうち特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするための各3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内で設定及び変更するステップ702,707と、
設定又は変更された各パラメータの値に基づいて、ロボット60の関節を駆動する駆動装置61に、計測対象物80に対する3Dセンサ70の相対的な位置関係を変えるように駆動することを指示する駆動指令を出力するステップ703と、
設定又は変更された各パラメータの値に基づいて、複数の計測ポイントで計測対象物80の3Dデータを計測するように3Dセンサ70を制御するステップ703と、
特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするステップ704と、
レジストレーションにより得られる3Dデータに基づく計測対象物80の識別結果を設定又は変更された各パラメータの値と対応付けて記憶するステップ705と、
3Dデータの計測に関する優先条件の指定をユーザから受け付けるステップ902と、
計測対象物80の各識別結果と設定又は変更された各パラメータの値との対応関係から、優先条件に合致する複数のパラメータのそれぞれの値の一つ以上の組み合わせを優先条件に合致する度合いの高い順に優先順位を付して出力するステップ903と、を実行する計測方法。
(付記5)
ロボット60に搭載される3Dセンサ70であって、計測対象物80の表面の各点の3次元座標を示す3Dデータを計測する3Dセンサ70を備える計測装置200に、
計測対象物80に対する3Dセンサ70の相対的な位置関係が異なる複数の計測ポイントのうち特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするための各3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内で設定及び変更するステップ702,707と、
設定又は変更された各パラメータの値に基づいて、ロボット60の関節を駆動する駆動装置61に、計測対象物80に対する3Dセンサ70の相対的な位置関係を変えるように駆動することを指示する駆動指令を出力するステップ703と、
設定又は変更された各パラメータの値に基づいて、複数の計測ポイントで計測対象物80の3Dデータを計測するように3Dセンサ70を制御するステップ703と、
特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするステップ704と、
レジストレーションにより得られる3Dデータに基づく計測対象物80の識別結果を設定又は変更された各パラメータの値と対応付けて記憶するステップ705と、
3Dデータの計測に関する優先条件の指定をユーザから受け付けるステップ902と、
計測対象物80の各識別結果と設定又は変更された各パラメータの値との対応関係から、優先条件に合致する複数のパラメータのそれぞれの値の一つ以上の組み合わせを優先条件に合致する度合いの高い順に優先順位を付して出力するステップ903と、を実行させる計測プログラム31。
(付記1)
ロボット60に搭載される3Dセンサ70であって、計測対象物80の表面の各点の3次元座標を示す3Dデータを計測する3Dセンサ70と、
計測対象物80に対する3Dセンサ70の相対的な位置関係が異なる複数の計測ポイントのうち特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするための各3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内で設定及び変更するパラメータ設定部101と、
設定又は変更された各パラメータの値に基づいて、ロボット60の関節を駆動する駆動装置61に、計測対象物80に対する3Dセンサ70の相対的な位置関係を変えるように駆動することを指示する駆動指令を出力する駆動制御部102と、
設定又は変更された各パラメータの値に基づいて、複数の計測ポイントで計測対象物80の3Dデータを計測するように3Dセンサ70を制御するセンサ制御部103と、
特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするレジストレーション処理部104と、
レジストレーションにより得られる3Dデータに基づく計測対象物80の識別結果を設定又は変更された各パラメータの値と対応付けて記憶する記憶部105と、
3Dデータの計測に関する優先条件の指定をユーザから受け付ける入力部106と、
計測対象物80の各識別結果と設定又は変更された各パラメータの値との対応関係から、優先条件に合致する複数のパラメータのそれぞれの値の一つ以上の組み合わせを優先条件に合致する度合いの高い順に優先順位を付して出力する出力部107とを備える計測装置200。
(付記2)
付記1に記載の計測装置200であって、
複数のパラメータは、3Dデータの計測回数、3Dセンサの移動距離、3Dセンサの移動速度、3Dデータの計測時間間隔、計測対象物に対する3Dセンサの計測角度、3Dセンサのフォーカス範囲、及び複数の計測ポイントのそれぞれの位置座標のうち何れか一つ以上を含む、計測装置200。
(付記3)
付記1又は2に記載の計測装置200であって、
予め定められた範囲は、入力部を通じてユーザによって指定された優先条件を満たすものと推定される範囲である、計測装置200。
(付記4)
ロボット60に搭載される3Dセンサ70であって、計測対象物80の表面の各点の3次元座標を示す3Dデータを計測する3Dセンサ70を備える計測装置200が、
計測対象物80に対する3Dセンサ70の相対的な位置関係が異なる複数の計測ポイントのうち特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするための各3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内で設定及び変更するステップ702,707と、
設定又は変更された各パラメータの値に基づいて、ロボット60の関節を駆動する駆動装置61に、計測対象物80に対する3Dセンサ70の相対的な位置関係を変えるように駆動することを指示する駆動指令を出力するステップ703と、
設定又は変更された各パラメータの値に基づいて、複数の計測ポイントで計測対象物80の3Dデータを計測するように3Dセンサ70を制御するステップ703と、
特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするステップ704と、
レジストレーションにより得られる3Dデータに基づく計測対象物80の識別結果を設定又は変更された各パラメータの値と対応付けて記憶するステップ705と、
3Dデータの計測に関する優先条件の指定をユーザから受け付けるステップ902と、
計測対象物80の各識別結果と設定又は変更された各パラメータの値との対応関係から、優先条件に合致する複数のパラメータのそれぞれの値の一つ以上の組み合わせを優先条件に合致する度合いの高い順に優先順位を付して出力するステップ903と、を実行する計測方法。
(付記5)
ロボット60に搭載される3Dセンサ70であって、計測対象物80の表面の各点の3次元座標を示す3Dデータを計測する3Dセンサ70を備える計測装置200に、
計測対象物80に対する3Dセンサ70の相対的な位置関係が異なる複数の計測ポイントのうち特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするための各3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内で設定及び変更するステップ702,707と、
設定又は変更された各パラメータの値に基づいて、ロボット60の関節を駆動する駆動装置61に、計測対象物80に対する3Dセンサ70の相対的な位置関係を変えるように駆動することを指示する駆動指令を出力するステップ703と、
設定又は変更された各パラメータの値に基づいて、複数の計測ポイントで計測対象物80の3Dデータを計測するように3Dセンサ70を制御するステップ703と、
特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするステップ704と、
レジストレーションにより得られる3Dデータに基づく計測対象物80の識別結果を設定又は変更された各パラメータの値と対応付けて記憶するステップ705と、
3Dデータの計測に関する優先条件の指定をユーザから受け付けるステップ902と、
計測対象物80の各識別結果と設定又は変更された各パラメータの値との対応関係から、優先条件に合致する複数のパラメータのそれぞれの値の一つ以上の組み合わせを優先条件に合致する度合いの高い順に優先順位を付して出力するステップ903と、を実行させる計測プログラム31。
10…コンピュータシステム 20…演算装置 21…CPU 22…ROM 23…RAM 30…記憶装置 31…計測プログラム 32…CADデータ 40…入出力インタフェース 50…ディスプレイインタフェース 60…ロボット 61…駆動装置 62…変位検出装置 70…3Dセンサ 80…計測対象物 90…計測ポイント 100…計測システム 101…パラメータ設定部 102…駆動制御部 103…センサ制御部 104…レジストレーション処理部 105…記憶部 106…入力部 107…出力部 108…座標変換部 109…位置姿勢推定部 110…動作目標算出部 120…ロボットコントローラ 130…入力デバイス 140…ディスプレイ 200…計測装置
Claims (5)
- ロボットに搭載される3Dセンサであって、計測対象物の表面の各点の3次元座標を示す3Dデータを計測する3Dセンサと、
前記計測対象物に対する前記3Dセンサの相対的な位置関係が異なる複数の計測ポイントのうち特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするための各3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内で設定及び変更するパラメータ設定部と、
前記設定又は変更された各パラメータの値に基づいて、前記ロボットの関節を駆動する駆動装置に、前記計測対象物に対する前記3Dセンサの相対的な位置関係を変えるように駆動することを指示する駆動指令を出力する駆動制御部と、
前記設定又は変更された各パラメータの値に基づいて、前記複数の計測ポイントで前記計測対象物の3Dデータを計測するように前記3Dセンサを制御するセンサ制御部と、
前記特定の計測ポイント以外の各計測ポイントで計測された3Dデータを前記特定の計測ポイントで計測された3Dデータにレジストレーションするレジストレーション処理部と、
前記レジストレーションにより得られる3Dデータに基づく前記計測対象物の識別結果を前記設定又は変更された各パラメータの値と対応付けて記憶する記憶部と、
前記3Dデータの計測に関する優先条件の指定をユーザから受け付ける入力部と、
前記計測対象物の各識別結果と前記設定又は変更された各パラメータの値との対応関係から、前記優先条件に合致する前記複数のパラメータのそれぞれの値の一つ以上の組み合わせを前記優先条件に合致する度合いの高い順に優先順位を付して出力する出力部と、
を備える計測装置。 - 請求項1に記載の計測装置であって、
前記複数のパラメータは、前記3Dデータの計測回数、前記3Dセンサの移動距離、前記3Dセンサの移動速度、前記3Dデータの計測時間間隔、前記計測対象物に対する前記3Dセンサの計測角度、前記3Dセンサのフォーカス範囲、及び前記複数の計測ポイントのそれぞれの位置座標のうち何れか一つ以上を含む、計測装置。 - 請求項1又は2に記載の計測装置であって、
前記予め定められた範囲は、前記入力部を通じて前記ユーザによって指定された前記優先条件を満たすものと推定される範囲である、計測装置。 - ロボットに搭載される3Dセンサであって、計測対象物の表面の各点の3次元座標を示す3Dデータを計測する3Dセンサを備える計測装置が、
前記計測対象物に対する前記3Dセンサの相対的な位置関係が異なる複数の計測ポイントのうち特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするための各3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内で設定及び変更するステップと、
前記設定又は変更された各パラメータの値に基づいて、前記ロボットの関節を駆動する駆動装置に、前記計測対象物に対する前記3Dセンサの相対的な位置関係を変えるように駆動することを指示する駆動指令を出力するステップと、
前記設定又は変更された各パラメータの値に基づいて、前記複数の計測ポイントで前記計測対象物の3Dデータを計測するように前記3Dセンサを制御するステップと、
前記特定の計測ポイント以外の各計測ポイントで計測された3Dデータを前記特定の計測ポイントで計測された3Dデータにレジストレーションするステップと、
前記レジストレーションにより得られる3Dデータに基づく前記計測対象物の識別結果を前記設定又は変更された各パラメータの値と対応付けて記憶するステップと、
前記3Dデータの計測に関する優先条件の指定をユーザから受け付けるステップと、
前記計測対象物の各識別結果と前記設定又は変更された各パラメータの値との対応関係から、前記優先条件に合致する前記複数のパラメータのそれぞれの値の一つ以上の組み合わせを前記優先条件に合致する度合いの高い順に優先順位を付して出力するステップと、
を実行する計測方法。 - ロボットに搭載される3Dセンサであって、計測対象物の表面の各点の3次元座標を示す3Dデータを計測する3Dセンサを備える計測装置に、
前記計測対象物に対する前記3Dセンサの相対的な位置関係が異なる複数の計測ポイントのうち特定の計測ポイント以外の各計測ポイントで計測された3Dデータを特定の計測ポイントで計測された3Dデータにレジストレーションするための各3Dデータの計測条件を規定する複数のパラメータのそれぞれの値を予め定められた範囲内で設定及び変更するステップと、
前記設定又は変更された各パラメータの値に基づいて、前記ロボットの関節を駆動する駆動装置に、前記計測対象物に対する前記3Dセンサの相対的な位置関係を変えるように駆動することを指示する駆動指令を出力するステップと、
前記設定又は変更された各パラメータの値に基づいて、前記複数の計測ポイントで前記計測対象物の3Dデータを計測するように前記3Dセンサを制御するステップと、
前記特定の計測ポイント以外の各計測ポイントで計測された3Dデータを前記特定の計測ポイントで計測された3Dデータにレジストレーションするステップと、
前記レジストレーションにより得られる3Dデータに基づく前記計測対象物の識別結果を前記設定又は変更された各パラメータの値と対応付けて記憶するステップと、
前記3Dデータの計測に関する優先条件の指定をユーザから受け付けるステップと、
前記計測対象物の各識別結果と前記設定又は変更された各パラメータの値との対応関係から、前記優先条件に合致する前記複数のパラメータのそれぞれの値の一つ以上の組み合わせを前記優先条件に合致する度合いの高い順に優先順位を付して出力するステップと、
を実行させる計測プログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/611,926 US12098911B2 (en) | 2019-06-17 | 2019-06-17 | Measurement device, measurement method, and computer-readable storage medium storing a measurement program |
PCT/JP2019/023978 WO2020255229A1 (ja) | 2019-06-17 | 2019-06-17 | 計測装置、計測方法、及び計測プログラム |
CN201980096267.6A CN113811740B (zh) | 2019-06-17 | 2019-06-17 | 计测装置、计测方法以及计测程序 |
JP2021528079A JP7134413B2 (ja) | 2019-06-17 | 2019-06-17 | 計測装置、計測方法、及び計測プログラム |
EP19933509.2A EP3985347B1 (en) | 2019-06-17 | 2019-06-17 | Device, method and program for measuring point clouds |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/023978 WO2020255229A1 (ja) | 2019-06-17 | 2019-06-17 | 計測装置、計測方法、及び計測プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020255229A1 true WO2020255229A1 (ja) | 2020-12-24 |
Family
ID=74036988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/023978 WO2020255229A1 (ja) | 2019-06-17 | 2019-06-17 | 計測装置、計測方法、及び計測プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US12098911B2 (ja) |
EP (1) | EP3985347B1 (ja) |
JP (1) | JP7134413B2 (ja) |
CN (1) | CN113811740B (ja) |
WO (1) | WO2020255229A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022107684A1 (ja) * | 2020-11-18 | 2022-05-27 | ファナック株式会社 | パラメータを調整する装置、ロボットシステム、方法、及びコンピュータプログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7365567B2 (ja) * | 2020-11-12 | 2023-10-20 | オムロン株式会社 | 計測システム、計測装置、計測方法及び計測プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007003285A (ja) * | 2005-06-22 | 2007-01-11 | Konica Minolta Sensing Inc | 3次元測定システム |
JP2010121999A (ja) * | 2008-11-18 | 2010-06-03 | Omron Corp | 3次元モデルの作成方法および物体認識装置 |
JP2010210586A (ja) * | 2009-03-12 | 2010-09-24 | Omron Corp | 3次元計測処理のパラメータの導出方法および3次元視覚センサ |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3218553B2 (ja) | 1995-03-28 | 2001-10-15 | 日本電信電話株式会社 | ロボットのシステム制御方法及び装置 |
JPH113490A (ja) | 1997-06-10 | 1999-01-06 | Mitsubishi Electric Corp | 監視装置 |
SE529377C2 (sv) * | 2005-10-18 | 2007-07-24 | Morphic Technologies Ab Publ | Metod och arrangemang för att lokalisera och plocka upp föremål från en bärare |
KR100975512B1 (ko) | 2007-03-09 | 2010-08-11 | 오므론 가부시키가이샤 | 인식 처리 방법 및 이 방법을 이용한 화상 처리 장치 |
JP5251080B2 (ja) | 2007-11-20 | 2013-07-31 | 株式会社Ihi | 物体認識方法 |
JP2010032331A (ja) | 2008-07-28 | 2010-02-12 | Keyence Corp | 画像計測装置及びコンピュータプログラム |
CN105190229B (zh) | 2013-04-19 | 2018-07-31 | 凸版印刷株式会社 | 三维形状计测装置、三维形状计测方法及三维形状计测程序 |
JP5950122B2 (ja) | 2013-12-27 | 2016-07-13 | 株式会社国際電気通信基礎技術研究所 | キャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラム |
JP6551184B2 (ja) | 2015-11-18 | 2019-07-31 | オムロン株式会社 | シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム |
JP6410861B2 (ja) * | 2017-03-09 | 2018-10-24 | キヤノン株式会社 | 計測装置、処理装置および物品製造方法 |
-
2019
- 2019-06-17 EP EP19933509.2A patent/EP3985347B1/en active Active
- 2019-06-17 CN CN201980096267.6A patent/CN113811740B/zh active Active
- 2019-06-17 US US17/611,926 patent/US12098911B2/en active Active
- 2019-06-17 JP JP2021528079A patent/JP7134413B2/ja active Active
- 2019-06-17 WO PCT/JP2019/023978 patent/WO2020255229A1/ja unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007003285A (ja) * | 2005-06-22 | 2007-01-11 | Konica Minolta Sensing Inc | 3次元測定システム |
JP2010121999A (ja) * | 2008-11-18 | 2010-06-03 | Omron Corp | 3次元モデルの作成方法および物体認識装置 |
JP2010210586A (ja) * | 2009-03-12 | 2010-09-24 | Omron Corp | 3次元計測処理のパラメータの導出方法および3次元視覚センサ |
Non-Patent Citations (1)
Title |
---|
See also references of EP3985347A4 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022107684A1 (ja) * | 2020-11-18 | 2022-05-27 | ファナック株式会社 | パラメータを調整する装置、ロボットシステム、方法、及びコンピュータプログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2020255229A1 (ja) | 2020-12-24 |
US20220228851A1 (en) | 2022-07-21 |
EP3985347B1 (en) | 2024-04-03 |
CN113811740B (zh) | 2023-11-21 |
CN113811740A (zh) | 2021-12-17 |
US12098911B2 (en) | 2024-09-24 |
JP7134413B2 (ja) | 2022-09-12 |
EP3985347A1 (en) | 2022-04-20 |
EP3985347A4 (en) | 2022-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107225569B (zh) | 定位装置 | |
JP5904676B2 (ja) | マシンビジョンシステムおよびロボットの間のロバストな較正の装置および方法 | |
JP6180087B2 (ja) | 情報処理装置及び情報処理方法 | |
JP5850962B2 (ja) | ビジュアルフィードバックを利用したロボットシステム | |
JP6317618B2 (ja) | 情報処理装置およびその方法、計測装置、並びに、作業装置 | |
JP6324025B2 (ja) | 情報処理装置、情報処理方法 | |
JP6331517B2 (ja) | 画像処理装置、システム、画像処理方法、および画像処理プログラム | |
CN108098762A (zh) | 一种基于新型视觉引导的机器人定位装置及方法 | |
JP2013036987A (ja) | 情報処理装置及び情報処理方法 | |
WO2020255229A1 (ja) | 計測装置、計測方法、及び計測プログラム | |
JP2015132523A (ja) | 位置姿勢計測装置、位置姿勢計測方法及びプログラム | |
WO2023013740A1 (ja) | ロボット制御装置、ロボット制御システム、及びロボット制御方法 | |
Nakhaeinia et al. | Adaptive robotic contour following from low accuracy RGB-D surface profiling and visual servoing | |
WO2019093299A1 (ja) | 位置情報取得装置およびそれを備えたロボット制御装置 | |
US11221206B2 (en) | Device for measuring objects | |
CN115972192A (zh) | 具有可变空间分辨率的3d计算机视觉系统 | |
US11193755B2 (en) | Measurement system, measurement device, measurement method, and measurement program | |
JP2015174206A (ja) | ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法及びロボット制御プログラム | |
JP2005186193A (ja) | ロボットのキャリブレーション方法および三次元位置計測方法 | |
CN115210048A (zh) | 机器人曲面仿形控制方法 | |
JP7450857B2 (ja) | 計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム | |
JP7299442B1 (ja) | 制御装置、3次元位置計測システム、及びプログラム | |
US12128571B2 (en) | 3D computer-vision system with variable spatial resolution | |
US11348280B2 (en) | Method and computer readable medium for pose estimation | |
WO2023013739A1 (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: 19933509 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021528079 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019933509 Country of ref document: EP Effective date: 20220117 |