AUTOMATED CALIBRATION OF A PRODUCTION MACHINE

20240308077 ยท 2024-09-19

Assignee

Inventors

Cpc classification

International classification

Abstract

A production machine system includes a production machine having multiple axes and drives. Each drive adjusts a machine element relative to a further machine element with respect to an axis. The machine elements separate the drives from each other, with the drives and the machine elements forming a kinematic chain. A control facility controls the drives to move the machine element relative to the further machine element. A model of the machine element is stored in the control facility and comprises a model parameter of the machine element. A measuring equipment determines a path describing a specific point assigned to the machine element during movement of the machine element. An analysis equipment analyzes the specific path and a correction equipment corrects the model parameter based on the analysis result. To determine the specific path, several, in particular all axes are moved successively starting from a base along the kinematic chain.

Claims

1.-13. (canceled)

14. A production machine system, comprising: a production machine comprising multiple axes and multiple position-controlled drives, each drive designed to adjust a machine element relative to a further machine element with respect to a corresponding one of the axes, wherein the machine elements separate the drives from each other, with the drives and the machine elements forming a kinematic chain; a control facility designed to control the drive so as to move the machine element relative to the further machine element; a model of the machine element, said model stored in the control facility and comprising a model parameter of the machine element, a measuring equipment designed to determine a specific path which describes a specific point that is assigned to the machine element during a movement of the machine element; an analysis equipment designed to analyze the specific path; a correction equipment designed to correct the model parameter based on a result of the analysis equipment, wherein in order to determine the specific path, several, in particular all axes are moved successively starting from a base along the kinematic chain.

15. The production machine system of claim 14, wherein at least one of the axes is a linear axis and a movement of the machine element relative to the . . . further machine element is at least approximately a linear movement or the specific path is a straight line.

16. The production machine system of claim 14, wherein at least one of the axes is a rotary axis and a movement of the machine element relative to the further machine element is at least approximately a circular movement or the specific path is a circular path.

17. The production machine system of claim 14, wherein the measuring equipment comprises a tracking interferometer.

18. The production machine system of claim 14, wherein the drive is moved over at least a substantial part of a maximum travel range of the drive so as to determine the path.

19. The production machine system of claim 14, wherein the specific point is determined, at least approximately, on a respective one of the axes of a subsequent drive in the kinematic chain.

20. The production machine system of claim 14, wherein the specific point is determined, at least approximately, in an area of an end effector or a tool holder of the production machine.

21. The production machine system of claim 14, wherein the production machine is designed as a machine tool or robot.

22. A method for calibrating a production machine of a production machine system, the method executed by a control facility of the production machine system and comprising: determining an axis of the production machine for moving an end effector; determining a travel range for calibration for the determined axis; moving the axis along the determined travel range for calibration; determining and analyzing a path of a point assigned to a machine element that is moved by the axis; correcting a model parameter for the machine element depending on a result of the analysis for a model of the production machine which model is stored in the control facility; performing for multiple, in particular all axes that are involved in a movement of the end effector, moving the axes one after the other; and moving the axes one after the other in a sequence along a kinematic chain, starting from a fixed base of the production machine.

23. The method of claim 22, further comprising comparing the analysis of the determined path with an ideal path.

24. A control facility for a production machine system set forth in claim 14, the control facility designed to: determine an axis of the production machine for moving an end effector; determine a travel range for calibration for the determined axis; move the axis along the determined travel range for calibration; determine and analyze a path of a point assigned to a machine element that is moved by the axis; correct a model parameter for the machine element depending on a result of the analysis for a model of the production machine which model is stored in the control facility; perform for multiple, in particular all axes that are involved in a movement of the end effector, move the axes one after the other; and move the axes one after the other in a sequence along a kinematic chain, starting from a fixed base of the production machine.

25. A calibration software loaded into a control facility for controlling a production machine of a production machine system and stored on a non-transitory storage medium having instructions that, when executed by the control facility perform a method as set forth in claim 22.

Description

[0080] The invention is described and explained in more detail below in an exemplary manner on the basis of an exemplary embodiment. The FIGURE shows a production machine system according to the invention. Furthermore, the method according to the invention is explained with the aid of the FIGURE.

