Patent ID: 12194636

DESCRIPTION OF EXEMPLARY EMBODIMENTS

With reference to the accompanying drawings, some preferred embodiments of the present disclosure will now be described. The dimensions and scales of components illustrated in the drawings may be different from actual dimensions and scales, and some components may be schematically illustrated for easier understanding. The scope of the present disclosure shall not be construed to be limited to these specific examples unless and except where the description below contains an explicit mention of an intent to limit the present disclosure.

To facilitate the readers' understanding, the description below will be given with reference to X, Y, and Z axes intersecting with one another. In the description below, one direction along the X axis will be referred to as the X1 direction, and the direction that is the opposite of the X1 direction will be referred to as the X2 direction. Similarly, directions that are the opposite of each other along the Y axis will be referred to as the Y1 direction and the Y2 direction. Directions that are the opposite of each other along the Z axis will be referred to as the Z1 direction and the Z2 direction.

The X, Y, and Z axes are coordinate axes of a world coordinate system set in a space in which a robot10including a first robot3and a second robot4described later are installed. Typically, the Z axis is a vertical axis, and the Z2 direction corresponds to a vertically downward direction. A base coordinate system whose reference is on the base portion of each of the first robot3and the second robot4is associated with the world coordinate system by calibration. In the description below, for the purpose of explanation, a case where each of the operation of the first robot3and the operation of the second robot4is controlled using the world coordinate system as a robot coordinate system will be taken as an example.

The Z axis does not necessarily have to be a vertical axis. The X, Y, and Z axes are typically orthogonal to one another, but are not limited thereto, meaning that they could be mutually non-orthogonal axes. For example, it is sufficient as long as the X, Y, and Z axes intersect with one another within an angular range of 80° or greater and 100° or less.

1. First Embodiment

1-1. Overview of Apparatus Used in Three-Dimensional Object Printing Method

FIG.1is a perspective view for providing an overview of a three-dimensional object printing apparatus1used in a three-dimensional object printing method according to a first embodiment. The three-dimensional object printing apparatus1is an apparatus that performs ink-jet printing on a surface of a three-dimensional workpiece W with the use of the robot10including the first robot3and the second robot4.

In the example illustrated inFIG.1, the workpiece W is a rugby ball having a shape of a prolate spheroid. The size, shape, etc. of the workpiece W is not limited to the example illustrated inFIG.1. The workpiece W may have any size, shape, etc.

As illustrated inFIG.1, the three-dimensional object printing apparatus1includes a base2, the first robot3, the second robot4, a head unit5, an imaging unit7, a controller11, a control module12, and a computer13. First, a brief explanation of each component of the three-dimensional object printing apparatus1illustrated inFIG.1will now be given below sequentially.

The base2is a table that has a top2asupporting the first robot3and the second robot4. The top2ais a surface facing in the Z1 direction. In the present embodiment, the top2asupports not only the first robot3and the second robot4but also the imaging unit7. Each of the first robot3, the second robot4, and the imaging unit7is fastened to the base2with screws either directly or indirectly with other member interposed therebetween.

In the example illustrated inFIG.1, the base2has a box-like shape, and the controller11and the control module12are housed inside the base2.

The structure of the base2is not limited to the example illustrated inFIG.1. The base2may have any structure. The base2is not indispensable and thus may be omitted. If the base2is omitted, each component of the three-dimensional object printing apparatus1is provided on, for example, the floor, wall, ceiling, etc. of a building. In the present embodiment, each component of the three-dimensional object printing apparatus1excluding the base2is supported by the top2a, that is, on one and the same plane. However, these components may be supported on planes facing in different directions. For example, the first robot3may be installed on one of the floor, wall, and ceiling, and the second robot4may be installed on another one of them. The first robot3may be installed on one of walls facing in different directions, and the second robot4may be installed on another one of them.

The first robot3is a robot that changes the position and orientation of the head unit5in the world coordinate system. In the example illustrated inFIG.1, the first robot3is a so-called six-axis vertical articulated robot. The head unit5is mounted as an end effector on the distal end of the arm of the first robot3and is fastened thereto with screws. The structure of the first robot3will be described later with reference toFIG.3.

The head unit5is an assembly that has a head5aconfigured to eject ink, which is an example of “a liquid”, toward the workpiece W. In the present embodiment, besides the head5a, the head unit5includes a pressure adjustment valve5band a curing light source5c. The structure of the head unit5will be described later with reference toFIG.4.

The ink is not limited to any specific kind of ink. Examples of the ink include water-based ink in which a colorant such as dye or pigment is dissolved in a water-based dissolvent (solvent), curable ink using curable resin such as UV (ultraviolet) curing resin, solvent-based ink in which a colorant such as dye or pigment is dissolved in an organic solvent. Among them, curable ink can be used as a preferred example. The curable ink is not limited to any specific kind of curable ink. For example, any of thermosetting-type ink, photo-curable-type ink, radiation-curable-type ink, electron-beam-curable-type ink, and the like, may be used. A preferred example is photo-curable-type ink such as UV curing ink. The ink is not limited to a solution and may be formed by dispersion of a colorant or the like as a dispersoid in a dispersion medium. The ink is not limited to ink containing a colorant. For example, the ink may contain, as a dispersoid, conductive particles such as metal particles for forming wiring lines, etc. Alternatively, the ink may be clear ink, or a treatment liquid for surface treatment of the workpiece W.

The second robot4is a robot that changes the position and orientation of the workpiece W in the world coordinate system. In the example illustrated inFIG.1, the second robot4is another six-axis vertical articulated robot. A hand mechanism40is mounted as an end effector on the distal end of the arm of the second robot4and is fastened thereto with screws.

The second robot4has the same structure as that of the first robot3except that the end effector mounted on the second robot4is different from that of the first robot3. However, the structure of the first robot3and the structure of the second robot4may be different from each other. In the present embodiment, the structure parameters of the first robot3and the second robot4such as arm length and/or weight capacity, etc. are made different from each other as needed. The number of joints of the first robot3and the number of joints of the second robot4may be different from each other.

The hand mechanism40is a robot hand configured to hold the workpiece W detachably. The concept of the term “hold” used here includes both “chuck” and “grip”. In the example illustrated inFIG.1, the hand mechanism40utilizes negative pressure to suction-hold the workpiece W. The structure of the hand mechanism40is determined suitably depending on the shape, size, material, etc. of the workpiece W. The hand mechanism40is not limited to a suction-holding mechanism that utilizes negative pressure. For example, the hand mechanism40may be a magnetic attraction mechanism. The hand mechanism40may be a gripping hand mechanism that has a plurality of fingers or claws, etc.

The imaging unit7is an apparatus that detects the position and orientation of the workpiece W. The imaging unit7includes an imaging device7aand a lighting device7b. The imaging device7ais generally called as “vision sensor”. The imaging device7ais a camera that includes an imaging optical system and an imager. The imaging device7acaptures an image of an object located inside an imaging area. The imaging optical system is an optical system that includes at least one imaging lens. The imaging optical system may include various kinds of optical device such as a prism. The imaging optical system may include a zoom lens or a focus lens, etc. The imager is, for example, a CCD (Charge Coupled Device) image sensor or a CMOS (Complementary MOS) image sensor, etc. The imaging device7amay be a depth camera that has a function of detecting the distance between the subject and the imaging device7a.

