Control device and control method for drive controller
The control device and method address the mismatch in coordinate systems by converting joystick operations to the machine's coordinate system, enhancing operability and preventing collisions, thus improving the efficiency of three-dimensional coordinate measuring machines.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- TOKYO SEIMITSU CO LTD
- Filing Date
- 2025-12-03
- Publication Date
- 2026-06-25
Smart Images

Figure JP2025042156_25062026_PF_FP_ABST
Abstract
Description
Control device and control method for drive controller
[0001] The present invention relates to a control device and control method for a drive controller having a manual operating member for indicating the direction of movement of a probe provided on a three-dimensional coordinate measuring machine.
[0002] Conventionally, three-dimensional coordinate measuring machines are known to have an automatic measurement mode that automatically performs measurements of multiple measurement elements (e.g., circular holes) while moving a probe relative to the workpiece (object to be measured), and a manual measurement mode that manually performs measurements of each element of the workpiece (see, for example, Patent Document 1).
[0003] Such three-dimensional coordinate measuring machines are connected to a drive controller that controls the movement of the probe. In automatic measurement mode, the drive controller measures each element of the workpiece while moving the probe according to a predetermined measurement program (part program) that specifies the measurement position and measurement order of multiple measurement elements.
[0004] Furthermore, the drive controller is equipped with a joystick as a manual operating element to indicate the direction of probe movement, and in manual measurement mode, the probe is moved according to the direction of joystick operation.
[0005] Japanese Patent Publication No. 2017-133909
[0006] Incidentally, the joystick operation direction in a drive controller is defined based on the coordinate system defined in the drive controller (hereinafter referred to as the "controller coordinate system"). In contrast, the movement direction of the probe installed in a three-dimensional coordinate measuring machine is defined based on the coordinate system defined in the three-dimensional coordinate measuring machine (hereinafter referred to as the "machine coordinate system"). Therefore, depending on the orientation (direction) of the drive controller relative to the three-dimensional coordinate measuring machine, the axial directions of the controller coordinate system and the machine coordinate system may or may not coincide.
[0007] For example, if the joystick is operated from a position different from the designated reference position (the position of the drive controller relative to the three-dimensional coordinate measuring machine), the direction of probe movement when the joystick is operated from the user's perspective may differ from that when operated from the reference position, making it confusing for the user. To prevent this, it becomes necessary to limit the user's operating position. Consequently, the degree of freedom of the operating position is reduced, making it inconvenient to use, and as a result, operability decreases, leading to a decrease in work efficiency.
[0008] This invention has been made in view of these circumstances, and aims to provide a control device and control method for a drive controller that can improve operability and work efficiency.
[0009] To achieve the above objective, the present invention comprises the following embodiments.
[0010] The control device for a drive controller according to the first embodiment is a control device for a drive controller having a manual operating member for instructing the direction of movement of a probe provided on a three-dimensional coordinate measuring machine, comprising: a relative attitude detection unit that detects relative attitude information indicating the relative attitude between the three-dimensional coordinate measuring machine and the drive controller; an operation detection unit that detects an operation direction vector indicating the direction of operation of the manual operating member in a first coordinate system defined on the drive controller; a conversion processing unit that converts the operation direction vector represented in the first coordinate system to a second coordinate system defined on the three-dimensional coordinate measuring machine based on the relative attitude information; and a drive control unit that instructs the direction of movement of the probe based on the operation direction vector converted to the second coordinate system.
[0011] The control device for the drive controller according to the second embodiment includes, in the first embodiment, at least one attitude detection sensor capable of detecting the attitude of the drive controller and the attitude of the three-dimensional coordinate measuring machine, and the relative attitude detection unit obtains a transformation matrix that performs a coordinate transformation from the first coordinate system to the second coordinate system as relative attitude information based on the detection result of the at least one attitude detection sensor.
[0012] In the third embodiment, the control device of the drive controller, in the second embodiment, includes at least one attitude detection sensor, which is a first attitude detection sensor provided on a three-dimensional coordinate measuring machine and a second attitude detection sensor provided on the drive controller.
[0013] In the fourth embodiment, the control device of the drive controller, in the second or third embodiment, includes at least one attitude detection sensor which includes an acceleration sensor and a geomagnetic sensor.
[0014] The control device for the drive controller according to the fifth embodiment includes, in the first embodiment, a measurement sensor for detecting the self-position of the drive controller, and a self-position estimation unit that estimates the self-position of the drive controller based on the detection result of the measurement sensor, and the relative attitude detection unit detects relative attitude information based on the result of the self-position estimation unit estimating the initial self-position of the drive controller and the result of the self-position estimation unit estimating the current self-position of the drive controller.
[0015] In the sixth embodiment, the control device for the drive controller is, in the fifth embodiment, a measurement sensor which is at least one camera provided on the drive controller, and a self-position estimation unit which estimates the self-position of the drive controller based on information captured by the at least one camera.
[0016] A control method for a drive controller according to the seventh embodiment is a control method for a drive controller having a manual operating member for instructing the direction of movement of a probe provided on a three-dimensional coordinate measuring machine, comprising: a relative attitude detection step for detecting relative attitude information indicating the relative attitude between the three-dimensional coordinate measuring machine and the drive controller; an operation detection step for detecting an operation direction vector indicating the direction of operation of the manual operating member in a first coordinate system defined on the drive controller; a conversion processing step for converting the operation direction vector represented in the first coordinate system to a second coordinate system defined on the three-dimensional coordinate measuring machine based on the relative attitude information; and a drive control step for instructing the direction of movement of the probe based on the operation direction vector converted to the second coordinate system.
[0017] According to the present invention, improvements in operability and work efficiency can be achieved.
[0018] This is a schematic configuration diagram showing a three-dimensional coordinate measuring machine according to the first embodiment. This is a functional block diagram of the computer according to the first embodiment. This is a diagram showing the relationship between the machine coordinate system and the controller coordinate system. This is a flowchart showing an example of manual operation control in the first embodiment. This is a functional block diagram of the computer according to the second embodiment. This is a schematic configuration diagram showing a three-dimensional coordinate measuring machine and drive controller in the second embodiment. This is a diagram showing the planar positional relationship between the three-dimensional coordinate measuring machine and the drive controller. This is a flowchart showing an example of manual operation control in the second embodiment.
[0019] Embodiments of the present invention will be described below with reference to the attached drawings.
[0020] <First Embodiment> [Three-Dimensional Coordinate Measuring Machine] Figure 1 is a schematic diagram showing a three-dimensional coordinate measuring machine 10 according to the first embodiment. The three-dimensional coordinate measuring machine 10 measures the shape of the measurement elements of the workpiece W while displacing the position and orientation of the probe 12a. The XYZ axes in Figure 1 represent a machine coordinate system determined based on the machine coordinate origin unique to the three-dimensional coordinate measuring machine 10. The machine coordinate system is an example of the "second coordinate system" of the present invention.
[0021] As shown in Figure 1, the three-dimensional coordinate measuring machine 10 comprises a base plate 16 mounted on a plurality of legs 14, a right Y carriage 18R and a left Y carriage 18L erected at both ends of the base plate 16, and an X guide 20 connecting the upper parts of the right Y carriage 18R and the left Y carriage 18L. The right Y carriage 18R, the left Y carriage 18L and the X guide 20 constitute a gantry frame 22.
[0022] Sliding surfaces are formed on the upper and side surfaces of both ends of the surface plate 16 in the X-axis direction, on which the right Y carriage 18R and the left Y carriage 18L slide along the Y-axis direction. In addition, air bearings (not shown) are provided on the right Y carriage 18R and the left Y carriage 18L at positions facing the sliding surfaces of the surface plate 16. As a result, the right Y carriage 18R and the left Y carriage 18L can move freely in the Y-axis direction together with the X guide 20.
[0023] An X-carriage 24 is attached to the X-guide 20. The X-guide 20 has a sliding surface formed along the X-axis direction on which the X-carriage 24 slides. In addition, an air bearing (not shown) is provided on the X-carriage 24 at a position opposite to the sliding surface of the X-guide 20. This allows the X-carriage 24 to move freely in the X-axis direction.
[0024] A Z-carriage (also called a Z-spindle) 26 is attached to the X-carriage 24. The X-carriage 24 is also provided with an air bearing (not shown) for Z-axis direction guidance, which guides the Z-carriage 26 in the Z-axis direction. As a result, the Z-carriage 26 is held by the X-carriage 24 so as to be movable in the Z-axis direction. A probe head 12 is attached to the lower end of the Z-carriage 26.
[0025] The probe head 12 holds the base end of the contact-type probe 12a. The base end of the stylus 12b is attached to the tip of the probe 12a. A contact element 12c is attached to the tip of the stylus 12b. The stylus 12b and the contact element 12c constitute the measuring element of the probe 12a. The type of probe 12a is not particularly limited.
[0026] The probe 12a is rotated by the drive unit 28 (see Figure 2) around two mutually orthogonal rotation axes (not shown).
[0027] A drive unit 28 (see Figure 2) is provided, which includes a Y-axis drive unit for moving the gantry frame 22 in the Y-axis direction, an X-axis drive unit for moving the X carriage 24 in the X-axis direction, and a Z-axis drive unit for moving the Z carriage 26 in the Z-axis direction. Each drive unit is composed of a known drive mechanism including a motor. This makes it possible to move the probe head 12 and probe 12a in the three axes of X, Y, and Z.
[0028] A linear scale (not shown) for detecting the Y-axis position is provided at the right Y-carriage 18R side end of the surface plate 16. Additionally, a linear scale (not shown) for detecting the X-axis position is provided on the X-guide 20, and a linear scale (not shown) for detecting the Z-axis position is provided on the Z-carriage 26.
[0029] The right Y carriage 18R is equipped with a Y-axis position detection head (not shown) for reading a linear scale for detecting the Y-axis position. The X carriage 24 is equipped with an X-axis position detection head (not shown) for reading a linear scale for detecting the X-axis position, and a Z-axis position detection head (not shown) for reading a linear scale for detecting the Z-axis position. Furthermore, the probe head 12 is equipped with a rotation angle detection unit (not shown), such as a rotary encoder, for detecting the rotation angle of the probe 12a.
[0030] The three-dimensional coordinate measuring machine 10 detects the coordinates in the XYZ axis direction of each measurement point (such as the inner surface) of the workpiece W when the contact element 12c at the tip of the probe 12a contacts each measurement point (such as the inner surface) of the workpiece W, based on the detection results of the direction position detection heads for each of the XYZ axes and the detection results of the rotation angle detection unit.
[0031] The three-dimensional coordinate measuring machine 10 is equipped with a measuring machine attitude detection sensor 72. The measuring machine attitude detection sensor 72 is configured with an acceleration sensor and a geomagnetic sensor, as described later, and can detect the attitude of the three-dimensional coordinate measuring machine 10 by detecting the direction of gravity and orientation of the three-dimensional coordinate measuring machine 10. The measuring machine attitude detection sensor 72 is installed at any position on the surface plate 16 (for example, the bottom or side of the surface plate 16). The output of the measuring machine attitude detection sensor 72 is output to the computer 34 via the drive controller 32.
[0032] The three-dimensional coordinate measuring machine 10 is equipped with a drive controller 32 that controls the drive unit 28 to control the movement of the probe head 12, that is, the displacement of the position and orientation of the probe 12a (stylus 12b). The three-dimensional coordinate measuring machine 10 has an automatic measurement mode in which measurements are performed automatically and a manual measurement mode in which measurements are performed manually.
[0033] Further, the drive controller 32 is provided with a joystick 32a for instructing the moving direction of the probe 12a. Therefore, in the manual measurement mode, the drive controller 32 controls the drive unit 28 according to the manual operation received by the joystick 32a, thereby displacing the position and orientation of the probe 12a. The joystick 32a is an example of the "manual operation member" of the present invention.
[0034] The drive controller 32 is connected to a contact detection sensor (not shown) of the probe 12a, a direction position detection head (not shown) for each axis of the aforementioned XYZ (not shown), and a rotation angle detection unit (not shown). And when the drive controller 32 detects that the contactor 12c of the probe 12a has contacted the measurement point of the measurement element of the workpiece W by the contact detection sensor, the drive controller 32 acquires the detection results of each of the direction position detection heads and the rotation angle detection unit of the XYZ axes, and detects the coordinates in the XYZ axis directions of each measurement point. The coordinates of each measurement point are output from the drive controller 32 to the computer 34.
[0035] The drive controller 32 includes a controller attitude detection sensor 74. The controller attitude detection sensor 74 is configured to include an acceleration sensor and a geomagnetic sensor as will be described later, and detects the attitude of the drive controller 32 by detecting the gravity direction and orientation of the drive controller 32. The controller attitude detection sensor 74 is installed, for example, inside the operation box 38 (see FIG. 3) that constitutes the drive controller 32. The output of the controller attitude detection sensor 74 is output to the computer 34 via the drive controller 32.
[0036] The computer 34 is communicably connected to the drive controller 32 via various communication interfaces such as a LAN (Local Area Network).
[0037] A software program 34a is installed in the computer 34. The computer 34 executes various measurement operations including acquisition of the coordinates of each measurement point by executing the software program 34a.
[0038] [Computer Functions] Figure 2 is a functional block diagram of the computer 34. As shown in Figure 2, the computer 34 includes a control unit 40 that comprehensively controls the operation of each part of the three-dimensional coordinate measuring machine 10.
[0039] The control unit 40 includes an arithmetic circuit composed of various processors and memory. These various processors include CPUs (Central Processing Units), GPUs (Graphics Processing Units), ASICs (Application Specific Integrated Circuits), and programmable logic devices [e.g., SPLDs (Simple Programmable Logic Devices), CPLDs (Complex Programmable Logic Devices), and FPGAs (Field Programmable Gate Arrays)]. The various functions of the control unit 40 may be implemented by a single processor, or by multiple processors of the same or different types.
[0040] Furthermore, in addition to the aforementioned software program 34a and measurement program 44, the control unit 40 includes a storage unit 42 for storing the transformation matrix M, which will be described later. The control unit 40 then functions as a drive control unit 48, a coordinate value acquisition unit 50, a shape calculation unit 52, a sensor data acquisition unit 53, a relative attitude detection unit 54, an operation detection unit 56, and a transformation processing unit 58 by executing the software program 34a in the storage unit 42.
[0041] The drive control unit 48 operates in the automatic measurement mode described above. Based on the measurement program 44 in the storage unit 42, described later, the drive control unit 48 drives the drive unit 28 via the drive controller 32, thereby making the probe 12a contact all measurement points for each measurement element of the workpiece W.
[0042] When measuring each measurement element of the workpiece W (in automatic measurement mode and manual measurement mode), the coordinate value acquisition unit 50 acquires the coordinate values of the measurement points from the drive controller 32 and outputs them to the shape calculation unit 52 each time the probe 12a comes into contact with the measurement point of each measurement element of the workpiece W.
[0043] The shape calculation unit 52 calculates the shape of each measurement element of the workpiece W based on the coordinate values of all measurement points of the measurement element acquired by the coordinate value acquisition unit 50. Since the specific method for calculating the shape of the measurement element is publicly known, a detailed explanation is omitted here.
[0044] The sensor data acquisition unit 53, relative attitude detection unit 54, operation detection unit 56, and conversion processing unit 58 function as a manual operation control unit that performs manual operation control (hereinafter also referred to as "manual operation control") on the joystick 32a.
[0045] Furthermore, manual operation control is performed not only when measurements are taken in manual measurement mode, but also during alignment work before the start of measurement (work to recognize the relative relationship between the machine coordinate system and the workpiece coordinate system), and during teaching work performed when creating the measurement program 44 described above.
[0046] [Manual Operation Control] Next, we will describe the configuration for realizing manual operation control.
[0047] In the manual operation control performed by the control unit 40 of this embodiment, when a manual operation is performed on the joystick 32a, a transformation process is performed to transform the operation direction vector obtained from the operation signal of the joystick 32a from the controller coordinate system to the machine coordinate system based on the transformation matrix M described later, and the movement of the probe 12a is controlled via the drive unit 28 (X-axis drive unit, Y-axis drive unit, and Z-axis drive unit) based on the operation direction vector after the transformation process.
[0048] To achieve this manual operation control, a sensor unit 70 is connected to the control unit 40, as shown in Figure 2. The sensor unit 70 includes a measuring machine attitude detection sensor 72 for detecting the attitude of the three-dimensional coordinate measuring machine 10, and a controller attitude detection sensor 74 for detecting the attitude of the drive controller 32.
[0049] The measuring machine attitude detection sensor 72 is composed of a sensor that combines an acceleration sensor and a geomagnetic sensor. The acceleration sensor is a three-axis acceleration sensor that detects acceleration in three mutually orthogonal axis directions. The geomagnetic sensor is a three-axis geomagnetic sensor that detects geomagnetism in three mutually orthogonal axis directions. The three axis directions of the acceleration sensor and the three axis directions of the geomagnetic sensor coincide with each other, and the three axis directions of these sensors are positioned to coincide with the three axis directions of the mechanical coordinate system defined in the three-dimensional coordinate measuring machine 10.
[0050] The measuring machine attitude detection sensor 72, configured in this way, can detect the attitude of the three-dimensional coordinate system in the machine coordinate system of the three-dimensional coordinate measuring machine 10 with respect to direction by detecting the direction of gravity with an acceleration sensor and detecting the direction with a geomagnetic sensor. The output of the measuring machine attitude detection sensor 72 (accelerometer and geomagnetic sensor) is output to the control unit 40 via the drive controller 32.
[0051] The controller attitude detection sensor 74, like the measuring instrument attitude detection sensor 72, is composed of a sensor combining an acceleration sensor and a magnetic sensor. The acceleration sensor and the magnetic sensor are sensors that detect acceleration and geomagnetism in three mutually orthogonal axes. The three axes of the acceleration sensor and the three axes of the magnetic sensor coincide with each other, and the three axes of these sensors are positioned to coincide with the three axes of the controller coordinate system defined in the drive controller 32. The controller coordinate system is the coordinate system defined by the x, y, and z axes in Figure 3, and is an example of the "first coordinate system" of the present invention.
[0052] The controller attitude detection sensor 74, configured in this way, can detect the attitude of the controller coordinate system in the drive controller 32 in the three axes based on the direction by detecting the direction of gravity with the acceleration sensor and detecting the direction with the geomagnetic sensor. The output of the controller attitude detection sensor 74 (accelerometer and geomagnetic sensor) is output to the control unit 40.
[0053] The sensor data acquisition unit 53 acquires sensor data output from the sensor unit 70. Specifically, it acquires 3-axis acceleration data (hereinafter referred to as "3-axis acceleration data") detected by each acceleration sensor in the measuring machine attitude detection sensor 72 and the controller attitude detection sensor 74, as well as 3-axis geomagnetic data (hereinafter referred to as "3-axis geomagnetic data") detected by each magnetic sensor in the measuring machine attitude detection sensor 72 and the controller attitude detection sensor 74. The sensor data acquired by the sensor data acquisition unit 53 is output to the relative attitude detection unit 54.
[0054] The relative attitude detection unit 54 calculates a transformation matrix M using sensor data (3-axis acceleration data and 3-axis geomagnetic data) from the sensor data acquisition unit 53. The transformation matrix M is defined as a matrix that transforms coordinate points (or vectors) in the controller coordinate system to coordinate points (or vectors) in the machine coordinate system. This transformation matrix M is also called a projection from the controller coordinate system to the machine coordinate system and is uniquely determined according to the relative attitude between the three-dimensional coordinate measuring machine 10 and the drive controller 32.
[0055] Figure 3 is a schematic diagram showing the three-dimensional coordinate measuring machine 10 and the drive controller 32. Figure 3 shows an example of acceleration vectors and geomagnetic vectors obtained from the detection data of each sensor (accelerometer and geomagnetic sensor) of the sensor unit 70. Note that in Figure 3, the drive controller 32 is shown in a simplified manner, and components other than the joystick 32a are not shown. Reference numeral 38 denotes the operation box that constitutes the drive controller 32. Also, when viewed from above (in the z-axis direction), the joystick 32a can be operated in the left-right direction (parallel to the x-axis direction) and the front-back direction (parallel to the y-axis direction).
[0056] Here, in the measuring instrument attitude detection sensor 72, the acceleration vector based on the 3-axis acceleration data detected by the acceleration sensor is defined as "Vg0", and the values of its axial components are defined as "Vg0.x", "Vg0.y", and "Vg0.z", and the geomagnetic vector based on the 3-axis geomagnetic data detected by the geomagnetic sensor of the measuring instrument attitude detection sensor 72 is defined as "Vm0", and the values of its axial components are defined as "Vm0.x", "Vm0.y", and "Vm0.z".
[0057] Furthermore, in the controller attitude detection sensor 74, the acceleration vector based on the 3-axis acceleration data detected by the acceleration sensor is defined as "Vg," and the values of its axial components are defined as "Vg.x," "Vg.y," and "Vg.z." The geomagnetic vector based on the 3-axis geomagnetic data detected by the geomagnetic sensor is defined as "Vm," and the values of its axial components are defined as "Vm.x," "Vm.y," and "Vm.z."
[0058] Then, if we denote the transformation matrix M used to perform the coordinate transformation from the controller coordinate system to the machine coordinate system, the following relationship shown in equation (1) holds.
[0059] The relative attitude detection unit 54 can calculate the transformation matrix M by solving equation (1) for the transformation matrix M using a known method. The relative attitude detection unit 54 then stores the calculated transformation matrix M in the storage unit 42.
[0060] The operation detection unit 56 acquires an operation signal output from the joystick 32a when the joystick 32a is manually operated. This operation signal includes information indicating the joystick operation direction and the amount or speed of the operation. In this specification, "joystick operation direction" refers to the axial direction (x-axis direction, y-axis direction, or z-axis direction) of the controller coordinate system that is pre-assigned to the "actual direction" which is the direction in which the user actually operates the joystick 32a, and may differ from the "actual direction".
[0061] The operation detection unit 56 detects an operation direction vector corresponding to the joystick operation direction based on the operation signal from the joystick 32a. The operation direction vector is a vector defined in the controller coordinate system and indicates the amount or speed of operation in the joystick operation direction. The operation direction vector detected by the operation detection unit 56 is output to the conversion processing unit 58.
[0062] When the conversion processing unit 58 obtains the operation direction vector from the operation detection unit 56, it performs a conversion process to transform the operation direction vector from the controller coordinate system to the machine coordinate system based on the conversion matrix M stored in the storage unit 42.
[0063] Here, the operation direction vector of the controller coordinate system detected by the operation detection unit 56 is defined as "joy," and the values of its axis components (operation amount or operation speed in each axis direction of the controller coordinate system) are defined as "joy.x," "joy.y," and "joy.z." Furthermore, the operation direction vector of the machine coordinate system after the transformation process is defined as "cmm," and the values of its axis components (operation amount or operation speed in each axis direction of the machine coordinate system) are defined as "cmm.x," "cmm.y," and "cmm.z."
[0064] The conversion processing unit 58 calculates the operation direction vector "cmm" after the conversion process according to the following equation (2).
[0065] The operation direction vector "cmm" obtained by equation (2) is the operation direction vector "joy" in the controller coordinate system transformed (projected) into the machine coordinate system.
[0066] The conversion processing unit 58 outputs an operation command signal to the drive control unit 48 based on the operation vector "cmm" after the conversion process, which is obtained by transforming the coordinates from the controller coordinate system to the machine coordinate system.
[0067] The drive control unit 48 controls the drive unit 28 via the drive controller 32 based on the operation command signal from the conversion processing unit 58.
[0068] Figure 4 is a flowchart showing an example of manual operation control in the first embodiment. The following describes each process performed in the manual operation control of the first embodiment, following the flowchart shown in Figure 4.
[0069] (Step S10: Relative Attitude Detection Step) When this flowchart is started, first, as a preliminary step for manual operation control, a process is performed to detect relative attitude information indicating the relative attitude of the drive controller 32 to the three-dimensional coordinate measuring machine 10. Specifically, this is done as follows.
[0070] First, the sensor data acquisition unit 53 acquires the sensor data output from the sensor unit 70. The sensor data includes the 3-axis acceleration data and 3-axis geomagnetic data detected by the acceleration sensor and geomagnetic sensor of the measuring machine attitude detection sensor 72, respectively, and the 3-axis acceleration data and 3-axis geomagnetic data detected by the acceleration sensor and geomagnetic sensor of the controller attitude detection sensor 74, respectively. The outputs of the measuring machine attitude detection sensor 72 and the controller attitude detection sensor 74 may be acquired simultaneously or sequentially.
[0071] Next, the relative attitude detection unit 54 uses the sensor data (3-axis acceleration data and 3-axis geomagnetic data) acquired by the sensor data acquisition unit 53 to detect relative attitude information indicating the relative attitude of the drive controller 32 with respect to the three-dimensional coordinate measuring machine 10. Specifically, the relative attitude detection unit 54 calculates a transformation matrix M for transforming coordinates from the controller coordinate system to the machine coordinate system using the above-described equation (1), based on the 3-axis acceleration data and 3-axis geomagnetic data detected by the measuring machine attitude detection sensor 72 and the controller attitude detection sensor 74, respectively. The transformation matrix M calculated by the relative attitude detection unit 54 is stored in the storage unit 42. The transformation matrix M is an example of the "relative attitude information" of the present invention.
[0072] (Step S20: Operation Determination Step) Next, the operation detection unit 56 performs a determination process to determine whether or not the joystick 32a has been operated. Specifically, if it detects an operation signal output from the joystick 32a when the joystick 32a has been operated, it determines that the joystick 32a has been operated; if it does not detect an operation signal, it determines that the joystick 32a has not been operated. This determination process is repeated until it is determined that the joystick 32a has been operated. If it is determined that the joystick 32a has been operated, the process proceeds to the next step S30.
[0073] (Step S30: Operation direction vector detection step) Next, the operation detection unit 56 detects an operation direction vector corresponding to the joystick operation direction based on the operation signal from the joystick 32a. The operation direction vector detected here is defined with reference to the controller coordinate system.
[0074] (Step S40: Coordinate Transformation Step) Next, the transformation processing unit 58 performs a transformation process to transform the operation direction vector detected by the operation detection unit 56 from the controller coordinate system to the machine coordinate system, based on the transformation matrix M stored in the storage unit 42. Then, the transformation processing unit 58 outputs the operation direction vector after the transformation process to the drive control unit 48.
[0075] (Step S50: Probe movement control step) Next, the drive control unit 48 generates an operation command signal based on the operation direction vector from the conversion processing unit 58, and controls the drive unit 28 via the drive controller 32 to move the probe 12a according to the operation command signal.
[0076] (Step S60: Termination Determination Step) Next, the control unit 40 determines whether or not the control has ended. For example, if the user instructs the termination of manual operation control or the operation of the three-dimensional coordinate measuring machine 10 is stopped, it is determined that the control has ended. If it is determined that the control has not ended (a NO determination in step S60), the process returns to step S20. On the other hand, if it is determined that the control has ended (a YES determination in step S60), this flowchart ends.
[0077] [Effects of the First Embodiment] According to the first embodiment, based on relative posture information (transformation matrix M) indicating the relative posture between the three-dimensional coordinate measuring machine 10 and the drive controller 32, the operation direction vector indicating the joystick operation direction is transformed from the controller coordinate system to the machine coordinate system, and the movement of the probe 12a is controlled based on the operation direction vector after the coordinate transformation. As a result, it is not necessary to change the operation (manual operation on the joystick 32a) to move the probe 12a in the desired direction from the user's perspective depending on the user's operating position, making it easier for the user to understand. Therefore, the degree of freedom of the operating position is high, and it is possible to operate the joystick 32a at any operating position, making it possible to improve operability and work efficiency.
[0078] Furthermore, according to the first embodiment, it is possible to prevent the probe 12a from being moved in a direction different from the direction intended by the user due to an operational error, thereby suppressing the possibility of the probe 12a colliding with the workpiece W in an unintended manner.
[0079] In the first embodiment, a configuration was shown in which attitude detection sensors were provided on both the three-dimensional coordinate measuring machine 10 and the drive controller 32. However, the configuration is not limited to this, and for example, an attitude detection sensor may be provided only on the drive controller 32, without one on the three-dimensional coordinate measuring machine 10. In this case, by ensuring that the axial directions of each axis of the coordinate systems of the machine coordinate system of the three-dimensional coordinate measuring machine 10 and the controller coordinate system of the drive controller 32 coincide (see VIA in Figure 7), and treating the gravity vector Vg and geomagnetic vector Vm obtained from the attitude detection sensor (controller attitude detection sensor 74) installed on the drive controller 32 as the gravity vector Vg0 and geomagnetic vector Vm0 indicating the attitude of the three-dimensional coordinate measuring machine 10, it becomes possible to obtain relative attitude information (transformation matrix M) indicating the relative attitude of the drive controller 32 with respect to the three-dimensional coordinate measuring machine 10, similar to the embodiment.
[0080] Furthermore, in the first embodiment, the attitude detection sensor (measuring machine attitude detection sensor 72 and controller attitude detection sensor 74) was shown to be composed of a sensor combining an acceleration sensor and a geomagnetic sensor, but it is not limited to this, and for example, a configuration combining an acceleration sensor and a gyro sensor (angular velocity sensor) may also be used. However, with a sensor that combines a gyro sensor, calibration must be performed during measurement. For this reason, it is preferable to use a sensor that combines an acceleration sensor and a geomagnetic sensor as in this embodiment as the attitude detection sensor. Note that other known sensors may be used as long as they can detect the relative attitude of the measuring machine attitude detection sensor 72 and the controller attitude detection sensor 74.
[0081] <Second Embodiment> Next, a second embodiment will be described. In the first embodiment described above, attitude detection sensors provided on the three-dimensional coordinate measuring machine 10 and the drive controller 32, respectively, were used as sensors to detect the relative attitude of the drive controller 32 with respect to the three-dimensional coordinate measuring machine 10. In the second embodiment, however, a different sensor from that of the first embodiment is used to detect the relative attitude of the drive controller 32 with respect to the three-dimensional coordinate measuring machine 10.
[0082] Figure 5 is a functional block diagram of the computer 34 according to the second embodiment. Figure 6 is a schematic configuration diagram showing the three-dimensional coordinate measuring machine 10 and drive controller 32 according to the second embodiment.
[0083] As shown in Figures 5 and 6, the sensor unit 70 in the second embodiment includes a measurement sensor 76 provided on the drive controller 32. The measurement sensor 76 is a sensor for SLAM (Simultaneous Localization And Mapping) and measures the environment around the drive controller 32. SLAM is a technology that simultaneously creates an environmental map and estimates the self-position.
[0084] Examples of measurement sensors 76 include cameras (image sensors) that capture images of the surrounding environment, and distance measuring sensors capable of measuring the distance to surrounding objects, such as LiDAR, stereo cameras, and depth cameras. The output of the measurement sensor 76 is output to the control unit 40A.
[0085] The drive controller 32 shown in Figure 6 is provided with multiple cameras 78 in each direction of the operation box 38 that constitutes the drive controller 32, as an example of a measurement sensor 76. The drive controller 32 shown in Figure 6 has four cameras 78 provided on the top and sides of the operation box 38. For example, an omnidirectional camera may be used as the camera. In other words, when a camera is used as a measurement sensor 76, it is sufficient to include at least one camera capable of acquiring images or videos of the environment around the drive controller 32.
[0086] In the second embodiment, the control unit 40A includes a self-position estimation unit 55 instead of the relative attitude detection unit 54 of the first embodiment. The self-position estimation unit 55 uses information obtained from the measurement sensor 76 to create three-dimensional information (environmental map data) of the surrounding environment of the drive controller 32 and estimates the self-position (position and attitude) of the drive controller 32. In other words, the self-position estimation unit 55 simultaneously creates the environmental map and estimates the self-position of the drive controller 32, and can estimate the self-position of the drive controller 32 defined in the coordinate system of the environmental map (hereinafter referred to as the "environmental map coordinate system"). Note that the processing performed by the self-position estimation unit 55 is publicly known, so its details will not be explained.
[0087] The self-position estimation unit 55 calculates a transformation matrix for transforming the self-position of the drive controller 32, which is defined in the environmental map coordinate system, to the world coordinate system, which is a different coordinate system from the environmental map coordinate system. Using this transformation matrix, the self-position of the drive controller 32 can be transformed from the environmental map coordinate system to the world coordinate system. The transformation matrix calculated by the self-position estimation unit 55 is an example of self-position information indicating the self-position of the drive controller 32.
[0088] Figure 7 shows the planar positional relationship between the three-dimensional coordinate measuring machine 10 and the drive controller 32. In the following description, as shown in VIIA of Figure 7, the position and orientation of the drive controller 32 when the axial directions of the coordinate systems of the three-dimensional coordinate measuring machine 10 and the controller coordinate system of the drive controller 32 coincide will be referred to as the "initial self-position". Furthermore, as shown in VIIB of Figure 7, the position and orientation of the drive controller 32 when the joystick 32a is manually operated by the user will be referred to as the "current self-position". Note that the "current self-position" of the drive controller 32 may also be the same as the "initial self-position".
[0089] In this embodiment, the self-position estimation unit 55 estimates the self-position of the drive controller 32 on the environmental map using information obtained from the measurement sensor 76 when the drive controller 32 is in its "initial self-position," and performs a coordinate transformation M from the environmental map coordinate system to the world coordinate system. 0 The transformation matrix M obtained by the self-position estimation unit 55 is calculated. 0 This is stored in the memory unit 42.
[0090] Furthermore, the self-position estimation unit 55 estimates the self-position of the drive controller 32 on the environmental map using the information obtained from the measurement sensor 76 when the drive controller 32 is in its "current self-position," and performs a coordinate transformation M from the environmental map coordinate system to the world coordinate system. t The transformation matrix M obtained by the self-position estimation unit 55 is calculated. t This is stored in the memory unit 42.
[0091] The operation detection unit 56 is the same as in the first embodiment and detects an operation direction vector corresponding to the joystick operation direction based on the operation signal from the joystick 32a. The operation direction vector detected by the operation detection unit 56 is output to the conversion processing unit 58.
[0092] When the conversion processing unit 58 obtains the operation direction vector from the operation detection unit 56, it converts the conversion matrix M stored in the storage unit 42. 0 M tBased on this, a conversion process is performed to convert the operation direction vector from the controller coordinate system to the machine coordinate system.
[0093] Here, similar to the first embodiment described above, the operation direction vector in the controller coordinate system detected by the operation detection unit 56 is set as "joy", and the values of its respective axis components (the operation amount or operation speed in each axis direction of the controller coordinate system) are set as "joy.x", "joy.y", "joy.z". Also, if the operation direction vector in the machine coordinate system after the conversion process is set as "cmm", and the values of its respective axis components (the operation amount or operation speed in each axis direction of the machine coordinate system) are set as "cmm.x", "cmm.y", "cmm.z", then the relational expression shown in the following formula (3) holds.
[0094] And when formula (3) is transformed, the following formula (4) is obtained.
[0095] Therefore, the conversion processing unit 58 can calculate the operation direction vector "cmm" in the machine coordinate system after the conversion process according to formula (4).
[0096] Note that, as understood from the comparison between formula (2) and formula (4), the product of the transformation matrices "M" 0 ―1 M t defined within the parentheses on the right side of formula (4) is equal to the transformation matrix M shown on the right side of formula (2). That is, the transformation matrix M obtained in the relative posture detection unit 54 of the first embodiment is the one obtained based on the transformation matrix M 0 , M t in the self-position estimation unit 55 of the second embodiment. Therefore, the self-position estimation unit 55 has the same function as the relative posture detection unit 54 of the first embodiment. The self-position estimation unit 55 is an example of the relative posture detection unit of the present invention.
[0097] Figure 8 is a flowchart showing an example of manual operation control in the second embodiment. The second embodiment differs from the first embodiment in that it includes steps S12 (initial self-position step) and S14 (current self-position estimation step) instead of step S10 (relative position detection step), and step S42 (coordinate transformation step) instead of step S40 (coordinate transformation step) in the first embodiment. Other processes are the same as in the first embodiment, so the same reference numerals are used for similar processes, and their descriptions are omitted.
[0098] (Step S12: Initial Self-Position Estimation Step) First, as a preliminary step, the position and orientation of the drive controller 32 are adjusted so that it reaches the "initial self-position" described above (a state in which the axial directions of the controller coordinate system and the machine coordinate system coincide with each other). This adjustment is performed by the user.
[0099] Next, the sensor data acquisition unit 53 acquires information obtained by the measurement sensor 76 when the drive controller 32 is in its "initial self-position". Subsequently, the self-position estimation unit 55 uses the information acquired by the sensor data acquisition unit 53 to estimate the self-position (initial self-position) of the drive controller 32 on the environmental map, and performs a coordinate transformation matrix M from the environmental map coordinate system to the world coordinate system. 0 The transformation matrix M obtained in the self-position estimation unit 55 is calculated. 0 This is stored in the memory unit 42.
[0100] (Step S14: Current Self-Position Estimation Step) Next, the position and orientation of the drive controller 32 are changed so that the drive controller 32 is in the "current self-position" described above (the position and orientation of the drive controller 32 when the joystick 32a is manually operated by the user). This change is made by the user.
[0101] Next, the sensor data acquisition unit 53 acquires information obtained by the measurement sensor 76 when the drive controller 32 is in its "current self-position". Subsequently, the self-position estimation unit 55 uses the information acquired by the sensor data acquisition unit 53 to estimate the self-position (current self-position) of the drive controller 32 on the environmental map, and performs a coordinate transformation matrix M from the environmental map coordinate system to the world coordinate system. t The transformation matrix M obtained in the self-position estimation unit 55 is calculated. t This is stored in the memory unit 42.
[0102] After that, the operation determination step (step S20) and the operation direction vector detection step (step S30) are performed in the same manner as in the first embodiment, and then the process proceeds to the next step S42.
[0103] (Step S42: Coordinate transformation step) Next, the transformation processing unit 58 processes the transformation matrix M stored in the storage unit 42. 0 M t Based on this, the operation detection unit 56 performs a coordinate transformation process to convert the operation direction vector detected by the operation detection unit 56 from the controller coordinate system to the machine coordinate system, according to equation (4) described above. The transformation processing unit 58 then outputs the operation direction vector after the transformation process to the drive control unit 48. The subsequent processing is the same as in the first embodiment.
[0104] [Effects of the Second Embodiment] According to the second embodiment, using information obtained from the measurement sensor 76 provided in the drive controller 32, a transformation matrix M is used to indicate the "initial self-position" and "current self-position" of the drive controller 32. 0 M t This will determine the transformation matrix M. 0 M t Based on this, a transformation process can be performed to convert the operation direction vector represented in the controller coordinate system to the operation direction vector in the machine coordinate system. Therefore, in the second embodiment as well, it becomes possible to operate the joystick 32a at any operation position, thereby improving operability and work efficiency.
[0105] Furthermore, according to the second embodiment, since the self-position estimation unit 55 uses SLAM technology to estimate the self-position of the drive controller 32 in real time, it becomes possible, for example, for the user to operate the joystick 32a while moving, thus increasing convenience for the user.
[0106] In the second embodiment, the method for estimating the self-position of the drive controller 32 was shown as applying SLAM technology, but it is not limited to this, and other methods such as optical motion capture or area tracking technology such as LightHouse® may also be used. Since these methods are publicly known, a detailed explanation is omitted here.
[0107] <Other> In the embodiments described above, a joystick 32a provided on the drive controller 32 was shown as an example of a manual operating member for indicating the probe movement direction, but it is not limited to this, and for example, a directional pad or the like may also be used.
[0108] In the embodiments described above, as an example of a control device for the drive controller, a case was shown in which manual operation control (control of probe movement when the joystick 32a is manually operated) is performed by the computer 34 (control units 40, 40A). However, the invention is not limited to this, and for example, the drive controller 32 may be provided with a function similar to the manual operation control performed by the computer 34. Alternatively, it may be provided in other control devices other than the computer 34 and the drive controller 32.
[0109] Although embodiments of the present invention have been described above, the present invention is not limited to the above examples, and various improvements and modifications may be made without departing from the spirit of the present invention.
[0110] 10... Three-dimensional coordinate measuring machine, 12... Probe head, 12a... Probe, 22... Gantry frame, 28... Drive unit, 32... Drive controller, 32a... Joystick, 34... Computer, 38... Operation box, 40... Control unit, 42... Memory unit, 48... Drive control unit, 50... Coordinate value acquisition unit, 52... Shape calculation unit, 53... Sensor data acquisition unit, 54... Relative attitude detection unit, 55... Self-position estimation unit, 56... Operation detection unit, 58... Conversion processing unit, 70... Sensor unit, 72... Measuring machine attitude detection sensor, 74... Controller attitude detection sensor, 76... Measurement sensor, 78... Camera
Claims
1. A control device for a drive controller having a manual operating member for instructing the direction of movement of a probe provided on a three-dimensional coordinate measuring machine, comprising: a relative attitude detection unit for detecting relative attitude information indicating the relative attitude between the three-dimensional coordinate measuring machine and the drive controller; an operation detection unit for detecting an operation direction vector indicating the direction of operation of the manual operating member in a first coordinate system defined on the drive controller; a conversion processing unit for converting the operation direction vector represented in the first coordinate system to a second coordinate system defined on the three-dimensional coordinate measuring machine based on the relative attitude information; and a drive control unit for instructing the direction of movement of the probe based on the operation direction vector converted to the second coordinate system.
2. A control device for a drive controller according to claim 1, comprising at least one attitude detection sensor capable of detecting the attitude of the drive controller and the three-dimensional coordinate measuring machine, wherein the relative attitude detection unit determines a transformation matrix for performing a coordinate transformation from the first coordinate system to the second coordinate system as relative attitude information based on the detection result of the at least one attitude detection sensor.
3. The control device for a drive controller according to claim 2, wherein the at least one attitude detection sensor comprises a first attitude detection sensor provided on the three-dimensional coordinate measuring machine and a second attitude detection sensor provided on the drive controller.
4. The control device for the drive controller according to claim 2 or 3, wherein the at least one attitude detection sensor includes an acceleration sensor and a geomagnetic sensor.
5. A control device for a drive controller according to claim 1, comprising: a measuring sensor for detecting the self-position of the drive controller; a self-position estimation unit for estimating the self-position of the drive controller based on the detection result of the measuring sensor, wherein the relative attitude detection unit detects the relative attitude information based on the result of the self-position estimation unit estimating the initial self-position of the drive controller and the result of the self-position estimation unit estimating the current self-position of the drive controller.
6. The control device for a drive controller according to claim 5, wherein the measurement sensor is at least one camera provided on the drive controller, and the self-position estimation unit estimates the self-position of the drive controller based on information captured by the at least one camera.
7. A control method for a drive controller having a manual operating member for instructing the direction of movement of a probe provided on a three-dimensional coordinate measuring machine, comprising: a relative attitude detection step for detecting relative attitude information indicating the relative attitude between the three-dimensional coordinate measuring machine and the drive controller; an operation detection step for detecting an operation direction vector indicating the direction of operation of the manual operating member in a first coordinate system defined on the drive controller; a conversion processing step for converting the operation direction vector represented in the first coordinate system to a second coordinate system defined on the three-dimensional coordinate measuring machine based on the relative attitude information; and a drive control step for instructing the direction of movement of the probe based on the operation direction vector converted to the second coordinate system.