Method for teaching robot and three-dimensional object printing device

JP2024045929A5Pending Publication Date: 2025-08-12SEIKO EPSON CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2022151025
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-09-22
Publication Date
2025-08-12

AI Technical Summary

Technical Problem

Existing methods for robot-assisted three-dimensional printing on curved surfaces lack a specific approach to create an appropriate three-dimensional path, leading to suboptimal printing quality.

Method used

A method for robot teaching that involves setting a printing attitude by defining fixed positional relationships between a nozzle surface and a workpiece, using multiple nozzle rows, and adjusting the relative position and posture of a head with respect to the workpiece to optimize ink ejection based on angles and positions.

Benefits of technology

Improves printing quality by ensuring precise alignment and orientation of the head relative to the workpiece, reducing variations in ink landing angles and enhancing image quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide a proper method for teaching a robot in accordance with a shape of a workpiece.SOLUTION: A method for teaching a robot includes a first step of obtaining data on a workpiece and data on a nozzle surface, a second step of setting a printing position of a head on the basis of the data on the workpiece, and a third step of setting an attitude of printing of the head at the printing position on the basis of the data on the workpiece and the data on the nozzle surface. A straight line passing through a first position on the nozzle surface and a second position on the workpiece is defined as a first straight line; a normal line of the workpiece at the second position is defined as a first normal line; an angle formed by the first straight line and the first normal line is defined as a first angle; a straight line passing through a third position different from the first position on the nozzle surface and a fourth position different from the second position on the workpiece is defined as a second straight line; a normal line of the workpiece at the fourth position is defined as a second normal line; an angle formed by the second straight line and the second normal line is defined as a second angle; and the attitude of printing is set based on the first angle and the second angle, in the third step.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a robot teaching method and a three-dimensional object printing device. [Background technology]

[0002] There is a known device that uses a robot to perform inkjet printing on the surface of a three-dimensional workpiece. For example, the system described in Patent Document 1 has a robot and a print head placed on the robot, and ejects ink droplets from the print head onto the curved surface of the object.

[0003] Patent document 1 discloses a method having the steps of measuring an area of ​​an object surface in three dimensions, creating a set of spatial points corresponding to the area, creating a three-dimensional net corresponding to the area, and creating a three-dimensional path for moving a robot. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Special Publication No. 2015-520011 Summary of the Invention [Problem to be solved by the invention]

[0005] Patent Document 1 does not disclose a specific method for the step of creating a three-dimensional path. In order to perform high-quality printing on the surface of a workpiece using a robot, it is desirable to realize an appropriate method for teaching the robot according to the shape of the workpiece. [Means for solving the problem]

[0006] In order to solve the above problems, one aspect of the robot teaching method disclosed herein is a method for teaching a robot in a three-dimensional printing device that includes a head having a nozzle surface with a nozzle row composed of a plurality of nozzles, and a robot, and performs a printing operation in which the head ejects liquid onto a three-dimensional workpiece while the robot changes the relative position and posture between the head and the workpiece, and includes a print posture setting step for setting a print posture, which is the relative posture between the head and the workpiece in the printing operation, and in the print posture setting step, when a position in the virtual space where the positional relationship with the nozzle surface is fixed is defined as a first position, and a position different from the first position where the positional relationship with the nozzle surface is fixed is defined as a third position, the printing posture is set based on the positional relationship between the first position and the workpiece and the positional relationship between the third position and the workpiece.

[0007] Another aspect of the robot teaching method according to the present disclosure is a method for teaching the robot in a three-dimensional printing device that includes a head having a nozzle surface with N (N is a natural number greater than or equal to 2) nozzle rows configured with a plurality of nozzles, and a robot, and that performs a printing operation in which the head ejects liquid onto a three-dimensional workpiece while the robot changes the relative position and posture between the head and the workpiece, the method including a print posture setting step for setting a print posture, which is the relative posture between the head and the workpiece in the printing operation, in which N positions are defined in the virtual space where the positional relationship with the nozzle surface is fixed and each of the N nozzle rows corresponds to one of the N positions, and the printing posture is set based on the positional relationship with the workpiece at the N positions.

[0008] One aspect of a three-dimensional object printing device according to the present disclosure is a three-dimensional object printing device having a head having a nozzle surface on which a nozzle row composed of a plurality of nozzles that eject liquid is provided, and a robot that changes the relative position and posture between the head and a three-dimensional workpiece, wherein the nozzle row includes a first nozzle row and a second nozzle row that are aligned with each other in a width direction, a first line is a straight line that passes through a first position on the nozzle surface and a second position on the workpiece, a first normal is a normal to the workpiece at the second position, an angle between the first line and the first normal is a first angle, a third position different from the first position on the nozzle surface and a third position different from the second position on the workpiece is a third angle. When a first printing operation is performed in which liquid is ejected from the first nozzle row onto the workpiece and liquid is not ejected from the second nozzle row, the relative attitude between the head and the workpiece is set based on the first angle and not based on the second angle, and when a second printing operation is performed in which liquid is ejected from both the first nozzle row and the second nozzle row onto the workpiece, the relative attitude between the head and the workpiece is set based on the first angle and the second angle. [Brief description of the drawings]

[0009] [Figure 1] 1 is a perspective view showing an outline of a three-dimensional object printing device according to an embodiment. FIG. [Diagram 2] FIG. 2 is a block diagram showing the electrical configuration of the three-dimensional object printing device according to the embodiment. [Diagram 3] FIG. 2 is a perspective view showing a schematic configuration of a head unit. [Figure 4] FIG. 11 is a diagram for explaining an example of a printing operation of a robot. [Diagram 5] 4 is a flowchart showing a teaching method for a robot according to the embodiment. [Figure 6] FIG. 11 is a diagram for explaining acquisition of work data in a first step. [Figure 7]FIG. 11 is a diagram for explaining setting of a print position in a second step. [Figure 8] FIG. 11 is a diagram for explaining setting of the temporary printing attitude in a third step. [Figure 9] FIG. 4 is a diagram for explaining positions on a nozzle surface. [Figure 10] 13 is a diagram for explaining a first angle and a second angle regarding the temporary printing posture around the roll axis in the third step. FIG. [Figure 11] 13A to 13C are diagrams for explaining the determination of the printing posture around the roll axis in the third step. [Figure 12] 13A to 13C are diagrams for explaining a first angle and a second angle regarding the temporary printing posture around the pitch axis in the third step. [Figure 13] 13A to 13C are diagrams for explaining the determination of the printing posture around the pitch axis in the third step. [Figure 14] FIG. 11 is a diagram for explaining the movement of the head during execution of the first printing operation. [Figure 15] FIG. 11 is a diagram for explaining the movement of the head during execution of the second printing operation. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, preferred embodiments of the present disclosure will be described with reference to the accompanying drawings. Note that the dimensions and scale of each part in the drawings may differ from the actual dimensions, and some parts are shown diagrammatically to facilitate understanding. In addition, the scope of the present disclosure is not limited to these forms unless otherwise specified in the following description to the effect that the present disclosure is limited.

[0011] For convenience, the following description will be made using the mutually intersecting X-axis, Y-axis, and Z-axis as appropriate. 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 direction and the Y2 direction. In addition, the opposite directions along the Z-axis are the Z1 direction and the Z2 direction.

[0012] Here, the X-axis, Y-axis, and Z-axis correspond to the coordinate axes of a world coordinate system set in a space in which a robot 2 (described later) is installed. Typically, the Z-axis is a vertical axis, and the Z2 direction corresponds to the downward direction in the vertical direction. A base coordinate system based on the position of a base 210 (described later) of the robot 2 is associated with the world coordinate system by calibration. For convenience, the following describes an example in which the operation of the robot 2 is controlled using the world coordinate system as the robot coordinate system.

[0013] The Z axis does not have to be a vertical axis. The X axis, the Y axis, and the Z axis are typically mutually orthogonal, but are not limited thereto, and may not be orthogonal. For example, the X axis, the Y axis, and the Z axis may intersect each other at an angle within a range of 80° to 100°.

[0014] 1-1. Overview of the three-dimensional printing device 1 is a perspective view showing an outline of a three-dimensional object printing apparatus 1 according to an embodiment of the present invention. The three-dimensional object printing apparatus 1 is an apparatus that performs printing on the surface of a three-dimensional workpiece W by an inkjet method.

[0015] The workpiece W has a surface WF to be printed. In the example shown in FIG. 1, the surface WF is a convex curved surface having multiple portions with different curvatures. During printing, the workpiece W is supported by a structure such as a predetermined installation table, a robot hand, or a conveyor, as necessary. Note that the printing target may be a surface other than the surface WF among the multiple surfaces of the workpiece W. Furthermore, the size, shape, or installation posture of the workpiece W is not limited to the example shown in FIG. 1 and is arbitrary.

[0016] 1, the three-dimensional object printing apparatus 1 has a robot 2, a head unit 3, a controller 5, a piping section 10, and a wiring section 11. First, each of these will be briefly described in order below.

[0017] The robot 2 is a robot that changes the position and orientation of the head unit 3 in the world coordinate system. In the example shown in Fig. 1, the robot 2 is a so-called six-axis vertical articulated robot.

[0018] As shown in FIG. 1, the robot 2 has a base 210 and an arm 220 .

[0019] The base 210 is a platform that supports the arm 220. In the example shown in Fig. 1, the base 210 is fixed by screws or the like to an installation surface such as a floor surface or a base facing the Z1 direction. The installation surface to which the base 210 is fixed may be a surface facing any direction and is not limited to the example shown in Fig. 1, and may be, for example, a wall, a ceiling, a surface of a movable dolly, or the like.

[0020] Arm 220 is a six-axis robot arm having a base end attached to base 210 and a tip end that changes its position and posture three-dimensionally relative to the base end. Specifically, arm 220 has arms 221, 222, 223, 224, 225, and 226, also called links, which are connected in this order.

[0021] The arm 221 is connected to the base 210 via a joint 230_1 so as to be rotatable around a rotation axis O1. The arm 222 is connected to the arm 221 via a joint 230_2 so as to be rotatable around a rotation axis O2. The arm 223 is connected to the arm 222 via a joint 230_3 so as to be rotatable around a rotation axis O3. The arm 224 is connected to the arm 223 via a joint 230_4 so as to be rotatable around a rotation axis O4. The arm 225 is connected to the arm 224 via a joint 230_5 so as to be rotatable around a rotation axis O5. The arm 226 is connected to the arm 225 via a joint 230_6 so as to be rotatable around a rotation axis O6.

