Processing trajectory display system
By installing a polyhedral support and markers on the machining tool, and using the image data of multiple markers to calculate the position and posture of the tool, the problem of position calculation difficulties caused by changes in the posture of the machining tool is solved, and more accurate machining trajectory display is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TOYOTA JIDOSHA KK
- Filing Date
- 2025-12-24
- Publication Date
- 2026-07-14
Smart Images

Figure CN122391287A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a machining trajectory display system. Background Technology
[0002] Japanese Patent Application Publication No. 2023-178692 discloses a machining trajectory display system, which includes: a coordinate information acquisition device that acquires coordinate information of a machining tool having a machining part; a front end position information calculation unit that calculates the position information of the front end of the machining part; and a trajectory calculation unit that calculates the machining trajectory of the machining tool based on the position information of the front end of the machining part. Summary of the Invention
[0003] In Japanese Patent Application Publication No. 2023-178692, the position of a machining tool is calculated by a coordinate information acquisition device (marker). However, when the machining tool is rotated to a position (angle) where the camera cannot capture the mark, the camera sometimes cannot capture the mark, thus making it impossible to calculate the position of the machining tool.
[0004] This invention provides a machining trajectory display system that can calculate the position of the machining tool even if the posture of the machining tool changes.
[0005] This invention provides a machining trajectory display system for displaying the machining trajectory of a machining tool, the machining trajectory display system comprising:
[0006] A marker, which is mounted on the machining tool;
[0007] A camera that photographs the marked object;
[0008] An information processing device that calculates the position of the processing tool based on image data of the mark captured by the camera, and calculates the processing trajectory of the processing tool based on the calculated position of the processing tool; and
[0009] A trajectory display device displays the machining trajectory of the machining tool calculated by the information processing device.
[0010] The machining tool is equipped with a support body in the shape of a polyhedron.
[0011] The markings are respectively installed on at least two surfaces of the outer surface of the support.
[0012] With this structure, the position of the machining tool can be calculated even if the posture of the machining tool changes.
[0013] The markings include a base mark and a reference mark.
[0014] The information processing device calculates the position of the machining tool by using the position of the reference mark calculated based on image data of the reference mark captured by the camera and the position of the reference mark calculated based on image data of the reference mark captured by the camera.
[0015] With this structure, even if manufacturing errors occur in the support, the position of the machining tool can be calculated based on the image data of multiple marks, thus enabling more accurate calculation of the machining tool's position.
[0016] This invention provides a machining trajectory display system that can calculate the position of the machining tool even if the posture of the machining tool changes. Attached Figure Description
[0017] Hereinafter, with reference to the accompanying drawings, the features, advantages, and technical and industrial significance of exemplary embodiments of the present invention will be described, in which the same reference numerals denote the same elements, and wherein:
[0018] Figure 1 This is a system configuration diagram of the machining trajectory display system involved in the implementation method.
[0019] Figure 2 This is a rough 3D diagram of a paint gun.
[0020] Figure 3 This is a rough main view of the first marker.
[0021] Figure 4 This is a flowchart of the control program executed in the position calculation unit.
[0022] Figure 5 This is a flowchart of the control program executed in the posture calculation unit. Detailed Implementation
[0023] The following uses Figures 1 to 5 The embodiments of the present invention will be described. Figure 1 This is a system configuration diagram of the machining trajectory display system involved in the implementation method. Figure 2 This is a rough 3D diagram of a paint gun. Figure 3 This is a rough main view of the first marker. Figure 4 This is a flowchart of the control program executed in the position calculation unit. Figure 5 This is a flowchart of the control program executed in the posture calculation unit.
[0024] Implementation Method 1
[0025] use Figure 1The system structure of the machining trajectory display system 10 according to Embodiment 1 will be described. The machining trajectory display system 10 is a system that calculates and displays the three-dimensional machining trajectory traversed by the paint gun 20 when an operator (not shown) applies paint to a workpiece (hereinafter referred to as the workpiece) W using a paint gun 20 in a three-dimensional space S. The three-dimensional space S is a space that can be captured by the camera 30, and is not limited to, for example... Figure 1 The space shown is a rectangular parallelepiped. The machining trajectory display system 10 includes a painting gun 20, a workpiece marker 31, a camera 30, an information processing device 50, and a trajectory display device 60.
[0026] like Figure 2 As shown, the coating gun 20, as a processing tool, is a device that dispenses paint onto a workpiece W via electrostatic coating or spray coating. The coating gun 20 has a main body 21, a handle 22, a rod 23, and a nozzle 24. The main body 21 is formed in the center of the coating gun 20 and has a paint flow channel inside. A paint hose (not shown) is connected to the main body 21, from which paint is supplied to the main body 21. The nozzle 24 is connected to one end of the main body 21, and paint is dispensed from the nozzle tip 24a formed at the front end of the nozzle 24. The handle 22 is connected to the other end of the main body 21 and is the part held by the operator. The rod 23 is mounted to the main body 21 via a hinge 23a. The rod 23 swings along the length of the coating gun 20 about the hinge axis of the hinge 23a. When the operator pulls the rod 23 toward the handle 22, paint is dispensed from the nozzle tip 24a.
[0027] In this embodiment, the three-dimensional machining trajectory traversed by the coating gun 20 is calculated and displayed, but other machining tools may also be used. Other machining tools include, for example, welding torches used for TIG welding, plasma welding, cladding arc welding, MIG welding, MAG welding, etc., or sealing guns for sealing components. Furthermore, the machining tool is not limited to a tool with a constant length; it may also be a welding torch or other machining tool whose length changes due to consumption.
[0028] like Figure 2 As shown, a marking unit 25 is mounted on the main body 21 of the paint gun 20. The marking unit 25 has a support body 26, a first marking 27, a second marking 28, and a third marking 29. The support body 26 is a regular hexahedron shape and is made of plastic materials such as ABS resin and PLA resin. The support body 26 is mounted to the main body 21 by a mounting mechanism not shown. Among the six outer surfaces of the support body 26, the three outer surfaces on which the first marking 27, the second marking 28, and the third marking 29 are mounted are adjacent to each other.
[0029] like Figure 3As shown, the first mark 27 is formed into a flat plate that is approximately square when viewed from above, and is made of plastic material. The first mark 27 has an identification part 27a, a reference part 27b, a variable moiré pattern part 27c, and a flip detection pattern part 27d.
[0030] The identification unit 27a is formed in the center of the first mark 27 and is composed of a matrix-type QR code. The identification unit 27a is used to identify multiple marks.
[0031] Reference units 27b are formed at the four corners of the first mark 27 and are composed of circular marks. The shape of the four circular marks or the positional relationship of the four circular marks changes depending on the angle or position of the first mark 27, and is therefore used to detect the position or orientation of the mark unit 25.
[0032] The variable moiré pattern section 27c is formed on two adjacent sides of the first mark 27 and between the reference section 27b. The variable moiré pattern section 27c is composed of a lens array with multiple lenses arranged on a black and white striped pattern. The variable moiré pattern section 27c changes the position of the marks M1 and M2 captured by the camera 30 according to the angle of the first mark 27, and is therefore used to detect the posture of the mark unit 25.
[0033] The flip detection pattern section 27d is formed on the two sides of the first mark 27 other than the two sides on which the variable moiré pattern section 27c is formed, and is located between the reference sections 27b. The flip detection pattern section 27d is composed of a plurality of triangular prisms arranged in one direction on the first mark 27, and the plurality of triangular prisms are painted black and white between adjacent side surfaces. The flip detection pattern section 27d flips the black and white pattern captured by the camera 30 according to the angle of the first mark 27, and is therefore used to detect the posture of the mark unit 25.
[0034] The basic structure or function of the second mark 28 and the third mark 29 are the same as those of the first mark 27, but the structure of the identification part is different. For example... Figure 2 As shown, the matrix-type QR code patterns of the recognition portion 27a of the first mark 27, the recognition portion 28a of the second mark 28, and the recognition portion 29a of the third mark 29 are all different. This structure allows identification of which mark the camera 30 has captured. In this embodiment, the support 26 and each mark are separate units, but they can also be integrated. Furthermore, there can be two or more marks mounted on the support 26.
[0035] like Figure 1As shown, the machining trajectory display system 10 has a workpiece mark 31. When the operator applies paint to the workpiece W using the paint gun 20, the workpiece mark 31 is positioned so as not to be hidden in the operator's shadow when viewed from the camera 30. The basic structure or function of the workpiece mark 31 is the same as that of the first mark 27, but the structure of the recognition part is different. The recognition part of the workpiece mark 31 has a different matrix-type QR code pattern compared to the recognition parts of the first mark 27, the second mark 28, and the third mark 29. With this structure, the workpiece mark 31 and other marks can be identified. The position or posture of the workpiece mark 31 in the three-dimensional space S is predetermined and used to calculate the position or posture of the mark unit 25 in the three-dimensional space S. The position or posture of the workpiece mark 31 in the three-dimensional space S is stored in the memory 52 described later.
[0036] like Figure 1 As shown, the machining trajectory display system 10 has a camera 30. The camera 30 can be a high-speed camera, a network camera, a FA camera, etc. The camera 30 is fixed in a designated position and captures images of the marking unit 25 mounted on the painting gun 20 and the workpiece marking 31 when the operator applies paint to the workpiece W using the painting gun 20. Specifically, the camera 30 captures images of the first marking 27, the second marking 28, and the third marking 29 of the marking unit 25, and the workpiece marking 31. The camera 30 sends the captured image data of the first marking 27, etc., to the information processing device 50. The camera 30 may have a lamp that illuminates three-dimensional space S.
[0037] The information processing device 50 is composed of a computer and includes a control unit 51, a memory 52, and an input unit 53. The control unit 51 includes a central processing unit (CPU) and performs calculations such as determining the position of the painting gun 20. The memory 52 includes random access memory (RAM), read-only memory (ROM), and stores control programs executed by the control unit 51. The input unit 53 includes a keyboard, a touch panel, and other components for inputting data related to the marking unit 25.
[0038] The control unit 51 includes a marking unit calculation unit 55, a nozzle tip position calculation unit 56, and a trajectory calculation unit 57. The marking unit calculation unit 55 includes a position calculation unit 55a and a posture calculation unit 55b.
[0039] The position calculation unit 55a calculates the position (Xm, Ym, Zm) of the marker unit 25 in three-dimensional space S based on image data of the first marker 27, the second marker 28, the third marker 29, and the workpiece marker 31 transmitted from the camera 30. For example... Figure 1As shown, XYZ coordinates are set in the three-dimensional space S (the horizontal direction is set as the X-axis, the horizontal direction orthogonal to the X-axis is set as the Y-axis, and the vertical direction is set as the Z-axis). The position calculation unit 55a calculates the position of the marker unit 25 using the XYZ coordinate values.
[0040] like Figure 2 As shown, the positions of the three markers installed on the support 26 are different. Therefore, even if the marker units 25 are in the same position, the positions of each marker show different values. In Embodiment 1, the first marker 27 is used as the reference marker, and the positions (X1, Y1, Z1) of the first marker 27 are used as the positions (Xm, Ym, Zm) of the marker units 25. The markers other than the reference marker (the second marker 28 and the third marker 29) are used as reference markers. In order to calculate the position of the marker units 25 even from the position of the reference markers, the position of the first marker 27 is calculated based on the position of the reference markers. The specific calculation method will be described later.
[0041] The posture calculation unit 55b calculates the posture (Roll_m, Pitch_m, Yaw_m) of the marker unit 25 in three-dimensional space S based on image data of the first marker 27, the second marker 28, the third marker 29, and the workpiece marker 31 transmitted from the camera 30. In Embodiment 1, the posture (angle) of the marker unit 25 is expressed by three variables called Euler angles: Roll, Pitch, and Yaw.
[0042] In the pose calculation unit 55b, the first marker 27 is also used as the reference marker, and the poses (Roll1, Pitch1, Yaw1) of the first marker 27 are used as the poses (Roll_m, Pitch_m, Yaw_m) of the marker unit 25. The specific method for calculating the pose of the first marker 27 based on the poses of the reference markers (the second marker 28 and the third marker 29) will be described later.
[0043] Next, the position calculation program of the marking unit 25, which is executed by the position calculation unit 55a at a predetermined cycle, will be described. Figure 4 A flowchart showing the position calculation program of the marking unit 25 executed by the position calculation unit 55a.
[0044] In S1, based on image data of the first marker 27 transmitted from the camera 30, it is determined whether the marker in the marker unit 25 captured by the camera 30 is one (or multiple). The number of markers in the marker unit 25 captured by the camera 30 varies depending on the position or orientation of the paint gun 20. The position calculation unit 55a determines the number of markers based on the number of marker recognition units in the marker unit 25 contained in the image data. If the number of markers in the marker unit 25 is one, proceed to S2; if there are multiple markers, proceed to S5.
[0045] In step S2, it is determined whether the mark on the marker unit 25 captured by the camera 30 is the first mark 27. The patterns of the QR codes displayed on the recognition sections of each mark are pre-stored in the memory 52. Therefore, the position calculation unit 55a compares the pattern of the QR code on the recognition section of the mark on the marker unit 25 captured by the camera 30 with the pattern of the QR code on the recognition section of each mark stored in the memory 52. Then, the position calculation unit 55a determines whether the mark on the marker unit 25 captured by the camera 30 is the first mark 27. If the mark is the first mark 27, proceed to step S3; otherwise, proceed to step S5.
[0046] In S3, the position (X1, Y1, Z1) of the first mark 27 is calculated based on image data of the first mark 27 transmitted from the camera 30. The position calculation unit 55a calculates the position (X1, Y1, Z1) of the first mark 27 based on the shape of the four circular marks constituting the reference unit 27b of the first mark 27 or the positional relationship of the four circular marks. In Embodiment 1, the center C1 of the first mark 27 (reference) is... Figure 2 The position of the first mark 27 (X1, Y1, Z1) is used as the position of the first mark 27. The position of the first mark 27 calculated in S3 is a temporary value. The position of the mark unit 25 in the three-dimensional space S is calculated based on the position of the workpiece mark 31 calculated in the later steps.
[0047] In S4, the positions (Xma, Yma, Zma) of the marking units 25 are calculated based on the positions (X1, Y1, Z1) of the first mark 27 calculated in S3. As described above, in Embodiment 1, the first mark 27 is used as a reference mark, and the position of the first mark 27 is used as the position of the marking units 25. Therefore, in S4, the positions (X1, Y1, Z1) of the first mark 27 calculated in S3 are set as the positions (Xma, Yma, Zma) of the marking units 25. The position of the marking units 25 calculated in S4 is a temporary value, and the position of the marking units 25 in three-dimensional space S is calculated based on the position of the workpiece mark 31 calculated in a later step.
[0048] In step S5, the positions of all marks in the marking unit 25 captured by the camera 30 are calculated based on image data of the first mark 27 transmitted from the camera 30. For example, if the camera 30 can capture all marks in the marking unit 25, the positions of the first mark 27 (X1, Y1, Z1), the second mark 28 (X2, Y2, Z2), and the third mark 29 (X3, Y3, Z3) are calculated respectively. If the camera 30 can capture any two marks in the marking unit 25, the positions of the two captured marks are calculated respectively. If the camera 30 can only capture the second mark 28 or the third mark 29, the positions of the second mark 28 or the third mark 29 are calculated. The positions of the second mark 28 and the third mark 29 are calculated using the same method as the position of the first mark 27 calculated in step S3. The positions of the first mark 27, etc., calculated in step S5 are temporary values, and the positions of the marking units 25 in the three-dimensional space S are calculated based on the positions of the workpiece marks 31 calculated in later steps.
[0049] In S6, the position of the first mark 27 is calculated based on the position of the second mark 28 (X2, Y2, Z2) or the position of the third mark 29 (X3, Y3, Z3) calculated in S5. As described above, in order to be able to calculate the position of the mark unit 25 even from the position of the reference marks (the second mark 28 and the third mark 29), the position of the first mark 27 is calculated based on the position of the second mark 28 or the third mark 29.
[0050] First, calculate the position of the first mark 27 based on the position of the second mark 28. For example... Figure 2 As shown, if the three-dimensional UVW coordinates are set for the marking unit 25, the center C1 of the first mark 27 and the center C2 of the second mark 28 are separated by ΔW2 in the W-axis direction and ΔV2 in the V-axis direction. These ΔW2 and ΔV2 are pre-stored in the memory 52. The position calculation unit 55a converts ΔW2 and ΔV2 into XYZ coordinates, and calculates the position of the first mark 27 by only moving the position (X2, Y2, Z2) of the second mark 28 by the converted XYZ coordinates ΔW2 and ΔV2. The position of the first mark 27 calculated based on the position (X2, Y2, Z2) of the second mark 28 is set as (X2', Y2', Z2').
[0051] Next, the position of the first mark 27 is calculated based on the position of the third mark 29. For example... Figure 2As shown, the center C1 of the first mark 27 and the center C3 of the third mark 29 are separated by ΔU3 in the U-axis direction and ΔV3 in the V-axis direction. ΔU3 and ΔV3 are pre-stored in the memory 52. The position calculation unit 55a converts ΔU3 and ΔV3 into XYZ coordinates, and calculates the position of the first mark 27 by moving only the converted XYZ coordinates ΔU3 and ΔV3 from the position (X3, Y3, Z3) of the third mark 29. The position of the first mark 27, calculated based on the position (X3, Y3, Z3) of the third mark 29, is set as (X3', Y3', Z3').
[0052] Furthermore, if either the second mark 28 or the third mark 29 is not captured by the camera 30, in S6, the operation of calculating the position of the first mark 27 for the mark that was never captured is not performed.
[0053] Next, in S7, the positions (X1, Y1, Z1) of the first marker 27 and the positions (Xma, Yma, Zma) of the marker unit 25 are calculated. The positions (X1, Y1, Z1) of the first marker 27 are calculated in S5. The positions (Xma, Yma, Zma) of the marker unit 25 are calculated in S6 based on the positions (X2', Y2', Z2') and (X3', Y3', Z3') of the first marker 27.
[0054] Specifically, if camera 30 can capture all the marks in marking unit 25, the average of (X1, Y1, Z1), (X2', Y2', Z2'), and (X3', Y3', Z3') is taken as the position of marking unit 25 (Xma, Yma, Zma). If camera 30 can capture any two marks in marking unit 25, the average of the positions of the two first marks 27 calculated based on the captured marks is taken as the position of marking unit 25 (Xma, Yma, Zma). If camera 30 can only capture the second mark 28 or the third mark 29, (X2', Y2', Z2') or (X3', Y3', Z3') is taken as the position of marking unit 25 (Xma, Yma, Zma). The position of marking unit 25 calculated in S7 is a temporary value, and the position of marking unit 25 in three-dimensional space S is calculated based on the position of workpiece mark 31 calculated in subsequent steps.
[0055] In S8, the position (Xm, Ym, Zm) of the marker unit 25 in three-dimensional space S is calculated based on the position (Xma, Yma, Zma) of the marker unit 25 calculated in S4 or S7. Specifically, firstly, the position (Xw, Yw, Zw) of the workpiece marker 31 is calculated based on the image data of the workpiece marker 31 sent from the camera 30. The position of the workpiece marker 31 is calculated using the same method as the position of the first marker 27 calculated in S3. Next, the difference (ΔXw, ΔYw, ΔZw) between the calculated position of the workpiece marker 31 and the position of the workpiece marker 31 in three-dimensional space S stored in memory 52 is calculated. Then, the position (Xm, Ym, Zm) of the marker unit 25 in three-dimensional space S is calculated based on the position (Xma, Yma, Zma) and the difference (ΔXw, ΔYw, ΔZw) of the marker unit 25 calculated in S4 or S7.
[0056] Next, the posture calculation program of the marker unit 25, executed by the posture calculation unit 55b at a predetermined cycle, will be described. The timing of the posture calculation of the marker unit 25 executed by the posture calculation unit 55b is the same as the timing of the position calculation of the marker unit 25 executed by the position calculation unit 55a. That is, the position and posture of the marker unit 25 are calculated at each predetermined time. Figure 5 A flowchart showing the program executed by the posture calculation unit 55b to calculate the posture of the marking unit 25.
[0057] In S11, based on image data of the first marker 27 sent from the camera 30, it is determined whether the marker unit 25 captured by the camera 30 has one marker (whether it has one or more). S11 is executed by the position calculation unit 55a. Figure 4 The flowchart is the same as S1, so the explanation is omitted. If there is only one mark in the marking unit 25, proceed to S12; if there are multiple marks, proceed to S15.
[0058] In S12, it is determined whether the mark of the marker unit 25 captured by the camera 30 is the first mark 27. S12 is performed by the position calculation unit 55a. Figure 4 The flowchart is the same as S2, so the explanation is omitted. If it is marked as 1st mark 27, proceed to S13; otherwise, proceed to S15.
[0059] In S13, the pose (Roll1, Pitch1, Yaw1) of the first mark 27 is calculated based on image data of the first mark 27 captured by camera 30. The pose calculation unit 55b calculates the pose (Roll1, Pitch1, Yaw1) of the first mark 27 based on the position of mark M1 or M2 and the black and white pattern represented by the flip detection pattern unit 27d. The position of mark M1 or M2 is represented by the variable moiré pattern unit 27c of the first mark 27. The pose of the first mark 27 calculated in S13 is a temporary value, and the pose of the mark unit 25 in three-dimensional space S is calculated based on the pose of the workpiece mark 31 calculated in a later step.
[0060] In S14, the poses (Roll_ma, Pitch_ma, Yaw_ma) of the marking unit 25 are calculated based on the poses (Roll1, Pitch1, Yaw1) of the first mark 27 calculated in S3. As described above, in Embodiment 1, the first mark 27 is used as a reference mark, and the pose of the first mark 27 is used as the pose of the marking unit 25. Therefore, in S14, the poses (Roll1, Pitch1, Yaw1) of the first mark 27 calculated in S13 are set as the poses (Roll_ma, Pitch_ma, Yaw_ma) of the marking unit 25. The pose of the marking unit 25 calculated in S14 is a temporary value, and the pose of the marking unit 25 in three-dimensional space S is calculated based on the pose of the workpiece mark 31 calculated in a later step.
[0061] In S15, based on the image data of the first marker 27 transmitted from the camera 30, the poses of all markers in the marker unit 25 captured by the camera 30 are calculated. For example, if the camera 30 can capture all markers in the marker unit 25, the poses of the first marker 27 (Roll1, Pitch1, Yaw1), the second marker 28 (Roll2, Pitch2, Yaw2), and the third marker 29 (Roll3, Pitch3, Yaw3) are calculated respectively. If the camera 30 can capture any two markers in the marker unit 25, the poses of the two captured markers are calculated respectively. If the camera 30 can only capture the second marker 28 or the third marker 29, the pose of the second marker 28 or the third marker 29 is calculated. The poses of the second marker 28 and the third marker 29 are calculated using the same method as the pose of the first marker 27 calculated in S13. The pose of the first mark 27, etc., calculated in S15 is a temporary value. The pose of the mark unit 25 in the three-dimensional space S is calculated based on the pose of the workpiece mark 31 calculated in the later steps.
[0062] In S16, to avoid the so-called gimbal lock phenomenon, the poses of each marker calculated in S15 are converted from Euler angles to rotation matrices using a known method. The pose of the first marker 27 after conversion to rotation matrices is represented by R1, the pose of the second marker 28 by R2, and the pose of the third marker 29 by R3.
[0063] In S17, the pose of the first mark 27 is calculated based on the pose R2 of the second mark 28 or the pose R3 of the third mark 29. As described above, in order to be able to calculate the pose of the mark unit 25 even from the poses of the reference marks (the second mark 28 and the third mark 29), the pose of the first mark 27 is calculated based on the poses of the second mark 28 or the third mark 29.
[0064] First, calculate the pose of the first marker 27 based on the pose of the second marker 28. In Figure 2 In the UVW coordinate system shown, if the second marker 28 is rotated 90° around the U-axis, it becomes the pose of the first marker 27. This relative pose relationship between the first marker 27 and the second marker 28 is pre-stored in the memory 52. The pose calculation unit 55b converts the U-axis to XYZ coordinates, rotates the pose R2 of the second marker 28 by 90° around the U-axis converted to XYZ coordinates, and calculates the pose of the first marker 27. The pose of the first marker 27 obtained from the pose R2 of the second marker 28 is set as R2'.
[0065] Next, the pose of marker 27 is calculated based on the pose of marker 29. Figure 2 In the UVW coordinate system shown, if the third marker 29 is rotated 90° around the W-axis, it becomes the pose of the first marker 27. This relative pose relationship between the first marker 27 and the third marker 29 is pre-stored in the memory 52. Then, the pose calculation unit 55b converts the W-axis to XYZ coordinates, rotates the pose R3 of the third marker 29 by 90° around the W-axis converted to XYZ coordinates, and calculates the pose of the first marker 27. The pose of the first marker 27 obtained from the pose R3 of the third marker 29 is set as R3'.
[0066] Furthermore, if either the second mark 28 or the third mark 29 is not photographed by the camera 30, in S17, the pose of the first mark 27 is not calculated based on the pose of the mark that was never photographed.
[0067] In S18, in order to calculate the average value in S19 (described later), the pose R1 of the first marker 27 transformed in S16, and the poses R2' and R3' of the first marker calculated in S17 are converted from rotation matrices to quaternions using a known method. After conversion to quaternions, the pose of the first marker 27 calculated based on the image data of the first marker 27 is represented by Qt1. Furthermore, after conversion to quaternions, the pose of the first marker 27 calculated based on the pose of the second marker 28 is represented by Qt2. Furthermore, after conversion to quaternions, the pose of the first marker 27 calculated based on the pose of the third marker 29 is represented by Qt3.
[0068] In S19, the pose Qt_ma of the marker unit 25 is calculated based on the poses Qt1, Qt2, and Qt3 of the first marker 27 converted in S18.
[0069] Specifically, if camera 30 can capture all the marks in marking unit 25, the average value of Qt1, Qt2, and Qt3 is taken as the pose Qt_ma of marking unit 25. If camera 30 can capture any two marks in marking unit 25, the average value of the poses of the two first marks 27 calculated based on the captured marks is taken as the pose Qt_ma of marking unit 25. If camera 30 can only capture the second mark 28 or the third mark 29, Qt2 or Qt3 is taken as the pose Qt_ma of marking unit 25. The pose of marking unit 25 calculated in S19 is a temporary value, and the pose of marking unit 25 in three-dimensional space S is calculated based on the pose of workpiece mark 31 calculated in subsequent steps.
[0070] In S20, the pose Qt_ma of the marker unit 25 calculated in S19 is converted from a quaternion to Euler angles (Roll_ma, Pitch_ma, Yaw_ma) using a known method.
[0071] In S21, the poses (Roll_m, Pitch_m, Yaw_m) of the marker unit 25 in three-dimensional space S are calculated based on the poses (Roll_ma, Pitch_ma, Yaw_ma) of the marker unit 25 calculated in S14 or S20. Specifically, firstly, the poses (Roll_w, Pitch_w, Yaw_w) of the workpiece marker 31 are calculated based on the image data of the workpiece marker 31 sent from the camera 30. The pose of the workpiece marker 31 is calculated using the same method as the pose of the first marker 27 calculated in S13. Next, the differences (ΔRoll_w, ΔPitch_w, ΔYaw_w) between the calculated pose of the workpiece marker 31 and the pose of the workpiece marker 31 in three-dimensional space S stored in memory 52 are calculated. Then, based on the pose (Roll_ma, Pitch_ma, Yaw_ma) and difference (ΔRoll_w, ΔPitch_w, ΔYaw_w) of the marker unit 25 calculated in S14 or S20, the pose (Roll_m, Pitch_m, Yaw_m) of the marker unit 25 in the three-dimensional space S is calculated.
[0072] Next, the position calculation of the nozzle tip 24a of the coating gun 20, performed by the nozzle tip position calculation unit 56 at a predetermined cycle, will be explained. In Embodiment 1, the three-dimensional machining trajectory traversed by the nozzle tip 24a of the coating gun 20 is shown. Therefore, the nozzle tip position calculation unit 56 calculates the position of the nozzle tip 24a based on the position of the marking unit 25 calculated by the position calculation unit 55a and the posture of the marking unit 25 calculated by the posture calculation unit 55b.
[0073] like Figure 2 As shown, the relative positional relationship between the marking unit 25 and the nozzle tip 24a can be known in advance. For example, in Figure 2 In the UVW coordinates shown, if the center C1 of the first marker 27 is separated from the nozzle tip 24a by ΔUN in the U-axis direction, ΔVN in the V-axis direction, and ΔWN in the W-axis direction, ΔUN, ΔVN, and ΔWN are pre-stored in the memory 52. The nozzle tip position calculation unit 56 converts ΔUN, ΔVN, and ΔWN into XYZ coordinates based on the pose (Roll_m, Pitch_m, Yaw_m) of the marker unit 25 calculated by the pose calculation unit 55b. The converted XYZ coordinates ΔUN, ΔVN, and ΔWN are set as ΔXN, ΔYN, and ΔZN, respectively. Then, the nozzle tip position calculation unit 56 calculates the position (Xn, Yn, Zn) of the nozzle tip 24a by moving only ΔXN, ΔYN, and ΔZN of the position (Xm, Ym, Zm) of the marker unit 25 calculated by the position calculation unit 55a.
[0074] The trajectory calculation unit 57 calculates the machining trajectory of the nozzle tip 24a based on the position (Xn, Yn, Zn) of the nozzle tip 24a calculated by the nozzle tip position calculation unit 56. In the nozzle tip position calculation unit 56, the position calculation of the nozzle tip 24a is performed at predetermined intervals. Each time, the trajectory calculation unit 57 acquires the position of the nozzle tip 24a calculated by the nozzle tip position calculation unit 56 and calculates the three-dimensional machining trajectory traversed by the nozzle tip 24a.
[0075] The trajectory display device 60 displays the three-dimensional machining trajectory of the nozzle tip 24a calculated by the trajectory calculation unit 57. The display device uses a display, monitor, or the like.
[0076] In Embodiment 1, a hexahedral support 26 is mounted on the main body 21 of the paint gun 20. Furthermore, three of the six outer surfaces of the support 26 are respectively fitted with the first mark 27, the second mark 28, and the third mark 29. With this structure, even if the paint gun 20 is rotated to a position (angle) where the camera 30 cannot capture the first mark 27, the camera 30 can still capture the second mark 28 or the third mark 29. Moreover, the information processing device 50 can calculate the position of the paint gun 20 based on the image data of the second mark 28 or the third mark 29 captured by the camera 30.
[0077] In Embodiment 1, a reference marker (first marker 27) and reference markers (second marker 28 and third marker 29) are provided. The information processing device 50 calculates the position (X1, Y1, Z1) of the first marker 27 based on the image data of the first marker 27. Furthermore, the information processing device 50 calculates the position (Xm, Ym, Zm) of the marker unit 25 based on the average value of the positions (X2', Y2', Z2') or (X3', Y3', Z3') of the first marker 27 calculated based on the image data of the second marker 28 or the third marker 29. With this structure, even if manufacturing errors occur in the support 26, the position of the marker unit 25 can be calculated based on the image data of multiple markers, thereby enabling more accurate calculation of the position of the marker unit 25.
[0078] Furthermore, the present invention is not limited to the above-described embodiments, and appropriate modifications can be made without departing from the spirit of the invention.
[0079] For example, the support is not limited to a hexahedron; it can also be a tetrahedron, an octahedron, or other polyhedra.
[0080] In this embodiment, the three-dimensional machining trajectory traversed by the nozzle tip of the painting gun is shown, but the machining trajectory traversed by other parts besides the nozzle tip can also be shown.
[0081] Furthermore, the machining trajectory can be calculated and displayed, including not only position but also posture.
Claims
1. A machining trajectory display system for displaying the machining trajectory of a machining tool, characterized in that the machining trajectory display system comprises: A marker, which is mounted on the machining tool; One camera, which photographs the marked object; An information processing device that calculates the position of the processing tool based on image data of the mark captured by the camera, and calculates the processing trajectory of the processing tool based on the calculated position of the processing tool; and A trajectory display device displays the machining trajectory of the machining tool calculated by the information processing device. The machining tool is equipped with a support body in the shape of a polyhedron. The markings are respectively installed on at least two surfaces of the outer surface of the support.
2. The machining trajectory display system according to claim 1, characterized in that, The markings include a base mark and a reference mark. The information processing device calculates the position of the machining tool by using the position of the reference mark calculated based on image data of the reference mark captured by the camera and the position of the reference mark calculated based on image data of the reference mark captured by the camera.