Control method and program product

CN122830276APending Publication Date: 2026-09-29SEIKO EPSON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202610384196.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-03-27
Filing Date
2026-03-26
Publication Date
2026-09-29

AI Technical Summary

Technical Problem

[0004]但是,即使要使支承物相对于支承支承物并具有多个关节的机器人移动到示教点,支承物有时也从示教点偏移

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122830276A_ABST
    Figure CN122830276A_ABST
Patent Text Reader

Abstract

Disclosed are a control method and a program product that reduce a deviation of a supported object from a teaching point in moving a robot that supports the supported object and has a plurality of joints to the teaching point. In a control method of moving a robot that supports a supported object and has a plurality of joints, in moving the supported object to a first teaching point, the supported object is moved to the first teaching point after passing through a first point, and in moving the supported object to a second teaching point, the supported object is moved to the second teaching point after passing through the first point.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to control methods and procedures. Background Technology

[0002] Previously, three-dimensional printing apparatuses were known for printing on the surface of three-dimensional workpieces using inkjet printing. For example, Patent Document 1 discloses a control method for a three-dimensional printing apparatus, which includes: a robot, a support for supporting workpieces and having multiple joints; and a head scanning mechanism having a head that sprays ink or other liquid onto the support.

[0003] Patent Document 1: Japanese Patent Application Publication No. 2022-127793

[0004] However, even when moving the support relative to the robot with multiple joints to the teach point, the support sometimes shifts away from the teach point. Summary of the Invention

[0005] The suitable solution disclosed herein relates to a control method for controlling the movement of a robot that supports a support and has multiple joints, wherein, when moving the support to a first teaching point, the support moves to the first teaching point after passing the first point, and when moving the support to a second teaching point, the support moves to the second teaching point after passing the first point.

[0006] The suitable scheme of this disclosure relates to a procedure that enables a robot to perform: when the support moves to a first teaching point, the support moves to the first teaching point after passing through a second point and the first point in sequence; and when the support moves to a second teaching point, the support moves to the second teaching point after passing through the second point and the first point in sequence. Attached Figure Description

[0007] Figure 1 This is a perspective view showing an outline of the three-dimensional printing apparatus 100 according to the first embodiment.

[0008] Figure 2 This is a diagram illustrating the parallel linkage mechanism 850.

[0009] Figure 3 This is a block diagram showing the electrical configuration of the three-dimensional printing apparatus 100 according to the first embodiment.

[0010] Figure 4 This is a perspective view showing the outline configuration of the liquid ejection unit 300 in the first embodiment.

[0011] Figure 5This is a flowchart illustrating the process of the three-dimensional printing method according to the first embodiment.

[0012] Figure 6 This is a diagram used to illustrate the printing area Wa involved in the first embodiment.

[0013] Figure 7 This is a diagram used to illustrate the workpiece movement in step S140.

[0014] Figure 8 This is a diagram used to illustrate the workpiece movement in step S160.

[0015] Figure 9 This is a diagram illustrating the configuration of an example of a measurement system 101 that performs the generation process.

[0016] Figure 10 This diagram shows the state in which the markings are installed on the workpiece moving mechanism 800.

[0017] Figure 11 This diagram shows the state in which the markings are installed on the workpiece moving mechanism 800.

[0018] Figure 12 This is a flowchart illustrating an example of the generation process.

[0019] Figure 13 This is a diagram showing multiple measuring orbits (MTs) viewed in the Z2 direction.

[0020] Figure 14 This is a diagram showing multiple measuring orbits (MTs) viewed in the Y1 direction.

[0021] Figure 15 This is a diagram showing an example of the contents of the correction calculation table HT.

[0022] Figure 16 This is a block diagram showing the electrical configuration of the three-dimensional printing apparatus 100A according to the first modified example.

[0023] Figure 17 This is a flowchart illustrating the process of a three-dimensional printing method according to the first modified example.

[0024] Figure 18 This is a diagram showing a flowchart illustrating the correction process.

[0025] Figure 19 This is a diagram used to illustrate the processing in step S340 and step S350.

[0026] Figure 20 This is a diagram showing a flowchart illustrating the correction process in the second variation.

[0027] Figure 21 This is a diagram showing a flowchart illustrating the correction process in the fourth variation.

[0028] Figure 22 This is a diagram used to illustrate the workpiece movement in the fourth variation.

[0029] Explanation of reference numerals in the attached figures

[0030] 100, 100A…Stereolithography printing apparatus, 101…Measuring system, 200…Head scanning mechanism, 210…Base, 220…Arm, 221, 222, 223, 224, 225, 226…Arm components, 230, 230_1, 230_2, 230_3, 230_4, 230_5, 230_6…Joints, 240…Arm drive mechanism, 241, 241_1, 241_6…Encoders, 300…Liquid ejection unit, 310…Head, 311…Piezoelectric element, 320…Pressure regulating valve, 330…Distance sensor, 340…Switching circuit, 350…Support body, 400…Liquid supply unit, 410…Liquid reservoir, 420…Supply flow path, 421…Upper Downstream flow path, 422… downstream flow path, 422a… flow path component, 500… control module, 510… timing signal generation circuit, 520… power supply circuit, 530… control circuit, 540… drive signal generation circuit, 600… controller, 610… storage circuit, 620… processing circuit, 700, 700A, 701… computer, 710, 710A… storage circuit, 720, 720A… processing circuit, 800… workpiece moving mechanism, 801_1… Y-axis linear joint, 801_2… X-axis linear joint, 801_3… Z-axis linear joint, 801_4… Z-axis rotary joint, 801_5~801_10… connecting rod internal linear joint, 802_1~802_10… encoder, 8 10…XYZθ moving mechanism, 811…guide rail component, 812…drive mechanism, 821…guide rail component, 822…drive mechanism, 831…guide rail component, 832…drive mechanism, 850…parallel linkage mechanism, 851…base component, 854…output linkage component, 900…motion capture device, 910…clamp, 910C…center, 911…component, 911S…face, 912…marker, 920…clamp, 920C…center, 921…component, 922…marker, 8521…lower joint, 8522…direct action mechanism, 8523…upper joint, AP…position, BR_A, BR_B, BR_C, BR_x, BR_y…band area, CLK…clock signal, CNG…conversion signal, CP, CP1, CP2, CP3, CP4, CP5, CP6, CP7, CP8…measuring points, Com…drive signal, D1, D1_1, D1_6…output signals, D2, D3…signals, D4_1~D4_10…outputs, DE…ejection direction, DI…measurement information, DR, DR_AB, DR_AC, DR_BC, DR_xy…repetition area, Da…teaching point information, Db…workpiece trajectory information, Dc…head trajectory information, FN…nozzle face, FR…setting face, HP…starting position, HT…calibration calculation table, Img…printing data, LAT…latch signal, La…first nozzle row, Lb…second nozzle row, Ln…nozzle row.MT, MT1, MT2, MT3, MT4, MT5, MT6, MT7, MT8… Measuring track, N… Nozzle, O1, O2, O3, O4, O5, O6… Rotating shaft, PD… Drive pulse, PE_A~PE_C… End position, PS_A~PS_C… Start position, PTAA, PTAH, PTBA, PTBH, PTHB, PTHC, PTHD, PTHE… Track, PTS… Timing signal, RC0~RC8… Recording, RT_A, RT_B RT_C…head path, RU…path, SF…placement surface, SI…control signal, SR, SR_A, SR_B, SR_C…non-repeating region, Sk_1~Sk_6…control signal, Sn…analysis indicator, TP, TPA, TPB, TPC, TPD, TPE…teach point, TR…repeating region, Ue…user, Us…robot manufacturer, VBS…offset potential, VHV…power supply potential, W…workpiece, Wa…printed area, dCom…waveform specification signal, θZ…rotation axis. Detailed Implementation

[0031] The following is a reference to the appendix. Figure 1 The following description illustrates suitable embodiments of the present invention. Furthermore, the dimensions or scales of various parts in the drawings may differ slightly from actual dimensions; some parts are shown schematically for ease of understanding. Additionally, the scope of the invention is not limited to these embodiments unless specifically defined in the following description.

[0032] The following explanation uses intersecting X, Y, and Z axes appropriately. A direction along the X-axis is referred to as the X1 direction, and the opposite direction is referred to as the X2 direction. Similarly, opposite directions along the Y-axis are referred to as the Y1 and Y2 directions. Furthermore, opposite directions along the Z-axis are referred to as the Z1 and Z2 directions.

[0033] Here, the X, Y, and Z axes are coordinate axes of a base coordinate system defined in the space containing the workpiece W (described later) and the base 210. Typically, the Z-axis is a vertical axis, with the Z2 direction corresponding to the downward direction in the vertical direction. However, the Z-axis may not be a vertical axis. Furthermore, the X, Y, and Z axes are typically orthogonal to each other, but this is not the case; there are also cases where they are not orthogonal. For example, the X, Y, and Z axes may intersect each other at an angle between 80° and 100°.

[0034] 1. First Implementation Method

[0035] 1-1. Overview of a 3D printing apparatus

[0036] Figure 1This is a perspective view showing an outline of the three-dimensional printing apparatus 100 according to the first embodiment. The three-dimensional printing apparatus 100 is an apparatus for printing on a portion or all of the surface of a three-dimensional workpiece W by inkjet printing. In the first embodiment, the three-dimensional printing apparatus 100 is used by a user Ue. The user Ue is, for example, the manufacturer who prints on the workpiece W. The three-dimensional printing apparatus 100 is provided to the user Ue by a robot manufacturer who is the developer of the three-dimensional printing apparatus 100.

[0037] The workpiece W has a surface that includes a printing area Wa, which forms the range of the image. Figure 1 In the example shown, the workpiece W is a rugby ball in the shape of an elongated sphere, and the printed area Wa is a surface with variable curvature. Furthermore, the workpiece W is not limited to a rugby ball; it can be arbitrary.

[0038] exist Figure 1 In the example shown, the stereoscopic printing apparatus 100 is an inkjet printer using a vertical multi-joint robot. Specifically, as Figure 1 As shown, the 3D printing apparatus 100 includes a head scanning mechanism 200, a liquid ejection unit 300, a liquid supply unit 400, a controller 600, and a workpiece moving mechanism 800. Furthermore, the workpiece moving mechanism 800 is an example of a "robot." The workpiece W is an example of a "support."

[0039] Below, I will first briefly explain each point. Figure 1 The various parts of the 3D printing apparatus 100 shown. The head scanning mechanism 200 is a moving mechanism that changes the position and orientation of the liquid ejection unit 300 relative to the workpiece W. Figure 1 In the example shown, the head scanning mechanism 200 is a so-called 6-axis vertical joint robot. Specifically, the head scanning mechanism 200 has a base 210 and an arm 220.

[0040] The base 210 is a platform that supports the arm 220. Figure 1 In the example shown, the base 210 is fixed to a surface FR, such as the ground, facing the Z1 direction, by means of threaded fixing or the like.

