Measurement program generation device, measurement program generation method, program, and coordinate measuring machine
The measurement program generation device addresses probe tip collision risks in CMMs by using point position information acquisition and alert systems to define optimal paths, enhancing safety and efficiency in CNC operations.
Patent Information
- Application Number
- JP2025198344
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-11-19
- Publication Date
- 2026-02-27
AI Technical Summary
Existing measurement programs for CNC operations on CMMs do not adequately address the risk of probe tip collisions with workpieces or jigs, leading to potential collisions and requiring significant time and effort for path correction.
A measurement program generation device and method that includes units for acquiring point position information, judging collision risks, and outputting alerts to define an optimal probe movement path, utilizing cluster analysis to identify potential collisions and suggest alternative points to avoid them.
Enables the identification of collision risks and defines an optimal probe movement path, reducing the likelihood of collisions and minimizing the time required for path correction.
Smart Images

Figure 2026034459000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a measurement program generating device, a measurement program generating method, a program, and a coordinate measuring machine. [Background technology]
[0002] When performing CNC operations on a CMM, a measurement program must be created in advance. The creation of a measurement program includes defining the movement path of the probe tip on the CMM. The CMM then automatically moves the probe tip along the predefined movement path during CNC operation. Defining the movement path of the probe tip is generally called teaching. CNC is an abbreviation for Computer Numerical Control.
[0003] The movement path of the probe tip is defined by combining measurement points that are defined by bringing the probe tip into contact with the workpiece, which is the object to be measured, and intermediate points that are defined by the user operating the controller at any timing.
[0004] If the movement path of the probe tip is insufficiently defined, unintended movement of the probe tip may occur due to unintended operation of the CMM, which may result in a risk of collision between the probe tip and the workpiece or a jig or the like placed on the table on which the workpiece is placed. For this reason, users carefully define the movement path of the probe tip and spend a lot of time checking and correcting the operation of the CMM.
[0005] Patent Document 1 describes an optimization device for a probe path of a coordinate measuring machine. The device described in this document calculates the probe movement time between each passing point and obtains the optimal probe path from the calculated probe movement time. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] Japanese Patent Application Publication No. 7-210586 Summary of the Invention [Problem to be solved by the invention]
[0007] However, if the definition of the probe tip movement path is insufficient, it is not possible to know whether or not a collision between the probe tip and a workpiece or the like will occur until the CNC operation of the coordinate measuring machine is actually performed. Also, if the definition of the probe tip movement path is insufficient, it takes a lot of time and effort to correct the probe tip movement path. Furthermore, there is a possibility that the definition of an intermediate point may be forgotten when defining the probe tip movement path.
[0008] In other words, if the risk of collision between the probe tip and a workpiece or the like can be identified in advance and a movement path for the probe tip that can avoid the collision can be constructed, the labor required for correcting the movement path of the probe tip, etc. can be reduced, which can contribute to improving the safety of the coordinate measuring machine.
[0009] The invention described in Patent Document 1 assumes that multiple passing points are correctly defined, and does not focus on issues such as collisions between the probe tip and a workpiece, etc., that may result from forgetting to define passing points, and does not disclose a configuration that solves such issues.
[0010] The present invention has been made in consideration of the above circumstances, and has as its object to provide a measurement program generation device, a measurement program generation method, a program, and a coordinate measuring machine that are capable of grasping the risk of probe collision and defining an optimal probe movement path. [Means for solving the problem]
[0011] In order to achieve the above object, the following aspects of the invention are provided.
[0012] The measurement program generation device according to the present disclosure is a measurement program generation device that generates a measurement program that specifies the movement path of a probe in the automatic measurement of an object to be measured, and includes: a first point position information acquisition unit that acquires first point position information that represents the position of a first point defined as a measurement point or an intermediate point included in the movement path of the probe; a second point position information acquisition unit that acquires second point position information that represents the position of a second point that is defined as a measurement point or an intermediate point included in the movement path of the probe and is different from the first point; a third point position information acquisition unit that acquires third point position information that represents the position of a third point on a line segment connecting the first point and the second point; a movement trajectory point position information acquisition unit that acquires movement trajectory point position information that represents the positions of one or more movement trajectory points on the movement trajectory that the probe passes through as it moves from the first point to the second point; a judgment unit that judges whether there is a risk of the probe colliding with a collision target based on the third point position information and the movement trajectory point position information; and an alert output unit that outputs an alert that indicates there is a risk of the probe colliding with the collision target based on the judgment result of the judgment unit.
[0013] According to the measurement program generation device of the present disclosure, when a second point where there is a risk of the probe colliding with the collision object is defined, an alert indicating that there is a risk of the probe colliding with the collision object is output. This allows the risk of the probe colliding with the collision object to be grasped, and an optimal probe movement path can be defined.
[0014] In another aspect of the measurement program generation device, the judgment unit may use a cluster analysis method to judge whether the third point and the movement trajectory point belong to the same cluster or different clusters, and the alert output unit may output an alert indicating that there is a risk of the probe colliding with the object to be collided with if the judgment unit determines that the third point and the movement trajectory point belong to different clusters.
[0015] According to this aspect, the collision risk of the probe can be determined based on the results of the cluster analysis of the third point and the movement trajectory points.
[0016] In another aspect of the measurement program generation device, the third point position information acquisition unit may acquire, as the third point position information, position information representing the position of the midpoint of a line segment connecting the first point and the second point.
[0017] According to this aspect, the midpoint of the line segment connecting the first point and the second point is set as the third point, and it can be determined whether the third point and the movement trajectory point belong to the same cluster or different clusters.
[0018] In another aspect of the measurement program generation device, the first point position information acquisition unit may acquire, as first point position information, point position information of a point defined as a first point when the probe is moved in teaching mode, and the second point position information acquisition unit may acquire, as second point position information, position information of a point defined as a second point when the probe is moved in teaching mode.
[0019] According to this aspect, the first point and the second point can be defined by teaching the coordinate measuring machine.
[0020] In another aspect, the measurement program generation device may include a second point candidate derivation unit that derives, for one or more movement trajectory points, the movement trajectory point that is the shortest distance from a third point as a candidate for the second point, and a suggestion output unit that outputs the candidate for the second point as a suggested point.
[0021] According to this aspect, when there is a risk of collision of the probe, the user can recognize the movement trajectory point that is the shortest distance from the third point as a suggested point that is a candidate for a new second point.
[0022] In a measurement program generation device according to another aspect, the second point position information acquisition unit may acquire, as the second point position information, suggestion point position information indicating the position of the suggestion point.
[0023] According to this aspect, the suggested point can be the new second point.
[0024] In another aspect of the measurement program generation device, the device may include a suggested point position information correction unit that corrects the suggested point position information, and the second point position information acquisition unit may acquire the suggested point position information corrected using the suggested point position information correction unit as the second point position information.
[0025] According to this aspect, the suggested point position information can be corrected to define a new second point.
[0026] In another aspect of the measurement program generation device, the second point position information acquisition unit may erase the acquired second point position information when new second point position information is acquired in place of the previously acquired second point position information.
[0027] According to this aspect, a measurement program can be generated using the newly defined second point instead of the already acquired second point position information.
[0028] In the measurement program generation device according to another aspect, the determination unit may erase the movement trajectory point position information when the first point is determined to be the measurement point or the intermediate point.
[0029] According to this aspect, it is possible to acquire movement trajectory point position information based on the latest first point position information and second point position information.
[0030] The measurement program generation method according to the present disclosure is a measurement program generation method for generating a measurement program that specifies the movement path of a probe in automatic measurement of an object to be measured, and includes the following steps: a first point position information acquisition step for acquiring first point position information that represents the position of a first point defined as a measurement point or an intermediate point included in the movement path of the probe; a second point position information acquisition step for acquiring second point position information that represents the position of a second point that is defined as a measurement point or an intermediate point included in the movement path of the probe and is different from the first point; a third point position information acquisition step for acquiring third point position information that represents the position of a third point on a line segment connecting the first point and the second point; a movement trajectory point position information acquisition step for acquiring movement trajectory point position information that represents the positions of one or more movement trajectory points on the movement trajectory that the probe passes through as it moves from the first point to the second point; a judgment step for judging whether there is a risk of the probe colliding with a collision target based on the third point position information and the movement trajectory point position information; and an alert output step for outputting an alert that represents the risk of the probe colliding with the collision target based on the judgment result in the judgment step.
[0031] According to the measurement program generation method of the present disclosure, it is possible to obtain the same effects as those of the measurement program generation device of the present disclosure. The components of the measurement program generation device of other aspects can be applied to the components of the measurement program generation method of other aspects.
[0032] The program according to the present disclosure is a program for generating a measurement program that specifies the movement path of a probe in automatic measurement of an object to be measured, and causes a computer to realize: a first point position information acquisition function that acquires first point position information that represents the position of a first point defined as a measurement point or intermediate point included in the movement path of the probe; a second point position information acquisition function that acquires second point position information that represents the position of a second point that is defined as a measurement point or intermediate point included in the movement path of the probe and is different from the first point; a third point position information acquisition function that acquires third point position information that represents the position of a third point on a line segment connecting the first point and the second point; a movement trajectory point position information acquisition function that acquires movement trajectory point position information that represents the positions of one or more movement trajectory points on the movement trajectory that the probe passes through as it moves from the first point to the second point; a judgment function that judges whether there is a risk of the probe colliding with a collision target based on the third point position information and the movement trajectory point position information; and an alert output function that outputs an alert indicating that there is a risk of the probe colliding with a collision target based on the judgment result derived using the judgment function.
[0033] According to the program of the present disclosure, it is possible to obtain the same effects as those of the measurement program generation device of the present disclosure. The components of the measurement program generation device according to other aspects may be applied to the components of the program according to other aspects.
[0034] The coordinate measuring machine according to the present disclosure includes a probe for measuring a measurement object, a measurement control unit for executing a measurement program that defines a movement path of the probe when performing automatic measurement, and moving the probe along a predefined movement path, and a measurement program generation unit for generating a measurement program, wherein the measurement program generation unit includes a first point position information acquisition unit that acquires first point position information representing the position of a first point defined as a measurement point or an intermediate point included in the movement path of the probe, and a second point position information that represents the position of a second point that is defined as a measurement point or an intermediate point included in the movement path of the probe and is different from the first point. This three-dimensional measuring machine includes a two-point position information acquisition unit, a third point position information acquisition unit that acquires third point position information that represents the position of a third point on a line segment connecting the first point and the second point, a movement trajectory point position information acquisition unit that acquires movement trajectory point position information that represents the positions of one or more movement trajectory points on a movement trajectory that the probe passes through as it moves from the first point to the second point, a judgment unit that judges whether there is a risk of the probe colliding with a collision target based on the third point position information and the movement trajectory point position information, and an alert output unit that outputs an alert that represents the risk of the probe colliding with the collision target based on the judgment result of the judgment unit.
[0035] The coordinate measuring machine according to the present disclosure can achieve the same effects as the measurement program generator according to the present disclosure. The components of the measurement program generator according to other aspects can be applied to the components of the coordinate measuring machine according to other aspects. [Effects of the Invention]
[0036] According to the present invention, when a second point where there is a risk of the probe colliding with the collision target is defined, an alert indicating that there is a risk of the probe colliding with the collision target is output. This allows the risk of the probe colliding with the collision target to be understood, and an optimal probe movement path can be defined. [Brief explanation of the drawings]
[0037] [Figure 1] FIG. 1 is a diagram showing the overall configuration of a coordinate measuring machine according to the first embodiment. [Figure 2] FIG. 2 is a functional block diagram showing an electrical configuration applied to the coordinate measuring machine shown in FIG. [Figure 3] FIG. 3 is a functional block diagram of the measurement program generating unit shown in FIG. [Figure 4] Figure 4 is an explanatory diagram of the issues involved in generating a measurement program. [Figure 5] FIG. 5 is a schematic diagram showing the flow from point position definition to alert processing. [Figure 6] FIG. 6 is an explanatory diagram of the alert process. [Figure 7] FIG. 7 is an explanatory diagram of the alert process when there is a risk of collision. [Figure 8] FIG. 8 is an explanatory diagram of the collision risk determination algorithm. [Figure 9] FIG. 9 is an explanatory diagram of a collision risk determination algorithm showing a case where there is a risk of collision. [Figure 10] FIG. 10 is an explanatory diagram showing an example of the configuration of an alert display screen. [Figure 11] FIG. 11 is a flowchart showing the steps of a method for defining a probe movement path in the measurement program generation method according to the first embodiment. [Figure 12] FIG. 12 is a functional block diagram of a measurement program generating unit applied to a coordinate measuring machine according to the second embodiment. [Figure 13] FIG. 13 is an explanatory diagram illustrating an example of suggestion information. [Figure 14] FIG. 14 is an explanatory diagram showing another example of the configuration of the alert display screen. [Figure 15] FIG. 15 is an explanatory diagram showing an example of the configuration of the suggestion display screen. [Figure 16] FIG. 16 is a flowchart showing the procedure of the measurement program generation method according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0038] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will now be described in detail with reference to the accompanying drawings. In this specification, the same components are designated by the same reference numerals, and redundant explanations will be omitted where appropriate.
[0039] [Overall configuration of the coordinate measuring machine] Figure 1 is a diagram showing the overall configuration of a coordinate measuring machine according to a first embodiment. The coordinate measuring machine 10 acquires coordinate values of measurement points on a workpiece, which is the object to be measured, measures the three-dimensional shape of the workpiece, and analyzes the geometric elements contained in the workpiece. Note that the coordinate measuring machine is sometimes referred to as a CMM, an abbreviation of Coordinate Measuring Machine in English.
[0040] The coordinate measuring machine 10 shown in the figure comprises a base 12, a table 14, a right Y carriage 16R, a left Y carriage 16L, an X guide 18, an X carriage 20, a Z carriage 22, and a probe head 24.
[0041] The base 12 is a support stand that supports the underside of the table 14. A surface plate is used as the table 14. A right Y carriage 16R is erected at one end of the top surface of the table 14 in the X-axis direction, and a left Y carriage 16L is erected at the other end.
[0042] The upper and side surfaces of both ends of the table 14 in the X-axis direction form sliding surfaces along which the right Y carriage 16R and left Y carriage 16L slide in the Y-axis direction. The right Y carriage 16R and left Y carriage 16L are equipped with air bearings at positions facing the sliding surfaces of the table 14. In other words, the right Y carriage 16R and left Y carriage 16L are supported by the table 14 so as to be able to move freely in the Y-axis direction. The air bearings equipped on the right Y carriage 16R and left Y carriage 16L are not shown in the drawing.
[0043] One end of X guide 18 in the X axis direction is supported by right Y carriage 16R, and the other end of X guide 18 in the X axis direction is supported by left Y carriage 16L. Right Y carriage 16R, left Y carriage 16L, and X guide 18 form gate-shaped frame 26. Gate-shaped frame 26 is configured to be movable in the Y axis direction.
[0044] X guide 18 has a sliding surface along the X axis direction along which X carriage 20 slides. X carriage 20 is equipped with an air bearing at a position facing the sliding surface of X guide 18. X carriage 20 is supported by X guide 18 so that it can move freely in the X axis direction. Note that the air bearing provided at a position facing the sliding surface of X guide 18 is not shown in the illustration.
[0045] Z carriage 22 is supported by X carriage 20 so as to be movable along the Z axis. X carriage 20 is equipped with an air bearing that guides Z carriage 22 in the Z axis direction. Note that the air bearing that guides Z carriage 22 in the Z axis direction is not shown in the figure.
[0046] The probe head 24 is attached to the lower end of the Z carriage 22. The probe head 24 includes a probe 24A. The probe 24A includes a slider 24B and a contactor 24C. The probe head 24 may be a five-axis simultaneously controlled probe head equipped with a stepless positioning mechanism that can position the probe 24A steplessly.
[0047] The coordinate measuring machine 10 includes an X drive unit, a Y drive unit, and a Z drive unit. The X drive unit moves the X carriage 20 along the X-axis direction. The Y drive unit moves the portal frame 26 along the Y-axis direction. The Z drive unit moves the Z carriage 22 along the Z-axis direction.
[0048] The coordinate measuring machine 10 can move the probe head 24 to any position in the mutually orthogonal X-axis, Y-axis, and Z-axis directions by appropriately operating the X-drive unit, Y-drive unit, and Z-drive unit. Note that the X-drive unit, Y-drive unit, and Z-drive unit are not shown in Fig. 1. The X-drive unit, Y-drive unit, and Z-drive unit are illustrated in Fig. 2 as drive unit 28.
[0049] The coordinate measuring machine 10 includes a first rotary drive unit that rotates the probe 24A around a first rotation axis and a second rotary drive unit that rotates the probe 24A around a second rotation axis that is perpendicular to the first rotation axis. The first rotary drive unit and the second rotary drive unit can rotate the orientation of the probe 24A as desired. Note that the first rotary drive unit and the second rotary drive unit are not shown in FIG. 1. The first rotary drive unit and the second rotary drive unit are illustrated in FIG. 2 as drive unit 28.
[0050] X guide 18 is equipped with a linear scale for detecting position in the X axis direction, and X carriage 20 is equipped with an X axis position detection head, which reads the value of the linear scale for detecting position in the X axis direction and outputs an X axis position detection signal.
[0051] Table 14 is provided with a linear scale for detecting Y-axis position on the side surface at one end in the X-axis direction. Right Y carriage 16R is also provided with a Y-axis position detection head. The Y-axis position detection head reads the value of the linear scale for detecting Y-axis position and outputs a Y-axis position detection signal.
[0052] Z carriage 22 is equipped with a linear scale for detecting position in the Z axis direction, and X carriage 20 is equipped with a Z axis direction position detection head. The Z axis direction position detection head reads the value of the linear scale for detecting position in the Z axis direction and outputs a Z axis direction position detection signal.
[0053] The probe head 24 is equipped with an encoder that detects the rotation angle of the probe 24 A. The rotation angle of the probe 24 A can be a rotation angle θ1 in a first rotation direction when rotating around a first rotation axis parallel to the X-axis direction, or a rotation angle θ2 in a second rotation direction when rotating around a second rotation axis parallel to the Z-axis direction.
[0054] The probe head 24 is equipped with a contact sensor that detects contact of the probe 24A with the workpiece. The contact sensor outputs a contact detection signal. That is, when the coordinate measuring machine 10 detects contact of the contact piece 24C with an arbitrary measurement point on the workpiece, it acquires position detection signals in the X-axis direction, Y-axis direction, and Z-axis direction, as well as rotation angle detection signals in the first rotation direction and second rotation direction, and can derive the coordinate values of the contact piece 24C.
[0055] The coordinate measuring machine 10 includes a controller 30 and a computer 40. The controller 30 and the computer 40 function as a measurement control unit of the coordinate measuring machine 10. The controller 30 transmits control signals to the X drive unit, the Y drive unit, the Z drive unit, the first rotation drive unit, and the second rotation drive unit, and controls the position and attitude of the probe 24A.
[0056] The controller 30 includes a controller operation unit 32 that includes a joystick, operation buttons, etc. The controller operation unit 32 is operated when manually operating the probe head 24.
[0057] The controller 30 includes a communication interface. The controller 30 is electrically connected to various position detection heads, contact sensors, etc. via the communication interface. The controller 30 acquires various detection signals output by the various position detection heads, contact sensors, etc.
[0058] The controller 30 is communicatively connected to the computer 40 via a communication interface. TCP / IP can be applied as the communication protocol between the controller 30 and the computer 40. TCP is an abbreviation for Transmission Control Protocol, and IP is an abbreviation for Internet Protocol.
[0059] The computer 40 includes a computer-readable medium 82 that stores software 81 containing instructions corresponding to the various functions of the coordinate measuring machine 10. The computer 40 also includes a processor 83 that executes the various instructions of the software 81. The processor 83 executes the various instructions of the software 81 stored in the computer-readable medium 82, which is a non-transitory tangible entity, to realize the various functions of the coordinate measuring machine 10. Note that software is synonymous with program. Hereinafter, software will be referred to as program.
[0060] The computer 40 acquires the measurement data, analyzes the acquired measurement data, and outputs the analysis results. The analysis results may be displayed on a display device 50 or printed on paper using a printing device.
[0061] The computer 40 generates a measurement program to be executed during automatic measurement by the coordinate measuring machine 10. A measurement program is generated for each piece of identification information such as the type of workpiece, and is stored in the computer-readable medium 82 in association with the identification information.
[0062] The processor 83 executes various instructions contained in the measurement program from the computer-readable medium 82 to perform automatic measurement with the coordinate measuring machine 10. Details of the generation of the measurement program will be described later.
[0063] The coordinate measuring machine 10 includes a display device 50 and an input device 52. The display device 50 displays various types of information in the coordinate measuring machine 10 based on display signals sent from the computer 40.
[0064] The input device 52 includes a keyboard, a mouse, etc. The input device 52 transmits signals representing various pieces of information input by the user to the computer 40. The computer 40 performs various processes based on the signals transmitted from the input device 52. The display device 50 may be configured as a touch panel and integrated with the operation unit.
[0065] [Electrical configuration of the coordinate measuring machine] Fig. 2 is a functional block diagram showing the electrical configuration applied to the coordinate measuring machine shown in Fig. 1. The computer 40 is equipped with a drive control unit 60. When automatic measurement of a workpiece is to be performed, the drive control unit 60 sends a command signal to the controller 30.
[0066] The controller 30 controls the drive unit 28 based on command signals sent from the computer 40 to operate the carriage 29 and rotate the probe head 24, thereby carrying out automatic measurement.
[0067] When manual measurement of a workpiece is performed, the controller 30 controls the drive unit 28 in response to the operation of the controller operation unit 32 to move the carriage 29 and rotate the probe head 24 .
[0068] 2 includes an X drive unit, a Y drive unit, a Z drive unit, a first rotation drive unit, and a second rotation drive unit. Also, carriage 29 includes X carriage 20, right Y carriage 16R, left Y carriage 16L, and Z carriage 22 shown in FIG.
[0069] The computer 40 includes a mode setting unit 62. The mode setting unit 62 sets the operation mode of the coordinate measuring machine 10. The operation modes of the coordinate measuring machine 10 include an automatic measurement mode, a manual measurement mode, and a teaching mode.
[0070] The automatic measurement mode is an operation mode that is set when a measurement program is executed to perform automatic measurement of a workpiece. The manual measurement mode is an operation mode that is set when an operator operates the controller operation unit 32 to move the probe head 24 to measure a workpiece. The teaching mode is an operation mode that is set when a measurement program is generated.
[0071] The mode setting unit 62 acquires mode setting information indicating the setting of the operation mode, and sets the operation mode of the coordinate measuring machine 10 according to the mode setting information. The computer 40 may cause the display device 50 to display the set operation mode.
[0072] The computer 40 includes a measurement data acquisition unit 64. The measurement data acquisition unit 64 acquires the coordinate values of the contactor 24C from the probe head 24 as measurement data of the workpiece.
[0073] When the coordinate measuring machine 10 is set to the automatic measurement mode, the measurement data acquisition unit 64 acquires the coordinate values of the contact 24C that is brought into contact with a predetermined measurement point. The coordinate values of the contact 24C at the measurement point acquired via the measurement data acquisition unit 64 are associated with identification information of the measurement point and stored. The identification information of the measurement point may be a sequential number assigned to multiple measurement points, the name of the portion of the measurement point on the measurement object, or a combination of multiple pieces of information.
[0074] The measurement data acquisition unit 64 acquires the coordinate values of points defined by the user when the coordinate measuring machine 10 is set to the teaching mode. The user can define points by operating the controller operation unit 32.
[0075] The coordinate values of the points are stored in association with the identification information of the points. The identification information of the points may be a serial number assigned to the points, a name of the points, or a combination of multiple pieces of information.
[0076] The computer 40 includes a measurement program generation unit 66. The measurement program generation unit 66 generates a measurement program to be applied to automatic measurement. The measurement program generation unit 66 defines the movement path of the probe 24A when performing automatic measurement. The movement path of the probe 24A is synonymous with the movement path of the slider 24B and the movement path of the contactor 24C. The generation of the measurement program will be described in detail later.
[0077] The measurement program generation unit 66 stores the generated measurement program in association with measurement identification information. The measurement program is stored in memory 82A of the computer-readable medium 82. The measurement identification information may be the name and serial number of the workpiece to be measured. The measurement identification number may be a combination of multiple pieces of information.
[0078] The computer 40 includes an analysis unit 68. The analysis unit 68 analyzes the measurement data of the workpiece acquired via the measurement data acquisition unit 64, and outputs the analysis results as the measurement results of the workpiece.
[0079] The computer 40 includes an input signal acquisition unit 70. The input signal acquisition unit 70 acquires a signal representing input information transmitted from the input device 52. The computer 40 performs various controls based on the input information.
[0080] The computer 40 includes a display control unit 72. The display control unit 72 transmits a display signal to the display device 50. The display device 50 displays various types of information in the coordinate measuring machine 10 based on the display signal transmitted from the display control unit 72.
[0081] The various control units, such as the drive control unit 60, are configured using a processor, such as a CPU (Central Processing Unit). Each control unit may be configured using one processor or multiple processors. Furthermore, multiple control units may be configured using one processor. The multiple processors may be the same type or different types.
[0082] The computer 40 includes a computer-readable medium 82. The computer-readable medium 82 may include a memory 82A serving as a main storage device and a storage 82B serving as an auxiliary storage device. The computer-readable medium 82 may include a semiconductor memory, a hard disk drive, a solid-state drive, or the like. The computer-readable medium 82 may also include a combination of multiple devices.
[0083] The computer-readable medium 82 stores various pieces of software 81, a learning model 86, and measurement data 88. That is, the computer-readable medium 82 includes an area where the various pieces of software 81 are stored, an area where the learning model 86 is stored, and an area where the measurement data 88 is stored. The computer-readable medium 82 may also include an area where various parameters are stored.
[0084] [Example of measurement program generation section configuration] Figure 3 is a functional block diagram of the measurement program generation unit shown in Figure 2. The measurement program generation unit 66 generates a measurement program including a definition of the movement path of the probe 24A in automatic measurement. Furthermore, when defining the movement path of the probe 24A in automatic measurement, the measurement program generation unit 66 outputs an alert if there is a risk of the probe 24A colliding with a collision target such as a workpiece along the movement path of the probe 24A. Examples of objects that may collide with the probe 24A include a jig for fixing a workpiece and a module storage rack for storing replacement stylus modules.
[0085] Here, a collision between the probe 24A and the workpiece refers to a state in which the probe 24A collides with the workpiece at a position different from the measurement position of the workpiece. Collisions between the probe 24A and the workpiece may include collisions between the slider 24B and the workpiece and collisions between the contactor 24C and the workpiece. Details of collisions of the probe 24A will be described later.
[0086] The measurement program generation unit 66 includes a point position information acquisition unit 100, an alert processing unit 102, a point position information storage unit 104, and an alert output unit 106. The point position information acquisition unit 100 acquires, as point position information, the coordinate values of a plurality of points defined by the user by teaching the coordinate measuring machine 10.
[0087] The points defined by the user include measurement points and intermediate points. A measurement point is a predetermined measurement position on the workpiece to be measured, and is a point where the contact 24C comes into contact with the workpiece. An intermediate point is a point defined between two adjacent measurement points, and is a point where the contact 24C does not come into contact with the workpiece. Multiple intermediate points may be defined between two adjacent measurement points.
[0088] Furthermore, the point position information acquiring unit 100 acquires position information of one or more points on the movement path of the probe 24A between two points defined by the user as point cloud data. The point position information acquiring unit 100 stores the position information and point cloud data of the points defined by the user.
[0089] Based on the position information of the two most recent points acquired via the point position information acquisition unit 100, the alert processing unit 102 determines whether there is a risk of collision of the probe 24A when the probe 24A moves between the two most recent points.
[0090] Here, the first point of the two most recent points is the point defined earlier and closer to the teaching start point in the movement path of the contact 24C during teaching. The second point is the last point of the two most recent points defined later and farther from the teaching start point in the movement path of the probe 24A during teaching.
[0091] The alert processing unit 102 outputs an alert when there is a risk of collision of the probe 24A. The latest two points here include any of a combination of a measurement point and a measurement point, a combination of a measurement point and an intermediate point, and a combination of an intermediate point and an intermediate point.
[0092] On the other hand, if there is no risk of collision of the probe 24A, the alert processing unit 102 determines the coordinate value of the first of the most recent two points and stores the coordinate value of the first point. When the coordinate value of the first point is determined, the alert processing unit 102 obtains point position information of the second point as point position information of the next first point, and erases the obtained point cloud data.
[0093] The point position information storage unit 104 stores the coordinate value of the confirmed first point as the coordinate value of the measurement point or the intermediate point. Each time the coordinate value of the first point is confirmed, the point position information storage unit 104 sequentially adds the coordinate value of the measurement point or the intermediate point.
[0094] The alert output unit 106 outputs an alert indicating that there is a risk of collision of the probe 24A, according to the determination result of the alert processing unit 102. Examples of the alert output mode include a mode in which visual information using text information or the like is output, and a mode in which sound information such as voice is output.
[0095] The point position information acquisition unit 100 described in the embodiment is an example of a first point position information acquisition unit that acquires first point position information representing the position of a first point, and an example of a second point position information acquisition unit that acquires second point position information representing the position of a second point. Also, the point position information acquisition unit 100 described in the embodiment is an example of a movement trajectory point position information acquisition unit that acquires movement trajectory point position information representing the positions of one or more movement trajectory points.
[0096] The alert processing unit 102 described in the embodiment is an example of a third-point position information acquisition unit that acquires third-point position information that indicates the position of the third point. The alert processing unit 102 described in the embodiment is an example of a determination unit that determines whether there is a risk of probe collision.
[0097] [Issues in generating measurement programs] Figure 4 is an explanatory diagram of the problem in generating a measurement program. Figure 4 shows the two-dimensional shape of a workpiece W having a three-dimensional shape as viewed from an arbitrary direction. Note that Figure 4 shows only a part of the workpiece W.
[0098] 4 illustrates points P1, P2, P3, P4, and P5 defined by the user. First, the user defines point P1, where teaching starts. Next, the user moves the probe 24A from point P1 to point P2, and defines point P2. In this way, the user defines points P3, P4, and P5 in order.
[0099] Points P2 and P5 are measurement points that are predefined on the workpiece W, and points P3 and P4 are intermediate points. Note that point P1, where teaching is started as shown in FIG. 4, is classified as an intermediate point rather than a measurement point.
[0100] For example, if the user forgets to define point 3 and defines point P4 next to point P2, in the automatic measurement, the probe 24A will move along the path indicated by the dashed arrow line, not along the path indicated by the solid arrow line, and will reach the collision point P CO At this point, the probe 24A collides with the workpiece W. The collision between the probe 24A and the workpiece W cannot be determined until the CNC operation is actually performed.
[0101] The three-dimensional measuring machine 10 shown in this embodiment is equipped with an alert function, and outputs an alert if it is determined that there is a possibility of collision between the probe 24A and the workpiece W, etc., when defining the movement path of the probe 24A in automatic measurement.
[0102] [Flow from point location definition to alert processing] Fig. 5 is a schematic diagram showing the flow from point position definition to alert processing. Fig. 5 illustrates point definition performed by the user, point cloud data acquisition processing performed by the measurement program generation unit 66 shown in Fig. 3, and alert processing.
[0103] The user performs the point definition step S10 to define point P1, which is the starting point of teaching. The point position information acquisition unit 100 shown in FIG. 3 acquires point position information D of point P1. P1 The point position information acquisition step S100 is executed to acquire the point position information.
[0104] Next, the user performs the point definition step S12 to define the point P2, which is the measurement point. The point position information acquisition unit 100 acquires the point position information DP2 Then, a point position information acquisition step S102 is executed to acquire the point position information.
[0105] The point position information acquisition unit 100 also acquires the movement locus R of the probe 24A from the point P1 to the point P2. 12 Add one or more points to point cloud data D R12 Then, a point cloud data acquisition step S104 is executed to acquire the point cloud data as follows.
[0106] The alert processing unit 102 receives point position information D of the point P1. P1 , point position information D of point P2 P2 and point cloud data D R12 The alert processing unit 102 executes a collision risk determination step S106 of determining the collision risk of the probe 24A using the above. The alert processing unit 102 also executes an alert output step S108 of outputting an alert.
[0107] In the alert output step S108, when there is a risk of collision of the probe 24A, the alert processing unit 102 outputs an alert to the effect that there is a risk of collision of the probe 24A. In the alert output step S108, information to the effect that there is no risk of collision of the probe 24A may be output.
[0108] If there is no risk of collision of the probe 24A, the point P1 is determined as a point constituting the movement path of the probe 24A in the automatic measurement, and the point position information D of the point P1 is P1 is stored, and the acquired point cloud data D R12 Here, points P1 and P2 shown in Figures 4 and 5 are an example of the latest two points, with point P1 being an example of the first point and point P2 being an example of the second point.
[0109] When the point P1 is determined as a point constituting the movement path of the probe 24A in the automatic measurement, the user performs the point definition step S14 to define the point P3 which is the intermediate point. The point position information acquisition unit 100 obtains the point position information D of the point P3. P3 Then, a point position information acquisition step S109 is executed to acquire the point position information.
[0110] The point position information acquisition unit 100 also calculates the movement locus R of the probe 24A from the point P2 to the point P3, with the points P2 and P3 being the two most recent points. 23 The position information of one or more points in the point cloud data D R23 Then, a point cloud data acquisition step S110 is executed to acquire the point cloud data as follows.
[0111] The alert processing unit 102 receives point position information D of the point P2. P2 , point position information D of point P3 P3 and point cloud data D R23 The alert processing unit 102 also performs an alert output step S114 that outputs an alert. In the collision risk determination step S112, the point P2 that was determined as the second point in the collision risk determination step S106 is set as the first point, and the newly defined point P3 is set as the second point.
[0112] The collision risk determination step S112 is similar to the collision risk determination step S106, and the alert output step S114 is similar to the alert output step S108. Here, a description of the collision risk determination step S112 and the alert output step S114 will be omitted.
[0113] In this way, each time the user defines a measurement point or intermediate point, the measurement program generation unit 66 determines the risk of collision of the probe 24A for the most recent two points and outputs an alert if there is a risk of collision of the probe 24A.
[0114] [Specific example of alert processing] 6 is an explanatory diagram of the alert process. FIG. 6 is an enlarged view of a part of FIG. 4, and shows the movement locus R of the probe 24A from point P1 to point P2. 12 1 illustrates a case where there is no risk of collision of the probe 24A.
[0115] The point position information acquisition unit 100 shown in FIG. 3 acquires a movement trajectory R from point P1 to point P2 shown in FIG. 12 The locus point P at M1 , moving trajectory point P M2 , moving trajectory point PM3 and the moving trajectory point P M4 Get.
[0116] Movement trajectory point P M1 The coordinate values of the contact 24C acquired using a predefined sampling period may be applied to the movement locus point P. M1 The sampling period applied to the storage of the trajectory points P shown in FIG. M1 , moving trajectory point P M2 , moving trajectory point P M3 and the moving trajectory point P M4 is the point cloud data D shown in Figure 5. R12 is a component of.
[0117] The alert processing unit 102 sets an alert decision point P between the points P1 and P2. C12 Calculate the alert decision point P C12 is a line segment L with point P1 at one end and point P2 at the other end. 12 The midpoint of
[0118] Alert decision point P C12 is the line segment L 12 One of the two points that divides into thirds and the line segment L 12 Let n be an integer greater than or equal to 2, such as one of the three points that divide the line segment L into four equal parts. 12 It is also possible to apply any of the n-1 points obtained by dividing the value into n equal parts. Note that n is preferably 4 or less, and more preferably 2.
[0119] The alert decision point P shown in Figure 6 C12 is a point that exists in the space through which the contact 24C of the probe 24A actually passed. The alert processing unit 102 determines that there is no risk of collision of the probe 24A with respect to the movement trajectory of the probe 24A from point P1 to point P2, and does not output an alert.
[0120] When the point P1 is determined and stored as a point constituting the movement path of the probe 24A in the automatic measurement, the alert processing unit 102 determines the movement locus point P M1 , moving trajectory point P M2 , moving trajectory point P M3and the moving trajectory point P M4 and alert decision point P C12 Erase.
[0121] Fig. 7 is an explanatory diagram of the alert processing when there is a risk of collision. Fig. 7 shows a schematic diagram of a case where the user forgets to define point P3 shown in Fig. 4 and defines point P4 next to point P2.
[0122] The point position information acquisition unit 100 determines the two most recent points as P2 and P4, and calculates the movement trajectory R from P2 to point P4. 24 The locus point P at M1 From the moving trajectory point P M9 Each movement trajectory point up to the point P M5 corresponds to point P3, which should be defined as the intermediate point that the user forgot to define.
[0123] The alert processing unit 102 determines an alert decision point P between points P2 and P4. C24 As in the example shown in Figure 6, the alert decision point P C24 is the line segment L whose ends are points P2 and P4. 24 The midpoint of is applied.
[0124] The alert decision point P shown in Figure 7 C24 is a point that does not exist in the space through which the contact 24C of the probe 24A actually passed. The alert processing unit 102 determines that there is a risk of the probe 24A colliding with the workpiece W regarding the movement trajectory of the probe 24A from point P2 to point P4, and outputs an alert to the effect that there is a risk of collision of the probe 24A.
[0125] [An example of an algorithm for determining the risk of collision] 8 is an explanatory diagram of the collision risk determination algorithm. In FIG. 8, the movement locus point P M1 From P M4 Up to and alert decision point P C12 is illustrated.
[0126] The collision risk determination algorithm may apply a cluster analysis method, which is one of the unsupervised machine learning methods. The cluster analysis may be called clustering or the like. That is, for a trained learning model, M1 From P M4 Up to and alert decision point P C12 When the input is made, the alert processing unit 102 including the trained learning model calculates the alert decision point P C12 is the locus point P M1 From P M4 It is determined whether the cluster is the same as the cluster up to that point.
[0127] As shown in Figure 6, the alert decision point P C12 is the locus point P M1 From P M4 If the clusters up to belong to the same cluster, it is determined that there is no risk of collision of the probe 24A. The closed curve using the dashed lines shown in Fig. 6 indicates a cluster. The same applies to the closed curve using the dashed lines shown in Fig. 9.
[0128] 9 is an explanatory diagram of a collision risk determination algorithm showing a case where there is a risk of collision. M1 From the moving trajectory point P M9 Up to and alert decision point P C24 is illustrated.
[0129] The alert decision point P shown in Figure 9 C24 is the movement trajectory point P M1 From the moving trajectory point P M9 In the case shown in Fig. 9, it is determined that there is a risk of collision with the probe 24A.
[0130] [Example of alert output] Fig. 10 is an explanatory diagram showing an example of the configuration of an alert display screen. Fig. 10 shows a mode in which an alert is displayed on the display device 50 shown in Fig. 1 etc. The alert display screen 200 shown in Fig. 10 displays an alert display area 202, text information 204, a first button icon 206, and a second button icon 208.
[0131] 10 shows examples of text information 204, including text indicating that a collision risk of probe 24A has been detected and text asking whether to delete the previous intermediate point and redo teaching. An example of the previous intermediate point is point P4, which is the intermediate point shown in FIG.
[0132] The first button icon 206 is an OK button that is operated to delete the previous waypoint and start teaching again, and the second button icon 208 is a cancel button that is operated to continue teaching without deleting the previous waypoint.
[0133] Figure 10 illustrates an example in which a separate window opens in addition to the teaching screen 210 displayed during teaching, and the alert display screen 200 is displayed in the separate window, but the teaching screen 210 may also display the components of the alert display screen 200.
[0134] [Procedure of measurement program generation method according to the first embodiment] 11 is a flowchart showing the steps of a method for defining a probe movement path in the measurement program generation method according to the first embodiment. In a point position information acquisition step S200, the point position information acquisition unit 100 shown in FIG. 3 acquires and stores point position information for points defined by the user.
[0135] The point position information acquisition step S200 shown in Fig. 11 corresponds to the point position information acquisition step S100, the point position information acquisition step S102, and the point position information acquisition step S109 shown in Fig. 5. When the point position information of the latest two points is acquired in the point position information acquisition step S200, the process proceeds to the point cloud data acquisition step S202.
[0136] The point position information acquisition step S200 may be divided into a first point position information acquisition step for acquiring first point position information and a second point position information acquisition step for acquiring second point position information. The first point position information acquisition step and the second point position information acquisition step may be executed in parallel, or one of them may be executed before the other.
[0137] In the point cloud data acquisition step S202, the point position information acquisition unit 100 acquires point cloud data between the latest two points acquired in the point position information acquisition step S200. The point cloud data acquisition step S202 shown in Fig. 11 corresponds to the point cloud data acquisition step S104 and the point cloud data acquisition step S110 shown in Fig. 5.
[0138] As an example of point cloud data, the movement trajectory point P shown in Figure 6 M1 , moving trajectory point P M2 , moving trajectory point P M3 and the moving trajectory point P M4 Another example of point cloud data is the position information of the movement trajectory points P M1 From the moving trajectory point P M9 The point cloud data acquisition step S202 is followed by an alert determination point derivation step S204. The point cloud data acquisition step S202 described in the embodiment is an example of a movement trajectory point position information acquisition step for acquiring movement trajectory point position information.
[0139] In the alert decision point derivation step S204, the alert processing unit 102 derives alert decision points for the two most recent points acquired in the point position information acquisition step S200. As an example of the alert decision point, the alert decision point P C12 As shown in Figure 7, the alert decision point P C24 After the alert determination point deriving step S204, the process proceeds to a collision risk determination step S206. Note that the alert determination point deriving step S204 described in the embodiment is an example of a third point position information acquisition step of acquiring third point position information.
[0140] In the collision risk determination step S206, the alert processing unit 102 determines whether there is a collision risk of the probe 24A. In the collision risk determination step S206, if the alert processing unit 102 determines that there is no collision risk of the probe 24A, the determination is No. If the determination is No, the process proceeds to a first point storage step S207.
[0141] On the other hand, in the collision risk determination step S206, if the alert processing unit 102 determines that there is a collision risk of the probe 24A, a Yes determination is made. If the Yes determination is made, the process proceeds to an alert output step S208. The collision risk determination step S206 shown in Fig. 11 corresponds to the collision risk determination step S106 and the collision risk determination step S112 shown in Fig. 5.
[0142] In the first point storage step S207, the point position information storage unit 104 determines and stores the first point position information as position information of the measurement point or the intermediate point. In addition, the alert processing unit 102 erases the point cloud data. After the first point storage step S207, the process proceeds to the end determination step S210.
[0143] In the alert output step S208, the alert output unit 106 outputs an alert indicating that there is a risk of collision of the probe 24A. The alert output step S208 shown in Fig. 11 corresponds to the alert output step S108 and the alert output step S114 shown in Fig. 5. After the alert output step S208, the process proceeds to a teaching retry determination step S209.
[0144] In the teaching redo determination step S209, the measurement program generation unit 66 shown in FIG. 2 acquires information indicating whether or not to redo the teaching input by the user on the alert display screen 200 shown in FIG. 10, and determines whether or not to redo the teaching based on the acquired user input information.
[0145] In the teaching retry determination step S209, if the measurement program generation unit 66 determines to continue without retrying teaching, the determination is No. If the determination is No, the process proceeds to the termination determination step S210.
[0146] On the other hand, in the teaching retry determination step S209, if the alert processing unit 102 determines that teaching should be repeated, the determination is Yes. If the determination is Yes, the point position information of the second point that has already been acquired out of the two most recent points acquired in the point position information acquisition step S200 is deleted, and the acquired point cloud data is also deleted, and the process proceeds to the point position information acquisition step S200.
[0147] Furthermore, in the point position information acquisition process S200, the newly defined point is set as the second point, and point position information of the new second point is acquired, and each process from the point position information acquisition process S200 to the collision risk judgment process S206 is repeatedly executed until the collision risk judgment process S206 results in a No judgment, or the teaching redo judgment process S209 results in a No judgment.
[0148] In the termination determination step S210, the measurement program generation unit 66 determines whether or not to terminate the definition of the movement path of the probe 24A in the measurement program. In the termination determination step S210, if the measurement program generation unit 66 determines to continue setting the movement path of the probe 24A, the determination is No.
[0149] If the determination is No, the process proceeds to the point position information acquisition step S200, and each step from the point position information acquisition step S200 to the end determination step S210 is repeatedly executed until the determination is Yes in the end determination step S210.
[0150] On the other hand, in the termination determination step S210, if the measurement program generation unit 66 determines that setting of the movement path of the probe 24A is to be terminated, the determination is Yes. If the determination is Yes, the measurement program generation unit 66 terminates the method of defining the movement path of the probe in the measurement program generation method.
[0151] [Example of application to a measurement program generator] 2 functions as a measurement program generator that generates a measurement program to be applied to the coordinate measuring machine 10. That is, the component of the computer 40 that functions as the measurement program generator may be separated from the coordinate measuring machine 10.
[0152] The computer functioning as the measurement program generator may be communicably connected via a network to the computer functioning as the control device of the coordinate measuring machine 10. The computer functioning as the measurement program generator may employ a virtual machine.
[0153] [Example of application to a program] A program can be configured to cause a computer to realize the various mechanisms realized by the measurement program generation device. For example, a program can be configured to cause a computer to realize a point position information acquisition function, an alert processing function, a point position information storage function, and an alert output function corresponding to each unit constituting the measurement program generation unit 66 shown in FIG.
[0154] The point position information acquisition function described in the embodiment is an example of a first point position information acquisition function and an example of a second point position information acquisition function. The point position information acquisition function described in the embodiment is an example of a movement trajectory point position information acquisition function.
[0155] The alert processing function described in the embodiment is an example of a third point position information acquisition function, and is an example of a judgment function that determines whether there is a risk of the probe colliding with a collision target based on the third point position information and the movement trajectory point position information.
[0156] [Effects of the first embodiment] The coordinate measuring machine 10, the computer 40 functioning as a measurement program generating device, and the measurement program generating method according to the first embodiment can achieve the following advantageous effects.
[0157] [1] In teaching mode, point position information for the two most recent points defined by the user is acquired. Point cloud data representing the positions of one or more points on the movement path of the probe 24A between the two user-defined points is acquired. The midpoint of the two most recent points defined by the user is derived, and if the point cloud data and the midpoint of the two most recent points belong to different clusters, it is determined that there is a risk of collision with the probe 24A, and an alert is output.
[0158] This allows the user who has received the alert to understand the risk of the probe 24A colliding with the workpiece or the like, and to specify a movement path for the contact 24C that can avoid collision of the probe 24A. In addition, the efficiency of checking and correcting the movement path is improved.
[0159] [2] A cluster analysis is performed on the point cloud data and the midpoint of the two most recent points to determine whether the point cloud data and the midpoint of the two most recent points belong to the same cluster. This makes it possible to determine the collision risk of the probe 24A based on the positional relationship between the point cloud data and the midpoint of the two most recent points.
[0160] [3] The cluster analysis is performed using a trained model generated by performing unsupervised learning, which allows for highly accurate cluster analysis.
[0161] [4] The alert display screen 200 is displayed on the display device 50. This allows the user to visually understand the risk of collision of the probe 24A.
[0162] [5] A first button icon 206 for selecting redoing teaching is displayed on the alert display screen 200. This allows the user to operate the first button icon 206 and select redoing teaching.
[0163] [Coordinate measuring machine according to the second embodiment] Fig. 12 is a functional block diagram of a measurement program generator applied to a coordinate measuring machine according to the second embodiment. A measurement program generator 66A shown in Fig. 12 is configured by adding a suggested point derivation unit 110, a suggested point output unit 112, and a suggested point correction unit 114 to the measurement program generator 66 shown in Fig. 3.
[0164] The suggested point derivation unit 110 derives suggested points that are candidates for the midpoints when it is determined that there is a risk of collision of the probe 24A. The suggested point derivation unit 110 may select suggested points from the movement trajectory points that constitute the point cloud data, or may derive coordinate values of any points that will be suggested points.
[0165] The suggestion output unit 112 outputs, as suggestion information, position information of the suggestion point derived using the suggestion point derivation unit 110. Examples of output modes of suggestion information include a mode in which visual information using character information or the like is output, and a mode in which sound information such as voice is output.
[0166] Furthermore, when the suggestion output unit 112 receives a command to set a suggestion point as a newly inserted intermediate point, the suggestion output unit 112 transmits position information of the suggestion point to the point position information acquisition unit 100. The point position information acquisition unit 100 acquires the position information of the suggestion point transmitted from the suggestion output unit 112 as second point position information of the new second point.
[0167] The suggestion point correction unit 114 corrects the position information of the suggestion point derived using the suggestion point derivation unit 110 in accordance with a correction command input by the user. The suggestion point correction unit 114 transmits the corrected position information of the suggestion point to the point position information acquisition unit 100. The point position information acquisition unit 100 acquires the corrected position information of the suggestion point transmitted from the suggestion point correction unit 114 as second point position information of a new second point. Note that the suggestion point correction unit 114 described in the embodiment is an example of a suggestion point position information correction unit that corrects the suggestion point position information.
[0168] [Examples of suggested information] 13 is an explanatory diagram showing an example of suggested points. In FIG. 13, points P2, P4 and movement trajectory point P M1 From the moving trajectory point P M9 The suggested point deriving unit 110 shown in FIG. M1 From the moving trajectory point P M9Alert decision point P C24 and the closest trajectory point P M5 is derived as a suggested point.
[0169] That is, the suggestion point deriving unit 110 calculates the movement trajectory point P M1 From the moving trajectory point P M9 For each of the above, the alert decision point P C24 Calculate the three-dimensional distance from the alert decision point P C24 The alert decision point with the shortest three-dimensional distance from the target point is derived as the suggested point.
[0170] The suggestion point derivation unit 110 described in the embodiment is an example of a second point candidate derivation unit that derives a movement trajectory point that is the shortest distance from the third point as a candidate for the second point. Position information of the suggestion point derived using the suggestion point derivation unit 110 described in the embodiment is an example of suggestion point position information that indicates the position of the suggestion point.
[0171] [Example of alert output] 14 is an explanatory diagram showing another example of the configuration of the alert display screen. The alert output unit 106 shown in FIG. 12 causes the display device 50 to display an alert display screen 200A shown in FIG.
[0172] The alert display screen 200A shown in FIG. 14 displays character information 204A including character information indicating whether or not to insert an intermediate point, instead of the character information 204 including character information indicating whether or not to redo teaching on the alert display screen 200 shown in FIG. 10.
[0173] The user can insert a midpoint by operating the first button icon 206 displayed on the alert display screen 200A, or can continue teaching without inserting a midpoint by operating the second button icon 208 displayed on the alert display screen 200A.
[0174] [Example of suggestion output] Fig. 15 is an explanatory diagram showing an example of the configuration of a suggestion display screen. The suggestion display screen 220 shown in the figure is displayed on the display device 50 when the first button icon 206 is operated on the alert display screen 200A shown in Fig. 14. The suggestion display screen 220 shown in Fig. 15 displays text information 221 that prompts the user to insert a midpoint.
[0175] 12 displays the coordinate values of the point to be inserted as the midpoint on the suggestion display screen 220.
[0176] The midpoint coordinate display area 222 includes an X-axis coordinate display area 224 for displaying X-axis coordinate values, a Y-axis coordinate display area 226 for displaying Y-axis coordinate values, and a Z-axis coordinate display area 228 for displaying Z-axis coordinate values. The suggestion output unit 112 displays the coordinate values of the suggested points as default values in the midpoint coordinate display area 222.
[0177] A numeric keypad 230 is displayed on the suggestion display screen 220. The user can operate the numeric keypad 230 to manually input the coordinate values of a point to be inserted as an intermediate point.
[0178] The suggestion display screen 220 displays a third button icon 232 and a fourth button icon 234. The third button icon 232 is an OK button that is operated when inserting a midpoint. The fourth button icon 234 is a cancel button that is operated when not inserting a midpoint.
[0179] [Procedure of measurement program generation method according to the second embodiment] Fig. 16 is a flowchart showing the procedure of the measurement program generation method according to the second embodiment. Each of the steps from the point position information acquisition step S200 to the alert output step S208 shown in Fig. 16 is the same as each of the steps from the point position information acquisition step S200 to the alert output step S208 shown in Fig. 11, and therefore a description thereof will be omitted here.
[0180] 12 outputs an alert, a suggestion point deriving step S220 is executed. In the suggestion point deriving step S220, the suggestion point deriving unit 110 derives a suggestion point. After the suggestion point deriving step S220, the process proceeds to a suggestion output step S222.
[0181] In the suggestion output step S222, the suggestion output unit 112 displays the suggestion display screen 220 on the display device 50, and displays the coordinate values of the suggestion point derived in the suggestion point derivation step S220 as default values of the midpoint. After the suggestion output step S222, the process proceeds to an adoption determination step S224.
[0182] In the adoption determination step S224, it is determined whether the default value of the midpoint has been adopted. If the coordinate value of the midpoint has been changed in the adoption determination step S224, the result is No. If the result is No, the process proceeds to the midpoint information acquisition step S226. On the other hand, if the coordinate value of the midpoint is not changed and the default value of the midpoint is adopted in the adoption determination step S224, the determination is Yes. If the determination is Yes, the process proceeds to the termination determination step S210.
[0183] In the intermediate point information acquisition step S226, the point position information acquisition unit 100 acquires the coordinate values of the intermediate point input using the numeric keypad 230. After the intermediate point information acquisition step S226, the process proceeds to an intermediate point insertion step S228.
[0184] In the midpoint insertion step S228, the point position information storage unit 104 determines the coordinate values of the midpoint acquired in the midpoint information acquisition step S226 and stores them as a new midpoint. After the midpoint insertion step S228, the process proceeds to the termination determination step S210. The termination determination step S210 shown in Figure 16 is the same step as the termination determination step shown in Figure 11, and therefore a description thereof will be omitted here.
[0185] [Effects of the second embodiment] The coordinate measuring machine, the computer functioning as a measurement program generating device, and the measurement program generating method according to the first embodiment can achieve the following advantageous effects.
[0186] [1] When an alert is output, a suggested point that is a candidate for a new intermediate point to be inserted is derived. A suggestion display screen 220 including the coordinate values of the suggested point is displayed on the display device 50. This allows the user to recognize the suggested point as a candidate for a new intermediate point to be inserted.
[0187] [2] The coordinate values of the midpoint are displayed in the midpoint coordinate display area 222 of the suggestion display screen 220. This allows the user to grasp the coordinate values of the suggestion point.
[0188] [3] A numeric keypad 230 is displayed on the suggestion display screen 220. The user can change the coordinate values of the midpoint displayed in the midpoint coordinate display area 222 of the suggestion display screen 220 by operating the numeric keypad 230.
[0189] [4] The coordinate values of the intermediate points changed by the user are acquired and stored, thereby determining the coordinate values of the intermediate points changed by the user.
[0190] The above-described embodiments of the present invention may be modified, added, or deleted as appropriate within the scope of the spirit of the present invention. The present invention is not limited to the above-described embodiments, and many modifications may be made by a person skilled in the art within the technical concept of the present invention. [Explanation of symbols]
[0191] 10... three-dimensional measuring machine, 40... computer, 50... display device, 66... measurement program generation unit, 81... software, 82... computer-readable medium, 86... learning model, 100... point position information acquisition unit, 102... alert processing unit, 104... point position information storage unit, 106... alert output unit, 110... suggestion point derivation unit, 112... suggestion output unit, 200... alert display screen, 220... suggestion display screen
Claims
1. A measurement program generation device that generates a measurement program that defines a movement path of a probe in automatic measurement of a measurement object, a first point position information acquisition unit that acquires first point position information that represents a position of a first point included in a movement path of the probe; a second point position information acquisition unit that acquires second point position information that represents a position of a second point that is included in a movement path of the probe and is different from the first point; a third point position information acquisition unit that acquires third point position information that represents a position of a third point on a line segment that connects the first point and the second point; a movement trajectory point position information acquisition unit that acquires movement trajectory point position information representing positions of one or more movement trajectory points on a movement trajectory through which the probe passes when the probe moves from the first point to the second point; a determination unit that determines whether there is a risk of the probe colliding with a collision target based on the third point position information and the movement trajectory point position information; an alert output unit that outputs an alert indicating that there is a risk of the probe colliding with the collision target and a collision avoidance measure in accordance with the determination result of the determination unit; A measurement program generating device comprising:
2. The measurement program generation device of claim 1, wherein the alert output unit outputs, as the collision avoidance measure, information representing the deletion of the first point or the second point, and information representing the setting of the first point or the second point in place of the deleted first point or the second point.
3. The measurement program generation device according to claim 2 , wherein the alert output unit outputs information indicating that the immediately preceding first point or second point has been deleted.
4. The measurement program generation device according to claim 1 , wherein the alert output unit outputs information indicating the addition of the first point or the second point as the collision avoidance measure.
5. The measurement program generation device according to claim 4 , wherein the alert output unit displays a screen for inputting the position of the first point or the second point to be added.
6. 1. A measurement program generation method for generating a measurement program that defines a movement path of a probe in automatic measurement of a measurement object, comprising: a first point position information acquiring step of acquiring first point position information representing a position of a first point included in a movement path of the probe; a second point position information acquiring step of acquiring second point position information representing a position of a second point included in a movement path of the probe and different from the first point; a third-point position information acquisition step of acquiring third-point position information representing the position of a third point on a line segment connecting the first point and the second point; a movement trajectory point position information acquisition step of acquiring movement trajectory point position information representing positions of one or more movement trajectory points on a movement trajectory through which the probe passes when the probe moves from the first point to the second point; a determination step of determining whether there is a risk of the probe colliding with a collision target based on the third point position information and the movement trajectory point position information; an alert output step of outputting an alert indicating that there is a risk of the probe colliding with the collision target and a collision avoidance measure in accordance with the determination result in the determination step; A measurement program generation method including:
7. A program for generating a measurement program that defines a movement path of a probe in automatic measurement of a measurement object, On the computer, a first point position information acquisition function for acquiring first point position information representing the position of a first point included in the movement path of the probe; a second point position information acquisition function for acquiring second point position information representing a position of a second point included in a movement path of the probe and different from the first point; a third-point position information acquisition function for acquiring third-point position information representing the position of a third point on a line segment connecting the first point and the second point; a movement trajectory point position information acquisition function that acquires movement trajectory point position information representing the positions of one or more movement trajectory points on a movement trajectory through which the probe passes when the probe moves from the first point to the second point; a determination function for determining whether there is a risk of the probe colliding with a collision target based on the third point position information and the movement trajectory point position information; and an alert output function that outputs an alert indicating that there is a risk of the probe colliding with the object to be collided, and a collision avoidance measure, in accordance with the result of the judgment using the judgment function; A program to make this happen.
8. a probe for measuring the measurement object; a measurement control unit that executes a measurement program that defines a movement path of the probe when performing automatic measurement, and moves the probe along a predetermined movement path; a measurement program generation unit that generates the measurement program; Equipped with The measurement program generation unit a first point position information acquisition unit that acquires first point position information that represents a position of a first point included in a movement path of the probe; a second point position information acquisition unit that acquires second point position information that represents a position of a second point that is included in a movement path of the probe and is different from the first point; a third point position information acquisition unit that acquires third point position information that represents a position of a third point on a line segment that connects the first point and the second point; a movement trajectory point position information acquisition unit that acquires movement trajectory point position information representing positions of one or more movement trajectory points on a movement trajectory through which the probe passes when the probe moves from the first point to the second point; a determination unit that determines whether there is a risk of the probe colliding with a collision target based on the third point position information and the movement trajectory point position information; an alert output unit that outputs an alert indicating that there is a risk of the probe colliding with the collision target and a collision avoidance measure according to the determination result of the determination unit; A three-dimensional measuring machine equipped with
Citation Information
Patent Citations
Optimizing device for probe path for three-dimensional coordinate measuring instrument
JP1995210586A