A two-axis or three-axis imaging coordinate system whose reference lies at a particular point in an image to be captured is set for the imaging device7a. The imaging coordinate system is associated with the base coordinate system or the world coordinate system described earlier by calibration. The lighting device7bis a light source that includes a light emitting element such as an LED (light emitting diode). The lighting device7bemits light toward the imaging area of the imaging device7a. Thanks to lighting by the lighting device7b, it is possible to enhance the contrast of an image captured by the imaging device7awhen an image of the workpiece W is captured as the object. Consequently, it is possible to improve precision in detecting the position and orientation of the workpiece W based on the result of image capturing by the imaging device7a. Optical components such as a lens for adjusting the direction or range of light emission, a reflector, etc. are provided for the lighting device7bas needed.

The controller11is a robot controller that controls the driving of the first robot3and the driving of the second robot4. The control module12is a circuit module connected to the controller11in such a way as to be able to communicate therewith and configured to control the head unit5. The computer13is connected to the controller11and the control module12in such a way as to be able to communicate therewith. In the example illustrated inFIG.1, the computer13is a notebook computer. However, the scope of the present disclosure is not limited thereto. For example, the computer13may be a desktop computer. With reference toFIG.2, the electric configuration of the three-dimensional object printing apparatus1will be described next.

1-2. Electric Configuration of Three-Dimensional Object Printing Apparatus

FIG.2is a block diagram that illustrates the electric configuration of the three-dimensional object printing apparatus1used in the three-dimensional object printing method according to the first embodiment. InFIG.2, among the components of the three-dimensional object printing apparatus1, electric components are illustrated. Any of the electric components illustrated inFIG.1may be split into two or more sub components as needed. A part of one electric component may be included in another electric component. One electric component may be integrated with another electric component. For example, a part or a whole of the functions of the controller11or the control module12may be embodied by the computer13, or by an external device such as a PC (personal computer) connected to the controller11via a network such as LAN (Local Area Network) or the Internet, etc.

The controller11has a function of controlling the driving of the first robot3and the driving of the second robot4and a function of generating a signal D3for synchronizing the ink-ejecting operation of the head unit5with the kinematic operation of the first robot3. The controller11includes a storage circuit11aand a processing circuit11b.

The storage circuit11astores various programs that are to be run by the processing circuit11band various kinds of data that are to be processed by the processing circuit11b. The storage circuit11aincludes, for example, a semiconductor memory that is either one of a volatile memory and a nonvolatile memory, or semiconductor memories constituted by both thereof. The volatile memory is, for example, a random-access memory (RAM), and the nonvolatile memory is, for example, a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), or a programmable ROM (PROM). A part or a whole of the storage circuit11amay be included in the processing circuit11b.

First print route data Db1is stored in the storage circuit11a. The first print route data Db1includes route information about a route along which the head unit5should move and positioning information about position at which and orientation in which the workpiece W should be positioned. The first print route data Db1is generated by the computer13. The route information corresponds to pieces of teaching point data Pb_1to Pb_N, which are illustrated inFIG.5and will be described later. The positioning information corresponds to workpiece positioning point data DbC, which is illustrated inFIG.5and will be described later. A more detailed explanation of the route information and the positioning information, and about the generation of them, will be given later.

Based on the route information included in the first print route data Db1, the processing circuit11bcontrols the operation of an arm driving mechanism3aof the first robot3and generates the signal D3. Based on the positioning information included in the first print route data Db1, the processing circuit11bcontrols the operation of an arm driving mechanism4aof the second robot4. Based on the result of image capturing by the imaging unit7, the processing circuit11bcorrects the operation of either one of the arm driving mechanism3aand the arm driving mechanism4aduring printing, or both, as may be needed. The processing circuit11bincludes one or more processors, for example, CPU (central processing unit). Instead of the CPU or in addition to the CPU, the processing circuit11bmay include a programmable logic device, for example, FPGA (field-programmable gate array).

The arm driving mechanism3aincludes motors for driving the respective joints of the first robot3and encoders for detecting the rotation angles of the respective joints of the first robot3. Similarly, the arm driving mechanism4aincludes motors for driving the respective joints of the second robot4and encoders for detecting the rotation angles of the respective joints of the second robot4.

The processing circuit11bperforms inverse kinematics calculation that is a computation for converting the route information included in the first print route data Db1into the amount of operation such as the angle of rotation and the speed of rotation, etc. of each of the joints of the first robot3. Then, based on an output D1from each of the encoders of the arm driving mechanism3a, the processing circuit11boutputs a control signal Sk1such that the actual amount of operation such as the actual angle of rotation and the actual speed of rotation, etc. of each of the joints will be equal to the result of the computation. The control signal Sk1is a signal for controlling the motor of the arm driving mechanism3a.

Similarly, the processing circuit11bperforms inverse kinematics calculation that is a computation for converting the positioning information included in the first print route data Db1into the amount of operation such as the angle of rotation and the speed of rotation, etc. of each of the joints of the second robot4. Then, based on an output D2from each of the encoders of the arm driving mechanism4a, the processing circuit11boutputs a control signal Sk2such that the actual amount of operation such as the actual angle of rotation and the actual speed of rotation, etc. of each of the joints will be equal to the result of the computation. The control signal Sk2is a signal for controlling the motors of the arm driving mechanism4a.

Based on the result of image capturing by the imaging device7aof the imaging unit7, the processing circuit11bdetects the position and orientation of the workpiece W during printing. Then, based on the detection result and the positioning information, the processing circuit11bcorrects the control signal Sk2during printing such that the difference between the detection result and the position and orientation indicated by the positioning information will be reduced. The position and orientation of the workpiece W can be obtained by, for example, converting the position and orientation of the workpiece W in the image captured by the imaging device7afrom the imaging coordinate system into the world coordinate system. The position and orientation of the workpiece W in the imaging coordinate system is calculated based on, for example, the position of the characteristic point of the workpiece W in the captured image and shape information of the workpiece W. The detection of the position and orientation of the workpiece W based on the result of image capturing by the imaging device7amay be performed either by an image processing circuit included in the imaging device7aor by the computer13.

Based on the output D1from at least one of the encoders of the arm driving mechanism3a, the processing circuit11bgenerates the signal D3. For example, the processing circuit11bgenerates, as the signal D3, a trigger signal that includes a pulse of timing at which the value of the output D1from at least one of the plurality of encoders becomes a predetermined value.

The control module12is a circuit that controls, based on the signal D3outputted from the controller11and print data outputted from the computer13, the ink-ejecting operation of the head unit5. The control module12includes a timing signal generation circuit12a, a power source circuit12b, a control circuit12c, and a drive signal generation circuit12d.

Based on the signal D3, the timing signal generation circuit12agenerates a timing signal PTS. The timing signal generation circuit12ais, for example, a timer configured to start the generation of the timing signal PTS when triggered by the detection of the signal D3.

The power source circuit12breceives supply of external power from a commercial power source that is not illustrated, and generates various predetermined levels of voltage. The various voltages generated by the power source circuit12bare supplied to components of the control module12and the head unit5. For example, the power source circuit12bgenerates a power voltage VHV and an offset voltage VBS. The offset voltage VBS is supplied to the head unit5. The power voltage VHV is supplied to the drive signal generation circuit12d.

Based on the timing signal PTS, the control circuit12cgenerates a control signal SI, a waveform specifying signal dCom, a latch signal LAT, a clock signal CLK, and a change signal CNG. These signals are in synchronization with the timing signal PTS. Among these signals, the waveform specifying signal dCom is inputted into the drive signal generation circuit12d. The rest of them are inputted into a switch circuit5dof the head unit5.