[0041] Arm 220 is a six-axis robotic arm having a base end mounted on base 210 and a front end that allows for three-dimensional variation in position and orientation relative to the base end. Specifically, arm 220 has arm components 221, 222, 223, 224, 225, and 226, which are connected in sequence. Furthermore, arm 220 has multiple joints, i.e., multiple joints 230.

[0042] Arm components 221 to 226 are connected via joints 230_1 to 230_6 and can rotate about rotation axes O1 to O6. Furthermore, hereinafter, joints 230_1 to 230_6 are sometimes referred to as joint 230.

[0043] Each of joints 230_1 to 230_6 is a rotary joint capable of rotating about a rotation axis. The head scanning mechanism 200 in this embodiment only has rotary joints, but it may also have one or more linear joints. When one arm component is connected to other arm components via linear joints, one arm component moves relative to the other arm components along an axis via linear joints.

[0044] Arm components 222 and 223 are members extending in a direction perpendicular to the rotation axis O3. The extension direction of arm component 222 varies depending on one or both of the rotation angles of joints 230_1 and 230_2. The extension direction of arm component 223 varies depending on one or more of the rotation angles of joints 230_1, 230_2, and 230_3.

[0045] Joints 230_1 to 230_6 are mechanisms that rotatably connect one of two adjacent arm components relative to the other. Figure 1 Although not shown in the figure, each of joints 230-1 to 230-6 is provided with a drive mechanism that allows one of two adjacent arm components to rotate relative to the other. This drive mechanism includes, for example, a motor that generates a driving force for the rotation, a reducer that reduces the driving force before outputting it, and an encoder such as a rotary encoder that detects the amount of motion, such as the angle of rotation. Furthermore, the assembly of this drive mechanism corresponds to the following... Figure 3 The arm drive mechanism 240 is shown. Additionally, the encoder corresponds to the one described later. Figure 3 The encoder 241 is shown in the figure.

[0046] Rotation axis O1 is a perpendicular axis to the mounting surface FR, which is fixed to the base 210. Rotation axis O2 is a perpendicular axis to rotation axis O1. Rotation axis O3 is a parallel axis to rotation axis O2. Rotation axis O4 is a perpendicular axis to rotation axis O3. Rotation axis O5 is a perpendicular axis to rotation axis O4. Rotation axis O6 is a perpendicular axis to rotation axis O5.

[0047] Furthermore, regarding these rotation axes, "perpendicular" means not only that the angle formed by the two rotation axes is strictly 90 degrees, but also that the angle formed by the two rotation axes is offset within a range of 90 degrees to ±5 degrees. Similarly, "parallel" means not only that the two rotation axes are strictly parallel, but also that one of the two rotation axes is tilted relative to the other within a range of ±5 degrees.

[0048] The liquid ejection unit 300 is mounted as an end effector on the front end of the arm 220, i.e., the arm component 226, in a fixed state such as by thread fixing.

[0049] The liquid ejection unit 300 is a device having a head 310 that ejects ink, an example of a liquid, toward the workpiece W. In this embodiment, in addition to the head 310, the liquid ejection unit 300 also has a pressure regulating valve 320 that adjusts the pressure of the ink supplied to the head 310, and a distance sensor 330 that measures the distance between itself and the workpiece W.

[0050] There are no particular limitations on this ink. For example, examples include water-based inks that dissolve dyes or pigments in water-based solvents, curable inks that use curable resins such as UV-curable inks, and solvent-based inks that dissolve dyes or pigments in organic solvents.

[0051] Although not shown, the head 310 has a piezoelectric element 311, a cavity for containing ink, and a nozzle N communicating with the cavity.

[0052] The pressure regulating valve 320 is a valve mechanism that opens and closes according to the pressure of the ink in the head 310.

[0053] The distance sensor 330 is an optical displacement sensor that measures the distance between the measuring head 310 and the workpiece W. Furthermore, the distance sensor 330 can be omitted as needed. Figure 1 In the example shown, the liquid ejection unit 300 has one head 310 and one pressure regulating valve 320, but this number is not limited to one. Figure 1 The examples shown can also include two or more.

[0054] The liquid supply unit 400 is a mechanism for supplying ink to the head 310. The liquid supply unit 400 has a liquid reservoir 410 and a supply flow path 420.

[0055] The liquid reservoir 410 is a container for storing ink. The liquid reservoir 410 is, for example, a bag-shaped ink bag formed of a flexible membrane.

[0056] exist Figure 1 In the example shown, the liquid reservoir 410 is fixed to a wall, ceiling, or column in a manner that it is always located in the Z1 direction relative to the head 310.

[0057] Furthermore, the location of the liquid reservoir 410 can be such that ink can be supplied from the liquid reservoir 410 to the head 310 at a specified pressure, or it can be located below the head 310 in the vertical direction.

[0058] The supply path 420 is a path for supplying ink from the liquid reservoir 410 to the head 310. A pressure regulating valve 320 is provided midway through the supply path 420.

[0059] The supply flow path 420 is formed, for example, by the internal space of the pipe.

[0060] Controller 600 is a robot controller that controls the drive of the head scanning mechanism 200. Although in Figure 1 Not shown in the diagram, but the controller 600 is electrically connected to a control module that controls the ejection action of the liquid ejection unit 300. A computer is communicatively connected to the controller 600 and the control module. Furthermore, this control module is equivalent to the one described later. Figure 3 The control module 500 is shown. This computer is equivalent to the one described later. Figure 3 The computer shown is 700.

[0061] The workpiece moving mechanism 800 is a robot that supports the workpiece W and has multiple joints, i.e., multiple joints 801. The workpiece moving mechanism 800 includes an XYZθ moving mechanism 810 and a parallel linkage mechanism 850. Furthermore, in... Figure 1 In order to avoid complicating the accompanying drawings, the shape of the parallel linkage mechanism 850 is shown in a simplified form.

[0062] The XYZθ moving mechanism 810 is a mechanism capable of moving the workpiece W along the X, Y, and Z axes, and capable of rotating the workpiece W about a rotation axis θZ parallel to the Z axis. The XYZθ moving mechanism 810 includes a Y-axis linear joint 801-1, an X-axis linear joint 801-2, a Z-axis linear joint 801-3, and a Z-axis rotary joint 801-4. Furthermore, the workpiece moving mechanism 800 includes a parallel linkage mechanism 850 comprising a portion of multiple joints 801.

[0063] Y-axis linear joint 801_1 is a mechanism that moves X-axis linear joint 801_2 in the direction along the Y-axis. Y-axis linear joint 801_1, for example, has a guide rail member 811 extending along the Y-axis and a drive mechanism 812 that moves X-axis linear joint 801_2. This drive mechanism, for example, includes: a motor that generates a driving force for the movement; a reducer that reduces the driving force before outputting it; and an encoder 802_1 that detects the amount of movement. The encoder 802_1, as shown... Figure 3 As shown.

[0064] The X-axis linear joint 801_2 is a mechanism that moves the Z-axis linear joint 801_3 in the direction along the X-axis. The X-axis linear joint 801_2, for example, has a guide rail member 821 extending along the X-axis and a drive mechanism 822 that moves the Z-axis linear joint 801_3. This drive mechanism, for example, includes a motor that generates a driving force for the movement, a reducer that reduces the driving force before outputting it, and an encoder 802_2 that detects the amount of movement. The encoder 802_2, as shown... Figure 3 As shown.

[0065] Z-axis linear joint 801_3 is a mechanism that moves Z-axis rotary joint 801_4 in the direction along the Z-axis. Z-axis linear joint 801_3, for example, has a guide rail member 831 extending along the Z-axis and a drive mechanism 832 for moving Z-axis linear joint 801_3. This drive mechanism, for example, includes: a motor that generates a driving force for the movement; a reducer that reduces the driving force before outputting it; and an encoder 802_3 that detects the amount of movement. The encoder 802_3, as shown... Figure 3 As shown.

[0066] Z-axis rotary joint 801_4 causes parallel linkage mechanism 850 to rotate about a rotation axis θZ parallel to the Z-axis. Z-axis rotary joint 801_4 includes: a motor that generates a driving force to rotate Z-axis rotary joint 801_4 relative to Z-axis linear joint 801_3; a reducer that reduces the driving force before outputting it; and an encoder 802_4 that detects the amount of motion, such as the angle of rotation. The encoder 802_4 is as follows... Figure 3 As shown.

[0067] The parallel linkage mechanism 850 has a mounting surface SF for placing the workpiece W. By causing the multiple joints 801_5 to 801_10 of the parallel linkage mechanism 850 to move in parallel, the direction in which the mounting surface SF faces can be changed. Regarding the parallel linkage mechanism 850, the following is used... Figure 2 Please provide an explanation.

[0068] Figure 2 This is a diagram illustrating the parallel linkage mechanism 850. Figure 2 The parallel linkage mechanism 850 shown includes: a base member 851, six linear joints 801-5 to 10 within the linkage, and an output linkage member 854. The base member 851 and the output linkage member 854 are flat members. The base member 851 is fixed to the Z-axis rotary joint 801-4. The surface of the output linkage member 854 facing the Z1 direction is the mounting surface SF. However, to avoid complicating the drawings, in... Figure 2 The display of the linear joints 801_9 and 10 inside the link is omitted.

[0069] The six internal linear motion joints 801-5 to 10 are mechanisms whose length in the extension direction can be changed. Hereinafter, without distinguishing between the six internal linear motion joints 801-5 to 10, they are sometimes collectively referred to as internal linear motion joints 801L. The six internal linear motion joints 801L are provided between the base member 851 and the output link member 854. Furthermore, the number of internal linear motion joints 801L in the parallel link mechanism 850 is not limited to six; three or more are acceptable.

[0070] Each of the six linearly moving joints 801L has a lower joint 8521, a linearly moving mechanism 8522, and an upper joint 8523. The lower joint 8521 is a ball joint connecting the base member 851 and the linearly moving mechanism 8522. The extension direction of the linearly moving mechanism 8522 relative to the base member 851 is varied via the lower joint 8521. The upper joint 8523 is a ball joint connecting the linearly moving mechanism 8522 and the output link member 854. The extension direction of the linearly moving mechanism 8522 relative to the output link member 854 is varied via the upper joint 8523.

[0071] The direct-acting mechanism 8522 can change the length in the extension direction. Each of the six direct-acting joints 801L within the linkage has a direct-acting mechanism 8522, for example, comprising: a hollow shaft; a cylindrical member inserted into the shaft and movable in the extension direction of the shaft; a motor generating a driving force for moving the cylindrical member; a reducer that reduces the driving force and outputs it; and an encoder 802 that detects the amount of movement. The direct-acting joints 801_5 to 801_10 within the linkage each have encoders 802_5 to 802_10. Encoders 802_5 to 802_10 are as follows... Figure 3 As shown.

[0072] The length of the six internal linear joints 801L changes, thereby changing the direction in which the mounting surface SF faces. For example, by shortening one of the six internal linear joints 801L, the output link member 854 tilts via the upper joint portion 8523 within that one internal linear joint 801L.