[0022] Each of the joints 230_1 to 230_6 is a mechanism that rotatably connects one of two adjacent members among the base 210 and the arms 221 to 226 to the other. Note that, hereinafter, each of the joints 230_1 to 230_6 may be referred to as a "joint 230."

[0023] Although not shown in Fig. 1, each of the joints 230_1 to 230_6 is provided with a drive mechanism for rotating one of the two corresponding adjacent members relative to the other. The drive mechanism includes, for example, a motor that generates a drive force for the rotation, a reducer that reduces the speed of the drive force and outputs it, and an encoder such as a rotary encoder that detects an amount of movement such as an angle of the rotation. The assembly of the drive mechanisms of the joints 230_1 to 230_6 corresponds to an arm drive mechanism 2a shown in Fig. 2 described later.

[0024] The rotation axis O1 is an axis perpendicular to an installation surface (not shown) to which the base 210 is fixed. The rotation axis O2 is an axis perpendicular to the rotation axis O1. The rotation axis O3 is an axis parallel to the rotation axis O2. The rotation axis O4 is an axis perpendicular to the rotation axis O3. The rotation axis O5 is an axis perpendicular to the rotation axis O4. The rotation axis O6 is an axis perpendicular to the rotation axis O5.

[0025] With regard to these rotation axes, "perpendicular" refers not only to the case where the angle between the two rotation axes is exactly 90°, but also to the case where the angle between the two rotation axes is offset within a range of about ±5° from 90°. Similarly, "parallel" refers not only to the case where the two rotation axes are exactly parallel, but also to the case where one of the two rotation axes is inclined relative to the other axis within a range of about ±5°.

[0026] Of the arms 221 to 226 of the robot 2, the arm 226 located at the most distal end is attached with a head unit 3 fixed thereto by screws or the like as an end effector.

[0027] The head unit 3 is an assembly having a head 3a that ejects ink, which is an example of a "liquid," toward the workpiece W. In this embodiment, the head unit 3 has a pressure adjustment valve 3b and an energy emission unit 3c in addition to the head 3a. Details of the head unit 3 will be described later with reference to FIG.

[0028] The ink is not particularly limited, and examples thereof include water-based ink in which a coloring material such as a dye or pigment is dissolved in a water-based solvent, curable ink using a curable resin such as an ultraviolet curable type, and solvent-based ink in which a coloring material such as a dye or pigment is dissolved in an organic solvent. Among them, curable ink is preferably used. The curable ink is not particularly limited, and may be, for example, any of a heat curable type, a photocurable type, a radiation curable type, and an electron beam curable type, but a photocurable type such as an ultraviolet curable type is preferable. The ink is not limited to a solution, and may be an ink in which a coloring material or the like is dispersed as a dispersoid in a dispersion medium. In addition, the ink is not limited to an ink containing a coloring material, and may be, for example, an ink containing conductive particles such as metal particles for forming wiring or the like as a dispersoid, a clear ink, or a treatment liquid for surface treatment of the workpiece W.

[0029] A piping section 10 and a wiring section 11 are connected to the head unit 3. The piping section 10 is a piping or a group of piping that supplies ink from an ink tank (not shown) to the head unit 3. The wiring section 11 is a wire or a group of wires that supplies an electrical signal that drives the head 3a.

[0030] The controller 5 is a robot controller that controls the driving of the robot 2. Below, the electrical configuration of the three-dimensional object printing apparatus 1 will be described with reference to Fig. 2, including a detailed description of the controller 5.

[0031] 1-2. Electrical configuration of the 3D printing device Fig. 2 is a block diagram showing the electrical configuration of the three-dimensional object printing apparatus 1 according to the embodiment. Fig. 2 shows electrical components among the components of the three-dimensional object printing apparatus 1. As shown in Fig. 2, the three-dimensional object printing apparatus 1 has, in addition to the components shown in Fig. 1 described above, a control module 6 communicatively connected to a controller 5, and a computer 7 communicatively connected to the controller 5 and the control module 6.

[0032] 2 may be appropriately divided, some of the components may be included in other components, or the components may be integrated with other components. For example, some or all of the functions of the controller 5 or the control module 6 may be implemented by a computer 7, or may be implemented by another external device such as a personal computer (PC) connected to the controller 5 via a network such as a local area network (LAN) or the Internet.

[0033] The controller 5 has a function of controlling the driving of the robot 2 and a function of generating a signal D3 for synchronizing the ink ejection operation of the head unit 3 with the operation of the robot 2.

[0034] The controller 5 includes a memory circuit 5a and a processing circuit 5b.

[0035] 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 includes one or both of semiconductor memories, for example, a volatile memory such as a random access memory (RAM) and a non-volatile memory such as a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM) or a programmable ROM (PROM). Note that a part or the whole of the storage circuit 5a may be included in the processing circuit 5b.

[0036] The memory circuit 5a stores the print path information Da. The print path information Da is used to control the operation of the robot 2, and is information indicating the position and posture of the head 3a on the path to which the head 3a should move. That is, the print path information Da includes position data Da1 indicating the position of the head 3a on the path to which the head 3a should move, and posture data Da2 indicating the posture of the head 3a on the path to which the head 3a should move. The position data Da1 indicates a print position, which is a relative position between the head 3a and the workpiece W when a print operation is performed to apply ink ejected from the nozzle N to the workpiece W. The posture data Da2 indicates a print posture, which is a relative posture between the head 3a and the workpiece W at the print position indicated by the position data Da1. The print path information Da is expressed, for example, using coordinate values ​​of a base coordinate system or a world coordinate system. The print path information Da is generated by the computer 7 based on the workpiece data Db and the nozzle surface data Dc in a teaching method for the robot 2 described later. The print path information Da is input to the memory circuit 5a from the computer 7. The print path information Da may be expressed using coordinate values ​​in the work coordinate system. In this case, the print path information Da is used to control the operation of the robot 2 after being converted from the coordinate values ​​in the work coordinate system to coordinate values ​​in the base coordinate system or the world coordinate system.

[0037] The processing circuit 5b controls the operation of the arm driving mechanism 2a of the robot 2 based on the print path information Da, and generates a signal D3. The processing circuit 5b includes, for example, a processor such as one or more CPUs (Central Processing Units). Note that the processing circuit 5b may include a programmable logic device such as an FPGA (field-programmable gate array) instead of or in addition to a CPU.

[0038] Here, the arm driving mechanism 2a is an assembly of driving mechanisms for the aforementioned joints 230_1 to 230_6, and each joint 230 has a motor for driving the joint of the robot 2 and an encoder for detecting the rotation angle of the joint of the robot 2.

[0039] The processing circuit 5b performs inverse kinematic calculations, which are calculations that convert the print path information Da into amounts of movement, such as the rotation angle and rotation speed, of each joint 230 of the robot 2. The processing circuit 5b then outputs a control signal Sk1 based on the output D1 from each encoder of the arm drive mechanism 2a so that the actual amounts of movement, such as the rotation angle and rotation speed, of each joint 230 become the above-mentioned calculation results based on the print path information Da. The control signal Sk1 is a signal for controlling the drive of the motor of the arm drive mechanism 2a. Here, the control signal Sk1 is corrected by the processing circuit 5b as necessary based on the output from a distance sensor (not shown).

[0040] Furthermore, the processing circuit 5b generates a signal D3 based on an output D1 from at least one of the multiple encoders of the arm driving mechanism 2a. For example, the processing circuit 5b generates, as the signal D3, a trigger signal including a pulse at a timing when the output D1 from one of the multiple encoders becomes a predetermined value.

[0041] The control module 6 is a circuit that controls the ink ejection operation of the head unit 3 based on a signal D3 output from the controller 5 and print data from the computer 7. The control module 6 has a timing signal generation circuit 6a, a power supply circuit 6b, a control circuit 6c, and a drive signal generation circuit 6d.

[0042] The timing signal generating circuit 6a generates a timing signal PTS based on the signal D3. The timing signal generating circuit 6a is formed of, for example, a timer that starts generating the timing signal PTS in response to detection of the signal D3.

[0043] The power supply circuit 6b receives power from a commercial power supply (not shown) and generates various predetermined potentials. The generated potentials are appropriately supplied to the control module 6 and each part 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. The power supply potential VHV is also supplied to the drive signal generation circuit 6d.

[0044] The control circuit 6c generates a control signal SI, a waveform designation signal dCom, a latch signal LAT, a clock signal CLK, and a change signal CNG based on the timing signal PTS. These signals are synchronized with the timing signal PTS. Of these signals, the waveform designation signal dCom is input to the drive signal generation circuit 6d, and the other signals are input to the switch circuit 3e of the head unit 3.

[0045] The control signal SI is a digital signal for specifying the operating state of the driving element of the head 3a of the head unit 3. Specifically, the control signal SI is a signal for specifying whether or not to supply a driving signal Com, which will be described later, to the driving element based on the print data. This specification, for example, specifies whether or not to eject ink from the nozzle corresponding to the driving element, or specifies the amount of ink ejected from the nozzle. The waveform specification signal dCom is a digital signal for defining the waveform of the driving signal Com. The latch signal LAT and the change signal CNG are signals used in conjunction with the control signal SI to specify the drive timing of the driving element, thereby specifying the ejection timing of ink from the nozzle. The clock signal CLK is a reference clock signal synchronized with the timing signal PTS.

[0046] The control circuit 6c described above includes, for example, one or more processors such as a CPU, etc. Note that the control circuit 6c may include a programmable logic device such as an FPGA instead of or in addition to a CPU.

[0047] The drive signal generating circuit 6d is a circuit that generates a drive signal Com for driving each drive element of the head 3a of the head unit 3. Specifically, the drive signal generating circuit 6d has, for example, a DA conversion circuit and an amplifier circuit. In the drive signal generating circuit 6d, the DA conversion circuit converts the waveform designation signal dCom from the control circuit 6c from a digital signal to an analog signal, and the amplifier circuit amplifies the analog signal using the power supply potential VHV from the power supply circuit 6b to generate the drive signal Com. Here, among the waveforms included in the drive signal Com, a signal of a waveform that is actually supplied to the drive element is a drive pulse PD. The drive pulse PD is supplied from the drive signal generating circuit 6d to the drive element via the switch circuit 3e of the head unit 3.

[0048] Here, the switch circuit 3e is a circuit including a switching element that switches whether or not at least a part of the waveform included in the drive signal Com is supplied as the drive pulse PD based on a control signal SI.

