AUTOMATED CALIBRATION OF A MANUFACTURING MACHINE
Patent Information
- Application Number
- DE502022002729
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-06-30
- Filing Date
- 2022-05-31
- Publication Date
- 2025-02-13
- Estimated Expiration
- 2042-05-31
AI Technical Summary
Current manufacturing machine calibration methods are complex, time-consuming, and costly due to the need to determine length deviations, zero position errors, and axis misalignments by evaluating numerous positions and large systems of equations, often requiring manual intervention and extensive computational effort.
A manufacturing machine system with a control device that includes measuring, analysis, and correction means to calibrate each axis individually along its maximum travel range, using a kinematic chain approach, where a tracking interferometer records the path of a specific point to analyze and correct model parameters, allowing for precise calibration without extensive manual programming or reference points.
This method simplifies the calibration process, reducing computational effort and time while achieving high accuracy by moving each axis once, ensuring precise kinematic modeling and minimizing inaccuracies, thus improving the precision of machine movements.
Description
[0001] The invention relates to a production machine system comprising a production machine having at least one first position-controlled drive, by means of which at least one first machine element can be adjusted relative to another machine element with respect to an axis, a control device for controlling the position-controlled drive for moving the first machine element relative to the other machine element, and a model of the first machine element stored in the control device, which model comprises at least one model parameter of the first machine element.
[0002] Furthermore, the invention relates to a control device of such a production machine system.
[0003] Furthermore, the invention relates to a method for calibrating such a manufacturing machine system.
[0004] Furthermore, the invention relates to calibration software for carrying out the above-mentioned method.
[0005] A person skilled in the art understands a production machine to be a machine used for the purpose of automated production. This includes, in particular, production machines, machine tools, or robots. A production machine used in connection with the invention comprises at least one position-controlled axis, so that at least one first machine element, directly connected to the drive, can be adjusted relative to a second (further) machine element of the production machine by means of a position-controlled drive assigned to the axis.
[0006] Preferably, a production machine of a production machine system according to the invention, e.g. a machine tool or a robot, comprises more than one, in particular at least five, position-controlled axes by means of which an end effector or a tool can be positioned and oriented in space.
[0007] In addition to the production machine, the production machine system comprises an associated control device which ensures the position control of the axis according to a program (control program).
[0008] Today, machine tools or robots are controlled, for example, using a control device in the form of a CNC controller. The control device uses a parts program to "control" the movements of machine elements and thus the movements of a tool, which is, for example, inserted into the machine via a tool holder, relative to a workpiece that is also inserted into the machine. It is clear to those skilled in the art that the term "control" is common usage and not "control" in the sense of control engineering. "Control" here primarily refers to the position control of axes, which encompasses control processes in the sense of control engineering.
[0009] The part program consists, at least predominantly, of control commands that are read and interpreted by the control unit. Based on the control commands, the control unit controls the movements of the machine tool's machine elements and thus the movement of the tool relative to the workpiece.
[0010] To create a part program, a CAM (Computer Aided Manufacturing) system generates motion information about the tool movements to be performed, preferably in a standardized data format, and then reads it into a downstream postprocessor. Based on the motion information generated by the CAM system, the kinematics and machine data of the machine tool, as well as the command set of the CNC control and the command set of the PLC control, the postprocessor generates a part program tailored to the specific machine tool on which the machining operation is to take place, in the form of control commands adapted to the specific control device of the machine tool.In this way, the postprocessor converts the movement information generated by the CAM system, preferably in a standardized data format, into control commands that can be read by the control device and are adapted to the respective control device.
[0011] In addition to the specific CNC command set, the postprocessor takes into account the specific machine-specific conditions of the machine tool, such as kinematics, geometric proportions, maximum travel ranges of the drive axes, and maximum speeds of the machine elements. This data is available in the form of machine data. Furthermore, when generating the control commands, the postprocessor takes into account machine-specific PLC (Programmable Logic Control) functionalities, such as lubrication, tool changes, door locking, etc., whereby the specific PLC functionalities are available to the postprocessor in the form of PLC command sets.
[0012] Calibration is necessary so that the production machine can execute a specified movement very precisely.
[0013] The kinematics of a manufacturing machine, especially a machine tool or a robot, describes the design and organization of the moving elements. It determines how axis movements combine to form the overall movement.
[0014] The kinematics description contains geometric parameters (lengths, angles, etc.). Due to manufacturing and assembly tolerances, the actual values do not exactly correspond to the nominal values from the design.
[0015] Calibration refers to the determination of various mechanical parameters of the actual production machine in order to obtain a complete and accurate kinematic model of the machine. Calibration can reduce or minimize existing inaccuracies in the model of the production machine.
[0016] During the calibration of a kinematic system, the actual geometric dimensions are determined. This is currently a complex and expensive step.
[0017] In the simplest case, the machine is operated uncalibrated. The movements are controlled using nominal values from the machine's model parameters stored in the controller, which is therefore inaccurate.
[0018] There are numerous providers and procedures for identifying model parameters using various measurement methods and sensor systems. The typical state-of-the-art calibration procedure determines length deviations, zero-position errors, axis misalignments, etc. by evaluating a large number of approached positions or poses and large systems of equations with all parameters.
[0019] From EP0353585A2 a method for calibrating a robot is known, wherein a plurality of reference positions are successively approached as a result of a program or by manual specifications or manual control of the robot, the axis angles of the machine axes are read out and evaluated and correction values for the robot, ie for its model parameters, are determined on the basis of the reference positions in conjunction with the determined axis angles.
[0020] Document EP1274546A1 describes a method for increasing the accuracy of a robot's movements, wherein a tool carried by the robot is caused to assume several positions generated by the control system, each determined by a measuring system, thereby creating a deviation between the generated position and the position determined by the measuring system. The generated positions and the positions determined by the measuring system are adjusted to form a first trajectory and a second trajectory, respectively, with a correction being determined by a trajectory deviation between geometrically calculated positions in the respective trajectory.
[0021] In an industrial robot known from EP3287244A1, deviations of the end effector from a programmed (ideal) trajectory during movement of the end effector along a path, which are primarily caused by cogging torques of the drives, are to be reduced. To this end, the following is proposed: to carry out a learning run in which deviations of the real path from the ideal path are determined, to determine the disturbance torques causing the deviations using an inverse model of the industrial robot, to determine correction angles for the axis angles supplied to the axes of the industrial robot from the disturbance torques, to operate the industrial robot taking the correction angles into account.
[0022] In this way, the industrial robot can follow programmed paths much more precisely than with conventional industrial robots.
[0023] An object of the present invention is to simplify the calibration of a production machine with at least one position-controlled drive or at least one position-controlled axis.
[0024] This object is achieved by a manufacturing system according to claim 1, that is to say a manufacturing machine system comprising: a production machine, comprising at least one first position-controlled drive, by means of which at least one first machine element (directly connected to the drive) is adjustable relative to another machine element with respect to an axis, a control device for controlling the position-controlled drive to move the first machine element relative to the other machine element, a model of the first machine element stored in the control device, which model comprises at least one model parameter of the first machine element, measuring means for determining a path that a specific point assigned to the first machine element describes during a movement of the first machine element, analysis means for analyzing the determined path, correction means for correcting the model parameter based on the analysis result, wherein the production machine comprises a plurality of axes and drives, each of which is separated from one another by at least one machine element, and wherein the drives and machine elements form a kinematic chain, and wherein, in order to determine the respective path, a plurality of axes, in particular all axes, are moved individually one after the other starting from a base (B) along the kinematic chain.
[0025] Furthermore, the object is achieved by a control device for such a production machine system.
[0026] Furthermore, the object is achieved by a method for calibrating a production machine system according to claim 9, that is to say a method for calibrating a production machine of a production machine system, wherein the following steps are carried out by means of a control device included in the production machine system: Determining an axis of the production machine intended 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 at least one point that is assigned to a machine element moved by the movement of the axis, correcting a model parameter for the machine element depending on a result of the analysis for a model of the production machine stored in the controller, wherein the method is carried out for several, in particular all, axes involved in the movement of the end effector, the axes are moved individually one after the other and the axes are moved one after the other in a sequence along a kinematic chain starting from a stationary base of the production machine.
[0027] Furthermore, the task is solved by a calibration software for carrying out such a procedure.
[0028] In contrast to previous calibration methods, in which length deviations, zero position errors, axis misalignments, etc. are determined by evaluating a large number of approached positions or poses in conjunction with large systems of equations with a large number of parameters, in the simplest case, the procedure according to the invention moves each machine axis exactly once for calibration. The calibration process can therefore be performed within a short time and still leads to very good results. The associated computational effort is also limited compared to previous methods.
[0029] A manufacturing machine according to the invention can comprise one or more linear axes. A movement performed by a linear axis is at least approximately linear, and the described path ideally corresponds to a straight line.
[0030] Furthermore, a production machine according to the invention can also comprise one or more rotary axes and the movement carried out thereby corresponds at least approximately to a circular movement or the described path to a circular path.
[0031] The invention can thus be applied to production machines that include linear axes, to production machines that include rotary axes, and to production machines with a combination of linear and rotary axes.
[0032] The axes relevant to the invention are, in particular, the axes of the production machine that are involved in the movement of an end effector or a tool for machining or manufacturing a workpiece. Auxiliary drives or auxiliary axes, e.g., for moving a protective door, are excluded.
[0033] An end effector is the machine element of a production machine that achieves the intended effect. For example, this could be a tool in a machine tool or a gripper in a robot. In robotics, the end effector generally refers to the last element in the robot's kinematic chain.
[0034] In connection with the invention, a tracking interferometer, in particular a laser tracker, is preferably used as the measuring device for detecting the path. This allows the path in question to be detected with high precision. The laser tracker is advantageously installed in the edge area of the working area of the machine in question, and data is generated in three-dimensional space.
[0035] To measure the path, a machine element of the production machine can be provided with a marking specifically intended for this purpose, e.g. a dot painted on the outside of a machine element or a marking pin with a pointed end attached to the outside of a machine element. However, it is also possible for a distinctive point already present on the machine to be selected as the point whose path is recorded according to the invention. Such a distinctive point can be, for example, a corner point of a machine element, a screw head, a shaft end or the like. The only important thing is that the distinctive point can be clearly identified during the movement of the axis and can be tracked during the movement. Furthermore, it is also possible for the point in question to be assigned to the machine element moved by the movement of the axis, but without itself being part of this machine element.For example, a laser could be attached to the machine element, projecting the relevant point onto a projection surface outside the machine element. The only important thing is that the relevant point reflects the movement of the relevant axis or machine element.
[0036] For production machines with adjustable (travelable) axes, it is common practice to specify a maximum travel range (hereinafter also referred to as the maximum travel path) for these axes. This range is usually predefined by the machine's mechanics and determined, for example, by mechanical or electronic end stops. The end stops determine a minimum axis position or a minimum axis angle and a maximum axis position or a maximum axis angle for the respective axis, which also predetermines the maximum travel path. Continuously rotating rotary axes that do not have end stops therefore have a maximum travel range of 0° to 360°.
[0037] The minimum and maximum axis positions or axis angles of the adjustable axes are usually determined when the production machine is commissioned and stored in the control device.
[0038] In addition to the maximum travel range, axes of a production machine according to the invention can also have a special "calibration travel range." This is logically less than or equal to the maximum travel range for the respective axis. If a travel range other than the maximum is to be specified for calibration for a specific axis, the minimum and maximum values can also be specified during commissioning and stored in the control unit. The limit values must be selected in such a way that collisions with parts of the production machine can be ruled out when the respective axis is moved within the thus defined maximum travel range for calibration.
[0039] For certain machines, it may be sufficient if a particular axis is moved only over a portion of its maximum possible travel range or its maximum travel range specified for calibration in order to record the path.
[0040] Although relatively short travel distances are sometimes sufficient to detect certain inaccuracies in the machine model and to readjust the corresponding machine parameters, better results are generally achieved if the axis in question is moved over a larger range, in particular the maximum travel range or the maximum travel range specified for calibration.
[0041] The invention therefore preferably provides that the relevant axis is moved over at least a substantial portion of its maximum travel range, in particular over its maximum travel range or the maximum travel range intended for calibration, to record the path. For example, the axis initially assumes the minimum axis position or the minimum axis angle and is then moved—while the resulting path is being recorded—until the maximum axis position or the maximum axis angle is reached. For an infinitely rotatable rotary axis, this is, for example, the range from 0° to 360°.
[0042] Of course, in connection with the invention, it is also possible to move the axis in the opposite direction. Thus, the axis can be moved from a maximum axis position or a maximum axis angle toward the minimum axis position or the minimum axis angle.
[0043] Furthermore, to increase accuracy, it is also possible to move a given axis multiple times, particularly in both positive and negative directions, and record the resulting trajectories. From the obtained data, an average trajectory can be determined, for example, in which certain errors, such as measurement errors, are averaged out.
[0044] Manufacturing machines, in particular machine tools or robots, usually comprise several axes and thus several drives, each of which is separated from each other by at least one machine element, whereby the drives and machine elements form a kinematic chain.
[0045] For example, an industrial robot often comprises a base that is stationary or movable along a linear axis, on which a robot arm is mounted, usually pivoting around a vertical (first) axis. The robot arm itself consists of a series of rigid (arm) links connected to each other by rotary joints, with the joints being adjustable by controlled drives. The joints and drives form the (rotary) axes of the robot. The free end of this "link chain" is thus freely movable and can be equipped with an end effector, particularly a tool or gripper, for performing manufacturing work.
[0046] The arrangement of the drives in a kinematic chain means that when a specific drive of the machine is adjusted in the kinematic chain (viewed from the base), subsequent drives change their position even though they themselves are not adjusted (moved or driven).
[0047] Advantageously, during the adjustment of a drive, the path of a machine element moved by the drive, e.g., an arm link, is recorded for a point on the machine element that lies at least approximately on an axis of a subsequent drive in the kinematic chain. Such a point can be determined, for example, by a specific corner or edge, a screw, a shaft end, or another prominent part of the machine element that is already present on the machine. Alternatively, a corresponding marking can also be applied or attached to a suitable location on the machine specifically for this purpose.
[0048] Furthermore, it is also possible to capture and record not just the trajectory of one point, but the trajectories of several points simultaneously while the axis is being adjusted. This allows for better detection of distortions in the machine's mechanics, especially when the observed points are located on opposite sides of a machine element, e.g., an arm link.
[0049] In the calibration according to the invention, the designated machine axes are preferably moved individually one after the other. However, it is also possible to move several axes simultaneously and to record the trajectories of one or more points of the machine moved in this way. This accelerates the calibration process. However, the trajectories are then no longer just straight lines and circles; more complex geometric shapes can also result, e.g., cycloids when two rotary axes move simultaneously. However, this generally increases the computational effort for the subsequent evaluation.
[0050] With regard to machine calibration and the resulting higher accuracy of the intended movements, the position and orientation of the individual axes relative to each other are particularly important. This means that the axis distances and orientations between the axes must be recorded with particular precision. This can be achieved by ensuring that the points whose trajectories are recorded are located on or at least close to the machine's axes.
[0051] Furthermore, the position and orientation of an end effector or tool holder is of particular interest for the accuracy of a machine. Therefore, one embodiment of the invention provides that the specific point is determined at least approximately in the area of the end effector or tool holder of the production machine. This allows the corresponding path to be determined for this particular part of the machine, and one or more related machine parameters to be readjusted. Particularly advantageously, the path of the tip of a tool attached to the end effector, the so-called tool center point (TCP), can also be tracked.
[0052] The procedure according to the invention is characterized in particular by the fact that a machine operator only has to give a specific command to start the calibration, for example, a corresponding input on an HMI of the control system, and the calibration can then be carried out at least largely automatically. In particular, in a preferred embodiment of the invention, no programs or manual inputs are required to move the machine to specific reference points. Advantageously, after a start command, all axes involved in the positioning of an end effector or a tool holder are controlled individually, preferably one after the other, and adjusted with respect to a travel range intended for calibration, in particular with respect to a relevant range of their maximum travel range.In this process, the path of at least one point associated with a machine element moved by the axis movement is determined and analyzed, in particular, compared with an ideal path, or the deviations between the measured and the ideal path are determined. The individual axes are preferably moved sequentially in the order specified by the kinematic chain of the respective machine. In principle, however, they can also be moved individually in any order, or several axes can be moved simultaneously in a specified or specifiable combination.
[0053] Since the travel paths of the individual axes can be defined before the calibration begins, carrying out a calibration method according to the invention merely requires calling up calibration software stored in the control device using a start command, particularly through manual input from an operator. In particular, the operator does not need to specify reference points or reference paths that the machine is to follow during calibration.
[0054] Moving the axes according to the order in the kinematic chain, starting with the axis closest to the base, has the advantage that all axes preceding a particular axis in the kinematic chain are already calibrated when that axis is moved. Any errors in the previous axes have therefore already been corrected, so their original deviations are no longer included in the deviations determined from the current axis adjustment, or at least not to the extent they would otherwise be.
[0055] Preferably, in connection with the calibration according to the invention, all axes are moved relative to their maximum travel distance. The respective axis therefore first moves to the position with the minimum or maximum deflection and then moves to the position of the maximum or minimum deflection, respectively, during which the trajectory of a selected point is determined. For an infinitely adjustable rotary axis, these end positions can be, for example, the defined angular positions 0° and 360°.
[0056] In a preferred embodiment of the invention, the "calibration travel range" of the axes provided for calibrating the machine is determined in such a way that no unwanted collisions occur between components of the production machine. The calibration travel range for a specific axis can therefore also depend on the current axis positions of other axes of the production machine.
[0057] Particularly advantageous is the fact that the production machine in question is equipped with automatic collision detection, which detects and prevents collisions well before they occur. The travel path of a specific axis intended for calibration is thus automatically and dynamically adjusted by the control system to the respective situation.
[0058] An alternative solution provides for the travel path of the axes concerned, intended for the calibration according to the invention, to be determined once and stored in the controller. In particular, it is determined for all axes in such a way that collisions can be ruled out from the outset.
[0059] One embodiment of the invention provides that before moving a specific axis during calibration, at least one, and preferably all of the other axes, are brought into a predetermined starting position, e.g. a center position (center between the maximum and minimum axis value). The starting position of the other axes is characterized in particular by the fact that no collisions occur when moving the specific axis. The starting position of a specific axis can be retained unchanged for the duration of the calibration process in which this axis is not itself being moved. However, the starting position of a specific axis can also depend on the axis that is currently being moved. Over the entire calibration process, a specific axis can therefore have several predetermined starting positions.In particular, it is possible that while a first axis is being moved to record the trajectory of the relevant point, at least one other axis, particularly one following it in the kinematic chain, is also being moved simultaneously to avoid a possible collision. This advantageously allows the travel range provided for the first axis to be enlarged for calibration purposes.
[0060] On the one hand, recording and evaluating the maximum possible travel distance leads to greater overall calibration accuracy. On the other hand, this requirement may simplify the workload for the user. The end positions of the adjustable axes are already known in production machines after commissioning and are already stored in the control system.
[0061] If, in connection with the invention, a travel range for calibration that is smaller than the maximum travel range is to be determined for at least one axis, corresponding end positions for this axis can also be determined for the calibration in a single setting process and stored in the control device. These end positions then determine the maximum travel range for calibration for the axis in question. Provided that the travel range specified by the respective end positions is always to be traveled for calibration, the user does not need to worry about this. If necessary, the user's effort to perform the calibration is limited to executing the corresponding start command. The process then takes place automatically without any further input from the user. The effort for the user is therefore kept to a minimum.In particular, calibration is carried out without specifying a movement program or reference points to be approached.
[0062] The invention is described and explained in more detail below using an exemplary embodiment. The figure shows a manufacturing machine system according to the invention. Furthermore, the method according to the invention is explained with reference to the figure.
[0063] The figure shows a manufacturing machine system in the form of a robot system 1. The robot system 1 comprises a manufacturing machine in the form of an articulated-arm robot 2, which is controlled by a connected control device in the form of a CNC controller 3. Furthermore, the robot system 1 comprises several laser trackers 4A to 4C, by means of which the positions of prominent points of the robot 2 can be precisely determined in three-dimensional space and tracked during the movement of the robot 2.
[0064] Furthermore, the robot system 1 includes several software applications (apps) that can be run on the CNC control 3 and executed as needed.
[0065] For the control and precise positioning of robot 1, a model of robot 2 is stored in the CNC controller 3 in the form of model parameters 9. The model parameters 9 precisely describe the kinematics of robot 2. In particular, the model parameters 9 determine the number of axes of the robot, the orientation of the axes relative to each other, as well as the exact geometric dimensions of key components of robot 2 and the distances between adjacent axes (axis distances).
[0066] The robot 2 according to the 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 min and x max.
[0067] In addition to the base B, the robot 2 comprises a robot arm with arm segments A1 to A5, which are rotatably connected to the base B. Between each adjacent arm segment, there is a joint by means of which one of the (arm) segments can be pivoted relative to the other. In the exemplary embodiment, the joints are represented by the horizontally aligned rotary axes R2 to R5.
[0068] Robot 2 also includes a rotary axis R1, which is aligned vertically, i.e., parallel to the z-axis, and around which the robot arm can pivot through any angle. This means that any angle from 0° to 360° can be set for the rotary axis R1. In principle, the robot arm can rotate endlessly around R1.
[0069] The linear axis L1 and the rotary axes R1 to R5 form a kinematic chain. Thus, adjusting one axis in particular changes the position and / or orientation of the drives of the subsequent axes in the chain, without themselves being adjusted or moved.
[0070] For example, model parameters 9 of robot 2 are recorded during commissioning. They include the geometric dimensions of relevant robot components, in particular the lengths of the arm links A1 to A5 and the distances between adjacent rotary axes. The position and orientation of the axes relative to each other are also included in the model parameters.
[0071] Furthermore, the minimum and maximum axis positions x min and x max of the linear axis L1 and the minimum and maximum axis angles α2 min , α2 max , ... α 5min , α5 max for the rotary axes R2 to R5 are also defined during commissioning.
[0072] The minimum and maximum axis positions x min and x max of the linear axis L1 or the minimum and maximum axis angles α2 min , α2 max , ... for the rotary axes R2 to R5 defined in this way each define the maximum travel range (travel path) for the respective axis.
[0073] 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 can also be specified for calibration on the robot 2. This allows a smaller travel range than the maximum travel range to be defined for the relevant axis specifically for the calibration process, i.e., for the calibration process. However, the axes are preferably moved beyond their maximum travel range for calibration, especially if collisions can be ruled out.
[0074] The calibration method according to the invention is advantageously carried out largely automatically. According to a preferred embodiment, an operator of the CNC control 3 only needs to start a corresponding calibration application (not shown) in conjunction with control elements 7 and a display 8. This triggers the method steps described below: In a first method step, a travel range for calibration is determined for the linear axis L1. As can be seen from the figure, collisions between machine elements caused by the travel of the linear axis L1 can be excluded. The travel range for calibration for the linear axis L1 is therefore defined as the apparent range between a starting position x min and an end position x max.
[0075] In a second process step, the linear axis L1 is moved from the initial position x min at a specified speed to the final position x max . In a third process step, the position of point P or, additionally or alternatively, the position of point R2 is recorded during the movement using at least one of the laser trackers (tracking interferometers) 4A to 4C. Ideally, point P or point R2 move along a straight line parallel to the X-axis.
[0076] In a fourth process step, the points recorded by the laser trackers 4A to 4C are fed to a laser tracker app 10 running in the CNC controller 3 and analyzed. The laser tracker app 10 compares, in particular, the trajectories (paths) of points P and R2 determined in 3-dimensional space by the laser trackers 4A to 4C with ideal paths for the executed movement. Finally, in a fifth process step, correction values for the model parameters 9 of the robot 2 stored in the CNC controller 3 are determined from the deviations between the recorded paths and the ideal paths. The correction values can, for example, relate to 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.
[0077] Analogous to the procedure for the linear axis L1, the following procedure is also followed for the rotary axes R1 to R5. First, a travel range is determined for calibration for each axis in question, and the axis is moved according to the respective travel range for calibration. During the travel movements, the paths of predetermined, prominent points are recorded, compared with ideal paths, and from this, correction values or corrected values are derived for the model parameters of the robot model stored in controller 3.
[0078] There are various options available regarding possible travel ranges for calibrating the individual axes L1, R1 to R5 of robot 2.
[0079] During calibration, it is advantageous to move certain or all axes along their maximum travel distance and to record the resulting movements.
[0080] However, it is also possible that, at least for certain axes, not the maximum possible travel distance is specified, but rather a special, restricted travel range is specified for calibration.
[0081] This restricted travel range for calibration can be defined for each axis before the calibration process begins and stored in the CNC controller 3 using appropriate parameters. In particular, by specifying appropriate start and end values, a specific maximum travel distance for calibration can be specified. For example, for axis L1, this could be the range between points xk,min and xk,max (not shown) or for the rotary axis R2, the angular range between the axis angles α2 k,min and α2 k,max (not shown).
[0082] A calibration travel range that is limited compared to the maximum travel range of an axis can also be achieved if the controller 3 has means for automatic collision avoidance, which detects collisions in a timely manner before they occur. The maximum calibration travel range for a specific axis can thus be automatically limited for calibration to a maximum possible, collision-free travel path for this axis.
[0083] Potential collisions generally depend on the axis positions of all or at least several axes of 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 axis—in such a way that no collision occurs. In the exemplary embodiment, while the rotary axis R2 is moved from α2 min to α2 max, the axis R3 could simultaneously be moved from α3 max to α3 min.
[0084] Another embodiment of the invention provides that before moving a specific axis in the course of the calibration according to the invention, all other axes are brought into a predetermined position, for example a "center position", which prevents collisions.
[0085] In a preferred embodiment of the invention, when a specific axis is moved, all other axes are automatically positioned before or during the movement of that axis so that no collisions occur. This allows the entire calibration process to run automatically—apart from a manual start.
[0086] In a preferred embodiment of the invention, all axes L1, R1 to R5 involved in the movement of the end effector of the robot 2 in the form of the tool 6 are moved in the stated order one after the other at least once, in particular along their maximum travel path or their maximum travel path defined for calibration. The rotation of the axis R1 leads to a circular movement (not shown) of the arm links A1 to A5 as well as the tool holder 5 and the tool 6 around this rotation axis R1. Here, it is advisable to record and analyze the movement paths (ideally circular paths) of the points R2 to R5 shown in the figure and the TCP (tool center point). Advantageously, the axis R1 rotates from an angular position of 0° by 360° to an angular position of 360°.
[0087] Subsequently, arm link A2 is pivoted around rotation axis R2. For the sake of clarity, R2 refers here to both the rotary axis R2 running in the y-direction, i.e., into the plane of the drawing, and point R2 on this axis, which is visible in the drawing. Point R2, for example, indicates the center point of the joint bearing between arm links A1 and A2, visible on the outside of the robot arm. R2 can be a distinctive point on the robot arm that is distinguishable from other points; however, point R2 can also be a marking specifically applied to the robot arm for calibration, which can be easily detected and located, in particular, by laser trackers 4A to 4C.
[0088] 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 the associated points R3 to R5 shown in the figure.
[0089] During the swivel movement of arm link A2 around the rotary axis R2, the rotary axis R2 (i.e., the corresponding drive) is adjusted, i.e., moved, from an initial angular position α2 min to a final angular position α2 max. In this case, point R3 ideally moves along a circular path K2 around R2. The movement of point R3 along the respective circular arc is recorded by the laser trackers 4A to 4C and fed to the CNC controller 3. The traversed orbit is then available as a set of measuring points in the CNC controller 3 and can be analyzed by the CNC controller 3, in particular by the analysis tools available in the CNC controller in the form of an analysis app.
[0090] Based on the deviations of the measured circular arc of K2 from the corresponding ideal circular arc, conclusions can be drawn about the model parameters of robot 2. For example, deviations in the position and orientation of 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 corresponding model parameters stored in the robot model in CNC controller 3 can be corrected in this way.
[0091] In particular, the rotational motion of point R2 describes an orbit that is theoretically an ideal circle. The measured trajectory can be analyzed using mathematical methods, such as the least-squares fit method. From the deviations, individual deviations or errors in specific model parameters can be specifically identified and corrected: For example, if the center of the measured circle is not at the intended point, this can be corrected by offsetting the axes. If, for example, the radius of the measured circle is larger or smaller than expected, the corresponding arm length can be corrected. If the determined circular plane is at an angle to the expected (ideal) circular plane, this indicates a non-ideal installation position of the joint in question. Corrective offsets can also be determined in this case.
[0092] The calibration process shown above as an example can be deviated from in many ways within the scope of the invention. For example, the axes L, R1 to R5 can be moved in a different, in principle any desired order. It is also possible for several axes to be moved simultaneously and the paths of prominent points to be recorded. When moving at least one axis simultaneously, the paths of several points can also be recorded and subsequently analyzed. In particular, several points relating to a specific joint can be recorded simultaneously, e.g. the two end points of a cardan shaft. Furthermore, the individual axes can be moved in any direction and even multiple times in succession. Furthermore, it is also possible for individual axes to be moved not over their maximum possible travel range, but only over a portion of the maximum possible travel range.Furthermore, during the calibration process, certain axes can assume several predetermined axis positions one after the other, while other axes are subsequently moved along their travel path specified during the calibration. For example, axis R1 can initially be aligned, as shown in the figure, so that the rotary axes R2 to R4 are oriented into the plane of the drawing, i.e., in the y-direction. The rotary axis is then pivoted by 90° so that the rotary axes R2 to R5 are oriented in the x-direction, and the calibration process is repeated (with respect to the remaining axes R2 to R5) for this axis position of the rotary axis R1.
[0093] 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 intended to be exhaustive and can be supplemented with numerous further variants without departing from the scope of the invention.
[0094] In addition to determining or correcting the pure geometric parameters of robot 2, a further embodiment of the invention also allows other mechanical effects to be determined and corresponding model parameters to be corrected. For example, the sagging of an elastic mechanism due to gravity leads to correspondingly deformed circles. The type of deformation and the degree of deviation from the target circle can be used to determine the stiffness of the axes and joints.
[0095] A particular advantage of the invention is that by calling or starting the calibration on the controller 3 once, it can be performed largely automatically for the robot 2, i.e., without further intervention by an operator. In particular, a large number of reference points do not need to be approached and evaluated for calibration. This simplifies both the effort for the user and the effort required to create the appropriate calibration software and thus to program the robot 2.
[0096] In particular, the calibration software can be programmed to run on a variety of different controllers, each controlling different production machines. Advantageously, no further manual operations are required after installing and launching the calibration software. The calibration software automatically retrieves the data required to calibrate the respective production machine (number, position and orientation of axes, travel ranges, etc.) from the respective controller.
Claims
1. Production machine system (1), comprising: - a production machine (2) having at least one first position-controlled drive by means of which at least one first machine element (A1 - A5, B) can be adjusted relative to a further machine element (A1 - A5, B) with respect to an axis (R1 - R5, L1), - a control facility (3) for controlling the position-controlled drive so as to move the first machine element (A1 - A5, B) relative to the further machine element (A1 - A5, B), - a model of the first machine element (A1 - A5, B) which is stored in the control facility (3) and which comprises at least one model parameter (9) of the first machine element (A1 - A5, B), - measuring equipment (4A, 4B, 4C) for determining a path (K1 - K5) which describes a specific point (P, TCP) that is assigned to the first machine element (A1 - A5, B) during a movement of the first machine element (A1 - A5, B), - analysis means (11) for analysing the specific path (K1 - K5), - correction means (12) for correcting the model parameter (9) based on the analysis result, wherein the production machine (2) comprises multiple axes (R1 - R5, L1) and drives, which are separated from each other in each case by at least one machine element (A1 - A5, B), and wherein the drives and machine elements (A1 - A5, B) form a kinematic chain, characterised in that in order to determine the respective path (K1 - K5), multiple, in particular all axes (R1 - R5, L1) are moved one after the other starting from a base (B) along the kinematic chain.
2. Production machine system (1) according to claim 1, wherein at least one axis (R1 - R5, L1) is a linear axis (L1) and at least approximately the movement is a linear movement or the path is a straight line.
3. Production machine system (1) according to claim 1, wherein at least one axis (R1 - R5, L1) is a rotary axis (R1 - R5) and at least approximately the movement is a circular movement or the path (K1 - K5) is a circular path (K2 - K5).
4. Production machine system (1) according to one of the preceding claims, wherein the measuring equipment (4A, 4B, 4C) comprises a tracking interferometer.
5. Production machine system (1) according to one of the preceding claims, 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 (K1 - K5).
6. Production machine system (1) according to one of the preceding claims, wherein the determined point (P, TCP) can be specified, at least approximately, on an axis (R1 - R5, L1) of a subsequent drive in the kinematic chain.
7. Production machine system (1) according to one of the preceding claims, wherein the definite point (P, TCP) can be determined, at least approximately, in the area of an end effector or a tool holder (5) of the production machine (2).
8. Production machine system (1) according to one of the preceding claims, wherein the production machine (2) is designed as a machine tool or robot.
9. Method for calibrating a production machine (2) of a production machine system (1), wherein the following steps are performed by means of a control facility (3) which is comprised by the production machine system (1): - determining an axis (R1 - R5, L1) of the production machine (2), said axis being provided for moving an end effector, - determining a travel range for calibration for the determined axis (R1 - R5, L1), - moving the axis along the determined travel range for calibration, - determining and analysing a path (K1 - K5) of at least one point (P, TCP) that is assigned to a machine element (A1 - A5, B) that is moved by the axis (R1 - R5, L1), - correcting a model parameter (9) for the machine element (A1 - A5, B) depending on a result of the analysis for a model of the production machine (2) which is stored in the control facility (3), characterised in that - the method is performed for multiple, in particular all axes (R1 - R5, L1) that are involved in the movement of the end effector, - the axes (R1 - R5, L1) are moved one after the other individually, and - the axes (R1 - R5, L1) are moved one after the other in a sequence along a kinematic chain, starting from a fixed base (B) of the production machine (2).
10. Method according to claim 9, wherein the analysis comprises a comparison of the determined path (K1 - K5) with an ideal path.
11. Control facility (3) for a production machine system (1) according to one of claims 1 to 7 in order to perform a method according to one of claims 9 or 10.
12. Calibration software which can be stored on a storage medium and which can be installed on a control facility (3) for controlling a production machine (2) of a production machine system (1) and which can be executed as a result of a start instruction on the control facility (3) in order to perform a method according to claim 9 or 10.