[0073] In addition, the parallel linkage mechanism 850 has 6 linear joints 801L within the linkage, but it can also have more than 2 rotary joints instead of 6 linear joints 801L within the linkage.

[0074] Return to the instructions Figure 1As described above, the workpiece moving mechanism 800 has a Y-axis linear joint 801-1, an X-axis linear joint 801-2, a Z-axis linear joint 801-3, a Z-axis rotary joint 801-4, and six internal linear joints 801L as multiple joints 801. Hereinafter, as multiple joints 801, the Y-axis linear joint 801-1, X-axis linear joint 801-2, Z-axis linear joint 801-3, Z-axis rotary joint 801-4, and six internal linear joints 801L are sometimes referred to as joints 801. Hereinafter, the number of joints 801 in the workpiece moving mechanism 800 is set as L. In the first embodiment, L is 10. However, the workpiece moving mechanism 800 only needs to have two or more joints 801, for example, it may not have the parallel linkage mechanism 850. Furthermore, the workpiece moving mechanism 800 is preferably 6 degrees of freedom or more in order to arbitrarily change the posture of the workpiece W.

[0075] 1-2. Electrical Configuration of the 3D Printing Apparatus 100

[0076] Figure 3 This is a block diagram illustrating the electrical configuration of the three-dimensional printing apparatus 100 according to the first embodiment. Figure 3 The diagram shows the electrical components of the three-dimensional printing apparatus 100. Additionally, in... Figure 3 The diagram shows an arm drive mechanism 240 comprising encoders 241_1 to 241_6. The arm drive mechanism 240 is an assembly of the aforementioned drive mechanisms that actuate joints 230_1 to 230_6. Encoders 241_1 to 241_6 are correspondingly arranged with joints 230_1 to 230_6, and measures actuation quantities such as rotation angles from encoders 241_1 to 241_6. Furthermore, hereinafter, each of encoders 241_1 to 241_6 will sometimes be referred to as encoder 241.

[0077] Moreover, in Figure 3 The diagram shows encoders 802_1 to 802_10. Encoders 802_1 to 802_10 are configured to correspond to joints 801_1 to 801_10, and measure the amount of movement or rotation angle of motion from encoders 802_1 to 802_10. Furthermore, hereinafter, encoders 802_1 to 802_10 are sometimes referred to as encoder 802.

[0078] like Figure 3As shown, the stereolithography printing apparatus 100, in addition to the aforementioned head scanning mechanism 200, liquid ejection unit 300, controller 600, and workpiece moving mechanism 800, also includes a control module 500 and a computer 700. Furthermore, the electrical components described below can be appropriately separated, partially included in other components, or integrally formed with other components. For example, part or all of the functions of the control module 500 or controller 600 can be implemented by the computer 700 connected to the controller 600, or by other external devices such as a PC (personal computer) connected to the controller 600 via a network such as a LAN (Local Area Network) or the Internet.

[0079] The controller 600 has the functions of controlling the drive of the head scanning mechanism 200, controlling the movement of the workpiece moving mechanism 800, and generating a signal D3 for synchronizing the ejection action of the head 310 with the action of the head scanning mechanism 200. The controller 600 has a storage circuit 610 and a processing circuit 620.

[0080] The storage circuit 610 stores various programs executed by the processing circuit 620 and various data processed by the processing circuit 620. The storage circuit 610 may include, for example, a semiconductor memory comprising one or both of the following: volatile memory such as RAM (Random Access Memory) and non-volatile memory such as ROM (Read Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), or PROM (Programmable ROM). Furthermore, part or all of the storage circuit 610 may also be included in the processing circuit 620.

[0081] The storage circuit 610 stores the teaching point information Da, the workpiece trajectory information Db, and the head trajectory information Dc. The teaching point information Da is information related to the position of the workpiece W. Specifically, the teaching point information Da is information related to multiple teaching points TP, which will be described later.

[0082] The workpiece trajectory information Db is information indicating the movement path that the workpiece W should move. Specifically, the workpiece trajectory information Db includes information showing the trajectory described later, with multiple teaching points TP as the start and end positions. The above workpiece trajectory information Db is input from the computer 700 to the storage circuit 610.

[0083] The head trajectory information Dc indicates the movement path that the head 310 should move. The head trajectory information Dc includes information indicating the path that the tool center point, representing the origin of the tool coordinate system, should move. The head trajectory information Dc is determined based on workpiece information showing the shape of the workpiece W and workpiece trajectory information Db. This workpiece information is obtained by correlating information such as CAD (computer-aided design) data showing the three-dimensional shape of the workpiece W with the aforementioned base coordinate system. The head trajectory information Dc is input from the computer 700 to the storage circuit 610.

[0084] The processing circuit 620 controls the movements of joints 801_1 to 801_10 based on the workpiece track information Db. Specifically, the processing circuit 620 performs inverse kinematic calculations to convert the workpiece track information Db into movement quantities such as the amount of movement, rotation angle, and rotation speed of each joint 801_1 to 801_10. Then, the processing circuit 620 outputs control signals Sm_1 to Sm_10 based on the outputs D4_1 to D4_10 from the encoders 802_1 to 802_10 included in the workpiece moving mechanism 800, so that the actual rotation angle and rotation speed of each joint 801_1 to 801_10 become the aforementioned calculation results. The control signals Sm_1 to Sm_10 correspond to joints 801_1 to 801_10 and control the drive of the motors installed in the corresponding joints 801. In addition, the outputs D4_1 to D4_10 correspond to the encoders 802_1 to 802_10. Hereinafter, outputs D4_1 to D4_10 will sometimes be referred to as output D4.

[0085] Furthermore, the processing circuit 620 controls the movements of each of joints 230_1 to 230_6 based on the head track information Dc, and generates a signal D3. Specifically, the processing circuit 620 performs inverse kinematic calculations to convert the head track information Dc into motion quantities such as rotation angles and rotational speeds of each of joints 230_1 to 230_6. Then, based on the output signals D1_1 to D1_6 of each of the encoders 241_1 to 241_6 included in the arm drive mechanism 240 of the head scanning mechanism 200, the processing circuit 620 controls the control signals Sk_1 to Sk_6 so that the actual motion quantities such as rotation angles and rotational speeds of each of joints 230_1 to 230_6 become the aforementioned calculation results. The control signals Sk_1 to Sk_6 correspond to each of joints 230_1 to 230_6, and control the drive of the motors installed in the corresponding joints 230. Furthermore, output signals D1_1 to D1_6 correspond to encoders 241_1 to 241_6. Hereinafter, output signals D1_1 to D1_6 will sometimes be referred to as output signal D1.

[0086] In addition, the processing circuit 620 generates signal D3 based on the output signal D1 from at least one of encoders 241_1 to encoders 241_6.

[0087] The processing circuit 620 described above may include one or more processors such as a CPU (Central Processing Unit). Furthermore, the processing circuit 620 may replace the CPU or incorporate programmable logic devices such as an FPGA (Field-Programmable Gate Array) based on the CPU.

[0088] The control module 500 is a circuit that controls the ejection action of the head 310 based on the signal D3 output from the controller 600 and the printing data Img from the computer 700. The control module 500 includes a timing signal generation circuit 510, a power supply circuit 520, a control circuit 530, and a drive signal generation circuit 540.

[0089] The timing signal generation circuit 510 generates the timing signal PTS based on signal D3.

[0090] The power supply circuit 520 receives power from a commercial power supply not shown in the figure and generates various prescribed potentials. These potentials are then appropriately supplied to various parts of the stereolithography printing apparatus 100. For example, the power supply circuit 520 generates a power supply potential VHV and an offset potential VBS. The offset potential VBS is supplied to the liquid ejection unit 300. Additionally, the power supply potential VHV is supplied to the drive signal generation circuit 540.

[0091] The control circuit 530 generates a control signal SI, a waveform specification signal dCom, a latch signal LAT, a clock signal CLK, and a conversion signal CNG based on the timing signal PTS. These signals are synchronized with the timing signal PTS. Among these signals, the waveform specification signal dCom is input to the drive signal generation circuit 540, and the other signals are input to the switching circuit 340 of the liquid ejection unit 300.

[0092] The control signal SI is a digital signal used to specify the operating state of the piezoelectric element 311 possessed by the head 310. The waveform specification signal dCom is a digital signal used to specify the waveform of the drive signal Com. The latch signal LAT and the conversion signal CNG are used in conjunction with the control signal SI to specify the driving timing of the piezoelectric element 311, thereby specifying the ink ejection timing from the nozzle N. The clock signal CLK is a clock signal that serves as a reference after being synchronized with the timing signal PTS.

[0093] The control circuit 530 described above may include one or more processors such as a CPU (Central Processing Unit). Furthermore, the control circuit 530 may replace the CPU or incorporate programmable logic devices such as an FPGA (Field-Programmable Gate Array) on top of the CPU.

[0094] The drive signal generation circuit 540 generates drive signals Com for each piezoelectric element 311 of the drive head 310. Here, the signal in the waveform included in the drive signal Com that is actually supplied to the piezoelectric element 311 is a drive pulse PD. The drive pulse PD is supplied to the piezoelectric element 311 from the drive signal generation circuit 540 via a switching circuit 340. The switching circuit 340 switches whether to supply at least a portion of the waveform included in the drive signal Com as the drive pulse PD based on a control signal SI.

[0095] The computer 700 has the functions of supplying information such as teach point information Da, workpiece track information Db, and head track information Dc to the controller 600, and supplying information such as printing data Img to the control module 500. For example, the computer 700 generates workpiece track information Db based on workpiece information showing the shape of workpiece W and teach point information Da. Furthermore, the computer 700 generates head track information Dc based on the workpiece information and workpiece track information Db. The computer 700 sends the teach point information Da, workpiece track information Db, and head track information Dc to the controller 600. Additionally, the computer 700 in this embodiment is electrically connected to the aforementioned distance sensor 330, and supplies information for correcting the head track information Dc to the controller 600 based on the signal D2 from the distance sensor 330. The computer 700 has processing circuitry and recording circuitry (not shown), including a CPU, etc. The computer 700 is, for example, a PC. In addition, the computer 700 functions as the control unit of the stereoscopic printing apparatus 100, and via the controller 600 and the control module 500, causes the head scanning mechanism 200 and the liquid ejection unit 300 to perform the printing actions A, B and C described later.

[0096] 1-3. Liquid ejection unit 300

[0097] Figure 4 This is a perspective view showing the outline configuration of the liquid ejection unit 300 in the first embodiment.

[0098] The following explanation uses intersecting a-axis, b-axis, and c-axis appropriately. Furthermore, a direction along the a-axis is called the a1 direction, and the opposite direction is called the a2 direction. Similarly, opposite directions along the b-axis are called the b1 and b2 directions. Additionally, opposite directions along the c-axis are called the c1 and c2 directions.