[0049] The computer 7 is a desktop or notebook computer on which a program such as the program PG is installed. The computer 7 has a function of generating print path information Da, a function of supplying information such as the print path information Da to the controller 5, and a function of supplying information such as the print data Img to the control module 6. In addition to these functions, the computer 7 of this embodiment has a function of controlling the driving of the energy emission unit 3c.

[0050] The computer 7 has a memory circuit 7a and a processing circuit 7b. In addition, although not shown, the computer 7 has an input device such as a keyboard or a mouse that accepts operations from a user. The computer 7 may also have a display device such as a liquid crystal panel that displays information necessary for generating the print path information Da.

[0051] 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 includes, for example, one or both of semiconductor memories, a volatile memory such as a RAM, and a non-volatile memory such as a ROM, an EEPROM, or a PROM. Note that a part or the whole of the storage circuit 7a may be included in the processing circuit 7b.

[0052] The memory circuit 7a stores print path information Da, work data Db, nozzle surface data Dc, and a program PG.

[0053] The program PG is a program for generating print path information Da based on the workpiece data Db and the nozzle surface data Dc.

[0054] The work data Db is data representing at least a part of the shape of the work W. Specifically, the work data Db is three-dimensional data in a format such as STL (Standard Triangulated Language) that represents the shape of the work W by a plurality of polygons. The work data Db includes coordinate information Db1, which is information about the coordinates of each vertex of the polygon, and vector information Db2, which is information about normal vectors indicating the front and back of the polygon surface. The work data Db is obtained by converting CAD (computer-aided design) data representing the three-dimensional shape of the work W as necessary. The work data Db may be represented using coordinate values ​​of a work coordinate system, or may be represented by point cloud data using coordinate values ​​of a base coordinate system or a world coordinate system. The work data Db may also be represented by a formula or the like, and the format of the work data Db may be appropriately converted as necessary.

[0055] The nozzle surface data Dc is data that represents at least a part of the shape of the nozzle surface FN. More specifically, the nozzle surface data Dc is three-dimensional data in a format such as STL (Standard Triangulated Language) that represents the shape of the nozzle surface FN using a plurality of polygons. The work data Db is obtained by converting CAD (computer-aided design) data that represents the three-dimensional shape of the nozzle surface FN as necessary. The nozzle surface data Dc may be represented using coordinate values ​​in a work coordinate system, or may be represented by point cloud data that uses coordinate values ​​in a base coordinate system or a world coordinate system. The nozzle surface data Dc may also be represented by a formula or the like, and the format of the nozzle surface data Dc may be appropriately converted as necessary.

[0056] The processing circuit 7b realizes each of the above-mentioned functions by executing a program such as the program PG. The processing circuit 7b includes, for example, one or more processors such as a CPU. Note that the processing circuit 7b may include a programmable logic device such as an FPGA instead of or in addition to the CPU.

[0057] Processing circuit 7b executes program PG to function as generating unit 7b1. Generating unit 7b1 generates print path information Da based on work data Db. The generation of print path information Da by generating unit 7b1 will be described in detail later with reference to FIGS. 5 to 15.

[0058] 1-3.Head unit configuration 3 is a perspective view showing a schematic configuration of the head unit 3. In the following description, for convenience, the mutually intersecting a-axis, b-axis, and c-axis are appropriately used. 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. In addition, the opposite directions along the c-axis are the c1 direction and the c2 direction.

[0059] Here, the a-axis, the b-axis, and the c-axis correspond to the coordinate axes of the tool coordinate system set in the head unit 3, and the relative position and posture relationship with the world coordinate system or the robot coordinate system changes due to the operation of the robot 2. In the example shown in FIG. 3, the c-axis is an axis parallel to the rotation axis O6. The a-axis, the b-axis, and the c-axis typically intersect at right angles to each other, but are not limited to this, and may intersect at an angle within a range of 80° to 100°. The tool coordinate system and the base coordinate system or the robot coordinate system are associated with each other by calibration.

[0060] In the following, the a-axis may be called the "roll axis", the b-axis the "pitch axis", and the c-axis the "yaw axis". Rotation around the a-axis may be called the "roll", rotation around the b-axis the "pitch", and rotation around the c-axis the "yaw".

[0061] The tool coordinate system is set with the tool center point TCP as a reference. Therefore, the position and attitude of the head 3a are defined with the tool center point TCP as a reference. In the example shown in Fig. 3, the tool center point TCP is disposed in a space spaced apart from the head 3a in the ink ejection direction DE. The position of the tool center point TCP is not limited to the example shown in Fig. 3, and may be, for example, the center of the nozzle surface FN.

[0062] As described above, the head unit 3 has the head 3a, the pressure regulating valve 3b, and the energy emission unit 3c. These are supported by a support 3f indicated by a two-dot chain line in FIG. 3. In the example shown in FIG. 3, the head unit 3 has one head 3a and one pressure regulating valve 3b, but the number is not limited to the example shown in FIG. 3 and may be two or more. In addition, the installation position of the pressure regulating valve 3b is not limited to the arm 226 and may be, for example, another arm or the like, or may be a fixed position relative to the base 210.

[0063] The support 3f is made of, for example, a metal material, and is substantially rigid. Although the support 3f has a flat box shape in Fig. 3, the shape of the support 3f is not particularly limited and may be any shape.

[0064] The support 3f is attached to the arm 226 described above. Therefore, the head 3a, the pressure regulating valve 3b, and the energy emitter 3c are collectively supported on the arm 226 by the support 3f. Therefore, the relative positions of the head 3a, the pressure regulating valve 3b, and the energy emitter 3c with respect to the arm 226 are fixed. In the example shown in Fig. 3, the pressure regulating valve 3b is disposed at a position in the c1 direction with respect to the head 3a. The energy emitter 3c is disposed at a position in the a2 direction with respect to the head 3a.

[0065] The head 3a has a nozzle surface FN and a plurality of nozzles N opening on the nozzle surface FN. The nozzle surface FN is a nozzle surface on which the nozzles N open, and is made of, for example, a material such as silicon (Si) or metal, or, when another member is arranged as a component of the head unit 3 on a plane extending from the plate surface, is a surface composed of the plate surface of the nozzle plate and the surface of the other member. Here, the nozzle plate is a member in which a plurality of nozzles N are formed on a plate-like member made of silicon or metal. Examples of the other member include a fixed plate and a cover head. The fixed plate is a member provided around the nozzle plate for the purpose of fixing or protecting the nozzle plate. The cover head is a member provided for the purpose of protecting the head 3a, and has a portion that is arranged around the nozzle plate. Note that the fixed plate and the cover head may not be provided depending on the configuration of the head 3a. In addition, the surfaces of the fixed plate and the cover head may differ from the plate surface of the nozzle plate by a maximum of about 0.8 mm in position in the direction along the c-axis. In the example shown in Fig. 3, the nozzle surface FN is composed of only the plate surface of one nozzle plate, but it may have multiple nozzle plates, in which case the nozzle surface FN is defined as a surface that includes the multiple nozzle plates. Also, in the example shown in Fig. 3, the normal direction of the nozzle surface FN, i.e., the ejection direction DE of ink from the nozzle N, is the c2 direction. Strictly speaking, the ejection direction DE and the c2 direction may not be parallel due to the influence of inertia due to the operation of the robot 2 and air currents, but such errors are not taken into consideration in this embodiment.

[0066] The multiple nozzles N are divided into a first nozzle row NL1 and a second nozzle row NL2 that are arranged at intervals in the direction along the a-axis. Each of the first nozzle row NL1 and the second nozzle row NL2 is a collection of multiple nozzles N that are linearly arranged in the nozzle row direction DN that is the direction along the b-axis. Here, elements related to each nozzle N of the first nozzle row NL1 in the head 3a and elements related to each nozzle N of the second nozzle row NL2 are configured to be approximately symmetrical to each other in the direction along the a-axis.

[0067] However, the positions of the multiple nozzles N in the first nozzle row NL1 and the multiple nozzles N in the second nozzle row NL2 in the direction along the b-axis may be the same or different. Also, elements related to each nozzle N of one of the first nozzle row NL1 and the second nozzle row NL2 may be omitted. In the following, a configuration in which the positions of the multiple nozzles N in the first nozzle row NL1 and the multiple nozzles N in the second nozzle row NL2 in the direction along the b-axis are the same will be exemplified.

[0068] In the following, the first nozzle row NL1 and the second nozzle row NL2 may be collectively referred to as the nozzle row NL. The nozzle row NL includes the first nozzle row NL1 and the second nozzle row NL2.

[0069] Although not shown, the head 3a has a piezoelectric element as a drive element and a cavity that contains ink for each nozzle N. Here, the piezoelectric element changes the pressure in the cavity corresponding to the piezoelectric element, thereby discharging ink from the nozzle corresponding to the cavity in a discharge direction DE. Such a head 3a can be obtained, for example, by bonding together a plurality of substrates, such as silicon substrates, that have been appropriately processed by etching or the like, with an adhesive or the like. Note that instead of the piezoelectric element, a heater that heats the ink in the cavity may be used as a drive element for discharging ink from the nozzle.

[0070] To the head 3a, ink is supplied from an ink tank (not shown) through a supply pipe 10a of the piping unit 10. Here, a pressure adjustment valve 3b is interposed between the supply pipe 10a and the head 3a.

[0071] The energy emission unit 3c emits energy such as light, heat, electron beams, or radiation to harden or solidify the ink on the workpiece W. For example, if the ink is ultraviolet-curable, the energy emission unit 3c is configured with a light-emitting element such as an LED (light emitting diode) that emits ultraviolet light. The energy emission unit 3c may also include optical components such as lenses for adjusting the energy emission direction or emission range, as appropriate.

[0072] 1-4. Printing operation of robot 2 Fig. 4 is a diagram for explaining an example of the printing operation of the robot 2. Fig. 4 illustrates an example in which printing is performed on a surface WF of a workpiece W placed at a position further away from the robot 2 in the X2 direction.

[0073] In the printing operation, ink is appropriately ejected from the nozzles N based on the printing data and applied to the workpiece W, thereby printing with ink on the workpiece W. At this time, the robot 2 changes the position and posture of the head 3a based on the printing path information Da. In other words, the printing operation is an operation in which the three-dimensional object printing device 1 ejects ink from the head 3a onto the workpiece W while changing the positions and postures of the head 3a and the workpiece W by the robot 2. As a result, the head 3a moves along the movement path RU based on the position data Da1 while maintaining a predetermined posture based on the posture data Da2 with respect to the surface WF. The movement path RU is the path from position PS to position PE.

