COLLISION TESTING ON THE BASIS OF HIGH-QUALITY GEOMETRY
20220187796 · 2022-06-16
Assignee
Inventors
Cpc classification
G05B2219/49145
PHYSICS
G05B19/4155
PHYSICS
B25J9/1666
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
Elements of a machine are moved relative to one another along several axes. A monitoring device receives groups of position values of the axes which specify the relative position of the elements to one another. The surfaces and/or volumes of the elements taking up working space are determined therefrom. The monitoring device checks whether a collision risk between the elements exists. The monitoring device models at least parts of the surfaces of the elements with two-dimensional splines defined by nodes and checkpoints. The monitoring device further determines from the checkpoints of the splines for sections envelopes which envelop respective element in the respective section, and uses the respective envelope as a surface that is taken up by the respective element in the respective section. Boundary lines of faces of the envelopes are straight connecting lines of the checkpoints.
Claims
1.-9. (canceled)
10. A method for monitoring an operation of a machine having a plurality of axes configured to move elements of the machine relative to one another in a position-controlled fashion, the method comprising: receiving at a monitoring facility a plurality of groups of position values of the axes, wherein the groups of position values specify a position of the elements relative to one another, based on modelling of the elements and modelling of a kinematics of the elements for the groups of the position values, determining with the monitoring facility a surface and/or a volume taken up in a working space of the machine by a respective element, modelling with the monitoring facility at least part of the surface of at least one of the elements with two-dimensional splines defined by nodes and checkpoints, determining with the monitoring facility, based on the checkpoints of a respective spline for a respective section, a respective envelope which envelops at least one element in the respective section, wherein straight connecting lines connecting the checkpoints of the respective spline are boundary lines of surfaces of the respective envelope, using the respective envelope as the surface that is taken up by the at least one element in the respective section, and checking with the monitoring facility based on the determined surfaces and/or volumes whether there is a risk for a collision between the elements.
11. The method of claim 10, wherein the two-dimensional splines are additionally defined by weights.
12. The method of claim 10, wherein the surfaces of the respective element are related to a coordinate system of the respective element, further comprising: transforming, based on the position values, a location of an origin and an orientation of the coordinate system of the respective element in the working space of the machine.
13. The method of claim 11, further comprising: initially defining as nodes, checkpoints and weights for the respective spline only basic nodes and associated checkpoints and weights, iteratively performing with the monitoring facility, until either no risk for a collision between the elements has been detected or a stop criterion is met, the following steps: a) checking with the monitoring facility, based on a respective envelope determined by the currently defined checkpoints, whether there is a risk for a collision; b) accepting with the monitoring facility as final a result of the checking that there is no risk for a collision; c) checking with the monitoring facility whether the stop criterion is met when there is a risk for a collision between the elements; d) accepting with the monitoring facility as final a result of the checking that there is a risk for a collision and that the stop criterion is met; e) defining with the monitoring facility, when there is a risk for a collision and the stop criterion is not met, additional nodes for the respective spline in addition to the currently defined nodes and determining anew the checkpoints and weights, so that the additional nodes and the anew determined checkpoints and weights describe the respective spline as before, wherein a newly determined respective envelope has a shorter maximum distance from the respective spline than the respective envelope determined before the definition of the additional nodes and the newly determined checkpoints.
14. The method of claim 13, wherein the respective additional nodes are defined in such a way that at least some of the newly determined checkpoints are located on the spline between a beginning and an end of the spline.
15. The method of claim 10, further comprising: selecting groups of adjacent checkpoints for the sections, determining for the selected groups in each case a respective envelope, and checking the respective envelope whether a collision occurs.
16. A computer program product for a monitoring facility monitoring an operation of a machine having a plurality of axes configured to move elements of the machine relative to one another in a position-controlled fashion, the computer program product embodied in a non-transitory computer-readable medium and comprising machine code which, when loaded into a memory of a processor of the monitoring facility and executed by the processor, causes the monitoring facility to: receive a plurality of groups of position values of the axes, wherein the groups of position values specify a position of the elements relative to one another, based on modelling of the elements and modelling of a kinematics of the elements for the groups of the position values, determine a surface and/or a volume taken up in a working space of the machine by a respective element, model at least part of the surface of at least one of the elements with two-dimensional splines defined by nodes and checkpoints, determine, based on the checkpoints of a respective spline for a respective section, a respective envelope which envelops at least one element in the respective section, wherein straight connecting lines connecting the checkpoints of the respective spline are boundary lines of surfaces of the respective envelope, use the respective envelope as the surface that is taken up by the at least one element in the respective section, and check based on the determined surfaces and/or volumes whether there is a risk for a collision between the elements.
17. A monitoring facility monitoring an operation of a machine having a plurality of axes configured to move elements of the machine relative to one another in a position-controlled fashion, wherein the monitoring facility is programmed using a computer program product of claim 16.
18. The monitoring facility of claim 17, further comprising a control facility receiving from the monitoring facility control commands, the control facility configured to control an operation of the plurality of axes of the machine, and move the elements of the machine in a position-controlled fashion.
19. A machine, comprising: a plurality of axes configured to move elements of the machine relative to one another in a position-controlled fashion, a monitoring facility configured to receive a plurality of groups of position values of the axes, wherein the groups of position values specify a position of the elements relative to one another, based on modelling of the elements and modelling of a kinematics of the elements for the groups of the position values, determine a surface and/or a volume taken up in a working space of the machine by a respective element, model at least part of the surface of at least one of the elements with two-dimensional splines defined by nodes and checkpoints, determine, based on the checkpoints of a respective spline for a respective section, a respective envelope which envelops at least one element in the respective section, wherein straight connecting lines connecting the checkpoints of the respective spline are boundary lines of surfaces of the respective envelope, use the respective envelope as the surface that is taken up by the at least one element in the respective section, and check with the monitoring facility based on the determined surfaces and/or volumes whether there is a risk for a collision between the elements, and a control facility connected to the monitoring facility and controlling the machine based on commands received from the monitoring facility.
Description
[0058] The properties, features and advantages of this invention described above and the manner in which these are achieved, will become clearer and more readily understandable in connection with the following description of the exemplary embodiments which are explained in more detail in conjunction with the drawings, in which, shown in a schematic representation:
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070] According to
[0073] The elements 2 to 4 of the machine are purely by way of example. As a rule, the machine has further elements which are not shown in the FIG and which will not be discussed in greater detail below. However, the following embodiments may also be valid for these elements.
[0074] Setpoints that are output simultaneously to the axes 1 are referred to hereinafter as a group of setpoints. The corresponding group is assigned the reference character p*. The reference character p* thus represents a vector which contains its respective position setpoint for each axis.
[0075] A number of groups p* of setpoints are fed to the axes 1. If the number is equal to 1, the (single) group p* of setpoints defines the current position of the elements 2 to 4 relative to one another. If the number is greater than 1, the number defines a chronological sequence which defines the temporal course of the movement of the elements 2 to 4 relative to one another and thus the paths on which the elements 2 to 4 move relative to one another.
[0076] The machine is controlled by a control facility 5. The control facility 5 is generally designed as a numerical control (CNC) or similar control for this purpose. As a rule, the control facility 5 also comprises the position controllers of the axes 1. The control facility 5 is usually given a utility program 6 (for example, a parts program). In this case, the utility program 6 defines the mode of operation of the machine to be carried out and thereby defines in particular the sequence of the groups V of setpoints. However, the groups p* of setpoints can also be generated in other ways. For example, the machine can operate in a manual mode in which an operator of the control facility 5 directly specifies travel commands which are converted by the control facility 5 into corresponding setpoints for the position-controlled axes 1. It is also possible that the setpoints generated on the basis of the utility program 6 are still subjected to corrections by the control facility 5.
[0077] Furthermore, a monitoring facility 7 is present. In the present case, the monitoring facility 7 is assigned to the control facility 5, This is indicated in
[0078] The monitoring facility 7 is programmed with a computer program 8. The computer program 8 comprises machine code 9 which can be processed by the monitoring facility 7. The processing of the machine code 9 by the monitoring facility 7 causes the monitoring facility 7 to carry out a monitoring method which is explained in more detail hereinafter.
[0079] According to
[0080] In a step S3, the monitoring facility 7 receives a description D′ of the kinematics of the machine. In a step S4, the monitoring facility 7 receives a number of groups p* of setpoints of the axes 1. The respective group p* of setpoints defines the corresponding control of the axes 1 and thus the positions and/or orientations of the elements 2 to 4 of the machine relative to one another.
[0081] In a step S5, the monitoring facility 7 determines, for the groups p* of setpoints, which element 2 to 4 of the machine in each case occupies which surface and/or which volume in a working space of the machine. The monitoring facility 7 utilizes the modelling of the elements 2 to 4 of the machine determined in step S2, the modelling of the kinematics of the elements of the machine given on the basis of step S3 and the respective group p* of setpoints.
[0082] In a step S6, the monitoring facility 7 checks whether there is a risk of elements 2 to 4 of the machine colliding with one another. The monitoring facility 7 thus checks in step S6 whether there is a risk of one of the elements 2 to 4 colliding with another of the elements 2 to 4. Step S6 is checked using the surfaces and/or volumes determined in step S5. Depending on whether or not the risk of a collision is detected in step S6, the monitoring facility 7 moves to a step S7 or to a step S8.
[0083] As a rule, in the context of step S6, a collision is always detected if two of the elements 2 to 4 of the machine come too close or even intersect in the working space of the machine. However, one exception may be for a tool (for example, the element 3) of the machine and a workpiece (for example, the element 4 of the machine). In this case, overlaps can be accepted to a certain extent. The type of overlaps which these may be is known to the monitoring facility 7.
[0084] Allowing the tool and workpiece to overlap in the context of collision detection is known as such to those skilled in the art. It does not therefore need to be explained in detail. It should merely be pointed out that collision detection as such, that is to say step S6, does not differ from the procedure of the prior art, What is decisive is the difference in the manner in which the surfaces and volumes of individual elements 2 to 4 of the machine are determined. This is the subject matter of the present invention, but not the distinction between “desired collision”=processing and “undesired collision”.
[0085] The monitoring facility 7 executes step S7 if it has detected an imminent collision of elements 2 to 4 of the machine with one another. It is possible that the monitoring facility 7 in step S7 does not enable the execution of the number of groups p* of setpoints for execution. This procedure is possible, in particular, when the setpoints are related to future periods of time. Alternatively, it is possible for the monitoring facility 7 to transmit a command for stopping the machine to the control facility 5. This procedure is particularly useful if the setpoints are setpoints that have already been executed. In both cases, the monitoring facility 7 can transmit a corresponding command B to the control facility 5.
[0086] The monitoring facility 7 executes step S8 if it has not detected an imminent collision of the elements 2 to 4 of the machine with one another. In step S8, the monitoring facility 7 can release the number of groups p* of setpoints for execution—for example, by transmitting a corresponding command B′ to the control facility 5. This procedure is possible, in particular, when the setpoints relate to future periods of time. If necessary, it can also release groups p* of setpoints for execution subsequent to the number of groups p* of setpoints. This procedure is particularly useful if the setpoints are setpoints that have already been executed.
[0087] Within the framework of the procedure of
[0088]
[0089] First, the monitoring facility 7 must execute the procedure of
[0090] Furthermore, it is possible that the test of step S18 has to be modified compared to the test of step S6. This is because, while in step S6 of
[0091] Furthermore, in step S17® if the monitoring facility 7 has detected an imminent collision of elements 2 to 4 of the machine with one another—the monitoring facility 7 must transmit a command B for stopping the machine to the control facility 5, so that the control facility 5 can stop the machine.
[0092] Finally, the command B transmitted in step S18, signals that the monitoring facility 7 enables the execution of position setpoints which are related to future periods of time.
[0093] The approach of the sequence of steps in
[0094] First, the step S1 and the manner in which the descriptions ID of the individual elements 2 to 4 are defined for the monitoring facility 7 is designed in a manner according to the invention. This is explained in more detail hereinafter for the element 2. Analogous embodiments can apply to the other elements 3, 4 of the machine.
[0095] In particular, the surface of the element 2 or at least a part of this surface is modelled by a number of sections of a surface. The individual sections are parameterized by respective parameters. For example, the locations indicated by black dots in
[0096] In the case of a two-dimensional spline, the parameters with which the respective section is parameterized can, as shown in
[0097] The description of the spline by the nodes 12, checkpoints 11 and if necessary, weights is clear in the sense that the nodes 12, checkpoints 11 and if necessary, weights clearly define the spline. Conversely, however, different specifications for nodes 12, checkpoints 11 and if necessary, weights are possible, all of which result in the same spline. This is also generally known to those skilled in the art. In particular, further nodes 12 and checkpoints 11 and if necessary, weights can be specified beyond a minimum required number of nodes 12 and the associated checkpoints 11 and if necessary, weights without changing the spline as such. This only requires a suitable choice of nodes 12, checkpoints 11 and if necessary, weights.
[0098] On the basis of the corresponding specification of the parameters of the sections, the monitoring facility 7 in step S2 can in particular first determine the surface of the element 2 (and—assuming corresponding modelling—also of the other elements 3, 4) of the machine. If necessary, the monitoring facility 7 can also determine the volume occupied by the respective element 2 to 4 of the machine on the basis of the modelling of the surface of the respective element 2 to 4. The determination of the surface is readily possible with given splines. The determination of the volume occupied is also readily possible for a given surface. These two processes therefore need not be explained in detail.
[0099] The surface of the element 2—as aforementioned, this can also apply analogously to the other elements 3, 4 of the machine—is related to a coordinate system of the element 2 as shown in
[0100] To check for a collision in step S6, the procedure in
[0101] First, in a step S21, the monitoring facility 7 determines an envelope 10 for the corresponding section—see
[0102] The procedure of
[0103] According to
[0104] Step S21 of
[0105] In step S33, the monitoring facility 7 redetermines the checkpoints 11. Step S33 is determined in such a way that the now defined nodes 12 and checkpoints 11 describe the same spline as before. The spline itself is therefore not changed. The newly determined checkpoints 11 are represented by small crosses in
[0106] Due to the specific selection and determination of the additional nodes 12 and checkpoints 11, it is ensured that, in the renewed execution of step 321, the envelope 10 can be divided into a plurality of—at least two—new envelopes 10′, 10″, wherein the two news envelopes 10′, 10″ are at a smaller maximum distance from the respective spline than the previous envelope 10. The new envelopes 10′, 10″ are shown in dash-dotted lines in
[0107] It is possible that the sequence of steps S21, 322, 331, S32 and S33 is carried out repeatedly. In this case, new additional nodes 12 are defined again and again, checkpoints 11 are determined and new envelopes 10′, 10″ are determined again and again. In any case, however, starting from step S22, the routine of
[0108] If, on the other hand, an imminent collision is detected, but the stop criterion is not met, then—as aforementioned: repeated several times if necessary—in each case in addition to the currently defined nodes 12 and determined checkpoints 11 for the respective spline, additional nodes 12 are defined and nodes 11 determined and if necessary, weights are defined so that a now determined respective envelope—consisting, for example, of the envelopes 10′, 10″—is at a shorter maximum distance from the respective spline than in the previous iteration. New collision testing is then performed with the new envelopes 10′, 10″.
[0109] The stop criterion can be determined, in particular, by the fact that the detected envelopes 10, 10′, 10″ approach the spline itself sufficiently, that is to say the maximum distance falls below a predetermined threshold value. In particular, it is generally known to those skilled in the art how, in a simple and efficient manner, an upper limit for the distance can be determined on the basis of the currently defined checkpoints 11, This distance can be compared to the predetermined threshold value.
[0110] As is also generally known to those skilled in the art, splines have the property that although the respective spline is completely and unambiguously described, on the one hand, by the nodes 12 and the checkpoints 11 and if necessary, the weights, the checkpoints 11 only influence the spline within a certain vicinity of the respective checkpoint 11. This is explained in more detail hereinafter by way of example in connection with
[0111] In
[0112] It is therefore possible to single out groups of adjacent checkpoints 11 for each section, for example, for the area between the checkpoints 11c and l1d, the checkpoints 11a to 11.sub.f, for the area between the checkpoints 11d and 11e, the checkpoints 11b to 11g, etc. For each group of adjacent checkpoints 11 singled out this is shown in
[0113] Testing must, of course, be carried out for each area in which collision testing is to be performed, that is to say, if necessary, both for the area between the checkpoints 11a and 11b and for the area between the checkpoints 11b and 11c etc. A collision is detected as a result if a collision results for one of the areas tested.
[0114] In summary, the present invention thus relates to the following facts:
[0115] A machine having a plurality of axes 1 by means of which elements 2 to 4 of the machine are moved relative to one another in a position-controlled fashion. A monitoring facility 7 receives a number of groups p*, p of position values of the axes 1. The groups p*, p of position values each specify the position of the elements 2 to 4 of the machine relative to one another. On the basis of modelling of the elements 2 to 4, modelling of the kinematics of the elements 2 to 4 for the groups p*, p of position values of the number of groups p*, p of position values in each case, the monitoring facility 7 determines which surfaces and/or volumes the elements 2 to 4 of the machine respectively occupy in a working space of the machine. Said monitoring facility checks, on the basis of the determined surfaces and/or volumes, whether there is a risk of elements 2 to 4 of the machine colliding with one another and reacts in accordance with the result of the check. The monitoring facility 7 models at least parts of the surfaces of the elements 2 to 4 by means of two-dimensional splines which are themselves defined by nodes 12 and checkpoints 11. Said monitoring facility determines, on the basis of the checkpoints 11 of the splines for the sections, envelopes 10 which enclose the respective element 2 to 4 in the respective section and uses the respective envelope 10 as a surface which is occupied by the respective element 2 to 4 in the respective section. Straight connecting lines of the checkpoints 11 are boundary lines of surfaces of the envelopes 10.
[0116] The present invention has many advantages. In particular, compact data storage is possible, which means that less storage space is required. Furthermore, in practice, if a desired modelling accuracy is required, often considerably fewer individual sections need be used than in the prior art. Furthermore, there is no loss of accuracy compared to the real contour of the elements 2 to 4. This is in contrast to the prior art, hi which the modelling always results in an approximation. The number of false alarms or—even worse—incorrectly undetected collisions can be significantly reduced.
[0117] Although the invention has been illustrated and described in detail by the preferred exemplary embodiment, the invention is not limited by the disclosed examples and other variations can be derived therefrom by a person skilled in the art without departing from the scope of the invention.