[0099] Here, the a-axis, b-axis, and c-axis are coordinate axes set in the tool coordinate system of the liquid ejection unit 300. Through the operation of the aforementioned head scanning mechanism 200, the relative positions and orientations of the aforementioned X-axis, Y-axis, and Z-axis change. Figure 4 In the example shown, the c-axis is an axis parallel to the aforementioned rotation axis O6. Furthermore, the a-axis, b-axis, and c-axis are typically orthogonal to each other, but are not limited to this; for example, they can intersect at angles between 80 and 100 degrees.

[0100] The liquid ejection unit 300, as previously described, includes a head 310, a pressure regulating valve 320, and a distance sensor 330. These are comprised of… Figure 4 The support body 350 is shown by the double-dotted line.

[0101] The support 350 is made of, for example, a metallic material and is a solid rigid body. Furthermore, in Figure 4 In the middle, the support body 350 is formed into a flat box shape, but the shape of the support body 350 is not particularly limited and can be arbitrary.

[0102] The support 350 is mounted on the front end of the aforementioned arm 220, i.e., arm component 226.

[0103] exist Figure 4 In the example shown, the pressure regulating valve 320 is located in the c1 direction relative to the head 310. The distance sensor 330 is located in the a2 direction relative to the head 310.

[0104] The supply flow path 420 is divided into an upstream flow path 421 and a downstream flow path 422 by a pressure regulating valve 320. That is, the supply flow path 420 has: an upstream flow path 421 that connects the liquid reservoir 410 to the pressure regulating valve 320; and a downstream flow path 422 that connects the pressure regulating valve 320 to the head 310. Figure 4 In the example shown, a portion of the downstream flow path 422 of the supply flow path 420 is constituted by a flow path member 422a. The flow path member 422a has flow paths that distribute ink from the pressure regulating valve 320 to multiple portions of the head 310.

[0105] The head 310 has a nozzle face FN and a plurality of nozzles N opening in the nozzle face FN. Figure 4 In the example shown, the normal direction of the nozzle surface FN is the c2 direction, and the plurality of nozzles N are divided into a first nozzle column La and a second nozzle column Lb arranged side by side with gaps between them along the a-axis. Hereinafter, the first nozzle column La and the second nozzle column Lb are sometimes referred to as nozzle column Ln without distinguishing between them. The first nozzle column La and the second nozzle column Lb are each a set of a plurality of nozzles N arranged in a straight line along the b-axis.

[0106] 1-4. Regarding the positioning accuracy of workpiece W

[0107] Regarding the positioning accuracy of workpiece W, since the accuracy of workpiece W's position affects print quality, high-precision control of the position of workpiece W and the movement of the workpiece moving mechanism 800 is required. If the positioning accuracy of workpiece W is low, even if the user Ue wants to move workpiece W to a pre-specified teach point, workpiece W may deviate from the teach point. Hereinafter, the teach point will sometimes be referred to as teach point TP. As an example of how the positioning accuracy of workpiece W affects print quality, continuous printing can be cited. When printing over a large area of ​​workpiece W using continuous printing, if the positioning accuracy of workpiece W is low, it is sometimes impossible to print according to the user Ue's ideal. Specifically, in continuous printing, when the positioning accuracy of workpiece W is low, uneven printing or white streaks may occur. White streaks are tiny gaps where no ink adheres.

[0108] The inventors discovered that the positioning accuracy of the workpiece W based on the workpiece moving mechanism 800 varies depending on the track traversed by the teaching point TP. That is, it is known that even if the teaching point TP input to the workpiece moving mechanism 800 is the same, a positional shift will occur at the teaching point TP depending on the different tracks traversed by the workpiece moving mechanism 800. Furthermore, the inventors deduced that the reason for the positional shift depending on the track traversed by the workpiece moving mechanism 800 lies in the backlash provided in the workpiece moving mechanism 800. Backlash refers to the gap between gears or belts in a machine. The inventors deduced that a positional shift occurs when the state of the backlash at the time of reaching the teaching point TP via a certain track differs from the state of the backlash at the time of reaching the teaching point TP via a different track. For example, in the case of two meshing gears, the state of the backlash means that the gap between the two gears is located either in front of or behind one of the gears in the direction of rotation. Hereinafter, the amount of the gap located in front of one of the two meshing gears in the direction of rotation will sometimes be described as the backlash amount. For example, the backlash is at its maximum when there is the largest clearance in front of a gear relative to the direction of rotation, and the backlash is 0 when there is no clearance in front of a gear relative to the direction of rotation but the largest clearance is behind it.

[0109] Therefore, in the first embodiment, in order to reduce the positional offset of the workpiece W at the teaching point TP, the path just before reaching the teaching point TP is set as shared. Specifically, the workpiece moving mechanism 800 is controlled so that the workpiece W moves to the teaching point TP after sequentially passing through position AP and starting position HP. Position AP is an example of a "second point". Starting position HP is an example of a "first point".

[0110] 1-5. Operation of the 3D printing apparatus 100 and the 3D printing method

[0111] Figure 5This is a flowchart illustrating the process of the three-dimensional printing method according to the first embodiment. This three-dimensional printing method is performed using the aforementioned three-dimensional printing apparatus 100. The three-dimensional printing apparatus 100 is as follows... Figure 5 The following steps are executed in sequence: Step S100, receiving teaching point information Da; Step S110, setting the track; Step S120, moving workpiece W to teaching point TPA; Step S130, performing printing action A in the tape area BR_A; Step S140, performing workpiece movement action to move workpiece W to teaching point TPB; Step S150, performing printing action B in the tape area BR_B; Step S160, performing workpiece movement action to move workpiece W to teaching point TPC; and Step S170, performing printing action C in the tape area BR_C.

[0112] Figure 5 The flowchart shown illustrates a series of processes in which the CPU or other processing circuits of the computer 700 read the program stored in the storage circuit of the computer 700 and execute the read program.

[0113] In step S100, the computer 700 processes the teaching point information Da, which displays teaching points TPA, TPB, and TPC, based on the user Ue's operation. Next, in step S110, the computer 700 generates workpiece trajectory information Db based on the teaching point information Da, and generates head trajectory information Dc based on the workpiece information and workpiece trajectory information Db. Regarding the band regions BR_A, BR_B, and BR_C, using... Figure 6 To explain, regarding the workpiece movement, use... Figure 7 and Figure 8 Please provide an explanation.

[0114] Figure 6 This is a diagram used to illustrate the printing area Wa according to the first embodiment. In the first embodiment, the printing area Wa has a banded area BR_A, a banded area BR_B, and a banded area BR_C.

[0115] Here, region BR_A is the region in printing region Wa where ink droplets are applied via printing action A; region BR_B is the region in printing region Wa where ink droplets are applied via printing action B; and region BR_C is the region in printing region Wa where ink droplets are applied via printing action C. In the following description, region BR_A, region BR_B, and region BR_C are sometimes collectively referred to as region BR. In the first embodiment, printing region Wa contains three regions BR, but the number of regions BR is not limited to three. For example, printing region Wa may contain two or more regions BR.

[0116] like Figure 6 As shown, each band region BR has a repeating region DR that is a region that repeats with one other band region BR, and a repeating region TR that is a region that repeats with two other band regions BR. In other words, the repeating region DR is a region that repeats with each other in two band regions BR. The repeating region TR is a region that repeats in all three band regions BR_A, BR_B, and BR_C. In addition, sometimes the regions in a band region BR that do not repeat with other band regions BR are recorded as non-repeating regions SR.

[0117] Specifically, the band region BR_A has a non-repeating region SR_A, a repeating region DR_AB, a repeating region DR_AC, and a repeating region TR. In the following description, the repeating region DR_xy means a region where band regions BR_x and BR_y repeat each other. X and y are any characters from A, B, and C. Band region BR_B has a non-repeating region SR_B, a repeating region DR_AB, a repeating region DR_BC, and a repeating region TR. Band region BR_C has a non-repeating region SR_C, a repeating region DR_AC, a repeating region DR_BC, and a repeating region TR.

[0118] In addition, Figure 6 In the image, for ease of display, the outline of the area BR is displayed slightly smaller to prevent it from overlapping with the outline of the printed area Wa. Additionally, in... Figure 6 In order to make it easier to understand the extent of the repeating regions DR and TR, the repeating regions DR and TR are shaded.

[0119] like Figure 6 As shown, in step S130, the head 310 forms a partial image in the band area BR_A by a printing action A that ejects ink from the head 310 while moving along the head track RT_A. More specifically, the movement of the head 310 along any path refers to the head scanning mechanism 200 moving along that path with respect to a tool center point set near the head 310. The tool center point is an imaginary reference point representing the head 310, for example, set at the center of the nozzle row Ln provided on the nozzle surface FN, or at a position a few millimeters away from the center of gravity along the ejection direction DE. Similarly, in step S150, the head 310 forms a partial image in the band area BR_B by a printing action B that ejects ink from the head 310 while moving along the head track RT_B. In step S170, the head 310 forms a partial image in the band area BR_C by a printing action C that ejects ink from the head 310 while moving along the head track RT_C.

[0120] Head track RT_A is the track from the start position PS_A to the end position PE_A. Head track RT_B is the track from the start position PS_B to the end position PE_B. Head track RT_C is the track from the start position PS_C to the end position PE_C.

[0121] Figure 7 This is a diagram used to illustrate the workpiece movement in step S140. Figure 8 This is a diagram illustrating the workpiece movement in step S160. Figure 7 and Figure 8 The diagram shows the range of movement of workpiece W when viewed in the Z2 direction. Additionally, in... Figure 7 and Figure 8 The workpiece moving mechanism 800 is omitted from the display.

[0122] In step S140, as Figure 7 As shown, the workpiece moving mechanism 800 moves the workpiece W in the sequence of track PTAA, track PTAH, and track PTHB. Track PTAA is the track from the teach point TPA to the position AP. Track PTAH is the track from the position AP to the starting position HP. Track PTHB is the track from the starting position HP to the teach point TPB.

[0123] Additionally, in step S160, as Figure 8 As shown, the workpiece moving mechanism 800 moves the workpiece W in the sequence of tracks PTBA, PTAH, and PTHC. Track PTAA is the track from the teach point TPB to the position AP. Track PTHB is the track from the starting position HP to the teach point TPC.

[0124] Position AP and starting position HP can be any position where workpiece W can move. However, from the viewpoint of minimizing the amount of movement from starting position HP to teach point TP while ensuring the movable area of ​​workpiece moving mechanism 800, it is preferable that the mounting surface SF of parallel linkage mechanism 850 faces the Z1 direction. Furthermore, position AP is set to a position where all joints 801 move when workpiece W moves along track PTAH in order to reduce the backlash difference at starting position HP. In track PTAH, all joints 801 only need to move slightly, and the amount of movement of workpiece W can be on the order of a few nanometers. Additionally, if there is a specific joint 801 that does not move when workpiece W moves from starting position HP to teach point TP, then when workpiece W moves from position AP to starting position HP, that specific joint 801 may not need to move. For example, if only the parallel linkage 850 operates when moving from the starting position HP to the teaching point TPB, then joints 801_1 to 801_4 may not operate when moving the workpiece W from position AP to the starting position HP.