[0074] In the example shown in Fig. 4, the movement path RU extends along the X-axis when viewed in the Z2 direction. During the printing operation, the robot 2 mainly operates three of the joints 230, namely, the joint 230_2, the joint 230_3, and the joint 230_5. Here, the rotation axes of the three joints 230 are parallel to the Y-axis, and the head 3a can be moved stably by operating only the three joints 230. However, depending on the printing path and printing posture to be set, it may be necessary to operate other joints 230, so the joints to be operated may not be particularly limited.

[0075] The robot 2 may perform a printing operation by operating four or more of the six joints 230. In this case, the installation position and installation posture of the work W are not limited to the example shown in Fig. 4 and are arbitrary. The movement path RU is determined according to the shape, printing range, installation position and installation posture, etc. of the work W, and is not limited to the example shown in Fig. 4 and is arbitrary.

[0076] 1-5. Teaching method for Robot 2 5 is a flowchart showing a teaching method for the robot 2 according to the embodiment. The teaching method will be described below using the above-mentioned three-dimensional object printing device 1 as an example. The teaching method is performed using a computer 7. Here, a generating unit 7b1 generates printing path information Da by the teaching method.

[0077] As shown in FIG. 5, the teaching method includes a first step S10, a second step S20, and a third step S30, and these steps are executed in this order.

[0078] The first step S10 is an example of a data acquisition step, in which the memory circuit 7a acquires the work data Db and the nozzle surface data Dc. In the example shown in FIG. 5, the first step S10 includes a step S11 of acquiring the work data Db and a step S12 of acquiring the nozzle surface data Dc. Note that step S11 may be performed before the second step S20, for example, between step S12 and the second step S20. Step S12 may be performed before the third step S30, for example, between the second step S20 and the third step S30. That is, the second step S20 may be performed between step S11 and step S12.

[0079] The second step S20 is an example of a print position setting step, in which the processing circuit 7b sets the print position indicated by the position data Da1 based on the work data Db. This setting generates the position data Da1. In the example shown in Fig. 5, the second step S20 includes, in this order, a step S21 of specifying a virtual plane FV, a step S22 of identifying multiple intersection polygons POL_1, and a step S23 of determining the print position.

[0080] The third step S30 is an example of a print attitude setting step. The print attitude is a concept indicating the attitude of the head 3a relative to the workpiece W in the printing operation. In the third step S30, the print attitude is set based on the workpiece data Db and the nozzle face data Dc, thereby setting the attitude of the robot 2 in the printing operation. More specifically, in the third step S30, the processing circuit 7b sets the print attitude indicated by the attitude data Da2. This setting generates the attitude data Da2. In the example shown in FIG. 5, the third step S30 includes a step S31 of setting a tentative print attitude, a step S32 of calculating a first angle θ1 and a second angle θ2, and a step S33 of determining the print attitude, in this order. The first angle θ1 is the first angle θ1a, θ1b described later. The second angle θ2 is the second angle θ2a, θ2b described later.

[0081] By executing the above-mentioned first step S10, second step S20, and third step S30, the print path information Da is generated. Each step shown in FIG.

[0082] 1-5-1. First step FIG. 6 is a diagram for explaining the acquisition of work data Db in the first step S10. In step S11 of the first step S10, the work data Db is acquired. This acquisition is performed by the generation unit 7b1 reading out the work data Db from the memory circuit 7a. In FIG. 6, a part of the surface WDb represented by the work data Db is representatively shown. The surface WDb corresponds to the surface WF of the work W. In the example shown in FIG. 6, for ease of understanding and convenience of explanation, the surface WDb is shown in the base coordinate system or the robot coordinate system. Note that the surface WDb may be expressed in the work coordinate system.

[0083] The surface WDb is composed of a plurality of polygons POL. In the example shown in FIG. 6, each polygon POL forms a triangle having three sides LE and three vertices PV. Here, each side LE is shared by two polygons POL. Two polygons POL sharing one side LE are adjacent to each other with the side LE as a boundary. Also, each vertex PV is shared by three or more polygons POL. Three or more polygons POL sharing one vertex PV are in contact with each other with the vertex PV as a contact point. In FIG. 6, for convenience of explanation, a normal vector Vp of each polygon POL is illustrated. The normal vector Vp is represented by vector information Db2. Note that the shape of each polygon POL is not limited to a triangle, and may be another polygon such as a quadrangle.

[0084] Although not shown, in step S12 of the first step S10, the nozzle face data Dc is obtained by the generation unit 7b1 reading out the nozzle face data Dc from the memory circuit 7a.

[0085] 1-5-2. Second step 7 is a diagram for explaining the setting of the print position in the second step S20. In step S21 of the second step S20, a virtual plane FV expressed in the same coordinate system as the work data Db is specified in a virtual space that virtually represents the real space. The virtual plane FV crosses the surface WDb. The virtual plane FV and the surface WDb intersect with each other at an intersection line LC.

[0086] The virtual plane FV is specified by the generating unit 7b1 based on the printing position information set by the user. The printing position information is information about one or both of the position and the posture on the surface of the work W at the time of printing desired by the user, and is set by the user's input to the computer 7. For example, the user inputs the printing position information using the input device of the computer 7, and in the virtual space, one or both of the position and the posture on the surface of the work W of the image printed by the three-dimensional printing device 1 are set or appropriately adjusted. More specifically, on the image corresponding to the work W displayed based on the work data Db, the user can input the printing position information by setting the position according to the movement of the cursor by mouse operation, or adjusting the posture by mouse operation such as so-called drag and drop.

[0087] The generating unit 7b1 specifies the virtual plane FV according to the print position information. Here, it is preferable that the virtual plane FV is specified so as to be as parallel as possible to the normal of the intersecting polygon POL (intersecting polygon POL_1 described later). For example, as shown in FIG. 7, when there are five intersecting polygons POL, the virtual plane FV is specified so as to minimize the sum or average value of the difference between the angle between each polygon POL and the virtual plane FV and 90°.

[0088] Here, the virtual plane FV is a plane that roughly represents the ideal ink ejection direction by the head 3a and the ideal movement direction of the head 3a. In other words, during a printing operation, the head 3a ejects ink generally parallel to the virtual plane FV, and the head 3a moves in a direction generally parallel to the virtual plane FV. In this way, the virtual plane FV is a reference plane for defining the position and posture of the head 3a during printing.

[0089] Step S22 of the second step S20 specifies, in the virtual space, a plurality of intersecting polygons POL_1, which are polygons POL that intersect with the virtual plane FV, among the plurality of polygons POL. As described above, since the virtual plane FV crosses the face WDb, the plurality of polygons POL that constitute the face WDb are divided into a plurality of intersecting polygons POL_1 that intersect with the virtual plane FV and a plurality of polygons POL_2 that do not intersect with the virtual plane FV. In FIG. 7, for convenience of explanation, the intersecting polygons POL_1 are displayed with shading.

[0090] Step S23 of the second step S20 sets the print position indicated by the position data Da1 in the virtual space based on the multiple intersection polygons POL_1. Specifically, step S23 sets the print position indicated by the position data Da1 based on multiple intersection points Pa between the sides LE of the multiple intersection polygons POL_1 and the virtual plane FV.

[0091] In the example shown in FIG. 7, the spaces between the multiple intersection points Pa are interpolated with the interpolation points Pb. The multiple points consisting of the multiple intersection points Pa and the multiple interpolation points Pb are set as the print position indicated by the position data Da1. In this manner, the print position indicated by the position data Da1 is set based on the multiple intersection points Pa and the multiple interpolation points Pb. Note that, in the example shown in FIG. 7, the number of the interpolation points Pb arranged between two adjacent intersection points Pa is one, but the number may be two or more. The multiple points consisting of the multiple intersection points Pa and the multiple interpolation points Pb do not have to be spaced at equal intervals.

[0092] The position data Da1 may be based on at least one of the multiple intersection points Pa and the multiple interpolation points Pb, and the printing position indicated by the position data Da1 may not necessarily coincide with the positions of the multiple intersection points Pa and the multiple interpolation points Pb. For example, in order to separate the head 3a and the workpiece W during printing to prevent them from colliding with each other, the printing position indicated by the position data Da1 may be a position in which the positions of the multiple intersection points Pa and the multiple interpolation points Pb are moved in a direction that uniformly separates them from the intersection polygon POL_1. In this case, the tool center point TCP of the robot 2 is placed at a position on the nozzle surface FN of the head 3a.

[0093] In the example shown in FIG. 7, the interpolation points Pb are arranged on the intersection line LC. The intersection points Pa and the interpolation points Pb are typically arranged as equally spaced as possible. It is preferable that the interpolation points Pb are arranged on a smooth curve passing through the intersection points Pa. Such a curve is represented by, for example, a spline function. Note that the print position indicated by the position data Da1 may be set by sorting the intersection points Pa into valid intersection points and at least one invalid intersection point, and then interpolating between the valid intersection points.

[0094] 1-5-3. Third step FIG. 8 is a diagram for explaining the setting of the temporary print posture in the third step S30. Here, the temporary print posture is a concept indicating a temporary posture of the head 3a with respect to the workpiece W in the printing operation, and is temporary for the processing circuit 7b to determine the print posture. Although details will be described later, the temporary print posture set in step S31 of the third step S30 is adjusted to an appropriate print posture through steps S32 and S33 described later. For example, in step S31 of the third step S30, a temporary print posture is set in a virtual space based on vector information Db2 of the workpiece data Db. Specifically, in step S31, based on the vector information Db2, a plurality of intersection vectors Va indicating a direction along a normal line corresponding to an intersection Pa between the side LE of a plurality of intersection polygons POL_1 and the virtual plane FV are identified. Then, in step S31, a temporary print posture is set based on the plurality of intersection vectors Va. More specifically, in step S31, the processing circuit 7b sets a temporary print posture so that the ejection direction DE of the head 3a or the c-axis of the head 3a is parallel to the multiple intersection vectors Va.

[0095] In the example shown in Fig. 8, in addition to the intersection vector Va, multiple interpolation point vectors Vb indicating a direction along the normal line corresponding to the interpolation point Pb are specified. That is, the multiple intersection vectors Va are interpolated with the interpolation point vector Vb. Then, the attitude based on the intersection vector Va or the interpolation point vector Vb of each of the multiple intersection points Pa and the multiple interpolation points Pb is set as the temporary print attitude. In this way, the temporary print attitude is set based on the multiple intersection vectors Va and the interpolation point vector Vb.

