Robot control method and robot system
The robot control method uses an optical sensor to measure and correct print head deviations, addressing orbit fluctuations and achieving high-precision printing without requiring patterns on the object.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SEIKO EPSON CORP
- Filing Date
- 2024-11-20
- Publication Date
- 2026-06-01
AI Technical Summary
Existing printing systems face challenges in achieving high-precision printing due to print head orbit fluctuations caused by vibration, and measuring these fluctuations is difficult without a pattern on the object.
A robot control method using an optical sensor with an image sensor to measure the actual position of a print head relative to a workpiece, calculating correction values based on deviations from a preset trajectory, and iteratively correcting the trajectory to improve precision.
Enables high-precision printing by repeatedly learning the actual position and correcting the print trajectory, even without a pattern on the object, enhancing accuracy and responsiveness.
Smart Images

Figure 2026089225000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for controlling a robot and a robot system including the robot.
Background Art
[0002] The printing system described in Patent Document 1 performs printing on an object by moving a robot having a print head attached to its tip along a print track and ejecting ink toward the object. Further, the printing system has a rotation angle sensor for detecting the actual position of the print head, and a piezo actuator disposed between the print head and correcting the position of the print head based on the actual position of the print head. Thus, by correcting the position of the print head based on the actual position of the print head, printing without a strip (gap) is realized.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in the printing system of Patent Document 1, it is difficult to perform high-precision printing because the orbit of the print head fluctuates due to vibration. Further, for example, if a pattern for image processing is not provided on the object, it is difficult to measure the fluctuation of the orbit.
Means for Solving the Problems
[0005] A robot control method according to one aspect of the present invention is a robot control method that performs work on an object by moving the object and the tool relative to each other using a robot having a robot arm, a tool positioned on the robot arm to perform work on an object, and an optical sensor equipped with an image sensor for imaging the object and having a constant relative positional relationship with the tool, the method comprising: a measurement step of moving the tool based on a plurality of teaching points that constitute a preset work trajectory and measuring the actual position of the tool by comparing two images captured by the image sensor at different imaging timings; a calculation step of calculating a correction value based on the deviation of the actual position from the teaching points; and a correction step of correcting the teaching points using the calculated correction value, wherein the measurement step, the calculation step and the correction step are repeatedly learned.
[0006] A robot system according to one aspect of the present invention includes a robot arm, a tool positioned on the robot arm to perform work on an object, and an optical sensor equipped with an image sensor for imaging the object, the optical sensor having a constant relative position to the tool, and a control device that moves the tool based on a work trajectory, measures the actual position of the tool by comparing two images captured by the image sensor at different timings, calculates a correction value based on the deviation of the actual position from the work trajectory, and repeatedly learns a process of correcting the work trajectory using the calculated correction value. [Brief explanation of the drawing]
[0007] [Figure 1] A schematic diagram of the robot system according to Embodiment 1. [Figure 2] Plan view of the support plate. [Figure 3] Cross-sectional view of an optical sensor. [Figure 4] A schematic diagram illustrating the detection principle of an optical sensor. [Figure 5] Block diagram of the control unit. [Figure 6] A flowchart illustrating the process for correcting the printing track. [Figure 7] A graph illustrating one aspect of the correction process. [Figure 8] A plan view of the support plate according to Embodiment 2. [Figure 9] A flowchart illustrating the process for correcting the printing track. [Figure 10] A plan view of the support plate according to Embodiment 3. [Figure 11] A diagram illustrating one aspect of the gap relationship between the object and the print head. [Figure 12] A diagram illustrating one aspect of the gap relationship between the object and the print head. [Figure 13] A diagram illustrating one aspect of the gap relationship between the object and the print head. [Modes for carrying out the invention]
[0008] Embodiment 1 ***Overview of the robot system*** Figure 1 is a schematic diagram of the robot system according to Embodiment 1. Figure 2 is a plan view of the support plate. Embodiments of the present invention will be described below with reference to the drawings.
[0009] The robot system 200 of this embodiment is a printing system that prints on an object W, which is a workpiece, placed on a workbench 90. The robot system 200 consists of a robot 100 and a control device 80 that controls the movement of the robot 100. In a preferred example, the robot 100 is a 6-axis vertical articulated robot having 6 drive axes, and consists of a robot arm 22, a moving stage 40 provided at the tip of the robot arm 22, a support plate 45 fixed to the moving stage 40, and a print head 3 as a tool disposed on the support plate 45.
[0010] Robot 100 is a 6-axis vertical articulated robot and has a base 21 and a robot arm 22 that is rotatably connected to the base 21. The robot arm 22 is configured with six arms 221, 222, 223, 224, 225, and 226 rotatably connected from the base 21 in that order, and has six joints J1, J2, J3, J4, J5, and J6. Of the joints J1 to J6, joints J2, J3, and J5 are bending joints, and joints J1, J4, and J6 are torsion joints. Each of the joints J1 to J6 incorporates a drive mechanism that includes a motor as a drive source and an encoder that detects the amount of rotation of the joint. Note that the robot 100 is not limited to a 6-axis vertical articulated robot, but any robot capable of mounting a tool may be used, for example, a horizontal articulated robot (SCARA robot) or a Cartesian robot may be used. When using a Cartesian robot, it is preferable to use multiple Cartesian robots in combination.
[0011] Figure 2 is a plan view of the support plate 45 as seen from the side of the object W. As shown in Figure 2, a moving stage 40 is attached to the arm 226 at the tip of the robot arm 22. In Figure 2, the center of the cylindrical arm 226 is defined as the center point 60. The line segment passing through the center point 60 and the center of the print head 3 is defined as the center line 61, and the line segment passing through the center point 60 and perpendicular to the center line 61 is defined as the center line 62. In each drawing, the X-axis, Y-axis, and Z-axis are shown as three mutually orthogonal axes. In this embodiment, the extension direction of the center line 61 is defined as the Y-plus direction, and the extension direction of the center line 62 is defined as the X-plus direction. Both the Y-plus side and the Y-minus side are referred to as the Y-direction. The same applies to the X-direction and Z-direction. The Z-plus direction is defined as vertically upward, and the Z-plus direction is also referred to as upward, and the Z-minus direction as downward.
[0012] The moving stage 40 is an XY stage, consisting of a Y plate 41 and an X plate 42 superimposed on each other. A drive unit 43y is provided on one side of the Y-plate 41 along the Y-direction. The drive unit 43y is a piezoelectric actuator that is driven by utilizing the expansion and contraction of a piezoelectric element due to the flow of electricity, and can move the Y-plate 41 in the Y-direction as shown by the arrow in Figure 2. On one side of the X - plate 42 along the X - direction, a driving part 43x is provided. The driving part 43x is the same piezoelectric actuator as the driving part 43y and can move the X - plate 42 in the X - direction as shown by the arrow in FIG. 2. By using piezoelectric actuators for the driving parts 43x and 43y, the moving stage 40 can be driven at high speed and with high precision. Note that the driving parts 43x and 43y are not limited to piezoelectric actuators, and any actuator capable of driving the moving stage 40 may be used. For example, a configuration using a motor may be acceptable.
[0013] A support plate 45 is attached to the moving stage 40. The support plate 45 is a rectangular plate - like member, and the part including the short side on the Y - minus side is fixed to the moving stage 40. As shown in FIG. 2, the short - side portion of the support plate 45 in the Y - plus direction is an overhanging region extending from the moving stage 40. In the overhanging region of the support plate 45, a print head 3 and an optical sensor 5 are arranged. The print head 3 is not particularly limited, but in this embodiment, an ink - jet head is used. As shown in FIG. 2, two nozzle rows 3b extending in the Y - direction are provided on the print head 3. The nozzle row 3b is an array of a plurality of nozzles 3a. The print head 3 is arranged along the center line 61. The print head 3 is provided so that it can print a print with a band length corresponding to the two nozzle rows 3b according to a command from the control device 80 as it moves in the X - direction. Note that the number of nozzle rows 3b is not limited to two and may be appropriately set according to the design specifications including the resolution. In other words, the robot 100 has a moving stage 40 arranged between the robot arm 22 and the print head 3 and capable of displacing the print head 3.
[0014] ***Configuration of the optical sensor*** Figure 3 is a cross-sectional view of the optical sensor. Figure 4 is a schematic diagram showing the detection principle of the optical sensor. The optical sensor 5 is disposed on the Y plus side of the print head 3. The optical sensor 5 is an optical tracking sensor that is also widely applied to optical mice. The relative positional relationship between the optical sensor 5 and the print head 3 is constant. The optical sensor 5 has two detection axes, the X-axis and the Y-axis, which are orthogonal to each other, and can independently detect the translational amount Δx in the X direction and the translational amount Δy in the Y direction.
[0015] As shown in Figure 2, the optical sensor 5 is rectangular in shape and extends along the X direction in a plan view. Note that the shape of the optical sensor 5 is not particularly limited, and it may be rectangular in shape and extend along the Y direction, or it may be square, circular, or the like. As shown in Figure 3, the optical sensor 5 includes a base 51, a pair of lens members 521 and 522, a light source 53, an image pickup device 54, and a processing circuit 55. The base 51 is disposed to face the object W. The light 1 emitted by the light source 53 is guided to the surface of the object W by the reflecting surfaces formed on the inner surfaces of the lens member 521 and the base 51, reflected by the surface of the object W, and condensed by the lens member 522 and received by the image pickup device 54. The image pickup device 54 continuously captures images at a cycle of about 1 ms, and the processing circuit 55 obtains the translational amount of the optical sensor 5 with respect to the object W based on the image acquired by the image pickup device 54.
[0016] Specifically, as shown in Figure 4, by irradiating the object W with the light 1, light and darkness corresponding to the minute irregularities on the surface of the object W appear in the image captured by the image pickup device 54. The processing circuit 55 then compares the newly captured image Gn with the previously captured image Gn-1 and detects the amount of movement of image Gn relative to image Gn-1 using the optical flow method or the like. In other words, it detects the amount of movement of image Gn relative to image Gn-1 by comparing the brightness information of image Gn and image Gn-1. Based on this detection result, the processing circuit 55 detects the translation amounts Δx and Δy of the optical sensor 5 relative to the object W from the time image Gn-1 was acquired to the time image Gn was acquired, and transmits the detected data to the control device 80.
[0017] As shown in Figure 3, by irradiating the object W with light 1 from an oblique direction, that is, from a direction inclined with respect to the normal to the printing surface of the object W, the brightness and darkness become clearer, and the translational amounts Δx and Δy can be detected with greater accuracy. The light source 53 is not particularly limited, and for example, an LED (light-emitting diode), a laser light source, etc. can be used. The light 1 from the light source 53 is also not particularly limited, and for example, red light, blue light, infrared light, etc. can be used. The image sensor 54 is also not particularly limited, and for example, a CCD image sensor, a CMOS image sensor, etc. can be used. In other words, the optical sensor 5 is an optical tracking sensor that comprises a light source 53, a lens member 521 that illuminates the object W with light 1 from the light source 53 at an oblique angle, and an image sensor 54 that receives the light reflected by the object W. It measures the amount of movement of the print head 3 by comparing the brightness information of the two images.
[0018] As evidenced by its widespread application in optical mice, the optical sensor 5 is inexpensive, compact, and possesses high detection accuracy. Therefore, by using the optical sensor 5, a robot 100 and robot system 200 can be obtained that are cost-effective and compact while enabling highly accurate position detection. In other words, the robot 100 comprises a robot arm 22, a print head 3 positioned on the robot arm 22 as a tool for working on an object W, and an optical sensor 5 equipped with an image sensor 54 for imaging the object W, with a constant relative positional relationship to the print head 3.
[0019] ***Overview of the control system*** Figure 5 is a block diagram of the control device. The control device 80 consists of a robot controller 50 and a computer 70. The robot controller 50 is a control circuit equipped with one or more processors and memory circuits (none of which are shown), and it comprehensively controls the movement of the robot 100 by operating according to a control program. The robot controller 50 is connected to the computer 70, and the print head 3 prints on the target object W according to the trajectory data supplied from the computer 70. Detection data from the optical sensor 5 is transmitted to the computer 70 via the robot controller 50 and used for calculation, storage, and repeated learning.
[0020] As shown in Figure 5, the robot controller 50 is connected to the robot 100, optical sensor 5, print head 3, moving stage 40, and other components. The measurement data from the optical sensor 5 is transmitted to the computer 70 via the robot controller 50 and used for calculation, storage, and iterative learning. In a preferred example, the computer 70 is a notebook computer equipped with a display unit 71 consisting of a liquid crystal panel and an operation unit 72 consisting of a keyboard. The operation unit 72 may be a touch panel provided on the display unit 71 or a mouse. The computer 70 also includes an IF unit 73, a control unit 74 and a storage unit 75.
[0021] The IF unit 73 is an interface unit with the robot controller 50 and is equipped with multiple connection terminals and interface circuits. The control unit 74 consists of one or more processors and is connected to various parts of the computer 70, including the memory unit 75, via bus lines. Furthermore, when executing the trajectory correction program described later, the control unit 74 can also function as the arithmetic unit 74a.
[0022] The memory unit 75 is comprised of RAM (Random Access Memory) and ROM (Read Only Memory). The RAM is used for temporary storage of various data, while the ROM stores control programs for controlling the robot 100's movements and related data. The control programs include a startup program that instructs the sequence and content of processing when starting the robot 100, and the trajectory correction program 75a described later. The related data includes trajectory data 75b, which includes initial trajectory data.
[0023] ***Method for correcting the print trajectory*** Figure 6 is a flowchart showing the process of correcting the printing trajectory. Figure 7 is a graph showing one aspect of the correction process. Here, the method for correcting the printing trajectory will be explained, primarily using Figure 6, with other drawings interspersed as appropriate. Each of the following steps is performed by the robot controller 50 primarily controlling the robot 100 according to the trajectory correction program of the computer 70. These processes correspond to the robot control method of this embodiment.
[0024] First, an example of a printing trajectory will be explained using Figure 2. The printing trajectory 85 shown in the upper right of Figure 2 is an example of the scanning trajectory of the print head 3 when printing on the object W. The print head 3 prints on the object W (Figure 1) by ejecting ink while scanning the printing trajectory 85 as the support plate 45 moves. Note that the object W is a box-shaped workpiece, and the explanation assumes that printing is performed on the flat top surface of the object W. As shown in Figure 2, the printable track 85 consists of straight tracks L1, L2, and L3. More specifically, in the printable track 85, printing is done from the starting position along track L1 in the X-positive direction, then returning to the starting position of track L2 in the X-negative direction, printing along track L2 in the X-positive direction, then returning to the starting position of track L3 in the X-negative direction, and printing along track L3 in the X-positive direction. Track L1 consists of multiple teaching points. Tracks L2 and L3 are similar. Note that the printable track 85 is a simplified track for explanatory purposes, and actual printable tracks are not limited to this. For example, the track may have an angle with respect to the X axis, and may include bends or curves.
[0025] In step S10, the computer 70 generates the initial trajectory. Here, it is assumed that the trajectory correction program 75a in the memory unit 75 of the computer 70 is executed and the printed trajectory 85 (Figure 2) is read from the trajectory data 75b. Note that the printed trajectory 85 may also be calculated from the CAD data and print position data of the object W.
[0026] In step S11, the print track 85 is operated without any printing activity on track L1. Specifically, no printing is performed by the print head 3, and the support plate 45 is scanned using track L1. During this time, the moving stage 40 stops.
[0027] In step S12, the actual position is measured by the optical sensor 5 in conjunction with the scanning of the support plate 45. More specifically, the measurement process measures the relative position between the object W and the optical sensor 5 in the initial trajectory L1. In other words, in the measurement process, the print head 3 is moved based on multiple teaching points that constitute the trajectory L1, which is a preset working trajectory, and the actual position of the print head 3 is measured by comparing two images captured at different timings by the image sensor 54 of the optical sensor 5.
[0028] In step S13, the deviation and correction value between the initial trajectory L1 and the position measured by the optical sensor 5 are calculated. Specifically, in the calculation process, the control unit 74 functions as a calculation unit 74a and calculates the deviation from the measured position for each teaching point in the initial trajectory L1. In other words, in the calculation process, a correction value is calculated based on the deviation of the actual position relative to the teaching point. Graph 91 in Figure 7 is a graph of an example of the calculated deviation. Graph 91 shows the deviation during the first dry run. The horizontal axis represents the trajectory L, and the vertical axis represents the deviation amount (mm). As shown in Figure 7, Graph 91 is wavy up and down, indicating that there are parts that exceed the line representing the threshold Th. Note that, as shown in the upper graph of Graph 91, the moving stage 40 stopped during the first dry run.
[0029] In step S14, it is determined whether the number of learning iterations is equal to or greater than a predetermined number. If it is equal to or greater than the predetermined number, proceed to step S15. If it is less than the predetermined number, proceed to step S16.
[0030] In step S15, an error message is displayed on the display unit 71 of the computer 70, and the trajectory correction program 75a is terminated.
[0031] In step S16, it is determined whether the deviation between the initial trajectory L1 and the actual measured position is less than or equal to the threshold Th. If it is less than or equal to the threshold Th, the corrected trajectory is confirmed as the printed trajectory, and the process proceeds to step S17. If it exceeds the threshold Th, the process proceeds to step S18.
[0032] In step S17, printing is performed according to the determined print path.
[0033] In step S18, a corrected trajectory is generated by correcting the initial trajectory L1, and the process returns to step S11. In other words, in the correction process, the teaching points are corrected using the calculated correction values. More specifically, in the correction process, the teaching points in the printing trajectory, which is the working trajectory, are corrected using the correction values. Then, in step S11, a test run is performed using the corrected trajectory.
[0034] Graph 91r in Figure 7 is an example of a correction trajectory. Graph 91r is the waveform with the opposite phase to graph 91. As shown in Figure 7, the second dry run scans the support plate 45 along the correction trajectory while driving the moving stage 40 with the waveform of graph 91r. In other words, the position of the print head 3 is corrected by driving the moving stage 40. Graph 92 in Figure 7 shows the deviation during the second dry run. Although the deviation in Graph 92 is smaller than that in Graph 91, there were still parts that exceeded the threshold Th. Therefore, the process proceeded to step S18 again based on the judgment in step S16, a corrected trajectory was generated, and in step S11, a dry run was performed using the corrected trajectory. In the third dry run, similar to the second run, the moving stage 40 was driven with the waveform of graph 92r, which is the opposite phase of graph 92, while the support plate 45 was scanned with the corrected trajectory. Graph 93 in Figure 7 shows the deviation during the third dry run, and it can be seen that the deviation is smaller than in Graph 92 and falls within the threshold Th.
[0035] As described above, repeating the dry-running operation multiple times is called iterative learning. In other words, in iterative learning, the measurement process, calculation process, and correction process are repeatedly learned. When the deviation falls below the threshold Th, iterative learning is terminated. Alternatively, iterative learning is terminated after a predetermined number of iterations. Although the above describes a method using the moving stage 40 as a preferred example, the moving stage 40 may be omitted. In other words, the above method can be applied even to a robot that does not have a moving stage 40. Specifically, the drive using the inverse phase graph 92r that was performed by the moving stage 40 can be performed by the robot arm 22. Even with this method, the printing trajectory can be corrected in the same way as above.
[0036] As described above, the control method for the robot 100 and the robot system 200 of this embodiment provide the following advantages. A robot 100 having a robot arm 22, a print head 3 positioned on the robot arm 22 as a tool for working on an object W, and an optical sensor 5 equipped with an image sensor 54 for imaging the object W and having a constant relative position to the print head 3, is used to control a robot 100 that performs work on an object W by moving the object W and the print head 3 relatively, and includes a measurement step of moving the print head 3 based on a plurality of teaching points that constitute a predetermined work trajectory L1 and measuring the actual position of the print head 3 by comparing two images captured at different imaging timings by the image sensor 54 of the optical sensor 5, a calculation step of calculating a correction value based on the deviation of the actual position from the teaching points, and a correction step of correcting the teaching points using the calculated correction value, wherein the measurement step, calculation step and correction step are repeatedly learned.
[0037] This method allows for more accurate printing by repeatedly learning the measurement of the actual position using the optical sensor 5, the calculation of a correction value based on the deviation of the actual position from the teaching point, and the correction of the printing trajectory based on the correction value. Furthermore, since the actual position can be measured by the optical sensor 5, there is no need to provide a pattern for image recognition on the object W. Therefore, it is possible to provide a control method for a robot 100 that can perform high-precision work even if the object W is not provided with a pattern for image processing.
[0038] Furthermore, the tool is the print head 3, and in the correction process, the teaching points in the print trajectory, which serves as the work trajectory, are corrected using the correction value. According to this, the printing trajectory can be corrected.
[0039] Furthermore, if the deviation falls below the threshold Th, the repeated learning process will be terminated. According to this, the print trajectory can be corrected efficiently.
[0040] Furthermore, the optical sensor 5 is an optical tracking sensor and comprises a light source 53, a lens member 521 that illuminates the object W with light 1 from the light source 53 at an oblique angle, and an image sensor 54 that receives the light reflected by the object W. By comparing the brightness information of the two images, it measures the amount of movement of the print head 3. According to this, even if the object W does not have a pattern for image processing, the optical sensor 5 can measure the amount of movement of the print head 3 as a tool.
[0041] Furthermore, the robot 100 is positioned between the robot arm 22 and the print head 3 and has a moving stage 40 that displaces the print head 3, correcting the position of the print head 3 by driving the moving stage 40. According to this, the responsiveness is improved compared to when the position of the print head 3 is corrected by driving the robot arm 22, and the position of the print head 3 can be corrected with greater precision.
[0042] Furthermore, the moving stage 40 is driven by a piezoelectric actuator. According to this, the moving stage 40 can be driven without generating large vibrations.
[0043] The robot system 200 includes a robot 100 which comprises a robot arm 22, a print head 3 positioned on the robot arm 22 as a tool for working on an object W, and an optical sensor 5 which has an image sensor 54 for imaging the object W and whose relative position to the print head 3 is constant, and a control device 80 which moves the print head 3 based on a print trajectory as a work trajectory, measures the actual position of the print head 3 by comparing two images captured by the image sensor 54 at different timings, calculates a correction value based on the deviation of the actual position from the print trajectory, and repeatedly learns the process of correcting the print trajectory using the calculated correction value.
[0044] According to this, it is possible to provide a robot system 200 that can perform high-precision work even if the object W is not provided with a pattern for image processing.
[0045] Embodiment 2 ***Different forms of correction methods*** Figure 8 is a plan view of the support plate according to Embodiment 2 and corresponds to Figure 2. Figure 9 is a flowchart showing the flow of the printing trajectory correction method and corresponds to Figure 6. In the above embodiment, a method for correcting a planar printing trajectory was described, but the invention is not limited to this, and the distance to the object W may also be corrected.Hereafter, the same parts as in the above embodiment will be numbered, and redundant explanations will be omitted.
[0046] As shown in Figure 8, in this embodiment, the support plate 45b is equipped with a distance measuring device 7 in addition to the optical sensor 5. More specifically, the distance measuring device 7 is attached to the end of the support plate 45b on the protruding region side. The distance measuring device 7 is positioned on the Y-positive side of the optical sensor 5. The print head 3, the optical sensor 5, and the distance measuring device 7 are arranged in this order along the center line 61. The relative positional relationship of the three is constant. In other words, the print head 3, the optical sensor 5, and the distance measuring device 7 are aligned in a direction that intersects the direction of movement of the print head 3.
[0047] In a preferred example, the distance measuring device 7 uses a laser displacement meter that irradiates a laser beam toward an object W and detects the distance to the object W by the reflected light. The laser displacement meter may be of the specular reflection type or the diffuse reflection type. It is not limited to a laser displacement meter, but any distance measuring device capable of detecting the distance to the object W without contact is acceptable, such as a laser tracker, infrared sensor, ultrasonic sensor, or stereo camera.
[0048] ***Method for correcting the print trajectory*** Step S10 is the same as described in Figure 6, in which the computer 70 generates the initial trajectory. Here, it is assumed that the trajectory correction program 75a of the computer 70's memory unit 75 is executed and the printed trajectory 85 is read from the trajectory data 75b. In other words, in the provisional setting step, a printed trajectory 85 consisting of multiple teaching points is provisionally set.
[0049] In step S21, the print track 85's track L1 is operated without any actual printing. Specifically, no printing is performed by the print head 3, and the support plate 45b is scanned using track L1.
[0050] In step S22, the distance to the object W is measured by the distance measuring device 7 in conjunction with the scanning of the support plate 45. This distance is also called the gap. Specifically, in the distance measuring process, the robot arm 22 is operated to follow multiple teaching points, and the distance to the object W is measured by the distance measuring device 7 at multiple teaching points on the trajectory L1. For example, the robot may stop at each teaching point to measure the gap, move to the next teaching point and measure again, and repeat this process.
[0051] In step S23, the deviation and correction value between the set distance on the trajectory L1 and the distance detected by the distance measuring device 7 are calculated. Specifically, in the calculation process, the control unit 74 functions as the calculation unit 74a and calculates the deviation and correction value between the set distance and each teaching point on the trajectory L1.
[0052] In step S24, it is determined whether the deviation for each teaching point in the trajectory L1 is within the allowable range of the set distance. If it is within the allowable range, proceed to step S25. If it exceeds the allowable range, proceed to step S26.
[0053] In step S25, the corrected trajectory that falls within the acceptable range is determined as the printed trajectory, and the process proceeds to step S27.
[0054] In step S26, a corrected trajectory is generated by correcting trajectory L1, and the process returns to step S21. In other words, in the correction process, the teaching points are corrected using the calculated correction values. More specifically, in the correction process, the teaching points are corrected so that the distance at the measured teaching points approaches the reference set distance. Then, in step S21, a test run is performed using the corrected trajectory.
[0055] Step S27 is a subroutine process that uses the print trajectory determined in step S25 as the initial trajectory and performs the processes from steps S10 to S18 in Figure 6.
[0056] As described above, the control method for the robot 100 and the robot system 200 of this embodiment provide the following advantages in addition to the advantages of the above embodiment. The control method for the robot 100 includes a distance measuring device 7 attached to the robot arm 22 for measuring the distance to the object W, and before the measurement process shown in Figure 6, it includes a preliminary setting step of pre-setting a plurality of teaching points, a distance measuring step of operating the robot arm 22 to follow the plurality of teaching points and measuring the distance from the print head 3 to the object W at the plurality of teaching points using the distance measuring device 7, and a step of correcting the teaching points so that the measured distance at the teaching points approaches a reference set distance.
[0057] This method allows the robot 100 to perform its work with high precision because the printing trajectory is corrected based on the distance detected by the distance measuring device 7. Furthermore, since the optical sensor 5 is used after the gap in the printing trajectory is corrected by the distance measuring device 7, the distance between the optical sensor 5 and the object W is made uniform, improving the measurement accuracy of the optical sensor 5.
[0058] According to the robot system 200, a distance measuring device 7 is attached to the robot arm 22 to measure the distance to the object W. The control device 80 provisionally sets a printing trajectory consisting of multiple teaching points before measuring the actual position, operates the robot arm 22 to follow the multiple teaching points, has the distance measuring device 7 measure the distance from the print head 3 to the object W at the multiple teaching points, and corrects the teaching points so that the measured distance at the teaching points approaches a reference set distance.
[0059] According to this, the printing trajectory is corrected based on the distance detected by the distance measuring device 7, resulting in higher precision in the work performed by the robot 100. Furthermore, since the optical sensor 5 is used after the gap in the printing trajectory is corrected by the distance measuring device 7, the distance between the optical sensor 5 and the object W is made uniform, improving the measurement accuracy of the optical sensor 5.
[0060] Furthermore, the tool is the print head, and the print head 3, the optical sensor 5, and the distance measuring device 7 are arranged in a direction that intersects the direction of movement of the print head 3. According to this, by aligning the positions of the print head 3, optical sensor 5, and distance measuring device 7, the same robot joint movements are achieved during printing and trajectory measurement, enabling trajectory measurement with small errors relative to the printing trajectory. Furthermore, interference between the moving stage 40 and the object in the working direction can be suppressed when the object is curving along the working direction.
[0061] Embodiment 3 ***Different Arrangements of Optical Sensors and Rangefinders*** Figure 10 is a plan view of the support plate according to Embodiment 3 and corresponds to Figure 8. Figure 11 is a diagram showing one aspect of the gap relationship between the object and the print head. Figure 12 is a diagram showing one aspect of the gap relationship between the object and the print head and corresponds to Figure 11. Figure 13 is a diagram showing one aspect of the gap relationship between the object and the print head and corresponds to Figure 11.
[0062] In the above embodiment, the print head 3, the optical sensor 5, and the distance measuring device 7 were described as being aligned in a direction intersecting the direction of movement of the print head 3, but the configuration is not limited to this, and they may be aligned in the direction of movement of the print head 3. The object W may be an object Wb that includes a sphere. Hereafter, the same parts as in the above embodiment will be numbered, and redundant explanations will be omitted.
[0063] As shown in Figure 10, in the support plate 45c of this embodiment, the print head 3, the optical sensor 5, and the distance measuring device 7 are arranged in this order along the X-plus direction. The distance measuring device 7 is attached to the X-plus end of the support plate 45c. In other words, the print head 3, the optical sensor 5, and the distance measuring device 7 are provided on the support plate 45c on the moving stage 40 and are aligned along the direction of movement of the print head 3. Furthermore, a linear motion stage 48 is provided between the arm 226 at the tip of the robot arm 22 and the moving stage 40. Aside from these points, it is the same as described in Embodiment 2.
[0064] The linear stage 48 is a linear actuator stage and is configured to be movable in the X direction. More specifically, the linear stage 48 moves in the X direction with the moving stage 40 and support plate 45c mounted on it. In other words, the linear stage 48 is configured to move back and forth in the direction of movement of the print head 3, and as the linear stage 48 moves back and forth, the print head 3, optical sensor 5, and distance measuring device 7 also move together.
[0065] Figure 11 shows the area around the support plate 45c as viewed from the Y-plus side. The object Wb, which is the workpiece in this embodiment, is, for example, a helmet. However, it is not limited to a helmet; any object Wb having a curved or spherical surface is acceptable. In Figure 11, the top of the object Wb is referred to as top Wbt. Figure 11 shows the initial state of the linear motion stage 48 before operation, and the line segment extending in the Z direction through the center of the print head 3 is illustrated as the work centerline 63. In the initial state, the top Wbt of the object Wb is located on the work centerline 63. As shown in Figure 11, the printing trajectory to the object Wb is a trajectory L5 that follows the curved surface.
[0066] In the initial state shown in Figure 11, the distance between the print head 3 and the object Wb is distance G1. Similarly, the distance between the optical sensor 5 and the object Wb is distance G2, and the distance between the distance measuring device 7 and the object Wb is distance G3. As shown in Figure 11, since the object Wb is spherical, the relationship G1 < G2 < G3 holds. When measuring the orbit, it is desirable that both distance G2 and distance G3 be equivalent to distance G1. However, even when the print head 3 is scanned along the orbit L5 in the initial state, the gap was too large for the optical sensor 5 and the distance measuring device 7 to accurately measure the orbit.
[0067] In view of this, in this embodiment, the linear motion stage 48 is driven during trajectory measurement to switch the position of the optical sensor 5 or the distance measuring device 7 onto the work centerline 63. Specifically, in Figure 12, the linear motion stage 48 is moved in the X-minus direction to position the optical sensor 5 on the work centerline 63. With the optical sensor 5 positioned on the work centerline 63, accurate trajectory measurement can be performed by scanning the support plate 45c along the trajectory L5.
[0068] Similarly, in Figure 13, the linear motion stage 48 is further moved in the X-minus direction so that the distance measuring device 7 is positioned on the work centerline 63. With the distance measuring device 7 positioned on the work centerline 63, accurate distance measurement can be performed by scanning the support plate 45c along the track L5. In a preferred example, similar to the measurement sequence in Figure 9, first, the distance measuring device 7 is positioned on the work centerline 63 and gap measurement is performed by dry firing. Next, the optical sensor 5 is positioned on the work centerline 63 and trajectory measurement is performed by dry firing to generate a corrected trajectory. Then, the print head 3 is positioned on the work centerline 63 and printing is performed along the generated corrected trajectory.
[0069] As described above, the control method for the robot 100 and the robot system 200 of this embodiment provide the following advantages in addition to the advantages of the above embodiment. According to the robot system 200, the tool is a print head 3, and it has a moving stage 40 positioned between the robot arm 22 and the print head 3, which displaces the print head 3. The print head 3, optical sensor 5, and distance measuring device 7 are mounted on the moving stage 40 and are aligned along the direction of movement of the print head 3.
[0070] According to this, by aligning the positions of the print head 3, optical sensor 5, and distance measuring device 7, the same robot joint movements are achieved during printing and trajectory measurement, enabling trajectory measurement with minimal error relative to the printing trajectory.
[0071] Furthermore, according to the robot system 200, a linear motion stage 48 is provided between the robot arm 22 and the print head 3. The linear motion stage 48 is provided so as to be able to move back and forth in the direction of movement of the print head 3, and as the linear motion stage 48 moves back and forth, the print head 3 and the optical sensor 5 also move together.
[0072] According to this, when performing trajectory measurement and distance measurement, the linear motion stage 48 switches the position of the optical sensor 5 or distance measuring device 7 onto the work centerline 63, enabling accurate measurement and generating a highly accurate corrected trajectory. Then, the linear motion stage 48 switches the position of the print head 3 onto the work centerline 63, and printing is performed along the generated corrected trajectory, enabling high-precision printing.
[0073] ***Modification*** Although the above description assumes that a print head 3 is used as a tool to print on an object, the work and tools are not limited to this. For example, it can be replaced with work such as adhesive application, conveyor tracking, polishing, or welding, and any tool such as a dispenser can be used instead of the print head 3. The same effects and advantages as in the above embodiment can be obtained even when applied to these work and tools. Furthermore, although the above explanation assumed that optical sensor 5 is an optical tracking sensor, it is not limited to this. For example, it is also acceptable to use an inertial sensor unit or an accelerometer to measure and calculate robot acceleration and angular velocity. [Explanation of Symbols]
[0074] 1...Light, 3...Print head, 3a...Nozzle, 3b...Nozzle row, 5...Optical sensor, 7...Distance measuring device, 21...Base, 22...Robot arm, 40...Moving stage, 41...Y plate, 42...X plate, 43x...Drive unit, 43y...Drive unit, 45...Support plate, 45b...Support plate, 45c...Support plate, 48...Linear motion stage, 50...Robot controller, 51...Base, 53...Light source, 54...Image sensor, 55...Processing circuit, 60...Center point, 61...Center line, 62...Center line, 63...Working center line, 70...Computer, 71...Display unit, 7 2...Operation unit, 73...IF unit, 74...Control unit, 74a...Calculation unit, 75...Storage unit, 75a...Trajectory correction program, 75b...Trajectory data, 80...Control device, 85...Printed trajectory, 90...Workbench, 91...Graph, 91r...Graph, 92...Graph, 92r...Graph, 93...Graph, 100...Robot, 200...Robot system, 221, 222, 223, 224, 225, 226...Arms, 521...Lens member, 522...Lens member, G1...Distance, G2...Distance, G3...Distance, J1~J6...Joint, L1...Trajectory, L2...Trajectory, L3...Trajectory, L5...Trajectory.
Claims
1. A robotic arm and A tool is positioned on the robot arm to perform work on an object, A robot having an image sensor for imaging the aforementioned object and an optical sensor whose relative positional relationship with the tool is constant, A method for controlling a robot that performs work on an object by moving the object and the tool relative to each other, A measurement step involves moving the tool based on a plurality of teaching points that constitute a pre-set work trajectory, and measuring the actual position of the tool by comparing two images captured by the image sensor at different imaging timings. A calculation step of calculating a correction value based on the deviation of the actual position from the teaching point, The process includes a correction step of correcting the teaching points using the calculated correction value, The measurement process, the calculation process, and the correction process are repeatedly learned. Robot control methods.
2. The aforementioned tool is a print head, In the correction step, the teaching points in the printing track, which is the work track, are corrected using the correction value. A method for controlling a robot according to claim 1.
3. When the aforementioned deviation falls below the threshold, the repeated learning process is terminated. A method for controlling a robot according to claim 1.
4. When the repeated learning described above has been performed a predetermined number of times, the repeated learning is terminated. A method for controlling a robot according to claim 1.
5. The optical sensor is an optical tracking sensor, Light source and A lens member that irradiates light from the light source onto the object from an oblique direction, The system comprises an image sensor that receives the light reflected by the object, By comparing the brightness information of the two images, the amount of movement of the print head is measured. The robot control method according to claim 2.
6. The robot is positioned between the robot arm and the print head and has a moving stage that displaces the print head. The position of the print head is corrected by driving the aforementioned moving stage. The robot control method according to claim 2.
7. The moving stage is driven by a piezoelectric actuator. The robot control method according to claim 6.
8. The robot arm is equipped with a distance measuring device that measures the distance to the object, Before the aforementioned measurement process, A preliminary setting step for provisionally setting the aforementioned multiple teaching points, A distance measuring step involves operating the robot arm to follow the plurality of teaching points and measuring the distance from the tool to the object at the plurality of teaching points using the distance measuring device, The process includes the step of correcting the teaching point so that the measured distance at the teaching point approaches a reference set distance, The robot control method according to claim 5.
9. A robotic arm and A tool is positioned on the robot arm to perform work on an object, A robot comprising an optical sensor having an image sensor for imaging the aforementioned object, and having a constant relative positional relationship with the tool, The control device includes a mechanism that moves the tool based on a work trajectory, measures the actual position of the tool by comparing two images captured by the image sensor at different timings, calculates a correction value based on the deviation of the actual position from the work trajectory, and repeatedly learns a process of correcting the work trajectory using the calculated correction value. Robot system.
10. The robot arm is equipped with a distance measuring device that measures the distance to the object, The control device is Before measuring the actual position, Multiple teaching points are provisionally set, the robot arm is operated to follow the multiple teaching points, the distance from the tool to the object is measured at the multiple teaching points using the distance measuring device, and the teaching points are corrected so that the measured distance at the teaching points approaches a reference set distance. The robot system according to claim 9.
11. The aforementioned tool is a print head, The print head, the optical sensor, and the distance measuring device are arranged in a direction that intersects the direction of movement of the print head. The robot system according to claim 10.
12. The aforementioned tool is a print head, It has a moving stage positioned between the robot arm and the print head, which displaces the print head, The print head, the optical sensor, and the distance measuring device are provided on the moving stage and are arranged along the direction of movement of the print head. The robot system according to claim 10.
13. A linear motion stage is provided between the robot arm and the print head. The linear motion stage is provided so as to be able to move back and forth in the direction of movement of the print head. As the linear motion stage moves forward and backward, the print head and the optical sensor also move together. The robot system according to claim 12.