[0125] The position AP and starting position HP can be set by the robot manufacturer or by the user Ue. In this embodiment, the position AP and starting position HP are set by the robot manufacturer for explanation.

[0126] In addition, the path from location AP to starting location HP is preferably the shortest path, but it can also be a path that deviates from the shortest path.

[0127] Furthermore, the workpiece moving mechanism 800 can either temporarily stop the workpiece W at position AP and the starting position HP, or allow it to pass through at a low speed. Considering productivity, the workpiece moving mechanism 800 may allow the workpiece W to pass through at a low speed without temporarily stopping it at either position AP or the starting position HP. However, if the workpiece W is not stopped at position AP and the starting position HP, the positional offset of the workpiece W upon reaching the teaching point TPA becomes larger. Therefore, the workpiece moving mechanism 800 preferably allows the workpiece W to temporarily stop at position AP and the starting position HP.

[0128] exist Figure 7 The diagram shows that the number of joints 801 when workpiece W starts moving from teach point TPA is "JointNum". After workpiece W starts moving from teach point TPA, the number of joints 801 that move workpiece W from position AP to starting position HP is N. Furthermore, the number of joints 801 that move workpiece W from starting position HP to teach point TPB after workpiece W starts moving from teach point TPA is M. For example... Figure 7As shown, M is less than or equal to L. N is greater than or equal to M and less than or equal to L. As mentioned above, a larger N is preferred, and it is more preferable that N is the same as L.

[0129] exist Figure 8 The diagram shows that the number of joints 801 when workpiece W starts moving from teach point TPB is "JointNum". After workpiece W starts moving from teach point TPB, the number of joints 801 that move workpiece W from teach point TPB to position AP is K. Furthermore, the number of joints 801 that move workpiece W from position AP to the starting position HP after workpiece W starts moving from teach point TPB is J. (The diagram is incomplete and requires further context.) Figure 8 As shown, K is less than or equal to L. J is greater than or equal to K and less than L. As mentioned above, the larger J is, the more preferred; more preferably, J is the same as L.

[0130] Furthermore, although the workpiece movement in step S120 is not illustrated, it is similar to... Figure 7 and Figure 8 The same applies. Specifically, at the beginning of step S120, when there is no workpiece W at position AP and starting position HP, the workpiece moving mechanism 800 moves the workpiece W to the teaching point TPA after passing through position AP and starting position HP in sequence.

[0131] In addition, the area BR_B is equivalent to the "first area", the area BR_C is equivalent to the "second area", the repeated area DR_BC and the repeated area TR are equivalent to the "repeated area", the printing action B is equivalent to the "first printing action", the printing action C is equivalent to the "second printing action", and the workpiece movement action in step S160 is equivalent to the "movement action".

[0132] 1-6. Summary of the First Implementation Method

[0133] The first embodiment described above can be defined as a control method for operating the workpiece moving mechanism 800. When the workpiece moving mechanism 800 moves the workpiece W to the teaching point TPB, the workpiece W moves to the teaching point TPB after sequentially passing through the position AP and the starting position HP. When the workpiece W moves to the teaching point TPC, the workpiece W moves to the teaching point TPC after sequentially passing through the position AP and the starting position HP.

[0134] According to the first embodiment, the track PTAH from position AP to starting position HP can be shared between the track towards teach point TPB and the track towards teach point TPC. By sharing the track PTAH, the difference in backlash can be reduced compared to a scheme where there is no shared track between the track towards teach point TPB and the track towards teach point TPC. By reducing the difference in backlash, the amount of positional offset of the workpiece W at teach point TPB and teach point TPC can be reduced.

[0135] The workpiece moving mechanism 800 has 2 or more L joints 801 as multiple joints 801. When the workpiece W in the L joints 801 moves from the starting position HP to the teaching point TPB, the number of joints 801 that perform the action is M or less than L. When the workpiece W in the L joints 801 moves from the position AP to the starting position HP, the number of joints 801 that perform the action is N or more than M and less than L.

[0136] According to the first embodiment, compared to the scheme where N is less than M, the influence of the tooth backlash of the joint 801 at the starting position HP can be reduced. As a result, the positional offset of the workpiece W at the teaching point TPB can be reduced.

[0137] In addition, the workpiece moving mechanism 800 has 2 or more L joints 801 as multiple joints 801. When the workpiece W in the L joints 801 moves from the teaching point TPB to the position AP, the number of joints 801 that perform the action is K or less than L. When the workpiece W in the L joints 801 moves from the position AP to the starting position HP, the number of joints 801 that perform the action is J or more than K and less than L.

[0138] According to the first embodiment, compared to the scheme where J is less than K, the influence of the tooth backlash of the joint 801 at the starting position HP can be reduced. As a result, the positional offset of the workpiece W at the teaching point TPC can be reduced.

[0139] In addition, the number of joints 801 that perform actions when moving from the teaching point TPB to the position AP is K or less than L, and the number of joints 801 that perform actions when the workpiece W moves from the position AP to the starting position HP is L.

[0140] According to the first embodiment, compared to a scheme where the number of joints 801 that move when workpiece W moves from position AP to starting position HP is less than L, the influence of backlash in joints 801 at starting position HP can be reduced. As a result, the positional offset of workpiece W at teaching point TPC can be reduced.

[0141] Furthermore, in the first embodiment, a control method can be defined for controlling a stereolithography printing apparatus 100 having a workpiece moving mechanism 800 and a head scanning mechanism 200 supporting a head 310 for ejecting ink from a workpiece W. This control method includes: a printing action B, in which, while the workpiece moving mechanism 800 stops the workpiece W at a teach point TPB, the head scanning mechanism 200 moves the head 310 relative to the workpiece W while ejecting ink from the head 310 onto the strip area BR_B of the workpiece W; a printing action C, in which, while the workpiece moving mechanism 800 stops the workpiece W at a teach point TPC, the head scanning mechanism 200 moves the head 310 relative to the workpiece W while ejecting ink from the head onto the strip area BR_C of the workpiece W; and a workpiece moving action, in which, between printing action B and printing action C, the workpiece W moves from the teach point TPB to the teach point TPC, and the workpiece W sequentially passes through position AP and starting position HP.

[0142] In the stereolithography printing apparatus 100, the workpiece W experiences a positional shift between printing action B and printing action C, resulting in uneven printing and white streaks. According to the first embodiment, the amount of positional shift at the teach point TPB and the teach point TPC can be suppressed, thus suppressing the generation of uneven printing and white streaks.

[0143] The band regions BR_B and BR_C have overlapping repeating regions DR_BC and TR.

[0144] In the repeating regions DR_BC and TR, if one or both of the band regions BR_B and BR_C are offset, white or black stripes are generated, resulting in a decrease in the quality of the image formed in the printing area Wa. Black stripes are dark stripes caused by the accidental overlap of adjacent band regions BR, resulting in repeated ink adhesion. Therefore, according to the first embodiment, the offset of one or both of the band regions BR_B and BR_C can be suppressed, thereby suppressing the generation of white or black stripes.

[0145] In addition, in the first embodiment, when the workpiece W moves to the teaching point TPB, the workpiece W moves to the teaching point TPB after passing through position AP and starting position HP in sequence. When the workpiece W moves to the teaching point TPC, the workpiece W moves to the teaching point TPC after passing through position AP and starting position HP in sequence.

[0146] In addition, in the first embodiment, it is also possible to specify that when the workpiece W moves to the teaching point TPB, the workpiece moving mechanism 800 supporting the workpiece W executes a program in which the workpiece W moves to the teaching point TPB after passing through position AP and starting position HP in sequence; and when the workpiece W moves to the teaching point TPC, the workpiece moving mechanism 800 supporting the workpiece W executes a program in which the workpiece W moves to the teaching point TPC after passing through position AP and starting position HP in sequence.

[0147] 2. Variations

[0148] The methods illustrated above can be varied in many ways. Specific variations are shown below. Two or more options that can be arbitrarily selected from the following examples can be appropriately combined within the bounds of non-contradiction.

[0149] 2-1. First Variation Example

[0150] Sometimes, an offset occurs between the coordinates of the teaching point TP input by the user Ue and the coordinates in the actual space. This offset occurs depending on the shape of the workpiece W and individual differences in the workpiece moving mechanism 800, and varies depending on the position within the movable range of the workpiece moving mechanism 800. Therefore, it is considered to measure the offset between the input coordinates of the teaching point TP and the coordinates in the actual space at one or more positions within the movable range of the workpiece moving mechanism 800. However, the user Ue sometimes does not have a device to measure the error as the amount of offset between the coordinates of the teaching point TP and the coordinates in the actual space. Therefore, in the first modified example, the motion capture device 900 provided by the robot manufacturer, which is the developer of the stereolithography printing apparatus 100A, is used to perform the generation process of the error-related correction calculation table HT, and the stereolithography printing apparatus 100A in the first modified example performs the correction process using the correction calculation table HT. The first modified example will be described below.

[0151] 2-1-1. Environment for performing generation processes

[0152] Figure 9 This is a diagram illustrating the configuration of an example of a measurement system 101 that performs the generation process. The measurement system 101 includes a controller 600, a workpiece movement mechanism 800, a computer 701, and a motion capture device 900. The measurement system 101 is used by the robot manufacturer Us of the stereolithography printing apparatus 100A in the first modified example.

[0153] Computer 701 is a PC used by robot manufacturer Us. Computer 701 has a storage circuit 710 and a processing circuit 720. The storage circuit 710 includes a semiconductor memory consisting of one or both of volatile memory such as RAM and non-volatile memory such as ROM, EEPROM, or PROM. Furthermore, some or all of the storage circuit 710 may also be included in the processing circuit 720. Additionally, the storage circuit 710 stores a correction calculation table HT generated by the generation process.

[0154] The motion capture device 900 is a device that records the movements of objects such as people, animals, or other objects using motion capture technology and outputs the three-dimensional coordinates of the objects. Motion capture technology includes optical methods that attach markers to the objects and output the three-dimensional coordinates of the objects by capturing images of the markers with multiple cameras, inertial sensors that attach inertial sensors including angular velocity sensors and accelerometers to the objects, and inertial sensor methods that output the three-dimensional coordinates of the objects based on the measurement results of the inertial sensors. In the first variation, the motion capture device 900 outputs the three-dimensional coordinates of the objects optically. The robot manufacturer Us attaches markers to the workpiece moving mechanism 800 before performing the generation process. Regarding the example of attaching markers to the workpiece moving mechanism 800, using... Figure 10 and Figure 11 Please provide an explanation.