[0096] The intersection vector Va is preferably defined based on the normal vector Vp of the multiple polygons POL that share both ends of the side LE including the corresponding intersection Pa. Specifically, if one of the multiple intersections Pa is defined as the first intersection, the intersection vector Va indicating the direction along the normal corresponding to the first intersection is preferably defined based on the first vertex vector Vc_1 and the second vertex vector Vc_2. Here, if the side LE including the first intersection among the sides LE of the multiple intersection polygons POL_1 is defined as the first side LE_1, one end of the first side LE_1 is defined as the first vertex PV_1, and the other end of the first side LE_1 is defined as the second vertex PV_2, the first vertex vector Vc_1 is a normal vector corresponding to the first vertex PV_1, and the second vertex vector Vc_2 is a normal vector corresponding to the second vertex PV_2. It is preferable that these vertex vectors are obtained in advance based on the vector information Db2 included in the work data Db.

[0097] The interpolation point vector Vb is defined, for example, to be the average of two adjacent intersection point vectors Va.

[0098] Note that the multiple intersection vectors Va may be sorted into multiple valid intersection vectors and at least one invalid intersection vector, and then the temporary print attitude may be set by interpolating between the multiple valid intersection vectors.

[0099] As another example, in step S31, the processing circuit 7b can determine the temporary print posture based on a virtual plane FV instead of the intersection vector Va. More specifically, in step S31, the processing circuit 7b can set the temporary print posture so that the ejection direction DE of the head 3a or the c-axis of the head 3a is parallel to the virtual plane FV, and the nozzle row direction DN of the head 3a or the b-axis of the head 3a is perpendicular to the virtual plane FV.

[0100] 9 is a diagram for explaining positions on the nozzle surface FN. In this embodiment, in the third step S30, the printing postures around both the roll axis and the pitch axis of the nozzle surface FN with respect to the workpiece W are set.

[0101] To set the printing posture around the roll axis, the first position P1a, the third position P3a, and the fifth position P5a on the nozzle surface FN shown in Fig. 9 are used. As will be described in detail later, the first position P1a, the fifth position P5a, and the third position P3a are arranged in this order in the nozzle row direction DN. Fig. 9 shows the first straight line LS1a, the second straight line LS2a, and the third straight line LS3a, which will be described later, corresponding to the first position P1a, the third position P3a, and the fifth position P5a.

[0102] On the other hand, the first position P1b, the third position P3b, and the fifth position P5b on the nozzle surface FN shown in FIG. 9 are used to set the printing posture around the pitch axis. As will be described in detail later, the first position P1b, the fifth position P5b, and the third position P3b are arranged in this order in a direction perpendicular to the nozzle row direction DN. In the example shown in FIG. 9, the fifth position P5a and the fifth position P5b coincide. FIG. 9 shows the first straight line LS1b, the second straight line LS2b, and the third straight line LS3b, which will be described later, corresponding to the first position P1b, the third position P3b, and the fifth position P5b.

[0103] 9 shows an example in which the first positions P1a, P1b, the third positions P3a, P3b, and the fifth positions P5a, P5b are all located on the nozzle face FN, but this is not necessarily limited to this, and it is sufficient that the relative positional relationship between these positions and the nozzle face FN is constant regardless of the position or posture of the head 3a, in other words, it is sufficient that the positional relationship between the first positions P1a, P1b, the third positions P3a, P3b, and the fifth positions P5a, P5b and the nozzle face FN is fixed. For example, these positions may be offset in the ejection direction DE with respect to the nozzle face FN, but it is preferable that they are within a range that overlaps with the nozzle face FN when viewed along the ejection direction DE.

[0104] FIG. 10 is a diagram for explaining the first angle θ1a and the second angle θ2a for the temporary printing posture around the roll axis in the third step S30. The roll axis is an axis parallel to the a-axis shown in FIG. 3 above, and preferably passes through the tool center point TCP. FIG. 10 shows the workpiece W and the head 3a as viewed in a direction parallel to the nozzle surface FN and perpendicular to the nozzle row direction DN. For convenience of explanation, FIG. 10 shows the workpiece W and the head 3a in a schematic manner.

[0105] In step S32, first, N positions on the nozzle surface FN in the temporary printing attitude are set in virtual space, where N is a natural number equal to or greater than 2. This setting is performed, for example, for each of the multiple intersection points Pa and multiple interpolation points Pb described above.

[0106] In the example shown in FIG. 10, three positions on the nozzle surface FN in the temporary printing posture are set as the first position P1a, the third position P3a, and the fifth position P5a aligned in the nozzle row direction DN for the printing posture of the head 3a around the roll axis. As will be described in detail later, in this embodiment, N is 6, and in addition to the first position P1a, the third position P3a, and the fifth position P5a shown in FIG. 10, the first position P1b, the third position P3b, and the fifth position P5b shown in FIG. 12 are set as positions on the nozzle surface FN in the temporary printing posture. Note that N may be 2 or more and 5 or less, or 7 or more. However, from the viewpoint of setting the printing posture appropriately, N is preferably 2 or more, and more preferably 3 or more. Here, when N is 3 or more, it is preferable that the positions in the direction along the X-axis differ between two of the three points, and that the positions in the direction along the Y-axis differ between two of the three points. Furthermore, the fifth position P5a shown in FIG. 10 and the fifth position P5b shown in FIG. 12 may be different or may be the same.

[0107] Here, the first position P1a and the third position P3a in Fig. 10 are different from each other in the nozzle row direction DN. The fifth position P5a in Fig. 10 is located between the first position P1a and the third position P3a. In addition, in the nozzle row direction DN in Fig. 10, it is preferable that the center of the nozzle row NL is located between the first position P1a and the third position P3a, and the fifth position P5a is located at or near the center of the nozzle row NL.

[0108] When the printing width in the nozzle row direction DN during the printing operation is variable, it is preferable that the distance L13 between the first position P1a and the third position P3a is set smaller as the printing width becomes smaller. In one nozzle row NL, if the number of nozzles N that eject ink is large, the printing width is large, and if the number of nozzles N that eject ink is small, the printing width is small. The printing width is a value that can be determined by the processing circuit 7b based on the printing data Img, and is a value that can also change depending on the dimensions of the image printed by the three-dimensional object printing device 1 on the workpiece W. In this way, when the printing width is variable, there is an advantage that it is easier to improve the image quality by adjusting the printing posture described later, compared to when the distance L13 is fixed. More specifically, when the printing operation includes a first width printing operation in which the printing width in the nozzle row direction DN is a first width, and a second width printing operation in which the printing width in the nozzle row direction DN is a second width narrower than the first width, the printing attitude setting step is executed separately into a first printing attitude setting step for setting the printing attitude in the first width printing operation, and a second printing attitude setting step for setting the printing attitude in the second width printing operation. Here, it is preferable that the distance between the first position P1a and the third position P3a in the second printing attitude setting step is set shorter than the distance between the first position P1a and the third position P3a in the first printing attitude setting step.

[0109] After setting the first position P1a, the third position P3a, and the fifth position P5a, a straight line extending from the first position P1a toward the workpiece W in the normal direction of the nozzle surface FN or the discharge direction is set as the first straight line LS1a. Similarly, a straight line extending from the third position P3a toward the workpiece W in the normal direction of the nozzle surface FN or the discharge direction is set as the second straight line LS2a. A straight line extending from the fifth position P5a toward the workpiece W in the normal direction of the nozzle surface FN or the discharge direction is set as the third straight line LS3a.

[0110] After setting the first straight line LS1a, the second straight line LS2a, and the third straight line LS3a, the intersection point between the first straight line LS1a and the surface WF of the workpiece W is set as the second position P2a. Similarly, the intersection point between the second straight line LS2a and the surface WF of the workpiece W is set as the fourth position P4a. The intersection point between the third straight line LS3a and the surface WF of the workpiece W is set as the sixth position P6a. Here, the sixth position P6a is preferably at or near the tool center point TPC.

[0111] After setting the second position P2a, the fourth position P4a, and the sixth position P6a, the normal to the face WF of the workpiece W at the second position P2a is set as the first normal LN1a. Similarly, the normal to the face WF of the workpiece W at the fourth position P4a is set as the second normal LN2a. The normal to the face WF of the workpiece W at the sixth position P6a is set as the third normal LN3a.

[0112] After setting the first normal line LN1a, the second normal line LN2a, and the third normal line LN3a, the angle between the first straight line LS1a and the first normal line LN1a is set as the first angle θ1a. Similarly, the angle between the second straight line LS2a and the second normal line LN2a is set as the second angle θ2a. The angle between the third straight line LS3a and the third normal line LN3a is set as the third angle θ3a.

[0113] As shown in Fig. 10, when the head 3a is in the temporary printing position, there is a large variation in the first angle θ1a, the second angle θ2a, and the third angle θ3a. In the example shown in Fig. 10, the first angle θ1a and the second angle θ2a are each 0°, while the third angle θ3a is extremely larger than the first angle θ1a or the second angle θ2a. Therefore, the difference between the first angle θ1a, the second angle θ2a, and the third angle θ3a is extremely large.

[0114] If printing is performed with large variations in the first angle θ1a, second angle θ2a, and third angle θ3a calculated in step S32, the difference in ink landing angle between the nozzle rows will be large, resulting in a deterioration in image quality. To solve this problem, adjustments are made to the printing posture in step S33 to obtain an appropriate posture.

[0115] Fig. 11 is a diagram for explaining the determination of the printing posture around the roll axis in the third step S30. Fig. 11 shows the workpiece W and head 3a as viewed in a direction parallel to the nozzle surface FN and perpendicular to the nozzle row direction DN, as in Fig. 10. Note that, for convenience of explanation, Fig. 11 shows the workpiece W and head 3a in a schematic manner, as in Fig. 10.

[0116] In step S33, the print posture is set based on the first angle θ1a and the second angle θ2a in the virtual space. In the example shown in Fig. 11, the print posture around the roll axis of the head 3a is adjusted based on the provisional print posture so that the difference between the first angle θ1a and the second angle θ2a is reduced. Through this adjustment, the print posture around the roll axis of the head 3a is determined.