[0081] The FIGURE shows a production machine system in the form of a robot system 1. The robot system 1 comprises a production machine in the form of an articulated arm robot 2, which is controlled by means of a control facility connected thereto in the form of a CNC controller 3. Furthermore, the robot system 1 comprises multiple laser trackers 4A to 4C, by means of which the positions of prominent points of the robot 2 can be determined accurately in the three-dimensional space and tracked during the movement of the robot 2.

[0082] Furthermore, the robot system 1 comprises multiple software applications (apps) which can be run on the CNC controller 3 and executed if required.

[0083] For the control and exact positioning of the robot 1, a model of the robot 2 in the form of model parameters 9 is stored in the CNC controller 3. The model parameters 9 allow the kinematics of the robot 2 to be accurately described. In particular, the model parameters 9 indicate the number of axes of the robot, the orientation of the axes relative to each other, as well as the exact geometric dimensions of essential components of the robot 2 and the distances between adjacent axes (center distances).

[0084] The robot 2 according to the exemplary embodiment comprises a linear axis L1, by means of which a base B can be moved with respect to a Cartesian coordinate system x, y, z in the x-direction between the points x.sub.min and x.sub.max.

[0085] In addition to the base B, the robot 2 comprises a robotic arm which is rotatably connected to the base B by the arm links A1 to A5. There is a joint in each case between two adjacent arm links, by means of which in each case one of the (arm) links can be pivoted with respect to the other. In the exemplary embodiment, the joints are represented by the horizontally oriented rotary axes R2 to R5.

[0086] In addition, the robot 2 comprises a rotary axis R1, which is oriented vertically, i.e. parallel to the z-axis, and about which the robotic arm can be pivoted at any angle. This means that in the case of the R1 rotary axis any angle from 0? to 360? C. an be set. In principle, the robotic arm can be rotated endlessly about R1.

[0087] The linear axis L1 and the rotary axes R1 to R5 form a kinematic chain. As a result, the drives of the axes that follow in the chain are changed in terms of their position and/or orientation in space, in particular by adjusting an axis, without said drives having to be adjusted or moved themselves.

[0088] The model parameters 9 of the robot 2 are recorded, for example, during commissioning. Said parameters include the geometrical dimensions of relevant robot components, in particular the lengths of the arm links A1 to A5 and the distances of adjacent rotary axes. The position and orientation of the axes relative to each other are also included in the model parameters.

[0089] Furthermore, during the commissioning, the minimum and maximum axis positions x.sub.min and x.sub.max of the linear axis L1, or the minimum and maximum axis angles a2.sub.min, 2.sub.max . . . a5.sub.min, a5.sub.max for the rotary axes R2 to R5 are also defined.

[0090] The thus defined minimum and maximum axis positions x.sub.min and x.sub.max of the linear axis L1 or the minimum and maximum axis angles a2.sub.min, a2.sub.max . . . for the rotary axes R2 to R5 define in each case the maximum travel range (traveling distance) for the relevant axis.

[0091] With regard to the calibration method according to the invention, in addition to the minimum and maximum axis values (axis positions or axis angles), minimum and maximum axis values for the calibration can also be specified in the case the robot 2. This means that a smaller travel range than the maximum travel range can be defined for the relevant axis specifically for the calibration process, i.e. for the calibration process. Preferably, however, the axes are moved over their maximum travel range for the calibration, in particular if collisions can be ruled out.

[0092] Advantageously, the calibration method according to the invention largely takes place automatically. According to a preferred embodiment, an operator of the CNC controller 3 only needs to start a corresponding calibration application (not shown) in conjunction with the control elements 7 and a display 8. This triggers the following described method steps:

[0093] In a first method step, a travel range for the calibration is determined for the linear axis L1. As is apparent from the FIGURE, collisions between machine elements caused by the movement of the linear axis L1 can be ruled out. The travel range for the calibration is therefore defined for the linear axis L1 as the visible range between a starting position x.sub.min and an end position x.sub.max.

[0094] In a second method step, the linear axes L1 are moved from the starting position x.sub.min at a predetermined speed to the end position x.sub.max. In so doing, in a third method step, at least one of the laser trackers (tracking interferometers) 4A to 4C is used to record the position of the point P or additionally or alternatively the position of the point R2 during the movement. Ideally, the point P or the point R2 should move along a straight line which is parallel to the X-axis.