The control signal SI is a digital signal for specifying the operation state of the drive element of the head5aof the head unit5. Specifically, the control signal SI specifies whether to supply a drive signal Com, which will be described later, to the drive element or not. For example, the control signal SI specifies whether to eject ink from the nozzle corresponding to this drive element or not and specifies the amount of ink ejected from this nozzle. The waveform specifying signal dCom is a digital signal for specifying the waveform of the drive signal Com. The latch signal LAT and the change signal CNG are used together with the control signal SI and specify the timing of ejection of ink from the nozzle by specifying the drive timing of the drive element. The clock signal CLK serves as a reference clock that is in synchronization with the timing signal PTS.

The control circuit12cdescribed above includes one or more processors, for example, CPU (central processing unit). Instead of the CPU or in addition to the CPU, the control circuit12cmay include a programmable logic device, for example, FPGA (field-programmable gate array).

The drive signal generation circuit12dis a circuit that generates the drive signal Com for driving each drive element of the head5aof the head unit5. Specifically, the drive signal generation circuit12dincludes, for example, a DA conversion circuit and an amplification circuit. In the drive signal generation circuit12d, the DA conversion circuit converts the format of the waveform specifying signal dCom supplied from the control circuit12cfrom a digital signal format into an analog signal format, and the amplification circuit amplifies the analog signal by using the power voltage VHV supplied from the power source circuit12b, thereby generating the drive signal Com. A signal having, of the waveform included in the drive signal Com, a waveform supplied actually to the drive element serves as a drive pulse PD. The drive pulse PD is supplied from the drive signal generation circuit12dto the drive element via the switch circuit5dof the head unit5. Based on the control signal SI, the switch circuit5dswitches whether or not to supply at least a part of the waveform included in the drive signal Com as the drive pulse PD.

The computer13has a function of supplying information such as the first print route data Db1to the controller11and a function of supplying print data, etc. to the control module12. The computer13will be described later in detail with reference toFIG.5. The imaging device7adescribed earlier may be connected to the controller11via the computer13. In this case, the computer13may input the result of image capturing by the imaging device7ainto the controller11directly or, based on the result of image capturing by the imaging device7a, calculate the position and orientation of the workpiece W and input information that indicates the calculation result into the controller11. The calculation result may be used as data for correction DC, which is illustrated inFIG.5and will be described later.

1-3. Structure of First Robot

FIG.3is a perspective view of the first robot3. The structure of the first robot3will now be explained. The structure of the second robot4is the same as the structure of the first robot3except that the end effector mounted on the second robot4is different from the end effector mounted on the first robot3. Therefore, an explanation of the structure of the second robot4is omitted. However, as described earlier, the structure of the first robot3and the structure of the second robot4may be different from each other.

As illustrated inFIG.3, the first robot3includes a pedestal portion310and an arm portion320.

The pedestal portion310is a base column that supports the arm portion320. In the example illustrated inFIG.3, the pedestal portion310is fastened to the top2aof the base2with screws, etc. in the Z direction.

The arm portion320is a six-axis robot arm module that has a base end mounted on the pedestal portion310and a distal end whose position and orientation are configured to change three-dimensionally in relation to the base end. Specifically, the arm portion320includes arms321,322,323,324,325, and326, which are coupled to one another sequentially in this order.

The arm321is coupled to the pedestal portion310via a joint330_1in such a way as to be able to rotate around a rotation axis O1. The arm322is coupled to the arm321via a joint330_2in such a way as to be able to rotate around a rotation axis O2. The arm323is coupled to the arm322via a joint330_3in such a way as to be able to rotate around a rotation axis O3. The arm324is coupled to the arm323via a joint330_4in such a way as to be able to rotate around a rotation axis O4. The arm325is coupled to the arm324via a joint330_5in such a way as to be able to rotate around a rotation axis O5. The arm326is coupled to the arm325via a joint330_6in such a way as to be able to rotate around a rotation axis O6.

Each of the joints330_1to330_6is a mechanism that couples, among the arms321to326, one of two mutually-adjacent arms to the other in a rotatable manner. On each of the joints330_1to330_6, a driving mechanism that causes one of the two mutually-adjacent arms to rotate in relation to the other is provided, though not illustrated inFIG.3. The driving mechanism includes, for example, a motor that generates a driving force for the rotation, a speed reducer that performs speed reduction on the driving force and outputs the reduced force, and an encoder such as a rotary encoder that detects the amount of operation such as the angle of the rotation. The aggregate of the driving mechanisms provided respectively on the joints330_1to330_6corresponds to the arm driving mechanism3adescribed earlier with reference toFIG.2.

The rotation axis O1is an axis that is perpendicular to the top2ato which the pedestal portion310is fixed. The rotation axis O2is an axis that is perpendicular to the rotation axis O1. The rotation axis O3is an axis that is parallel to the rotation axis O2. The rotation axis O4is an axis that is perpendicular to the rotation axis O3. The rotation axis O5is an axis that is perpendicular to the rotation axis O4. The rotation axis O6is an axis that is perpendicular to the rotation axis O5.

With regard to these rotation axes, the meaning of the word “perpendicular” is not limited to a case where the angle formed by two rotation axes is exactly 90°. In addition to such exact perpendicularity, the meaning of the word “perpendicular” encompasses cases where the angle formed by two rotation axes is within a range of approximately ±5° from 90°. Similarly, the meaning of the word “parallel” is not limited to a case where two rotation axes are exactly parallel to each other, but also encompasses cases where one of the two rotation axes is inclined with respect to the other within a range of approximately ±5°.

The head unit5is mounted as an end effector on, among the arms of the arm portion320, the one that is located at the most distal end, that is, on the arm326.

1-4. Structure of Head Unit

FIG.4is a perspective view showing a schematic structure of the head unit5. To facilitate the readers' understanding, the description below will be given with reference to a, b, and c axes intersecting with one another. In the description below, one direction along the a axis will be referred to as the a1 direction, and the direction that is the opposite of the a1 direction will be referred to as the a2 direction. Similarly, directions that are the opposite of each other along the b axis will be referred to as the b1 direction and the b2 direction. Directions that are the opposite of each other along the c axis will be referred to as the c1 direction and the c2 direction.

The a, b, and c axes are coordinate axes of a tool coordinate system set for the head unit5. The relative position and relative orientation of the a, b, and c axes with respect to the X, Y, and Z axes described earlier change due to the operation of the first robot3described earlier. In the example illustrated inFIG.4, the c axis is parallel to the rotation axis O6described earlier. The a, b, and c axes are typically orthogonal to one another, but are not limited thereto. For example, it is sufficient as long as the a, b, and c axes intersect with one another within an angular range of 80° or greater and 100° or less. The tool coordinate system is associated with the base coordinate system described earlier by calibration. The tool coordinate system is set such that, for example, its reference (tool center point) lies at the center of a nozzle face F that will be described later.

As described earlier, the head unit5includes the head5a, the pressure adjustment valve5b, and the curing light source5c. These components are supported by a support member5eindicated by alternate-long-and-two-short-dashes illustration inFIG.4. In the example illustrated inFIG.4, the head unit5has a single head5aand a single pressure adjustment valve5b. However, the number of each of them is not limited one. The head unit5may have two or more heads5aand/or two or more pressure adjustment valves5b. The position where the pressure adjustment valve5bis provided is not limited to the arm326. For example, the pressure adjustment valve5bmay be provided on any other arm, etc. The pressure adjustment valve5bmay be provided at a fixed position with respect to the pedestal portion310.

The support member5eis made of, for example, a metal material, and is substantially rigid. InFIG.4, the support member5ehas a low-profile box-like shape. However, the support member5emay have any shape, without being limited to the illustrated example.