[0155] Figure 10 and Figure 11 This diagram shows the state in which the markings are installed on the workpiece moving mechanism 800. Before performing the production process, the robot manufacturer Us installs fixture 910 on the XYZθ moving mechanism 810 and fixture 920 on the parallel linkage mechanism 850. Figure 10 The image shows the state in which the clamp 910 is installed on the XYZθ moving mechanism 810. Additionally, in... Figure 10 In order to avoid complicating the accompanying drawings, Figure 1 Similarly, the simplified shape of the parallel linkage mechanism 850 is shown. Furthermore, in Figure 10 The display of fixture 920 is omitted in the text. Figure 11 The image shows the state in which the clamp 920 is installed on the parallel linkage mechanism 850.

[0156] like Figure 10 As shown, the fixture 910 has a flat plate-shaped component 911 that is substantially parallel to the XY plane and four markings 912. An XYZθ moving mechanism 810 is mounted on the Z1-oriented surface 911S of the component 911.

[0157] like Figure 11As shown, the clamp 920 has a flat plate-shaped component 921 and four markings 922. The clamp 920 is fixed to the mounting surface SF of the parallel linkage mechanism 850. Furthermore, the clamp 920 is an example of a "support for measurement".

[0158] Return to the instructions Figure 9 Upon receiving a parsing instruction Sn from the computer 701, the motion capture device 900 captures images of the four markers 912 of the clamp 910 and the marker 922 of the clamp 920. Then, by parsing the captured images, the motion capture device 900 sends measurement information DI, showing the measured coordinate values ​​(x, y, z) of the center 910C of the four markers 912 and the coordinate values ​​(u, v, w) of the center 920C of the four markers 922, to the computer 701. That is, the measurement information DI has six values: (x, y, z, u, v, w).

[0159] Furthermore, the motion capture device 900 is an example of "a measuring device that measures the actual position of the measuring support when the robot moves the measuring support to the measuring point".

[0160] Figure 12 This is a flowchart illustrating an example of the generation process. Figure 12 The series of flowcharts shown are implemented by the processing circuit 720 reading the program stored in the storage circuit 710 and then executing the read program.

[0161] In step S210, the processing circuit 720 selects the unselected measurement track MT from a plurality of measurement tracks MT starting from the starting position HP. The storage circuit 710 stores measurement track information showing each of the plurality of measurement tracks MT. Figure 13 and Figure 14 The orbital MT used for measurement is explained.

[0162] Figure 13 This is a diagram showing the observation of multiple measurement orbits (MT) along the Z2 direction. Figure 13 The diagram shows the measurement tracks MT1 to MT8. Hereinafter, the measurement tracks MT1 to MT8 will sometimes be referred to simply as measurement track MT. Each of the eight measurement tracks MT8 is a track from the starting position HP to any one of the measurement points CP1 to CP8. Hereinafter, the measurement points CP1 to CP8 will sometimes be referred to simply as measurement point CP. Figure 14 This is a diagram showing the view of multiple measuring orbits (MT) along the Y1 direction. Figure 14 The diagram shows eight measurement orbitals, including MT1, MT3, MT5, and MT7, out of MT8. However, any measurement orbital MT only needs to be 1 or higher.

[0163] exist Figure 13 In the measurement, measurement point CP5 is located midway along measurement track MT1, measurement point CP6 is located midway along measurement track MT2, measurement point CP7 is located midway along measurement track MT3, and measurement point CP8 is located midway along measurement track MT4. Therefore, measurement track MT5 overlaps with measurement track MT1, measurement track MT6 overlaps with measurement track MT2, measurement track MT7 overlaps with measurement track MT3, and measurement track MT8 overlaps with measurement track MT4. Figure 13 For convenience, the measurement tracks MT5 to MT8 are displayed offset from their original positions.

[0164] Figure 13 and Figure 14 The measuring track MT shown is a track that allows the upper connector 8523 to be lowered from the starting position HP. When viewed from above, the measuring tracks MT1 to MT8 are separated from the starting position HP at 90-degree intervals.

[0165] Return to the instructions Figure 12 In step S220, the processing circuit 720 inputs the coordinate values ​​of the measurement point CP of the measurement track MT selected in step S210 to the controller 600, thereby moving the fixture 920 to the measurement point CP of the measurement track MT selected in step S210. In the following description, the coordinate values ​​input to the controller 600 are sometimes referred to as "indication values".

[0166] After the processing in step S220 is completed, in step S230, the processing circuit 720 sends the parsing instruction Sn to the motion capture device 900 and obtains the measurement information DI from the motion capture device 900, which specifies that the center 920C of the clamp 920 located at the measurement point CP has been measured. The coordinate values ​​input to the controller 600 are also the same as the measurement information DI, namely the coordinate values ​​(x, y, z) of the center 910C and the coordinate values ​​(u, v, w) of the center 920C. Hereinafter, for ease of understanding, the measurement values ​​(x, y, z, u, v, w) contained in the measurement information DI will sometimes be recorded as (x′, y′, z′, u′, v′, w′).

[0167] After the processing in step S230 is completed, the processing circuit 720 determines in step S240 whether all measurement tracks MT have been selected. If the determination result in step S240 is negative, the processing circuit 720 moves the fixture 920 in step S250 by sequentially passing through position AP and starting position HP. After the processing in step S240 is completed, the processing circuit 720 returns the processing to step S210.

[0168] If the determination result in step S240 is positive, in step S260, the processing circuit 720 generates a correction calculation table HT based on the indication value input through the processing in step S220, the measurement value obtained through the processing in step S230, and the track information for measurement. After the processing in step S260 is completed, the processing circuit 720 will... Figure 12 The series of processes shown has ended. (Use...) Figure 15 The correction calculation is explained using table HT.

[0169] Figure 15 This is a diagram illustrating an example of the contents of the calibration calculation table HT. The calibration calculation table HT has a record RC for each measurement point CP. This record RC contains the indicated value, the measured value, the error subtracted from the indicated value from the measured value, and measurement track information showing the measurement track MT. Figure 15 In the example, the correction calculation table HT has the same characteristics as... Figure 13 and Figure 14 The measurement points CP1 to CP8 shown correspond to the records RC1 to RC8. Furthermore, Figure 15 The calibration calculation table HT shown has a record RC0 corresponding to the starting position HP.

[0170] In step S260, the processing circuit 720 generates a record RC for each measurement point CP, which includes the indicated value (x, y, z, u, v, w), the measured value (x′, y′, z′, u′, v′, w′), the error (x′-x, y′-y, z′-z, u′-u, v′-v, w′-w), and the measurement track information (MT) showing the measurement track from the starting position HP to the measurement point CP.

[0171] Furthermore, the calibration calculation table HT is an example of "error information" related to the error between the actual position of the workpiece W and the indicated value of the teaching point TP when the workpiece moving mechanism 800 moves the workpiece W to the teaching point TP.

[0172] Furthermore, if the measurement track MT from the starting position HP to each measurement point CP can be uniquely determined, the calibration calculation table HT may not contain measurement track information. Additionally, the calibration calculation table HT contains indicated values, measured values, and errors, but it may also contain only two of these: indicated values, measured values, and errors.

[0173] 2-1-2. Regarding the environment for performing the calibration process

[0174] Figure 16 This is a block diagram showing the electrical configuration of the three-dimensional printing apparatus 100A according to the first modified example. Figure 16To avoid complicating the accompanying drawings, the structure of the control module 500 is shown in a simplified form. The stereolithography printing apparatus 100A differs from the stereolithography printing apparatus 100 in that it includes a computer 700A instead of a computer 700A. The computer 700A includes a storage circuit 710A and a processing circuit 720A.

[0175] The storage circuit 710A stores various programs executed by the processing circuit 720A, various data processed by the processing circuit 720A, and a calibration calculation table HT. The storage circuit 710A may include, for example, a semiconductor memory comprising one or both of volatile memory such as RAM and non-volatile memory such as ROM, EEPROM, or PROM. Furthermore, part or all of the storage circuit 710A may be included in the processing circuit 720A. For example, when the computer 700A is connected to a web server managed by the robot manufacturer Us, the calibration calculation table HT is downloaded from the web server and stored in the storage circuit 710A.

[0176] The processing circuit 720A includes, for example, one or more processors such as a CPU. Furthermore, the processing circuit 720A can replace the CPU or incorporate programmable logic devices such as an FPGA based on the CPU.

[0177] Figure 17 This is a flowchart illustrating the process of the three-dimensional printing method involved in the first modified example. Figure 17 The flowchart shown is similar to the point that step S190 is executed after step S100. Figure 5 The flowchart shown is different. The following only explains the differences. Figure 5 The differences are shown in the flowchart.

[0178] After the processing in step S100 is completed, the processing circuit 720A performs a correction process in step S190. Figure 18 The correction process is explained.

[0179] Figure 18 This is a flowchart illustrating the correction process. The correction process corrects the movement of the workpiece moving mechanism 800, which moves the workpiece W to the teaching point TP, based on the indicated value of the teaching point TP and the correction calculation table HT. For simplicity, this is explained assuming one teaching point TP is displayed in the teaching point information Da. If multiple teaching points TP are displayed in the teaching point information Da, the processing circuit 720A executes the process for each teaching point TP. Figure 18 The series of processes shown.

[0180] In step S310, the processing circuit 720A determines whether a measurement point CP at the same position as the teaching point TP is registered in the calibration calculation table HT. If the determination result in step S310 is positive, the processing circuit 720A uses the error of the measurement point CP found in step S310 to correct the teaching point information Da so that the error at the teaching point TP is canceled out. For example, if the processing circuit 720A uses the indication value of the teaching point TP to make the posture of the workpiece W 90 degrees, and the measurement value of the teaching point TP is 91 degrees, the processing circuit 720A uses the error of the measurement point CP to correct the indication value of the teaching point TP in the teaching point information Da so that the indication value of the teaching point TP becomes 89 degrees in order to set the posture of the workpiece W to 90 degrees.

[0181] On the other hand, if the determination result in step S310 is negative, the processing circuit 720A, in step S330, determines whether there is a measurement track MT from the starting position HP to each measurement point CP that overlaps with the track from the starting position HP to the teaching point TP. If the determination result in step S330 is positive, the processing circuit 720A, in step S340, uses the error of the measurement point CP corresponding to the measurement track MT found in step S310 to correct the teaching point information Da. Figure 19 Specific correction examples based on the processing in step S340 will be described later.

[0182] If the determination result in step S330 is negative, in step S350, the processing circuit 720A uses the error of the measurement point CP, which is closer to the teaching point TP, to correct the teaching point information Da. Figure 19 Specific correction examples based on the processing in step S350 will be described later.

[0183] After any of the processing steps S320, S340, and S350 is completed, the processing circuit 720A will... Figure 18 The series of processes shown has ended. (Use...) Figure 19 The processing of steps S340 and S350 will be explained.

[0184] Figure 19 This diagram illustrates the processes in step S340 and step S350. Figure 19 In Figure 13 The diagram further illustrates the teach point TPD and teach point TPE. The teach point information Da contains the indication values ​​of the teach point TPD and the teach point TPE. Furthermore, in Figure 19 In order to avoid complicating the accompanying drawings, some of the measurement track MT has been omitted.