[0117] In the example shown in FIG. 11, the printing posture is adjusted using the first angle θ1a, the second angle θ2a, and the third angle θ3a so that the difference between these angles is as small as possible. More specifically, the printing posture is adjusted so that the standard deviation of the first angle θ1a, the second angle θ2a, and the third angle θ3a is small. It is also preferable to adjust the printing posture so that the difference between the first angle θ1a, the second angle θ2a, and the third angle θ3a is smallest. Prior to determining the printing posture around the roll axis, the processing circuit 7b can also adjust the printing posture so that the standard deviation is small by alternately and repeatedly executing the adjustment of the printing posture and the calculation of the standard deviation of each angle.

[0118] Here, from the viewpoint of reducing deviations in the ink landing position due to the adjustment, it is preferable that the print attitude be adjusted by rotation about the tool center point TCP. That is, in the example shown in Fig. 11, it is preferable to adjust the print attitude by rotation about the roll axis that passes through the tool center point TCP.

[0119] As described above, in step S33, the printing posture of the head 3a around the roll axis is determined.

[0120] FIG. 12 is a diagram for explaining the first angle θ1b and the second angle θ2b for the provisional printing posture around the pitch axis in the third step S30. The pitch axis is an axis parallel to the b-axis shown in FIG. 3 and preferably passes through the tool center point TCP. In FIG. 12, the workpiece W and the head 3a are shown as viewed in the nozzle row direction DN. For convenience of explanation, the workpiece W and the head 3a are shown in FIG. 12 in a schematic manner.

[0121] In step S32, first, as described above, in the virtual space, in addition to the first position P1a, the third position P3a, and the fifth position P5a shown in Fig. 10, the first position P1b, the third position P3b, and the fifth position P5b shown in Fig. 12 are set as positions on the nozzle surface FN in the temporary printing posture. In the example shown in Fig. 12, for the printing posture around the pitch axis of the head 3a, the first position P1b, the third position P3b, and the fifth position P5b are set as positions on the nozzle surface FN in the temporary printing posture.

[0122] In the example shown in Fig. 12, three positions on the nozzle surface FN in the temporary printing attitude are set as a first position P1b, a third position P3b, and a fifth position P5b aligned in a direction perpendicular to the nozzle row direction DN along the nozzle surface FN. Note that the fifth position P5a shown in Fig. 10 and the fifth position P5b shown in Fig. 12 may be different or may be the same.

[0123] Here, the first position P1b and the third position P3b are different from each other in positions in a direction perpendicular to the nozzle row direction DN. The fifth position P5b is a position different from the first position P1b and the third position P3b in the direction perpendicular to the nozzle row direction DN. More specifically, the fifth position P5b is located between the first position P1b and the third position P3b.

[0124] The first position P1b is a position closer to the first nozzle row NL1 than the second nozzle row NL2. On the other hand, the third position P3b is a position closer to the second nozzle row NL2 than the first nozzle row NL1. In the example shown in Fig. 12, the first position P1b is the position of the first nozzle row NL1 in a direction perpendicular to the nozzle row direction DN, and the third position P3b is the position of the second nozzle row NL2 in a direction perpendicular to the nozzle row direction DN.

[0125] After setting the first position P1b, the third position P3b and the fifth position P5b in this manner, the first straight line LS1b, the second straight line LS2b, the third straight line LS3b, the second position P2b, the fourth position P4b, the sixth position P6b, the first normal line LN1b, the second normal line LN2b, the third normal line LN3b, the first angle θ1b, the second angle θ2b and the third angle θ3b are set, as described in Figure 10.

[0126] Fig. 13 is a diagram for explaining the determination of the printing posture around the pitch axis in the third step S30. Fig. 13 shows the work W and the head 3a as viewed in the nozzle row direction DN, similar to Fig. 12. Note that Fig. 13 shows the work W and the head 3a in a schematic manner for convenience of explanation, similar to Fig. 12.

[0127] 13, the printing posture of the head 3a around the pitch axis is adjusted based on the temporary printing posture so that the difference between the first angle θ1b and the second angle θ2b is reduced. By this adjustment, the printing posture of the head 3a around the pitch axis is determined.

[0128] In the example shown in FIG. 13, the printing posture is adjusted using the first angle θ1b, the second angle θ2b, and the third angle θ3b so that the difference between these angles is as small as possible. More specifically, the printing posture is adjusted so that the standard deviation of the first angle θ1b, the second angle θ2b, and the third angle θ3b is small. It is also preferable to adjust the printing posture so that the difference between the first angle θ1b, the second angle θ2b, and the third angle θ3b is smallest. Prior to determining the printing posture around the pitch axis, the processing circuit 7b can also adjust the printing posture so that the standard deviation is small by alternately and repeatedly executing the adjustment of the printing posture and the calculation of the standard deviation of each angle.

[0129] Here, from the viewpoint of reducing deviations in the ink landing position due to the adjustment, it is preferable that the print attitude is adjusted by rotation about the tool center point TCP. That is, in the example shown in Fig. 13, it is preferable to adjust the print attitude by rotation about the pitch axis that passes through the tool center point TCP.

[0130] As described above, the printing posture around the pitch axis of the head 3a is determined. In this embodiment, in the third step S30, a mode in which the printing postures around both the roll axis and the pitch axis of the nozzle surface FN relative to the workpiece W are set is exemplified, but the third step S30 is not limited to this mode, and may be, for example, a mode in which the printing posture only around the roll axis of the nozzle surface FN relative to the workpiece W is set, or a mode in which the printing posture only around the pitch axis of the nozzle surface FN relative to the workpiece W is set.

[0131] 14 is a diagram for explaining the movement of the head 3a during the execution of the first printing operation. The first printing operation is a printing operation in which ink is ejected from the first nozzle row NL1 onto the workpiece W, and ink is not ejected from the second nozzle row NL2. When the first printing operation is executed, in step S33, the relative posture between the head 3a and the workpiece W is set based on the first angle θ1b and not based on the second angle θ2b. For example, the first printing operation is executed using the above-mentioned provisional printing posture as the printing posture.

[0132] By setting the printing posture of the head 3a in the first printing operation in this way, the landing angle of the ink from the first nozzle row NL1 onto the workpiece W can be made closer to 90° compared to the example shown in Fig. 15 described below. As a result, the image quality of printing using only the first nozzle row NL1 can be improved.

[0133] 15 is a diagram for explaining the movement of the head 3a during the execution of the second printing operation. The second printing operation is a printing operation in which ink is ejected from both the first nozzle row NL1 and the second nozzle row NL2 onto the workpiece W. When the second printing operation is executed, the relative posture between the head 3a and the workpiece W is set based on the first angle θ1b and the second angle θ2b. For example, the second printing operation is performed using the printing posture determined in the above-mentioned step S33.

[0134] By setting the printing posture of the head 3a in the second printing operation in this manner, it is possible to reduce the difference between the landing angle of ink from the first nozzle row NL1 onto the workpiece W and the landing angle of ink from the second nozzle row NL2 onto the workpiece W, compared to the example shown in Fig. 14 above. As a result, it is possible to improve the image quality of printing using the first nozzle row NL1 and the second nozzle row NL2.

[0135] As described above, the position and posture indicated by the printing path information Da are set. After that, the relative movement direction of the head 3a and the workpiece W along the position indicated by the printing path information Da is specified. In this embodiment, of one direction along the intersection line LC and the opposite direction, the direction away from the robot 2 is set as the movement direction.

[0136] As described above, the teaching method for the robot 2 includes the first step S10, the second step S20, and the third step S30. Here, the robot 2 changes the relative position and posture between the head 3a having the nozzle surface FN on which the nozzle row NL composed of a plurality of nozzles N that eject ink, which is an example of a "liquid," is provided, and the three-dimensional workpiece W.

[0137] As described above, the first step S10 acquires work data Db representing at least a portion of the shape of the workpiece W, and nozzle face data Dc representing at least a portion of the shape of the nozzle face FN. The second step S20 sets a printing position, which is the relative position between the head 3a and the workpiece W when a printing operation is performed in which ink ejected from the nozzles N is applied to the workpiece W, based on the work data Db. The third step S30 sets a printing posture, which is the relative posture between the head 3a and the workpiece W at the printing position, based on the work data Db and the nozzle face data Dc.

[0138] Here, the straight line passing through the first position P1a on the nozzle surface FN and the second position P2a on the workpiece W is defined as the first straight line LS1a, the normal to the workpiece W at the second position P2a is defined as the first normal line LN1a, the angle between the first straight line LS1a and the first normal line LN1a is defined as the first angle θ1a, the straight line passing through a third position P3a different from the first position P1a on the nozzle surface FN and a fourth position P4a different from the second position P2a on the workpiece W is defined as the second straight line LS2a, the normal to the workpiece W at the fourth position P4a is defined as the second normal line LN2a, and the angle between the second straight line LS2a and the second normal line LN2a is defined as the second angle θ2a. In the third step S30, the printing posture is set based on the first angle θ1a and the second angle θ2a.

[0139] Similarly, when the straight line passing through the first position P1b on the nozzle surface FN and the second position P2b on the workpiece W is defined as the first straight line LS1b, the normal to the workpiece W at the second position P2b is defined as the first normal line LN1b, the angle between the first straight line LS1b and the first normal line LN1b is defined as the first angle θ1b, the straight line passing through the third position P3b different from the first position P1b on the nozzle surface FN and the fourth position P4b different from the second position P2b on the workpiece W is defined as the second straight line LS2b, the normal to the workpiece W at the fourth position P4b is defined as the second normal line LN2b, and the angle between the second straight line LS2b and the second normal line LN2b is defined as the second angle θ2b, in the third step S30, the printing posture is set based on the first angle θ1b and the second angle θ2b.

[0140] In the above teaching method, the print posture is set based on the first angle θ1a and the second angle θ2a, so that the balance between the posture of the first position P1a relative to the second position P2a and the posture of the third position P3a relative to the fourth position P4a can be optimized so that the difference between the first angle θ1a and the second angle θ2a is reduced. Similarly, the print posture is set based on the first angle θ1b and the second angle θ2b, so that the balance between the posture of the first position P1b relative to the second position P2b and the posture of the third position P3b relative to the fourth position P4b can be optimized so that the difference between the first angle θ1b and the second angle θ2b is reduced. Therefore, the print posture can be set more appropriately than in a method that considers only the posture of one point on the nozzle surface FN relative to one point on the workpiece W.

[0141] In addition, as described above, when the direction along the nozzle row NL is the nozzle row direction DN, the first position P1a and the third position P3a are different from each other in the nozzle row direction DN. Therefore, the printing posture around the roll axis of the head 3a that is scanned relative to the workpiece W can be appropriately set.