The support member5edescribed above is mounted on the arm326described earlier. As explained here, the head5a, the pressure adjustment valve5b, and the curing light source5care supported together by the support member5eonto the arm326. Therefore, the relative position of each of the head5a, the pressure adjustment valve5b, and the curing light source5cin relation to the arm326is fixed.

The head5ahas a nozzle face F and a plurality of nozzles N formed in the nozzle face F. In the example illustrated inFIG.4, the direction of a line normal to the nozzle face F is the c2 direction, and the plurality of nozzles N is made up of a first nozzle row La and a second nozzle row Lb, which are arranged next to each other, with an interval in the direction along the a axis therebetween. Each of the first nozzle row La and the second nozzle row Lb is a group of nozzles N arranged linearly in the direction along the b axis. The head5ahas a structure in which elements related to the respective nozzles N of the first nozzle row La and elements related to the respective nozzles N of the second nozzle row Lb are substantially symmetric to each other in the direction along the a axis. Under ideal conditions, a droplet of ink ejected from each of the nozzles N travels in air in the c2 direction. That is, the c2 direction is the direction in which ink is ejected.

The respective positions of the plurality of nozzles N of the first nozzle row La and the respective positions of the plurality of nozzles N of the second nozzle row Lb may be the same as each other or different from each other. Elements related to the respective nozzles N of either the first nozzle row La or the second nozzle row Lb may be omitted. In the example described below, it is assumed that the respective positions of the plurality of nozzles N of the first nozzle row La and the respective positions of the plurality of nozzles N of the second nozzle row Lb are the same as each other.

Though not illustrated, the head5ahas, for each of the nozzles N individually, a piezoelectric element, which is a drive element, and a cavity in which ink can be contained. Each of the plurality of piezoelectric elements changes the internal pressure of the cavity corresponding to the piezoelectric element, and, as a result of this pressure change, ink is ejected from the nozzle corresponding to this cavity. The head5adescribed above can be manufactured by, for example, preparing a plurality of substrates such as silicon substrates processed using etching or the like and then bonding the substrates together by means of an adhesive. Instead of the piezoelectric element, a heater that heats ink inside the cavity may be used as a drive element for ejecting ink from the nozzle.

In the example illustrated inFIG.4, the pressure adjustment valve5bis located at a relatively c1-side position with respect to the head5a. The curing light source5cis located at a relatively a2-side position with respect to the head5a.

The pressure adjustment valve5bis connected to a non-illustrated ink tank via a supply tube6d. The pressure adjustment valve5bis a valve mechanism that opens and closes in accordance with the pressure of ink inside the head5a. The opening and closing of this valve mechanism keeps the pressure of ink inside the head5awithin a predetermined negative pressure range even when a positional relationship between the head5aand the ink tank changes. Keeping such negative ink pressure stabilizes ink meniscus formed in each nozzle N of the head5a. Meniscus stability prevents external air from entering the nozzles N in the form of air bubbles and prevents ink from spilling out of the nozzles N. Ink flowing from the pressure adjustment valve5bis distributed to a plurality of regions/positions in the head5avia non-illustrated branch passages.

The curing light source5cemits energy such as light, heat, an electron beam, or a radiation beam, etc. for curing or solidifying ink on the workpiece W. The curing light source5cis configured as, for example, a light emitting element such as an LED (light emitting diode) that emits ultraviolet light. The curing light source5cmay include optical components such as lenses for adjusting the direction in which the energy is emitted, the range of energy emission, or the like. The curing light source5cis not indispensable and thus may be omitted. The curing light source5cmay semi-solidify or semi-cure ink on the workpiece W, instead of complete solidification or complete curing. In this case, for example, the complete curing of ink on the workpiece W is performed by another curing light source provided separately.

1-5. Print Route Data

FIG.5is a diagram that illustrates the computer13used in a data generation method according to the first embodiment. In the present embodiment, the first print route data Db1mentioned earlier is generated by the computer13. As illustrated inFIG.5, the computer13includes a display device13d, an input device13c, a storage circuit13a, and a processing circuit13b. These components are interconnected such that they are able to communicate with one another.

The display device13ddisplays various images under the control of the processing circuit13b. The display device13dincludes any of various display panels such as a liquid crystal display panel, an organic EL (electro-luminescence) display panel, etc. The display device13dmay be provided outside the computer13. The display device13dis not indispensable and thus may be omitted.

The input device13cis a device that receives operations from a user. For example, the input device13cincludes a touch pad, a touch panel, or a pointing device such as a mouse. If the input device13cincludes a touch panel, it may double as the input device13cand the display device13d. The input device13cmay be provided outside the computer13. The input device13cis not indispensable and thus may be omitted.

The storage circuit13astores various programs that are to be run by the processing circuit13band various kinds of data that are to be processed by the processing circuit13b. The storage circuit13aincludes, for example, a hard disk drive or a semiconductor memory. A part or a whole of the storage circuit13amay be provided in an external storage device or a server, etc. outside the computer13.

Workpiece coordinate system data Da, robot coordinate system data Db, a conversion parameter CP, and data for correction DC are stored in the storage circuit13a.

The workpiece coordinate system data Da is a data group expressed in a workpiece coordinate system, which is a coordinate system set to have its reference on the workpiece W. The workpiece coordinate system data Da includes workpiece shape data DW, first initial route data Da1, and first reference route point data Ra1.

The workpiece shape data DW is data that represents in the workpiece coordinate system the shape of the workpiece W. The workpiece shape data DW is, for example, CAD (computer-aided design) data that represents the three-dimensional shape of the workpiece W. The first initial route data Da1is data that represents in the workpiece coordinate system the route along which the head5ashould move. The first initial route data Da1is generated based on the workpiece shape data DW as will be described later. The first reference route point data Ra1is data that represents in the workpiece coordinate system the position and orientation of the head5aat a specific point on the route along which the head5ashould move. The first reference route point data Ra1is selected from among pieces of data included in the first initial route data Da1as will be described later. The first initial route data Da1will be described later in detail with reference toFIG.6.

The robot coordinate system data Db is a data group expressed in a robot coordinate system, which is a coordinate system set to have its reference on the robot10. The robot coordinate system data Db includes the first print route data Db1, first head reference point data Rb1, and robot space data DR.

The first print route data Db1is data that represents in the robot coordinate system the route along which the head5ashould move. The first print route data Db1is generated by converting the first initial route data Da1using the conversion parameter CP as will be described later. The first head reference point data Rb1is data that represents in the robot coordinate system the position and orientation of the head5a. The first head reference point data Rb1is generated based on, for example, the robot space data DR. The robot space data DR is data that represents in the robot coordinate system possible position and possible orientation of the head5a. The robot space data DR is generated based on, for example, the size and shape of the head unit5, the operable range of the first robot3, the position and size of an obstacle(s) present in the operable range, etc. The first print route data Db1will be described later in detail with reference toFIG.6.

The conversion parameter CP is a parameter for converting coordinate values in the workpiece coordinate system into coordinate values in the robot coordinate system. The conversion parameter CP represents correspondence between the first reference route point data Ra1and the first head reference point data Rb1. The conversion parameter CP is calculated using the result of comparison of the coordinate value indicated by the first reference route point data Ra1and the coordinate value indicated by the first head reference point data Rb1as will be described later.

The data for correction DC is calibration data for correcting the first print route data Db1. The data for correction DC represents in the robot coordinate system the position and orientation of the workpiece W or the head5a. The data for correction DC is generated based on, for example, the result of image capturing by the imaging unit7.