[0185] In step S330, the processing circuit 720A determines that the teaching point TPD has two measurement tracks MT1 and MT5 that overlap with the track PTHD from the starting position HP to the teaching point TPD. Specifically, for example, from... Figure 19 It is understandable that the teaching point TPD and the measurement point CP5 are located on the measurement track MT1. Therefore, the processing circuit 720A corrects the teaching point information Da based on the recording RC1 of the measurement point CP1 corresponding to the measurement track MT1 and the recording RC5 of the measurement point CP5 corresponding to the measurement track MT5, or both of them, and the indication value of the teaching point TPD. For example, the processing circuit 720A estimates the error of the teaching point TPD based on the recording RC1 and the indication value of the teaching point TPD. After estimating the error of the teaching point TPD, the processing circuit 720A, similar to the processing in step S320, adds or subtracts the estimated error of the teaching point TPD from the indication value of the teaching point TPD, thereby correcting the teaching point information Da. As an example of estimating the error of the teaching point TPD, for the sake of simplicity, when the error between the indication value and the measurement value of the starting position HP is 0, the processing circuit 720A calculates the error at the teaching point TPD according to linear interpolation, specifically according to the following formula (1).

[0186] Error of teaching point TPD = Error of measurement point CP1 × (Length of track PTHD) / (Length of measurement track MT1) (1)

[0187] In the scheme of estimating the error of the teaching point TPD based on the recorded RC5 and the indicated value of the teaching point TPD, the processing circuit 720A only needs to replace the measurement point CP1 in equation (1) with the measurement point CP5. Similarly, in the scheme of estimating the error of the teaching point TPD based on the recorded RC1, recorded RC5, and the indicated value of the teaching point TPD, the processing circuit 720A only needs to estimate the error of the teaching point TPD through linear interpolation between the two points.

[0188] In addition, Figure 19In this context, when the teaching point TPD is equivalent to the "first teaching point," the measurement point CP1 is equivalent to the "first measurement point," the measurement track MT1 is equivalent to the "first track from the first point toward the first measurement point," and the record RC1 is equivalent to "first information showing the relationship between the input coordinate value (i.e., the indication value of the first measurement point) when the measurement support is moved from the first point to the first measurement point, and the measurement value of the first measurement point, which was used to measure the actual position of the measurement support when the robot moves the measurement support to the first measurement point." Furthermore, the measurement point CP5 is equivalent to the "second measurement point," and the record RC5 is equivalent to "second information showing the relationship between the input coordinate value (i.e., the indication value of the second measurement point) when the measurement support is moved from the first point to the second measurement point, and the measurement value of the second measurement point, which was used to measure the actual position of the measurement support when the robot moves the measurement support to the second measurement point."

[0189] Regarding the teaching point TPE, in step S330, the processing circuit 720A determines that there is no track in each measurement track MT that overlaps with the track PTHE from the starting position HP to the teaching point TPE. Therefore, in step S350, the processing circuit 720A uses the record RC of the measurement point CP closest to the teaching point TPE to correct the teaching point information Da. (The last sentence appears to be incomplete and possibly refers to a different process.) Figure 19 As can be understood, among the measurement points CP1 to CP8, the measurement point CP closest to the teaching point TPE is measurement point CP2. Therefore, the processing circuit 720A corrects the teaching point information Da based on the recorded RC2 of measurement point CP2 and the indicated value of the teaching point TPE. Specifically, the processing circuit 720A only needs to replace measurement point CP1 in equation (1) with measurement point CP2 to estimate the error of the teaching point TPE.

[0190] In addition, Figure 19 In this context, when the teaching point TPE is equivalent to the "first teaching point", the measurement point CP2 is equivalent to the "first measurement point", the measurement track MT2 is equivalent to the "first track from the first point toward the first measurement point", and the record RC2 is equivalent to the "first information". Additionally, any measurement point CP among measurement points CP1, CP3 to 8 is equivalent to the "second measurement point", and the record RC corresponding to that arbitrary measurement point CP is equivalent to the "second information".

[0191] Furthermore, while the above describes a processing circuit 720A that corrects the teaching point information Da based on the recorded RC value of the measurement point CP closest to the teaching point TPE among measurement points CP1 to CP8, and the indication value of the teaching point TPE, it is not limited to this. For example, the processing circuit 720A may also correct the teaching point information Da based on the recorded RC values ​​of multiple measurement points CP1 to CP8 that are close to the teaching point TPE, and the indication values ​​of the teaching points TPE. Figure 19 In the example, the processing circuit 720A can also correct the teaching point information Da based on the recorded RC values ​​of the measurement points CP1, CP2, CP5 and CP6, which are located near the teaching point TPE, among the measurement points CP1 to CP8.

[0192] Return to the instructions Figure 17 After the processing in step S190 is completed, in step S110, the computer 700A generates workpiece trajectory information Db based on the teaching point information Da of the teaching points TPA, TPB, and TPC, and generates head trajectory information Dc based on the workpiece information and the workpiece trajectory information Db. The teaching point information Da at the time point of step S110 is a value corrected by the correction process, so the workpiece movement in each of steps S120, S140, and S160 is corrected. However, the method for correcting the workpiece movement is not limited to this. For example, the processing circuit 720A of the computer 700A may not execute step S110 after step S100, and in the processing of each of steps S120, S140, and S160, control the head scanning mechanism 200 to reduce the amount of error in the movement of the workpiece W from the teaching point TP. More specifically, the processing circuit 720A may also use... Figure 18 As part of a series of processes shown, the error of the estimated teaching point TPA is determined, and the head scanning mechanism 200 is controlled to cancel out the error of the estimated teaching point TPA.

[0193] 2-1-3. Summary of the First Variation

[0194] The control method in the first variation is to correct the workpiece movement action of the head scanning mechanism 200 moving the workpiece W to the teaching point TP based on the coordinate value input when the workpiece W moves from the starting position HP to the teaching point TP, i.e., the indicated value of the teaching point TP, and the error information related to the error between the actual position of the workpiece W and the indicated value of the teaching point TP when the head scanning mechanism 200 moves the support to the teaching point TP, i.e., the correction calculation table HT.

[0195] As mentioned above, an error sometimes occurs between the indicated value of the teaching point TP and the actual position. According to the first variation, by correcting this error, the positional offset of the workpiece W at the teaching point TP can be reduced.

[0196] In addition, the calibration calculation table HT includes a record RC1, which shows the relationship between the input coordinate value (i.e., the indicated value of the measurement point CP1) when the clamp 920 is moved from the starting position HP to the measurement point CP1, and the error of the measured value of the measurement point CP1 when the actual position of the clamp 920 is measured when the head scanning mechanism 200 moves the clamp 920 to the measurement point CP1.

[0197] According to the first variation, the error between the indicated value of the teaching point TP and its actual position can be corrected based on the calibration calculation table HT. Furthermore, the calibration calculation table HT is not limited to the error at the measurement point CP when moving from the starting position HP to the measurement point CP. That is, the number of measurement tracks MT included in the calibration calculation table HT is not limited. Therefore, according to the first variation, compared to the case where the calibration calculation table HT displays measurement track information showing an infinite number of measurement tracks MT, the number of measurement track information contained in the calibration calculation table HT is limited, thus reducing the data volume of the calibration calculation table HT.

[0198] Additionally, when using Figure 19 When the teaching point TPD is shown, the calibration calculation table HT includes records RC1 and RC5. When the measuring track MT1, which moves from the starting position HP towards the measuring point CP1, is set as the first track, and the teaching point TPD and the measuring point CP5 are located on the first track, the head scanning mechanism 200 corrects the movement of the workpiece W to the teaching point TPD based on the information from one or both of records RC1 and RC5 and the indication value of the teaching point TPD.

[0199] Depending on the shape of the workpiece W and the user's expectations, the teaching point TP sometimes does not align with the measurement point CP. According to the first variation, even when the teaching point TP and the measurement point CP do not align, the positional offset at the teaching point TP can be corrected. Furthermore, when there is a portion shared with two tracks, compared to the case where there is no shared portion, it can be said that the difference in backlash at the endpoints of the two tracks tends to decrease. Moreover, the first track and the measurement track MT5 from the starting position HP towards the measurement point CP5 have a portion shared with the track PTHD from the starting position HP towards the teaching point TPD. Therefore, according to the first variation, compared to a scheme using a recording RC at the endpoint of the track from the starting position HP to the teaching point TPD, i.e., the measurement point CP, which does not have a portion shared with the track from the starting position HP to the teaching point TPD, the positional offset of the workpiece W at the teaching point TP can be reduced.

[0200] Additionally, using Figure 19When the teaching point TPE is shown, and the "first measurement point" is measurement point CP2, the "second measurement point" is measurement point CP6, and the measurement track MT2 from the starting position HP toward measurement point CP2 is set as the "first track", if the teaching point TPE and measurement point CP6 are not located on the first track, the measurement point CP which is closer to the teaching point TPE is determined between measurement point CP2 and measurement point CP6. If it is determined that measurement point CP2 is closer to the teaching point TPE than measurement point CP6, the head scanning mechanism 200 corrects the workpiece movement action of moving the workpiece W to the teaching point TPE based on the recorded indication values ​​of RC2 and the teaching point TPE.

[0201] It can be said that the error of the measuring point CP, which is closer to the teaching point TPE, is closer to the error of the teaching point TPE than the error of the measuring point CP, which is farther from the teaching point TP. Therefore, according to the first variation, compared with the scheme of using the recording RC of the measuring point CP, which is farther from the teaching point TP, the positional offset of the workpiece W at the teaching point TP can be reduced.

[0202] In addition, based on the measurement results of the motion capture device 900, which measures the actual position of the clamp 920 when the head scanning mechanism 200 moves the clamp 920 to the measurement point CP, and the indication value of the measurement point CP, a record RC corresponding to the measurement point CP in the calibration calculation table HT is generated.

[0203] 2-2. Second variation example

[0204] In the first variation, it was explained that an offset occurred between the indicated value of the teaching point TP input by the user Ue and the coordinate value in actual space. This offset sometimes also occurs due to the weight of the workpiece W. Therefore, in the second variation, the workpiece movement action of the head scanning mechanism 200 to move the workpiece W to the teaching point TPE is corrected according to the weight of the workpiece W.

[0205] In the generation process of the second modification, the measurement system 101 of the second modification performs the generation process for each of the plurality of clamps 920 with different weights, generating a correction calculation table HT corresponding to each of the plurality of clamps 920, and storing it in the storage circuit 710 in correspondence with the weight value of the clamp 920. Regarding the correction process in the second modification, using... Figure 20 Please provide an explanation.

[0206] Figure 20 This is a flowchart illustrating the correction process in the second variation. Figure 20 The flowchart shown differs from the previous one in that it performs the process of step S310B instead of step S310, and that it performs the processes of steps S380 and S390 before step S310B. Figure 18 The flowchart shown is different. The following only explains the differences. Figure 18The differences are shown in the flowchart.