[0095] In a fourth method step, the points that are recorded by the laser trackers 4A to 4C are fed to a laser tracker App 10 which is running in the CNC controller 3 and analyzed. In particular, the Laser Tracker App 10 compares the movement paths (paths) of the points P and R2 which are determined by the laser trackers 4A to 4C in the 3-dimensional space with ideal paths for the movement which is performed. From the deviations between the recorded paths and the ideal paths, correction values for the model parameters 9 of the robot 2 which are stored in the CNC controller 3 are determined in a fifth method step. The correction values may concern, for example, the orientation of the axis L1 in space, which may not be exactly parallel to the x-axis of the base coordinate system x, y, z, or the measured values may result in a different distance between the points P and R2 than the one originally stored for this purpose in the controller 3.

[0096] Analogous to the procedure with regard to the linear axis L1, the following procedure is also followed for the rotary axes R1 to R5. First, a travel range for the calibration is determined in each case for the relevant axis and the axis is moved according to the respective travel range for the calibration. During the travel movements, in each case the paths of predetermined prominent points are recorded, compared with ideal paths, and derived from this are correction values or corrected values for model parameters of the robot model which is stored in the controller 3, said model parameters being stored in the controller 3.

[0097] There are various options to choose from regarding possible travel ranges for the calibration of the individual axes L1, R1 to R5 of the robot 2.

[0098] During the calibration, it is advantageous to move a specific axis or all the axes along their maximum traveling distance and to record the resulting movements.

[0099] However, it is also possible that for at least specific axes, not the maximum possible travel range, but a specific, limited travel range is specified for the calibration.

[0100] This limited travel range for the calibration can be defined for the respective axis before the calibration process begins and stored in the CNC controller 3 by means of corresponding parameters. In particular, a maximum traveling distance for the calibration can be specified by specifying corresponding starting and final values. For example, for the axis L1, this could be the range between points x.sub.k,min and x.sub.k,max (not shown), or for the rotary axis R2, it could be the angular range between the axis angles a2.sub.k,min, a2.sub.k,max (not shown).

[0101] A limited travel range for the calibration compared to the maximum travel range of an axle may also result from the fact that the controller 3 has means of automatic collision avoidance, by way of which collisions are detected in good time before they occur. As a result, the maximum travel range for the calibration of a specific axis can be automatically limited for the calibration to a maximum possible, collision-free travel for that axis.

[0102] Possible collisions usually depend on the axis positions of all or at least multiple axes of the robot 2. Conversely, a collision caused by the movement of one axis can often be prevented by positioning other axes-before or during the movement of one axisin such a manner that no collision occurs. In the exemplary embodiment, while the rotary axis R2 could be moved from a2.sub.min to a2.sub.max, the axis R3 could be simultaneously moved from a3.sub.max to a3.sub.min.

[0103] A further embodiment of the invention provides that before a specific axis is moved in the course of calibration according to the invention, all other axes are brought into a predetermined position, for example a middle position, thus preventing collisions.

[0104] In a preferred embodiment of the invention, when, during the movement of a specific axis, all other axes are automatically positioned before or during the movement of the one axis in such a manner that no collisions occur. This means that the entire calibration processapart from a manual startcan be carried out automatically.

[0105] In the case of a preferred embodiment of the invention, all the axes L1, R1 to R5 that are involved in the movement of the end effector of the robot 2 in the form of the tool 6 are moved for the calibration one after the other at least once in the mentioned sequence, in particular along their maximum traveling distance or their maximum traveling distance that is specified for the calibration. The rotation of the R1 axis leads to a circular movement (not shown) of the arm links A1 to A5 as well as the tool holder 5 and tool 6 about this rotation axis R1. Here it is useful to record and analyze the movement paths (ideally circular paths) of the points R2 to R5 and the TCP (Tool Center Point) which are apparent from the FIGURE. The axis R1 rotates advantageously in this case from an angular position of 0? by 360? to the angle position of 360?.

[0106] Subsequently, the arm link A2 is pivoted about the rotation axis R2. For the sake of clarity, R2 refers to both the rotary axis R2, which runs in the y-direction, i.e. into the drawing plane, and to the point R2 on this axis, which is apparent from the drawing. The point R2 indicates, for example, the center point of the position of the joint between the arm links A1 and A2, said center point being visible on the outside of the robotic arm. R2 can be a prominent point on the robotic arm that can be distinguished from other points, but the point R2 can also be a marker which is attached to the robotic arm specifically for the calibration and can be easily detected and located, in particular by the laser trackers 4A to 4C.

