Three-dimensional object printing method
The three-dimensional object printing method addresses the challenge of generating and adjusting printing paths by using a robot to change the position and orientation of the inkjet head and processing data to generate path data in a robot coordinate system, enhancing the efficiency and flexibility of the printing process.
Patent Information
- Application Number
- JP2021051072
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-25
- Publication Date
- 2025-06-03
- Estimated Expiration
- 2041-03-25
AI Technical Summary
Existing three-dimensional object printing methods lack a specific method for generating data indicating the path along which the inkjet head should move, making it difficult to easily generate and adjust the path for workpieces of various shapes and sizes.
A three-dimensional object printing method that uses a head to discharge liquid onto a workpiece and a robot to change the relative position and orientation of the workpiece and the head, involving data processing steps to obtain initial path data, head reference point data, and generate printing path data in a robot coordinate system.
Enables easy generation and adjustment of the printing path, improving the efficiency and flexibility of three-dimensional object printing for workpieces of diverse shapes and sizes.
Smart Images

Figure 0007687016000001 
Figure 0007687016000002 
Figure 0007687016000003
Abstract
Description
Technical Field
[0001] The present invention relates to a three-dimensional object printing method and a data generation method.
Background Art
[0002] There is known a three-dimensional object printing method for performing printing on the surface of a three-dimensional workpiece by an inkjet method. For example, the method described in Patent Document 1 forms a contact lens by applying an optical material to a molding part by discharging the optical material from an inkjet head while relatively moving the inkjet head with respect to the molding part. Here, the relative movement of the molding part with respect to the inkjet head is controlled based on data representing the shape of the contact lens.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In Patent Document 1, no specific method is disclosed for generating data indicating the path along which the inkjet head should move. Here, when performing printing on workpieces of various shapes, it is desired to realize a method that can easily generate the path along which the head should move and change the path according to the shape and size of the workpiece.
Means for Solving the Problems
[0005] In order to solve the above problems, one aspect of the three-dimensional object printing method according to the present invention is a three-dimensional object printing method using a head that discharges a liquid onto a workpiece and a robot that changes the relative position and orientation of the workpiece and the head, the method including: a first data processing step of obtaining first initial path data indicating a path along which the head should move in a workpiece coordinate system; a second data processing step of obtaining first head reference point data indicating the position and orientation of the head in a robot coordinate system; a third data processing step of generating first printing path data indicating the path along which the head should move in the robot coordinate system based on the first initial path data and the first head reference point data; and a first printing step of discharging the liquid from the head onto the workpiece while operating the robot based on the first printing path data.
[0006] Also, one aspect of the data generation method according to the present invention is a data generation method for generating data in a robot coordinate system from data in a workpiece coordinate system, the method including: a first step of obtaining initial path data indicating a path along which an end effector should move in the workpiece coordinate system; a second step of obtaining reference teaching point data indicating the position and orientation of the end effector in the robot coordinate system; and a third step of generating teaching data indicating the path along which the end effector should move in the robot coordinate system based on the initial path data and the reference teaching point data.
Brief Description of the Drawings
[0007]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
[0008] Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. Note that the dimensions and scales of each part in the drawings are appropriately different from the actual ones, and there are also parts schematically shown for easy understanding. Further, the scope of the present invention is not limited to these embodiments unless otherwise specified in the following description.
[0009] In the following description, for convenience, the X-axis, Y-axis, and Z-axis that intersect each other are appropriately used. Further, in the following, one direction along the X-axis is the X1 direction, and the direction opposite to the X1 direction is the X2 direction. Similarly, the directions opposite to each other along the Y-axis are the Y1 direction and the Y2 direction. Also, the directions opposite to each other along the Z-axis are the Z1 direction and the Z2 direction.
[0010] Here, the X-axis, Y-axis, and Z-axis are the coordinate axes of the world coordinate system set in the space where the robot 10 including the first robot 3 and the second robot 4 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. The base coordinate systems of the first robot 3 and the second robot 4 respectively are associated with the world coordinate system by calibration. Hereinafter, for convenience, the case of controlling the operations of the first robot 3 and the second robot 4 using the world coordinate system as the robot coordinate system is exemplified.
[0011] Note that the Z-axis does not have to be a vertical axis. Also, the X-axis, Y-axis, and Z-axis are typically orthogonal to each other, but are not limited thereto and may not be orthogonal. For example, the X-axis, Y-axis, and Z-axis may intersect each other at an angle within the range of 80° or more and 100° or less.
[0012] 1. First Embodiment 1-1. Outline of the Apparatus Used in the Three-Dimensional Object Printing Method FIG. 1 is a perspective view showing an outline of a three-dimensional object printing apparatus 1 used in the three-dimensional object printing method according to the first embodiment. 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 using a robot 10 including a first robot 3 and a second robot 4.
[0013] In the example shown in FIG. 1, the workpiece W is a rugby ball having an oblate spheroid shape. Note that aspects such as the shape or size of the workpiece W are not limited to the example shown in FIG. 1 and are arbitrary.
[0014] As shown in FIG. 1, the three-dimensional object printing apparatus 1 includes a base 2, a first robot 3, a second robot 4, a head unit 5, an imaging unit 7, a controller 11, a control module 12, and a computer 13. Hereinafter, first, each part of the three-dimensional object printing apparatus 1 shown in FIG. 1 will be sequentially and briefly described.
[0015] The base 2 is a base having a surface 2a that supports the first robot 3 and the second robot 4. The surface 2a is a surface facing the Z1 direction. In the present embodiment, in addition to the first robot 3 and the second robot 4, the surface 2a supports the imaging unit 7. Here, each of the first robot 3, the second robot 4, and the imaging unit 7 is directly or indirectly fixed to the base 2 by screwing or the like, either directly or via other members.
[0016] In the example shown in FIG. 1, the base 2 has a box shape, and inside the base 2, a controller 11 and a control module 12 are housed.
[0017] Note that the configuration of the base 2 is not limited to the example shown in FIG. 1 and is arbitrary. Also, the base 2 may be provided as necessary or may be omitted. In this case, each component of the three-dimensional object printing apparatus 1 is installed, for example, on the floor, wall, or ceiling of a building. In the present embodiment, each component of the three-dimensional object printing apparatus 1 except the base 2 is supported by the surface 2a that is the same plane, but each of these components may be supported by surfaces facing different directions. For example, the first robot 3 may be installed on one of the floor, wall, and ceiling, and the second robot 4 may be installed on another one. Also, the first robot 3 may be installed on one of a plurality of walls facing different directions, and the second robot 4 may be installed on another one.
[0018] The first robot 3 is a robot that changes the position and orientation of the head unit 5 in the world coordinate system. In the example shown in FIG. 1, the first robot 3 is a so-called six-axis vertical articulated robot, and at the tip of the arm of the first robot 3, the head unit 5 is mounted in a state of being fixed by screwing or the like as an end effector. Note that the configuration of the first robot 3 will be described later with reference to FIG. 3.
[0019] The head unit 5 is an assembly having a head 5a that discharges ink, which is an example of a "liquid", toward the work W. In the present embodiment, the head unit 5 has, in addition to the head 5a, a pressure regulating valve 5b and a curing light source 5c. The configuration of the head unit 5 will be described later with reference to FIG. 4.
[0020] The ink is not particularly limited. For example, water-based ink in which a coloring material such as a dye or pigment is dissolved in an aqueous 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 can be mentioned. Among them, curable ink is preferably used. The curable ink is not particularly limited and may be, for example, any of a thermosetting type, a photocuring type, a radiation curing type, and an electron beam curing type, but a photocuring 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 dispersed substance in a dispersion medium. Further, 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 dispersed substance, a clear ink, or a treatment liquid for surface treatment of the work W.
[0021] On the other hand, the second robot 4 is a robot that changes the position and posture of the work W in the world coordinate system. In the example shown in FIG. 1, the second robot 4 is a six-axis vertical articulated robot, and a hand mechanism 40 is attached to the tip of the arm of the second robot 4 in a state of being fixed by screwing or the like as an end effector.
[0022] The second robot 4 is configured in the same manner as the first robot 3 except that the attached end effector is different. However, the first robot 3 and the second robot 4 may have different configurations from each other. In the present embodiment, configurations such as arm length or portable weight are different from each other as required. Further, the number of joints of the first robot 3 and the second robot 4 may be different from each other.
[0023] The hand mechanism 40 is a robot hand that detachably holds the workpiece W. Here, "holding" is a concept that includes both suction and gripping. In the example shown in FIG. 1, the hand mechanism 40 is a mechanism that sucks the workpiece W by negative pressure. Note that the configuration of the hand mechanism 40 is appropriately determined according to the shape, size, material, etc. of the workpiece W. The hand mechanism 40 is not limited to a suction mechanism by negative pressure, and may be, for example, a suction mechanism by magnetic force, or a gripping hand mechanism having a plurality of fingers or claws, etc.
[0024] The imaging unit 7 is a device for detecting the position and orientation of the workpiece W. The imaging unit 7 includes an imaging device 7a and an illumination unit 7b. The imaging device 7a is generally also called a vision sensor, and is a camera including an imaging optical system and an imaging element, and images an object located inside the imaging range. The imaging optical system is an optical system including at least one imaging lens, and may include various optical elements such as a prism, or may include a zoom lens or a focus lens, etc. The imaging element is, for example, a CCD (Charge Coupled Device) image sensor or a CMOS (Complementary MOS) image sensor, etc. Note that the imaging device 7a may be a depth camera having a function of detecting the distance between the subject and the imaging device 7a.
[0025] A two-axis or three-axis imaging coordinate system is set for an arbitrary point of the captured image in the imaging device 7a. This imaging coordinate system is associated with the aforementioned base coordinate system or world coordinate system by calibration. The illumination unit 7b is a light source including a light-emitting element such as an LED (light emitting diode), and emits light toward the imaging range of the imaging device 7a. By such illumination of the illumination unit 7b, when the workpiece W is imaged as the object, the contrast of the captured image of the imaging device 7a can be increased. As a result, the detection accuracy of the position and orientation of the workpiece W based on the captured result of the imaging device 7a can be improved. Note that the illumination unit 7b is appropriately provided with optical components such as a lens or a reflector for adjusting the light emission direction or emission range, etc.
[0026] The controller 11 is a robot controller that controls the driving of the first robot 3 and the second robot 4. The control module 12 is a circuit module that is communicably connected to the controller 11 and controls the head unit 5. A computer 13 is communicably connected to the controller 11 and the control module 12. In the example shown in FIG. 1, the computer 13 is a notebook type, but it is not limited thereto. For example, the computer 13 may be a desktop type or the like. Hereinafter, based on FIG. 2, the electrical configuration of the three-dimensional object printing apparatus 1 will be described.
[0027] 1-2. Electrical Configuration of Three-Dimensional Object Printing Apparatus FIG. 2 is a block diagram showing the electrical configuration of the three-dimensional object printing apparatus 1 used in the three-dimensional object printing method according to the first embodiment. In FIG. 2, among the components of the three-dimensional object printing apparatus 1, the electrical components are shown. Note that each of the electrical components shown in FIG. 1 may be appropriately divided, a part thereof may be included in other components, or it may be integrally configured with other components. For example, part or all of the functions of the controller 11 or the control module 12 may be realized by the computer 13, or may be realized by another external device such as a PC (personal computer) connected to the controller 11 via a network such as a LAN (Local Area Network) or the Internet.
[0028] The controller 11 has a function of controlling the driving of the first robot 3 and the second robot 4, and a function of generating a signal D3 for synchronizing the ink ejection operation in the head unit 5 with the operation of the first robot 3. The controller 11 includes a storage circuit 11a and a processing circuit 11b.
[0029] The memory circuit 11a stores various programs executed by the processing circuit 11b and various data processed by the processing circuit 11b. The memory circuit 11a includes, for example, one or both semiconductor memories of a volatile memory such as a RAM (Random Access Memory) and a non-volatile memory such as a ROM (Read Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), or a PROM (Programmable ROM). Note that part or all of the memory circuit 11a may be included in the processing circuit 11b.
[0030] The first printing path data Db1 is stored in the memory circuit 11a. The first printing path data Db1 includes path information regarding the path along which the head unit 5 should move and placement information regarding the position and orientation where the work W should be placed. The first printing path data Db1 is generated by the computer 13. The path information corresponds to a plurality of teaching point data Pb_1 to Pb_N shown in FIG. 5 described later. The placement information corresponds to the work placement point data DbC shown in FIG. 5 described later. Details of these information and its generation will be described later.
[0031] The processing circuit 11b controls the operation of the arm drive mechanism 3a of the first robot 3 based on the path information included in the first printing path data Db1 and generates a signal D3. In addition, the processing circuit 11b controls the operation of the arm drive mechanism 4a of the second robot 4 based on the placement information included in the first printing path data Db1. Here, the processing circuit 11b corrects the operation of at least one of the arm drive mechanism 3a and the arm drive mechanism 4a during printing based on the imaging result of the imaging unit 7 as necessary. The processing circuit 11b includes, for example, a processor such as one or more CPUs (Central Processing Unit). Note that the processing circuit 11b may include a programmable logic device such as an FPGA (field-programmable gate array) instead of or in addition to the CPU.
[0032] The arm drive mechanism 3a includes a motor for driving each joint of the first robot 3 and an encoder for detecting the rotation angle of each joint of the first robot 3. Similarly, the arm drive mechanism 4a includes a motor for driving each joint of the second robot 4 and an encoder for detecting the rotation angle of each joint of the second robot 4.
[0033] The processing circuit 11b performs inverse kinematics calculation, which is an operation to convert the path information included in the first printing path data Db1 into operation amounts such as the rotation angle and rotation speed of each joint of the first robot 3. Then, based on the output D1 from each encoder of the arm drive mechanism 3a, the processing circuit 11b outputs a control signal Sk1 so that the operation amounts such as the actual rotation angle and rotation speed of each joint become the above-mentioned calculation results. The control signal Sk1 controls the driving of the motor of the arm drive mechanism 3a.
[0034] Similarly, the processing circuit 11b performs inverse kinematics calculation, which is an operation to convert the arrangement information included in the first printing path data Db1 into operation amounts such as the rotation angle and rotation speed of each joint of the second robot 4. Then, based on the output D2 from each encoder of the arm drive mechanism 4a, the processing circuit 11b outputs a control signal Sk2 so that the operation amounts such as the actual rotation angle and rotation speed of each joint become the above-mentioned calculation results. The control signal Sk2 controls the driving of the motor of the arm drive mechanism 4a.
[0035] Here, the processing circuit 11b detects the position and orientation of the work W during printing based on the imaging result of the imaging device 7a of the imaging unit 7. Then, based on the detection result and the arrangement information, the processing circuit 11b corrects the control signal Sk2 during printing so that the difference between the detection result and the position and orientation indicated by the arrangement information is reduced. The position and orientation of the work W can be obtained, for example, by converting the position and orientation of the work W in the captured image of the imaging device 7a from the imaging coordinate system to the world coordinate system. Further, the position and orientation of the work W in the imaging coordinate system are calculated, for example, based on the position of the feature points of the work W in the captured image and the shape information of the work W. Note that the detection of the position and orientation of the work W based on the imaging result of the imaging device 7a may be performed by an image processing circuit included in the imaging device 7a or by the computer 13.
[0036] Further, the processing circuit 11b generates a signal D3 based on the output D1 from at least one of the plurality of encoders of the arm drive mechanism 3a. For example, the processing circuit 11b generates a trigger signal including a pulse at a timing when the output D1 from one of the plurality of encoders becomes a predetermined value as the signal D3.
[0037] The control module 12 is a circuit that controls the ink ejection operation of the head unit 5 based on the signal D3 output from the controller 11 and the print data from the computer 13. The control module 12 includes a timing signal generation circuit 12a, a power supply circuit 12b, a control circuit 12c, and a drive signal generation circuit 12d.
[0038] The timing signal generation circuit 12a generates a timing signal PTS based on the signal D3. The timing signal generation circuit 12a is composed of, for example, a timer that starts generating the timing signal PTS upon detection of the signal D3.
[0039] The power supply circuit 12b receives power supply from a commercial power supply (not shown) and generates various predetermined potentials. The generated various potentials are appropriately supplied to each part of the control module 12 and the head unit 5. For example, the power supply circuit 12b generates a power supply potential VHV and an offset potential VBS. The offset potential VBS is supplied to the head unit 5. Also, the power supply potential VHV is supplied to the drive signal generation circuit 12d.
[0040] Based on the timing signal PTS, the control circuit 12c generates a control signal SI, a waveform specification signal dCom, a latch signal LAT, a clock signal CLK, and a change signal CNG. These signals are synchronized with the timing signal PTS. Among these signals, the waveform specification signal dCom is input to the drive signal generation circuit 12d, and the other signals are input to the switch circuit 5d of the head unit 5.
[0041] The control signal SI is a digital signal for specifying the operating state of the drive element of the head 5a of the head unit 5. Specifically, the control signal SI specifies whether to supply a drive signal Com (described later) to the drive element. By this specification, for example, it is specified whether to eject ink from the nozzle corresponding to the drive element, or the amount of ink ejected from the nozzle. The waveform specification signal dCom is a digital signal for defining the waveform of the drive signal Com. The latch signal LAT and the change signal CNG are used in combination with the control signal SI, and by defining the drive timing of the drive element, the ink ejection timing from the nozzle is defined. The clock signal CLK is a reference clock signal synchronized with the timing signal PTS.
[0042] The above control circuit 12c includes, for example, one or more processors such as a CPU (Central Processing Unit). Note that the control circuit 12c may include a programmable logic device such as an FPGA (field-programmable gate array) instead of or in addition to the CPU.
[0043] The drive signal generation circuit 12d is a circuit that generates a drive signal Com for driving each drive element of the head 5a of the head unit 5. Specifically, the drive signal generation circuit 12d includes, for example, a DA conversion circuit and an amplification circuit. In the drive signal generation circuit 12d, the DA conversion circuit converts the waveform designation signal dCom from the control circuit 12c from a digital signal to an analog signal, and the amplification circuit amplifies the analog signal using the power supply potential VHV from the power supply circuit 12b to generate the drive signal Com. Here, among the waveforms included in the drive signal Com, the signal of the waveform actually supplied to the drive element is the drive pulse PD. The drive pulse PD is supplied from the drive signal generation circuit 12d to the drive element via the switch circuit 5d of the head unit 5. The switch circuit 5d switches whether or not to supply at least a part of the waveforms included in the drive signal Com as the drive pulse PD based on the control signal SI.
[0044] The computer 13 has a function of supplying information such as the first print path data Db1 to the controller 11 and a function of supplying information such as print data to the control module 12. Details of the computer 13 will be described later with reference to FIG. 5 described later. Note that the imaging device 7a described above may be connected to the controller 11 via the computer 13. In this case, the computer 13 may input the imaging result of the imaging device 7a directly to the controller 11, or may calculate the position and orientation of the workpiece W based on the imaging result of the imaging device 7a and input information indicating the calculation result to the controller 11. Further, this calculation result may be used as correction data DC shown in FIG. 5 described later.
[0045] 1-3. Configuration of the First Robot FIG. 3 is a perspective view of the first robot 3. Hereinafter, the configuration of the first robot 3 will be described. Note that the configuration of the second robot 4 is the same as that of the first robot 3 except that the attached end effector is different, and thus the description thereof will be omitted. However, as described above, the configurations of the first robot 3 and the second robot 4 may be different from each other.
[0046] As shown in FIG. 3, the first robot 3 has a base 310 and an arm 320.
[0047] The base 310 is a platform that supports the arm 320. In the example shown in FIG. 3, the base 310 is attached in the Z direction to the surface 2a of the aforementioned base 2 and fixed by screwing or the like.
[0048] The arm 320 is a six-axis robot arm having a base end attached to the base 310 and a tip end that changes its position and orientation three-dimensionally with respect to the base end. Specifically, the arm 320 has arms 321, 322, 323, 324, 325, and 326, which are connected in this order.
[0049] The arm 321 is connected to the base 310 via a joint portion 330_1 so as to be rotatable about a rotation axis O1. The arm 322 is connected to the arm 321 via a joint portion 330_2 so as to be rotatable about a rotation axis O2. The arm 323 is connected to the arm 322 via a joint portion 330_3 so as to be rotatable about a rotation axis O3. The arm 324 is connected to the arm 323 via a joint portion 330_4 so as to be rotatable about a rotation axis O4. The arm 325 is connected to the arm 324 via a joint portion 330_5 so as to be rotatable about a rotation axis O5. The arm 326 is connected to the arm 325 via a joint portion 330_6 so as to be rotatable about a rotation axis O6.
[0050] Each of the joint portions 330_1 to 330_6 is a mechanism that rotatably connects one of the two adjacent members of the base portion 310 and the arms 321 to 326 to the other. Although not shown in FIG. 3, each of the joint portions 330_1 to 330_6 is provided with a drive mechanism for rotating one of the two adjacent members with respect to the other. The drive mechanism includes, for example, a motor that generates a driving force for the rotation, a speed reducer that decelerates and outputs the driving force, and an encoder such as a rotary encoder that detects an operation amount such as the angle of the rotation. Note that the assembly of the drive mechanisms of the joint portions 330_1 to 330_6 corresponds to the arm drive mechanism 3a shown in FIG. 2 described above.
[0051] The rotation axis O1 is an axis perpendicular to the surface 2a to which the base portion 310 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.
[0052] Note that for these rotation axes, the term "perpendicular" includes not only the case where the angle formed by the two rotation axes is exactly 90°, but also the case where the angle formed by the two rotation axes deviates within a range of about ±5° from 90°. Similarly, the term "parallel" includes not only the case where the two rotation axes are exactly parallel, but also the case where one of the two rotation axes is inclined within a range of about ±5° with respect to the other.
[0053] At the tip of the arm 320 described above, that is, on the arm 326, the head unit 5 is mounted as an end effector.
[0054] 1-4. Configuration of the Head Unit FIG. 4 is a perspective view showing a schematic configuration of the head unit 5. In the following description, for convenience, the a-axis, b-axis, and c-axis that intersect each other are appropriately used. Further, in the following, one direction along the a-axis is the a1 direction, and the direction opposite to the a1 direction is the a2 direction. Similarly, the directions opposite to each other along the b-axis are the b1 direction and the b2 direction. Further, the directions opposite to each other along the c-axis are the c1 direction and the c2 direction.
[0055] Here, the a-axis, b-axis, and c-axis are the coordinate axes of the tool coordinate system set in the head unit 5, and the relative positions and postures with respect to the X-axis, Y-axis, and Z-axis described above change due to the operation of the first robot 3 described above. In the example shown in FIG. 4, the c-axis is a shaft parallel to the rotation axis O6 described above. Note that the a-axis, b-axis, and c-axis are typically orthogonal to each other, but are not limited thereto, and may intersect at an angle within a range of 80° or more and 100° or less, for example. Note that the tool coordinate system and the base coordinate system described above are associated with each other by calibration. Further, the tool coordinate system is set such that, for example, the center of the nozzle surface F described below is the reference (tool center point).
[0056] As described above, the head unit 5 includes the head 5a, the pressure adjustment valve 5b, and the curing light source 5c. These are supported by a support 5e shown by a two-dot chain line in FIG. 4. In the example shown in FIG. 4, the number of each of the head 5a and the pressure adjustment valve 5b included in the head unit 5 is one, but the number is not limited to the example shown in FIG. 4, and may be two or more. Further, the installation position of the pressure adjustment valve 5b is not limited to the arm 326, and may be, for example, another arm or the like, or a fixed position with respect to the base 310.
[0057] The support 5e is made of, for example, a metal material or the like and is a substantially rigid body. In FIG. 4, the support 5e has a flat box shape, but the shape of the support 5e is not particularly limited and is arbitrary.
[0058] The above support 5e is attached to the aforementioned arm 326. In this way, the head 5a, the pressure regulating valve 5b, and the curing light source 5c are supported by the support 5e on the arm 326 in a bundled manner. For this reason, the relative positions of the head 5a, the pressure regulating valve 5b, and the curing light source 5c with respect to the arm 326 are fixed.
[0059] The head 5a has a nozzle surface F and a plurality of nozzles N that open to the nozzle surface F. In the example shown in FIG. 4, the normal direction of the nozzle surface F is the c2 direction, and the plurality of nozzles N are divided into a first nozzle row La and a second nozzle row Lb that are arranged at intervals along the a-axis direction. Each of the first nozzle row La and the second nozzle row Lb is a set of a plurality of nozzles N arranged linearly in the direction along the b-axis. Here, the elements related to each nozzle N in the first nozzle row La and the elements related to each nozzle N in the second nozzle row Lb in the head 5a are substantially symmetric to each other in the direction along the a-axis. Under ideal conditions, the ink droplets ejected from each nozzle N fly in the c2 direction. That is, the c2 direction is the ink ejection direction.
[0060] However, the positions of the plurality of nozzles N in the first nozzle row La and the plurality of nozzles N in the second nozzle row Lb in the direction along the b-axis may coincide with each other or may be different. Also, the elements related to each nozzle N in one of the first nozzle row La and the second nozzle row Lb may be omitted. Hereinafter, a configuration in which the positions of the plurality of nozzles N in the first nozzle row La and the plurality of nozzles N in the second nozzle row Lb in the direction along the b-axis coincide with each other is exemplified.
[0061] Although not shown, the head 5a has, for each nozzle N, a piezoelectric element as a driving element and a cavity for storing ink. Here, the piezoelectric element discharges ink from the nozzle corresponding to the cavity by changing the pressure in the cavity corresponding to the piezoelectric element. Such a head 5a can be obtained, for example, by bonding a plurality of substrates such as a silicon substrate appropriately processed by etching or the like with an adhesive or the like. Note that, as a driving element for discharging ink from the nozzle, a heater for heating the ink in the cavity may be used instead of the piezoelectric element.
[0062] In the example shown in FIG. 4, the pressure regulating valve 5b is located in the c1 direction with respect to the head 5a. The curing light source 5c is located in the a2 direction with respect to the head 5a.
[0063] The pressure regulating valve 5b is connected to an ink tank (not shown) via a supply pipe 6d. The pressure regulating valve 5b is a valve mechanism that opens and closes according to the pressure of the ink in the head 5a. By this opening and closing, even if the positional relationship between the head 5a and the ink tank changes, the pressure of the ink in the head 5a is maintained at a negative pressure within a predetermined range. For this reason, stabilization of the meniscus of the ink formed at the nozzle N of the head 5a is achieved. As a result, it is possible to prevent air bubbles from entering the nozzle N and ink from overflowing from the nozzle N. Note that the ink from the pressure regulating valve 5b is appropriately distributed to a plurality of locations of the head 5a via a branch flow path (not shown).
[0064] The curing light source 5c emits energy such as light, heat, electron beams, or radiation for curing or solidifying the ink on the workpiece W. The curing light source 5c is composed of, for example, a light-emitting element such as an LED (light emitting diode) that emits ultraviolet light. Note that the curing light source 5c may have optical components such as a lens for adjusting the energy emission direction or emission range. Further, the curing light source 5c may be provided as necessary and may be omitted. Also, the curing light source 5c may semi-cure or semi-solidify the ink on the workpiece W without completely curing it. In this case, for example, the ink on the workpiece W is completely cured by a separately installed curing light source or the like.
[0065] 1-5. Printing path data FIG. 5 is a diagram showing the computer 13 used in the data generation method according to the first embodiment. In this embodiment, the above-described first printing path data Db1 is generated by the computer 13. As shown in FIG. 5, the computer 13 includes a display device 13d, an input device 13c, a storage circuit 13a, and a processing circuit 13b. These are connected to be communicable with each other.
[0066] The display device 13d displays various images under the control of the processing circuit 13b. Here, the display device 13d has various display panels such as a liquid crystal display panel or an organic EL (electro-luminescence) display panel, for example. Note that the display device 13d may be provided outside the computer 13. Further, the display device 13d may be provided as necessary and may be omitted.
[0067] The input device 13c is a device that receives operations from the user. For example, the input device 13c has a pointing device such as a touch pad, a touch panel, or a mouse. Here, when the input device 13c has a touch panel, it may also serve as the display device 13d. Note that the input device 13c may be provided outside the computer 13. Further, the input device 13c may be provided as necessary and may be omitted.
[0068] The memory circuit 13a is a device that stores various programs executed by the processing circuit 13b and various data processed by the processing circuit 13b. The memory circuit 13a has, for example, a hard disk drive or a semiconductor memory. Note that part or all of the memory circuit 13a may be provided in an external storage device or server of the computer 13 or the like.
[0069] The memory circuit 13a stores work coordinate system data Da, robot coordinate system data Db, conversion parameter CP, and correction data DC.
[0070] The work coordinate system data Da is a data group represented in a work coordinate system, which is a coordinate system set based on the work W. The work coordinate system data Da includes work shape data DW, first initial path data Da1, and first reference path point data Ra1.
[0071] The work shape data DW is data indicating the shape of the work W in the work coordinate system. The work shape data DW is, for example, CAD (computer-aided design) data indicating the three-dimensional shape of the work W. The first initial path data Da1 is data indicating the path along which the head 5a should move in the work coordinate system. The first initial path data Da1 is generated based on the work shape data DW, as will be described later. The first reference path point data Ra1 is data indicating the position and orientation of the head 5a at a specific point on the path along which the head 5a should move in the work coordinate system. The first reference path point data Ra1 is selected from among the data included in the first initial path data Da1, as will be described later. Note that the details of the first initial path data Da1 will be described based on FIG. 6 below.
[0072] The robot coordinate system data Db is a data group represented in a robot coordinate system, which is a coordinate system set based on the robot 10. The robot coordinate system data Db includes first printing path data Db1, first head reference point data Rb1, and robot space data DR.
[0073] The first printing path data Db1 is data indicating the path along which the head 5a should move in the robot coordinate system. The first printing path data Db1 is generated by converting the first initial path data Da1 using the conversion parameter CP, as will be described later. The first head reference point data Rb1 is data indicating the position and orientation of the head 5a in the robot coordinate system. The first head reference point data Rb1 is generated based on, for example, the robot space data DR. The robot space data DR is data indicating the possible positions and orientations of the head 5a in the robot coordinate system. The robot space data DR is generated based on, for example, the size and shape of the head unit 5, the operable range of the first robot 3, and the positions and sizes of obstacles existing within the operable range. Details of the first printing path data Db1 will be described based on FIG. 6 described later.
[0074] The conversion parameter CP is a parameter for converting the coordinate values in the work coordinate system into the coordinate values in the robot coordinate system, and indicates the correspondence between the first reference path point data Ra1 and the first head reference point data Rb1. The conversion parameter CP is calculated using the result of comparing the coordinate values indicated by the first reference path point data Ra1 and the coordinate values indicated by the first head reference point data Rb1, as will be described later.
[0075] The correction data DC is calibration data for correcting the first printing path data Db1, and indicates the position and orientation of the work W or the head 5a in the robot coordinate system. The correction data DC is generated based on, for example, the imaging result of the imaging unit 7.
[0076] The processing circuit 13b is a device having a function of controlling each part of the computer 13 and other functions, and a function of processing various data. The processing circuit 13b has, for example, a processor such as a CPU. Note that the processing circuit 13b may be composed of a single processor or a plurality of processors. Also, part or all of the functions of the processing circuit 13b may be realized by hardware such as a DSP, an ASIC, a PLD, or an FPGA.
[0077] The processing circuit 13b realizes various functions by reading and executing a program from the memory circuit 13a. Specifically, the processing circuit 13b acquires or generates each of the above-described data and the like based on the workpiece shape data DW.
[0078] FIG. 6 is a diagram for explaining the first initial path data Da1 and the first printing path data Db1. In the present embodiment, the first initial path data Da1 includes N path point data Pa_1 to Pa_N and the workpiece center point data DaC. Hereinafter, when the N path point data Pa_1 to Pa_N are not distinguished, each of them may be referred to as path point data Pa. Note that it is not essential for the first initial path data Da1 to include the workpiece center point data DaC, and the workpiece center point data DaC may be treated as data separate from the first initial path data Da1.
[0079] The N path point data Pa_1 to Pa_N are data indicating the position and orientation of the head 5a at different positions on the path along which the head 5a should move in the workpiece coordinate system. However, N is a natural number of 2 or more. Here, the above-described first reference path point data Ra1 is one path point data Pa among the N path point data Pa_1 to Pa_N. The one path point data Pa is arbitrarily selected by the user from the N path point data Pa_1 to Pa_N, for example.
[0080] The workpiece center point data DaC is data indicating the position and orientation of the workpiece W in the workpiece coordinate system. The workpiece center point data DaC is, for example, the center point data included in the workpiece shape data DW.
[0081] On the one hand, in the present embodiment, the first printing path data Db1 includes N teaching point data Pb_1 to Pb_N and the work placement point data DbC. Hereinafter, when not distinguishing the N teaching point data Pb_1 to Pb_N, each of them may be referred to as teaching point data Pb. Note that it is not essential for the first printing path data Db1 to include the work placement point data DbC, and the work placement point data DbC can also be treated as data separate from the first printing path data Db1.
[0082] The N teaching point data Pb_1 to Pb_N are data indicating the position and orientation of the head 5a at different positions on the path along which the head 5a should move in the robot coordinate system. However, N is a natural number of 2 or more. The N teaching point data Pb_1 to Pb_N are data obtained by converting the aforementioned N path point data Pa_1 to Pa_N from the coordinate values in the work coordinate system to the coordinate values in the robot coordinate system using the conversion parameter CP, and correspond one-to-one to the N path point data Pa_1 to Pa_N.
[0083] The work placement point data DbC is data obtained by converting the aforementioned work center point data DaC from the coordinate values in the work coordinate system to the coordinate values in the robot coordinate system using the conversion parameter CP. Here, the work placement point data DbC included in the first printing path data Db1 is an example of "first work placement point data".
[0084] 1-6. Operations of the three-dimensional object printing apparatus FIG. 7 is a flowchart showing the three-dimensional object printing method according to the first embodiment. The aforementioned three-dimensional object printing apparatus 1 executes a three-dimensional object printing method for performing printing on the work W using the aforementioned head 5a and robot 10. As shown in FIG. 7, the three-dimensional object printing method includes an 11th data processing step S1, a first data processing step S2, a fourth data processing step S3, a second data processing step S4, a third data processing step S5, and a first printing step S7. In the present embodiment, the third data processing step S5 includes a fifth data processing step S5a.
[0085] The 11th data processing step S1 generates the plurality of path point data Pa and the work center point data DaC described above. That is, the 11th data processing step S1 generates the first initial path data Da1. The first data processing step S2 acquires the first initial path data Da1. The second data processing step S4 acquires the first head reference point data Rb1. The fourth data processing step S3 acquires the first reference path point data Ra1. The third data processing step S5 generates the first printing path data Db1. The fifth data processing step S5a generates the work placement point data DbC. The first printing step S7 performs printing based on the first printing path data Db1.
[0086] In the example shown in FIG. 7, the 11th data processing step S1, the first data processing step S2, the second data processing step S4, the fourth data processing step S3, the third data processing step S5, the fifth data processing step S5a, and the first printing step S7 are performed in this order. Hereinafter, these steps will be described in detail in order.
[0087] FIG. 8 is a diagram for explaining the generation of the first initial path data Da1 in the 11th data processing step S1, the acquisition of the first initial path data Da1 in the first data processing step S2, and the acquisition of the first reference path point data Ra1 in the fourth data processing step S3. FIG. 8 shows the path RU1a along which the head 5a should move when printing on the first region RP1 of the work W in the space of the work coordinate system having the x-axis, y-axis, and z-axis orthogonal to each other as coordinate axes.
[0088] As shown in FIG. 8, the work shape data DW described above includes the shape of the work W and the center point C0a as coordinate values in the work coordinate system. In the 11th data processing step S1 described above, the plurality of path point data Pa are generated based on the coordinate values indicating the shape of the work shape data DW, and the work center point data DaC is generated based on the coordinate values indicating the center point C0a of the work shape data DW.
[0089] Here, the generation of the plurality of path point data Pa is performed, for example, using an automatic path generation algorithm. For example, a path RU1a that extends linearly in a direction along the Z-axis or the X-axis is set so that the distance between the head 5a and the first region RP1 is constant.
[0090] In the example shown in FIG. 8, the path RU1a is a path that passes through five path points Aa1_1 to Aa1_5 in this order. Hereinafter, when not distinguishing between the path points Aa1_1 to Aa1_5, each of them may be referred to as a path point Aa1.
[0091] The path point Aa1 is the point indicated by the path point data Pa included in the aforementioned first initial path data Da1. The position of the head 5a is represented by the coordinate value of the path point Aa1 in the work coordinate system. The posture of the head 5a is represented by the rotation angle around each coordinate axis in the work coordinate system.
[0092] One path point Aa1 selected from such path points Aa1_1 to Aa1_5 is the point indicated by the aforementioned first reference path point data Ra1. In the example shown in FIG. 5, the path point Aa1_2 is the point indicated by the first reference path point data Ra1. In FIG. 5, the head 5a and the head unit 5 corresponding to the path point Aa1_2 are shown by solid lines, and the head 5a and the head unit 5 corresponding to the other path points Aa1_1 and path points Aa1_3 to Aa1_5 are shown by two-dot chain lines.
[0093] As understood from the above, in the aforementioned first data processing step S2, a plurality of path point data Pa and work center point data DaC generated in the eleventh data processing step S1 are acquired as the first initial path data Da1.
[0094] Then, in the fourth data processing step S3, by selecting any one path point data Pa from the plurality of path point data Pa, the one path point data Pa is acquired as the first reference path point data Ra1.
[0095] FIG. 9 is a diagram for explaining the acquisition of the first head reference point data Rb1 in the second data processing step S4. In FIG. 9, the position and orientation of the head 5a in the space of the robot coordinate system based on the first head reference point data Rb1 are shown. The position and the orientation are appropriately determined from the positions and orientations that the head 5a can take using the robot space data DR and the like. For example, the user can also appropriately select or adjust the first head reference point data Rb1 from the robot space data DR. Thereby, the second data processing step S4 acquires the first head reference point data Rb1.
[0096] Here, an example of a method for acquiring the conversion parameter CP and the generation of the first printing path data Db1 in the third data processing step S5 will be described with reference to FIGS. 8 to 10.
[0097] In the present embodiment, when the coordinate values of the path point Aa1 selected as the first reference path point data Ra1 in the work coordinate system are (xa, ya, za), two additional coordinate values of the path point Aa1 of the points Ba1 and Ca1 in the work coordinate system are acquired accordingly. The three points, namely the path point Aa1, the point Ba1, and the point Ca1, are points with different positions that are not on the same straight line.
[0098] For example, as shown in the portion surrounded by the dashed line in FIG. 8, the point Ba1 is a point located in the traveling direction of the head 5a from the path point Aa1 selected as the first reference path point data Ra1, and the coordinate values (xb, yb, zb) of the point Ba1 are the coordinate values obtained by adding the vector Vα1a in the traveling direction to the coordinate values (xa, ya, za) of the path point Aa1 selected as the first reference path point data Ra1. Further, the point Ca1 is a point located in the ink ejection direction of the head 5a from the path point Aa1, and the coordinate values (xc, yc, zc) of the point Ba1 are the coordinate values obtained by adding the vector Vβ1a in the ejection direction to the coordinate values of the path point Aa1.
[0099] In the present embodiment, assuming that the coordinate values of the point Ab1 selected as the first head reference point data Rb1 in the robot coordinate system are (Xa, Ya, Za), the coordinate values of two more points in the robot coordinate system of the points Bb1 and Cb1 are obtained accordingly. The three points, namely the path point Ab1, the point Bb1, and the point Cb1, are points with different positions that are not on the same straight line, and correspond to the three points Aa1, Ba1, and Ca1 in the aforementioned work coordinate system.
[0100] For example, as shown in FIG. 9, the point Bb1 is a point located in the traveling direction of the head 5a from the point Ab1. The coordinate values (Xb, Yb, Zb) of the point Bb1 are the coordinate values obtained by adding the vector Vα1b in the traveling direction to the coordinate values (Xa, Ya, Za) of the point Ab1. The point Cb1 is a point located in the ink ejection direction of the head 5a from the point Ab1. The coordinate values (Xc, Yc, Zc) of the point Cb1 are the coordinate values obtained by adding the vector Vβ1b in the traveling direction to the coordinate values of the point Ab1. Note that the vectors Vα1a and Vα1b have the same direction and magnitude with respect to the head 5a, and the vectors Vβ1a and Vβ1b have the same direction and magnitude with respect to the head 5a. Also, it is preferable that the vectors Vα1a, Vβ1a, Vα1b, and Vβ1b are arbitrarily set in advance so as to satisfy such conditions.
[0101] FIG. 10 is a diagram for explaining the generation of the first printing path data Db1. FIG. 10 shows the path RU1b that the head 5a should move when printing on the first region RP1 of the work W in the space of the robot coordinate system.
[0102] In the third data processing step S5, first, for the three coordinate values, i.e., path points Aa1, Ba1, and Ca1, based on the first reference path point data Ra1, and the points Ab1, Bb1, and Cb1, which are the coordinate values based on the first head reference point data Rb1, they are respectively compared. Then, an operation is performed to estimate the conversion parameter CP such that these values match or the error is minimized. By this operation, the conversion parameter CP is obtained. For this estimation operation, known methods such as the least squares method can be appropriately used.
[0103] After obtaining the conversion parameter CP, by applying the conversion parameter CP to the plurality of path point data Pa included in the first initial path data Da1, the first printing path data Db1 is generated.
[0104] In this embodiment, the third data processing step S5 includes a fifth data processing step S5a. The fifth data processing step S5a generates the work placement point data DbC by applying the conversion parameter CP to the work center point data DaC.
[0105] After the above third data processing step S5, in the tenth data processing step S6, based on the result of detecting the position of the actually placed work W based on the imaging result of the imaging unit 7 or the like, the first printing path data Db1 is corrected. As a result, the corrected first printing path data Db1 is obtained as the corrected first printing path data.
[0106] FIG. 11 is a diagram for explaining the operation of the first robot 3 in the first printing step S7. In the first printing step S7, as shown in FIG. 11, while the second robot 4 supports the position and posture of the work W, the first robot 3 moves the head 5a and the head 5a discharges ink onto the work W.
[0107] Here, the first robot 3 moves the head 5a based on a plurality of teaching point data Pb included in the first printing path data Db1. Also, the second robot 4 arranges the workpiece W based on the workpiece placement point data DbC included in the first printing path data Db1 before the first printing step S7.
[0108] Thus, in this step, the first robot 3 operates while the second robot 4 does not operate. Therefore, vibration of the workpiece W can be prevented. Here, from the viewpoint of reducing the meandering of the movement path of the head 5a, it is better that the number of joints for operating the first robot 3 in this step is as small as possible, and it is preferable to operate the first robot 3 by the operation of joints of three rotation axes parallel to each other. In the example shown in FIG. 11, the three rotation axes are the rotation axis O2, the rotation axis O3, and the rotation axis O5.
[0109] The above three-dimensional object printing method uses a head 5a that discharges ink, which is an example of a "liquid", onto the workpiece W, and a robot 10 that changes the relative position and posture between the workpiece W and the head 5a. As described above, the three-dimensional object printing method includes the first data processing step S2, the second data processing step S4, the third data processing step S5, and the first printing step S7.
[0110] The first data processing step S2 acquires first initial path data Da1 indicating the path along which the head 5a should move in the workpiece coordinate system. The second data processing step S4 acquires first head reference point data Rb1 indicating the position and posture of the head 5a in the robot coordinate system. The third data processing step S5 generates first printing path data Db1 indicating the path along which the head 5a should move in the robot coordinate system based on the first initial path data Da1 and the first head reference point data Rb1. The first printing step S7 discharges ink from the head 5a onto the workpiece W while operating the robot 10 based on the first printing path data Db1.
[0111] Note that the data generation method for generating robot coordinate system data from such work coordinate system data includes a first data processing step S2 which is an example of the "first step", a second data processing step S4 which is an example of the "second step", and a third data processing step S5 which is an example of the "third step". The first data processing step S2 acquires first initial path data Da1 as an example of "initial path data" indicating the path along which the end effector including the head 5a should move in the work coordinate system. The second data processing step S4 acquires first head reference point data Rb1 as an example of "reference teaching point data" indicating the position and orientation of the end effector in the robot coordinate system. The third data processing step S5 generates first printing path data Db1 as an example of "teaching data" indicating the path along which the end effector should move in the robot coordinate system based on the initial path data and the reference teaching point data.
[0112] In the above three-dimensional object printing method, since the first printing path data Db1 is generated based on the first initial path data Da1 and the first head reference point data Rb1, when changing the path along which the head 5a should move in the real space due to changes in the arrangement of the work W, etc., it is only necessary to change the first head reference point data Rb1, so the first printing path data Db1 can be easily regenerated. For example, when it is necessary to adjust the position of the path RU1b as a whole in the Z1 direction, it is only necessary to move the coordinates of the first head reference point data Rb1 in the Z1 direction. Similarly, when it is necessary to adjust the orientation of the path RU1b as a whole, it is only necessary to change the orientation of the first head reference point data Rb1.
[0113] On the other hand, in the conventional method of generating the first printing path data Db1 without using the first initial path data Da1, when changing the path along which the head 5a should move due to changes in the arrangement of the work W, etc., each time it is necessary to actually move the robot 10 and specify the coordinates of three or more target points on the changed path as coordinate values in the robot coordinate system. Therefore, the conventional method has the problem that it takes time to regenerate the first printing path data Db1.
[0114] When the shape of the workpiece W is a three-dimensional shape, since the shape of the workpiece W is diverse, the frequency of changing the path along which the head 5a should move increases as the arrangement of the workpiece W and the like changes. Therefore, as described above, it is particularly effective that the path along which the head 5a should move can be changed only by changing the first head reference point data Rb1. Here, cases where it is necessary to change the path along which the head 5a should move include, for example, cases of avoiding contact with obstacles assumed during the operation of the robot 10 and cases of avoiding an unreasonable posture of the robot 10.
[0115] As described above, the robot 10 includes a first robot 3 that changes the position and posture of the head 5a and a second robot 4 that changes the position and posture of the workpiece W. In the first printing step S7, the first robot 3 moves the head 5a based on the first printing path data Db1. In a configuration using two robots in this way, the arrangement of the workpiece W can be easily changed by the operation of the second robot 4. Also, the head 5a can be moved along the path based on the first printing path data Db1 by the operation of the first robot 3.
[0116] Also, as described above, the first initial path data Da1 includes a plurality of path point data Pa indicating the position and posture of the head 5a in the workpiece coordinate system. Here, between the first data processing step S2 and the third data processing step S5, a fourth data processing step S3 is included. The fourth data processing step S3 acquires specific path point data Pa among the plurality of path point data Pa included in the first initial path data Da1 as the first reference path point data Ra1. Then, the third data processing step S5 generates the first printing path data Db1 based on the first reference path point data Ra1 and the first head reference point data Rb1. In this way, by using the first reference path point data Ra1, the coordinate values in the workpiece coordinate system and the coordinate values in the robot coordinate system can be associated with each other. Also, by using this association, the first printing path data Db1 can be generated based on the plurality of path point data Pa included in the first initial path data Da1.
[0117] Specifically, as described above, after calculating the conversion parameter CP, the third data processing step S5 generates the first printing path data Db1 by applying the conversion parameter CP to a plurality of path point data Pa included in the first initial path data Da1. Here, the conversion parameter CP is a parameter indicating the correspondence between the first reference path point data Ra1 and the first head reference point data Rb1, and is calculated by comparing the coordinate values indicated by the first reference path point data Ra1 and the coordinate values indicated by the first head reference point data Rb1.
[0118] Also, as described above, the first initial path data Da1 further includes work center point data DaC indicating the position and orientation of the work W in the work coordinate system. Here, a fifth data processing step S5a is included between the second data processing step S4 and the first printing step S7. The fifth data processing step S5a generates work placement point data DbC, the first work placement point data, indicating the position and orientation where the work W should be placed in the robot coordinate system based on the first initial path data Da1, the work center point data DaC, and the first head reference point data Rb1. Therefore, as described above, in the first printing step S7, the second robot 4 places the work W based on the work placement point data DbC.
[0119] Furthermore, as described above, a tenth data processing step S6 is included between the third data processing step S5 and the first printing step S7. The tenth data processing step S6 generates corrected first printing path data Db1 as corrected first printing path data based on the result of detecting the position of the actually placed work W and the first printing path data Db1. Therefore, the accuracy of the first printing path data Db1 can be improved.
[0120] Also, as described above, a eleventh data processing step S1 is included before the first data processing step S2. The eleventh data processing step S1 generates a plurality of path point data Pa and work center point data DaC based on work shape data DW indicating the shape of the work W in the work coordinate system.
[0121] 2. Second Embodiment Hereinafter, a second embodiment of the present invention will be described. For elements whose operations and functions are the same as those in the first embodiment in the forms exemplified below, the reference numerals used in the description of the first embodiment are reused, and the detailed description of each is appropriately omitted.
[0122] FIG. 12 is a diagram showing a computer 13A used in the data generation method according to the second embodiment. The computer 13A generates second print path data Db2 in addition to the first print path data Db1. The computer 13A is the same as the computer 13 in the first embodiment described above, except that the data and programs stored in the storage circuit 13a are different.
[0123] The work coordinate system data Da in the present embodiment includes second initial path data Da2 and second reference path point data Ra2 in addition to the data described in the first embodiment.
[0124] The second initial path data Da2 is data indicating a path different from the first initial path data Da1 as the path along which the head 5a should move in the work coordinate system. The second initial path data Da2 is generated based on the work shape data DW, similar to the first initial path data Da1. The second reference path point data Ra2 is data indicating the position and orientation of the head 5a at a specific point on the path along which the head 5a should move in the work coordinate system. The second reference path point data Ra2 is generated based on the second initial path data Da2.
[0125] The robot coordinate system data Db in the present embodiment includes second print path data Db2 and second head reference point data Rb2 in addition to the data described in the first embodiment.
[0126] The second printing path data Db2 is data indicating a path different from the first printing path data Db1 as the path along which the head 5a should move in the robot coordinate system. The second printing path data Db2 is generated by converting the second initial path data Da2 using the conversion parameter CP. The second head reference point data Rb2 is data indicating the position and orientation of the head 5a in the robot coordinate system. The second head reference point data Rb2 is generated based on the robot space data DR, for example, in the same manner as the first head reference point data Rb1.
[0127] FIG. 13 is a flowchart showing a three-dimensional object printing method according to the second embodiment. As shown in FIG. 13, the three-dimensional object printing method includes, in addition to the steps described in the above-described first embodiment, a sixth data processing step S8, a seventh data processing step S10, a ninth data processing step S9, an eighth data processing step S11, and a second printing step S12.
[0128] The sixth data processing step S8 acquires the second initial path data Da2. The seventh data processing step S10 acquires the second head reference point data Rb2. The ninth data processing step S9 acquires the second reference path point data Ra2. The eighth data processing step S11 generates the second printing path data Db2. The second printing step S12 performs printing based on the second printing path data Db2.
[0129] In the example shown in FIG. 13, the sixth data processing step S8, the seventh data processing step S10, the ninth data processing step S9, the eighth data processing step S11, and the second printing step S12 are performed in this order. As another example, it is also possible to execute the first printing step S7 and the second printing step S12 after completing the tenth data processing step S6 and the eighth data processing step S11.
[0130] FIG. 14 is a diagram for explaining the acquisition of the second initial path data Da2. In FIG. 14, in addition to the first region RP1, a path RU2a to be moved by the head 5a when printing on a second region RP2 different from the first region RP1 of the work W in the space of the work coordinate system is shown.
[0131] The sixth data processing step S8 is the same as the first data processing step S2 except that a plurality of path point data Pa are extracted so as to correspond to the second region RP2. Thereby, the second initial path data Da2 is obtained.
[0132] Further, the ninth data processing step S9 is the same as the fourth data processing step S3 except that the second initial path data Da2 is used instead of the first initial path data Da1. Thereby, the second reference path point data Ra2 is obtained.
[0133] FIG. 15 is a diagram for explaining the acquisition of the second head reference point data Rb2. In FIG. 15, the position and orientation of the head 5a in the space of the robot coordinate system are shown.
[0134] The seventh data processing step S10 is performed in the same manner as the second data processing step S4. Thereby, the second head reference point data Rb2 is obtained. Here, it is preferable that at least one of the positions and orientations indicated by the first head reference point data Rb1 and the second head reference point data Rb2 is close to each other, and more preferably equal to each other. In FIG. 15, a case where the positions and orientations indicated by the first head reference point data Rb1 and the second head reference point data Rb2 are equal to each other is illustrated. Also, in FIG. 15, the posture of the work W in the first printing step S7 is indicated by a solid line, and the posture of the work W in the second printing step S12 is indicated by a two-dot chain line.
[0135] The eighth data processing step S11 is the same as the third data processing step S5 except that the second initial path data R2a and the second head reference point data Rb2 are used instead of the first initial path data R1a and the first head reference point data Rb1. Thereby, the second printing path data Db2 is obtained.
[0136] The second printing step S12 is the same as the first printing step S7, except that the second printing path data Db2 is used instead of the first printing path data Db1. Thereby, printing is performed on the second region RP2.
[0137] Also according to the above second embodiment, similar to the aforementioned first embodiment, the three-dimensional object printing method of this embodiment that can reduce the labor involved in generating the movement path of the head 5a includes, as described above, in addition to each step of the aforementioned first embodiment, a sixth data processing step S8, a seventh data processing step S10, an eighth data processing step S11, and a second printing step S12.
[0138] The sixth data processing step S8 acquires second initial path data Da2 indicating the path along which the head 5a should move in the workpiece coordinate system. The seventh data processing step S10 acquires second head reference point data Rb2 indicating the position and orientation of the head 5a in the robot coordinate system. The eighth data processing step S11 generates second printing path data Db2 indicating the path along which the head 5a should move in the robot coordinate system based on the second initial path data Da2 and the second head reference point data Rb2. The second printing step S12 discharges ink from the head 5a onto the workpiece W while operating the robot 10 based on the second printing path data Db2.
[0139] In this embodiment, since the second printing path data Db2 is generated based on the second initial path data Da2 and the second head reference point data Rb2, when changing the path along which the head 5a should move in the real space, there is an advantage that only the second head reference point data Rb2 needs to be changed.
[0140] Also, as described above, the second initial path data Da2 includes a plurality of path point data Pa indicating the position and orientation of the head 5a in the workpiece coordinate system. And between the sixth data processing step S8 and the eighth data processing step S11, a ninth data processing step S9 is included. The ninth data processing step S9 acquires specific path point data Pa among the plurality of path point data Pa included in the second initial path data Da2 as the second reference path point data Ra2. Here, the ninth data processing step S9 generates the second printing path data Db2 based on the second reference path point data Ra2 and the second head reference point data Rb2. Therefore, by using the second reference path point data Ra2, the coordinate values in the workpiece coordinate system and the coordinate values in the robot coordinate system can be associated with each other. Also, by using this association, the second printing path data Db2 can be generated based on the plurality of path point data Pa included in the second initial path data Da2.
[0141] Here, it is preferable that the difference between the orientation indicated by the first head reference point data Rb1 and the orientation indicated by the second head reference point data Rb2 is smaller than the difference between the orientation indicated by the first reference path point data Ra1 and the orientation indicated by the second reference path point data Ra2. In this case, since the reference orientation of the head 5a is close between the first printing step and the second printing step, the change in orientation between the first printing step and the second printing step becomes small, and the difference in print quality can be reduced. That is, when the first printing step is the first pass and the second printing step is the second pass, the difference in print quality between the passes can be reduced. Also, for example, a large change in the orientation of the head 5a is unlikely to occur between passes, as in the case where the ink ejection direction in the first pass is vertically downward while the ink ejection direction in the second pass is horizontal. Note that the difference in the reference orientation of the head 5a between passes also varies depending on the curvature of each of the first initial path data Da1 and the second initial path data Da2, and the selection of the first reference path point data Ra1 and the second reference path point data Ra2.
[0142] From such a viewpoint, it is preferable that the orientation indicated by the first reference path point data Ra1 and the orientation indicated by the second reference path point data Ra2 are equal to each other.
[0143] Also, the difference between the position indicated by the first head reference point data Rb1 and the position indicated by the second head reference point data Rb2 is preferably smaller than the difference between the position indicated by the first reference path point data Ra1 and the position indicated by the second reference path point data Ra2. In this case, since the position serving as the reference for the head 5a is close between the first printing step and the second printing step, the change in position between the first printing step and the second printing step becomes small, and the difference in print quality can be reduced. That is, when the first printing step is the first pass and the second printing step is the second pass, the difference in print quality between the passes can be reduced. Also, it is possible to prevent the operation area of the robot 10 from becoming unnecessarily large in the first pass and the second pass. For this reason, the possibility of collision with other structures or the like can be reduced. Note that the difference in the reference position of the head 5a between the passes also varies depending on the curvature of each of the first initial path data Da1 and the second initial path data Da2 and the selection of the first reference path point data Ra1 and the second reference path point data Ra2.
[0144] From such a viewpoint, it is preferable that the position indicated by the first reference path point data Ra1 and the position indicated by the second reference path point data Ra2 are equal to each other.
[0145] 3. Modification Example Each form in the above examples can be variously modified. Specific modification modes applicable to each of the above forms are exemplified below. Note that two or more modes arbitrarily selected from the following examples can be appropriately combined within a range not conflicting with each other.
[0146] 3-1. Modification Example 1 In the above-described embodiment, the first print path data Db1 and the second print path data Db2 are generated using the computer 13, but the present invention is not limited to this. For example, part or all of the function of generating the first print path data Db1 and the second print path data Db2 may be implemented in the controller 11.
[0147] 3-2. Modification Example 2 In the foregoing embodiment, the third data processing step includes the fifth data processing step, but is not limited thereto, and the fifth data processing step and the third data processing step may be performed separately. In this case, the work placement point data may be data different from the first printing path data.
[0148] 3-3. Modification Example 3 In the foregoing form, a configuration using a six-axis vertical multi-axis robot as the moving mechanism is exemplified, but the present invention is not limited to this configuration. The moving mechanism only needs to be capable of three-dimensionally changing the relative position and orientation of the liquid ejection head with respect to the work. Therefore, the moving mechanism may be, for example, a vertical multi-axis robot other than six axes or a horizontal multi-axis robot. Further, the robot arm may have a telescopic mechanism or the like in addition to the joint portion constituted by the rotation mechanism. However, from the viewpoint of the balance between the printing quality in the printing operation and the degree of freedom of the operation of the moving mechanism in the non-printing operation, the moving mechanism is preferably a multi-axis robot having six or more axes. Further, a dual-arm robot may be used. In this case, one arm can be used as the first robot and the other arm can be used as the second robot.
[0149] 3-4. Modification Example 4 In the foregoing form, a configuration using screwing or the like as a method of fixing the head to the first robot is exemplified, but the present invention is not limited to this configuration. For example, the head may be fixed to the first robot by gripping the head with a gripping mechanism such as a hand attached as an end effector of the first robot.
[0150] 3-5. Modification Example 5 In the foregoing form, a configuration in which printing is performed using one type of ink is exemplified, but the present invention is not limited to this configuration, and the present invention can also be applied to a configuration in which printing is performed using two or more types of ink.
[0151] 3-6. Modification Example 6 The use of the three-dimensional object printing apparatus of the present invention is not limited to printing. For example, a three-dimensional object printing apparatus that discharges a solution of a coloring material is used as a manufacturing apparatus for forming a color filter of a liquid crystal display device. Further, a three-dimensional object printing apparatus that discharges a solution of a conductive material is used as a manufacturing apparatus for forming wirings and electrodes of a wiring board. Further, the three-dimensional object printing apparatus can also be used as a jet dispenser that applies a liquid such as an adhesive to a workpiece.
Explanation of Signs
[0152] 1...Three-dimensional object printing device, 2...Base, 2a...Surface, 3...First robot, 3a...Arm drive mechanism, 4...Second robot, 4a...Arm drive mechanism, 5...Head unit, 5a...Head, 5b...Pressure regulating valve, 5c...Hardening light source, 5d...Switch circuit, 5e...Support, 6d...Supply pipe, 7...Imaging unit, 7a...Imaging device, 7b...Illumination unit, 10...Robot, 11...Controller, 11a...Memory circuit, 11b...Processing circuit, 12...Control module, 12a...Timing signal generation circuit, 12b...Power supply circuit, 12c...Control circuit, 12d...Drive signal generation circuit, 13...Computer, 13A...Computer, 13a...Memory circuit, 13b...Processing circuit, 13c...Input device, 13d...Display device, 40...Gripping mechanism, 310...Base, 320...Arm, 321...Arm, 322...Arm, 323...Arm, 324...Arm, 325...Arm, 326...Arm, 330_1...Joint part, 330_2...Joint part, 330_3...Joint part, 330_4...Joint part, 330_5...Joint part, 330_6...Joint part, Aa1...Path point, Aa1_...Path point, Aa1_1...Path point, Aa1_2...Path point, C0a...Center point, CLK...Clock signal, CNG...Change signal, CP...Conversion parameter, Com...Drive signal, D1...Output, D2...Output, D3...Signal, DC...Correction data, DR...Robot space data, DW...Work shape data, Da...Work coordinate system data, Da1...First initial path data, Da2...Second initial path data, DaC...Work center point data, Db...Robot coordinate system data, Db1...First printing path data, Db2...Second printing path data, DbC...Work placement point data, F...Nozzle surface, LAT...Latch signal, La...First nozzle row, Lb...Second nozzle row, N...Nozzle, O1...Rotation axis, O2...Rotation axis, O3...Rotation axis, O4...Rotation axis, O5...Rotation axis, O6...Rotation axis, PD...Drive pulse, PTS...Timing signal, Pa...Path point data, Pa_1...Path point data, Pb...Teaching point data, Pb_1...Teaching point data, R1a...First initial path data, R2a...Second initial path data, RP1...First region, RP2...Second region, RU1a...Path, RU1b...Path, RU2a...Path, Ra1...First reference path point data, Ra2...Second reference path point data, Rb1...First head reference point data, Rb2...Second head reference point data, S1...Eleventh data processing step, S2...First data processing step,S3…Fourth data processing step, S4…Second data processing step, S5…Third data processing step, S5a…Fifth data processing step, S6…Tenth data processing step, S7…First printing step, S8…Sixth data processing step, S9…Ninth data processing step, S10…Seventh data processing step, S11…Eighth data processing step, S12…Second printing step, SI…Control signal, Sk1…Control signal, Sk2…Control signal, VBS…Offset potential, VHV…Power supply potential, Vα1a…Vector, Vα1b…Vector, W…Work, dCom…Waveform specifying signal.,
Claims
1. A three-dimensional object printing method using a head that discharges liquid onto a workpiece, a first robot that changes the position and orientation of the head, and a second robot that changes the position and orientation of the workpiece, comprising: a first data processing step of obtaining first initial path data indicating the path along which the head should move in the workpiece coordinate system; a second data processing step of obtaining first head reference point data indicating the position and orientation of the head in the robot coordinate system; a third data processing step of generating first printing path data indicating the path along which the head should move in the robot coordinate system based on the first initial path data and the first head reference point data; a first printing step of discharging liquid from the head onto the workpiece while the first robot moves the head based on the first printing path data; A three-dimensional object printing method characterized by the above.
2. The first initial path data includes a plurality of path point data indicating the position and orientation of the head in the workpiece coordinate system, and between the first data processing step and the third data processing step, a fourth data processing step of obtaining specific path point data among the plurality of path point data included in the first initial path data as first reference path point data is included, and the third data processing step generates the first printing path data based on the first reference path point data and the first head reference point data. The three-dimensional object printing method according to Claim 1, characterized by the above.
3. The third data processing step includes: calculating conversion parameters indicating the correspondence between the first reference path point data and the first head reference point data by comparing the coordinate values indicated by the first reference path point data and the coordinate values indicated by the first head reference point data; generating the first printing path data by applying the conversion parameters to the plurality of path point data included in the first initial path data. The three-dimensional object printing method according to Claim 2, characterized by the above.
4. The first initial path data further includes workpiece center point data indicating the position and orientation of the workpiece in the workpiece coordinate system. Between the second data processing step and the first printing step, a fifth data processing step is included to generate first workpiece placement point data indicating the position and orientation where the workpiece should be placed in the robot coordinate system based on the first initial path data, the workpiece center point data, and the first head reference point data. The three-dimensional object printing method according to any one of claims 1 to 3, characterized in that.
5. In the first printing step, the second robot places the workpiece based on the first workpiece placement point data. The three-dimensional object printing method according to claim 4, characterized in that.
6. A sixth data processing step of obtaining second initial path data indicating the path along which the head should move in the workpiece coordinate system; A seventh data processing step of obtaining second head reference point data indicating the position and orientation of the head in the robot coordinate system; An eighth data processing step of generating second printing path data indicating the path along which the head should move in the robot coordinate system based on the second initial path data and the second head reference point data; A second printing step of discharging liquid from the head onto the workpiece while operating the first robot based on the second printing path data. The three-dimensional object printing method according to claim 2, characterized in that.
7. The second initial path data includes a plurality of path point data indicating the position and orientation of the head in the workpiece coordinate system. Between the sixth data processing step and the eighth data processing step, a ninth data processing step is included to obtain specific path point data among the plurality of path point data included in the second initial path data as second reference path point data. The eighth data processing step generates the second printing path data based on the second reference path point data and the second head reference point data. The three-dimensional object printing method according to claim 6, characterized in that.
8. The difference between the orientation indicated by the first head reference point data and the orientation indicated by the second head reference point data is smaller than the difference between the orientation indicated by the first reference path point data and the orientation indicated by the second reference path point data. The three-dimensional object printing method according to claim 7, characterized in that.
9. The orientation indicated by the first reference path point data and the orientation indicated by the second reference path point data are equal to each other. The three-dimensional object printing method according to claim 8, characterized in that.
10. The difference between the position indicated by the first head reference point data and the position indicated by the second head reference point data is smaller than the difference between the position indicated by the first reference path point data and the position indicated by the second reference path point data. The three-dimensional object printing method according to any one of claims 7 to 9, characterized in that.
11. The position indicated by the first reference path point data and the position indicated by the second reference path point data are equal to each other. The three-dimensional object printing method according to claim 10, characterized in that.
12. Between the third data processing step and the first printing step, based on the result of detecting the position of the actually arranged work and the first printing path data, a tenth data processing step of generating corrected first printing path data is included. The three-dimensional object printing method according to any one of claims 1 to 11, characterized in that.
13. Before the first data processing step, Based on the work shape data indicating the shape of the work in the work coordinate system, A plurality of path point data indicating the position and orientation of the head in the work coordinate system, And a work center point data indicating the position and orientation of the work in the work coordinate system are generated, including an eleventh data processing step. The three-dimensional object printing method according to any one of claims 1 to 12, characterized in that.
Citation Information
Patent Citations
Robot ink-jet equipment based on 3D vision
CN212098028U
Method for operation of six-axle-robot for coating / printing two or three dimensional curved work-pieces, involves utilizing trajectory deviation between travel paths as correction signal for controlling print head matrices
DE102010004496A1
Method and machine for forming pattern on surface of article
JP2000238254A
Method and apparatus for manufacturing lens
JP2005001131A
Three-dimensional printer
JP2011177931A