[0207] In step S380, the processing circuit 720A acquires a weight value indicating the weight of the workpiece W. As a method for acquiring the weight value, for example, the workpiece moving mechanism 800 in the second variation has a weighing scale, from which the processing circuit 720A can acquire the weight value, or by inputting a weight value using the user Ue.

[0208] After the processing in step S380 is completed, in step S390, the processing circuit 720A selects a correction calculation table HT from multiple correction calculation tables HT that corresponds to the weight value obtained in step S380. Specifically, the processing circuit 720A selects the correction calculation table HT corresponding to the weight value closest to the weight value obtained in step S380. After the processing in step S390 is completed, in step S310B, the processing circuit 720A determines whether the correction calculation table HT selected in step S390 has a measurement point CP at the same location as the teaching point TP. Subsequently, in the series of processes from steps S320 to S350, the processing circuit 720A also uses the records RC of the correction calculation table HT selected in step S390 for processing.

[0209] The control method in the second variation is based on the weight value of the workpiece W, the indication value of the teaching point TP, and the calibration calculation table HT, to correct the workpiece movement action of the workpiece moving mechanism 800 to move the workpiece W to the teaching point TP.

[0210] As described above, depending on the weight of the workpiece W, a deviation may sometimes occur between the indicated value of the teaching point TP and the coordinate value in actual space. Specifically, as the weight of the workpiece W increases, the forces involved in the multiple joints 801 of the workpiece moving mechanism 800 change, which may result in positional offset. According to the second variation, since the weight of the workpiece W is taken into account as a correction parameter, it is possible to reduce the positional offset of the workpiece W caused by the difference in the weight of the workpiece W.

[0211] 2-3. Third variation example

[0212] In both the first and second modifications, the number of markings installed on the workpiece moving mechanism 800 is not limited to eight. For example, in the first modification, a clamp 920 with four markings 922 is installed on the parallel linkage mechanism 850. For example, the clamp 920 may also have four markings in the height direction.

[0213] 2-4. Fourth variation example

[0214] In the above-described embodiments, the workpiece moving mechanism 800 is controlled to move the workpiece W to the teaching point TP after sequentially passing position AP and starting position HP, but this is not a limitation. The workpiece moving mechanism 800 can also be controlled to move the workpiece W to the teaching point TP after passing the starting position HP. The fourth variation will be described below.

[0215] Figure 21 and Figure 22 This diagram illustrates the workpiece movement in the fourth variation. Figure 21 The diagram illustrates the workpiece movement from teach point TPA towards teach point TPB. Figure 22 The diagram shows the workpiece movement from the teach point TPB towards the teach point TPC.

[0216] In the case of moving from teaching point TPA to teaching point TPB, such as Figure 21 As shown, the workpiece moving mechanism 800 moves the workpiece W in the order of track PTAH and track PTHB. Track PTAH is the track from the teach point TPA to the starting position HP. Additionally, in the case of moving from the teach point TPB towards the teach point TPC, as... Figure 22 As shown, the workpiece moving mechanism 800 moves the workpiece W in the order of track PTBH and track PTHC. Track PTBH is the track from the teach point TPB to the starting position HP.

[0217] The control method in the fourth variation is that when the workpiece W is moved to the teaching point TPB, the workpiece W moves to the teaching point TPB after passing the starting position HP; when the workpiece W is moved to the teaching point TPC, the workpiece W moves to the teaching point TPC after passing the starting position HP.

[0218] According to the fourth variation, compared to the scheme of moving from an arbitrary position to the teaching point TP, by moving from the starting position HP to the teaching point TP, the positional offset at the teaching point TP can be reduced, or the deviation of the error when moving the workpiece W to the teaching point TP can be reduced.

[0219] 2-5. Fifth variation

[0220] In the above embodiments, the workpiece moving mechanism 800 with the parallel linkage mechanism 850 moves the workpiece W while supporting it, but is not limited to this. The parallel linkage mechanism 850 has a base member 851, six linear joints 801-5 to 10 within the linkage, and an output linkage member 854, but the shapes of the base member 851, the linear joints 801 within the linkage, and the output linkage member 854 are arbitrary. The parallel linkage mechanism 850 is illustrated in the above embodiments as a 6-degree-of-freedom configuration, but it can also be configured as a 2-degree-of-freedom mechanism that allows free rotation about the Z-axis in the direction in which the mounting surface SF faces.

[0221] Alternatively, for example, the stereolithography printing apparatus 100 may replace the workpiece moving mechanism 800 with a vertical multi-joint robot that moves the workpiece W while supporting it. For example, the stereolithography printing apparatus 100 may have a 6-axis vertical multi-joint robot. The more joints the vertical multi-joint robot has, the greater the offset of the teach point TP becomes. Therefore, the control method of this embodiment can appropriately reduce the amount of position offset.

[0222] 2-6. Sixth Variation

[0223] In the above schemes, the band regions BR_B and BR_C have overlapping repeating regions DR_BC and TR, but they may also not have repeating regions.

[0224] 2-7. Seventh Variation

[0225] In the above embodiments, the head scanning mechanism 200 can also be a linear motion mechanism, which has: a carriage that can move in the main scanning direction perpendicular to the Z-axis; and a linear motion mechanism mounted on the carriage that can move in the direction along the Z-axis. The head 310 is mounted on the front end of the linear motion mechanism of the linear motion mechanism facing the Z2 direction.

[0226] 2-8. Eighth Variation

[0227] The application of the stereolithography printing apparatus of the present invention is not limited to printing. For example, the stereolithography printing apparatus for spraying a solution of pigment is used as a manufacturing apparatus for forming color filters for liquid crystal display devices. In addition, the stereolithography printing apparatus for spraying a solution of conductive material is used as a manufacturing apparatus for forming wiring or electrodes for wiring substrates. Furthermore, the stereolithography printing apparatus can also be used as a spray dispenser for applying liquids such as adhesives to a workpiece W.

[0228] 2-9. Ninth Variation Example

[0229] This disclosure applies to, but is not limited to, a stereolithography apparatus 100 having a head scanning mechanism 200 that supports a head 310 for ejecting ink from a workpiece W. For example, this disclosure can also be applied to a processing apparatus having an end effector equipped with a drill bit for drilling holes in the workpiece W and a motor for rotating the drill bit. Furthermore, this disclosure can also be applied, for example, to apparatuses requiring precise positioning of the workpiece W, such as those for machining, painting, assembly, and disassembly.

[0230] 2-10. Tenth Variation Example

[0231] This disclosure also allows the computer 700 or controller 600 described above to be understood as a computer program configured to execute the above flowchart or a computer-readable recording medium containing such computer program. The recording medium may be a non-transitor recording medium, and in addition to optical recording media such as CD-ROMs, it may include any known recording medium such as semiconductor recording media or magnetic recording media.

Claims

1. A control method, characterized in that, It is a control method for enabling the movement of robots that support supports and have multiple joints. When the support is moved to the first teaching point, the support moves to the first teaching point after passing the first point. When the support is moved to the second teaching point, the support moves to the second teaching point after passing the first point.

2. The control method according to claim 1, characterized in that, When the support is moved to the first teaching point, it moves to the first teaching point after the support has passed the second point and the first point in sequence. When the support is moved to the second teaching point, the support moves to the second teaching point after passing the second point and the first point in sequence.

3. The control method according to claim 2, characterized in that, The robot has two or more L joints as the plurality of joints. The number of joints that move when the support of the L joints moves from the first point to the first teaching point is M or less than L. The number of joints that move when the support of the L joints moves from the second point to the first point is N, which is more than M and less than L.

4. The control method according to claim 2, characterized in that, The robot has two or more L joints as the plurality of joints. The number of joints that move when the support of the L joints moves from the first teaching point to the second point is K or less than L. The number of joints that move when the support of the L joints moves from the second point to the first point is J, which is more than K and less than L.

5. The control method according to claim 3, characterized in that, The number of joints among the L joints that perform an action when the support moves from the first teaching point to the second point is K or less than L. The number of joints in the L joints that perform an action when the support moves from the second point to the first point is L.

6. The control method according to any one of claims 1 to 5, characterized in that, The robot's movement action of moving the support to the first teaching point is corrected based on the coordinate value input when the support is moved from the first point to the first teaching point, i.e., the indication value of the first teaching point, and error information related to the error between the actual position of the support and the indication value of the first teaching point when the robot moves the support to the first teaching point.

7. The control method according to claim 6, characterized in that, The movement is corrected based on the weight value of the support, the indication value of the first teaching point, and the error information.

8. The control method according to claim 6, characterized in that, The error information includes first information, which shows the relationship between the coordinate value input when the measuring support is moved from the first point to the first measuring point, i.e., the indicated value of the first measuring point, and the error of the measured value of the first measuring point when the actual position of the measuring support is measured when the robot moves the measuring support to the first measuring point.

9. The control method according to claim 8, characterized in that, The error information also includes second information, which shows the relationship between the coordinate value input when the measuring support is moved from the first point to the second measuring point (i.e., the indicated value of the second measuring point) and the measured value of the second measuring point, which was used to measure the actual position of the measuring support when the robot moves the measuring support to the second measuring point. When the track from the first point to the first measuring point is set as the first track... When the first teaching point and the second measurement point are located on the first track, the movement is corrected based on information from one or both of the first and second information and the indication value of the first teaching point.

10. The control method according to claim 9, characterized in that, If neither the first teaching point nor the second measurement point is located on the first track, determine the measurement point that is closer to the first teaching point. If it is determined that the first measurement point is closer to the first teaching point than the second measurement point, the movement is corrected based on the first information and the indication value of the first teaching point.

11. The control method according to claim 8, characterized in that, The first information is generated based on the measurement results of the measuring device that measures the actual position of the measuring support when the robot moves the measuring support to the first measuring point, and the indication value of the first measuring point.

12. A control method, characterized in that, A control method for controlling a stereolithography printing apparatus having a robot as described in any one of claims 2 to 5 and a head scanning mechanism supporting a head that ejects liquid from the support, the control method comprising: In the first printing action, with the robot stopping the support at the first teaching point, liquid is sprayed from the head onto a first region of the support, and the head scanning mechanism moves the head relative to the support. The second printing action involves, with the robot stopping the support at the second teach point, spraying liquid from the head onto a second region of the support, and the head scanning mechanism moving the head relative to the support; and In the case where the support is moved from the first teaching point to the second teaching point between the first printing action and the second printing action, the support passes through the second point and the first point in sequence.

13. The control method according to claim 12, characterized in that, It has overlapping regions where the first region and the second region overlap.

14. A program product, characterized in that, To make the robot supporting the support perform the following actions: When the support moves to the first teaching point, the support moves to the first teaching point after passing the second point and the first point in sequence; as well as When the support moves to the second teaching point, the support moves to the second teaching point after passing the second point and the first point in sequence.

Citation Information

Patent Citations

  • Three-dimensional object printing apparatus

    JP2022127793A