[0142] Furthermore, as described above, the center of the nozzle row NL in the nozzle row direction DN is located between the first position P1a and the third position P3a, so that the printing postures at both ends of the nozzle row NL can be appropriately set.

[0143] Also, as described above, when the printing operation includes a first width printing operation in which the printing width in the nozzle row direction DN is a first width, and a second width printing operation in which the printing width in the nozzle row direction DN is a second width narrower than the first width, the printing attitude setting step is executed separately into a first printing attitude setting step for setting the printing attitude in the first width printing operation, and a second printing attitude setting step for setting the printing attitude in the second width printing operation. In this case, the distance between the first position P1a and the third position P3a in the second printing attitude setting step is set to be shorter than the distance between the first position P1a and the third position P3a in the first printing attitude setting step. Therefore, the printing attitude of the head 3a can be appropriately set according to the printing width. For example, when the printing width is narrow, considering the printing attitude at the position of the nozzle N not used for ejection may lead to deterioration of the printing attitude at the position of the nozzle N used for ejection. Therefore, when the printing width is narrow, the distance between the first position P1a and the third position P3a can be shortened to suppress deterioration of the printing posture at the position of the nozzle N used for ejection. Note that deterioration of the printing posture refers to an extremely shallow landing angle of ink droplets ejected from the nozzle N when they land on the workpiece W, for example, an landing angle of 45 degrees or less.

[0144] Furthermore, as described above, when the straight line passing through the fifth position P5a on the nozzle surface FN and the sixth position P6a on the workpiece W is the third straight line LS3a, the normal to the workpiece W at the sixth position P6a is the third normal line LN3a, and the angle between the third straight line LS3a and the third normal line LN3a is the third angle θ3a, in the third step S30, the print posture is set based on the first angle θ1a, the second angle θ2a, and the third angle θ3a. Therefore, since the posture at three points on the nozzle surface FN is taken into consideration, the print posture of the head 3a can be set more appropriately compared to a method that takes into consideration only the posture at two points on the nozzle surface FN. Similarly, when the straight line passing through the fifth position P5b on the nozzle surface FN and the sixth position P6b on the workpiece W is defined as the third straight line LS3b, the normal to the workpiece W at the sixth position P6b is defined as the third normal line LN3b, and the angle between the third straight line LS3b and the third normal line LN3b is defined as the third angle θ3b, in the third step S30, the printing posture is set based on the first angle θ1b, the second angle θ2b, and the third angle θ3b, and therefore in this respect too, the printing posture of the head 3a can be set more appropriately.

[0145] As described above, the fifth position P5a is located between the first position P1a and the third position P3a. For this reason, for example, by setting the center of the nozzle row NL in the nozzle row direction DN as the fifth position P5a, the print posture around the roll axis of the head 3a can be appropriately set. Similarly, the fifth position P5b is located between the first position P1b and the third position P3b. For this reason, for example, by setting the center of the nozzle row NL in the direction perpendicular to the nozzle row direction DN as the fifth position P5b, the print posture around the pitch axis of the head 3a can also be appropriately set.

[0146] Furthermore, as described above, when the direction along the nozzle row NL is the nozzle row direction DN, the fifth position P5b is a position different from the first position P1b and the third position P3b in the direction perpendicular to the nozzle row direction DN. Therefore, the printing posture around the pitch axis of the head 3a scanned over the workpiece W can be appropriately set.

[0147] As described above, the nozzle row NL includes the first nozzle row NL1 and the second nozzle row NL2 aligned in the width direction. The first position P1b is closer to the first nozzle row NL1 than the second nozzle row NL2. The third position P3b is closer to the second nozzle row NL2 than the first nozzle row NL1. This allows the printing postures of the first nozzle row NL1 and the second nozzle row NL2 to be appropriately set. That is, the printing posture around the pitch axis of the head 3a scanned over the workpiece W can be appropriately set.

[0148] Furthermore, as described above, the tool center point TCP of the robot 2 is located further in the normal direction of the nozzle face FN than the nozzle face FN. In a third step S30, the print attitude is adjusted by rotation about the tool center point TCP. This makes it possible to reduce deviations in the ink landing position due to the adjustment, compared to when the print attitude is adjusted by rotation about a position different from the tool center point TCP.

[0149] As described above, the nozzle surface FN is provided with a first nozzle line NL1 and a second nozzle line NL2 as N (N is a natural number equal to or greater than 2) nozzle lines. In this embodiment, N is 2. The first straight line LS1b and the second straight line LS2b are N straight lines extending in the normal direction of the nozzle surface FN from N positions provided corresponding to the N nozzle lines NL on the nozzle surface FN. The first normal line LN1b and the second normal line LN2b are N normal lines of the workpiece W at N positions on the workpiece W that intersect with the N straight lines. The first angle θ1b and the second angle θ2b are N angles between the N straight lines and the N normal lines. In the third step S30, the print attitude is set based on a plurality of angles (the first angle θ1b, the second angle θ2b, and the third angle θ3b) including the N angles. For this reason, the landing angle of the ink from each of the N nozzle lines is taken into consideration. This makes it possible to reduce the difference in landing conditions between nozzle rows, thereby improving image quality.

[0150] As described above, in the third step S30, the print attitude is adjusted so that the standard deviation of the N angles is reduced, thereby reducing the difference in landing conditions between the nozzle rows.

[0151] In the above teaching method for the robot 2, in the third step S30, instead of the first angle θ1a and the second angle θ2a, the print posture may be set based on the length of the first line segment connecting the first position P1a and the second position P2a and the length of the second line segment connecting the third position P3a and the fourth position P4a. Even in this case, by adjusting the print posture so as to reduce the difference between the length of the first line segment and the length of the second line segment, it is possible to optimize the balance between the posture of the first position P1a relative to the second position P2a and the posture of the third position P3a relative to the fourth position P4a. Therefore, compared to a method that considers only the posture of one point on the nozzle surface FN relative to one point on the workpiece W, it is possible to appropriately set the print posture around the roll axis. In addition to the length of the first line segment and the length of the second line segment, the length of the third line segment connecting the fifth position P5a and the sixth position P6a may be considered. It is preferable that the first line segment, the second line segment, and the third line segment are all parallel to the c-axis. The number of these line segments taken into consideration in adjusting the print attitude is not particularly limited as long as it is two or more. In the third step S30, the print attitude can also be adjusted and determined so as to reduce the standard deviation of these line segments.

[0152] Similarly, in the third step S30, instead of the first angle θ1b and the second angle θ2b, the print attitude may be set based on the length of the first line segment connecting the first position P1b and the second position P2b and the length of the second line segment connecting the third position P3b and the fourth position P4b. By adjusting the print attitude so as to reduce the difference between the length of the first line segment and the length of the second line segment, it is possible to optimize the balance between the attitude of the first position P1b relative to the second position P2b and the attitude of the third position P3b relative to the fourth position P4b. Therefore, compared to a method that considers only the attitude of one point on the nozzle surface FN relative to one point on the workpiece W, it is possible to appropriately set the print attitude around the pitch axis. Even in this case, the number of these line segments considered in the adjustment of the print attitude is not particularly limited as long as it is two or more.

[0153] Furthermore, as described above, in the three-dimensional object printing apparatus 1 having the head 3a and the robot 2, when a first printing operation is performed in which ink is ejected from the first nozzle row NL1 onto the workpiece W and ink is not ejected from the second nozzle row NL2, the relative attitude between the head 3a and the workpiece W is set based on the first angle θ1b and not based on the second angle θ2b. In contrast, when a second printing operation is performed in which ink is ejected from both the first nozzle row NL1 and the second nozzle row NL2 onto the workpiece W, the relative attitude between the head 3a and the workpiece W is set based on the first angle θ1b and the second angle θ2b.

[0154] In the above three-dimensional object printing device 1, the number of positions to be considered in setting the print posture of the head 3a is changed according to the number of nozzle rows used. Therefore, the print posture of the head 3a can be appropriately set according to the number of nozzle rows used. For example, when only the nozzle row for black ink is used, taking into account the print posture at the position of the nozzle row for other colors not used for ejection may lead to deterioration of the print posture at the position of the nozzle row used for ejection. Therefore, when the number of nozzle rows used for ejection is small, the number of positions to be considered in setting the print posture of the head 3a can be reduced to suppress deterioration of the print posture at the position of the nozzle row used for ejection.

[0155] 2. Variations Each of the above-mentioned exemplary embodiments can be modified in various ways. Specific modified embodiments that can be applied to each of the above-mentioned embodiments are illustrated below. Note that two or more embodiments selected from the following exemplary embodiments can be appropriately combined as long as they are not contradictory to each other.

[0156] 2-1. Variation 1 In the above-mentioned embodiment, a configuration in which a six-axis vertical multi-axis robot is used as the robot is exemplified, but the configuration is not limited to this. The robot may be, for example, a vertical multi-axis robot other than six axes, or a horizontal multi-axis robot. Furthermore, the arm of the robot may have an extension mechanism or a linear motion mechanism in addition to a joint portion formed by a rotation mechanism. However, from the viewpoint of the balance between the print quality in the printing operation and the degree of freedom of the robot's operation in the non-printing operation, it is preferable that the robot is a multi-axis robot with six or more axes.

[0157] 2-2. Variation 2 In the above embodiment, the head may be fixed to the robot by gripping the head with a gripping mechanism such as a hand attached as an end effector of the robot, but the present invention is not limited to this configuration.

[0158] 2-3. Variation 3 In the above-mentioned embodiment, the robot is exemplified as a robot that moves the head, but the present invention is not limited to this configuration, and may be configured such that, for example, the position of the liquid ejection head is fixed, and the robot moves the workpiece, thereby changing the position and posture of the workpiece three-dimensionally relative to the head. In this case, for example, the workpiece is gripped by a gripping mechanism such as a hand attached to the tip of the robot arm.

[0159] 2-4. Variation 4 In the above-described embodiment, a configuration in which printing is performed using one type of ink is exemplified, but this is not limited to this configuration, and the present disclosure can also be applied to a configuration in which printing is performed using two or more types of ink.