The processing circuit13bis a circuit that has a function of controlling the components, etc. of the computer13and a function of processing various kinds of data. The processing circuit13bincludes, for example, a processor such as a CPU. The processing circuit13bmay be comprised of a single processor or a plurality of processors. A part or a whole of the functions of the processing circuit13bmay be embodied by hardware such as DSP, ASIC, PLD, FPGA, or the like.

The processing circuit13bimplements various functions by reading programs out of the storage circuit13aand running the programs. Specifically, based on the workpiece shape data DW, the processing circuit13bacquires or generates the data described above, etc.

FIG.6is a diagram for explaining the first initial route data Da1and the first print route data Db1. In the present embodiment, the first initial route data Da1includes N pieces of route point data Pa_1to Pa_N and workpiece center point data DaC. In the description below, when no distinction is made between the N pieces of route point data Pa_1to Pa_N, each of them may be referred to as route point data Pa. It is not essential that the first initial route data Da1should include the workpiece center point data DaC. The workpiece center point data DaC may be configured as discrete data separated from the first initial route data Da1.

The N pieces of route point data Pa_1to Pa_N are data that represent in the workpiece coordinate system the position and orientation of the head5aat points different from one another on the route along which the head5ashould move, where N is a natural number equal to or greater than 2. The first reference route point data Ra1described above is one, denoted as Pa, of the N pieces of route point data Pa_1to Pa_N. This one, Pa, of the route point data is, for example, selected by a user from among the N pieces of route point data Pa_1to Pa_N.

The workpiece center point data DaC is data that represents in the workpiece coordinate system the position and orientation of the workpiece W. The workpiece center point data DaC is, for example, center point data included in the workpiece shape data DW.

In the present embodiment, the first print route data Db1includes N pieces of teaching point data Pb_1to Pb_N and workpiece positioning point data DbC. In the description below, when no distinction is made between the N pieces of teaching point data Pb_1to Pb_N, each of them may be referred to as teaching point data Pb. It is not essential that the first print route data Db1should include the workpiece positioning point data DbC The workpiece positioning point data DbC may be configured as discrete data separated from the first print route data Db1.

The N pieces of teaching point data Pb_1to Pb_N are data that represent in the robot coordinate system the position and orientation of the head5aat points different from one another on the route along which the head5ashould move, where N is a natural number equal to or greater than 2. The N pieces of teaching point data Pb_1to Pb_N is data obtained by converting the N pieces of route point data Pa_1to Pa_N from coordinate values in the workpiece coordinate system into coordinate values in the robot coordinate system using the conversion parameter CP. There is one-to-one correspondence between the N pieces of route point data Pa_1to Pa_N and the N pieces of teaching point data Pb_1to Pb_N.

The workpiece positioning point data DbC is data obtained by converting the workpiece center point data DaC described above from a coordinate value in the workpiece coordinate system into a coordinate value in the robot coordinate system using the conversion parameter CP. The workpiece positioning point data DbC included in the first print route data Db1is an example of “first workpiece positioning point data”.

1-6. Operation of Three-Dimensional Object Printing Apparatus

FIG.7is a flowchart that illustrates the three-dimensional object printing method according to the first embodiment. The three-dimensional object printing apparatus1described above executes the three-dimensional object printing method for printing on the workpiece W using the head5aand the robot10described earlier. The three-dimensional object printing method includes, as illustrated inFIG.7, an eleventh 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, a tenth data processing step S6, and a first printing step S7. In the present embodiment, the third data processing step S5includes a fifth data processing step S5a.

In the eleventh data processing step S1, the pieces of route point data Pa and the workpiece center point data DaC described earlier are generated. That is, in the eleventh data processing step S1, the first initial route data Da1is generated. In the first data processing step S2, the first initial route data Da1is acquired. In the fourth data processing step S3, the first reference route point data Ra1is acquired. In the second data processing step S4, the first head reference point data Rb1is acquired. In the third data processing step S5, the first print route data Db1is generated. In the fifth data processing step S5a, the workpiece positioning point data DbC is generated. In the tenth data processing step S6, the first print route data Db1is corrected. In the first printing step S7, printing is performed based on the first print route data Db1.

In the example illustrated inFIG.7, the eleventh data processing step S1, the first data processing step S2, the fourth data processing step S3, the second data processing step S4, the third data processing step S5including the fifth data processing step S5a, the tenth data processing step S6, and the first printing step S7are executed in this order. These steps will now be explained in detail.

FIG.8is a diagram for explaining the generation of the first initial route data Da1in the eleventh data processing step S1, the acquisition of the first initial route data Da1in the first data processing step S2, and the acquisition of the first reference route point data Ra1in the fourth data processing step S3.FIG.8illustrates a route RU1aalong which the head5ashould move when printing is performed on a first region RP1of the workpiece W in a space in the workpiece coordinate system having, as its coordinate axes, x, y, and z axes that are orthogonal to one another.

As illustrated inFIG.8, the shape of the workpiece W and the center point C0aof the workpiece W are included in the workpiece shape data DW described earlier as coordinate values in the workpiece coordinate system. In the eleventh data processing step S1described earlier, the pieces of route point data Pa described earlier are generated based on the coordinate values representing the shape in the workpiece shape data DW, and the workpiece center point data DaC is generated based on the coordinate value representing the center point C0ain the workpiece shape data DW.

The generation of the pieces of route point data Pa is performed using, for example, an automatic route generation algorithm. For example, the route RU1athat extends linearly as viewed in the direction along the Z axis or the X axis is set in such a way as to make the distance between the head5aand the first region RP1constant.

In the example illustrated inFIG.8, the route RU1ais a trajectory path going through five route points Aa1_1to Aa1_5in this order. In the description below, when no distinction is made between the five route points Aa1_1to Aa1_5, each of them may be referred to as route point Aa1.

The route point Aa1is a point indicated by the route point data Pa included in the first initial route data Da1described earlier. The position of the head5ais expressed in terms of the coordinate value of the route point Aa1in the workpiece coordinate system. The orientation of the head5ais expressed in terms of the angle of rotation around each coordinate axis in the workpiece coordinate system.

One route point Aa1selected from among these route points Aa1_1to Aa1_5is the point indicated by the first reference route point data Ra1described earlier. In the example illustrated inFIG.8, the route point Aa1_2is the point indicated by the first reference route point data Ra1. InFIG.8, the head5aand the head unit5corresponding to the route point Aa1_2are indicated by solid-line illustration, and the head5aand the head unit5corresponding to the other route points Aa1_1and Aa1_3to Aa1_5are indicated by alternate-long-and-two-short-dashes illustration.

As will be understood from the above description, in the first data processing step S2described earlier, the pieces of route point data Pa and the workpiece center point data DaC generated in the eleventh data processing step S1are acquired as the first initial route data Da1.

Then, in the fourth data processing step S3, a piece of route point data Pa is selected from among the pieces of route point data Pa, thereby acquiring this selected one Pa as the first reference route point data Ra1.

FIG.9is a diagram for explaining the acquisition of the first head reference point data Rb1in the second data processing step S4.FIG.9illustrates the position and orientation of the head5ain a space in the robot coordinate system based on the first head reference point data Rb1. This position and this orientation are determined using the robot space data DR, etc. from possible position and possible orientation of the head5a. For example, a user is able to choose the first head reference point data Rb1out of the robot space data DR and make an adjustment. In this way, in the second data processing step S4, the first head reference point data Rb1is acquired.

