Methods for printing 3D objects and teaching methods for robotic arms
By using a combination of a head unit and a six-axis robotic arm in the 3D printing method, the problem of printing adaptability in smooth and uneven areas in 3D printing is solved by controlling the change of the ejection angle, thus achieving high-quality printing results.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SEIKO EPSON CORP
- Filing Date
- 2022-08-22
- Publication Date
- 2026-05-26
AI Technical Summary
Existing technologies struggle to achieve high-quality printing on workpiece surfaces when using robotic arms for 3D printing, particularly due to insufficient adaptability to smooth areas and areas with varying elevations.
The head unit has a spray surface with multiple nozzles, combined with the six-axis vertical multi-joint structure of the robotic arm. The liquid is sprayed in the smooth area and the area with height difference through the first and second printing actions, respectively, and the amount of change in the spray angle is controlled to adapt to the shape changes of the workpiece surface.
It enables high-quality printing on the surface of three-dimensional workpieces, adapting to smooth and uneven areas on the workpiece surface, thus improving printing quality and accuracy.
Smart Images

Figure CN115923365B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a method for printing three-dimensional objects and a method for teaching a robotic arm. Background Technology
[0002] A method for printing three-dimensional objects using a robotic arm and inkjet printing is known. For example, the system described in Patent Document 1 has a robotic arm and a print head disposed on the robotic arm, and sprays ink droplets from the print head toward the curved surface of the object.
[0003] Patent Document 1 discloses a method comprising the steps of measuring a region of an object surface in three dimensions, generating a set of spatial points corresponding to the region, creating a three-dimensional mesh corresponding to the region, and creating a three-dimensional path for moving a robotic arm.
[0004] Patent document 1 does not disclose the specific method for creating the three-dimensional path. In using a robotic arm to perform high-quality printing on the surface of a workpiece, it is desirable to achieve appropriate robotic arm movements that correspond to the shape of the workpiece.
[0005] Patent Document 1: Japanese Patent Publication No. 2015-520011 Summary of the Invention
[0006] To address the above-mentioned issues, one aspect of the three-dimensional printing method disclosed herein utilizes the following components: a head having an ejection surface with a plurality of nozzles for ejecting liquid; and a robotic arm that changes the relative position and orientation of the head relative to the three-dimensional workpiece. In the three-dimensional printing method, the surface of the workpiece has smooth regions and uneven regions, the uneven regions being adjacent to and containing the unevenness of the smooth regions. The three-dimensional printing method includes a first printing action and a second printing action, wherein the first printing action involves executing the flow of liquid from the head to the workpiece during the period during which the relative position and orientation of the head and the workpiece change. The second printing action is an action of spraying liquid from the head to the elevation difference area, performed before or after the first printing action, during the period when the relative position and posture of the head and the workpiece change. When the normal of the spraying surface is set as the first normal, the normal at the intersection of the workpiece surface and the first normal is set as the second normal, and the angle formed by the first normal and the second normal is set as the spraying angle, the change in the spraying angle during the execution of the second printing action is larger than the change in the spraying angle during the execution of the first printing action.
[0007] One aspect of the robotic arm teaching method disclosed herein is a method for teaching a robotic arm in which the relative position and orientation of a liquid-ejecting head and a three-dimensional workpiece change based on printing path information. The workpiece surface has a smooth region and a height difference region, the height difference region being adjacent to and containing a height difference with the smooth region. The robotic arm teaching method includes: a first step of acquiring three-dimensional data representing the shape of the workpiece using multiple polygons; a second step of specifying multiple through polygons that correspond to the region to be scanned by the head; a third step of setting the position and orientation of multiple smooth teaching points (which are teaching points on the smooth region) based on multiple smooth through polygons that correspond to the smooth region; a fourth step of setting one or both of the position and orientation of multiple height difference teaching points (which are teaching points on the height difference region) based on either the multiple smooth through polygons or the multiple smooth teaching points; and a fifth step of generating the printing path information based on the multiple smooth teaching points and the multiple height difference teaching points. Attached Figure Description
[0008] Figure 1 This is a perspective view showing the outline of the three-dimensional printing apparatus used in the three-dimensional printing method according to the first embodiment.
[0009] Figure 2 This is a block diagram illustrating the electrical structure of the three-dimensional printing apparatus used in the three-dimensional printing method according to the first embodiment.
[0010] Figure 3 A three-dimensional diagram showing the outline structure of the head unit.
[0011] Figure 4 This diagram illustrates an example of the printing motion of a robotic arm.
[0012] Figure 5 This diagram illustrates the smooth areas and elevation differences of a workpiece.
[0013] Figure 6 This is a diagram used to illustrate the three-dimensional printing method according to the first embodiment.
[0014] Figure 7 This is a diagram used to illustrate the movement path of the head in the reference example.
[0015] Figure 8 This is a diagram used to illustrate the movement path of the head in the first embodiment.
[0016] Figure 9This is a flowchart illustrating the teaching method of the robotic arm according to the first embodiment.
[0017] Figure 10 This is a diagram used to illustrate the acquisition of three-dimensional data in the first step.
[0018] Figure 11 This is a diagram used to illustrate the imaginary plane used in the specific process of the polygon in the second step.
[0019] Figure 12 This is a diagram used to illustrate the specific aspects of the polygon in the second step.
[0020] Figure 13 This diagram illustrates the setting of the position and attitude of multiple teaching points.
[0021] Figure 14 This diagram illustrates the setting of multiple smooth teaching points in the third step.
[0022] Figure 15 This diagram illustrates the setting of multiple elevation difference teaching points in the fourth step.
[0023] Figure 16 This diagram illustrates the setting of multiple elevation difference teaching points in the fourth step of the second embodiment. Detailed Implementation
[0024] Hereinafter, preferred embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be noted that the dimensions and scales of the various parts in the drawings differ appropriately from actual dimensions, and some parts are shown schematically for ease of understanding. Furthermore, unless otherwise specifically limited in its description, the scope of the present disclosure is not limited to these embodiments.
[0025] For ease of explanation, the following description appropriately uses intersecting X-axis, Y-axis, and Z-axis. Furthermore, in the following description, one direction along the X-axis is the X1 direction, and the direction opposite to the X1 direction is the X2 direction. Similarly, the opposite directions along the Y-axis are the Y1 and Y2 directions. Additionally, the opposite directions along the Z-axis are the Z1 and Z2 directions.
[0026] Here, the X, Y, and Z axes correspond to the coordinate axes of a universal coordinate system established within the space in which the robotic arm 2, described later, is located. Typically, the Z-axis is a vertical axis, and the Z2 direction corresponds to the downward direction in the vertical direction. A reference coordinate system based on the position of the base 210 of the robotic arm 2, described later, is established to correspond with this universal coordinate system through calibration. In the following text, for ease of explanation, an example is given of using the universal coordinate system as the robotic arm coordinate system to control the movement of the robotic arm 2.
[0027] Additionally, the Z-axis does not have to be a vertical axis. Furthermore, although the X, Y, and Z axes are typically orthogonal, this is not a limitation, and there are cases where they are not orthogonal. For example, the X, Y, and Z axes only need to intersect each other at an angle between 80° and 100°.
[0028] 1. First Implementation Method
[0029] 1-1. Overview of a 3D printing apparatus
[0030] Figure 1 This is a perspective view showing an outline of the three-dimensional printing apparatus 1 used in the three-dimensional printing method according to the first embodiment. The three-dimensional printing apparatus 1 is an apparatus that performs printing on the surface of a three-dimensional workpiece W by inkjet printing.
[0031] The workpiece W has a surface WF that becomes the object of printing. Figure 1 In the example shown, surface WF is a convex surface with multiple parts having different curvatures. Although in Figure 1 Not illustrated, but as described in detail later, surface WF has areas containing elevation differences. During printing, the workpiece W is supported as needed, for example by a predetermined mounting platform, robotic gripper, or conveyor belt. Alternatively, the surface to be printed can be any of the multiple surfaces of the workpiece W other than surface WF. Furthermore, the size, shape, or mounting orientation of the workpiece W is not limited to… Figure 1 The example shown is not for any size, shape, or orientation.
[0032] like Figure 1 As shown, the three-dimensional printing apparatus 1 includes a robotic arm 2, a head unit 3, a controller 5, a piping unit 10, and a wiring unit 11. These components will be briefly described in turn below.
[0033] Robotic arm 2 is the robotic arm that changes the position and orientation of head unit 3 in the general coordinate system. Figure 1 In the example shown, robotic arm 2 is a so-called six-axis vertical multi-joint robotic arm.
[0034] like Figure 1As shown, the robotic arm 2 has a base 210 and an arm 220.
[0035] The base 210 is a platform that supports the arm 220. Figure 1 In the example shown, the base 210 is fixed to a mounting surface such as a floor surface or a base facing the Z1 direction by means of threaded fastening or the like. Furthermore, the mounting surface to which the base 210 is fixed can be a surface facing any direction, and is not limited to any particular direction. Figure 1 The example shown can also be a surface such as a wall, ceiling, or movable flatbed truck.
[0036] Arm 220 is a six-axis robotic arm having a base end mounted on base 210 and a tip that allows its position and orientation to change three-dimensionally relative to the base end. Specifically, arm 220 has arms 221, 222, 223, 224, 225 and 226, also referred to as links, which are connected in this order.
[0037] Arm 221 is connected to base 210 via joint 230_1, allowing it to rotate about rotation axis O1. Arm 222 is connected to arm 221 via joint 230_2, allowing it to rotate about rotation axis O2. Arm 223 is connected to arm 222 via joint 230_3, allowing it to rotate about rotation axis O3. Arm 224 is connected to arm 223 via joint 230_4, allowing it to rotate about rotation axis O4. Arm 225 is connected to arm 224 via joint 230_5, allowing it to rotate about rotation axis O5. Arm 226 is connected to arm 225 via joint 230_6, allowing it to rotate about rotation axis O6.
[0038] Each of the joints 230_1 to 230_6 is a mechanism that rotatably connects one of two adjacent components of the base 210 and arms 221 to 226 to the other. Furthermore, in the following text, each of the joints 230_1 to 230_6 will sometimes be referred to as "joint 230".
[0039] Although Figure 1 Although not illustrated, each of the joints 230_1 to 230_6 is provided with a drive mechanism that causes one of the corresponding two adjacent components to rotate relative to the other. This drive mechanism may include, for example, a motor that generates a driving force for the rotation, a reducer that reduces and outputs the driving force, and a rotary encoder that detects the amount of motion, such as the angle of rotation. Furthermore, the assembly of these drive mechanisms for joints 230_1 to 230_6 corresponds to the description below. Figure 2 The arm drive mechanism 2a shown is illustrated.
[0040] Rotation axis O1 is a perpendicular axis to a mounting surface (not shown) on which the base 210 is fixed. 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.
[0041] Furthermore, for these rotating axes, "perpendicular" includes not only the case where the angle between the two rotating axes is strictly 90°, but also the case where the angle between the two rotating axes deviates from 90° within a range of approximately ±5°. Similarly, "parallel" includes not only the case where the two rotating axes are strictly parallel, but also the case where one of the two rotating axes is tilted relative to the other within a range of approximately ±5°.
[0042] As an end effector, the head unit 3 is mounted on the topmost arm 226 of the arm portion 220 of the robotic arm 2 above, in a fixed state such as by threading.
[0043] Head unit 3 is an assembly having a head 3a that ejects ink, as an example of a "liquid," toward the workpiece W. In this embodiment, in addition to the head 3a, head unit 3 also has a pressure regulating valve 3b and an energy ejection section 3c. Further details regarding head unit 3 will be provided later. Figure 3 Let me explain.
[0044] The ink is not particularly limited, and examples include aqueous inks that dissolve color materials such as dyes or pigments in aqueous solvents, UV-curable inks that use curable resins, and solvent-based inks that dissolve color materials such as dyes or pigments in organic solvents. Among these, curable inks are preferred. The curable ink is not particularly limited; for example, it can be any of the following: thermosetting, photocurable, radiation-curable, and electron beam-curable types, but photocurable types such as UV-curable are preferred. Furthermore, the ink is not limited to a solution and can also be an ink in which color materials are dispersed as a dispersant in a dispersant. Moreover, the ink is not limited to inks containing color materials; for example, it can be an ink that contains conductive particles such as metal particles used to form wiring as a dispersant, a transparent ink, or a treatment liquid used for surface treatment of workpiece W.
[0045] A piping section 10 and a wiring section 11 are connected to the head unit 3. The piping section 10 is a pipe or piping assembly that supplies ink from an ink tank (not shown) to the head unit 3. The wiring section 11 is a wiring assembly or wiring assembly that supplies electrical signals to drive the head 3a.
[0046] Controller 5 is a robotic arm controller that controls the drive of robotic arm 2. The following is based on... Figure 2 The electrical structure of the stereolithography printing apparatus 1 is described in such a manner that a detailed description of the controller 5 is included.
[0047] 1-2. Electrical Structure of the Three-Dimensional Printing Apparatus
[0048] Figure 2 This is a block diagram illustrating the electrical structure of the three-dimensional printing apparatus 1 used in the three-dimensional printing method according to the first embodiment. Figure 2 The diagram shows the electrical structural elements within the structural elements of the three-dimensional printing apparatus 1. For example... Figure 2 As shown, the stereolithography printing apparatus 1, in addition to having the features described above... Figure 1 In addition to the structural elements shown, it also includes a control module 6 that is connected to the controller 5 in a communicable manner, and a computer 7 that is connected to the controller 5 and the control module 6 in a communicable manner.
[0049] in addition, Figure 2 The electrical structural elements shown can be appropriately divided, partially incorporated into other structural elements, or integrally formed with other structural elements. For example, some or all of the functions of controller 5 or control module 6 can be implemented by computer 7, or by other external devices such as PCs connected to controller 5 via networks such as LAN (Local Area Network) or the Internet.
[0050] The controller 5 has the function of controlling the drive of the robotic arm 2 and generating a signal D3 to synchronize the ink ejection action in the head unit 3 with the action of the robotic arm 2.
[0051] The controller 5 has a storage circuit 5a and a processing circuit 5b.
[0052] The storage circuit 5a stores various programs executed by the processing circuit 5b and various data processed by the processing circuit 5b. The storage circuit 5a 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 Read-Only Memory). Alternatively, part or all of the storage circuit 5a may also be included in the processing circuit 5b.
[0053] The printing path information Da is stored in the storage circuit 5a. The printing path information Da is used to control the movement of the robotic arm 2 and represents the position and orientation of the head 3a along the path it should move. The printing path information Da is represented, for example, using coordinate values from a reference coordinate system or a universal coordinate system. In the teaching method of the robotic arm 2 described later, the printing path information Da is generated based on three-dimensional data Db representing the shape of the workpiece W and transmitted via computer 7. The printing path information Da is input from computer 7 to the storage circuit 5a. Alternatively, the printing path information Da can also be represented using coordinate values from the workpiece coordinate system. In this case, the printing path information Da is used to control the movement of the robotic arm 2 after being converted from coordinate values in the workpiece coordinate system to coordinate values in the reference coordinate system or a universal coordinate system.
[0054] The processing circuit 5b controls the movement of the arm drive mechanism 2a of the robotic arm 2 based on the printed path information Da, and generates a signal D3. The processing circuit 5b may include, for example, one or more processors such as a CPU (Central Processing Unit). Alternatively, the processing circuit 5b may replace the CPU or include programmable logic devices such as an FPGA (Field-Programmable Gate Array) in addition to a CPU.
[0055] Here, the arm drive mechanism 2a is an assembly of the drive mechanisms of the joints 230_1 to 230_6 described above, and for each joint 230, there is a motor for driving the joint of the robotic arm 2 and an encoder for detecting the rotation angle of the joint of the robotic arm 2.
[0056] Processing circuit 5b performs inverse kinematics calculations, converting the printing path information Da into motion quantities such as rotation angles and rotational speeds of each joint 230 of the robotic arm 2. Furthermore, processing circuit 5b outputs control signals Sk1 based on the outputs D1 from each encoder of the arm drive mechanism 2a, so that the actual rotation angles and rotational speeds of each joint 230 become the calculation results described above based on the printing path information Da. Control signal Sk1 is a signal used to control the drive of the motor of the arm drive mechanism 2a. Here, control signal Sk1 is corrected by processing circuit 5b as needed and based on the output from a distance sensor (not shown).
[0057] Furthermore, the processing circuit 5b generates a signal D3 based on the output D1 of at least one of the plurality of encoders from the arm drive mechanism 2a. For example, the processing circuit 5b generates a trigger signal as signal D3, the trigger signal containing a timing pulse from the output D1 of one of the plurality of encoders when it reaches a predetermined value.
[0058] Control module 6 is a circuit that controls the ink ejection action in head unit 3 based on signal D3 output from controller 5 and printing data Img from computer 7. Control module 6 includes timing signal generation circuit 6a, power supply circuit 6b, control circuit 6c, and drive signal generation circuit 6d.
[0059] The timing signal generation circuit 6a generates a timing signal PTS based on signal D3. The timing signal generation circuit 6a is, for example, composed of a timer that starts generating the timing signal PTS upon detection of signal D3.
[0060] The power supply circuit 6b receives power from a commercial power supply not shown in the diagram and generates various predetermined potentials. These potentials are appropriately supplied to the control module 6 and various parts of the head unit 3. For example, the power supply circuit 6b generates a power supply potential VHV and an offset potential VBS. The offset potential VBS is supplied to the head unit 3. Furthermore, the power supply potential VHV is supplied to the drive signal generation circuit 6d.
[0061] The control circuit 6c generates a control signal SI, a waveform specification signal dCom, a latch signal LAT, a clock signal CLK, and a switching signal CNG based on the timing signal PTS. These signals are synchronized with the timing signal PTS. The waveform specification signal dCom is input to the drive signal generation circuit 6d, while the other signals are input to the switching circuit 3e of the head unit 3.
[0062] The control signal SI is a digital signal used to specify the operating state of the drive element of the head 3a of the head unit 3. Specifically, the control signal SI is a signal used to specify whether to supply the drive signal Com (described later) to the drive element based on the printing data Img. By specifying this, for example, whether ink is ejected from the nozzle corresponding to the drive element, or the amount of ink ejected from the nozzle, is specified. 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 exchange signal CNG are signals used to specify the ink ejection timing from the nozzle by specifying the drive timing of the drive element in conjunction with the control signal SI. The clock signal CLK is a clock signal that serves as a reference synchronized with the timing signal PTS.
[0063] The control circuit 6c described above includes, for example, one or more processors such as a CPU. Alternatively, the control circuit 6c can replace the CPU or include programmable logic devices such as an FPGA in addition to a CPU.
[0064] The drive signal generation circuit 6d is a circuit that generates drive signals Com for driving the drive elements of the head 3a of the head unit 3. Specifically, the drive signal generation circuit 6d includes, for example, a DA conversion circuit and an amplification circuit. In the drive signal generation circuit 6d, the waveform specification signal dCom from the control circuit 6c is converted from a digital signal to an analog signal by the DA conversion circuit, and the analog signal is amplified by the amplification circuit using the power supply potential VHV from the power supply circuit 6b, thereby generating the drive signal Com. Here, the signal of the waveform contained in the drive signal Com that is actually supplied to the drive element is the drive pulse PD. The drive pulse PD is supplied to the drive element from the drive signal generation circuit 6d via the switching circuit 3e of the head unit 3.
[0065] Here, the switching circuit 3e is a circuit that includes a switching element, which switches whether to supply at least a portion of the waveform contained in the drive signal Com as a drive pulse PD based on the control signal SI.
[0066] Computer 7 is a desktop or laptop computer with programs such as PG installed. Computer 7 has the functions of generating printing path information Da, supplying printing path information Da and other information to controller 5, and supplying printing data Img and other information to control module 6. In addition to these functions, the computer 7 in this embodiment also has the function of controlling the drive of energy emission unit 3c.
[0067] The computer 7 includes a storage circuit 7a and a processing circuit 7b. Furthermore, although not shown, the computer 7 includes an input device such as a keyboard or mouse that accepts user input. Additionally, the computer 7 may also include a display device such as an LCD panel that displays information necessary for generating the printing path information Da.
[0068] The storage circuit 7a stores various programs executed by the processing circuit 7b and various data processed by the processing circuit 7b. The storage circuit 7a may include, for example, a semiconductor memory consisting of one or both of volatile memory such as RAM and non-volatile memory such as ROM, EEPROM, or PROM. Alternatively, part or all of the storage circuit 7a may be included in the processing circuit 7b.
[0069] The storage circuit 7a stores printing path information Da, three-dimensional data Db, and program PG. Program PG is a program used to generate printing path information Da based on the three-dimensional data Db. The three-dimensional data Db is data in STL (Standard Triangulated Language) form, representing the shape of the workpiece W using multiple polygons. The three-dimensional data Db contains coordinate information Db1, which is related to the coordinates of each vertex of the polygon, and vector information Db2, which is related to the normal vectors representing the face and back of the polygon. The three-dimensional data Db is obtained by converting CAD (computer-aided design) data representing the three-dimensional shape of the workpiece W as needed. Furthermore, the three-dimensional data Db can be represented using coordinate values from the workpiece coordinate system, or coordinate values from a reference coordinate system or a universal coordinate system.
[0070] The processing circuit 7b implements the functions described above through the execution of programs such as program PG. The processing circuit 7b may include, for example, one or more processors such as a CPU. Alternatively, the processing circuit 7b may replace the CPU or include programmable logic devices such as an FPGA in addition to a CPU.
[0071] The processing circuit 7b functions as the generation unit 7b1 through the execution of the program PG. The generation unit 7b1 generates printing path information Da based on the three-dimensional data Db. The generation of the printing path information Da implemented by the generation unit 7b1 will be discussed later. Figures 5-15 Let me describe it in detail.
[0072] 1-3. Structure of the head unit
[0073] Figure 3This is a perspective view showing the general structure of head unit 3. In the following description, intersecting a-axis, b-axis, and c-axis are used appropriately for ease of explanation. Furthermore, in the following description, one direction along the a-axis is the a1 direction, and the direction opposite to the a1 direction is the a2 direction. Similarly, the opposite directions along the b-axis are the b1 direction and the b2 direction. Furthermore, the opposite directions along the c-axis are the c1 direction and the c2 direction.
[0074] Here, the a-axis, b-axis, and c-axis correspond to the coordinate axes of the tool coordinate system set in the head unit 3, and their relative positions and orientations with the general coordinate system or robotic arm coordinate system described above change due to the movements of the robotic arm 2 described above. Figure 3 In the example shown, the c-axis is parallel to the rotation axis O6 described earlier. Furthermore, while the a-axis, b-axis, and c-axis are typically orthogonal, this is not a limitation; for example, they can intersect at angles between 80° and 100°. Additionally, the tool coordinate system and the reference coordinate system or robot arm coordinate system are established through calibration.
[0075] The tool coordinate system is set with the tool center point TCP as the reference. Therefore, the position and orientation of the head 3a are defined with the tool center point TCP as the reference. For example, the tool center point TCP can be configured either at the center of the ejection surface FN or in a space spaced apart from the head 3a in the ink ejection direction DE.
[0076] As mentioned above, head unit 3 includes a head 3a, a pressure regulating valve 3b, and an energy emission section 3c. These are... Figure 3 It is supported by the support body 3f, indicated by the double-dotted line. Additionally, although in Figure 3 In the example shown, the head unit 3 has one head 3a and one pressure regulating valve 3b, but this number is not limited to one. Figure 3 The example shown can also include more than two. Furthermore, the position of the pressure regulating valve 3b is not limited to arm 226; for example, it can be other arms or a position fixed relative to the base 210.
[0077] The support 3f is constructed of, for example, a metallic material and is essentially a rigid body. Furthermore, although in Figure 3 The middle support 3f is a flat box shape, but the shape of the support 3f is not particularly limited, but can be any shape.
[0078] The aforementioned support body 3f is mounted on the arm 226 described above. Therefore, the head 3a, pressure regulating valve 3b, and energy emission section 3c are all supported together on the arm 226 by the support body 3f. Thus, the relative positions of the head 3a, pressure regulating valve 3b, and energy emission section 3c with respect to the arm 226 are fixed. Figure 3 In the example shown, a pressure regulating valve 3b is positioned at a c1 direction relative to the head 3a. An energy emission section 3c is positioned at a a2 direction relative to the head 3a.
[0079] The head 3a has an ejection surface FN and a plurality of nozzles N opening on the ejection surface FN. The ejection surface FN is a nozzle surface for opening the nozzles N, and is formed, for example, by a surface of a nozzle plate in which the nozzles N are provided as through holes on a plate-shaped member made of a material such as silicon (Si) or metal. Figure 3 In the example shown, along the direction of the first normal LDE, which is the normal to the ejection surface FN, i.e., the ink ejection direction DE from the nozzle N is the c2 direction, and the plurality of nozzles N are divided into nozzle rows L1 and L2 arranged at intervals along the a-axis. Each of nozzle rows L1 and L2 is a collection of a plurality of nozzles N arranged in a straight line along the b-axis. Here, the elements associated with each nozzle N of nozzle row L1 and each nozzle N of nozzle row L2 in the first 3a are structurally approximately symmetrical with each other along the a-axis. Furthermore, the arrangement direction DN, described later, is parallel to the b-axis.
[0080] However, the positions of the multiple nozzles N in nozzle array L1 and the multiple nozzles N in nozzle array L2 along the b-axis can be either consistent or different. Furthermore, elements associated with each nozzle N in either nozzle array L1 or nozzle array L2 can be omitted. In the following, an example is given of a structure in which the positions of the multiple nozzles N in nozzle array L1 and the multiple nozzles N in nozzle array L2 are consistent along the b-axis.
[0081] Although not illustrated, the head 3a has a piezoelectric element as a driving element and a cavity for collecting ink for each nozzle N. Here, the piezoelectric element causes a pressure change in the cavity corresponding to the piezoelectric element, thereby causing the ink to be ejected from the nozzle corresponding to the cavity in the ejection direction DE. Such a head 3a is obtained by bonding together multiple substrates, such as a silicon substrate appropriately processed by etching or the like, using an adhesive. Alternatively, a heater that heats the ink within the cavity can be used instead of the piezoelectric element as the driving element for ejecting ink from the nozzle.
[0082] In the above-described head 3a, ink is supplied to the ink tank (not shown) via the supply pipe 10a provided in the piping section 10. Here, a pressure regulating valve 3b is located between the supply pipe 10a and the head 3a.
[0083] The pressure regulating valve 3b is a valve mechanism that opens and closes according to the pressure of the ink in the head 3a. By opening and closing this valve, even if the positional relationship between the head 3a and the ink reservoir (not shown) described above changes, the pressure of the ink in the head 3a is maintained at a negative pressure within a predetermined range. Therefore, the meniscus of the ink formed in the nozzle N of the head 3a is stabilized. As a result, air bubbles are prevented from entering the nozzle N or ink overflowing from the nozzle N. Furthermore, the ink from the pressure regulating valve 3b is appropriately distributed to multiple parts of the head 3a via a branch channel (not shown). Here, the ink from the ink reservoir (not shown) is transported to the supply pipe 10a at a predetermined pressure by a pump or the like.
[0084] The energy emitting unit 3c emits energy such as light, heat, electron beams, or radiation to harden or cure the ink on the workpiece W. For example, if the ink has ultraviolet curing properties, the energy emitting unit 3c is constructed from a light-emitting element such as an LED (light-emitting diode) that emits ultraviolet light. Furthermore, the energy emitting unit 3c may also appropriately include optical components such as lenses for adjusting the direction or range of energy emission.
[0085] Alternatively, the energy emission section 3c may not completely harden or cure the ink on the workpiece W. In this case, for example, the ink irradiated by the energy emission section 3c may be completely hardened or cured simply by the energy from a hardening light source located on the mounting surface of the base 210 of the robotic arm 2.
[0086] 1-4. Printing motion of robotic arm 2
[0087] Figure 4 This diagram illustrates an example of the printing motion of robotic arm 2. Figure 4 The example illustrates the printing of the surface WF of a workpiece W placed at a position relative to the robotic arm 2 in the X2 direction.
[0088] During the printing process, ink is ejected from the head 3a while the position and orientation of the head 3a change due to the movement of the robotic arm 2. The changes in the position and orientation of the head 3a are based on the printing path information Da. Thus, the head 3a moves along the movement path RU while maintaining a predetermined orientation relative to the surface WF. The movement path RU is the path from position PS to position PE.
[0089] exist Figure 4In the example shown, the movement path RU is a straight line extending along the X-axis when viewed in the Z2 direction. In this embodiment, the robotic arm 2 performs the printing operation by actuating three of the six joints 230. More specifically, during the execution of the printing operation, the robotic arm 2 actuates the rotation axes of joints 230_2, 230_3, and 230_5 so that they are parallel to the Y-axis. Through the actuation of these three joints 230, the head 3a can move stably along the movement path RU. Alternatively, the robotic arm 2 can also perform the printing operation by actuating four or more of the six joints 230. In this case, the placement position and orientation of the workpiece W are not limited to... Figure 4 The example shown is not for setting any position and orientation.
[0090] Figure 5 This diagram illustrates the smooth regions RP1 and RP3, and the elevation difference region RP2, used to describe workpiece W. Although in Figure 4 The illustration is omitted, but as shown... Figure 5 As shown, the surface WF of the workpiece W has smooth regions RP1, RP3 and a height difference region RP2. These regions are arranged in the order of smooth region RP1, height difference region RP2, and smooth region RP3, along the relative movement direction of the workpiece W and the head 3a during the printing operation.
[0091] exist Figure 5 In the example shown, positions P_1 to P_5 are arranged sequentially in the X2 direction. The area from position P_1 to position P_2 is the smooth area RP1, the area from position P_2 to position P_4 is the elevation difference area RP2, and the area from position P_4 to position P_5 is the smooth area RP3.
[0092] Smooth regions RP1 and RP3 are essentially smooth surfaces without any elevation differences. Furthermore, an essentially smooth surface refers, for example, a surface that does not have an elevation difference greater than 300 μm. In other words, a surface with a minute elevation difference of less than 300 μm can be considered an essentially smooth surface. The elevation difference region RP2 is the region adjacent to smooth regions RP1 and RP3, and is a surface containing the elevation difference SP of a predetermined width.
[0093] The elevation difference SP consists of two surfaces of different heights, a surface connecting the two surfaces, and two corners between the two surfaces and the surface connecting the elevation difference. Figure 5In the example shown, position P_3 is located on the elevation difference surface. Here, the inclination angle of the elevation difference surface relative to each of the two surfaces is 40° or more. Furthermore, the width of the elevation difference surface along the direction from one of the two surfaces through the elevation difference surface toward the other is less than twice the width of the ejection surface FN along the a-axis. This predetermined width is more than twice and less than five times the width of the ejection surface FN along the a-axis. Additionally, the elevation difference in this disclosure is not limited to this; the elevation difference surface of the elevation difference SP can be a convex or concave curved surface, and one or both corners of the elevation difference SP can be rounded. Furthermore, the elevation difference SP can also be a localized V-shaped or U-shaped concave portion or a convex portion with its inverted shape. That is, the elevation difference SP can also be a groove-like shape or a protrusion-like shape.
[0094] Here, it can be said that the elevation difference region RP2 includes a portion with a larger curvature compared to the smooth regions RP1 and RP3. This is because, for example, when observing the two corners of the elevation difference region RP2 microscopically, as described above, the curvature of the cross-section of these corners is larger than the curvature of the cross-sections of the surfaces constituting the smooth regions RP1 and RP3. More specifically, when each part of the cross-section is approximated as a circle, the elevation difference region RP2, especially these corners, is represented by a circle with a smaller radius compared to the smooth regions RP1 and RP3, while the smooth regions RP1 and RP3 are represented by circles with a larger radius compared to the elevation difference region RP2.
[0095] exist Figure 5 The diagram shows the normals LN_1 to LN_5 and the normal vectors V_1 to V_5 at each of the positions P_1 to P_5. In the following text, positions P_1 to P_5 will sometimes be referred to as position P. Similarly, normals LN_1 to LN_5 will sometimes be referred to as the second normals LN. Normal vectors V_1 to V_5 will sometimes be referred to as normal vectors V.
[0096] Figure 6 This diagram is used to illustrate the three-dimensional printing method according to the first embodiment. Figure 6 The diagram shows the position and orientation of the head unit 3 at each of positions P_1 to P_5 during the printing operation. This three-dimensional printing method includes a first printing action MP1a performing printing in the smooth area RP1 of the workpiece W, a second printing action MP2 performing printing in the height difference area RP2 of the workpiece W, and a first printing action MP1b performing printing in the smooth area RP3 of the workpiece W.
[0097] In this embodiment, these actions are performed in the same printing cycle in the order of first printing action MP1a, second printing action MP2, and first printing action MP1b. Therefore, second printing action MP2 is performed following first printing action MP1a in the same printing cycle as first printing actions MP1a and MP1b. Furthermore, second printing action MP2 is performed before first printing action MP1b in the same printing cycle as first printing actions MP1a and MP1b. Although this embodiment shows an example of first printing action MP1a, second printing action MP2, and first printing action MP1b being performed in the same printing cycle, these actions do not necessarily have to be performed consecutively in the same printing cycle. For example, second printing action MP2 may be performed after first printing actions MP1a and MP1b have been performed consecutively. However, from the viewpoint of improving productivity, it is preferable to perform the first and second printing actions in the same printing cycle.
[0098] The first printing action MP1a performs ink ejection from the head 3a to the smooth area RP1 during the period when the relative position and orientation of the head 3a and the workpiece W change. Similarly, the first printing action MP1b performs ink ejection from the head 3a to the smooth area RP3 during the period when the relative position and orientation of the head 3a and the workpiece W change.
[0099] From the perspective of improving image quality, it is preferable that the change in the ejection angle θ during the execution of the first printing actions MP1a and MP1b is as small as possible. Furthermore, the ejection angle θ refers to the angle formed by the first normal LDE and the second normal LN, where the first normal LDE is the normal to the ejection surface FN, and the second normal LN is the normal at the intersection of the surface of the workpiece W and the first normal LDE. In other words, it can be said that when the change in the ejection angle θ is small, the head 3a scans more faithfully to the shape of the workpiece W's surface. Conversely, it can be said that when the change in the ejection angle θ is large, the head 3a scans less faithfully to the shape of the workpiece W's surface. Therefore, it can be said that the scanning of the head 3a during the execution of the first printing actions MP1a and MP1b is more faithful to the shape of the workpiece W's surface.
[0100] The second printing action MP2 performs ink ejection from head 3a to the elevation difference area RP2 during the period when the relative position and posture of head 3a and workpiece W change.
[0101] Here, the change in ejection angle θ during the execution of the second printing action MP2 is larger compared to the change in ejection angle θ during the execution of the first printing actions MP1a and MP1b. Therefore, the abrupt change in head 3a's posture caused by the movement of the robotic arm 2 between the first printing actions MP1a and MP1b can be reduced. In other words, during the execution of the second printing action MP2, the head 3a does not scan the surface shape of the workpiece W with the same fidelity as in the first printing actions MP1a and MP1b. As a result, collisions between the head 3a and the workpiece W can be prevented. Furthermore, by reducing the vibration of the robotic arm 2, the overall image quality can be improved.
[0102] Figure 7 This diagram illustrates the movement path RU for the first 3a in the reference example. Furthermore, in this reference example, the tool center point TCP is positioned at the center of the ejection surface FN, and the printing path information Da is set such that the movement path RU is positioned within a space spaced apart from the surface WF. Figure 7 The figure shows the vector Vr representing the attitude of head 3a at position Pr on the moving path RU when the ejection angle θ is fixed. That is, in Figure 7 In the process, the head 3a, spanning the smooth region RP1, the elevation difference region RP2, and the smooth region RP3, maintains an orientation roughly consistent with the normal vector V of the workpiece W. Therefore, the head 3a scans relatively faithfully to the surface shape of the workpiece W regardless of the region. However, during the execution of the second printing action MP2, a sharp change in the orientation of the head 3a occurs. This can result in the head 3a potentially colliding with the workpiece W. Furthermore, the sharp orientation change can cause the robotic arm 2 to vibrate, leading to a decrease in image quality.
[0103] Figure 8 This diagram illustrates the movement path RU of the head 3a in the first embodiment. Furthermore, in this embodiment, the tool center point TCP is positioned at the center of the ejection surface FN, and the printing path information Da is set such that the movement path RU is positioned within a space spaced apart from the surface WF. Figure 8 The diagram shows the vector Vr of the head 3a at position Pr on the moving path RU when the change in ejection angle θ during the execution of the second printing action MP2 is larger than the change in ejection angle θ during the execution of the first printing actions MP1a and MP1b. In this case, the position Pr and vector Vr during the execution of the second printing action MP2 are compared with... Figure 7 The situations shown change smoothly in contrast to those in the first 3a. In other words, it is difficult for abrupt attitude changes to occur.
[0104] Therefore, as mentioned above, the change in ejection angle θ during the execution of the second printing action MP2 is larger than the change in ejection angle θ during the execution of the first printing actions MP1a and MP1b. Furthermore, the change in ejection distance LD during the execution of the second printing action MP2 is larger than the change in ejection distance LD during the execution of the first printing actions MP1a and MP1b. Additionally, the ejection distance LD is the distance between the ejection surface FN and the workpiece W along the direction of the first normal LDE.
[0105] The length L2 of the trajectory of the head 3a during the execution of the second printing action MP2 is shorter than the length of the height difference region RP2 along the trajectory, that is, the length L1 of the area on the surface of the workpiece W to be printed during the execution of the second printing action MP2.
[0106] While it is preferable to keep the relative movement speed between the ejector surface FN and the surface of the workpiece W as constant as possible from the viewpoint of reducing vibration of the robotic arm 2, it is preferable, from the viewpoint of shortening the printing time and improving the image quality in the height difference area RP2, that the relative movement speed between the ejector surface FN and the surface of the workpiece W during the execution of the second printing action MP2 is less than or equal to the relative movement speed between the ejector surface FN and the surface of the workpiece W during the execution of the first printing actions MP1a and MP1b.
[0107] 1-5. Teaching methods for robotic arms
[0108] Figure 9 This is a flowchart illustrating the teaching method of the robotic arm 2 according to the first embodiment. Hereinafter, the teaching method will be described using the three-dimensional printing apparatus 1 described above as an example. This teaching method is implemented using a computer 7. More specifically, the computer 7, or generation unit 7b1, generates printing path information Da using this teaching method.
[0109] like Figure 9 As shown, the teaching method includes a first step S10, a second step S20, a third step S30, a fourth step S40, and a fifth step S50, and these steps are performed in this order.
[0110] In the first step S10, three-dimensional data Db is obtained. In the second step S20, multiple through polygons POL_1 are specified based on the multiple polygons POL represented by the three-dimensional data Db. In the third step S30, multiple smoothing teaching points Pa1 are set using the multiple through polygons POL_1. In the fourth step S40, multiple height difference teaching points Pa2 are set using multiple smoothing through polygons POL_1a or multiple smoothing teaching points Pa1. In the fifth step S50, printing path information Da is generated based on the multiple smoothing teaching points Pa1 and the multiple height difference teaching points Pa2. Here, step S3, which consists of the third step S30 and the fourth step S40, sets multiple smoothing teaching points Pa1 and multiple height difference teaching points Pa2 as multiple teaching points Pa on the surface WF of the workpiece W. Each step will be described in detail below.
[0111] Figure 10 This diagram illustrates the acquisition of three-dimensional data Db in the first step S10. In the first step S10, three-dimensional data Db is acquired. Figure 10 The image shows a representative portion of the surface WDb represented by the three-dimensional data Db. Surface WDb corresponds to surface WF of the workpiece W. Figure 10 In the example shown, for ease of understanding and explanation, the surface WDb is illustrated using a reference coordinate system or a robot arm coordinate system. Alternatively, the surface WDb can also be represented using a workpiece coordinate system.
[0112] The surface WDb is composed of multiple polygons POL. Figure 10 In the example shown, each polygon POL is a triangle with three sides LE and three vertices PV. Here, each side LE is shared by two polygon POLs. Two polygon POLs sharing a side LE are adjacent to each other with that side LE as their boundary. Furthermore, each vertex PV is shared by three or more polygon POLs. Three or more polygon POLs sharing a vertex PV are connected to each other with that vertex PV as their tangent point. Figure 10 For ease of explanation, the normal vector Vp of each polygon POL is illustrated. The normal vector Vp is represented by the vector information Db2. Furthermore, the shape of each polygon POL is not limited to a triangle; it can also be a quadrilateral or other polygons.
[0113] Figure 11This diagram illustrates the use of the imaginary plane FV in specifying the passing polygon POL_1 in the second step S20. While it is not particularly limited to specifying the passing polygon POL_1 as simply a matter of specifying the polygon POL corresponding to the area to be scanned by the head 3a, in this embodiment, the imaginary plane FV is used to specify the passing polygon POL_1.
[0114] To be more specific, in the second step S20, an imaginary plane FV, represented by the same coordinate system as the three-dimensional data Db, is first specified. The imaginary plane FV transversely cuts the surface WDb. The imaginary plane FV and the surface WDb intersect each other through the line of intersection LC.
[0115] The designation of the imaginary plane FV is based on printing position information set by the user and executed via computer 7. The printing position information relates to one or both of the position and orientation of the workpiece W on its surface during printing, as desired by the user, and is set by the user through input to computer 7. For example, by inputting printing position information using the input device of computer 7, the user sets or appropriately adjusts one or both of the position and orientation of the workpiece W on its surface in the printed image obtained by the stereoscopic printing apparatus 1. More specifically, on an image corresponding to the workpiece W displayed based on three-dimensional data Db, the user can input printing position information by setting the position through cursor movement (achieved through mouse operation) or adjusting the orientation through mouse operations such as drag and drop.
[0116] Computer 7 designates the imaginary plane FV based on the printing position information. Preferably, the imaginary plane FV is designated in a manner that is as parallel as possible to the normals of the intersecting polygons POL (described later as passing through polygon POL_1). For example, in a... Figure 11 In the case of five intersecting polygons POL as shown, the imaginary plane FV is specified in such a way that the sum or average of the differences between the angles formed by each polygon POL and the imaginary plane FV and 90° is minimized.
[0117] Here, the imaginary plane FV represents the ideal ink ejection direction and the ideal movement direction of the head 3a. That is, during printing, the head 3a ejects ink parallel to the imaginary plane FV, and moves in a direction parallel to the imaginary plane FV. Thus, the imaginary plane FV serves as a reference plane for defining the position and orientation of the head 3a during printing.
[0118] In this embodiment, as described above, during the execution of the printing action, the robotic arm 2 aligns the rotation axes of joints 230_2, 230_3, and 230_5 parallel to the Y-axis, and performs the actions of these joints. Therefore, the imaginary plane FV is designated such that it is orthogonal to all rotation axes O2, O3, and O5.
[0119] Figure 12 This diagram illustrates the specific details of the through polygons POL_1 in the second step S20. In the second step S20, after specifying the imaginary plane FV, multiple through polygons POL_1, which are among the multiple polygons POLs intersecting the imaginary plane FV, are specified. Since the imaginary plane FV transversely cuts the surface WDb as described above, the multiple polygons POLs constituting the surface WDb are divided into multiple through polygons POL_1 intersecting the imaginary plane FV, and multiple polygons POL_2 not intersecting the imaginary plane FV. Figure 12 For ease of explanation, the polygon POL_1 is shown with a mesh shadow.
[0120] Figure 13 This diagram illustrates the setting of the position and orientation of multiple teaching points Pa. Step S3 sets multiple teaching points Pa based on multiple polygons POL_1. Specifically, step S3 uses multiple intersection points of the edges LE of polygons POL_1 and the imaginary plane FV as teaching points Pa. Each teaching point Pa represents the position and orientation of head 3a.
[0121] exist Figure 13 In this diagram, the pose represented by the teaching point Pa is represented by the vector Va. Vector Va is the normal vector at the teaching point Pa and is specified based on vector information Db2. For example, the vector Va representing the direction of the normal corresponding to the intersection point described above is defined based on the first vertex vector Vc_1 and the second vertex vector Vc_2. Here, when the edge LE containing the intersection point among the multiple edges LE passing through polygon POL_1 is designated as the first edge LE_1, one end of the first edge LE_1 is designated as the first vertex PV_1, and the other end of the first edge LE_1 is designated as the second vertex PV_2, the first vertex vector Vc_1 is the normal vector corresponding to the first vertex PV_1, and the second vertex vector Vc_2 is the normal vector corresponding to the second vertex PV_2. Furthermore, it is preferable that these vertex vectors are pre-calculated based on the vector information Db2 contained in the 3D data Db.
[0122] exist Figure 13In the example shown, in addition to the multiple intersection points, interpolation points, which are the points obtained by interpolating between these multiple intersection points, are also used as teaching points Pa. Therefore, even when the number of polygons POL representing the shape of the workpiece W is small, the density of teaching points Pa can be increased. Furthermore, although in Figure 13 In the example shown, the number of interpolation points configured between two adjacent intersections is one, but this number can also be two or more. Furthermore, although this embodiment illustrates interpolation by adding interpolation points, the interpolation is not limited to this; it can also be implemented by adding curves or line segments for interpolation. Additionally, the interpolation can be omitted depending on the number of polygons (POLs) representing the shape of the workpiece W. Furthermore, when implementing this interpolation, it can also be performed after removing a portion of the multiple intersections at intervals, as needed.
[0123] Here, the interpolation point is preferably positioned on a smooth curve passing through the plurality of intersection points. This curve is represented, for example, by a spline function. That is, the interpolation point is preferably positioned based on spline interpolation. In this case, although there is a possibility that the interpolation point deviates from the intersection line LC, it is preferable to position it on the imaginary plane FV. Alternatively, the interpolation point can also be positioned based on linear interpolation. However, from the viewpoint of smoothing the movement path of the head 3a implemented by the robotic arm 2 and suppressing vibrations accompanying the movement of the robotic arm 2, it is preferable to position the interpolation point using curve interpolation methods such as spline interpolation.
[0124] As mentioned earlier, the workpiece W has a surface WF with smooth regions RP1 and RP3 and a height difference region RP2. Therefore, surface WDb has regions corresponding to the smooth regions RP1 and RP3 and the height difference region RP2. Within the regions of surface WDb corresponding to the smooth regions RP1 and RP3, multiple teaching points Pa are set using multiple intersection points and multiple interpolation points, as described earlier. Conversely, within the region of surface WDb corresponding to the height difference region RP2, the method described earlier is used to obtain… Figure 8 Multiple teaching points Pa are set up in a manner that follows the movement path RU as shown. This will be described in detail below.
[0125] Figure 14This diagram illustrates the setting of multiple smoothing teaching points Pa1 in the third step S30. The surface WDb has a height difference SPd corresponding to the height difference SP. The multiple through polygons POL_1 described above are divided into multiple smooth through polygons POL_1a corresponding to the smoothing regions RP1 and RP3, and multiple height difference through polygons POL_1b corresponding to the height difference region PR2. This division can be performed numerically based on the vector information Db2 contained in the three-dimensional data Db. Furthermore, this division can also be performed by using simulation to determine whether a collision will occur when scanning the head 3a on the surface WF. The third step S30 includes specific steps for the multiple smooth through polygons POL_1a within the multiple through polygons POL_1.
[0126] The third step, S30, sets the position and orientation of multiple smoothing teaching points Pa1 based on multiple smoothing polygons POL_1a. These multiple smoothing teaching points Pa1 are teaching points Pa on either smoothing region RP1 or smoothing region RP3. Furthermore, in... Figure 14 In this context, the vector Va1 represents the pose shown by the smoothed teaching point Pa1.
[0127] The position and orientation of the smooth teaching point Pa1 are set in the same manner as those of the teaching point Pa obtained using multiple intersection points and multiple interpolation points as described above. In this embodiment, since the tool center point TCP is located at the center of the ejection surface FN as described above, each smooth teaching point Pa1 will be like... Figure 14 As shown, these points are positioned away from the surface WDb in the Z1 direction. Here, multiple smooth teaching points Pa1 are configured with a distance from the surface WDb that is kept as constant as possible. Furthermore, the vector Va1 at each smooth teaching point Pa1 is set along the normal to the surface WDb at the corresponding position. Alternatively, the setting of the vector Va1 at each smooth teaching point Pa1 can also be based on the vector Va.
[0128] Figure 15 This diagram illustrates the setting of multiple elevation difference teaching points Pa2 in step S40. Step S40 sets the position and orientation of multiple elevation difference teaching points Pa2 based on multiple smooth-passing polygons POL_1a or multiple smooth teaching points Pa1. Each elevation difference teaching point Pa2 is a teaching point Pa on the elevation difference region RP2. Furthermore, in... Figure 15 In the diagram, the posture shown by the elevation difference teaching point Pa2 is represented by the vector Va2.
[0129] The position and orientation of the elevation difference teaching point Pa2 are set based on multiple smoothed polygons POL_1a or multiple smoothed teaching points Pa1, in order to minimize the changes in the position and orientation of the elevation difference teaching point Pa2. More specifically, the position and orientation of multiple elevation difference teaching points Pa2 are set by interpolating between the smoothed teaching point Pa1 corresponding to the smoothed region RP1 and the smoothed teaching point Pa1 corresponding to the smoothed region RP3. For example, in setting the position and orientation of the elevation difference teaching point Pa2, a weighted average of the position and orientation of the smoothed teaching point Pa1 is used.
[0130] As mentioned above, multiple smooth teaching points Pa1 and multiple height difference teaching points Pa2 are set. In step S50, following step S3, printing path information Da is generated based on the multiple smooth teaching points Pa1 and the multiple height difference teaching points Pa2. For example, the multiple smooth teaching points Pa1 and the multiple height difference teaching points Pa2 are set as described above. Figure 8 The position Pr is shown. Furthermore, the relative movement direction between the head 3a and the workpiece W at the position shown along the printing path information Da is specified as needed. In this embodiment, the movement direction is set as one direction along the intersection line LC and the opposite direction, the direction away from the robot arm 2.
[0131] As described above, the teaching method for the robotic arm 2 includes a first step S10, a second step S20, a third step S30, and a fifth step S50. Here, the robotic arm 2 causes the relative position and orientation of the head 3a, which ejects ink (an example of "liquid"), to the three-dimensional workpiece W to change based on the printing path information Da. The surface of the workpiece W has smooth regions RP1 and RP3 and a height difference region RP2, wherein the height difference region RP2 is adjacent to the smooth regions RP1 and RP3 and contains a height difference SP.
[0132] In the first step S10, three-dimensional data representing the shape of the workpiece W using multiple polygons POL is obtained. In the second step S20, multiple through polygons POL_1, corresponding to the area to be scanned by the head 3a, are specified among the multiple polygons POL. In the third step S30, based on multiple smooth through polygons POL_1a, corresponding to smooth regions RP1 and RP3, the positions and orientations of multiple smooth teaching points Pa1, which are teaching points Pa on smooth regions RP1 and RP3, are set. In the fourth step S40, based on the multiple smooth through polygons POL_1a or the multiple smooth teaching points Pa1, the positions and orientations of multiple height difference teaching points Pa2, which are teaching points Pa on the height difference region RP2, are set. In the fifth step S50, printing path information Da is generated based on the multiple smooth teaching points Pa1 and the multiple height difference teaching points Pa2.
[0133] In the teaching method of the robotic arm 2 described above, even if there is a height difference region RP2 on the surface of the workpiece W, it is possible to generate printing path information Da that reduces abrupt changes in the position and posture of the head 3a during the execution of the printing action. Thus, appropriate movements of the robotic arm 2 corresponding to the shape of the workpiece W can be achieved.
[0134] Specifically, in the fourth step S40, the position and orientation of the multiple height difference teaching points Pa2 are set without using the polygons corresponding to the height difference region RP2 in the multiple through polygons POL_1. Therefore, it is possible to appropriately reduce the abrupt changes in the position and orientation of the head 3a during the execution of the printing action using the printing path information Da. Alternatively, in the fourth step S40, the position and orientation of the multiple height difference teaching points can be set based on either the multiple smooth through polygons POL_1a or the multiple smooth teaching points Pa1. This will be described in detail in the second embodiment later.
[0135] As mentioned above, the stereolithography printing method uses a head 3a and a robotic arm 2. Here, the stereolithography printing method includes a first printing action MP1a, MP1b and a second printing action MP2.
[0136] The first printing actions MP1a and MP1b, during which the relative position and orientation of the head 3a and the workpiece W change, perform ink ejection from the head 3a to the smooth areas RP1 and RP3. The second printing action MP2, in the same printing cycle as the first printing actions MP1a and MP1b, precedes or follows the first printing actions MP1a and MP1b, and performs ink ejection from the head 3a to the elevation difference area RP2 during the period when the relative position and orientation of the head 3a and the workpiece W change.
[0137] Furthermore, the change in ejection angle θ during the execution of the second printing action MP2 is larger compared to the change in ejection angle θ during the execution of the first printing actions MP1a and MP1b. Here, when the normal to the ejection surface FN is set as the first normal LDE and the normal at the intersection of the workpiece W surface and the first normal LDE is set as the second normal LN, the angle between the first normal LDE and the second normal LN is the ejection angle θ.
[0138] In the above-described three-dimensional printing method, compared to cases where the change in ejection angle θ during the execution of the second printing action MP2 is less than or equal to the change in ejection angle θ during the execution of the first printing actions MP1a and MP1b, the abrupt attitude change of the head 3a relative to the workpiece W during the second printing action MP2 can be reduced. As a result, collisions between the head 3a and the workpiece W can be prevented, or vibration of the robotic arm 2 can be reduced. Thus, appropriate movements of the robotic arm 2 corresponding to the shape of the workpiece W can be achieved.
[0139] Furthermore, as mentioned above, the change in ejection distance LD during the execution of the second printing action MP2 is larger compared to the change in ejection distance LD during the execution of the first printing actions MP1a and MP1b. Therefore, compared to the case where the change in ejection distance LD during the execution of the second printing action MP2 is less than or equal to the change in ejection distance LD during the execution of the first printing actions MP1a and MP1b, it has the advantage of making it easier to reduce the abrupt positional change between the head 3a and the workpiece W during the second printing action MP2. Additionally, the distance between the ejection surface FN along the direction of the first normal LDE and the workpiece W is the ejection distance LD.
[0140] Furthermore, as mentioned above, the length of the trajectory of the head 3a during the execution of the second printing action MP2 is shorter than the length of the area on the surface of the workpiece W to be printed during the execution of the second printing action MP2. Therefore, compared to the case where the length of the trajectory of the head 3a during the execution of the second printing action MP2 is equal to the length of the area on the surface of the workpiece W to be printed during the execution of the second printing action MP2, the printing speed can be increased.
[0141] Furthermore, as mentioned above, it is preferable that the relative movement speed between the ejector surface FN and the surface of the workpiece W during the execution of the second printing operation MP2 is lower than or equal to the relative movement speed between the ejector surface FN and the surface of the workpiece W during the execution of the first printing operations MP1a and MP1b. In this case, compared to the case where the relative movement speed between the ejector surface FN and the surface of the workpiece W during the execution of the second printing operation MP2 is higher than the relative movement speed between the ejector surface FN and the surface of the workpiece W during the execution of the first printing operations MP1a and MP1b, the degradation of print quality can be suppressed. Alternatively, the relative movement speed between the ejector surface FN and the surface of the workpiece W during the execution of the second printing operation MP2 can also be higher than the relative movement speed between the ejector surface FN and the surface of the workpiece W during the execution of the first printing operations MP1a and MP1b.
[0142] 2. Second Implementation Method
[0143] The second embodiment of the present invention will now be described. In the embodiments illustrated below, the symbols used in the description of the first embodiment are retained for elements that have the same function and effect as those in the first embodiment, and detailed descriptions of each are omitted as appropriate.
[0144] Figure 16 This diagram illustrates the setting of multiple elevation difference teaching points Pa2 in the fourth step S40 of the second embodiment. This embodiment is identical to the first embodiment described above, except for the setting of the positions of the multiple elevation difference teaching points Pa2 in the fourth step S40.
[0145] The fourth step S40 of this embodiment is similar to the first embodiment described above, in that the attitude of multiple height difference teaching points Pa2 is set based on multiple smooth passing polygons POL_1a or multiple smooth teaching points Pa1.
[0146] Furthermore, in the fourth step S40, the positions of multiple elevation difference teaching points Pa2 are set based on multiple elevation difference-passing polygons POL_1b. This setting is performed in the same manner as setting the position of the smoothing teaching point Pa1, except that the elevation difference-passing polygon POL_1b is used instead of the smoothing-passing polygon POL_1a. Therefore, the multiple elevation difference teaching points Pa2 are configured such that the distance between them and the surface WDb is kept as fixed as possible.
[0147] Through the second embodiment described above, appropriate movements of the robotic arm 2 corresponding to the shape of the workpiece W can also be achieved. In this embodiment, as described above, the fourth step S40 sets the posture of multiple height difference teaching points Pa2 based on multiple smooth passing polygons POL_1a or multiple smooth teaching points Pa1, and sets the position of multiple height difference teaching points Pa2 based on the polygon POL in multiple passing polygons POL_1 corresponding to the height difference region RP2. Therefore, compared with the first embodiment, the amount of computation required to set the position and posture of the height difference teaching point P2a can be reduced. Furthermore, since the distance between the surface WF and the head 3a can be maintained while preventing abrupt changes in the posture of the head 3a, the image quality in the height difference region RP2 can be improved.
[0148] 3. Variations
[0149] The methods illustrated above can be modified in a variety of ways. Specific modifications applicable to the methods described above are illustrated below. Furthermore, two or more methods arbitrarily selected from the following examples can be appropriately combined without contradiction.
[0150] 3-1. Variation Example 1
[0151] While the structure of a six-axis vertical multi-axis robotic arm has been exemplified as a robotic arm in the foregoing description, it is not limited to this structure. The robotic arm can be, for example, a vertical multi-axis robotic arm other than six axes, or a horizontal multi-axis robotic arm. Furthermore, the arm portion of the robotic arm may have a telescopic mechanism or a direct-drive mechanism in addition to a joint portion consisting of a rotating mechanism. However, from the viewpoint of balancing print quality during printing operations with the degrees of freedom of the robotic arm's movement during non-printing operations, it is preferable that the robotic arm be a multi-axis robotic arm with six or more axes.
[0152] 3-2. Variation Example 2
[0153] Although the methods described above illustrate structures for fixing the head relative to the robotic arm, such as using threaded fasteners, are not limited to these structures. For example, the head can also be fixed relative to the robotic arm by using a gripping mechanism such as a gripper installed as an end effector of the robotic arm to hold the head.
[0154] 3-3. Variation Example 3
[0155] Furthermore, although the robotic arm that moves the head was exemplified in the foregoing description, it is not limited to this structure. For example, it could be a structure in which the position of the liquid ejection head is fixed and the robotic arm moves the workpiece, thereby causing the position and orientation of the workpiece to change three-dimensionally relative to the head. In this case, the workpiece could be held, for example, by a gripping mechanism such as a gripper mounted at the tip of the robotic arm.
[0156] 3-4. Variation Example 4
[0157] Although the foregoing description illustrates a structure for printing using one type of ink, it is not limited to that structure and can also be applied to structures for printing using two or more types of ink.
[0158] 3-5. Variation Example 5
[0159] The application of the three-dimensional printing apparatus disclosed herein is not limited to printing. For example, the three-dimensional printing apparatus that ejects a solution of color material can be used as a manufacturing apparatus for color filters in liquid crystal display devices. Furthermore, the three-dimensional printing apparatus that ejects a solution of conductive material can be used as a manufacturing apparatus for wiring or electrodes in wiring substrates. In addition, the three-dimensional printing apparatus can also be used as a jet dispenser for applying liquids such as adhesives to a medium.
[0160] Symbol Explanation
[0161] 1…3D printing device; 2…robotic arm; 2a…arm drive mechanism; 3…head unit; 3a…head; 3b…pressure regulating valve; 3c…energy emission unit; 3e…switching circuit; 3f…support body; 5…controller; 5a…storage circuit; 5b…processing circuit; 6…control module; 6a…timing signal generation circuit; 6b…power supply circuit; 6c…control circuit; 6d…drive signal generation circuit; 7…computer; 7a…storage circuit; 7b…processing circuit; 7b1…generating part; 10…piping part; 10a…supply pipe; 11…wiring part; 210…base; 220…arm part; 221…arm; 222…arm; 223…arm; 224…arm; 225…arm; 226…arm; 230…joint part; 2 30_1…Joint; 230_2…Joint; 230_3…Joint; 230_4…Joint; 230_5…Joint; 230_6…Joint; CLK…Clock signal; CNG…Exchange signal; Com…Drive signal; D1…Output; D3…Signal; DE…Ejection direction; DN…Arrangement direction; Da…Printing path information; Db…3D data; Db1…Coordinate information; Db2…Vector information; FN…Ejection surface; FV…Imaginary plane; Img…Printing data; L1…Nozzle array; L2…Nozzle array; LAT…Latch signal; LC…Intersection line; LD…Ejection distance; LDE…First normal; LE…Edge; LE_1…First edge; LN…Second normal; LN_1…Normal MP1a…First printing action; MP1b…First printing action; MP2…Second printing action; N…Nozzle; O1…Rotation axis; O2…Rotation axis; O3…Rotation axis; O4…Rotation axis; O5…Rotation axis; O6…Rotation axis; P2a…High / low difference teaching point; PD…Drive pulse; PG…Program; POL…Polygon; POL_1…Through polygon; POL_1a…Smooth through polygon; POL_1b…High / low difference through polygon; POL_2…Polygon; PR2…High / low difference region; PTS…Timing signal; PV…Vertex; PV_1…First vertex; PV_2…Second vertex; Pa…Teach point; Pa1…Smooth teaching point; Pa2…High / low difference teaching point; RP1…Smooth region Domain; RP2…height difference region; RP3…smooth region; RU…movement path; S10…first step; S20…second step; S3…step; S30…third step; S40…fourth step; S50…fifth step; SI…control signal; SP…height difference; SPd…height difference; Sk1…control signal; TCP…tool center point; V…normal vector; VBS…offset potential; VHV…power supply potential; V_1…normal vector; Va…vector; Va1…vector; Va2…vector; Vc_1…first vertex vector; Vc_2…second vertex vector; Vp…normal vector; Vr…vector; W…workpiece; WDb…face; WF…face; dCom…waveform specification signal; θ…ejection angle.
Claims
1. A method of printing a three-dimensional object, characterized by, The following components were used: The head has an ejection surface with multiple nozzles for ejecting liquid; A robotic arm that changes the relative position and orientation of the head with respect to the three-dimensional workpiece. In the aforementioned three-dimensional printing method, The surface of the workpiece has a smooth region and a region with a height difference, wherein the region with a height difference is adjacent to the smooth region and includes the height difference. The three-dimensional printing method includes a first printing action and a second printing action, wherein... The first printing action is to perform the action of spraying liquid from the head onto the smooth area during a period in which the relative position and orientation of the head and the workpiece change. The second printing action is performed before or after the first printing action, during the period when the relative position and orientation of the head and the workpiece change, by spraying liquid from the head into the elevation difference area. When the normal to the ejected surface is defined as the first normal, the normal at the intersection of the workpiece surface and the first normal is defined as the second normal, and the angle between the first normal and the second normal is defined as the ejection angle, the change in the ejection angle during the execution of the second printing action is larger than the change in the ejection angle during the execution of the first printing action. The relative movement speed between the ejector surface and the surface of the workpiece during the execution of the second printing action is lower than the relative movement speed between the ejector surface and the surface of the workpiece during the execution of the first printing action.
2. The method for printing three-dimensional objects as described in claim 1, characterized in that, When the distance between the ejection surface and the workpiece along the direction of the first normal is defined as the ejection distance, the change in the ejection distance during the execution of the second printing action is larger than the change in the ejection distance during the execution of the first printing action.
3. The method for printing three-dimensional objects as described in claim 1 or 2, characterized in that, The length of the head trajectory during the execution of the second printing action is shorter than the length of the area on the surface of the workpiece that is printed during the execution of the second printing action.
4. A teaching method of a robot arm, characterized by, It is a teaching method for a robotic arm that changes the relative position and orientation of the liquid ejection head and the three-dimensional workpiece based on printing path information. The surface of the workpiece has a smooth region and a region with a height difference, wherein the region with a height difference is adjacent to the smooth region and includes the height difference. The teaching method for the robotic arm includes: The first step is to obtain three-dimensional data representing the shape of the workpiece using multiple polygons; The second step is to specify multiple polygons that correspond to the region that the head should scan; The third step involves setting the position and orientation of multiple smooth teaching points, which are teaching points on the smooth region, based on multiple smooth passing polygons that are polygons corresponding to the smooth region. The fourth step involves setting one or both of the positions and attitudes of the multiple smooth through polygons or the multiple smooth teaching points, which are teaching points on the elevation difference region. The fifth step involves generating the printing path information based on the multiple smooth teaching points and the multiple height difference teaching points. In the fourth step, the attitude represented by the plurality of elevation difference teaching points is set based on the plurality of smooth passing polygons or the plurality of smooth teaching points, and the position shown by the plurality of elevation difference teaching points is set based on the polygons in the plurality of passing polygons that correspond to the elevation difference region.