[0160] 2-5. Variation 5 The use of the three-dimensional printing device of the present disclosure is not limited to printing. For example, a three-dimensional printing device that ejects a solution of a color material is used as a manufacturing device that forms a color filter for a liquid crystal display device. Also, a three-dimensional printing device that ejects a solution of a conductive material is used as a manufacturing device that forms wiring and electrodes of a wiring board. Also, a three-dimensional printing device can be used as a jet dispenser that applies a liquid such as an adhesive to a medium. [Explanation of symbols]

[0161] 1 ... Three-dimensional object printing device, 2 ... Robot, 2a ... Arm drive mechanism, 3 ... Head unit, 3a ... Head, 3a ... Head, 3b ... Pressure regulating valve, 3c ... Energy output unit, 3e ... Switch circuit, 3f ... Support, 5 ... Controller, 5a ... Memory 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 ... Memory circuit, 7b ... Processing circuit, 7b1 ... Generation unit, 10 ... Piping unit, 10a ... Supply pipe, 11 ... Wiring unit, 210 ... Base, 220 ... Arm unit, 221 ... Arm, 22 2...arm, 223...arm, 224...arm, 225...arm, 226...arm, 230...joint, 230_1...joint, 230_2...joint, 230_3...joint, 230_4...joint, 230_5...joint, 230_6...joint, CLK...clock signal, CNG...change signal, Com...drive signal, D1...output, D3...signal, DE...ejection direction, DN...nozzle array direction, Da...print path information, Da1...position data, Da2...posture data, Db...work data, Db1...coordinate information, Db2...vector information, Dc...nozzle surface data, FN...nozzle surface, FV... Virtual plane, Img...print data, L13...distance, LAT...latch signal, LC...intersection line, LE...side, LE_1...first side, LN1a, LN1b...first normal, LN2a, LN2b...second normal, LN3a, LN3b...third normal, LS1a, LS1b...first line, LS2a, LS2b...second line, LS3a, LS3b...third line, N...nozzle, NL...nozzle row, NL1...first nozzle row, NL2...second nozzle row, O1...rotation axis, O2...rotation axis, O3...rotation axis, O4...rotation axis, O5...rotation axis, O6...rotation axis, P1a, P1b...first position, P2a, P2b...second position, P3a , P3b...third position, P4a, P4b...fourth position, P5a, P5b...fifth position, P6a, P6b...sixth position, PD...driving pulse, PE...position, PG...program, POL...polygon, POL_1...intersecting polygon, POL_2...polygon, PS...position, PTS...timing signal, PV...vertex, PV_1...first vertex, PV_2...second vertex, Pa...intersection point, Pb...interpolation point, RU...movement path, S10...first step, S11...step, S12...step, S20...second step, S21...step, S22...step, S23...step, S30...third step,S31...step, S32...step, S33...step, SI...control signal, Sk1...control signal, TCP...tool center point, TPC...tool center point, VBS...offset potential, VHV...power supply potential, Va...intersection vector, Vb...interpolation point vector, Vc_1...first vertex vector, Vc_2...second vertex vector, Vp...normal vector, W...work, WDb...surface, WF...surface, dCom...waveform designation signal, θ1a, θ1b...first angle, θ2a, θ2b...second angle, θ3a, θ3b...third angle.

Claims

1. A method for teaching a robot in a three-dimensional printing device, comprising: a head having a nozzle surface provided with a nozzle row composed of a plurality of nozzles; and a robot, wherein the head ejects liquid onto a three-dimensional workpiece while the robot performs a printing operation by changing the relative position and posture between the head and the workpiece, a print attitude setting step for setting a print attitude that is a relative attitude between the head and the workpiece during the printing operation, In the print posture setting step, in the virtual space, a position where the positional relationship with the nozzle surface is fixed is defined as a first position; When a position different from the first position and a position where the positional relationship with the nozzle surface is fixed is defined as a third position, The printing posture is set based on a positional relationship between the first position and the workpiece and a positional relationship between the third position and the workpiece. A robot teaching method comprising:

2. When the direction along the nozzle row is defined as the nozzle row direction, the first position and the third position are different from each other in the nozzle row direction; 2. The robot teaching method according to claim 1, wherein:

3. a center of the nozzle row is located between the first position and the third position in the nozzle row direction; 3. The robot teaching method according to claim 2, wherein:

4. The printing operation includes: a first width printing operation in which a printing width in the nozzle row direction is a first width; a second width printing operation in which the printing width in the nozzle row direction is a second width narrower than the first width, The printing attitude setting step includes: a first printing attitude setting step for setting a printing attitude that is a relative attitude between the head and the workpiece in the first width printing operation; a second printing attitude setting step for setting a printing attitude that is a relative attitude between the head and the workpiece in the second width printing operation; Including, The distance between the first position and the third position in the second printing attitude setting step is set to be shorter than the distance between the first position and the third position in the first printing attitude setting step.

4. The robot teaching method according to claim 2 or 3.

5. In the print posture setting step, in the virtual space, a straight line passing through the first position and the second position on the workpiece is defined as a first straight line; a normal to the workpiece at the second position is defined as a first normal; an angle between the first straight line and the first normal line is a first angle; a straight line passing through the third position and a fourth position on the workpiece that is different from the second position is defined as a second straight line; a normal to the workpiece at the fourth position is defined as a second normal; When the angle between the second straight line and the second normal line is a second angle, setting the printing attitude based on the first angle and the second angle; 2. The robot teaching method according to claim 1, wherein:

6. In the print posture setting step, in the virtual space, a fifth position is a position that is different from the first position and the third position and has a fixed positional relationship with the nozzle surface; a straight line passing through the fifth position and a sixth position on the workpiece is defined as a third straight line; a normal to the workpiece at the sixth position is defined as a third normal; When the angle between the third straight line and the third normal line is a third angle, The robot teaching method according to claim 5, wherein the printing posture is set based on the first angle, the second angle, and the third angle.

7. In the print posture setting step, in the virtual space, a line segment passing through the first position and a second position on the workpiece is defined as a first line segment; a line segment passing through the third position and a fourth position on the workpiece that is different from the second position is defined as a second line segment; setting the printing attitude based on the lengths of the first line segment and the second line segment; 2. The robot teaching method according to claim 1, wherein:

8. In the print posture setting step, in the virtual space, a fifth position is a position that is different from the first position and the third position and has a fixed positional relationship with the nozzle surface; a line segment passing through the fifth position and a sixth position on the workpiece that is different from the second position is defined as a third line segment; setting the printing posture based on the lengths of the first line segment, the second line segment, and the third line segment; 8. The robot teaching method according to claim 7, wherein:

9. The fifth position is located between the first position and the third position.

9. The robot teaching method according to claim 6 or 8.

10. When the direction along the nozzle row is defined as the nozzle row direction, the fifth position is a position different from the first position and the third position in a direction perpendicular to the nozzle row direction; 9. The robot teaching method according to claim 6 or 8.

11. the nozzle row includes a first nozzle row and a second nozzle row aligned in a width direction; the first position is a position closer to the first nozzle row than to the second nozzle row, the third position is closer to the second nozzle row than to the first nozzle row; 2. The robot teaching method according to claim 1, wherein:

12. a tool center point of the robot is located at a position further than the nozzle surface in a normal direction of the nozzle surface, In the printing posture setting step, the printing posture is adjusted by rotating the tool around the tool center point.

2. The robot teaching method according to claim 1, wherein:

13. A method for teaching a robot in a three-dimensional printing device, which includes a head having a nozzle surface provided with N (N is a natural number equal to or greater than 2) nozzle rows each consisting of a plurality of nozzles, and a robot, wherein the head ejects liquid onto a three-dimensional workpiece while the robot performs a printing operation by changing the relative position and posture between the head and the workpiece, a print attitude setting step for setting a print attitude that is a relative attitude between the head and the workpiece during the printing operation, In the print posture setting step, in the virtual space, defining N positions that are fixed in positional relationship with the nozzle surface and that correspond to the N nozzle rows, respectively; The printing posture is set based on the positional relationship between the workpiece and the N positions. A robot teaching method comprising:

14. In the print posture setting step, in the virtual space, The straight lines extending from the N positions in the normal direction of the nozzle surface are defined as N straight lines, and the normal lines of the workpiece at the N positions on the workpiece that intersect with the N straight lines are defined as N normal lines. When the angles formed by the N straight lines and the N normal lines are N angles, setting the printing posture based on a plurality of angles including the N angles; 14. The robot teaching method according to claim 13.

15. In the print posture setting step, the print posture is adjusted so that the standard deviation of the N angles is reduced.

15. The robot teaching method according to claim 14.

16. In the print posture setting step, in the virtual space, N line segments are defined as line segments extending from the N positions in a normal direction of the nozzle face, and the printing attitude is set based on the lengths of the N line segments.

14. The robot teaching method according to claim 13.

17. In the print posture setting step, the print posture is adjusted so that the standard deviation of the lengths of the N line segments is reduced.

17. The robot teaching method according to claim 16.

18. a data acquisition step of acquiring workpiece data representing a shape of at least a portion of the workpiece and nozzle surface data representing a shape of at least a portion of the nozzle surface; a print position setting step of setting a print position, which is a relative position between the head and the workpiece during the printing operation, based on the workpiece data; a print attitude setting step of setting the print attitude based on the workpiece data and the nozzle surface data; Included in this order 14. The robot teaching method according to claim 1 or 13.

19. The posture of the robot during the printing operation is defined based on the printing position and the printing posture.

14. The robot teaching method according to claim 1 or 13.

20. a head having a nozzle surface provided with a nozzle row made up of a plurality of nozzles that eject liquid; A three-dimensional object printing apparatus having a robot that changes the relative position and posture between the head and the three-dimensional workpiece, the nozzle row includes a first nozzle row and a second nozzle row aligned in a width direction; a straight line passing through a first position on the nozzle surface and a second position on the workpiece is defined as a first straight line; a normal to the workpiece at the second position is defined as a first normal; an angle between the first straight line and the first normal line is a first angle; a straight line passing through a third position on the nozzle surface that is different from the first position and a fourth position on the workpiece that is different from the second position is defined as a second straight line; a normal to the workpiece at the fourth position is defined as a second normal; When the angle between the second straight line and the second normal line is a second angle, when executing a first printing operation in which liquid is ejected from the first nozzle row onto the workpiece and liquid is not ejected from the second nozzle row, a relative attitude between the head and the workpiece is set based on the first angle and not based on the second angle; when a second printing operation is performed in which liquid is ejected from both the first nozzle row and the second nozzle row onto the workpiece, a relative attitude between the head and the workpiece is set based on the first angle and the second angle. A three-dimensional object printing device characterized by the above.