With reference toFIGS.8,9, and10, an example of a method for acquiring the conversion parameter CP, and the generation of the first print route data Db1in the third data processing step S5, will now be explained.

In the present embodiment, assuming that the coordinate value of the route point Aa1selected as the first reference route point data Ra1in the workpiece coordinate system is (xa, ya, za), the coordinate values of other two points Ba1and Ca1in the workpiece coordinate system are acquired together with the coordinate value of the route point Aa1. These three points, namely, the route point Aa1and the points Ba1and Ca1, are points whose positions are different from one another and, as such, are not on the same straight line.

For example, as shown in the broken-line box inFIG.8, the point Ba1is a point located ahead of the route point Aa1selected as the first reference route point data Ra1in the direction in which the head5amoves, and the coordinate value (xb, yb, zb) of the point Ba1is a coordinate value obtained by adding a moving-directional vector Vα1ato the coordinate value (xa, ya, za) of the route point Aa1selected as the first reference route point data Ra1. The point Ca1is a point located away from the route point Aa1in the direction in which the head5aejects ink, and the coordinate value (xc, yc, zc) of the point Ca1is a coordinate value obtained by adding an ejecting-directional vector Vβ1ato the coordinate value (xa, ya, za) of the route point Aa1.

In the present embodiment, assuming that the coordinate value of a point Ab1 selected as the first head reference point data Rb1in the robot coordinate system is (Xa, Ya, Za), the coordinate values of other two points Bb1 and Cb1 in the robot coordinate system are acquired together with the coordinate value of the point Ab1. These three points, namely, the route point Ab1 and the points Bb1 and Cb1, are points whose positions are different from one another and, as such, are not on the same straight line. They correspond to the above-mentioned three points, namely, the route point Aa1and the points Ba1and Ca1in the workpiece coordinate system.

For example, as illustrated inFIG.9, the point Bb1 is a point located ahead of the point Ab1 in the direction in which the head5amoves, and the coordinate value (Xb, Yb, Zb) of the point Bb1 is a coordinate value obtained by adding a moving-directional vector Vα1bto the coordinate value (Xa, Ya, Za) of the point Ab1. The point Cb1 is a point located away from the point Ab1 in the direction in which the head5aejects ink, and the coordinate value (Xc, Yc, Zc) of the point Cb1 is a coordinate value obtained by adding an ejecting-directional vector Vβ1bto the coordinate value of the point Ab1. The vector Vα1aand the vector Vα1bare equal to each other in term of direction and magnitude with respect to the head5a. The vector Vβ1aand the vector Vβ1bare equal to each other in term of direction and magnitude with respect to the head5a. It is preferable if the vector Vα1a, the vector Vβ1a, the vector Vα1b, and the vector Vβ1bhave been set in advance in such a way as to satisfy these conditions.

FIG.10is a diagram for explaining the generation of the first print route data Db1.FIG.10illustrates a route RU1balong which the head5ashould move when printing is performed on the first region RP1of the workpiece W in a space in the robot coordinate system.

In the third data processing step S5, first, the points Ab1, Bb1, and Cb1, which are coordinate values based on the first head reference point data Rb1, are compared with the route point Aa1and the points Ba1and Ca1, which are three coordinate values based on the first reference route point data Ra1, respectively. Then, a computation is performed for estimating such a conversion parameter CP that makes them agree or minimizes the error. The conversion parameter CP can be obtained as a result of this computation. A known method, for example, the least squares method, can be used for this computation.

After the conversion parameter CP is obtained, the first print route data Db1is generated by applying the conversion parameter CP to the pieces of route point data Pa included in the first initial route data Da1.

In the present embodiment, the third data processing step S5includes the fifth data processing step S5a, and, in the fifth data processing step S5a, the workpiece positioning point data DbC is generated by applying the conversion parameter CP to the workpiece center point data DaC.

After the third data processing step S5described above, in the tenth data processing step S6, the first print route data Db1is corrected based on the result of detecting the position where the workpiece W is actually positioned based on the result of image capturing by the imaging unit7, etc. The corrected first print route data Db1, which is an example of corrected first print route data, is obtained in this way.

FIG.11is a diagram for explaining the operation of the first robot3in the first printing step S7. In the first printing step S7, as illustrated inFIG.11, in a state in which the second robot4keeps the position and orientation of the workpiece W, the head5aejects ink onto the workpiece W while the first robot3moves the head5a.

The first robot3moves the head5abased on the pieces of teaching point data Pb included in the first print route data Db1. Prior to the first printing step S7, the second robot4positions the workpiece W based on the workpiece positioning point data DbC included in the first print route data Db1.

As explained above, in this step, the first robot3operates, and the second robot4is kept stationary. Therefore, it is possible to prevent vibrations of the workpiece W from occurring. In order to reduce the meandering of the movement path of the head5a, preferably, the number of joints of the first robot3that operate in this step should be as small as possible; in addition, preferably, the first robot3should be operated by articulated operation of three rotation axes that are parallel to one another. In the example illustrated inFIG.11, these three rotation axes are the rotation axes O2, O3, and O5.

In the three-dimensional object printing method described above, the head5aconfigured to eject ink, which is an example of “a liquid”, onto the workpiece W and the robot10configured to change relative position and relative orientation of the workpiece W and the head5aare used. As described earlier, 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.

In the first data processing step S2, the first initial route data Da1that represents in the workpiece coordinate system the route along which the head5ais to move is acquired. In the second data processing step S4, the first head reference point data Rb1that represents in the robot coordinate system the position and orientation of the head5ais acquired. In the third data processing step S5, based on the first initial route data Da1and the first head reference point data Rb1, the first print route data Db1that represents in the robot coordinate system the route along which the head5ais to move is generated. In the first printing step S7, ink is ejected from the head5aonto the workpiece W while the robot10is operated based on the first print route data Db1.

The data generation method of generating data in the robot coordinate system from data in the workpiece coordinate system includes the first data processing step S2, which is an example of “a first step”, the second data processing step S4, which is an example of “a second step”, and the third data processing step S5, which is an example of “a third step”. In the first data processing step S2, as an example of “initial route data”, the first initial route data Da1that represents in the workpiece coordinate system the route along which the end effector including the head5ais to move is acquired. In the second data processing step S4, as an example of “reference teaching point data”, the first head reference point data Rb1that represents in the robot coordinate system the position and orientation of the end effector is acquired. In the third data processing step S5, based on the initial route data and the reference teaching point data, as an example of “teaching data”, the first print route data Db1that represents in the robot coordinate system the route along which the end effector is to move is generated.

In the three-dimensional object printing method described above, the first print route data Db1is generated based on the first initial route data Da1and the first head reference point data Rb1. Therefore, when the route along which the head5ashould move in a real space needs to be changed in accordance with a change in the positioning of the workpiece W, etc., the only thing that needs to be done is to change the first head reference point data Rb1. Therefore, it is possible to generate the first print route data Db1again easily. For example, when an adjustment for moving the position of the route RU1bas a whole in the Z1 direction is needed, moving the coordinate of the first head reference point data Rb1in the Z1 direction suffices. Similarly, when an adjustment for changing the orientation of the route RU1bas a whole is needed, changing the orientation of the first head reference point data Rb1suffices.

By contrast, in a method according to related art, in which the first print route data Db1is generated without using the first initial route data Da1, when the route along which the head5ashould move needs to be changed in accordance with a change in the positioning of the workpiece W, etc., the user has to actually move the robot10each time and specify three or more target points on the route after the change as coordinate values in the robot coordinate system. For this reason, a method according to related art is disadvantageous in that it takes a lot of trouble to generate the first print route data Db1again.

