This application claims the priority, under 35 U.S.C. §119, of German Patent Application DE 10 2013 014 444.2, filed Aug. 30, 2013; the prior application is herewith incorporated by reference in its entirety.
The present invention relates to a method for producing a relative movement between a jet unit and a region of a curved surface of a three-dimensional object, in which a control unit controls a manipulator for moving the jet unit on a path at a working distance from the surface or for moving the object on a path at a working distance from the jet unit. The invention also relates to an apparatus for producing a relative movement between a jet unit and a region of a curved surface of a three-dimensional object, including a manipulator for moving the jet unit on a path at a working distance from the surface or for moving the object on a path at a working distance from the jet unit, and a control unit for controlling the movement.
The invention resides in the technical field of treating and, in particular, of printing surfaces of three-dimensional objects.
The known prior art in this technical field includes the following:
German Patent Application DE 10 2012 006 371 A1 (assigned to Heidelberger Druckmaschinen AG) has already disclosed printing motor vehicle body parts, i.e. objects having curves, bends, projections, depressions, etc. on the surface thereof. To that end, an inkjet print head is guided along the surface at a printing distance by using a robot arm. Known steps in the treatment are: preparation of the (printing) data, preparation of the object for measurement, measurement of the object, reworking of the data, preparation of the object for the printing, printing and subsequent drying. In practice, it has transpired that the measurement of the object and the reworking of the printing data are complex and complicated steps, in which a multiplicity of various items of data and data formats has to be processed. In order to permit rapid and precise printing, in particular in the case of changing objects or points on the object surface, there appears to be a need to improve the practical processing of those steps.
It is further also already known to move and orient a milling head under robot guidance in the xyz space in automatic CNC milling machines on the basis of complicated CAD data (so-called “NURBS”: Non-Uniform Rational B Splines) in such a way that a desired shape is milled out of a material. However, in that case the milling head is not guided at a distance from the material but is brought into contact with the material, since otherwise no removal of material would be possible. In other words: not only the xy position but also the z position (as an example of the direction perpendicular to the material surface) has to be maintained very exactly in order to avoid defective material machining. However, during the printing of object surfaces, correspondingly exact maintenance of the distance (print head to surface) is not necessary and the measures known in that regard from the area of CNC milling therefore appear to be too complicated.
Industrial robots which are also already known, for example, can be “taught,” i.e. the path of the so-called TCP (“tool center point”) is firstly produced by moving to spatial points of the path by the operator and then by using automatic connection of the spatial points by the robot control system. However, the teaching is a very slow operation and is therefore not suitable or suitable only to a limited extent during the printing of changing objects or points on the object surface.
The use of the technical solutions to the above-stated problems described in the cited prior art can therefore be associated with the following disadvantages: an excessively complicated and excessively long-lasting calculation of the positions to be moved to for a jet unit treating the surface and, associated therewith, an excessively large or unsuitable set of data for the activation of a manipulator.
It is accordingly an object of the invention to provide a method and an apparatus for producing a relative movement between a jet unit and a curved surface, which overcome the hereinafore-mentioned disadvantages of the heretofore-known methods and apparatuses of this general type, which permit a relative movement between a jet unit and a region of a curved surface of a three-dimensional object with the required precision (for the jet treatment of the surface), and with an outlay that is sufficient for this precision (for the production of the relative movement). At the same time, the intention is to produce the most uniform possible movement (having little acceleration and being jolt-free) without vibrations that impair the treatment quality, e.g. the printing quality. At the same time, a high productivity is to be achieved.
With the foregoing and other objects in view there is provided, in accordance with the invention, a method for producing a relative movement between a jet unit and a region of a curved surface of a three-dimensional object, which comprises providing a control unit controlling a manipulator for moving the jet unit on a path at a working distance from the surface, or for moving the object on a path at a working distance from the jet unit, approximating a set of first reference points, which are located substantially in the curved surface, by using a first polynomial, a first polynomial curve or a circle or an ellipse, generating a set of second reference points from the first polynomial or from the first polynomial curve, the second reference points being at a working distance from the surface, and transferring the second reference points to the control unit of the manipulator.
The method according to the invention advantageously permits a precise, uniform and in particular jolt-free and vibration-free relative movement between a jet unit and a region of a curved surface of a three-dimensional object, wherein the technical outlay for the production of the relative movement is kept low and high productivity is achieved.
Although the method according to the invention permits a curved object surface to be traversed at a distance, it is advantageously not necessary to describe the surface exactly by using NURBS. Instead, according to the invention an approximated (less complicated in terms of computation and memory) description of the surface (more precisely: only of the relevant paths to be traversed along the surface) is carried out on the basis of polynomials, polynomial curves, circles or ellipses.
In this way, specific deviations of the path from the object surface can also be provided specifically, for example, in the case of small elevations or small depressions in the surface.
Advantageous and therefore preferred developments of the invention can be distinguished by the fact that:
With the objects of the invention in view, there is also provided an apparatus for producing a relative movement between a jet unit and a region of a curved surface of a three-dimensional object, the apparatus comprising a manipulator for moving the jet unit on a path at a working distance from the surface or for moving the object on a path at a working distance from the jet unit, a control unit for controlling the movement, a computer in which a computer program is processed which carries out the method steps according to the invention, and a data interface through which at least the second reference points are transferred to the control unit of the manipulator.
The advantages cited above with reference to the method according to the invention are also achieved by using the apparatus according to the invention.
Preferred developments of the invention can be distinguished by the fact that:
Other features which are considered as characteristic for the invention are set forth in the appended claims.
Although the invention is illustrated and described herein as embodied in a method and an apparatus for producing a relative movement between a jet unit and a curved surface, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made therein without departing from the spirit of the invention and within the scope and range of equivalents of the claims.
The construction and method of operation of the invention, however, together with additional objects and advantages thereof will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings. Therefore, the invention as such and structurally and/or functionally advantageous developments of the invention will be described in more detail below by using at least one preferred exemplary embodiment and with reference to the appended drawings.
Referring now in detail to the figures of the drawings, in which mutually corresponding elements are respectively provided with the same designations, and first, particularly, to
The apparatus 4 includes a manipulator 7, which is illustrated by way of example as an articulated-arm robot. The manipulator preferably offers six degrees of freedom for the movement of the jet unit 5 (the three spatial directions xyz for positioning and three angles of rotation for the alignment of the jet unit).
The apparatus 4 includes a control unit or controller 8, which is connected to non-illustrated drives of the manipulator 7 through a control interface 13. The control unit can be part of the manipulator and, for example, already be integrated in the latter by the manufacturer. Furthermore, the apparatus 4 includes a computer 9, which is connected to the control unit through a data interface 12. The data interface can also be implemented without any direct connection to a storage medium, for example a USB stick. A computing program 10 (the operation of which will be explained later with reference to
The manipulator 7 moves the jet unit 5 on the basis of the control program 11 with the TCP of the manipulator moving along a path 14 (compare the second polynomial curve 51 in
An auxiliary surface 20 is located under the surface 2 or the region 3 of the object 1. The auxiliary surface is merely a mathematical construct which is useful for the calculations of the computing program 10 (compare
Within the auxiliary surface 20 and preferably substantially parallel to the main direction movement 15 of the jet unit 5 (compare
The computing program 10 selects first auxiliary points 22 along the first auxiliary path 21, at a mutual and preferably constant first distance 24 (measured along the first auxiliary path). The computing program calculates first auxiliary normals 23 at the first auxiliary points. These are perpendicular to the first auxiliary path and preferably perpendicular to the auxiliary surface 20.
The region 3 of the curved surface 2 of the object 1 is approximated by the computing program 10 by using a multiplicity of facets 31. These facets, preferably triangular surfaces or the three respective corner points thereof (alternatively: four-cornered surfaces or other flat surface elements) can be transferred to the computing program by a non-illustrated apparatus for the three-dimensional measurement (scanning) of the surface, e.g. in the form of so-called STL data (the STL data can be obtained in this case from a so-called “point cloud” as a result of the scanning operation). Alternatively, the CAD data describing the surface or data derived therefrom (NURBS in the so-called STEP format) can also be transmitted to the computing program. In
Since, in practice, the surface 2 can be described with several hundred thousand or millions of facets 31, in the preferred exemplary embodiment data conditioning is carried out first, in order to be able to plan the path 14 in a few seconds, despite this huge quantity of data. The facets are each defined uniquely by the coordinates (x, y, z) of three points in space. The order of the points is able to define the orientation of the surface. During the data conditioning, the minimum and maximum coordinate values xMin, xMax, yMin, yMax, zMin, zMax are then determined for each triangle, describing the smallest possible cube having edges parallel to the coordinate axes which encloses the triangle completely. In the case of surfaces in which the third coordinate can be represented uniquely as a function of the other two coordinates, the determination of the minimum and maximum coordinate values of these two coordinates is sufficient.
The computing program 10 determines a point of intersection 32 of the first auxiliary normal 23 with a facet 31 and selects this point of intersection as a first reference point 30. In other words: the first auxiliary normal pierces the surface 2 at a point of a surface facet which is used as a reference point for the further computing steps. In this way it is determined which facets respectively lie “above” the first auxiliary point 22. It is also possible for multiple points of intersection to be located in a facet.
The first reference points 30 or a set of such reference points are approximated by the computing program 10 by using a first polynomial 33 or a polynomial curve 33 (also called a “spline”), if appropriate a vector polynomial or vector polynomial curve. Through the use of this step, which is important to the invention, it is advantageously possible to generate a path (compare the path 14) that is suitable for the treatment of the surface 2 at a working distance, in particular for the printing, wherein this path or the corresponding path is not itself based on the STL data but on a polynomial or a polynomial curve. This approximation can preferably be carried out in accordance with the least square error method. As a result of the approximation, a polynomial or a polynomial curve of the lowest possible order which approximates the course of the first reference points 30 is sufficiently well determined. Trials with motor vehicle doors (and thus given the usual curvatures thereof) have shown that a course that is more than 70 cm long, having more than 70 first reference points, can be approximated sufficiently well by a polynomial of the 3rd order.
In general terms, the first auxiliary path 21 can be represented as a function of a single variable p, so that even curve-shaped auxiliary paths are possible. The coordinate values x(p) and y(p) are then functions of p. The functional values zi=f(x(pi), y(pi))=f(pi) can then be calculated at preferably but not necessarily equidistant variable values p1, . . . , pn or first auxiliary points 22. In order to determine the functional value zi=f(x(pi), y(pi)), first of all the facets 31 which intersect the first auxiliary normal 23 can be determined. On the basis of the enveloping cube defined by the variables xMin, xMax, yMin, yMax, zMin, zMax, the number of facets eligible for a point of intersection can be reduced to a few in that, for example, only those for which it is true that xMin≦x(pi)≦xMax and yMin≦y(pi)≦yMax are considered further for a point of intersection check. The eligible facets can then be checked to see whether they intersect the auxiliary normals. For this purpose, for example, the variables c1, c2 and c3 can be calculated for each eligible triangle in accordance with the equation
where the points p1(x1, y1, z1), p2(x2, y2, z2) and p3(x3, y3, z3) are the corner points of the facet. The straight line intersects a facet if it is true that 0≦c1≦1 and 0≦c2≦1 and 0≦c3≦1. The functional value corresponding to the z value of the point of intersection is then given by zi=f(x(pi), y(pi))=c1*z1+c2*z2+c3*z3. As a result of the two-stage check, the determination of the functional values zi is very quick, so that the planning of the path 14 can be executed in a few seconds even in the case of 3-D models of the surface 2 that are composed of very many facets. The resultant value pairs (pi, zi) can then be approximated by the first polynomial 33 or the first polynomial curve 33 of selectable order by using the least square error method. The result is a one-dimensional height profile z(p) as a function of p and, with x(p) and y(p), the surface path (x(p), y(p), z(p)) in three-dimensional space. Alternatively, an approximation by using multiple polynomials or polynomial curves is also possible. It is expedient to select the order of the polynomials or polynomial curves to be as small as possible but as large as necessary, in order to ensure that the maximum deviation between a path which corresponds to the first polynomial or first polynomial curve (see below: second auxiliary path 40), and the surface 2 described by data in the region of the printing path does not become too large. Since discontinuities in general considerably reduce the possible path speed in order to avoid large accelerations and jolts, it is more advantageous to approximate each printing path with a single polynomial or polynomial curve. In addition, the deviations can be reduced by increasing the order of a polynomial or polynomial curve.
The first polynomial 30 or the first polynomial curve 30 describes a second auxiliary path 40. Second auxiliary points 41 are selected along the second auxiliary path by the computing program 10 at a mutual and preferably constant distance 43 (measured along the second auxiliary path). The computing program generates second auxiliary normals 42, which are perpendicular to the second auxiliary path at the second auxiliary points and preferably lie in a plane perpendicular to the auxiliary surface 20.
The computing program 10 selects a working distance 61 and generates second reference points 50 on the second auxiliary normals at the working distance from the surface, i.e. from the first polynomial 30 or from the first polynomial curve 30 which approximates the surface. The working distance in this case corresponds substantially to the distance of the TCP of the jet unit 5 from the surface 2. In the case of an extended inkjet printer head used as the jet unit and in the case of printing a surface which is curved laterally with respect to the main direction of movement, individual nozzles of the head are at different distances from the surface. The working distance in this case can be predefined, for example, as a permissible distance of an outer nozzle or a central nozzle of the row of nozzles. The second reference points are transferred by the computer 9 to the control unit 8 (compare
After the transfer has been carried out, the control unit 8 approximates the set of second reference points 50 by using a second polynomial 51 or a second polynomial curve 51, wherein the polynomial or the polynomial curve corresponds to the path 14 illustrated in
The TCP of the jet unit 5 is then moved by using the manipulator 7 from one point 52 to be traveled to, to the next. In the process, the jet unit 5 is activated and the surface 2 in the region 3 (more precisely: on a line-like or strip-like track following the path 14), is acted on, and preferably printed. During the printing, it is thus also necessary that the printer head 5 be supplied synchronously with respect to the relative movement toward the object 1 with the required printing data for producing the printed image at the desired position on the surface 2. To this end, a non-illustrated printer head control system can be provided.
While the manipulator 7 moves the jet unit 5 along the path 14, the jet unit is driven synchronously with respect to the movement or the respective position of the manipulator, so that the jets, in particular ink droplet jets, land at the envisaged points of the surface 2. In order to reduce the complexity of the application, the control system 8 of the manipulator and the printer head control system in the preferred exemplary embodiment do not fall back on the original 3-D surface data. Instead, the invention preferably provides for the control unit 8 to also store the parameters of the second polynomials 51 or second polynomial curves 51, to transmit the same to the printer head control system, and for the printer head control system to calculate the information required for the synchronization of the driving of the nozzles of the printer head relative to the surface 2 from the polynomials or polynomial curves.
In order to be able to move the printer head 5 at constant speed over the path 14 or the appropriate printing track during the printing, an acceleration region before the printing track and a retardation region after the printing track are required, the length of which depend, amongst other things, on the selected movement parameters including maximum jolt, maximum acceleration and maximum speed. In order to avoid disruptive excitation of vibrations or a reduction in speed because of non-steady points, it is expedient that—just as in the region of the printing track—reference points on the path described by a polynomial or polynomial curve are also selected in the acceleration and braking regions.
Number | Date | Country | Kind |
---|---|---|---|
10 2013 014 444.2 | Aug 2013 | DE | national |