[0107] The statements regarding the movement of the rotary axis R2 or the recording of the path of the point R2 also apply analogously to the rotary axes R3 to R5 and to the associated points R3 to R5, which are apparent in the FIGURE.

[0108] During the pivot movement of the arm link A2 about the rotary axis R2, the rotary axis R2 (i.e. the relevant drive) is adjusted from an initial angle position of a2.sub.min to an end angle position of a2.sub.max, i.e. shifted or moved. Ideally, the point R3 moves about R2 on a circular path K2. The movement of the point R3 along the relevant circular arc is detected by the laser trackers 4A to 4C and fed to the CNC controller 3. The covered orbit is then available as a set of measuring points in the CNC controller 3 and can be analyzed by means of the CNC controller 3, in particular by means of analysis equipment that is available in the CNC controller in the form of an analysis app.

[0109] Based on the deviations of the measured arc of K2 from the corresponding ideal arc, conclusions can be drawn about model parameters of the robot 2. For example, deviations in the position and orientation of the axis R2 with respect to the base coordinate system x, y, z or deviations in the distance between points R2 and R3 can be detected. The model parameters which are also stored in the robot model in the CNC controller 3 can be corrected in this manner.

[0110] In particular, the rotational movement of the point R2 describes an orbit that is theoretically an ideal circle. The measured path can be analyzed by means of mathematical methods, for example the least-squares-fit method. From the deviations, individual deviations or errors of specific model parameters can be purposefully determined and corrected: [0111] if, for example, the center point of the measured circle is not at the point specified for it, this can be corrected by offsetting the axes. [0112] if, for example, the radius of the measured circle is larger or smaller than expected, the corresponding arm length can be corrected. [0113] if the determined circular plane is at an angle to the expected (ideal) circle plane, this indicates a less than ideal installation position of the relevant joint. Correction offsets can also be determined in this regard.

[0114] The calibration process that is described above as an example can be deviated from in many ways within the scope of the invention. The axes L, R1 to R5 can thus be moved in a different sequence, in principle in any sequence. It is also possible for multiple axes to be moved simultaneously and the paths of prominent points to be recorded. Also, when moving at least one axis, the paths of multiple points can be recorded simultaneously and then analyzed. In particular, multiple points that affect a specific joint can be recorded simultaneously, for example the two endpoints of a joint shaft. Furthermore, the individual axes can be moved in any direction and multiple times one after the other. Moreover, it is also possible that individual axes are not moved over their maximum possible travel range, but only over a part of the maximum possible travel range. In addition, during the calibration process, specific axes may sequentially assume multiple predetermined axis positions one after the other, and other axes will subsequently be moved along their traveling distance that is specified in the scope of the calibration. For example, the axis R1 can initially be oriented in such a manner that the rotary axes R2 to R4 are oriented into the drawing plane, i.e. in the y-direction, as shown in the FIGURE. The rotary axis is subsequently pivoted by 90? so that the rotary axes R2 to R5 are oriented in the x-direction, and the calibration process is repeated (with regard to the other axes R2 to R5) for this axis position of the rotary axis R1.

[0115] The above list shows only a few possibilities by which the calibration method according to the invention can be expanded or supplemented. This list is therefore not to be understood exhaustively and can be supplemented by a multiplicity of further variants without leaving the scope of protection of the invention.

[0116] In addition to the determination or correction of the pure geometry parameters of the robot 2, other mechanical effects can also be determined and corresponding model parameters corrected in a further variant of the invention. For example, the sag of an elastic mechanism due to gravity leads to correspondingly deformed circles. From the type of deformation and the degree of deviation from the target circle, stiffness in the axes and joints can be inferred.

[0117] A particular advantage of the invention lies in the fact that by virtue of a one-time call-up or start of the calibration on the controller 3, this can take place largely automatically for the robot 2, i.e. without further intervention by an operator. In particular, calibration does not require a multiplicity of reference points to be approached and evaluated. This simplifies both the effort for the user and the effort involved in creating appropriate calibration software and thus programming the robot 2.

[0118] In particular, the calibration software can be programmed in such a manner that it can be run on a multiplicity of different controllers which each control different production machines. It is advantageous in this case that no further manual operating operations are required after installation and calling up the calibration software. The calibration software automatically extracts the data that is required for the calibration of the relevant production machine (number, position and orientation of the axes, travel ranges, etc.) from the respective controller.