When the workpiece W is a three-dimensional object, there could be a wide variety of shapes of the workpiece W. Therefore, the route along which the head5ashould move needs to be changed frequently in accordance with changes in the positioning of the workpiece W. Therefore, making it possible to change the route along which the head5ashould move just by changing the first head reference point data Rb1will be very advantageous. Examples of cases where the route along which the head5ashould move needs to be changed are: avoiding a possible risk of collision with an obstacle which might otherwise occur during the operation of the robot10, avoiding stressful orientation of the robot10, and so forth.

As described earlier, the robot10includes the first robot3configured to change the position and orientation of the head5aand the second robot4configured to change the position and orientation of the workpiece W. Then, in the first printing step S7, the first robot3moves the head5abased on the first print route data Db1. In a configuration in which two robots are used as in the embodiment described above, it is possible to change the positioned status of the workpiece W by the operation of the second robot4easily. Moreover, it is possible to cause the head5ato move along the route based on the first print route data Db1by the operation of the first robot3.

As described earlier, the first initial route data Da1includes the pieces of route point data Pa that represent in the workpiece coordinate system the position and orientation of the head5a. The fourth data processing step S3is included between the first data processing step S2and the third data processing step S5. In the fourth data processing step S3, a particular piece of route point data Pa is selectively acquired as the first reference route point data Ra1from among the pieces of route point data Pa included in the first initial route data Da1. Then, in the third data processing step S5, the first print route data Db1is generated based on the first reference route point data Ra1and the first head reference point data Rb1. As described above, by using the first reference route point data Ra1, it is possible to associate a coordinate value in the workpiece coordinate system with a coordinate value in the robot coordinate system. Moreover, by using this association, it is possible to generate the first print route data Db1based on the pieces of route point data Pa included in the first initial route data Da1.

Specifically, as described earlier, in the third data processing step S5, the conversion parameter CP is calculated, and the first print route data Db1is generated by applying the conversion parameter CP to the pieces of route point data Pa included in the first initial route data Da1. The conversion parameter CP is a parameter that represents correspondence between the first reference route point data Ra1and the first head reference point data Rb1. The conversion parameter CP is calculated by comparing the coordinate value indicated by the first reference route point data Ra1with the coordinate value indicated by the first head reference point data Rb1.

As described earlier, the first initial route data Da1further includes the workpiece center point data DaC that represents in the workpiece coordinate system the position and orientation of the workpiece W. The fifth data processing step S5ais included between the second data processing step S4and the first printing step S7. In the fifth data processing step S5a, based on the first initial route data Da1and the workpiece center point data DaC and the first head reference point data Rb1, the workpiece positioning point data DbC that represents in the robot coordinate system the position at which the workpiece W is to be positioned and the orientation in which the workpiece W is to be positioned is generated as an example of first workpiece positioning point data. Therefore, as described earlier, in the first printing step S7, the second robot4positions the workpiece W based on the workpiece positioning point data DbC.

As described earlier, the tenth data processing step S6is included between the third data processing step S5and the first printing step S7. In the tenth data processing step S6, based on the result of detecting the position where the workpiece W is actually positioned and the first print route data Db1, the corrected first print route data Db1is generated as an example of corrected first print route data. Therefore, it is possible to enhance the precision of the first print route data Db1.

As described earlier, the eleventh data processing step S1is included prior to the first data processing step S2. In the eleventh data processing step S1, the pieces of route point data Pa and the workpiece center point data DaC are generated based on the workpiece shape data DW that represents in the workpiece coordinate system the shape of the workpiece W.

2. Second Embodiment

A second embodiment of the present disclosure will now be explained. In the exemplary embodiment described below, the same reference numerals as those used in the description of the first embodiment are assigned to elements that are the same in operation and/or function as those in the first embodiment, and a detailed explanation of them is omitted.

FIG.12is a diagram that illustrates a computer13A used in a data generation method according to a second embodiment. Besides the first print route data Db1, the computer13A generates a second print route data Db2. The computer13A is the same as the computer13according to the first embodiment described earlier except that data and programs stored in the storage circuit13aare different from those of the foregoing counterpart.

The workpiece coordinate system data Da according to the present embodiment includes second initial route data Da2and second reference route point data Ra2in addition to the data described in the first embodiment.

The second initial route data Da2is data that represents, in the workpiece coordinate system, as the route along which the head5ashould move, a route that is different from that of the first initial route data Da1. The second initial route data Da2is generated based on the workpiece shape data DW similarly to the first initial route data Da1. The second reference route point data Ra2is data that represents in the workpiece coordinate system the position and orientation of the head5aat a specific point on the route along which the head5ashould move. The second reference route point data Ra2is generated based on the second initial route data Da2.

The robot coordinate system data Db according to the present embodiment includes second print route data Db2and second head reference point data Rb2in addition to the data described in the first embodiment.

The second print route data Db2is data that represents, in the robot coordinate system, as the route along which the head5ashould move, a route that is different from that of the first print route data Db1. The second print route data Db2is generated by converting the second initial route data Da2using the conversion parameter CP. The second head reference point data Rb2is data that represents in the robot coordinate system the position and orientation of the head5a. The second head reference point data Rb2is generated based on, for example, the robot space data DR similarly to the first head reference point data Rb1.

FIG.13is a flowchart that illustrates the three-dimensional object printing method according to the second embodiment. As illustrated inFIG.13, the three-dimensional object printing method according to the present embodiment includes a sixth data processing step S8, a ninth data processing step S9, a seventh data processing step S10, an eighth data processing step S11, and a second printing step S12in addition to the steps described earlier in the first embodiment.

In the sixth data processing step S8, the second initial route data Da2is acquired. In the ninth data processing step S9, the second reference route point data Ra2is acquired. In the seventh data processing step S10, the second head reference point data Rb2is acquired. In the eighth data processing step S11, the second print route data Db2is generated. In the second printing step S12, printing is performed based on the second print route data Db2.

In the example illustrated inFIG.13, the sixth data processing step S8, the ninth data processing step S9, the seventh data processing step S10, the eighth data processing step S11, and the second printing step S12are executed in this order. As another example, the first printing step S7and the second printing step S12may be executed after completing the tenth data processing step S6and the eighth data processing step S11.

FIG.14is a diagram for explaining the acquisition of the second initial route data Da2.FIG.14illustrates a route RU2aalong which the head5ashould move when printing is performed on a second region RP2different from the first region RP1of the workpiece W in a space in the workpiece coordinate system, in addition to the first region RP1.

The sixth data processing step S8is the same as the first data processing step S2except that pieces of route point data Pa are extracted in such a way as to correspond to the second region RP2. The second initial route data Da2can be obtained as a result of executing this step.

The ninth data processing step S9is the same as the fourth data processing step S3except that the second initial route data Da2is used in place of the first initial route data Da1. The second reference route point data Ra2can be obtained as a result of executing this step.

FIG.15is a diagram for explaining the acquisition of the second head reference point data Rb2.FIG.15illustrates the position and orientation of the head5ain a space in the robot coordinate system.

The seventh data processing step S10is executed in the same manner as the second data processing step S4. The second head reference point data Rb2can be obtained as a result of executing this step. It is preferable if either one, or both, of the position and orientation represented by the first head reference point data Rb1and either one, or both, of the position and orientation represented by the second head reference point data Rb2are close to each other; more preferably, they should be equal to each other. InFIG.15, a case where the position and orientation represented by the first head reference point data Rb1and the position and orientation represented by the second head reference point data Rb2are equal to each other is shown as an example. InFIG.15, the orientation of the workpiece W in the first printing step S7is indicated by solid-line illustration, and the orientation of the workpiece W in the second printing step S12is indicated by alternate-long-and-two-short-dashes illustration.

