Robot control method and robot system
The robot control method uses an optical sensor to correct print trajectory errors and determine the start time, ensuring accurate printing by addressing positional inaccuracies in existing systems.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SEIKO EPSON CORP
- Filing Date
- 2024-11-27
- Publication Date
- 2026-06-08
AI Technical Summary
Existing printing systems face positional errors due to dimensional inaccuracies, uneven speeds, and vibrations, leading to potential misalignment of the printing track, which can result in inaccurate starting positions.
A robot control method utilizing an optical sensor to measure displacement between the work trajectory and actual position, with a control device determining the start time of operation based on time and displacement data, ensuring precise alignment of the print head.
Enables accurate starting positions for printing by correcting the print trajectory and determining the optimal start time, improving positional precision and reducing errors.
Smart Images

Figure 2026092922000001_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 prints on an object by discharging ink toward the object while moving a robot having a printing head attached to its tip along a printing track. According to this document, printing is performed along two printing tracks A and B that are adjacent to each other on the side.
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, a positional error with respect to the printing track may occur due to dimensional errors of the robot, uneven speeds, vibrations, and other factors, and there is a risk that the operation cannot be started from an accurate position.
Means for Solving the Problems
[0005] A robot control method according to one aspect of the present invention includes a robot having a robot arm, a tool positioned on the robot arm and performing work on an object along a work trajectory, and an optical sensor whose relative positional relationship with the tool is kept constant and which measures the displacement between the work trajectory and the actual position, and a control device for controlling the robot, wherein the robot performs work on an object by moving the object and the tool relative to each other, and includes a measurement step of moving the tool based on the work trajectory and measuring the time and displacement with the time of receiving a trigger signal for operation start from the control device by the optical sensor set to zero, and a determination step of determining the start time of work for the tool from the time and displacement data acquired in the measurement step.
[0006] A robot system according to one aspect of the present invention comprises a robot arm, a tool positioned on the robot arm and performing work on an object, an optical sensor whose relative positional relationship with the tool is kept constant and which measures the displacement between the work trajectory and the actual position, and a control device that transmits a trigger signal to the robot to start operation. When the robot receives the trigger signal, it moves the tool based on the work trajectory and measures the time and displacement with the time the trigger signal was received set to zero using the optical sensor, and determines the start time of the tool's operation from the measured time and displacement data. [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 drive unit 43x is provided. The drive unit 43x is the same piezoelectric actuator as the drive unit 43y, and as shown by the arrow in FIG. 2, it can move the X plate 42 in the X direction. By using piezoelectric actuators for the drive units 43x and 43y, the moving stage 40 can be driven at high speed and with high precision. Note that the drive units 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 also be acceptable.
[0013] A support plate 45 is attached to the moving stage 40. The support plate 45 is a rectangular plate-shaped member, and the portion 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 that extends from the moving stage 40. A printing head 3 and an optical sensor 5 are disposed in the overhanging region of the support plate 45. The printing head 3 is not particularly limited, but in this embodiment, an inkjet head is used. As shown in FIG. 2, two nozzle rows 3b extending in the Y direction are provided on the printing head 3. The nozzle rows 3b are arrays of a plurality of nozzles 3a. The printing head 3 is arranged along the center line 61. The printing 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 the nozzle rows 3b is not limited to two, and it may be appropriately set according to the design specifications including the resolution. In other words, the robot 100 has a moving stage 40 disposed between the robot arm 22 and the printing head 3 and capable of displacing the printing 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 widely applied to optical mice as well. The relative positional relationship between the optical sensor 5 and the print head 3 is constant. The optical sensor 5 has two detection axes X and Y that are orthogonal to each other, and can independently detect the displacement amount Δx in the X direction and the displacement amount Δy in the Y direction. Note that the displacement amount is also referred to as the translation amount.
[0015] As shown in Figure 2, the optical sensor 5 is rectangular in shape extending along the X direction in plan view. Note that the shape of the optical sensor 5 is not particularly limited, and it may be rectangular in shape extending along the Y direction, or may be square, circular, or the like. As shown in Figure 3, the optical sensor 5 has a base 51, a pair of lens members 521 and 522, a light source 53, an imaging element 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 surface of the lens member 521 and the base 51, reflected by the surface of the object W, condensed by the lens member 522, and received by the imaging element 54. The imaging element 54 continuously performs imaging at a cycle of about 1 ms, and the processing circuit 55 obtains the displacement amount of the optical sensor 5 with respect to the object W based on the image acquired by the imaging element 54.
[0016] Specifically, as shown in Figure 4, by irradiating the object W with the light 1, light and shade corresponding to the minute irregularities on the surface of the object W appear in the image captured by the imaging element 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 displacement 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 printed surface of the object W, the brightness and darkness become clearer, and the displacement 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. The displacement of the print head 3 is measured by comparing the brightness information of two images captured by the image sensor 54 at different capture timings.
[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 that performs work along a print trajectory as a work path relative to the object W, and an optical sensor 5 whose relative positional relationship with the print head 3 is kept constant, and which measures the displacement between the work trajectory and the actual position.
[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 operation of the robot 100 by operating according to a control program. For example, the control device 80 sends a trigger signal to the robot 100 to start operation. 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.
[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 associated 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 associated data includes trajectory data 75b, which includes initial trajectory data, and trajectory start time data 75c.
[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 and determining the printing start time will be explained, primarily using Figure 6, with other drawings included as appropriate. Each of the following steps is performed by the robot controller 50 mainly controlling the robot 100 according to the trajectory correction program 75a 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, in the measurement process, the print head 3 is moved based on multiple teaching points that constitute the trajectory L1, which is a pre-set work 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. At this time, the time and displacement are measured with the time at which the trigger signal for the start of operation from the control device 80 is received set to zero. In other words, in the measurement process, the print head 3 is moved based on the print trajectory, and the time and displacement are measured by the optical sensor 5 with the time at which the trigger signal for the start of operation of the robot arm 22 from the control device 80 is received as the starting point.
[0028] In step S13, the displacement between the initial trajectory L1 and the measurement position by the optical sensor 5 is calculated. Specifically, in the calculation process, the control unit 74 functions as the calculation unit 74a and calculates the displacement between the initial trajectory L1 and the measurement position for each teaching point. The displacement is also called the deviation. Graph 91 in Figure 7 is a graph of an example of the calculated displacement. Graph 91 shows the displacement during the first dry run. The horizontal axis represents the trajectory L, and the vertical axis represents the displacement amount (mm). As shown in Figure 7, Graph 91 is wavy, indicating that there are parts where the value exceeds the line representing the threshold Th. Note that, as shown in the upper graph of Graph 91, the moving stage 40 is stopped during the first dry run.
[0029] In step S14, it is determined whether the displacement between the initial trajectory L1 and the actual measurement 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 S16. If it exceeds the threshold Th, the process proceeds to step S15.
[0030] In step S15, a corrected orbit is generated to correct the initial orbit L1, and the process returns to step S11. 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 displacement difference during the second dry run. As shown in Graph 92, the fluctuation is smaller than in Graph 91 and remains below the threshold Th. Note that the trajectory correction method is not limited to the method described above; any method that can keep the displacement below the threshold Th is acceptable.
[0031] In step S16, the optimal time to start printing is calculated from the time and displacement data measured above, and the print start time is determined. Specifically, the time taken to move a predetermined distance after receiving the trigger signal to start operation is calculated. The predetermined distance is the distance to the starting position of the print trajectory. The print start time is stored in the start time data 75c of the storage unit 75. In other words, in the determination step, the print start time by the print head 3 is determined from the time and displacement data acquired in the measurement step.
[0032] In step S17, printing is performed according to the determined printing trajectory. Specifically, after the robot arm 22 starts moving upon receiving the trigger signal to start operation, printing is performed along the printing trajectory when the printing start time arrives. When an industrial robot, including robot 100, is driven under the same conditions along the same work trajectory, that trajectory is reproduced. Therefore, at the printing start time based on the measurement data obtained by actually operating the robot in the measurement process, the print head 3 is positioned at the starting position of the printing trajectory, which reproduces its position at the time of measurement. Consequently, printing can be performed at the predetermined printing position on the object W.
[0033] Although the above describes a preferred example using the moving stage 40, the moving stage 40 may be omitted. In other words, the above method can be applied even to robots that do 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.
[0034] 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 and acting as a tool that performs work on an object W along a print trajectory as a work path, and an optical sensor 5 whose relative positional relationship with the print head 3 is kept constant and which measures the displacement between the print trajectory and the actual position, and a control device 80 that controls the robot 100, the robot 100 which performs work on an object W by moving the object W and the print head 3 relative to each other, the method of controlling the robot 100 which includes a measurement step of moving the print head 3 based on the print trajectory and measuring the time and displacement with the time of receiving the trigger signal for operation start from the control device 80 by the optical sensor 5 set to zero, and a determination step of determining the printing start time by the print head 3 from the time and displacement data acquired in the measurement step.
[0035] Conventionally, the starting position for printing on the work trajectory was determined using a robot coordinate system. However, in that case, there was a possibility that printing would start from a position shifted from the intended starting position due to errors in the robot's trajectory. With this method, the printing start time by the print head 3 is determined from the time and displacement data acquired in the measurement process. Then, after the robot arm 22 starts moving upon receiving the trigger signal to start operation, printing is performed along the printing trajectory when the printing start time arrives. When an industrial robot, including robot 100, is driven along the same work trajectory under the same conditions, that trajectory is reproduced, so at the printing start time, the print head 3 is positioned at the starting position of the printing trajectory, which reproduces the position at the time of measurement. Therefore, the starting position for printing can be determined while taking into account the actual operating error of the robot arm 22. Consequently, a control method for the robot 100 that can start work from an accurate position can be provided.
[0036] Furthermore, the tool is print head 3, and the work path is the print path. According to this, printing can be done at a predetermined printing position on the object W.
[0037] 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. The displacement of the print head 3 is measured by comparing the brightness information of two images captured by the image sensor 54 at different capture timings. 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.
[0038] 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.
[0039] 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.
[0040] The robot system 200 includes 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 whose relative positional relationship with the print head 3 is kept constant and which measures the displacement between the print trajectory as a work trajectory and the actual position, and a control device 80 that transmits a trigger signal to the robot 100 to start operation. When the robot 100 receives the trigger signal, it moves the print head 3 based on the print trajectory, and the optical sensor 5 measures the time and displacement with the time of receiving the trigger signal set to zero, and determines the start time of operation for the print head 3 from the measured time and displacement data.
[0041] According to this, it is possible to provide a robot system 200 that can start work from a precise position.
[0042] 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 the planar printing trajectory and determining the printing start time 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.
[0043] 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.
[0044] 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.
[0045] ***Method for correcting the print trajectory*** Step S20 is the same as step S10 in Figure 6, in which the computer 70 generates the initial trajectory. Here, it is assumed that the trajectory correction program 75a of the memory unit 75 of the computer 70 is executed and the printed trajectory 85 is read from the trajectory data 75b.
[0046] 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.
[0047] 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. The distance to the object W is also called distance data or 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.
[0048] In step S23, the displacement value between the set distance on the trajectory L1 and the distance detected by the distance measuring device 7 is calculated. Specifically, in the calculation process, the control unit 74 functions as the calculation unit 74a and calculates the displacement value between the set distance for each teaching point on the trajectory L1 and the set distance.
[0049] In step S24, it is determined whether the displacement amount 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 S26. If it exceeds the allowable range, proceed to step S25.
[0050] In step S25, a G-corrected trajectory is generated by correcting the gap in trajectory L1, and the process returns to step S21. In other words, in the correction process, the teaching points are corrected using the calculated displacement 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 G-corrected trajectory. In other words, in steps S21 to S25, the robot path is taught so that the distance between the optical sensor 5 and the object W during the printing operation is within the appropriate range.
[0051] Step S26 is a subroutine process in which the corrected trajectory L1, in which the gap at each teaching point has been optimized, is used as the initial trajectory, and the processes from steps S11 to S15 in Figure 6 are performed. Since the optical sensor 5 has a defined optimal range for the distance it can measure, by measuring with the printed trajectory in which the gap has been corrected within the optimal range, more accurate time and displacement data on the planar trajectory can be obtained in step S12.
[0052] Step S27 is the same as step S16 in Figure 6, and calculates the optimal time to start printing from the time and displacement data measured in step S26, thereby determining the print start time. In other words, in the determination step, the print start time by the print head 3 is determined from the time and displacement data acquired in the measurement step.
[0053] In step S28, printing is performed according to the determined printing trajectory. Specifically, after the robot arm 22 starts moving upon receiving the trigger signal to start operation, printing is performed along the printing trajectory when the printing start time arrives. When an industrial robot, including robot 100, is driven under the same conditions along the same work trajectory, that trajectory is reproduced. Therefore, at the printing start time based on the measurement data obtained by actually operating the robot in the measurement process, the print head 3 is positioned at the starting position of the printing trajectory, which reproduces its position at the time of measurement. Thus, printing can be performed at the predetermined printing position on the object W.
[0054] In other words, according to the robot system 200 of this embodiment, the robot 100 has a distance measuring device 7 attached to the robot arm 22 that measures the distance to the object W, and the control device 80 operates the robot arm 22 to follow a plurality of teaching points that constitute the printing trajectory before measuring the actual position, acquires distance data measured by the distance measuring device 7 at the positions of the plurality of teaching points, and corrects the teaching points so that the distance from the print head 3 to the object W during robot operation at each teaching point approaches a reference set distance.
[0055] 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 control method for the robot 100, the robot 100 further has a distance measuring device 7 for measuring the distance to the object W, and before the measurement step in Figure 6, the robot arm 22 is operated to follow a plurality of teaching points that constitute the printing trajectory, distance data measured by the distance measuring device 7 is acquired at the positions of the plurality of teaching points, and the teaching points are corrected so that the distance from the print head 3 to the object W during robot operation at each teaching point approaches a reference set distance.
[0056] According to this method, the gap correction of the printing trajectory is performed by the distance measuring device 7 before the measurement process by the optical sensor 5. As a result, the distance measured by the optical sensor 5 becomes approximately constant within an appropriate range along the printing trajectory, and more accurate displacement data can be obtained. Therefore, a more accurate printing start time can be determined. Therefore, it is possible to provide a control method for robot 100 that can start work from a more precise position.
[0057] According to the robot system 200, the robot 100 has a distance measuring device 7 attached to the robot arm 22 that measures the distance to the object W, and the control device 80 operates the robot arm 22 to follow a plurality of teaching points that constitute the printing trajectory before measuring the actual position, acquires distance data measured by the distance measuring device 7 at the positions of the plurality of teaching points, and corrects the teaching points so that the distance from the print head 3 to the object W during robot operation at each teaching point approaches a reference set distance.
[0058] This allows us to provide a robot system 200 that can start work from a more precise position.
[0059] Furthermore, the tool is the print head 3, 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.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] Figure 11 shows the area around the support plate 45c as viewed from the Y-plus side. The workpiece Wb 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.
[0065] 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.
[0066] 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.
[0067] 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.
[0068] 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.
[0069] 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. Therefore, the accurate start time for printing can be determined.
[0070] 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.
[0071] According to this, when measuring trajectory and distance, the linear motion stage 48 switches the position of the optical sensor 5 or the distance measuring device 7 onto the work centerline 63, enabling accurate measurement and generating a highly accurate corrected trajectory. Therefore, the accurate printing start time can be determined. Then, the linear motion stage 48 switches the position of the print head 3 onto the work centerline 63, and printing is performed from the printing start time along the generated corrected trajectory, enabling high-precision printing at the correct position.
[0072] ***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]
[0073] 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...Table Display unit, 72...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, 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 robot comprising: a robotic arm; a tool positioned on the robotic arm and performing work on an object along a work path; and an optical sensor whose relative positional relationship with the tool is kept constant and which measures the displacement between the work path and the actual position; Includes a control device for controlling the robot, 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 in which the tool is moved based on the aforementioned work trajectory, and the time at which the optical sensor receives the trigger signal to start operation from the control device is set to zero, and the displacement is measured. The process includes a determination step of determining the start time of the tool's operation from the time and displacement data acquired in the measurement step. Robot control methods.
2. The robot further includes a distance measuring device for measuring the distance to the object, Before the aforementioned measurement process, The process includes: operating the robot arm to follow a plurality of teaching points that constitute the work trajectory; acquiring distance data measured by the distance measuring device at the positions of the plurality of teaching points; and correcting the teaching points so that the distance from the tool to the object at each teaching point during the robot operation approaches a reference set distance. A method for controlling a robot according to claim 1.
3. The aforementioned tool is a print head, The aforementioned work track is the printing track. The robot control method according to claim 2.
4. 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, The displacement of the print head is measured by comparing two images captured by the image sensor at different timings. The robot control method according to claim 3.
5. 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 3.
6. The moving stage is driven by a piezoelectric actuator. The robot control method according to claim 5.
7. A robotic arm and A tool is positioned on the robot arm to perform work on an object, A robot equipped with an optical sensor that maintains a constant relative positional relationship with the tool and measures the displacement between the work trajectory and the actual position, The system includes a control device that transmits a trigger signal to the robot to start operation, When the robot receives the trigger signal, The tool is moved based on the aforementioned work trajectory, and the time and displacement are measured by the optical sensor, with the time of receiving the trigger signal set to zero. The start time of the tool's operation is determined from the measured time and displacement data. Robot system.
8. The robot further includes a distance measuring device for measuring the distance to the object, The control device is Before measuring the actual position, The robot arm is operated to follow a plurality of teaching points that constitute the work trajectory, distance data measured by the distance measuring device is acquired at the positions of the plurality of teaching points, and the teaching points are corrected so that the distance from the tool to the object at each teaching point during the robot operation approaches a reference set distance. The robot system according to claim 7.
9. 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 8.
10. 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 8.
11. 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 10.