Trajectory generation method, stereoscopic object printing system, and stereoscopic object printing device
Patent Information
- Application Number
- CN202610216861.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-02-19
- Filing Date
- 2026-02-14
- Publication Date
- 2026-08-21
AI Technical Summary
[0004]专利文献1中并未具体记载将打印区域分割为怎样的区域
Smart Images

Figure CN122606996A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a trajectory generation method, a three-dimensional object printing system, and a three-dimensional object printing apparatus. Background Technology
[0002] Three-dimensional printing apparatuses are known to print on the surface of three-dimensional workpieces using inkjet printing. For example, Patent Document 1 discloses a printing apparatus comprising an inkjet head, a slide rail, and a rotating device. In this printing apparatus, the inkjet head moves axially along the slide rail while simultaneously printing text or patterns onto the workpiece mounted on the rotating device. At this time, based on the different printing surfaces of the workpiece, the printed pattern is divided into multiple printing areas, and each printing area is sequentially printed onto a different printing surface.
[0003] Patent Document 1: Japanese Patent Application Publication No. 2010-284965
[0004] Patent document 1 does not specify how the printing area is divided. In this context, in recent years, with the increasing demand for multi-variety, small-batch production, users have requested the ability to print on any workpiece and within any printing range, thus requiring further innovation. Summary of the Invention
[0005] One aspect of the trajectory generation method disclosed herein is a trajectory generation method that scans a liquid nozzle of a three-dimensional printing apparatus, the three-dimensional printing apparatus having: the liquid nozzle for ejecting liquid onto a three-dimensional workpiece and a moving mechanism for holding the liquid nozzle and changing the relative position of the liquid nozzle with respect to the workpiece, the trajectory generation method comprising: a shape acquisition step for acquiring shape information related to the shape of the workpiece; a segmentation information acquisition step for acquiring segmentation information representing at least one direction; a segmentation step for segmenting a target region on the workpiece according to the segmentation information to generate a plurality of segmented regions; and a trajectory generation step for generating a printing trajectory of the liquid nozzle for each segmented region for the plurality of segmented regions.
[0006] One aspect of the three-dimensional printing system disclosed herein includes: a liquid ejector head for ejecting liquid onto a three-dimensional workpiece; a moving mechanism for holding the liquid ejector head and changing the relative position of the liquid ejector head with respect to the workpiece; and a trajectory generation unit for generating a printing trajectory for scanning by the liquid ejector head, the trajectory generation unit acquiring shape information related to the shape of the workpiece, the trajectory generation unit acquiring segmentation information representing at least one direction, the trajectory generation unit segmenting a target area on the workpiece according to the segmentation information to generate a plurality of segmented areas, and the trajectory generation unit generating a printing trajectory of the liquid ejector head for each segmented area for the plurality of segmented areas.
[0007] One aspect of the three-dimensional printing apparatus disclosed herein includes: a liquid ejector head for ejecting liquid onto a three-dimensional workpiece; a moving mechanism for holding the liquid ejector head and changing the relative position of the liquid ejector head relative to the workpiece; and a trajectory generation unit for generating a printing trajectory for scanning by the liquid ejector head, the trajectory generation unit acquiring shape information related to the shape of the workpiece, the trajectory generation unit acquiring segmentation information representing at least one direction, the trajectory generation unit segmenting a target area on the workpiece according to the segmentation information to generate a plurality of segmented areas, and the trajectory generation unit generating a printing trajectory of the liquid ejector head for each segmented area for the plurality of segmented areas. Attached Figure Description
[0008] Figure 1 This is a schematic diagram of a three-dimensional printing apparatus used in the printing method described in the embodiment.
[0009] Figure 2 A block diagram illustrating the electrical configuration of the three-dimensional printing apparatus used in the printing method of the embodiment.
[0010] Figure 3 It's a 3D model of the robot.
[0011] Figure 4 It is a block diagram of the computer used to generate path data.
[0012] Figure 5 This is an illustrative diagram for printing on workpieces.
[0013] Figure 6 This is a flowchart illustrating the trajectory generation method in the implementation method.
[0014] Figure 7 This is a diagram showing an example of how segmentation information is obtained.
[0015] Figure 8 This is an explanatory diagram of multiple segmented regions.
[0016] Figure 9 This is a diagram showing an example of multiple candidate trajectories.
[0017] Figure 10 This is a diagram showing an example of multiple candidate trajectories.
[0018] Figure 11 This is an explanatory diagram of multiple candidate trajectories.
[0019] Figure 12 This is an illustrative diagram of the correction of multiple candidate trajectories.
[0020] Figure 13 It is an explanatory diagram of multiple printing tracks.
[0021] Figure 14 This is an illustrative diagram of other examples of multiple printing tracks.
[0022] Figure 15 These are illustrative diagrams of other examples of multiple printing tracks.
[0023] Figure 16 This is an illustrative diagram of other examples of multiple printing tracks.
[0024] Figure 17 This is an illustrative diagram of other examples of multiple segmented regions.
[0025] Figure 18 This is a diagram showing an example of a workpiece with a recess.
[0026] Figure 19 That's wrong. Figure 18 The diagram illustrates the process of smoothing the shape of a workpiece to generate multiple segmented regions.
[0027] Figure 20 yes Figure 18 The diagram illustrates the state of the workpiece after its shape has been smoothed.
[0028] Figure 21 yes Figure 18 The diagram illustrates the situation where the shape of the workpiece is smoothed to generate multiple segmented regions.
[0029] Figure 22 This is an illustration of multiple segmented regions when a workpiece has two separate parts.
[0030] Figure 23 Observing from other directions Figure 22 The diagram shows multiple segmented regions.
[0031] Explanation of reference numerals in the attached figures
[0032] 1…3D printing apparatus (3D printing system), 2…robot (mobile mechanism), 2a…arm drive mechanism, 3…head unit, 3a…liquid ejector head, 3c…curing light source, 3d…switching circuit, 4…holding robot, 4a…arm drive mechanism, 10…control unit (trajectory generation unit), 11…controller, 11a…storage 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…storage circuit, 13b…processing circuit, 13c…input device, 13d…display device, 13e…communication device, 210…base 220…arm, 221…arm, 222…arm, 223…arm, 224…arm, 225…arm, 226…arm, 410…base, 420…arm, CLK…clock signal, CNG…exchange signal, Com…drive signal, D1…output, D2…output, D3…signal, Dd…segmentation information, Dg…holding part information, Dr…robot information, Dr1…path data, Dr1a…path data, Dr2…configuration data, Ds…shape information, Dv…direction information, Dv1…first direction information, Dv2…second direction information, FB…setting surface, FN…nozzle surface, GR…bar (input receiving part), GU…input image, HJ…workpiece holding part, Im g…print data, J1…joint, J2…joint, J3…joint, J4…joint, J5…joint, J6…joint, LAT…latch signal, N…nozzle, O1…rotation axis, O2…rotation axis, O3…rotation axis, O4…rotation axis, O5…rotation axis, O6…rotation axis, P0…same point, PA1…part, PA2…part, PD…drive pulse, PTS…timing signal, Pt…center point, RD…segmented region, RD-1…first region, RD-2…second region, RD-H…segmented region, RD-X…part, RP…target region, RU…print trajectory, RUC…candidate trajectory, RUa…trajectory, RUB…trajectory, RUc…trajectory, RV …Collection area, S10…Step (shape acquisition process), S20…Step (shape correction process), S30…Step (segmentation information acquisition process), S31…Step, S40…Step, S50…Step (segmentation process), S60…Step, S70…Step (trajectory generation process), S71…Step, S72…Step, S73…Step, S74…Step, SI…Control signal, Sk1…Control signal, Sk2…Control signal, VBS…Bias potential, VHV…Power supply potential, VS…Virtual space, Vc…Look-through vector, Vn…Normal vector, Vs…Look-through vector, W…Workpiece, WV…Virtual workpiece, WF…Target area, dCom…Waveform specification signal. Detailed Implementation
[0033] The preferred embodiments of this disclosure will now be described with reference to the accompanying drawings. It should be noted that the dimensions and scales of the parts in the drawings differ slightly from actual dimensions; some parts are shown schematically for ease of understanding. Furthermore, unless the following description defines the scope of this disclosure, it is not limited to these forms.
[0034] For simplicity, the following explanation will use intersecting X-axis, Y-axis, and Z-axis. Furthermore, one direction along the X-axis is designated X1, and the opposite direction is designated X2. Similarly, opposite directions along the Y-axis are designated Y1 and Y2. Additionally, opposite directions along the Z-axis are designated Z1 and Z2.
[0035] The X, Y, and Z axes are coordinate axes of a world coordinate system defined in the space where robot 2 and holding robot 4 are positioned (described later). Typically, the Z-axis is the vertical axis, and the Z2 direction corresponds to the downward direction in the vertical direction. The basic coordinate system based on bases 210 and 410 (described later) is calibrated to correspond with this world coordinate system. For convenience, the following example uses the world coordinate system as the robot coordinate system to control the movements of robot 2 and holding robot 4 respectively.
[0036] It should be noted that the Z-axis does not necessarily have to be perpendicular. Furthermore, while the X, Y, and Z axes are typically orthogonal to each other, this is not a limitation; they can be non-orthogonal. For example, the X, Y, and Z axes can intersect each other at an angle between 80° and 100°.
[0037] 1. First Implementation Method
[0038] 1-1. Overview of 3D Printing Apparatus
[0039] Figure 1 This is a schematic diagram of the three-dimensional printing apparatus 1 used in the printing method described in the embodiment. The three-dimensional printing apparatus 1 is a device that prints on the surface of the workpiece W by means of inkjet printing. The three-dimensional printing apparatus 1 is an example of a "three-dimensional printing system".
[0040] Workpiece W is the target object for printing based on an image of printing data Img, described later. Figure 1 In the example shown, the workpiece W is approximately a hemisphere with a target area WF that serves as the spherical surface. In this embodiment, the target area WF is the entire surface of the workpiece W. It should be noted that the size, shape, or orientation of the workpiece W is arbitrary and not limited to any particular shape. Figure 1 The example shown. Furthermore, the target region WF can also be a portion of the surface of the workpiece W.
[0041] like Figure 1As shown, the 3D printing apparatus 1 includes a robot 2, a head unit 3, and a holding robot 4. The robot 2 is an example of a "movement mechanism." Below, firstly, based on... Figure 1 The following is a brief description of each part of the three-dimensional printing apparatus 1.
[0042] Robot 2 is the robot that supports head unit 3, enabling changes in the position and orientation of head unit 3 in the world coordinate system. Figure 1 In the example shown, robot 2 is a so-called six-axis vertical joint robot.
[0043] Robot 2 has a base 210 and an arm 220. The base 210 is a platform supporting the arm 220 and is fixed to the mounting surface FB by screws or the like. The arm 220 is the robot's arm, and the head unit 3, as the end effector, is mounted at the front end of the arm 220 in a fixed state by screws or the like. In this way, robot 2 holds the liquid ejection head 3a and allows changes in the relative position and orientation of the liquid ejection head 3a relative to the workpiece W. It should be noted that detailed information about robot 2 will be provided later. Figure 3 Please provide an explanation.
[0044] The FB face is the face facing the Z1 direction, such as the outer surface of a platform or the ground of a building.
[0045] Head unit 3 is an assembly having a liquid ejection head 3a, which ejects ink, an example of a "liquid," onto the workpiece W. The liquid ejection head 3a has a nozzle surface FN, on which multiple nozzles N for ejecting ink are formed. These multiple nozzles N constitute one or more nozzle rows arranged in a straight line. In this embodiment, head unit 3, in addition to the liquid ejection head 3a, also has a curing light source 3c. It should be noted that detailed information about head unit 3 will be provided later based on... Figure 3 To narrate.
[0046] There are no particular limitations on the type of ink, and examples include: water-based inks made by dissolving dyes or pigments in water-based solvents, curable inks made by using resins with curing properties such as UV curing, and solvent-based inks made by dissolving dyes or pigments in organic solvents.
[0047] On the other hand, robot 4 is the robot that holds workpiece W, allowing workpiece W to change its position and orientation in the world coordinate system. Figure 1 In the example shown, robot 4 is a six-axis vertical joint robot.
[0048] The robot 4 has a base 410 and an arm 420. The base 410 is a base that supports the arm 420 and is fixed to the mounting surface FB by screws or the like. The arm 420 is the arm of the robot, and the workpiece holding part HJ, which is the end effector, is fixed to the front end of the arm 420 by screws or the like.
[0049] It should be noted that the holding robot 4 is identical to robot 2 except for the end effector it is equipped with. However, robot 2 and holding robot 4 can also be configured differently from each other. In this embodiment, configurations such as arm length or load capacity can be different as needed. Furthermore, the number of joints of robot 2 and holding robot 4 can also be different from each other. In addition, the base 410 can be fixed to a surface different from the mounting surface FB, or it can be fixed to a surface of robot 2 different from the base 210.
[0050] The workpiece holding part HJ is a robotic hand that detachably holds the workpiece W. "Holding" here includes both adsorption and gripping. Examples of workpiece holding parts HJ include: mechanisms that adsorb the workpiece W using negative pressure, magnetic adsorption mechanisms, and gripping mechanisms with multiple fingers or claws.
[0051] The robot 2, head unit 3, and holding robot 4 described above operate under the control of the control unit 10, which will be described later. For example, under the control of the control unit 10, while the holding robot 4 positions the workpiece W in the desired position, the head unit 3 sprays ink onto the target area WF of the workpiece W, and simultaneously the robot 2 moves the head unit 3 along the target area WF of the workpiece W. Thus, the stereolithography printing apparatus 1 performs a printing operation, that is, sprays ink from the liquid ejection head 3a, while the robot 2 moves the liquid ejection head 3a along the target area RP of the workpiece W, which will be described later.
[0052] Prior to the printing process, robot 4 changes one or both of the position and orientation of workpiece W. This eliminates the need for manual adjustments to the orientation or position of workpiece W.
[0053] It should be noted that the holding robot 4 can be omitted if necessary. In this case, the workpiece W is held in the fixture and positioned according to the desired orientation. Alternatively, the workpiece W can be positioned manually.
[0054] 1-2. Electrical Configuration of the 3D Printing Apparatus
[0055] Figure 2 This is a block diagram showing the electrical configuration of the three-dimensional printing apparatus 1 used in the printing method of the embodiment. Figure 2 The diagram shows the electrical configuration components among the elements of the three-dimensional printing apparatus 1. For example... Figure 2As shown, the 3D printing apparatus 1, in addition to the aforementioned robot 2, head unit 3, and holding robot 4, also has a control unit 10. The control unit 10 is an example of a "track generation unit".
[0056] The control unit 10 controls the movements of robot 2, head unit 3, and holding robot 4 respectively. Figure 2 In the example shown, the control unit 10 has a controller 11, a control module 12, and a computer 13.
[0057] It should be noted that, Figure 2 The electrical components shown can be appropriately separated, partially included in other components, or integrated with other components. For example, some or all of the functions of the controller 11 or control module 12 can be implemented by the computer 13, or by other external devices such as a PC (personal computer) connected to the controller 11 via a network such as a LAN (Local Area Network) or the Internet.
[0058] Controller 11 is a robot controller that controls the drive of robot 2 and maintains the drive of robot 4. Controller 11 has the functions of controlling the drive of robot 2 and maintaining the drive of robot 4, and generating a signal D3 to synchronize the ink ejection action at head unit 3 with the action of robot 2. Controller 11 has a storage circuit 11a and a processing circuit 11b.
[0059] Storage circuit 11a stores various programs executed by processing circuit 11b and various data processed by processing circuit 11b. Storage circuit 11a includes one or two types of semiconductor memory, such as volatile memory like RAM (Random Access Memory) and non-volatile memory like ROM (Read Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), or PROM (Programmable Read-Only Memory). It should be noted that a portion or all of storage circuit 11a is included in processing circuit 11b.
[0060] The storage circuit 11a stores path data Dr1 and configuration data Dr2.
[0061] Path data Dr1 is information related to the printing trajectory RU (described later) of the head unit 3 generated by robot 2, including information indicating the position and orientation of the liquid ejection head 3a during the printing action. Configuration data Dr2 is information related to the position and orientation of the workpiece W based on the holding robot 4, including information indicating the position and orientation of the workpiece W during the printing action. Configuration data Dr2 may include information indicating the position and orientation of the workpiece W before and after the printing action. Path data Dr1 and configuration data Dr2 are generated by computer 13.
[0062] Processing circuit 11b controls the movement of arm drive mechanism 2a of robot 2 based on path data Dr1 and generates signal D3. Furthermore, processing circuit 11b controls the movement of arm drive mechanism 4a of holding robot 4 based on configuration data Dr2. Processing circuit 11b includes, for example, one or more processors such as CPUs (Central Processing Units). It should be noted that processing circuit 11b includes a CPU or a CPU and programmable logic devices such as FPGAs (field-programmable gate arrays).
[0063] Arm drive mechanism 2a has motors for driving each joint of robot 2 and encoders for detecting the rotation angle of each joint of robot 2. Similarly, arm drive mechanism 4a has motors for driving each joint of holding robot 4 and encoders for detecting the rotation angle of each joint of holding robot 4.
[0064] Processing circuit 11b performs inverse kinematics calculations, that is, it converts the position and orientation represented by path data Dr1 into motion quantities such as rotation angles and rotational speeds of each joint of robot 2. Next, based on the outputs D1 from each encoder of the arm drive mechanism 2a, processing circuit 11b outputs control signals Sk1, so that the actual rotation angles and rotational speeds of each joint become the aforementioned calculation results. Control signal Sk1 controls the drive of the motors in arm drive mechanism 2a.
[0065] Similarly, processing circuit 11b also performs inverse kinematics calculations, that is, it converts the position and orientation represented by configuration data Dr2 into motion quantities such as rotation angles and rotational speeds of each joint of robot 4. Next, based on the outputs D2 from each encoder of the arm drive mechanism 4a, processing circuit 11b outputs control signals Sk2, so that the actual rotation angles and rotational speeds of each joint become the aforementioned calculation results. Control signal Sk2 controls the drive of the motors of arm drive mechanism 4a.
[0066] Furthermore, the processing circuit 11b generates a signal D3 based on the output D1 of at least one of the plurality of encoders from the arm drive mechanism 2a. For example, the processing circuit 11b generates a trigger signal as signal D3, which includes a timing pulse from one of the plurality of encoders whose output D1 becomes a predetermined value.
[0067] The control module 12 is a circuit module that is communicatively connected to the controller 11 and controls the head unit 3. The control module 12 is a circuit that controls the ink ejection action at the head unit 3 based on the signal D3 output by the controller 11 and the printing data Img (described later) 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.
[0068] The timing signal generation circuit 12a generates a timing signal PTS based on signal D3. The timing signal generation circuit 12a is composed of, for example, a timer, which starts generating the timing signal PTS upon detection of signal D3.
[0069] The power supply circuit 12b receives power from a commercial power supply (not shown) and generates various specified potentials. These potentials are appropriately provided to various parts of the control module 12 and the head unit 3. For example, the power supply circuit 12b generates a power supply potential VHV and a bias potential VBS. The bias potential VBS is provided to the head unit 3. Furthermore, the power supply potential VHV is provided to the drive signal generation circuit 12d.
[0070] The control circuit 12c generates a control signal SI, a waveform specification signal dCom, a latch signal LAT, a clock signal CLK, and a switching signal CNG based on the timing signal PTS. These signals are synchronized with the timing signal PTS. 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 switching circuit 3d of the head unit 3.
[0071] The control signal SI is a digital signal used to specify the operating state of the drive element of the liquid ejector head 3a of the head unit 3. Specifically, the control signal SI specifies whether to provide the drive signal Com (described later) to the drive element. This specification, for example, specifies whether ink is ejected from the nozzle corresponding to the drive element or specifies the amount of ink ejected from the nozzle. The waveform specification signal dCom is a digital signal used to specify the waveform of the drive signal Com. The latch signal LAT and the exchange signal CNG, used in conjunction with the control signal SI, fix the ejection timing of ink from the nozzle by specifying the drive timing of the drive element. The clock signal CLK is a standard clock signal synchronized with the timing signal PTS.
[0072] The control circuit 12c described above includes, for example, one or more processors such as a CPU (Central Processing Unit). It should be noted that the control circuit 12c may include a CPU or a programmable logic device such as an FPGA (field-programmable gate array).
[0073] The drive signal generation circuit 12d generates drive signals Com for each drive element of the liquid ejector head 3a of the drive head unit 3. 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 specification 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, thereby generating the drive signal Com. The drive signal Com is provided to the drive element from the drive signal generation circuit 12d via the switching circuit 3d of the head unit 3. Among the waveforms contained in the drive signal Com, the signal of the waveform actually provided to the drive element is the drive pulse PD. The switching circuit 3d switches whether to provide at least a portion of the waveform contained in the drive signal Com as the drive pulse PD based on the control signal SI.
[0074] Computer 13 is a desktop, laptop, or tablet computer that can communicate with controller 11 and control module 12. Computer 13 has the functions of generating printing data Img, path data Dr1, and configuration data Dr2; providing path data Dr1 and configuration data Dr2 to controller 11; and providing printing data Img to control module 12. Detailed information about computer 13 will be provided later. Figure 4 Please provide an explanation.
[0075] The printing data Img is information about the image that should be printed on the workpiece W for each printing trajectory represented by the path data Dr1a.
[0076] 1-3. Example of robot configuration
[0077] Figure 3 This is a perspective view of robot 2. The following describes an example configuration of robot 2. It should be noted that the configuration of holding robot 4 is the same as that of robot 2, except for the different end effector installed, and therefore will not be described further. However, as mentioned above, the configurations of robot 2 and holding robot 4 can also differ from each other.
[0078] Figure 3In the example shown, the arm 220 of robot 2 is a six-axis robot arm with a base end mounted on the base 210 and a front end that allows the position and orientation to change three-dimensionally relative to the base end. Specifically, arm 220 has arms 221, 222, 223, 224, 225, and 226, also called links, which are connected in sequence.
[0079] Arm 220 has joints J1 to J6. Joints J1 to J6 rotate about rotation axes O1 to O6 respectively. Joints J1 to J6 are arranged sequentially from the base 210 to the arm 226 of arm 220.
[0080] Joints J1 to J6 are mechanisms that rotatably connect one of two adjacent components of the base 210 and arms 221 to 226 relative to the other. Figure 3 Although not shown, joints J1 to J6 are each equipped with a drive mechanism that rotates one of the two adjacent components relative to the other. This drive mechanism may include, for example, a motor that generates the driving force for the rotation, a reducer that reduces the driving force before outputting it, and an encoder such as a rotary encoder that detects the amount of motion, such as the angle of rotation. It should be noted that the assembly of these drive mechanisms for joints J1 to J6 corresponds to the aforementioned... Figure 2 The arm drive mechanism 2a shown is illustrated.
[0081] Rotation axis O1 is a perpendicular axis to the mounting surface FB for fixing the base 210. Rotation axis O2 is a perpendicular axis to rotation axis O1. Rotation axis O3 is a parallel axis to rotation axis O2. Rotation axis O4 is a perpendicular axis to rotation axis O3. Rotation axis O5 is a perpendicular axis to rotation axis O4. Rotation axis O6 is a perpendicular axis to rotation axis O5.
[0082] It should be noted that, regarding these rotation axes, "perpendicular" includes not only the case where the angle formed by the two rotation axes is strictly 90°, but also the case where the two rotation axes intersect in a manner where the angle formed is within the range of approximately 90° ± 5°. Similarly, "parallel" includes not only the case where the two rotation axes are strictly parallel, but also the case where one of the two rotation axes is tilted relative to the other within the range of approximately ± 5°.
[0083] The head unit 3 is mounted as an end effector on arm 226 of arm 220. The head unit 3 is mounted on arm 226 such that, for example, the normal of the nozzle face FN is parallel to the rotation axis O6, that is, the ejection direction of ink ejected from nozzle N is parallel to the rotation axis O6. It should be noted that the normal of the nozzle face FN or the ejection direction of ink ejected from nozzle N may also be inclined relative to the rotation axis O6.
[0084] A tool coordinate system is set on the head unit 3. The relative positions and orientations of the coordinate axes of this tool coordinate system with the aforementioned X, Y, and Z axes change according to the movements of the robot 2. The tool coordinate system is calibrated to correspond with the aforementioned basic coordinate system. Furthermore, the tool coordinate system is set using, for example, the center of the nozzle surface FN as a standard (tool center point).
[0085] As described above, the head unit 3 has a liquid ejection head 3a and a curing light source 3c, which are supported on the arm 226 in a fixed relative position by a support body not shown in the figure.
[0086] Although not shown in the figure, the liquid ejector head 3a has a piezoelectric element as a driving element and a cavity for containing ink for each nozzle N. The piezoelectric element causes the ink to be ejected from the nozzle corresponding to the cavity by changing the pressure of the cavity corresponding to the piezoelectric element.
[0087] The curing light source 3c emits energy such as light, heat, electron beams, or rays to cure or fix the ink on the workpiece W. The curing light source 3c is composed of light-emitting elements such as LEDs (light-emitting diodes) that emit ultraviolet light. Furthermore, the curing light source 3c can be included as needed or omitted.
[0088] It should be noted that the curing light source 3c can be set as needed or omitted. In addition, in addition to the liquid ejection head 3a and the curing light source 3c, the head unit 3 may also have, for example, a pressure regulating valve for adjusting the pressure of the ink in the liquid ejection head 3a.
[0089] 1-4. Computer
[0090] Figure 4 This is a block diagram of computer 13 used to generate path data Dr1. (Example) Figure 4 As shown, the computer 13 includes a display device 13d, an input device 13c, a storage circuit 13a, a processing circuit 13b, and a communication device 13e. These are communicatively connected to each other.
[0091] The display device 13d displays various images under the control of the processing circuit 13b. The display device 13d may have various display panels, such as a liquid crystal display panel or an organic EL (electro-luminescence) display panel. The display device 13d, under the control of the processing circuit 13b, appropriately displays the information required to generate the path data Dr1 as needed. It should be noted that the display device 13d can be located externally to the computer 13.
[0092] Input device 13c is a device that receives operations from the user. For example, input device 13c may have a touchpad, mouse, or other pointing device. It should be noted that, when input device 13c has a touchpad, it can also function as a display device 13d. Furthermore, input device 13c can be located externally to computer 13. Additionally, input device 13c can be included as needed or omitted.
[0093] The communication device 13e is a device that communicates wirelessly or wiredly with other devices under the control of the processing circuit 13b. For example, the communication device 13e has an interface such as USB (Universal Serial Bus) or LAN (Local Area Network).
[0094] Storage circuit 13a is a device for storing various programs executed by processing circuit 13b and various data processed by processing circuit 13b. Storage circuit 13a may have, for example, a hard disk drive or a semiconductor memory. It should be noted that a portion or all of storage circuit 13a may be located external to storage devices or servers of computer 13.
[0095] The storage circuit 13a stores shape information Ds, segmentation information Dd, holding part information Dg, robot information Dr, path data Dr1, and configuration data Dr2. It should be noted that the storage circuit 13a can also record head information related to the head unit 3, such as the liquid ejection head 3a and the curing light source 3c.
[0096] Shape information Ds represents the shape of workpiece W. Shape information Ds can be, for example, three-dimensional data in STL (Standard Triangulated Language) form representing the shape of workpiece W through multiple polygons. This includes coordinate information (related to the coordinates of each vertex of the polygon) and vector information (related to the normal vectors representing the front and back faces of the polygon). Shape information Ds can be obtained, for example, by converting CAD (computer-aided design) data representing the three-dimensional shape of workpiece W as needed, or by measuring the shape of workpiece W using a 3D measuring instrument such as a 3D camera.
[0097] The segmentation information Dd represents information indicating at least one direction. The segmentation information Dd includes the direction information Dv.
[0098] Direction information Dv is information related to a specific direction toward the target area WF. The specific direction represented by direction information Dv is, for example, the line-of-sight vector Vs (described later), a user-specified angle, etc. More specifically, direction information Dv is information related to multiple directions toward the target area WF, including first direction information Dv1 and second direction information Dv2. First direction information Dv1 is information related to a first direction toward the target area WF. Second direction information Dv2 is information related to a second direction different from this first direction toward the target area WF. It should be noted that the number of directions represented by direction information Dv can be two or more, and can be arbitrarily set according to the shape of the workpiece W or user specifications, without any particular restrictions.
[0099] The holding part information Dg is information related to the workpiece holding part HJ. The holding part information Dg includes, for example, the orientation relationship of the arms of the robot 2 supporting the liquid nozzle 3a and the holding robot 4 supporting the workpiece holding part HJ, the posture and position of the workpiece W, and the positional relationship between the holding robot 4 supporting the workpiece holding part HJ and the workpiece W.
[0100] Robot Information Dr is information related to Robot 2. Robot Information Dr includes information such as the type of Robot 2, motion error, or range of motion.
[0101] The processing circuit 13b is a device that controls various parts of the computer 13 and processes various types of data. The processing circuit 13b has a processor, such as a CPU. It should be noted that the processing circuit 13b can be composed of a single processor or multiple processors. Furthermore, some or all of the functions of the processing circuit 13b can be implemented by hardware such as a DSP, ASIC, PLD, or FPGA.
[0102] The processing circuit 13b performs various functions by reading and executing programs from the storage circuit 13a. Specifically, the processing circuit 13b generates printing data Img, path data Dr1, and configuration data Dr2; provides path data Dr1 and configuration data Dr2 to the controller 11; and provides printing data Img to the control module 12.
[0103] 1-5. Printing Operation
[0104] Figure 5 This is an explanatory diagram for printing on workpiece W. When printing on workpiece W, as follows... Figure 5As shown, while maintaining the position and posture of the workpiece W according to the configuration data Dr2, the robot 2 moves the liquid nozzle 3a according to the position and posture of the path data Dr1, and at the same time, the liquid nozzle 3a sprays ink onto the target area RP on the workpiece W at the timing indicated by the printing data Img.
[0105] In this process, robot 2 moves the liquid nozzle 3a along the printing trajectory RU based on path data Dr1. The printing trajectory RU is the trajectory along which the liquid nozzle 3a scans the target area RP on the workpiece W. Furthermore, prior to the action based on path data Dr1 of robot 2, robot 4 configures the workpiece W based on configuration data Dr2.
[0106] In this embodiment, during the printing operation, robot 4 remains stationary while robot 2 operates. Therefore, vibration of the workpiece W can be prevented. From the viewpoint of reducing the detour of the printing trajectory RU of the liquid ejector head 3a, the fewer the number of joints of robot 2 during the printing operation, the better. Therefore, in Figure 5 The example illustrates a scheme in which a liquid ejector head 3a is moved by the movement of joints J2, J3, and J5, which are three parallel rotating axes O2, O3, and O5. In this scheme, from the viewpoint of reducing the detour of the printing trajectory RU of the liquid ejector head 3a, it is preferable that joints other than J2, J3, and J5 do not move. Thus, viewed along the Z-axis, the printing trajectory RU forms a straight line. It should be noted that during the printing operation, rotating axis O5 may not be parallel to rotating axes O2 and O3, and joints other than J2, J3, and J5 may also move. Furthermore, viewed along the Z-axis, the printing trajectory RU may be curved or bent.
[0107] exist Figure 5 In the example shown, during the printing operation, robot 2 changes from the retracted arm 220 state to the extended arm 220 state. Therefore, compared to a solution where the change is from the extended arm 220 state to the retracted arm 220 state, the vibration of the liquid ejector head 3a caused by the robot 2's movement can be reduced. It should be noted that during the printing operation, robot 2 can also change from the extended arm 220 state to the retracted arm 220 state.
[0108] For each of the multiple regions into which the target region RP is divided, a printing trajectory RU is set. Previously, the target region WF was divided according to the shape of the workpiece W, regardless of the positional relationship between the workpiece W and the liquid ejector head 3a during printing. In this existing approach, it is difficult to generate appropriate printing trajectories RU for workpieces W of various shapes.
[0109] Therefore, after dividing the target area RP into multiple segmented areas RD (described later) based on the segmentation information Dd, the stereolithography printing apparatus 1 generates a printing trajectory RU for each segmented area RD. The method for generating the printing trajectory RU will be explained below.
[0110] 1-6. Methods for Generating Printing Trajectories
[0111] Figure 6 This is a flowchart illustrating the trajectory generation method in the embodiment. The trajectory generation method is a method for generating a printing trajectory RU, including steps S10 to S70 executed by the control unit 10. Step S10 is an example of a "shape acquisition process". Step S20 is an example of a "shape correction process". Step S30 is an example of a "segmentation information acquisition process". Step S50 is an example of a "segmentation process". Step S70 is an example of a "trajectory generation process".
[0112] In step S10, the processing circuit 13b acquires shape information Ds. More specifically, in step S10, the processing circuit 13b acquires shape information Ds, for example, by reading shape information Ds from storage circuit 13a or by measuring the shape of workpiece W using a three-dimensional measuring instrument not shown in the figure.
[0113] Following step S10, in step S20, processing circuit 13b performs correction, that is, smoothing the shape represented by shape information Ds. For example, processing circuit 13b smooths the shape to flatten the bumps and depressions under the shape represented by shape information Ds. Thus, step S20 is executed before the segmentation process, i.e., step S40. It should be noted that the details of step S20 will be provided later based on... Figures 18 to 21 A further explanation is provided. Furthermore, step S20 can be performed or omitted as needed.
[0114] Following step S20, in step S30, the processing circuit 13b acquires the segmentation information Dd. In this embodiment, step S30 includes step S31. In step S31, the processing circuit 13b causes the display device 13d to display the input image GU, which will be described later. The input image GU is an image used for the user to input the segmentation information Dd. In addition to the column GR used for this input, the workpiece W in the virtual space is also represented as the virtual workpiece WV, which will be described in detail later. Thus, step S31 is the process of displaying the virtual workpiece WV and the column GR, which will be described later.
[0115] Following step S30, in step S40, the processing circuit 13b acquires the holding unit information Dg and the robot information Dr. More specifically, in step S40, the processing circuit 13b acquires the holding unit information Dg and the robot information Dr, for example, by reading them from the storage circuit 13a. Thus, step S40 is the process of acquiring the holding unit information Dg and the robot information Dr.
[0116] It should be noted that the steps of acquiring the holding part information Dg and acquiring the robot information Dr can be separate steps. Furthermore, the step of acquiring the holding part information Dg can be performed before step S50, and is not limited to the illustrated example. However, if the holding part information Dg is not used in step S50, but only in step S70, the step of acquiring the holding part information Dg can be performed before step S70. The step of acquiring the robot information Dr can be performed before step S70, and is not limited to the illustrated example. Furthermore, step S40 can be performed or omitted as needed.
[0117] Following step S40, in step S50, the processing circuit 13b segments the target region WF on the workpiece W according to the segmentation information Dd to generate multiple segmented regions RD, which will be described later. In this embodiment, in step S50, the processing circuit 13b uses the holding part information Dg in addition to the segmentation information Dd to segment the target region WF on the workpiece W.
[0118] By segmenting the target region WF according to the holding part information Dg, the segmentation region RD can be set taking the holding part information Dg into account. As a result, it is possible to suppress the generation of areas in the segmentation region RD that cannot be aligned with the liquid ejector head 3a, or to prevent printing from being performed in a more suitable orientation of the workpiece W. In contrast, in a scheme that does not consider the holding part information Dg, the position of the workpiece holding part HJ or the orientation of the workpiece W may prevent certain segmentation regions RD from being aligned with the liquid ejector head 3a.
[0119] For example, when the angle formed by the orientation of the arm of the robot supporting the liquid nozzle 3a and the orientation of the arm 420 of the holding robot 4 supporting the workpiece holding part HJ is 90°, and the surface of the workpiece W is spherical, there are problems such as the difficulty in determining the posture of the robot 2 and the holding robot 4 when printing the top surface of the workpiece W, and the printing difficulty varies depending on the orientation of the robot 2 and the holding robot 4.
[0120] Following step S50, in step S60, the processing circuit 13b causes the display device 13d to display the multiple segmented regions RD, which will be described later. Thus, step S60 is the process of displaying the multiple segmented regions RD. This display scheme is, for example, the same as the display scheme of the virtual workpiece WV in step S30.
[0121] Following step S60, in step S70, the processing circuit 13b generates a printing trajectory RU for each segmented region RD of the liquid ejector head 3a relative to the plurality of segmented regions RD described later. More specifically, step S70 includes steps S71 to S74.
[0122] In step S71, the processing circuit 13b generates multiple candidate trajectories RUC for each segmented region RD (described later). After step S71, in step S72, the processing circuit 13b determines whether multiple candidate trajectories RUC have been generated for all segmented regions RD, and repeats step S71 until multiple candidate trajectories RUC have been generated for all segmented regions RD (step S72: No).
[0123] If multiple candidate trajectory RUCs are generated for all segmented regions RD (step S72: Yes), in step S73, the processing circuit 13b corrects the multiple candidate trajectory RUCs for each segmented region RD (described later) to generate a printed trajectory RU. After step S73, in step S74, the processing circuit 13b determines whether multiple candidate trajectory RUCs have been generated for all segmented regions RD, and repeats step S73 until multiple candidate trajectory RUCs are corrected for all segmented regions RD (step S74: No).
[0124] After correcting multiple candidate trajectory RUCs for all segmented regions RD (step S74: Yes), the processing circuit 13b ends the processing. Through the above operations, a printed trajectory RU is generated for all segmented regions RD.
[0125] In this embodiment, in step S70, the processing circuit 13b generates a printing trajectory RU based on the robot information Dr. More specifically, in step S71, the processing circuit 13b generates a candidate trajectory RUC based on the robot information Dr, or in step S73, it corrects the candidate trajectory RUC based on the robot information Dr. Thus, a printing trajectory RU that takes into account the robot 2's motion error or range of motion can be generated based on the robot information Dr. Therefore, the robot 2 can perform its movements with high precision during printing, resulting in improved printing quality. It should be noted that the printing trajectory RU can also be generated without using the robot information Dr.
[0126] Furthermore, in step S70, the processing circuit 13b generates a printing trajectory RU for each segmented region RD based on the shape information Ds and the holding part information Dg. Thus, for each segmented region RD, an optimal printing trajectory RU that takes into account the shape of the workpiece W or the configuration of the device can be generated based on the holding part information Dg. As a result, printing quality can be improved. It should be noted that the printing trajectory RU can also be generated without using the holding part information Dg. It should also be noted that the printing trajectory RU can be generated without using one or both of the shape information Ds and the holding part information Dg.
[0127] In the trajectory generation method described above, the target region WF on the workpiece W can be segmented based on any direction represented by the segmentation information Dd. Therefore, it is possible to easily generate a printing trajectory RU that corresponds to the user's needs.
[0128] It should be noted that the printing trajectory RU described above can be generated by a server or other device connected to the stereolithography printing apparatus 1 via a network such as the Internet. In this case, the device is a component of the stereolithography printing system, equivalent to a "trajectory generation unit".
[0129] 1-7. Acquisition of Segmentation Information
[0130] Figure 7 This is a diagram showing an example of how segmentation information Dd is obtained. Figure 7 The image shown is an example of the input image GU displayed on the display device 13d in step S31.
[0131] The input image GU is a GUI (graphical user interface) image used to display segmentation information Dd input by the user. Figure 7 In the example shown, the input image GU includes a virtual workpiece WV and a column GR, which is an example of an "input receiving unit".
[0132] The virtual workpiece WV is the workpiece W in the virtual space VS. The virtual space VS is set up with a coordinate system using intersecting x-axis, y-axis, and z-axis as coordinate axes. The x-axis, y-axis, and z-axis correspond to the coordinate axes of the workpiece coordinate system, and are appropriately aligned with the world coordinate system or robot coordinate system through calibration. Specifically, the x-axis corresponds to the X-axis, with one direction along the x-axis being the x1 direction and the opposite direction being the x2 direction. The y-axis corresponds to the Y-axis, with opposite directions along the y-axis being the y1 and y2 directions. The z-axis corresponds to the Z-axis, with opposite directions along the z-axis being the z1 and z2 directions. It should be noted that the x-axis, y-axis, and z-axis are typically orthogonal to each other, but this is not a limitation; they can intersect each other at angles between 80° and 100°.
[0133] The column GR is an element used to receive input of segmentation information Dd from the user, and can receive input from the user using input device 13c. The column GR, for example, receives the specification of the number and direction of the gaze vector Vs, which will be described later. The number and shape of the segmentation regions RD, which will be described later, vary according to this number and direction.
[0134] In this way, in the segmentation information acquisition process, i.e., step S30, segmentation information Dd is acquired based on the user's input. Therefore, in step S50, a segmentation region RD corresponding to the user's needs can be generated.
[0135] 1-8. Segmentation of the target region
[0136] Figure 8 This is an explanatory diagram of multiple segmented regions RD. In step S50, as... Figure 8 As shown, the target region WF is segmented based on multiple line-of-sight vectors Vs corresponding to multiple directions represented by the direction information Dv, to generate multiple segmented regions RD. It should be noted that in... Figure 8 In the diagram, for ease of explanation, multiple segmented regions RD are represented by different shades or shaded lines.
[0137] exist Figure 8 In the example shown, the target region WF is divided into six parts based on six gaze vectors Vs to generate six segmented regions RD. Furthermore, the six gaze vectors Vs consist of gaze vectors Vs in the x1 direction, x2 direction, y1 direction, y2 direction, z1 direction, and z2 direction. It should be noted that the number of segments in the target region WF is determined by the number of directions represented by the segmentation information Dd, i.e., the number of gaze vectors Vs, and is not limited to the example shown; it is arbitrary. Additionally, the direction of each gaze vector Vs is determined by the direction represented by the segmentation information Dd, and is not limited to the example shown; it is arbitrary.
[0138] In this context, each segmented region RD is defined as being viewed from the direction of the corresponding view vector Vs as being frontal. More specifically, for example, after calculating the dot product of each view vector Vs with the normal vectors of each polygon in the target region WF, the target region WF is segmented for each view vector Vs in a manner that minimizes the dot product, thereby generating the segmented region RD corresponding to each view vector Vs.
[0139] That is, the segmentation region RD corresponding to each view vector Vs is generated by making the angle formed by each view vector Vs and the normal vector of each polygon in the target region WF approximately 180°. It should be noted that the method for obtaining this angle is not limited to using the inner product method, but can be arbitrary.
[0140] In this way, in the segmentation process, i.e., step S50, the processing circuit 13b segments the target region WF according to the direction information Dv. Thus, the segmented region RD can be generated based on the input of a specific direction represented by the direction information Dv. Therefore, it is possible to easily generate a printing trajectory RU based on a direction corresponding to the user's needs.
[0141] Furthermore, in the segmentation process, specifically step S50, the processing circuit 13b segments the target region WF according to multiple directions represented by the direction information Dv. Thus, the segmented region RD can be generated based on the multiple directions represented by the direction information Dv. Therefore, the printing trajectory RU can be generated according to the shape of the workpiece W or the required printing quality.
[0142] Furthermore, in the segmentation process, specifically step S50, the target region WF is segmented based on the specific direction represented by the direction information Dv, namely the viewing vector Vs, and the angle formed by the viewing vector Vs and the normal to the surface of the target region WF. Thus, by controlling the angle formed by the normal vector Vn of the workpiece W's surface within the segmented region RD and the viewing vector Vs within a specific range of acute angles of 160° or higher, the segmented region RD can be made nearly planar. Therefore, the angular differences within the segmented region RD can be reduced. As a result, the angular variation of the liquid ejector head 3a or the workpiece W during printing in the segmented region RD can be reduced.
[0143] Furthermore, in two adjacent segmented regions RD, when one segmented region RD is designated as the first region RD-1 and the other as the second region RD-2, the dot product of the surface normal vector Vn of the first region RD-1 and the line-of-sight vector Vs along a specific direction is less than the dot product of the surface normal vector Vn of the second region RD-2 and the line-of-sight vector Vs along that specific direction. Therefore, it is possible to appropriately set the segmented regions RD that can be printed in a specified direction.
[0144] Furthermore, none of the multiple segmented regions RD have a set region RV containing more than four segmented regions RD. Therefore, the number of segmented regions RD concentrated in the set region RV can be 3 or less. It should be noted that the set region RV is the boundary where multiple segmented regions RD meet. Figure 8 The center is located at the four corners of the segmented regions RD. As a result, it is possible to suppress the reduction in printing quality in the aggregate region RV. In contrast, when the number of segmented regions RD concentrated in the aggregate region RV is 4 or more, printing errors in each segmented region RD are easily manifested in the aggregate region RV. Especially when the liquid ejector head 3a moves in different directions to the multiple segmented regions RD concentrated in the aggregate region RV, the reduction in printing quality caused by printing errors becomes significant.
[0145] Similar to the display of the virtual workpiece WV in step S31, in step S60, the segmentation result as shown above is displayed on the display device 13d. For example, each segmented region RD is displayed in a different color on the virtual workpiece WV as a generated segmented region RD. Through steps S31 and S60 above, simulation can be performed by displaying multiple segmented regions RD based on user input. Therefore, multiple segmented regions RD corresponding to user needs can be easily generated.
[0146] 1-9. Generation of Printing Trajectory
[0147] Figure 9 and Figure 10 This is a diagram illustrating an example of multiple candidate trajectory RUCs. Figure 11 This is an explanatory diagram of multiple candidate trajectory RUCs. Figure 9 The image shows a representative example of multiple candidate trajectories RUC corresponding to a segmented region RD. Figure 10 The image shows another example of multiple candidate trajectories RUC corresponding to a segmented region RD. Figure 11 In the middle, three-dimensionally shown Figure 9 or Figure 10 Three candidate trajectory RUCs are shown among the multiple candidate trajectory RUCs. It should be noted that... Figure 11 The liquid ejector head 3a, which corresponds to the center point Pt described later, is also shown in the diagram.
[0148] In step S71, as Figure 9 or Figure 10 As shown, in the virtual space VS, after the processing circuit 13b corrects each segmented region RD to a two-dimensional plane, it generates multiple candidate trajectories RUC at certain intervals for this two-dimensional plane. The segmented region RD corrected to a two-dimensional plane corresponds to the segmented region RD seen from the direction of the corresponding line-of-sight vector Vc. That is, in step S71, in the virtual space VS, the processing circuit 13b generates multiple candidate trajectories RUC at certain intervals for the segmented region RD as seen from the direction of the line-of-sight vector Vc. It should be noted that... Figure 10 The multiple candidate trajectories RUC shown are similar to each other except for their orientation. Figure 9 The multiple candidate trajectories shown have the same RUC.
[0149] Furthermore, in step S71, the processing circuit 13b sets the center point Pt of each candidate trajectory RUC. The center point Pt is equivalent to the midpoint of the candidate trajectory RUC.
[0150] like Figure 11 As shown, the multiple candidate trajectories RUC formed as described above correspond to the shapes formed after the workpiece W is cut into circular pieces.
[0151] Figure 12 This is an illustrative diagram of the correction of multiple candidate trajectory RUCs. Figure 12 In the middle, it is shown that... Figure 11 The printed trajectory RU is obtained by correcting the three candidate trajectories RUC.
[0152] In step S73, the processing circuit 13b corrects multiple candidate trajectory RUCs by making the virtual plane including the candidate trajectory RUCs pass through the same point P0, thereby generating the printing trajectory RU. It should be noted that the correction process in step S73 can be performed or omitted as needed. For example, if the segmented region RD is relatively flat, the printing trajectory RU can be generated without correcting multiple candidate trajectory RUCs.
[0153] As described above, by executing step S73 after step S71, a printing trajectory RU with a shape corresponding to the shape formed after the workpiece W is cut into small segments can be generated. Therefore, the attitude change of the liquid ejector head 3a can be reduced, while a printing trajectory RU that keeps the nozzle surface parallel to the surface of the workpiece W can be generated. As a result, printing quality can be improved.
[0154] Figure 13 This is an explanatory diagram of multiple printing tracks RU. Figure 13 In the middle, it is shown that the use Figure 9 The diagram shows multiple candidate trajectories RUC and multiple printed trajectories RUC. It should be noted that... Figure 13 For ease of observation, multiple printing trajectories RU corresponding to one of the multiple segmented regions RD are shown in the figure. For the multiple printing trajectories RU of other segmented regions RD, only the trajectory RUa described later is represented by dashed lines.
[0155] In step S73, after correcting the candidate trajectory RUC as described above, as follows: Figure 13 As shown, by adding trajectories RUB and RUc to the trajectory RUa based on candidate trajectory RUC, a printing trajectory RU consisting of trajectories RUa, RUB, and RUc is generated. It should be noted that trajectory RUB is an auxiliary trajectory used to stabilize the moving speed and attitude of the liquid ejector head 3a. Trajectories RUc are used to stabilize the moving speed and attitude of the liquid ejector head 3a near the end of trajectory RUa, or to solidify or fix the ink ejected to the vicinity of the end of trajectory RUa.
[0156] Trajectory RUa is the trajectory equivalent to the aforementioned corrected candidate trajectory RUC, traversing the corresponding segmented region RD. Trajectory RUB is the trajectory connecting to the starting point of trajectory RUa, overlapping with the segmented region RD adjacent to the corresponding segmented region RD. Trajectory RUc is the trajectory connecting to the ending point of trajectory RUa, overlapping with the segmented region RD adjacent to the corresponding segmented region RD. The direction and length of such trajectories RUB and RUc are, for example, set by the user.
[0157] It should be noted that the trajectory RUa can be divided into multiple trajectories. For example, the processing circuit 13b divides the trajectory RUa into multiple trajectories along the trajectory RUa based on the range of motion of the robot 2 and the posture of the liquid nozzle 3a. At this time, the processing circuit 13b can set a trajectory equivalent to trajectories RUB and RUc for each of the divided trajectories.
[0158] 1-10. Other examples of printing tracks
[0159] Figures 14 to 16 These are illustrative diagrams of other examples of multiple printing traces RU. Figure 14 In the example, only one segmentation region RD from multiple segmentation regions RD is shown. Figure 10 The multiple candidate trajectories RUC shown are multiple printed trajectories RU.
[0160] In the aforementioned Figure 13 In the example shown, multiple printing tracks RU are each set to extend in a direction as orthogonal to the z-axis as possible. In contrast, in Figure 15 In the example shown, multiple print tracks RU are set to extend in a direction as parallel to the z-axis as possible. Alternatively, settings such as... Figure 13 The multiple printing tracks RU shown, or settings such as Figure 15 The multiple printing tracks RU are shown. This selection can be made, for example, through user representation, or based on one or both of the holding part information Dg and robot information Dr.
[0161] exist Figure 16 In the example shown, among multiple segmented regions RD, for one segmented region RD, namely segmented region RD-H, no printing trajectory RU is generated. Segmented region RD-H is, for example, the portion held by the workpiece holding part HJ. Segmented region RD-H is, for example, determined based on the holding part information Dg.
[0162] 1-11. Other examples of region segmentation
[0163] Figure 17 This is an illustrative diagram of other examples of multiple segmented region RDs. In Figure 17In the example shown, the six gaze vectors Vs are set to be orthogonal to the z-axis and face different directions from each other in a manner that makes the six gaze vectors Vs equally spaced. It should be noted that the number of segments in the target region WF is determined by the number of directions represented by the segmentation information Dd, i.e., the number of gaze vectors Vs, and is not limited to the example shown; it is arbitrary. Furthermore, the direction of each gaze vector Vs is determined by the direction represented by the segmentation information Dd and is not limited to the example shown; for example, it may not be equally spaced.
[0164] Each of these multiple segmented regions RD has a set region RV formed by the set of six segmented regions RD.
[0165] 1-12. Other examples of workpiece shapes
[0166] Figure 18 This is a diagram showing an example of a workpiece W with a recess. Figure 19 It is not Figure 18 The diagram illustrates the process of smoothing the shape of workpiece W to generate multiple segmented regions RD. Without... Figure 18 In the case where the shape of the workpiece W shown is smoothed to generate multiple segmented regions RD, such as... Figure 19 As shown, in the concave part of workpiece W, part RD-X of the segmented region RD is formed away from the inner side of other segmented regions RD.
[0167] That is, in the scheme where the surface of the workpiece W is not smoothed, depending on the degree of unevenness of the surface of the workpiece W, a dispersed area, namely part of RD-X, will be generated within the segmented region RD. In this case, it is difficult to properly set the amount of movement, displacement, and alignment of the liquid nozzle 3a.
[0168] In this way, in the case where the surface of the workpiece W is not smoothed, the difference in normal vectors caused by the unevenness of the surface of the workpiece W during the segmentation of the target region WF makes the segmentation region RD more complex, and therefore the segmentation region RD cannot be generated properly.
[0169] Therefore, in the stereolithography printing apparatus 1, as needed, in step S20, the processing circuit 13b performs correction, that is, smooths the shape represented by the shape information Ds.
[0170] Figure 20 yes Figure 18 The diagram shows the state of the workpiece W after its shape has been smoothed. Figure 21 Is Figure 18 The diagram illustrates the generation of multiple segmented regions RD after smoothing the shape of the workpiece W. In step S20, the shape of the virtual workpiece WV is as follows: Figure 20The result is smoothed. After such smoothing, multiple segmented regions RD are generated in step S50, thereby generating multiple segmented regions RD without producing a partial RD-X as described above.
[0171] In this way, by performing correction, that is, smoothing the shape represented by the shape information Ds, even if the surface of the workpiece W has unevenness, since the target region WF is segmented after the surface of the workpiece W is smoothed, the difference of the normal vector Vn in the target region WF during segmentation can be suppressed. As a result, the segmentation region RD can be suppressed from becoming more complex.
[0172] There are no particular limitations on the specific smoothing methods, and examples include: convex hull-based methods, alpha shape-based methods, and alpha wrapping methods. Among these, convex hull-based methods are preferred.
[0173] Figure 22 This is an illustration of multiple segmented regions RD when workpiece W has two separate parts PA1 and PA2. Figure 23 Observing from other directions Figure 22 The diagram shows multiple segmented regions RD. Figure 22 In the example shown, the workpiece W is formed into a long strip shape that is bent into a U shape, and there are separate parts PA1 and PA2 at both ends of the workpiece W.
[0174] In such a situation, such as Figure 22 and Figure 23 As shown, at least one of the multiple segmented regions RD can be composed of multiple regions that are separate from each other.
[0175] 2. Variations
[0176] The various methods illustrated above can be modified in many ways. Below, examples illustrate specific modifications applicable to the aforementioned methods. It should be noted that two or more solutions chosen from the following examples can be appropriately combined without contradicting each other.
[0177] 2-1. Variation Example 1
[0178] The foregoing example illustrates a configuration using a six-axis vertical multi-axis robot as the motion mechanism, but it is not limited to this configuration. The motion mechanism can be used as long as it allows the relative position and orientation of the liquid nozzle to change three-dimensionally relative to the workpiece. Therefore, the motion mechanism can be, for example, a vertical multi-axis robot other than six axes, or a horizontal multi-axis robot. Furthermore, the robot arm can have a telescopic mechanism in addition to joints formed by rotary mechanisms. Additionally, the motion mechanism can also be a robot with parallel linkage mechanisms. However, from the viewpoint of balancing print quality in printing operations and the degrees of freedom of motion of the motion mechanism in non-printing operations, a multi-axis robot with six or more axes is preferred. Furthermore, a dual-wrist robot can also be used, in which case one wrist can be used as the first robot and the other wrist as the second robot.
[0179] In addition, the moving mechanism can be a linear motion mechanism that changes the position of the liquid nozzle 3a along the X-axis and Z-axis without changing the attitude of the liquid nozzle 3a.
[0180] 2-2. Variation Example 2
[0181] In the aforementioned methods, an example of fixing the robot head using a configuration such as screw fastening is employed, but this is not a limitation. For instance, the head can be gripped and fixed relative to the robot head using a gripping mechanism such as a hand mounted as an end effector of the robot.
[0182] 2-3. Variation Example 3
[0183] In the aforementioned method, an example computer 13 generates the printing trace, but it is not limited to this method. For example, the printing trace can be generated by a computer such as a server connected to computer 13 via a network such as the Internet.
[0184] 2-4. Variation Example 4
[0185] In the foregoing method, the example uses a configuration for printing with one ink, but is not limited to this configuration. This disclosure can also be applied in configurations that use two or more inks for printing.
[0186] 2-5. Variation Example 5
[0187] The application of the stereolithography printing apparatus disclosed herein is not limited to printing. For example, the stereolithography printing apparatus that sprays out a solution of pigment can be used as a manufacturing apparatus for forming color filters for liquid crystal display devices. Furthermore, the stereolithography printing apparatus that sprays out a solution of conductive material can be used as a manufacturing apparatus for forming wiring and electrodes on a wiring substrate. Additionally, the stereolithography printing apparatus can also be used as a jet dispenser for applying liquids such as adhesives to workpieces.
Claims
1. A trajectory generation method, characterized in that, The liquid ejector head of a three-dimensional printing apparatus is scanned. The three-dimensional printing apparatus includes: the liquid ejector head for ejecting liquid onto a three-dimensional workpiece and a moving mechanism for holding the liquid ejector head and changing the relative position of the liquid ejector head with respect to the workpiece. The trajectory generation method includes: The shape acquisition process acquires shape information related to the shape of the workpiece. The segmentation information acquisition process acquires segmentation information representing at least one direction; The segmentation process involves segmenting the target area on the workpiece according to the segmentation information to generate multiple segmented areas; and The trajectory generation process generates a printing trajectory for the liquid ejector head for each segmented region.
2. The trajectory generation method according to claim 1, characterized in that, The segmentation information includes directional information related to a specific direction toward the target region. In the segmentation process, the target region is segmented according to the direction information.
3. The trajectory generation method according to claim 2, characterized in that, The direction information includes information related to multiple directions toward the target area. In the segmentation process, the target region is segmented according to the multiple directions.
4. The trajectory generation method according to claim 2, characterized in that, In the segmentation process, the target region is segmented according to the specific direction and the angle formed by the specific direction and the normal to the surface of the target region.
5. The trajectory generation method according to claim 3, characterized in that, The plurality of segmented regions include a first region and a second region adjacent to the first region as segmented regions. The dot product of the surface normal vector of the first region and the vector along the specific direction is less than the dot product of the surface normal vector of the second region and the vector along the specific direction.
6. The trajectory generation method according to any one of claims 1 to 5, characterized in that, In the segmentation information acquisition process, the segmentation information is acquired based on input from the user.
7. The trajectory generation method according to claim 6, characterized in that, The segmentation information acquisition process includes steps for displaying a virtual workpiece and an input receiving unit for receiving input of the segmentation information from a user. Following the segmentation process, a process for displaying the plurality of segmented regions is also included.
8. The trajectory generation method according to any one of claims 1 to 5, characterized in that, Before the segmentation process, a shape correction process is also included to smooth the shape represented by the shape information.
9. The trajectory generation method according to any one of claims 1 to 5, characterized in that, The trajectory generation process includes the following steps: For each of the plurality of segmented regions, After correcting the segmented region to a two-dimensional plane, multiple candidate trajectories with a certain interval are generated for the two-dimensional plane; as well as For each of the plurality of candidate trajectories, the plurality of candidate trajectories are corrected by passing through the same point on a virtual plane including the candidate trajectories, in order to form the printing trajectory.
10. The trajectory generation method according to any one of claims 1 to 5, characterized in that, The trajectory generation method further includes the step of acquiring holding part information related to the workpiece holding part that holds the workpiece. In the segmentation process, the target region is segmented according to the information of the holding part.
11. The trajectory generation method according to claim 10, characterized in that, The moving mechanism is a robot that changes the position and orientation of the liquid nozzle. The trajectory generation method includes the step of acquiring robot information related to the robot. In the trajectory generation process, the printing trajectory is generated based on the robot information.
12. The trajectory generation method according to any one of claims 1 to 5, characterized in that, The trajectory generation method further includes the step of acquiring holding part information related to the workpiece holding part that holds the workpiece. In the trajectory generation process, the printing trajectory is generated for each segmented region of the plurality of segmented regions based on the shape information and the holding part information.
13. The trajectory generation method according to any one of claims 1 to 5, characterized in that, None of the multiple segmented regions have a set of more than four segmented regions.
14. A three-dimensional printing system, characterized in that, have: The liquid nozzle sprays liquid onto the three-dimensional workpiece; The moving mechanism holds the liquid nozzle in place and changes the relative position of the liquid nozzle with respect to the workpiece. as well as The trajectory generation unit generates a printing trajectory that the liquid ejector head scans. The trajectory generation unit acquires shape information related to the shape of the workpiece. The trajectory generation unit acquires segmentation information representing at least one direction. The trajectory generation unit segments the target region on the workpiece according to the segmentation information to generate multiple segmented regions. The trajectory generation unit generates a printing trajectory for the liquid ejector head for each segmented region.
15. A three-dimensional printing apparatus, characterized in that, have: The liquid nozzle sprays liquid onto the three-dimensional workpiece; The moving mechanism holds the liquid nozzle in place and changes the relative position of the liquid nozzle with respect to the workpiece. as well as The trajectory generation unit generates a printing trajectory that the liquid ejector head scans. The trajectory generation unit acquires shape information related to the shape of the workpiece. The trajectory generation unit acquires segmentation information representing at least one direction. The trajectory generation unit segments the target region on the workpiece according to the segmentation information to generate multiple segmented regions. The trajectory generation unit generates a printing trajectory for the liquid ejector head for each segmented region.
Citation Information
Patent Citations
Method for printing on curved surface
JP2010284965A