The eighth data processing step S11is the same as the third data processing step S5except that the second initial route data Da2and the second head reference point data Rb2are used in place of the first initial route data Da1and the first head reference point data Rb1. The second print route data Db2can be obtained as a result of executing this step.

The second printing step S12is the same as the first printing step S7except that the second print route data Db2is used in place of the first print route data Db1. Printing is performed on the second region RP2as a result of executing this step.

The second embodiment described above also makes it possible to reduce the time and effort required to generate the movement path of the head5asimilarly to the first embodiment described earlier. As described earlier, the three-dimensional object printing method according to the present embodiment includes the sixth data processing step S8, the seventh data processing step S10, the eighth data processing step S11, and the second printing step S12in addition to the foregoing steps of the first embodiment.

In the sixth data processing step S8, the second initial route data Da2that represents in the workpiece coordinate system the route along which the head5ais to move is acquired. In the seventh data processing step S10, the second head reference point data Rb2that represents in the robot coordinate system the position and orientation of the head5ais acquired. In the eighth data processing step S11, based on the second initial route data Da2and the second head reference point data Rb2, the second print route data Db2that represents in the robot coordinate system the route along which the head5ais to move is generated. In the second printing step S12, ink is ejected from the head5aonto the workpiece W while the robot10is operated based on the second print route data Db2.

In the present embodiment, the second print route data Db2is generated based on the second initial route data Da2and the second head reference point data Rb2. Therefore, when the route along which the head5ashould move in a real space needs to be changed, advantageously, the only thing that needs to be done is to change the second head reference point data Rb2.

As described earlier, the second initial route data Da2includes the pieces of route point data Pa that represent in the workpiece coordinate system the position and orientation of the head5a. The ninth data processing step S9is included between the sixth data processing step S8and the eighth data processing step S11. In the ninth data processing step S9, a particular piece of route point data Pa is selectively acquired as the second reference route point data Ra2from among the pieces of route point data Pa included in the second initial route data Da2. In the eighth data processing step S11, the second print route data Db2is generated based on the second reference route point data Ra2and the second head reference point data Rb2. Therefore, by using the second reference route point data Ra2, it is possible to associate a coordinate value in the workpiece coordinate system with a coordinate value in the robot coordinate system. Moreover, by using this association, it is possible to generate the second print route data Db2based on the pieces of route point data Pa included in the second initial route data Da2.

It is preferable if the difference between the orientation represented by the first head reference point data Rb1and the orientation represented by the second head reference point data Rb2is less than the difference between the orientation represented by the first reference route point data Ra1and the orientation represented by the second reference route point data Ra2. In this case, the referential orientation of the head5ain the first printing step and the referential orientation of the head5ain the second printing step are close to each other and, therefore, a change in orientation between the first printing step and the second printing step is small. This makes it possible to reduce the difference in print quality. That is, if the first printing step is defined as a first path and if the second printing step is defined as a second path, it is possible to reduce the difference in print quality between the paths. Moreover, a significant change in orientation of the head5awill not occur easily between the paths, for example, as in a case where the ink-ejecting direction in the first path is vertically downward whereas the ink-ejecting direction in the second path is horizontal. The difference in the referential orientation of the head5abetween the paths varies also depending on the curvature of each of the first initial route data Da1and the second initial route data Da2and depending on the selection of the first reference route point data Ra1and the second reference route point data Ra2.

With this considered, it is preferable if the orientation represented by the first reference route point data Ra1and the orientation represented by the second reference route point data Ra2are equal to each other.

It is preferable if the difference between the position represented by the first head reference point data Rb1and the position represented by the second head reference point data Rb2is less than the difference between the position represented by the first reference route point data Ra1and the position represented by the second reference route point data Ra2. In this case, the referential position of the head5ain the first printing step and the referential position of the head5ain the second printing step are close to each other and, therefore, a change in position between the first printing step and the second printing step is small. This makes it possible to reduce the difference in print quality. That is, if the first printing step is defined as a first path and if the second printing step is defined as a second path, it is possible to reduce the difference in print quality between the paths. Moreover, it is possible to prevent the operating area of the robot10in the first path and the second path from being uselessly large. Therefore, it is possible to reduce the risk of collision with other structural object, etc. The difference in the referential position of the head5abetween the paths varies also depending on the curvature of each of the first initial route data Da1and the second initial route data Da2and depending on the selection of the first reference route point data Ra1and the second reference route point data Ra2.

With this considered, it is preferable if the position represented by the first reference route point data Ra1and the position represented by the second reference route point data Ra2are equal to each other.

3. Modification Example

The embodiments described as examples above can be modified in various ways. Some specific examples of modification that can be applied to the embodiments described above are described below. Any two or more modification examples selected from the description below may be combined as long as they are not contradictory to each other or one another.

3-1. First Modification Example

In the foregoing embodiments, the first print route data Db1and the second print route data Db2are generated using the computer13. However, the scope of the present disclosure is not limited thereto. A part or a whole of the function of generating the first print route data Db1and the second print route data Db2may be implemented by the controller11.

3-2. Second Modification Example

In the foregoing embodiments, the third data processing step includes the fifth data processing step. However, the scope of the present disclosure is not limited thereto. The fifth data processing step may be executed separately from the third data processing step. In this case, the workpiece positioning point data may be discrete from the first print route data.

3-3. Third Modification Example

In the foregoing embodiments, a structure using a six-axis vertical multi-articulated robot as a movement mechanism has been described so as to show examples. However, the scope of the present disclosure is not limited to this structure. It is sufficient as long as the movement mechanism is able to change the relative position and relative orientation of the head in relation to the workpiece three-dimensionally. Therefore, the movement mechanism may be, for example, a vertical multi-articulated robot other than six-axis one, or may be a horizontal multi-articulated robot. The robot arm may have a stretching/shrinking mechanism, etc. in addition to joints each configured as a rotating mechanism. However, to ensure a good balance between print quality in print operation and the degree of freedom in operation of the movement mechanism during non-printing, it is preferable if the movement mechanism is a vertical multi-articulated robot having six axes or more. A dual-arm robot may be used. In this case, one of its two arms may be used as the first robot, and the other may be used as the second robot.

3-4. Fourth Modification Example

In the foregoing embodiments, the head is fastened to the first robot with screws, etc. However, the scope of the present disclosure is not limited to this structure. For example, the head may be fixed to the first robot by gripping the head using a gripping mechanism such as a hand mounted as an end effector on the first robot.

3-5. Fifth Modification Example

In the foregoing embodiments, a structure using a single kind of ink to perform printing has been described so as to show examples. However, the scope of the present disclosure is not limited to this structure. The present disclosure may be applied to a structure using two or more kinds of ink to perform printing.

3-6. Sixth Modification Example

The scope of application of a three-dimensional object printing apparatus according to the present disclosure is not limited to printing. For example, a three-dimensional object printing apparatus that ejects a colorant solution can be used as an apparatus for manufacturing a color filter of a liquid crystal display device. A three-dimensional object printing apparatus that ejects a solution of a conductive material can be used as a manufacturing apparatus for forming wiring lines and electrodes of a wiring substrate. The disclosed three-dimensional object printing apparatus may be used as a jet dispenser for applying a liquid such as an adhesive to a workpiece.