Painting robot motion program generation system
The painting robot operation program generation system improves the reproducibility and efficiency of painting robots by using virtual simulation and Ramer-Douglas-Peucker calculations to generate teaching points, addressing the limitations of conventional offline teaching methods.
Patent Information
- Application Number
- JP2022126909
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-08-09
- Publication Date
- 2025-09-29
- Estimated Expiration
- 2042-02-10
AI Technical Summary
Conventional offline teaching methods for painting robots result in decreased reproducibility of movement trajectories and paint film thickness due to insufficient consideration of movement speed and trajectory smoothness.
A painting robot operation program generation system that includes a painting simulation device for virtual painting using a simulated tool, generating log data, and a teaching point generation device performing Ramer-Douglas-Peucker calculations to generate teaching points based on coordinate data, adjusting the number of points using dynamically set thresholds to improve reproducibility and film thickness.
The system enhances the work efficiency and reproducibility of painting robot operations while achieving the desired paint film thickness by optimizing the movement trajectory and film thickness distribution.
Smart Images

Figure 0007745152000002 
Figure 0007745152000003 
Figure 0007745152000004
Abstract
Description
[Technical Field]
[0001] The present invention relates to a system for generating an operation program for a painting robot. [Background technology]
[0002] One known method for teaching operations to painting robots that perform automatic painting is offline teaching, in which an operation program is generated using computer software and then transferred to the painting robot. For example, Patent Document 1 discloses an operation program generation device that generates a painting operation program by setting the operation path of the painting robot's automatic gun based on position information of the handgun used in manual painting. This device uses an imaging device to continuously capture images of the handgun's manual painting operation on an actual workpiece, and continuously obtains handgun position information based on the captured images. To generate teaching points, the device is configured to determine whether to thin out the gun position information based on the angle formed by the three gun positions identified by the three gun position information. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2020-116509 Summary of the Invention [Problem to be solved by the invention]
[0004] In the device of Patent Document 1 mentioned above, thinning is performed based on the angle formed by the three gun positions in order to suppress a decrease in the reproducibility of the movement trajectory including the turning point, so if the movement trajectory is a gentle arc, the reproducibility of the movement trajectory will decrease.
[0005] The present invention has been made in consideration of the above-described circumstances, and its purpose is to generate an operation program for offline teaching that can improve the work efficiency of a painting robot while improving the reproducibility of the movement trajectory and paint film thickness. [Means for solving the problem]
[0006] According to one aspect of the present invention, there is provided a painting robot operation program generation system including: a painting simulation device that performs simulated painting in a virtual space using a simulated painting tool and generates log data related to the operation of the simulated painting tool in the virtual space; and a teaching point generation device that generates teaching points for operating a painting robot based on the log data related to the operation of the simulated painting tool generated by the painting simulation device, wherein the log data related to the operation of the simulated painting tool includes coordinate data of the simulated painting tool associated with a timestamp, and the teaching point generation device performs Ramer-Douglas-Peucke calculations on the coordinate data generated by the painting simulation device. The coating simulation system is configured to execute the following steps: a first step of performing a first discretization calculation using an r(RDP) algorithm and generating a plurality of first teaching points corresponding to the coordinate data after the first discretization calculation; a second step of calculating a moving speed at each point of the coordinate data from the coordinate data generated by the coating simulation device and the timestamp, performing a second discretization calculation on the coordinate data using the calculated moving speed, and generating a plurality of second teaching points corresponding to the coordinate data after the second discretization calculation; and a third step of adding up the plurality of first teaching points generated in the first step and the plurality of second teaching points generated in the second step to generate a plurality of third teaching points. [Effects of the Invention]
[0007] According to the present invention, it is possible to generate teaching points that can improve the work efficiency of a painting robot while also improving the reproducibility of the movement trajectory and the paint film thickness. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a schematic diagram showing the overall configuration of a painting robot operation program generation system according to one embodiment of the present invention. [Figure 2] FIG. 2 is a diagram illustrating an outline of the processing performed by the operation program generation system for the painting robot shown in FIG. [Figure 3] 3(a) to 3(d) are diagrams for explaining discretization calculation using the RDP algorithm. [Figure 4] FIG. 4 is a flowchart illustrating the flow of discretization calculation using the RDP algorithm. [Figure 5] 5(a) to 5(d) are diagrams illustrating the results of discretization calculations using different thresholds. [Figure 6] FIG. 6 is a diagram showing the relationship between the reproducibility of the movement locus of the pseudo painting tool and the thinning rate of the coordinate data. [Figure 7] FIG. 7 is a diagram showing the relationship between the reproducibility of the motion locus of the pseudo coating tool and the standard deviation of the film thickness error before and after the discretization calculation. [Figure 8] 8(a) to 8(c) are diagrams for explaining discretization calculation using the moving speed of the pseudo painting tool. [Figure 9] FIG. 9 is a flowchart illustrating the flow of discretization calculation using the moving speed of the pseudo painting tool. [Figure 10] FIG. 10 is a flowchart illustrating a method for generating an operation program by the operation program generation system for a painting robot. DETAILED DESCRIPTION OF THE INVENTION
[0009] A painting robot operation program generation system, operation program generation method, and teaching point generation device according to one embodiment of the present invention will be described in detail below with reference to the drawings. FIG. 1 is a schematic diagram showing the overall configuration of a painting robot operation program generation system according to one embodiment of the present invention. The painting robot operation program generation system according to this embodiment generates an operation program using computer software in order to perform offline teaching for a painting robot that performs automatic painting. The teaching point generation device generates teaching points for operating the painting robot.
[0010] As shown in FIG. 1, a painting robot operation program generation system 1 according to one embodiment includes a painting simulation device 10 configured to enable a user to perform painting operations using a three-dimensional virtual object placed in a virtual space; a teaching point generation device 50 that generates teaching points based on log data related to simulated painting operations in the virtual space; and an operation program generation device 60 that generates an operation program for teaching the painting robot operations. Here, the teaching points are information that indicate target positions through which the robot should pass when operating the robot. The virtual space may include virtual three-dimensional spaces formed using VR (Virtual Reality), AR (Augmented Reality), or MR (Mixed Reality). However, the following description will be given using a VR space formed using VR (Virtual Reality) as the virtual space.
[0011] The painting simulation device 10 includes a simulation control device 15, a head-mounted display (HMD) 20 worn by the user, a simulated painting tool 30 manually operated by the user to perform simulated painting on a virtual object to be painted, and an operation detection device 40 that detects the operation of the simulated painting tool 30.
[0012] The HMD 20 is connected to the simulation control device 15 via a link box 21 and is configured to display a three-dimensional image of a virtual object to be coated in a virtual space in response to a signal from the simulation control device 15. The HMD 20 is equipped with a right-eye display (not shown) that provides an image to the user's right eye and a left-eye display (not shown) that provides an image to the left eye. Images with a difference in angle of view equivalent to parallax are displayed on the right-eye display and the left-eye display, allowing the user to recognize the virtual object to be coated in the virtual space as a three-dimensional image. The HMD 20 is equipped with an optical marker 22 that can be detected by a motion detection device 40 to detect the position and orientation of the user's viewpoint.
[0013] The simulated painting tool 30 is configured, for example, by a painting gun actually used for spray painting. The simulated painting tool 30 is equipped with a trigger 33 that is operated by the user's hand to perform a painting simulation in virtual space. An optical marker 31 that can be detected by a motion detection device 40 is attached to the simulated painting tool 30 to measure the motion of the simulated painting tool 30. The optical marker 31 is attached to the tip of the outlet of the simulated painting tool 30, which corresponds to the tool center point (TCP) of the painting robot, and is configured to detect the position and orientation of the simulated painting tool 30.
[0014] The simulated painting tool 30 further has a sensor 32 that detects whether the simulated painting is turned on or off by operating a trigger 33. The sensor 32 outputs a signal indicating an ON state, in which painting is being performed, or an OFF state, in which painting is not being performed, to the simulation control device 15, in response to, for example, a user's ON / OFF operation of the trigger 33 of the simulated painting tool 30. The application pattern of the virtual paint sprayed from the outlet of the simulated painting tool 30 and applied to the virtual object to be painted emulates a circular application pattern centered on the central axis of the paint outlet, corresponding to a paint gun such as a rotary atomizing bell sprayer or a round spray nozzle attached to a painting robot.
[0015] The motion detection device 40 is configured, for example, with a plurality of optical sensors. The optical sensors transmit the measurement results of the optical markers 22 of the HMD 20 and the optical markers 31 of the simulated painting tool 30 to the simulation control device 15. Note that the motion detection device 40 may also detect the position and orientation of the user's viewpoint and the position and orientation of the simulated painting tool 30 using sensors other than optical sensors, such as magnetic sensors or ultrasonic sensors.
[0016] The simulation control device 15 is implemented as a computer including, for example, a CPU (Central Processing Unit) that performs calculation processing, RAM (Random Access Memory) that serves as a working area for the CPU and a temporary storage area for calculation results, ROM (Read Only Memory) that stores an operating program for executing the simulation, various control constants, maps, etc., a hard disk drive, an input interface, an output interface, etc. The simulation control device 15 has an information storage unit 11, a detection control unit 12, a simulation calculation unit 13, and an image generation unit 14.
[0017] The information storage unit 11 stores a coating pattern representing the distribution of paint thickness when a workpiece is painted using the simulated painting tool 30. The coating pattern represents the distribution of paint thickness when paint is applied perpendicularly to a plane located at a reference position a predetermined distance from the simulated painting tool 30. As described above, since the coating pattern is circular, the thickness of the paint is distributed substantially uniformly in the circumferential direction of the coating pattern. The information storage unit 11 stores coating patterns corresponding to the nozzles of various paint guns that can be attached to a painting robot. The information storage unit 11 also stores object information, such as 3D CAD data, for displaying the object to be painted in the painting simulation as a three-dimensional image in a virtual space. At least one of the coating pattern and the object information may be stored in an information storage unit external to the simulation control device 15, and the simulation control device 15 may be configured to read the coating pattern and / or the object information from the external information storage unit.
[0018] The detection control unit 12 controls the motion detection device 40 and acquires position and orientation data of the optical marker 22 of the HMD 20 and the optical marker 31 of the simulated painting tool 30 detected by the motion detection device 40, as well as a signal indicating the on / off operation of the trigger 33 of the simulated painting tool 30 acquired from the sensor 32, at a predetermined time rate (e.g., 30 Hz).
[0019] The simulation calculation unit 13 acquires log data related to the operation of the dummy painting tool 30 manually operated by the user from the detection results of the motion detection device 40 input to the detection control unit 12, and records the log data in a memory (not shown). In other words, the simulation calculation unit 13 functions as a log data generating device. Specifically, the simulation calculation unit 13 calculates the position and orientation of the dummy painting tool 30 corresponding to the TCP of the painting robot, i.e., the three-dimensional position (hereinafter referred to as the TCP position) and orientation of the nozzle of the dummy painting tool 30, based on the measurement results of the optical marker 31 of the dummy painting tool 30 by the motion detection device 40. The TCP position of the dummy painting tool 30 is expressed as position data (X, Y, Z). The orientation of the dummy painting tool 30 is expressed as angle data (Rx, Ry, Rz) based on Euler angles (yaw, pitch, roll) when the central axis of the nozzle of the dummy painting tool 30 is the Z axis. In the following description, the position data and angle data of the pseudo painting tool 30 will be collectively referred to as coordinate data (X, Y, Z, Rx, Ry, Rz) or position and orientation data.
[0020] The simulation calculation unit 13 calculates the film thickness of the object to be coated by a painting simulation based on the painting pattern and object information corresponding to the simulated painting tool 30 stored in the information storage unit 11, a signal indicating whether painting by the simulated painting tool 30 is on or off, and coordinate data for the simulated painting tool 30. The film thickness can be determined by calculating the thickness of the paint applied by the simulated painting from, for example, the distance between the virtual object to be coated and the simulated painting tool 30 in virtual space, the position and orientation of the simulated painting tool 30, the time during which the simulated painting is performed, the painting pattern, etc. The simulation calculation unit 13 determines the film thickness distribution on the painted surface of the object to be coated as film thickness data.
[0021] The simulation calculation unit 13 generates log data in which the calculated coordinate data of the dummy painting tool 30, film thickness data, and painting on / off data generated by operating the trigger 33 of the dummy painting tool 30 are associated with a timestamp, and records the log data in a memory (not shown). The coordinate data of the dummy painting tool 30 is periodically extracted and recorded as log data.
[0022] The simulation calculation unit 13 further calculates the position and orientation of the optical marker 22 based on the measurement results of the optical marker 22 of the HMD 20 by the motion detection device 40, and converts the position and orientation of the optical marker 22 into the position and orientation of the user's viewpoint based on the relative position and orientation relationship between the user's viewpoint and the optical marker 22 that has been determined in advance.
[0023] The image generation unit (image generation device) 14 generates a virtual object to be coated based on the object information stored in the information storage unit 11, places it in the virtual space, and generates a 3D image of the object to be coated as seen from the user's viewpoint based on the position and orientation information of the user's viewpoint obtained by the simulation calculation unit 13. The image generation unit 14 generates a 3D image representing a simulated painting operation on the virtual object to be coated based on the simulation results of the simulation calculation unit 13. In other words, the image generation unit 14 is configured to generate an image including a 3D image of the virtual object to be coated placed in the virtual space, and representing simulated painting in which virtual paint is applied to the virtual object to be coated by the simulated painting tool 30 in the virtual space in response to the user's operation of the simulated painting tool 30.
[0024] When the trigger 33 of the simulated painting tool 30 is turned on, the image generation unit 14 generates an image of the virtual paint sprayed from the nozzle of the simulated painting tool 30 and the virtual paint film applied to the virtual object, combines the images in real time, and displays them on the HMD 20. The image generation unit 14 displays the TCP position of the simulated painting tool 30 as, for example, a red circle, and displays the virtual paint sprayed from the nozzle of the simulated painting tool 30 as, for example, a cone. The portion of the virtual object to which paint has been applied in a simulated manner by the simulated painting tool 30 is colored with a density and color scheme that corresponds to the distribution of the film thickness of the simulated paint.
[0025] The 3D image (parallax image set) generated by the image generation unit 14 is transmitted to the HMD 20 via the link box 21 and displayed in real time. This allows the user to virtually paint a virtual object while observing a 3D image corresponding to the position and orientation of the user's viewpoint. The 3D image generated by the image generation unit 14 may optionally be displayed on an external monitor 25.
[0026] Next, a description will be given of the teaching point generation device 50 that generates teaching points. The teaching point generation device 50 is implemented as a computer that includes, for example, a CPU that performs calculation processing, a RAM that serves as a working area for the CPU and a temporary storage area for calculation results, a ROM that stores operation programs for executing processing, various control constants, maps, etc., a hard disk drive, an input interface, an output interface, etc.
[0027] The teaching point generation device 50 acquires painting operation log data from the painting simulation device 10. As described above, the painting operation log data is a record of the coordinate data of the simulated painting tool 30, film thickness data, and painting on / off data, associated with timestamps. If necessary, the teaching point generation device 50 performs coordinate conversion calculations on the coordinate data of the simulated painting tool 30 acquired from the painting simulation device 10 so that the data can be used by offline teaching software used in the operation program generation device 60, which will be described later. The teaching point generation device 50 performs discretization calculations (thinning-out processing) on the log data and generates teaching points corresponding to the log data after the discretization calculations. Details of the discretization calculations in the teaching point generation device 50 will be described later.
[0028] The operation program generation device 60 is implemented as a computer that includes, for example, a CPU that performs calculation processing, RAM that serves as the CPU's working area and a temporary storage area for calculation results, ROM that stores the operation program for executing processing, various control constants, maps, etc., a hard disk drive, an input interface, an output interface, etc.
[0029] The operation program generator 60 has offline teaching software installed, and generates an operation program for teaching the operation of the painting robot based on the teaching points generated by the teaching point generator 50. Any known teaching software that is not limited to a robot language of a specific robot manufacturer can be used as the offline teaching software. By using teaching software that is not limited to a robot language of a specific robot manufacturer, there are no restrictions on the robot body, robot control unit, or parameters that can use the teaching points generated by this embodiment. It is also possible to generate teaching points that correspond to the robot language of a specific robot manufacturer.
[0030] Fig. 2 shows an overview of the processing by the operation program generation system 1 shown in Fig. 1. In the operation program generation system 1 according to this embodiment, first, the painting simulation device 10 measures the painting operations of the user using the simulated painting tool 30 in a virtual space and generates log data of the painting operations (S1). Next, the teaching point generation device 50 performs discretization calculations on the log data of the painting operations obtained by the painting simulation device 10 and generates teaching points corresponding to the log data after the discretization calculations (S2). Then, the operation program generation device 60 generates an operation program for teaching the operation of the painting robot based on the generated teaching points (S3).
[0031] As described above, the painting robot operation program generation system 1 according to this embodiment creates an operation program for a painting robot to be used in offline teaching. Because offline teaching allows the operation of a painting robot to be simulated on a computer, it has the advantage of not requiring the actual preparation of the workpiece to be painted, painting equipment, jigs, etc., compared to direct teaching, in which teaching is performed by moving the robot body using a teaching pendant.
[0032] However, conventional offline teaching involves rough teaching using simulations in CAD space, followed by direct teaching on-site, operating the robot itself to identify problems, and correcting the program. In other words, if the desired operation program cannot be completed using offline teaching alone, it is necessary to actually prepare the workpiece, painting equipment, jigs, etc., and make corrections to complete a highly accurate operation program.
[0033] Furthermore, in spray painting using a paint gun, the thickness of the paint applied to the workpiece varies depending on painting conditions such as the movement speed of the paint gun and the distance and angle between the paint gun and the workpiece. To achieve the desired paint film thickness, painters typically change the movement speed of the paint gun, taking into account the surface shape of the workpiece and the shape of surrounding jigs. Therefore, if an operating program is created that focuses only on the reproducibility of the paint gun's motion trajectory without taking the movement speed into account, it may not be possible to reproduce the desired paint film thickness.
[0034] Therefore, in the painting robot operation program generation system 1 according to this embodiment, a painting simulation is performed in a virtual space using a painting simulation device 10 including a virtual painting tool 30 manually operated by a user, and a thinning process (described later) is performed on the painting operation log data. This generates an operation program for offline teaching that reproduces an operation trajectory that can form a desired paint film thickness.
[0035] The following describes the details of the thinning process performed by the teaching point generation device 50. As described above, teaching points are information that serve as target positions for the painting robot when it operates. The more teaching points there are, the more accurately the user's movement trajectory can be traced, resulting in higher reproducibility. However, there is a possibility that even small tremors and minor habits of the user may be reproduced. Furthermore, a motion program with many teaching points is likely to affect and burden the processing capacity of the robot control unit, which may result in communication delays between the robot control unit and the painting robot itself. On the other hand, a motion program with fewer teaching points reduces the processing load on the robot control unit, but the distance between teaching points becomes longer, reducing the reproducibility of the user's movement trajectory. Furthermore, the movement speed between teaching points is averaged, which does not reflect the user's movement speed of the paint gun, potentially reducing the reproducibility of the paint film thickness.
[0036] Therefore, in this embodiment, a discretization calculation using the Ramer-Douglas-Peucker (RDP) algorithm is performed as a thinning process on the coordinate data (X, Y, Z, Rx, Ry, Rz) of the imitation painting tool 30, and coordinate data determined to be necessary is adopted as teaching points. Furthermore, a discretization calculation is performed on the coordinate data of the imitation painting tool 30 using a threshold value dynamically set according to the movement speed of the imitation painting tool 30, and coordinate data determined to be necessary is adopted as teaching points.
[0037] First, with reference to Figures 3(a) to 3(d), we will explain the discretization calculation using the RDP algorithm for the coordinate data (X, Y, Z, Rx, Ry, Rz) of the simulated painting tool 30. Figures 3(a) to 3(d) conceptually show the time change of the coordinate data included in the log data of the simulated painting tool 30 acquired by the painting simulation device 10, and the points indicated by the solid or dashed circle represent the TCP position in the X-axis direction, for example.
[0038] The outline of the discretization calculation using the RDP algorithm is as follows. As shown in FIG. 3(a), a line L is drawn between the start point Ps and the end point Pe of the movement trajectory, and the point Pa farthest from the line L is selected. If the distance Da from the line L to the farthest point Pa is equal to or greater than a preset threshold ε, the point Pa is determined to be necessary (valid); if it is less than the threshold ε, the point Pa is determined to be unnecessary (invalid). This process is repeated, and only the coordinate data determined to be necessary is adopted as the teaching point. By changing the value of the threshold ε, it is possible to adjust the degree to which the coordinate data is thinned out, i.e., how faithfully the movement trajectory of the artificial painting tool 30 is reproduced (traced). The setting of the threshold ε will be described later.
[0039] The flow of discretization calculation using the RDP algorithm will be explained below using the flowchart in Figure 4.
[0040] First, in step S101, a line L is drawn between the start point Ps and the end point Pe, as shown in FIG. 3(a). In step S102, the distance from the line L in a direction perpendicular to the line L is calculated for all points between the start point Ps and the end point Pe, and the point Pa that is farthest from the line L is selected. In step S103, it is determined whether the distance Da from the line L to the point Pa is equal to or greater than a threshold ε. If the distance Da is equal to or greater than the threshold ε, the process proceeds to step S104, where the point Pa is determined to be a valid point. On the other hand, if the distance Da is smaller than the threshold ε, the point Pa is determined to be an invalid point, and the process ends.
[0041] After determining that point Pa is a valid point in step S104, the process branches to steps S105 and S107. In step S105, it is determined whether or not a point exists between point Pa determined to be valid in step S104 and start point Ps. If a point exists between valid point Pa and start point Ps as shown in FIG. 3(a), the process proceeds to step S106. If no point exists between valid point Pa and start point Ps, the process ends.
[0042] In step S106, the valid point Pa is set as the end point Pe, and the process returns to step S101 to repeat the above-mentioned process. Specifically, as shown in FIG. 3(b), a line L is drawn between the start point Ps and the valid point Pa set as the end point Pe (step S101), and the point Pa farthest from the line L is selected (step S102). It is determined whether the distance Da from the line L to the point Pa is equal to or greater than a threshold ε (step S103). If the distance Da is equal to or greater than the threshold ε, the point Pa is determined to be a valid point (step S104). If the distance Da is less than the threshold ε, the point Pa is determined to be an invalid point, and the process ends.
[0043] On the other hand, in step S107, it is determined whether or not a point exists between the point Pa determined to be valid in step S104 and the end point Pe. If a point exists between the valid point Pa and the end point Pe as shown in Figure 3(a), the process proceeds to step S108. If no point exists between the valid point Pa and the end point Pe, this process ends.
[0044] In step S108, the valid point Pa is set as the start point Ps, and the process returns to step S101 to repeat the above-mentioned process. Specifically, as shown in FIG. 3(c), a straight line L is drawn between the valid point Pa set as the start point Ps and the end point Pe (step S101), and the point Pa farthest from the straight line L is selected (step S102). It is determined whether the distance Da from the straight line L to the point Pa is equal to or greater than a threshold ε (step S103). If the distance Da is equal to or greater than the threshold ε, the point Pa is determined to be a valid point (step S104), and if the distance Da is less than the threshold ε, the point Pa is determined to be an invalid point and this process ends.
[0045] The process shown in the flowchart of FIG. 4 ends when the validity or invalidity of all points Pa that are determined in step S102 to be the farthest from the line L among all points that exist between the start point Ps and the end point Pe at the start of the process has been determined. FIG. 3(d) shows the results of the discretization calculation for the coordinate data of FIG. 3(a). FIG. 3(d) shows an example in which, of the points between the start point Ps and the end point Pe, points P1 and P2 are determined to be valid, and the other points are determined to be invalid. The teaching point generation device 50 uses only the start point Ps, the end point Pe, and the valid points P1 and P2 as teaching points, and deletes the other points without using them as teaching points.
[0046] The teaching point generating device 50 performs the above-described discretization calculation for each of the five coordinate data (X, Y, Z, Rx, Ry, Rz) of the simulated painting tool 30, excluding Rz, which represents the roll angle around the central axis (Z-axis) of the discharge port. As described above, the simulated painting tool 30 is configured to form a simulated circular coating pattern centered on the central axis of the discharge port, and the roll angle Rz around the central axis of the discharge port does not affect the coating pattern. Therefore, the roll angle Rz is excluded from the discretization calculation.
[0047] Next, we will explain how to set the threshold ε used in the discretization calculation using the RDP algorithm. As mentioned above, there is a trade-off between the reproducibility of the motion trajectory of the simulated painting tool 30 and the number of teaching points. The more teaching points there are, the higher the reproducibility of the motion trajectory. The fewer teaching points there are, the lower the reproducibility and the greater the deviation from the motion trajectory. In other words, the less invalid points are thinned (deleted) from the coordinate data by the discretization calculation, the more teaching points there are and the higher the reproducibility of the motion trajectory. On the other hand, the higher the degree of thinning from the coordinate data, the fewer teaching points there are and the lower the reproducibility of the motion trajectory. In the following explanation, the degree to which invalid points are thinned from the coordinate data of the simulated painting tool 30 acquired from the painting simulation device 10 will be referred to as the thinning rate or discretization rate, and the reproducibility of the motion trajectory will also be referred to as the tracing rate. The thinning rate is the ratio of invalid points to the coordinate data of the simulated painting tool 30.
[0048] The reproducibility of the motion trajectory can be adjusted by the magnitude of the threshold value ε. The results of discretization calculations using different threshold values ε will be explained using Figures 5 to 7. The horizontal axis of Figures 5(a) to 5(d) represents time, and the vertical axis represents the TCP position in the X-axis direction, for example, and shows the motion trajectory of the pseudo painting tool 30 and the path connecting the teaching points. Note that CASE_A to CASE_D shown in Figures 5 to 7 are examples used to clearly explain the difference in the effect of discretization calculations when different threshold values ε are used, and the actual results of discretization calculations may differ from those shown.
[0049] The threshold ε for CASE_A shown in FIG. 5(a) is the largest, the threshold ε for CASE_B shown in FIG. 5(b) is the second largest, the threshold ε for CASE_C shown in FIG. 5(c) is the third largest, and the threshold ε for CASE_D shown in FIG. 5(d) is the smallest. CASE_A shown in FIG. 5(a) has the largest threshold ε and the highest thinning rate, and the number of teaching points indicated by circles is small. Therefore, the path connecting the teaching points indicated by dashed lines deviates significantly from the motion trajectory of the virtual painting tool 30 indicated by the solid line. As shown in FIGS. 5(b) to 5(d), the smaller the threshold ε, the lower the thinning rate, the larger the number of teaching points indicated by circles, and the higher the reproducibility of the motion trajectory.
[0050] Figure 6 shows the relationship between the reproducibility of the movement trajectory of the pseudo painting tool 30 and the thinning rate of the coordinate data. The horizontal axis of Figure 6 indicates the thinning rate (%) from the coordinate data, and the vertical axis indicates the reproducibility of the movement trajectory. Here, the root mean square error (RMSE) (mm) is used as an index representing the reproducibility of the movement trajectory. The RMSE of the movement trajectory can be calculated using the following equation (1).
number
[0051] The smaller the RMSE value of the motion trajectory, the smaller the error of the path after discretization calculation compared to the motion trajectory before discretization calculation, and the higher the reproducibility of the motion trajectory, i.e., the tracing rate. As shown in Figure 6, CASE_A has the highest thinning rate (99.8%) and the largest RMSE of the motion trajectory (352.1 mm). Therefore, the reproducibility of the motion trajectory is the lowest. The thinning rates decrease in the order of CASE_B, CASE_C, and CASE_D, at 98.8%, 96.9%, and 76.8%, respectively, and the RMSE of the motion trajectory decreases at 39.8 mm, 11.8 mm, and 0.2 mm. Accordingly, the reproducibility of the motion trajectory increases.
[0052] The RMSE of the motion trajectory, i.e., the degree of reproducibility of the motion trajectory, can be determined based on various factors, for example, the film thickness distribution of the workpiece. Specifically, the RMSE (μm) of the film thickness is calculated using an equation equivalent to the above-mentioned (Equation 1) from the film thickness data before and after discretization calculation at multiple measurement points. In this case, n is the number of film thickness data, fi is the i-th value of the film thickness coordinate data before discretization calculation, and yi is the i-th value of the film thickness data after discretization calculation.
[0053] Figure 7 shows the relationship between the reproducibility of the motion trajectory of the simulated coating tool 30 and the standard deviation of the film thickness error before and after the discretization calculation. The horizontal axis of Figure 7 shows the RMSE of the motion trajectory, and the vertical axis shows the standard deviation σ of the RMSE (film thickness error) of the film thickness. In Figure 7, the standard deviation σ of the film thickness error is shown as the ratio (%) of the film thickness error to the average film thickness of the coated object.
[0054] As shown in Figure 7, the RMSE of the motion trajectory decreases in the order of CASE_A, CASE_B, CASE_C, and CASE_D, and the standard deviation σ of the film thickness error decreases accordingly. The standard deviation σ of the film thickness error before and after the discretization calculation is preferably approximately 20% or less, and more preferably approximately 15% or less. According to the relationship shown in Figure 7, when the standard deviation σ of the film thickness error is 20%, the RMSE of the motion trajectory is approximately 40 mm. When the standard deviation σ of the film thickness error is 15%, the RMSE of the motion trajectory is approximately 15 mm. Therefore, the RMSE of the motion trajectory is preferably 15 mm or less, which corresponds to the standard deviation σ of the film thickness error of 15%. Even if the thinning rate is set to approximately 98% and approximately 98% of the coordinate data is deleted by the discretization calculation, the film thickness error before and after the discretization calculation remains within 20%. When approximately 97% of the coordinate data is deleted by the discretization calculation, the film thickness error before and after the discretization calculation remains within 15%.
[0055] From the above, among CASE_A, CASE_B, CASE_C, and CASE_D, CASE_B, CASE_C, or CASE_D, where the standard deviation σ of the film thickness error is about 20% or less, is preferable, and CASE_C or CASE_D, where the standard deviation σ of the film thickness error is about 15% or less, is more preferable. By appropriately setting the threshold ε in consideration of the reproducibility (trace rate) and thinning rate of the above-mentioned motion trajectory, the desired motion path and film thickness can be achieved.
[0056] Next, we will explain the discretization calculation using the movement speed of the simulated painting tool 30. The movement speed (painting speed) of the simulated painting tool 30 and the film thickness are proportional to each other; a 10% increase in the movement speed results in a 10% decrease in the film thickness, and a 10% decrease in the movement speed results in a 10% increase in the film thickness. Therefore, if thinning processing is performed while only considering the reproducibility of the movement trajectory without taking into account changes in the movement speed, it may not be possible to obtain the desired film thickness. Therefore, in this embodiment, discretization calculation is performed using a threshold value α that is dynamically set according to the movement speed of the simulated painting tool 30, and coordinate data determined to be necessary is adopted as teaching points.
[0057] The log data of the simulated painting tool 30 acquired from the painting simulation device 10 includes position data and timestamps. The movement speed of the simulated painting tool 30 can be calculated from the position data and timestamps at each TCP position, so it can be understood that the log data of the simulated painting tool 30 includes log data related to the movement speed. The teaching point generation device 50 calculates the movement speed at each TCP position from the position data and timestamps of the simulated painting tool 30 acquired from the painting simulation device 10. As described above, the standard deviation of the film thickness error before and after the discretization calculation is preferably within 20%, and more preferably within 15%, so the difference in acceleration of the simulated painting tool 30 is also preferably within 20%, and more preferably within 15%.
[0058] 8(a) to 8(c) are diagrams illustrating the discretization calculation using the moving speed of the pseudo painting tool 30. Figures 8(a) to 8(c) show the time change in the moving speed of the pseudo painting tool 30 at each TCP position, and the dots indicated by circles on solid or dashed lines represent the moving speed at each TCP position. The flow of the discretization calculation using the moving speed of the pseudo painting tool 30 will be explained below using the flowchart in Figure 9.
[0059] First, in step S201, as shown in FIG. 8(a), the TCP position at the initial time ti is set as the reference point Pi (i=1). In step S202, a threshold value α is set based on the moving speed vi of the dummy painting tool 30 at the reference point Pi. Specifically, the threshold value α is calculated using the moving speed vi and a predetermined coefficient β (α=β×vi). Here, the coefficient β is appropriately set in advance depending on the desired accuracy, and is set so that the threshold value α increases as the moving speed of the dummy painting tool 30 increases. The coefficient β can be set to, for example, β=0.2. In step S203, a target point Pj is set. The target point Pj is the TCP position at time tj, and in this case, it is the (i+1)th point relative to the reference point Pi.
[0060] In step S204, the absolute value Δvj of the velocity difference between the movement velocity vi of the reference point Pi and the movement velocity vj of the target point Pj is calculated (Δvj = |vj - vi|). In step S205, it is determined whether the absolute value Δvj of the velocity difference is equal to or greater than the threshold value α set in step S202. If the absolute value Δvj of the velocity difference is less than the threshold value α, the process proceeds to step S206, where the target point Pj is determined to be an invalid point and a new target point Pj is set. Specifically, the point next to the current target point Pj, i.e., the (j+1)th point, is set as the new target point Pj. After the new target point Pj is set, the process returns to step S204 and the absolute value Δvj of the velocity difference is calculated using the movement velocity vj of the new target point Pj.
[0061] On the other hand, if it is determined in step S205 that the absolute value of the speed difference Δvj is equal to or greater than the threshold value α, the process proceeds to step S207, where the target point Pj is determined to be a valid point. As a result, as shown in Fig. 8(a), the target point Pj whose speed difference with respect to the moving speed vi of the reference point Pi is equal to or greater than the threshold value α based on the moving speed vi of the reference point Pi is determined to be a valid point.
[0062] In the next step S208, it is determined whether or not a point subsequent to the target point Pj validated in step S207 exists. If a TCP position at the time point subsequent to the target point Pj exists, the process proceeds to step S209, where the target point Pj is set as a new reference point Pi. After the new reference point Pi is set, the process returns to step S202, and the above-described processing is repeated. That is, as shown in FIG. 8(b), a threshold value α is set based on the movement speed vi of the new reference point Pi, and it is determined whether the new target point Pj is validated or invalidated based on the set threshold value α.
[0063] If it is determined in step S208 that there is no point following the target point Pj validated in step S207, this process ends. Figure 8(c) shows the results of discretization calculations using the movement speed at each TCP position of the pseudo-painting tool 30 shown in Figure 8(a). Figure 8(c) shows an example in which three points P1, P2, and P3 indicated by solid circles are determined to be valid, and the other points indicated by dashed circles are determined to be invalid. The teaching point generation device 50 adopts the three valid points P1, P2, and P3, including point P1 at the initial time point, as teaching points, and deletes the other points without using them as teaching points.
[0064] The above has described the processing in each device constituting the painting robot operation program generation system 1 according to this embodiment. Next, a method for generating an operation program by the painting robot operation program generation system 1 will be described with reference to the flowchart in FIG.
[0065] First, in step S301, the painting simulation device 10 starts a painting simulation of a virtual object in virtual space. The painting simulation starts when the user turns on the trigger 33 of the simulated painting tool 30. In step S302, the painting simulation device 10 determines whether the film thickness of the object obtained by the simulated painting operation of the simulated painting tool 30 is within an appropriate range. The painting simulation device 10 calculates the film thickness of the object by the simulated painting operation as described above and determines whether the simulated film thickness is within a predetermined appropriate range. If the film thickness is within the appropriate range, the process proceeds to step S303. On the other hand, if the film thickness is not within the appropriate range, the process determines that the desired film thickness was not obtained by the painting operation of the simulated painting tool 30, and the process returns to step S301. In other words, the painting simulation using the simulated painting tool 30 is repeated until the desired film thickness is obtained.
[0066] In step S303, the painting simulation device 10 generates and records log data of the simulation painting tool 30 as described above. The data format of the log data of the simulation painting tool 30 generated and recorded by the painting simulation device 10 is a data format that can be used by the offline teaching software used in the operation program generation device 60. Steps S301 to S303 described above are the processes executed by the painting simulation device 10.
[0067] In step S310, the teaching point generation device 50 acquires the log data of the pseudo painting tool 30 obtained in step S303. If necessary, the teaching point generation device 50 arbitrarily performs coordinate conversion calculations on the coordinate data of the pseudo painting tool 30 so that the data can be used by the offline teaching software used in the operation program generation device 60.
[0068] In step S311, the teaching point generation device 50 sets discretization conditions (thinning conditions for thinning processing) for performing discretization calculations on the log data of the simulated painting tool 30. Specifically, it sets a threshold value ε for performing discretization calculations using the RDP algorithm on the coordinate data of the simulated painting tool 30, and a threshold value α for performing discretization calculations using the movement speed of the simulated painting tool 30. As described above, the threshold values ε and α are set to appropriate values taking into account the reproducibility of the movement trajectory (trace rate) and the thinning rate so as to achieve the desired movement path and film thickness. Note that the threshold values ε and α may be changed depending on the type of paint gun attached to the painting robot, the type of workpiece, etc., or may be fixed values.
[0069] In step S312, the teaching point generating device 50 performs discretization calculation (thinning-out process) on the paint ON / OFF data from the log data of the imitation painting tool 30. Specifically, it deletes the coordinate data corresponding to the OFF state in which the imitation painting tool 30 is not painting. The process thereafter branches to step S313 and step S314.
[0070] In step S313, the teaching point generating device 50 performs discretization calculations using the RDP algorithm on the coordinate data of the pseudo painting tool 30, as described above. In step S314, as described above, the teaching point generating device 50 performs discretization calculations using the moving speed of the pseudo painting tool 30. Note that in the flowchart of Fig. 10, steps S313 and S314 are shown as branched steps to indicate that the same log data is used to perform the processing of steps S313 and S314, but either step S313 or step S314 may be performed first, or both steps may be performed simultaneously.
[0071] In step S315, the teaching point generation device 50 adds up the teaching points generated by the discretization calculation in step S313 and the teaching points generated by the discretization calculation in step S314. For example, even if a point is determined to be invalid by the discretization calculation using the RDP algorithm, if it is determined to be valid by the discretization calculation using the moving speed, it will be adopted as a teaching point. Also, even if a point is determined to be invalid by the discretization calculation using the moving speed, if it is determined to be valid by the discretization calculation using the RDP algorithm, it will be adopted as a teaching point.
[0072] In step S316, the teaching point generation device 50 determines whether the thinning rate of the teaching points added up in step S315 is equal to or greater than a predetermined value. The predetermined value of the thinning rate can be set appropriately taking into consideration the calculation load on the robot control unit, etc. In this case, for example, the predetermined value is set to 50%, and if the thinning rate is 50% or greater, the process proceeds to step S317, but if the thinning rate is less than 50%, the process returns to step S311 and the discretization conditions are reset so that the thinning rate is 50% or greater.
[0073] In step S317, the teaching point generation device 50 determines whether the movement path obtained by the teaching points added up in step S315 sufficiently reproduces the movement trajectory by the user. That is, it determines whether the reproducibility of the movement trajectory is sufficiently high. The reproducibility of the movement trajectory can be determined, for example, using the RMSE of the movement trajectory described above. If the RMSE of the movement trajectory is, for example, 40 mm or less, it is determined that the reproducibility is sufficiently high. If it is determined that the reproducibility is low, the process returns to step S311 and the discretization conditions are reset so that the reproducibility is sufficiently high. If it is determined that the reproducibility is sufficiently high, the process proceeds to step S320. The above-described steps S310 to S317 are the processes executed by the teaching point generation device 50.
[0074] In step S320, the operation program generation device 60 generates an operation program for teaching the operation of the painting robot based on the teaching points that have been sufficiently thinned out and have high reproducibility of the operation trajectory, generated by the teaching point generation device 50. Note that before transferring the generated operation program to the painting robot, the operation program generation device 60 verifies on a computer whether the generated operation program will cause the painting robot to operate normally. This ends the operation program generation process by the painting robot operation program generation system 1.
[0075] The painting robot operation program generation system 1 according to the embodiment described above can achieve the following advantageous effects.
[0076] The painting robot operation program generation system 1 is a painting simulation device 10 for performing simulated painting in a virtual space, and includes a simulated painting tool 30 equipped with a trigger 33 operated by a user's hand to perform simulated painting in the virtual space, an image generation unit 14 including a three-dimensional image of a virtual object to be painted placed in the virtual space and configured to generate an image representing simulated painting in which virtual paint is applied to the virtual object to be painted by the simulated painting tool 30 in the virtual space in response to the user's operation of the simulated painting tool 30, and an HMD 20 worn by the user and displaying the image generated by the image generation unit 14. The painting simulation device 10 includes a motion detection device 40 that detects the motion of the pseudo painting tool 30 in a virtual space, and a simulation calculation unit 13 that generates log data regarding the motion of the pseudo painting tool 30 from the detection results by the motion detection device 40; a teaching point generation device 50 that performs discretization calculations on the log data generated by the simulation calculation unit 13 and generates teaching points corresponding to the log data after the discretization calculation; and an operation program generation device 60 that generates an operation program for teaching the operation of a painting robot based on the teaching points generated by the teaching point generation device 50.
[0077] The painting robot motion program generation system 1 according to this embodiment is configured to acquire log data related to the user's motion of the simulated painting tool 30 through a painting simulation in a virtual space using the simulated painting tool 30. Teaching points are generated from the log data of the user's painting motions, and a painting robot motion program is generated. This allows for the generation of a motion program for offline teaching that improves the work efficiency of the painting robot while also improving the reproducibility of the motion trajectory and paint film thickness. The HMD 20 worn by the user displays an image representing simulated painting in which virtual paint is applied to a virtual object by the simulated painting tool 30. While checking the simulated painting state displayed in real time on the HMD 20, the user holds the simulated painting tool 30 in their hand and performs painting operations as if they were actually painting a virtual object placed in the virtual space. This allows for the acquisition of log data consistent with the actual painting operations of a user, such as an experienced painter. This allows for the generation of a motion program that can reproduce the motion trajectory of an experienced painter's painting operations as a motion path for the painting robot. Furthermore, since the painting simulation is performed in a virtual space, there is no need to prepare actual objects such as the object to be painted, painting equipment, and jigs.
[0078] Furthermore, since a painting simulation is performed by placing a three-dimensional virtual object in a virtual space, the size of the object can be enlarged or reduced, or the object can be inverted upside down. For example, by displaying a reduced-size virtual object, it is possible to perform a painting simulation for large objects such as automobiles, large furniture, large electrical appliances, large ships, and airplanes. Furthermore, by enlarging an object with a complex shape and displaying it as a virtual object, it is possible to simulate the painting operations for small details in detail. In this way, by performing a painting simulation using a virtual object in a virtual space, it is possible to obtain log data of the painting operations of skilled painters on objects of various sizes.
[0079] The log data related to the operation of the simulated painting tool 30 includes log data of the position of the simulated painting tool 30 during simulated painting, and the teaching point generation device 50 is configured to perform discretization calculations using the Ramer-Douglas-Peucker (RDP) algorithm on the position log data. The log data related to the operation of the simulated painting tool 30 further includes log data of the posture of the simulated painting tool 30 during simulated painting, i.e., angle data, and the teaching point generation device 50 is further configured to perform discretization calculations using the RDP algorithm on the posture log data. By performing discretization calculations using the RDP algorithm, it is possible to reproduce the user's movement trajectory while eliminating coordinate data caused by small shaking or unnecessary movements by the user. In discretization calculations using the RDP algorithm, regardless of the movement distance of the simulated painting tool 30, the validity / invalidity of coordinate data is determined based on the distance from a line L connecting the start point Ps and the end point Pe, and therefore, coordinate data with the same vector is appropriately eliminated. Furthermore, since the thinning rate of the coordinate data can be adjusted based only on the threshold value ε, it is easy to determine and manage the extent to which the coordinate data should be thinned.
[0080] The log data related to the operation of the simulated painting tool 30 includes log data related to the position and movement speed of the simulated painting tool 30 during simulated painting. The teaching point generation device 50 is configured to perform discretization calculations on the position log data using a threshold value α that is dynamically set according to the movement speed. The log data related to the operation of the simulated painting tool 30 also includes log data related to the posture of the simulated painting tool 30 during simulated painting, i.e., angle data. The teaching point generation device 50 is also configured to perform discretization calculations on the posture log data using a threshold value α. Because the movement speed between teaching points affects the film thickness, taking the movement speed of the simulated painting tool 30 into consideration when generating teaching points can improve the reproducibility of the paint film thickness. While the paint film thickness can also be adjusted by the amount of paint dispensed from the paint gun, in this embodiment, teaching points are generated that reflect the movement speed of the simulated painting tool 30, allowing the amount of paint dispensed from the paint gun attached to the painting robot to be constant. Maintaining a constant (fixed) paint gun discharge rate further facilitates control of the painting robot.
[0081] -Variations- Although one embodiment of the present invention has been described in detail above, the present invention is not limited to the above-described embodiment, and various modifications and changes are possible based on the technical concept of the present invention.
[0082] -Variation 1- The teaching point generation device 50 may further be configured to correct the torsion angle of the central axis of the nozzle of the paint gun attached to the painting robot. The painting robot is configured, for example, as a four-, five-, or six-axis vertical articulated robot to which a paint gun is attached and which has multiple degrees of freedom. In contrast, the simulated painting tool 30 is manually operated by a user. The coordinate data of the simulated painting tool 30 acquired by the painting simulation device 10 represents the motion trajectory of the painting action manually performed by the user. Because the range of motion of the shoulder joint of the user operating the simulated painting tool 10 is different from the range of motion of the manipulator of the painting robot, generating teaching points using the coordinate data of the simulated painting tool 30 as is may result in an error due to exceeding the limit of the painting robot's range of motion.
[0083] As explained in the above embodiment, the paint gun of the painting robot and the dummy painting tool 30 are configured to form a circular coating pattern that is symmetrical about the central axis of the discharge port. Therefore, the roll angle around the central axis of the discharge port (Z axis) is a parameter that does not affect the painting result. Therefore, a roll angle that allows a wide degree of freedom for the yaw angle and pitch angle of the paint gun within the operating range of the painting robot is selected.
[0084] For example, the roll angle that maximizes the degree of freedom for the yaw and pitch angles of the paint gun within the painting robot's operating range is identified and tabulated in advance, corresponding to the three-dimensional position of the painting robot's TCP. The roll angle that maximizes the degree of freedom for the yaw and pitch angles can be set for each three-dimensional position of the TCP that corresponds to the edge of the workpiece or the edge of the jig that supports the workpiece. When setting the roll angle, it is optional, but it is preferable to take into account the possibility of twisting or bending of cables, tubes, etc. housed within the painting robot's manipulator.
[0085] The teaching point generating device 50 can be configured to perform a process of correcting the torsion angle, that is, to select the roll angle, when setting the discretization conditions in step S311 in the flowchart of FIG. 10 described above, for example.
[0086] The operation program generator 60 generates an operation program for the painting robot based on the teaching points generated by the teaching point generator 50 as well as information on the roll angle corresponding to the three-dimensional position of the TCP of the painting robot.
[0087] This makes it possible to achieve smooth movement while expanding the operating range of the manipulator of the painting robot, while maintaining the positions and angles of the teaching points generated by thinning processing using the teaching point generation device 50. Furthermore, by setting the roll angle taking into account the twisting and bending of cables, tubes, etc. stored inside the manipulator of the painting robot, it is possible to avoid the risk of tube blockage due to twisting or bending.
[0088] -Variation 2- In the above-described embodiment, a painting simulation is performed in a virtual space, and the log data of the painting operations obtained by the simulation is thinned out. However, the present invention is not limited to this, and a configuration is also possible in which log data of the user's actual painting operations in real space is acquired, and the above-described discretization calculation is performed on the acquired log data to generate teaching points.
[0089] For example, a teaching point generation device 50 for generating teaching points for operating a painting robot may be configured to include the steps of acquiring log data on the position of a painting device that actually paints a workpiece, performing discretization calculations using an RDP algorithm on the acquired position log data, and generating teaching points corresponding to the log data after the discretization calculations. In this case, the painting device may be a paint gun having a configuration similar to that of the simulated painting tool 30 described in the above embodiment and actually filled with paint. This allows the user's movement trajectory to be reproduced while eliminating coordinate data resulting from small shaking or unnecessary movements by the user, as in the above embodiment. Alternatively, the system may be configured to acquire log data on the orientation (angle) of the painting device in addition to the position log data, and further perform discretization calculations on the orientation log data to generate teaching points.
[0090] Furthermore, the teaching point generation device 50 for generating teaching points for operating a painting robot may be configured to include the steps of acquiring log data on the position and movement speed of the painting device that actually paints the workpiece, performing discretization calculations on the acquired position log data using a threshold value α that is dynamically set according to the movement speed, and generating teaching points corresponding to the log data after discretization calculations. This, as in the above-described embodiment, improves the reproducibility of paint film thickness. Furthermore, since the discharge rate of the paint gun can be kept constant (a fixed value), control of the painting robot becomes even easier. Alternatively, the teaching point generation device may acquire log data on the orientation (angle) of the painting device in addition to the position log data, and perform discretization calculations on the orientation log data to generate teaching points.
[0091] -Other variations- (1) In the above-described embodiment, the log data of the painting operation includes coordinate data including the position data and angle data of the imitation painting tool 30. However, this is not limited to this, and the log data of the painting operation may be configured to include at least the position data of the imitation painting tool 30 as the coordinate data of the imitation painting tool 30, and optionally include the angle data of the imitation painting tool 30.
[0092] (2) In the above-described embodiment, the thinning process for the coordinate data (X, Y, Z, Rx, Ry, Rz) of the pseudo painting tool 30 involves performing discretization calculations using the RDP algorithm and also performing discretization calculations using a threshold value α that is dynamically set according to the moving speed of the pseudo painting tool 30, and adopting coordinate data that is determined to be necessary as teaching points. However, the present invention is not limited to this, and a configuration may be adopted in which only one of the discretization calculations using the RDP algorithm and the discretization calculations using a threshold value α that is dynamically set according to the moving speed of the pseudo painting tool 30 is performed.
[0093] (3) In the above-described embodiment, discretization calculation using the RDP algorithm was performed as a thinning process for the coordinate data of the simulated painting tool 30. In this embodiment, the RDP algorithm was used as a discretization model that has high reproducibility of the movement trajectory and can eliminate unnecessary coordinate data as much as possible, but it is also possible to use a discretization calculation model other than the RDP algorithm.
[0094] (4) In the above-described embodiment, the threshold value α is set using the absolute value Δvj of the speed difference between the moving speed vi of the reference point Pi and the moving speed vj of the target point Pj. However, the method for setting the threshold value α is not limited to this. For example, the acceleration of the moving speed may be calculated, and the threshold value α may be set based on the acceleration. Furthermore, the value of the coefficient β for setting the threshold value α is not limited to the above-described one.
[0095] (5) In the above-described embodiment, the reproducibility of the motion locus is determined using the standard deviation σ of the film thickness error. However, this is not a limitation, and reproducibility may be determined using other parameters. Furthermore, the preferred standard deviation σ of the film thickness error is set to approximately 20% or less, and more preferably approximately 15% or less, but this is not a limitation, and other values may be used to achieve the desired film thickness.
[0096] (6) In the above-described embodiment, a VR space is used as an example of the virtual space. However, the present invention is not limited to this. An AR space or an MR space may be used as the virtual space, and a painting simulation may be performed in the AR space or the MR space. In this case, for example, a camera that captures an image of the real space may be attached to the HMD 20, and the image of the real space and a three-dimensional image of the virtual object to be painted may be generated as a composite image and displayed on the HMD 20. [Explanation of symbols]
[0097] 1. Painting robot motion program generation system 10 Painting simulation device 11 Information storage section 12 Detection control section 13 Simulation Calculation Section 14 Image generation unit 15 Simulation control device 20 Head-mounted display 30 Pseudo Painting Tool 40 Motion detection device 50 Teaching point generator 60 Operation program generator
Claims
1. a painting simulation device that performs simulated painting in a virtual space using a simulated painting tool and generates log data related to the operation of the simulated painting tool in the virtual space; a teaching point generating device that generates teaching points for operating a painting robot based on log data related to the operation of the pseudo painting tool generated by the painting simulation device; A painting robot operation program generation system comprising: the log data relating to the operation of the simulative painting tool includes coordinate data of the simulative painting tool associated with a timestamp; The teaching point generating device a first step of performing a first discretization calculation using a Ramer-Douglas-Peucker (RDP) algorithm on the coordinate data generated by the painting simulation device, and generating a plurality of first teaching points corresponding to the coordinate data after the first discretization calculation; a second step of calculating a moving speed at each point of the coordinate data from the coordinate data generated by the painting simulation device and the time stamp, performing a second discretization calculation on the coordinate data using the calculated moving speed, and generating a plurality of second teaching points corresponding to the coordinate data after the second discretization calculation; a third step of adding up the plurality of first teaching points generated in the first step and the plurality of second teaching points generated in the second step to generate a plurality of third teaching points; A painting robot operation program generation system configured to execute the above.
2. The teaching point generating device In the first step, the plurality of first teaching points are generated by thinning out a plurality of first invalid points determined to be unnecessary for reproducing the motion locus of the pseudo painting tool by the first discretization calculation from the coordinate data; In the second step, the method is configured to generate the plurality of second teaching points by thinning out a plurality of second invalid points determined to be unnecessary for reproducing the motion locus of the pseudo painting tool by the second discretization calculation from the coordinate data, 2. The painting robot operation program generation system according to claim 1, wherein the plurality of third teaching points generated in the third step are obtained by thinning out a plurality of third invalid points determined to be unnecessary in both the first step and the second step from the coordinate data.
3. the log data relating to the operation of the simulated painting tool further includes film thickness data representing a film thickness distribution on the surface of the object to be painted in a simulated manner, the film thickness data being film thickness data before discretization calculation; The teaching point generating device calculating a film thickness error of the first film thickness data after the first discretization calculation in the first step relative to the film thickness data before the discretization calculation, and calculating a standard deviation indicating the ratio of the film thickness error to the average film thickness of the object to be coated; 3. The painting robot operation program generation system according to claim 2, further comprising: setting a first discretization condition for the first discretization calculation in the first step so that the standard deviation falls within a first predetermined value.
4. the log data relating to the operation of the simulated painting tool further includes film thickness data representing a film thickness distribution on the surface of the object to be painted in a simulated manner, the film thickness data being film thickness data before discretization calculation; The teaching point generating device calculating a film thickness error of the second film thickness data after the second discretization calculation in the second step relative to the film thickness data before the discretization calculation, and calculating a standard deviation indicating the ratio of the film thickness error to the average film thickness of the object to be coated; 4. The painting robot operation program generation system according to claim 2, further comprising: setting a second discretization condition for the second discretization calculation in the second step so that the standard deviation falls within a second predetermined value.
5. The teaching point generating device A point at an initial time point in the coordinate data is set as a reference point, and points after the reference point are set as target points; calculating a threshold based on a moving speed at the reference point as the second discretization condition for the second discretization calculation in the second step, and setting the threshold to increase as the moving speed increases; Calculating an absolute value of a speed difference between the moving speed at the reference point and the moving speed at the target point; 5. The painting robot operation program generation system according to claim 4, wherein when the absolute value of the speed difference is equal to or greater than the threshold value, the target point is adopted as a second teaching point and the target point is set as a new reference point.
6. 6. The painting robot operation program generation system according to claim 5, wherein the teaching point generation device is configured to not adopt the target point as a second teaching point when the absolute value of the speed difference is less than the threshold value, and to set a point subsequent to the target point in the coordinate data as a new target point.
7. 7. The painting robot operation program generation system according to claim 2, wherein the teaching point generation device sets discretization conditions for the first discretization calculation in the first step and the second discretization conditions for the second discretization calculation in the second step so that a thinning rate indicating a ratio of the plurality of third invalid points to the coordinate data is equal to or greater than a predetermined value.
8. 8. The painting robot operation program generation system according to claim 1, further comprising an operation program generation device configured to generate an operation program for the painting robot based on the plurality of third teaching points generated by the teaching point generation device.
Citation Information
Patent Citations
Continuous route control method for robot
JP1986273607A
Industrial robot teaching system
JP2001287179A
Program and information processing terminal
JP2019008388A
Coating program creation device and coating program creation method
JP2020116509A
Method for eliminating noise during gesture input
WO2016056260A1