EP2983869A1 - Method and arrangement for correcting positional errors of a kinematic system, corresponding computer program and corresponding computer-readable storage medium - Google Patents
Method and arrangement for correcting positional errors of a kinematic system, corresponding computer program and corresponding computer-readable storage mediumInfo
- Publication number
- EP2983869A1 EP2983869A1 EP14707339.9A EP14707339A EP2983869A1 EP 2983869 A1 EP2983869 A1 EP 2983869A1 EP 14707339 A EP14707339 A EP 14707339A EP 2983869 A1 EP2983869 A1 EP 2983869A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- kinematics
- configuration
- function
- poses
- pose
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39017—Forward calibration, find actual pose world space for given joint configuration
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39018—Inverse calibration, find exact joint angles for given location in world space
Definitions
- the present invention relates to a method and apparatus for correcting pose errors of kinematics, and to a corresponding computer program and computer readable storage medium which are particularly useful for extending correction to classes of parallel and serial robot kinematics that are not specifically designed to achieve the utmost Accuracies have been constructed, but preferably have a high reproducibility.
- the essential terms are defined below.
- the pose of kinematics as a function of an element of configuration space is defined by a number of geometry parameters called the "kinematic model" of this kinematics.
- Lukas Beyer Increasing the accuracy of industrial robots, especially with parallel kinematics. Dissertation, Helmut Schmidt University Hamburg. Shaker Verlag, Aachen 2005, ISBN 3-8322-3681 -3.
- the pose error compensation based on parameter identification has a number of disadvantages.
- the parameter identification is here present task class is burdened with considerable problems in the identification of the parameters determined (non-convexity of the error functionalities, ie ambiguity, numerical instabilities, etc.).
- the determined parameters replace the constructional geometry parameters of the elaborate kinematic model and thus invalidate the precision in manufacturing and assembly of the kinematics components.
- the object of the invention was therefore to provide a method and an arrangement for calibrating a kinematics and a corresponding computer program and a corresponding computer-readable storage medium, which avoid the disadvantages described above and in particular allow to determine loadable error measures for a variety of parallel and serial robot kinematics ,
- DE 10 201 1 079 764 B3 an alternative will be shown.
- the developing optical sensor technology should be taken into account.
- a particular advantage of the invention is that kinematics for all feasible poses are corrected with high precision. This is achieved by kinematics being moved into a number of poses p (x) in the method according to the invention for posse error correction of kinematics.
- the poses p (x) can be predefined poses.
- the poses p (x) are predetermined by a random algorithm.
- the pose p (x) is taken with a predetermined accuracy of the kinematics.
- a first configuration vector x * belonging to the pose p (x) is determined by evaluating data which the kinetic kinematics of the pose in the assumed pose p (x) describe.
- a preferred embodiment of the invention provides that the first configuration vectors x * belonging to the poses p (x) are determined by reading out for each of the poses p (x) data which the kinetic kinematics of the respective pose (p) x) describe.
- a configuration vector describes the actuator deflection or actuator position of a kinematics. In a preferred embodiment, provision is made for the actuated actuator deflections to be used as actuator deflections belonging to a pose p (x).
- the Aktorausschitch the kinematics are read out itself.
- the kinematics is guided along a path, wherein first configuration vectors x * are determined at certain points of the path.
- the associated poses can be measured before, after or simultaneously with the determination of the first configuration vectors x * .
- the control function is defined so that the kinematics is moved to the pose DK (x) when the kinematics assumes the actuator displacement or actuator position x.
- the pose which the kinematics in application of the control function on a
- the pose actually assumed during activation, movement or commanding of the kinematics using the configuration vector x is referred to as the measured pose gDK (x) for the configuration vector x.
- the external influences and / or actions may be, for example, external force variables and / or temperature influences.
- influences of thermal expansions or deformations by weight or inertial forces in the operation of the kinematics are determined and compensated by a corresponding transformation of the configuration space.
- the influence of external forces and moments in various poses is thus initially either measured in the course of a calibration process or determined by simulation calculation.
- the effects of the influences are then stored in tabular form as corrective differences of the actuator deflections for different locations of the configuration space, in order then to be evaluated in the way of the transformation of the configuration space in the operation of the kinematics.
- Each control function DK includes a reverse mapping, the so-called inverse kinematics IK.
- the actuator position x is determined for a pose p which (theoretically) leads to the pose p when the activation function is applied to the vector x.
- the first and second configuration vectors x * and x belonging to the respective pose are evaluated in order to obtain a function for transforming the configuration space.
- the correction value is a vector correction value.
- the set of correction values thus becomes to further, preferably to all elements of the entire configuration space continued, preferably by interpolation, extrapolation and / or approximation.
- these vectors of the configuration space can each be assigned a corrected associated vector from the configuration space by applying the correction value.
- the mapping of second to corrected vectors x onto corrected vectors x * can be considered as a transformation of the configuration space.
- the image of this transformation ie the value obtained by executing this transformation, is also a vector, which is usually an element of the configuration space. If it is an element of the configuration space, the direct kinematics DK is then applied to it. Otherwise, there is an unrealizable pose.
- the calibrated drive function is therefore the successive execution of the function for transforming the configuration space and the (original) drive function to the vector x. To control, move or command the kinematics, the calibrated control function is now used instead of the (original) control function.
- the kinematics is moved into the predetermined pose p with a predetermined accuracy.
- the first configuration vector x * belonging to the pose p is determined, as described above, by reading out data describing the kinematics' actuator deflections in the assumed pose p.
- the associated second configuration vector x is determined as IK (p).
- Positioning the kinematics by specifying configuration vectors x 'before approaching the predefined pose has the particular advantage that the configuration vectors x' or x prescribed for determining the correction values can thereby be uniformly distributed in the configuration space KR.
- the predetermined poses p are given by artefacts to be approached.
- the approach of the poses p by means of measuring means happens.
- the method steps for correcting the pose errors are carried out in a simulation, preferably with a computer-aided simulation, and / or with a computer-generated model of the kinematics. This is particularly advantageous for the correction of poses errors caused by external influences.
- An advantage of performing the method by means of a simulation and / or a model is that the number of predetermined poses p (x) can be made very large, which increases the accuracy of the global transformation function obtained by interpolation, extrapolation and / or approximation becomes.
- the actuator positions defined by the set of predetermined vectors x 'of the configuration space KR are distributed substantially uniformly in the configuration space. For example, if an actor is operating in an interval [a, b] (which may be, for example, a translational or rotational interval), then the interval according to this preferred embodiment is divided into n equal subintervals. The limits of these subintervals then serve as predefined components of the given configuration vectors x 'of the configuration space KR. This gives a uniformly distributed grid of points in the configuration space KR.
- a correction value is assigned to each of these points, and from this assignment for the points discretely distributed in the configuration space KR, the function for transforming the configuration space is determined by interpolation, approximation or extrapolation, which assigns a correction value to each point or vector of the configuration space KR.
- this function which has been obtained by interpolation, approximation or extrapolation, is continued to values of the configuration space which exceed the intervals which can be achieved by kinematics.
- a pose correction is obtained by a corrective transformation of the configuration space.
- the corrective transformation of the configuration space is distinguished by the fact that, starting from a finite subset of the configuration space, a vectorial correction sum is determined for each element x of this set, and the function given by this is extended to the entire configuration space by a suitable extension of the definition area, and the correcting function Transformation for the entire configuration space by the addition of the correction sum obtained by means of the extended function with the identical self-mapping of the configuration space to itself.
- the corrected realization of a pose p in a kinematics individual is obtained by first obtaining an element of the configuration space from the desired pose p by applying the inverse kinematics IK, adding to this element a correction value belonging to this element, and then commanding the pose.
- sample quantity of a right-angled grid in the configuration space is used as the predetermined configuration vectors (sample quantity) of the configuration space.
- the right edge is a multidimensional box.
- a preferred embodiment provides that the interval dividing scalars of the actuator intervals do not comprise at least some of the endpoints of the actuator deflections, such that the right edge written into the configuration space is a true subset of the configuration space.
- the correction function is obtained by means of extrapolation.
- it is provided to completely or partially cover the configuration space with finite elements. The corners of the finite elements are measured as a sample.
- n-simplexes are used as finite elements.
- the dimension n corresponds to the degree of freedom DOF of the kinematics.
- correction values for this sample quantity are determined as described above. These are then barycentric interpolated inside the individual simplexes or extrapolated to the outside. On the basis of these correction values, a transformation of the configuration space is defined as described above.
- An arrangement according to the invention has at least one chip and / or processor and is set up such that a method for correcting poses errors of the kinematics is preferably executable in interaction with kinematics, the method comprising the following steps:
- a computer program according to the invention makes it possible for a data processing device, after it has been stored in storage means of the Data processing device has been loaded, preferably in conjunction with a kinematics perform a method for correcting poses errors of kinematics, the method comprising the steps of:
- the computer program according to the invention has a modular structure, wherein individual modules are installed on different parts of the data processing device.
- Advantageous embodiments additionally provide computer programs by which further method steps or method sequences specified in the description can be executed.
- a further aspect of the invention relates to computer-readable data which comprise at least parts of the calibrated drive function determined by the method according to the invention and / or at least parts of the correction values determined by the method according to the invention.
- Such computer programs and / or computer-readable data can be made available for download (for a fee or free of charge, freely accessible or password-protected) in a data or communication network, for example.
- the computer programs thus provided can then be made usable by a method in which the computer programs and / or computer-readable data are downloaded from an electronic data network, such as from the Internet, to a data processing device connected to the data network.
- an electronic data network such as from the Internet
- a further aspect of the invention relates to a computer-readable storage medium on which data are stored which comprise at least parts of the calibrated activation function determined by the method according to the invention and / or at least parts of the correction values determined by the method according to the invention.
- the calibration is a sequence of two consecutively executed compensations, wherein the first iteratively in the working space on a predetermined finite sample amount so that a predetermined accuracy when approaching the desired poses is achieved by an iteration of successively executed poses.
- This method is used in particular when approaching precisely placed artifacts which define the given poses.
- the second compensation is based on reading out the actuator deflections associated with the poses and determining a corresponding correction map in the configuration space. The second correction thus takes place in the configuration space, first on the actuator deflections associated with the sample set, ie coordinates in the configuration space, and then after interpolation in a transformation of the configuration space.
- a particular advantage of the invention is that the location determinations made therewith with high accuracy on each official normals, such as. the original meter, can be returned.
- Another advantage of the invention is that, due to the calibrated driving function, the positioning accuracy of the calibrated kinematics is global, i. for the entire workspace, is improved.
- the specified poses are approached iteratively. This can happen in special cases by starting artifacts. In higher-dimensional workspaces and with a large sample volume, however, this is generally not very practicable.
- high accuracy external measuring means such as e.g. a coordinate measuring machine, a multi-dimensional laser tracer, etc., are used to iteratively reach the desired poses.
- the proposed method of transforming the configuration space can be used not only in active kinematics (robots), but also in kinematics, which serve the purpose of Posentown, such as coordinate measuring machines. Their accuracy is also increased using the method of transforming the configuration space presented here.
- the calibration presented here is also extended to these kinematics of coordinate measuring machines, and all other kinematics that serve even Posentownen. These kinematics can wholly or partly have non-driven actuators, which however allow a deflection determination. The results of the pose measurements made by these kinematics are determined by determining the actuator deflections.
- the calibration includes the following steps:
- the presented new method measures the positioning error in points obtained from a "map" of the configuration space.
- the configuration space is particularly simple in shape and usually in the shape of a right edge, the uniform distribution of test points in this space is easy to realize
- a uniform distribution of checkpoints in the configuration space also requires a uniform distribution in the workspace, due to constructive and functional constraints in the design of kinematics, assuming that a small pose change is caused by a small change in configuration space
- a small change in configuration space will only result in a small change in the workspace.
- exogenous poses errors can be, for example, pose errors which are caused by external force variables and / or by thermoelastic deformations of the kinematics.
- a correction matrix is assigned to each element of the posology set for collecting the data. This matrix is valid in relation to a single pose.
- Every given force magnitude system can be described by two three-dimensional vectors, a force vector and a force vector Moment vector, where the force vector acts on the canonical reference point (point of attack).
- each force vector can be shifted in parallel as desired, taking into account the dislocation moment ("displacement moment") that occurs in this case.
- Poses change expresses. Such a pose change can be determined with finite element software such as ANSYS.
- the forces or moments acting on the actuators can be determined.
- a Hooke spring constant is assigned to each actuator, which results from model observation or measurement. As a result, changes in Aktorausschitch arise immediately.
- Each force magnitude system can be divided into 6 components as shown above, since the force vector and moment vector each have 3 components.
- correction vectors dx can be obtained by data acquisition, such as measurement of the assumed poses and / or readout of data describing the actuator deflections, on a real kinematics. Alternatively or additionally, the correction vectors dx can also be evaluated by evaluating
- the model describes the geometric, kinematic and / or dynamic properties of kinematics.
- the model of the kinematics is applied simulatively with defined external effects. For example, effects of
- Force variables or temperatures are simulated on the kinematics movements. Such external influences can be simulated by finite element software, for example.
- a model of a kinematics is moved in a computer simulation according to a predetermined number of first configuration vectors of a configuration space, wherein a control function is applied to the configuration vectors and wherein the model of the kinematics is simulatively loaded with defined external influences. Subsequently, the poses of the kinematics model assumed as a result of the movement in the simulation are recorded. The inverse function of the drive function is applied to these detected poses to obtain second configuration vectors.
- a correction value is determined in each case by evaluating the part of the first and of the associated second configuration vectors.
- a function for transforming the configuration space is subsequently determined and a corrected activation function defined as Successive execution of first the function for the transformation of the configuration space and then the control function.
- This corrected control function compensates for external influences.
- this method has already been described in the patent DE 10 201 1 079 764 B3.
- a preferred embodiment envisages using this method for pose error correction for the correction of externally induced poses errors, the method for evaluating data, in particular at least first and second
- Such a method for correcting poses errors of a kinematics comprises the following steps:
- Dx M * S, with: dx: Vector of the change of the actuator deflections
- TCP Tool Center Point
- correction matrices can now be interpolated, extrapolated and / or approximated to the entire configuration space. For any vector x of the
- Configuration space is thus defined a correction matrix, which together with the 6 Components of the resultant of the force-magnitude system defines a displacement dx in the configuration space. This is a compensation of the acting
- a correction vector M is assigned to a configuration vector x, which was determined in the pose gDK (x), which was determined by using the
- Control function was approached on x (where usually applies: gDK (x) + DK (x)). This is the case, for example, if the correction matrix is determined on the basis of a model of the ideal kinematics.
- a correction vector M is assigned to a configuration vector x, which was determined in the pose DK (x). This is the case, for example, if the correction matrix is determined on the basis of a model in which the corrected activation function (without consideration of exogenous pose errors) is already being applied.
- correction matrices of the sample set are then analyzed by interpolation,
- the correction matrix associated with the pose is first calculated and then multiplied by the temperature drift to obtain correcting leg length changes.
- the determination of the global correction map is analogous to that for the correction of the power system.
- correction quantities (and global correction maps) for other external influences can be determined in an analogous manner.
- Correction and correction of exogenous temperature influence can be made in combination by measuring the intrinsic correction, e.g. at three different temperatures in the relevant temperature range makes (one goes from one
- Another case of exogenous poses errors that can be compensated relates to a time-dependent heating and / or heating in which parts of a kinematics are exposed to different temperatures, as occurs, for example, when a kinematics is heated from the tool.
- the present invention uses
- Configuration space is assigned a correction matrix.
- FIG. 1 shows an illustration of a first exemplary embodiment of a
- Figure 2 is an illustration of a second embodiment of a
- Figure 3 is an illustration of a third embodiment of a
- FIG. 4 is an illustration for comparing second and third
- the desired pose is p (x)
- the kinematics are determined in a step 100 according to the determined configuration vector x, i. by applying the control function to the
- Configuration vector x moves. As a rule, this movement leads to a pose gDK (x) due to intrinsic errors, which deviates from the desired pose p (x).
- the assumed pose is measured and drawn as the pose gDK (x) measured at x.
- the kinematics is moved in step 102 into the desired pose p (x). This can be done by manually or otherwise fed back approaching the predetermined pose p (x) or by minimizing distance. If the kinematics have assumed the desired pose p (x), in a step 104 the actuator deflections x * corresponding to the first configuration vector are read out.
- a correction value dx is determined, which in a exemplary embodiment is a correction vector.
- Such a correction value is determined for all poses of the sample quantity and subsequently a correction function is determined on the entire configuration space KR by means of interpolation, extrapolation and / or approximation.
- the configuration vector x * corresponds to the kinetic kinematics of the kinematics when the kinematics assume the pose p (x).
- FIG. 2 illustrates an exemplary embodiment for correcting pose errors caused, for example, by an external force magnitude acting on the kinematics, for example caused by a tool mounted in the TCP.
- the determination of the correction matrices M can be carried out on a real kinematics, the kinematics being subjected to defined real force quantities.
- the determination of the correction matrices M can also be carried out with the aid of a simulation of a model of a kinematics, wherein the kinematics model is subjected to simulated force variables.
- An embodiment will now be described, with an ideal driving function applied to the kinematic model.
- An ideal drive function is understood to be a drive function which has not yet been corrected for intrinsic errors.
- the kinematics model assumes the pose p '(x).
- the kinematics model is moved into the desired pose p (x) and in step 204 the associated configuration vector x * is read out.
- the correction values dx and the global correction function are now respectively determined for the defined force variables.
- the kinematics model subjected to the simulated force magnitude is moved.
- the kinematics model takes the pose p '(x).
- the inverse drive function is applied to obtain an associated configuration vector x * .
- a correction value dx is determined.
- a correction function is determined on the entire configuration space KR by means of interpolation, extrapolation and / or approximation.
- the uncorrected ideal driving function is applied to the corrected configuration vector x korr in step 302.
- the corrected drive function which compensates for the exogenous influences of the force magnitude F, is defined in this embodiment as a successive execution of first the correction function and then the ideal drive function.
- the respective correction functions are carried out one after the other and the ideal control function is applied to the image of the configuration vector x among the successively executed correction functions.
- the ideal control function is used in the simulation. If, on the other hand, the correction function is determined on a real kinematics, either the ideal control function or the control function corrected by the intrinsic errors can be used to control in steps 200, 300 or 302.
- Figure 4 illustrates the differences between these two approaches.
- the kinematics is moved into the desired pose p (x) in step 402, and the configuration vector x ** is determined from the read-out actuator deflections in step 404.
- a corrected control function which compensates both the intrinsic and the exogenous errors, results from the successive execution of the first and second correction functions, which maps the configuration vector x onto the configuration vector x ** and the subsequent application of the uncorrected activation function to the configuration vector x *. * .
- the uncorrected control function is used to move the kinematics during the determination of the correction function for compensation of exogenous actions, the kinematics moves under the action of the force magnitude F to the pose P2 '(x), from where the kinematics in step 406 into the desired pose p (x) is moved, and it finally results in the correction value d 2 x.
- a third correction function is determined as described above, which corrects both the intrinsic and the exogenous actions.
- the same third correction function is also obtained if one uses the corrected activation function for movement of the kinematics, which is already adjusted for the intrinsic errors, but determines the correction value by evaluating the configuration vectors x and x ** , which then becomes d 2 x results.
- a corrected control function which compensates both the intrinsic and the exogenous errors, then results from the successive execution of the third correction function, which maps the configuration vector x onto the configuration vector x ** and the subsequent application of the uncorrected activation function to the configuration vector x ** ,
- kinematics refers to both the class of serial and parallel kinematics, as well as combinations of both classes. They include, for example, robots, machine tools, processing machines, manipulators, coordinate measuring machines, solid state robots. Furthermore, we also refer to kinematics that are provided with redundancy sensors.
- An actuator is a technical device that converts an input variable (electrical voltage, digital value, etc.) into a physically realized parameter or converts it into the change of a physical parameter that represents a degree of freedom of kinematics ,
- the deflection of the actuators can be determined for example from a known relationship between deflection and input quantity, or be realized for example by special measuring devices.
- Actuators are those technical components whose deflections are the elements of the
- the actuators include, in particular, linear actuators, rotary adjusters and linear measuring devices and rotary measuring devices, actuators made of memory alloys, piezoceramics, pneumatic or hydraulic implementations, etc. Freedom of Kinematics (DOF, Degree Of Freedom)
- DOF is defined as the number of degrees of freedom of a kinematics.
- the number of actuators is DOF for the kinematics suitable for the method. If there is redundancy, i. If the number of actuators exceeds the DOF, then DOF actuators are selected and considered according to the invention during the calibration.
- Pose (P) Under the heading of a kinematics we understand here the combination of position and orientation or components and subsets thereof of all relevant for the kinematics movable rigid bodies.
- the pose is associated with a single solid body. According to the invention, however, it is also possible to calibrate kinematics consisting of several sub-kinematics with respective relevant rigid bodies.
- Pose space is understood to mean either the set of all poses theoretically achievable by kinematics or else a suitable superset of these poses, such as e.g. the special Euclidean group SE (3) in the Gough manipulator.
- KR Configuration space
- DK Direct kinematics
- a direct kinematics is a function that assigns the corresponding pose from the pose space to an element from the configuration space.
- DK KR-> PR This assignment is done in a theoretical way and is based on the constructional geometry parameters of the kinematics. In practice, the reversible uniqueness is ensured, without restriction of generality, a reversible unambiguous mapping is assumed here.
- the direct kinematics is stored as a function in a control computer.
- the workspace is that part of the pose space intended for the operation of the kinematics. He is the set of poses a robot can take and take in normal operation.
- IK Inverse kinematics
- An inverse kinematics is a function that assigns the associated element from the configuration space to every pose in the pose space.
- IK is the reverse mapping of DK.
- GDK Measured direct kinematics
- the pose actually taken in this configuration can be determined metrologically - for example by means of a coordinate measuring machine.
- the mapping from the elements of KR to the pose actually taken is called measured direct kinematics (GDK).
- GDK maps the configuration space into the workspace:
- a set of elements of the configuration space that is provided for the calibration measurements is selected.
- KDK PM Corrected Direct Kinematics on PM
- Gough manipulators are also called
- N k N k ⁇ 1, 2,3 ... k ⁇ , ke N
- Q (i) Q (i) is the number of interval divisions at the actuator i
- Orientation This refers to how a body is oriented in three-dimensional space.
- the set of orientations in three-dimensional space is called a special orthogonal group SO (3).
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
The invention relates to a method and an arrangement for calibrating a kinematic system and to a corresponding computer program and corresponding computer-readable storage medium, which method, arrangement, computer program and storage medium can be used, in particular, to extend calibration to classes of parallel and serial robot kinematic systems which have not been constructed specially for achieving maximum accuracy levels but which preferably have a high level of reproducibility. For this reason, a method is proposed which comprises the following steps: - moving the kinematic system in such a way that the kinematic system assumes a number of positions with predefinable accuracy, - determining first configuration vectors by evaluating data describing the actuator deflections in the assumed positions, - determining a function for transforming the configuration space by evaluating the first and second configuration vectors, wherein the second configuration vectors are each mapped onto one of the positions by means of an actuation function, and - defining a calibrated actuation function on the basis of successive execution of firstly the function for transforming the configuration space and subsequently the actuation function.
Description
Verfahren und Anordnung zur Korrektur von Posenfehlern einer Kinematik sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium Method and arrangement for correcting poses errors of a kinematics and a corresponding computer program and a corresponding computer-readable storage medium
Gebiet der Erfindung Die Erfindung betrifft ein Verfahren und eine Anordnung zur Korrektur von Posenfehlern einer Kinematik sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium, welche insbesondere einsetzbar sind, um eine Korrektur auf Klassen von parallelen und seriellen Roboterkinematiken auszuweiten, die nicht speziell zum Erreichen größter Genauigkeiten konstruiert worden sind, die aber vorzugsweise eine hohe Reproduzierbarkeit aufweisen. Die wesentlichen Begrifflichkeiten werden weiter unten definiert. FIELD OF THE INVENTION The present invention relates to a method and apparatus for correcting pose errors of kinematics, and to a corresponding computer program and computer readable storage medium which are particularly useful for extending correction to classes of parallel and serial robot kinematics that are not specifically designed to achieve the utmost Accuracies have been constructed, but preferably have a high reproducibility. The essential terms are defined below.
Stand der Technik Es gibt eine Vielzahl von Ansätzen, um Kinematiken zu korrigieren oder zu kalibrieren. Viele Kalibriermethoden - wie auch die hier vorgestellte - können bei seriellen als auch bei parallelen Kinematiken eingesetzt werden, bei Robotern und Manipulatoren, weiterhin bei Messeinrichtungen wie Koordinatenmessmaschinen, oder auch bei Werkzeugmaschinen. Die Methoden der Posenfehlerkompensation einer Kinematik beziehen sich zunächst auf die Kinematik selbst, schließen aber oft auch noch periphere Teile wie Endeffektoren, verschiedene Halterungen und Adapter mit ein. Dem Stand der Technik entsprechend beruht die Kalibrierung zumeist darauf, durch Parameteridentifikation ein korrektes kinematisches Modell des zu kalibrierenden Individuums zu gewinnen, um auf diese Weise den Einfluss abweichender Geometrieparameter zu kompensieren. Background Art There are a variety of approaches to correcting or calibrating kinematics. Many calibration methods - as well as those presented here - can be used in serial as well as in parallel kinematics, in robots and manipulators, in measuring systems such as coordinate measuring machines, or even in machine tools. The kinematic methods of posse error compensation initially relate to the kinematic itself, but often also include peripheral parts such as end effectors, various mounts and adapters. In accordance with the state of the art, calibration is usually based on obtaining a correct kinematic model of the individual to be calibrated by parameter identification in order to compensate for the influence of deviating geometry parameters in this way.
Die Pose einer Kinematik als Funktion eines Elementes des Konfigurationsraumes ist durch eine Anzahl von Geometrieparametern definiert, die man das„kinematische Modell" dieser Kinematik nennt. The pose of kinematics as a function of an element of configuration space is defined by a number of geometry parameters called the "kinematic model" of this kinematics.
Insbesondere wegen produktionstechnisch bedingter Toleranzabweichungen und begrenzter Toleranzmaße bei der Fertigung gibt es bei jedem Individuum derselben Bauart hinsichtlich seiner Geometrieparameter Abweichungen zu den Geometrieparametern seines konstruktiv beabsichtigten kinematischen Modells (solche Abweichungen werden im folgenden auch intrinsische Posenfehler genannt, im
Gegensatz zu exogenen Posenfehlern, welche durch äußere Einwirkungen auf eine Kinematik hervorgerufen werden). In particular, due to production - related tolerance deviations and limited tolerances in the production of each individual of the same type with respect to its geometry parameters deviations from the geometry parameters of its constructive intended kinematic model (such deviations are also called intrinsic Posenfehler, im Contrast to exogenous poses errors, which are caused by external effects on a kinematics).
Posenfehler können aber auch durch äußere Einflüsse, wie z.B. Krafteinwirkungen oder Temperatureinflüsse, hervorgerufen werden. But pose errors can also be caused by external influences, such as Force effects or temperature influences are caused.
Dies hat zur Folge, dass eine lediglich auf einem nominellen kinematischen Modell basierende Ansteuerung einer Kinematik zu Posenfehlern führt. Wegen dieser in vielen Anwendungen nicht zu vernachlässigenden Posenfehler sind Kalibrier- oder Korrekturmaßnahmen erforderlich. Da Abweichungen in den Geometrieparametern für den Großteil der Posenfehler verantwortlich sind, fußen Maßnahmen zur Posenfehlerkompensation in der Praxis fast ausnahmslos auf einer möglichst genauen Identifizierung der Geometrieparameter ("Parameteridentifizierung") bei jedem einzelnen Individuum. As a result, triggering kinematics based solely on a nominal kinematic model leads to pose errors. Because of this pose error, which can not be ignored in many applications, calibration or corrective measures are required. Since deviations in the geometry parameters are responsible for the majority of the pose errors, measures for pose error compensation in practice almost without exception rely on the most accurate identification of the geometry parameters ("parameter identification") for each individual.
Dieser Identifikationsprozess fußt auf dem Vergleich einer Anzahl theoretisch errechneter Posen der Kinematik mit jenen, die durch Präzisionsmessungen ermittelt worden sind, ausgehend von demselben Element des Konfigurationsraumes. Es gibt eine umfassende Literatur hierüber, die sich auch generell mit dem Thema der robotischen Posenfehlerkompensation befasst. Als Beispiel wären hier zu nennen: This identification process is based on the comparison of a number of theoretically calculated poses of the kinematics with those obtained by precision measurements from the same element of the configuration space. There is a comprehensive literature on this subject, which is also generally concerned with the topic of robotic posse error compensation. As an example:
Pandilov, Z. & Dukovski, V., Several Open Problems in Parallel Robotics, ACTA TECHNICA CONVINIENSIS, Bulletin of Engineering, Tome IV, 201 1 , pp. 77-84. ISSN 2067-3809 Pandilov, Z. & Dukovski, V., Several Open Problems in Parallel Robotics, ACTA TECHNICA CONVINIENSIS, Bulletin of Engineering, Tome IV, 201 1, pp. 77-84. ISSN 2067-3809
Briot, S. and Bonev, I. A., "Are parallel robots more accurate than serial robots?," Transactions of the Canadian Society for Mechanical Engineering, Vol. 31 , No. 4, pp. 445-456, 2007 Majarena, A.C.; Santolaria, J.; Samper, D.; Aguilar, J.J. An Overview of Kinematic and Calibration Models Using Internal/External Sensors or Constraints to Improve the Behavior of Spatial Parallel Mechanisms. Sensors 2010, 10, 10256-10297. Briot, S. and Bonev, I.A., "Are parallel robots more accurate than serial robots ?," Transactions of the Canadian Society for Mechanical Engineering, Vol. 4, pp. 445-456, 2007 Majarena, A.C .; Santolaria, J .; Samper, D .; Aguilar, J.J. An Overview of Kinematic and Calibration Models Using Internal / External Sensors or Constraints to Improve the Behavior of Spatial Parallel Mechanisms. Sensors 2010, 10, 10256-10297.
oder or
Lukas Beyer: Genauigkeitssteigerung von Industrierobotern, insbesondere mit Parallelkinematik. Dissertation, Helmut-Schmidt-Universität Hamburg. Shaker Verlag, Aachen 2005, ISBN 3-8322-3681 -3. Lukas Beyer: Increasing the accuracy of industrial robots, especially with parallel kinematics. Dissertation, Helmut Schmidt University Hamburg. Shaker Verlag, Aachen 2005, ISBN 3-8322-3681 -3.
Die Posenfehlerkompensation auf der Basis von Parameteridentifikation verfügt über eine Anzahl von Nachteilen. Tatsächlich ist nämlich die Parameteridentifikation bei der hier
vorliegenden Aufgabenklasse mit erheblichen Problemen bei der Identifikation der ermittelten Parameter belastet (Nichtkonvexität der Fehlerfunktionale, d.h. Mehrdeutigkeit, numerische Instabilitäten usw.). Die ermittelten Parameter ersetzen die konstruktiven Geometrieparameter des aufwändig realisierten kinematischen Modells und entwerten hiermit die Präzision bei Fertigung und Montage der Komponenten der Kinematik. The pose error compensation based on parameter identification has a number of disadvantages. In fact, the parameter identification is here present task class is burdened with considerable problems in the identification of the parameters determined (non-convexity of the error functionalities, ie ambiguity, numerical instabilities, etc.). The determined parameters replace the constructional geometry parameters of the elaborate kinematic model and thus invalidate the precision in manufacturing and assembly of the kinematics components.
Hinzu kommen erhebliche Schwierigkeiten und Unsicherheiten bei der numerischen Bestimmung der Geometrieparameter aus den Messdaten. Die verwendeten Algorithmen sind heuristisch (z.B. Downhill-Simplex), die Zuverlässigkeit der Ergebnisse ist mit erheblichen Unwägbarkeiten belastet, die Korrektheit der Ergebnisse muss daher prinzipiell in Zweifel gezogen werden. Man kann sagen, dass kleinste Abweichungen in den Messwerten große Abweichungen der ermittelten Parameter zur Folge haben können. So beeinflussen zufällige Fehler in der Posenbestimmung bei einzelnen gemessenen Posen die ermittelten Parameter in nicht vorhersagbarer Weise. Es ist daher nicht verwunderlich, dass der Stand der Technik unbefriedigend ist und auf dem Gebiet der Kompensation von Posenfehlern intensiv geforscht wird. In addition, there are considerable difficulties and uncertainties in the numerical determination of the geometry parameters from the measured data. The algorithms used are heuristic (for example downhill simplex), the reliability of the results is burdened with considerable uncertainties, the correctness of the results must therefore be questioned in principle. It can be said that the smallest deviations in the measured values can lead to large deviations of the determined parameters. For example, random errors in the pose determination of individual measured poses influence the determined parameters in an unpredictable manner. It is therefore not surprising that the state of the art is unsatisfactory and research is intensively conducted in the field of compensation for poses errors.
Auf dem Gebiet der Erfindung ist aus der deutschen Patentschrift DE 10 201 1 079 764 B3 ein Kalibrierungsverfahren bekannt, bei dem eine inverse Kinematik auf gemessene Posen angewendet wird, um die Aktorpositionen zu ermitteln, die zu der gemessenen Pose führen. In the field of the invention, a calibration method is known from the German patent DE 10 201 1 079 764 B3, in which an inverse kinematics is applied to measured poses in order to determine the actuator positions which lead to the measured pose.
Aufgabe der Erfindung war es deshalb, ein Verfahren und eine Anordnung zur Kalibrierung einer Kinematik sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium bereitzustellen, welche die oben beschriebenen Nachteile vermeiden und es insbesondere gestatten, belastbare Fehlermaße für eine Vielzahl von parallelen und seriellen Roboterkinematiken zu ermitteln. Insbesondere soll zu DE 10 201 1 079 764 B3 eine Alternative aufgezeigt werden. Insbesondere soll der sich entwickelnden optischen Sensortechnik Rechnung getragen werden. The object of the invention was therefore to provide a method and an arrangement for calibrating a kinematics and a corresponding computer program and a corresponding computer-readable storage medium, which avoid the disadvantages described above and in particular allow to determine loadable error measures for a variety of parallel and serial robot kinematics , In particular, to DE 10 201 1 079 764 B3 an alternative will be shown. In particular, the developing optical sensor technology should be taken into account.
Diese Aufgabe wird erfindungsgemäß durch die Merkmale in den Ansprüchen 1 und 9 bis 1 1 gelöst. Zweckmäßige Ausgestaltungen der Erfindung sind in den Unteransprüchen enthalten.
Ein besonderer Vorteil der Erfindung besteht darin, dass Kinematiken für alle realisierbaren Posen mit hoher Präzision korrigiert werden. Das wird dadurch erreicht, dass bei dem erfindungsgemäßen Verfahren zur Posenfehlerkorrektur von Kinematiken eine Kinematik in eine Anzahl von Posen p(x) bewegt wird. Bei den Posen p(x) kann es sich beispielsweise um vorgegebene Posen handeln. In einer bevorzugten Ausführungsform ist vorgesehen, dass die Posen p(x) durch einen Zufallsalgorithmus vorgegeben werden. Die Pose p(x) wird dabei mit einer vorgegebenen Genauigkeit von der Kinematik eingenommen. Wenn die Kinematik eine der (vorgegebenen) Posen p(x) eingenommen hat, wird ein zu der Pose p(x) gehöriger erster Konfigurationsvektor x* bestimmt, indem Daten ausgewertet werden, die die Aktorauslenkungen der Kinematik in der eingenommenen Pose p(x) beschreiben. Eine bevorzugte Ausführungsform der Erfindung sieht vor, dass die zu den Posen p(x) gehörigen ersten Konfigurationsvektoren x* bestimmt werden, indem für jede der Posen p(x) Daten ausgelesen werden, die die Aktorauslenkungen der Kinematik in der jeweils eingenommenen Pose p(x) beschreiben. Ein Konfigurationsvektor beschreibt die Aktorauslenkung bzw. Aktorposition einer Kinematik. In einer bevorzugten Ausführungsform ist vorgesehen, dass als zu einer Pose p(x) gehörige Aktorauslenkungen die angesteuerten Aktorauslenkungen verwendet werden. Vorzugsweise werden die Aktorauslenkungen der Kinematik selbst ausgelesen. Eine andere bevorzugte Ausführungsform sieht vor, dass die Kinematik auf einem Pfad entlanggeführt wird, wobei an bestimmten Stellen des Pfades erste Konfigurationsvektoren x* bestimmt werden. Die zugehörigen Posen können vor, nach oder gleichzeitig mit der Bestimmung der ersten Konfigurationsvektoren x* vermessen werden. Das erfindungsgemäße Verfahren umfasst weiter die Bestimmung eines zweiten zu der Pose p(x) gehörigen Konfigurationsvektor x, wobei der zweite Konfigurationsvektor x dadurch ausgezeichnet ist, dass der zweite Konfigurationsvektor x durch eine Ansteuerungsfunktion DK auf die gewünschte Pose p(x) abgebildet wird, d.h.: DK(x) = p(x) bzw. x = IK(p(x)). Allgemein gesprochen, bildet die Ansteuerungsfunktion, auch direkte Kinematik genannt, Vektoren x aus einem Konfigurationsraum KR auf Vektoren p eines Posenraumes PR ab: DK: KR ^ PR; x ^ DK(x) = p. This object is achieved by the features in claims 1 and 9 to 1 1. Advantageous embodiments of the invention are contained in the subclaims. A particular advantage of the invention is that kinematics for all feasible poses are corrected with high precision. This is achieved by kinematics being moved into a number of poses p (x) in the method according to the invention for posse error correction of kinematics. For example, the poses p (x) can be predefined poses. In a preferred embodiment it is provided that the poses p (x) are predetermined by a random algorithm. The pose p (x) is taken with a predetermined accuracy of the kinematics. If the kinematics has assumed one of the (predefined) poses p (x), a first configuration vector x * belonging to the pose p (x) is determined by evaluating data which the kinetic kinematics of the pose in the assumed pose p (x) describe. A preferred embodiment of the invention provides that the first configuration vectors x * belonging to the poses p (x) are determined by reading out for each of the poses p (x) data which the kinetic kinematics of the respective pose (p) x) describe. A configuration vector describes the actuator deflection or actuator position of a kinematics. In a preferred embodiment, provision is made for the actuated actuator deflections to be used as actuator deflections belonging to a pose p (x). Preferably, the Aktorauslenkungen the kinematics are read out itself. Another preferred embodiment provides that the kinematics is guided along a path, wherein first configuration vectors x * are determined at certain points of the path. The associated poses can be measured before, after or simultaneously with the determination of the first configuration vectors x * . The inventive method further comprises the determination of a second to the pose p (x) associated configuration vector x, wherein the second configuration vector x is characterized in that the second configuration vector x is mapped by a control function DK on the desired pose p (x), ie : DK (x) = p (x) or x = IK (p (x)). Generally speaking, the control function, also called direct kinematics, maps vectors x from a configuration space KR to vectors p of a pose space PR: DK: KR ^ PR; x ^ DK (x) = p.
Für jede Kinematik ist die Ansteuerungsfunktion so definiert, dass die Kinematik zu der Pose DK(x) bewegt wird, wenn die Kinematik die Aktorauslenkung bzw. Aktorposition x annimmt. Durch Fehlertoleranzen bei der Herstellung der Kinematik oder durch äußere Einflüsse und/oder Einwirkungen am Aufstellungsort der Kinematik weicht die Pose, welche die Kinematik bei Anwendung der Ansteuerungsfunktion auf einen
Konfigurationsvektor x tatsächlich von der theoretisch vorausgesagten oder gewünschten Pose DK(x) = p(x) ab. Die bei Ansteuerung, Bewegung bzw. Kommandierung der Kinematik unter Verwendung des Konfigurationsvektors x tatsächlich eingenommene Pose wird als gemessene Pose gDK(x) zum Konfigurationsvektor x bezeichnet. Bei den äußeren Einflüssen und/oder Einwirkungen kann es sich beispielsweise um externe Kraftgrößen und/oder Temperatureinflüsse handeln. Insbesondere werden in einer bevorzugten Ausführungsform der Erfindung Einflüsse von thermischen Ausdehnungen oder Verformungen durch Gewichts- oder Trägheitskräfte im Betrieb der Kinematik festgestellt und durch eine entsprechende Transformation des Konfigurationsraumes kompensiert. Erfindungsgemäß wird somit der Einfluss äußerer Kräfte und Momente in verschiedenen Posen zunächst im Rahmen eines Kalibrierprozesses entweder gemessen oder durch Simulationsrechnung bestimmt. Die Wirkungen der Einflüsse werden dann tabellarisch als korrigierende Differenzen der Aktuatorauslenkungen für verschiedene Orte des Konfigurationsraumes gespeichert, um danach auf dem Wege der Transformation des Konfigurationsraumes im Betrieb der Kinematik ausgewertet zu werden. For each kinematics, the control function is defined so that the kinematics is moved to the pose DK (x) when the kinematics assumes the actuator displacement or actuator position x. By fault tolerances in the production of kinematics or by external influences and / or effects at the site of kinematics, the pose, which the kinematics in application of the control function on a In fact, the configuration vector x actually depends on the theoretically predicted or desired pose DK (x) = p (x). The pose actually assumed during activation, movement or commanding of the kinematics using the configuration vector x is referred to as the measured pose gDK (x) for the configuration vector x. The external influences and / or actions may be, for example, external force variables and / or temperature influences. In particular, in a preferred embodiment of the invention influences of thermal expansions or deformations by weight or inertial forces in the operation of the kinematics are determined and compensated by a corresponding transformation of the configuration space. According to the invention, the influence of external forces and moments in various poses is thus initially either measured in the course of a calibration process or determined by simulation calculation. The effects of the influences are then stored in tabular form as corrective differences of the actuator deflections for different locations of the configuration space, in order then to be evaluated in the way of the transformation of the configuration space in the operation of the kinematics.
Zu jeder Ansteuerungsfunktion DK gehört eine Umkehrabbildung, die sogenannte inverse Kinematik IK. Mit Hilfe der inversen Kinematik IK wird zu einer Pose p diejenige Aktorposition x ermittelt, die (theoretisch) zu der Pose p führt, wenn die Ansteuerungsfunktion auf den Vektor x angewendet wird. In einer bevorzugten Ausführungsform ist vorgesehen, dass der zweite Konfigurationsvektor x durch Anwendung der inversen Kinematik IK auf die von der Kinematik eingenommene Pose p(x) ermittelt wird durch IK(p(x)) = x. Each control function DK includes a reverse mapping, the so-called inverse kinematics IK. With the help of the inverse kinematics IK, the actuator position x is determined for a pose p which (theoretically) leads to the pose p when the activation function is applied to the vector x. In a preferred embodiment, it is provided that the second configuration vector x is determined by applying the inverse kinematics IK to the pose p (x) occupied by the kinematics by IK (p (x)) = x.
Erfindungsgemäß ist weiter vorgesehen, dass für zumindest einen Teil der vorgegebenen Posen der erste und der zweite zu der jeweiligen Pose gehörige Konfigurationsvektor x* und x ausgewertet werden, um eine Funktion zur Transformation des Konfigurationsraumes zu erhalten. Dabei wird in einer bevorzugten Ausführungsform beispielsweise erst für die vorgegebenen Posen p(x) jeweils ein Korrekturwert Δχ, z.B: Δχ = x* - x, ermittelt und anschließend aus den diskreten Korrekturvektoren eine globale Funktion zur Transformation des Konfigurationsraumes bestimmt. Vorzugsweise handelt es sich bei dem Korrekturwert um einen vektoriellen Korrekturwert. According to the invention, it is further provided that for at least a part of the predefined poses, the first and second configuration vectors x * and x belonging to the respective pose are evaluated in order to obtain a function for transforming the configuration space. In this case, in a preferred embodiment, for example, only for the given poses p (x) in each case a correction value Δχ, eg: Δχ = x * - x, determined and then determined from the discrete correction vectors, a global function for the transformation of the configuration space. Preferably, the correction value is a vector correction value.
In Kenntnis des zweiten und/oder ersten Vektors und der zugehörigen Korrekturwerte auf der diskreten Teilmenge des Konfigurationsraums wird also die Menge der Korrekturwerte
auf weitere, vorzugsweise auf alle Elemente des gesamten Konfigurationsraums fortgesetzt, vorzugsweise durch Interpolation, Extrapolation und/oder Approximation. Nun kann diesen Vektoren des Konfigurationsraumes jeweils durch Anwendung des Korrekturwertes ein korrigierter zugehöriger Vektor aus dem Konfigurationsraum zuordnet werden. Die Abbildung von zweiten zu korrigierten Vektoren x auf korrigierte Vektoren x* kann als Transformation des Konfigurationsraums betrachtet werden. With knowledge of the second and / or first vector and the associated correction values on the discrete subset of the configuration space, the set of correction values thus becomes to further, preferably to all elements of the entire configuration space continued, preferably by interpolation, extrapolation and / or approximation. Now these vectors of the configuration space can each be assigned a corrected associated vector from the configuration space by applying the correction value. The mapping of second to corrected vectors x onto corrected vectors x * can be considered as a transformation of the configuration space.
Mit Hilfe der Funktion zur Transformation des Konfigurationsraums wird eine kalibrierte Ansteuerungsfunktion definiert derart, dass erst die Funktion zur Transformation des Konfigurationsraums auf einen Vektor x aus dem Konfigurationsraum und anschließend die Ansteuerungsfunktion auf den so erhaltenen transformierten Vektor x* aus dem Konfigurationsraum angewendet wird. Genauer gesprochen: Wenn eine Pose p eingenommen werden soll, wird über die inversen Kinematik IK der Vektor x = IK(p) aus dem Konfigurationsraum ermittelt, der theoretisch zu der Pose p führen würde. Auf diesen Vektor x wird die Transformation angewendet, um einen korrigierten Vektor zu erhalten. Falls es sich bei der Pose p um eine der vorgegebenen Posen handelt, ist der korrigierte Vektor der zu der Pose p gehörige, ausgelesene erste Konfigurationsvektor x*. Das Bild dieser Transformation, d.h. der durch Ausführung dieser Transformation erhaltene Wert ist ebenfalls ein Vektor, der im Regelfall ein Element des Konfigurationsraums ist. Ist er ein Element des Konfigurationsraumes, wird auf ihn anschließend die direkte Kinematik DK angewandt. Anderenfalls ergibt sich eine nicht realisierbare Pose. Die kalibrierte Ansteuerungsfunktion ist demnach die Nacheinanderausführung der Funktion zur Transformation des Konfigurationsraums und der (ursprünglichen) Ansteuerungsfunktion auf den Vektor x. Zur Ansteuerung, Bewegung bzw. Kommandierung der Kinematik wird nunmehr anstelle der (ursprünglichen) Ansteuerungsfunktion die kalibrierte Ansteuerungsfunktion genutzt. With the help of the function of transforming the configuration space, a calibrated drive function is defined such that first the function for transforming the configuration space to a vector x from the configuration space and then the drive function to the transformed vector x * thus obtained from the configuration space is applied. More precisely: If a pose p is to be taken, the inverse kinematics IK is used to determine the vector x = IK (p) from the configuration space, which would theoretically lead to the pose p. For this vector x, the transformation is applied to obtain a corrected vector. If the pose p is one of the predefined poses, the corrected vector is the first configuration vector x * which belongs to the pose p. The image of this transformation, ie the value obtained by executing this transformation, is also a vector, which is usually an element of the configuration space. If it is an element of the configuration space, the direct kinematics DK is then applied to it. Otherwise, there is an unrealizable pose. The calibrated drive function is therefore the successive execution of the function for transforming the configuration space and the (original) drive function to the vector x. To control, move or command the kinematics, the calibrated control function is now used instead of the (original) control function.
In einer bevorzugten Ausführungsform ist vorgesehen, dass eine Menge von Konfigurationsvektoren x' vorgegeben und die Kinematik durch Anwendung der Ansteuerungsfunktion auf diese Konfigurationsvektoren x' bewegt wird. Als vorteilhaft erweist es sich, wenn es sich bei den vorgegebenen Konfigurationsvektoren x' um die Urbilder der gewünschten Posen p unter der Ansteuerungsfunktion handelt. Dadurch wird u.a. erreicht, dass die Kinematik in die Nähe der gewünschten Posen p bewegt wird. Vorzugsweise werden die durch diese Kommandierung eingenommenen Posen vermessen. Das Ergebnis wird mit gDK(x') bezeichnet. Nachdem die Kinematik in eine (fehlerbehaftete) Pose gDK(x') verfahren wurde, wird die Kinematik mit einer vorgegebenen Genauigkeit in die vorgegebene Pose p bewegt. In dieser bevorzugten
Ausführungsform handelt es sich bei der vorgegebenen Pose p um die Pose, auf die der Konfigurationsvektor x' durch Anwendung der direkten Kinematik abgebildet wird, d.h.: p = DK(x'). Für diese vorgegebene Pose p wird der erste zu der Pose p gehörige Konfigurationsvektor x*, wie oben beschrieben, bestimmt, indem Daten ausgelesen werden, die die Aktorauslenkungen der Kinematik in der eingenommenen Pose p beschreiben. Ebenso wird, wie oben beschrieben, der zugehörige zweite Konfigurationsvektor x als IK(p) bestimmt. Vorzugsweise geschieht das, indem der Pose p = DK(x') der Konfigurationsvektor x' zugeordnet wird. In diesem Falle gilt x = x'. Aus diesen ersten und zweiten Konfigurationsvektoren lassen sich nun die Funktion zur Transformation des Konfigurationsraumes und die kalibrierte Ansteuerungsfunktion bestimmen. Als vorteilhaft erweist es sich bei diesem Vorgehen, wenn die vorgegebenen Konfigurationsvektoren x' den Posen p, in die die Kinematik schließlich bewegt wurde, als zweite Konfigurationsvektoren x zugeordnet werden. In a preferred embodiment, provision is made for a set of configuration vectors x 'to be predetermined and for the kinematics to be moved to these configuration vectors x' by using the activation function. It proves to be advantageous if the given configuration vectors x 'are the original images of the desired poses p under the control function. As a result, it is achieved, inter alia, that the kinematics are moved in the vicinity of the desired poses p. Preferably, the poses taken by this commanding are measured. The result is denoted by gDK (x '). After the kinematics have been moved into a (defective) pose gDK (x '), the kinematics is moved into the predetermined pose p with a predetermined accuracy. In this preferred In the embodiment, the predetermined pose p is the pose to which the configuration vector x 'is imaged by application of the direct kinematics, ie: p = DK (x'). For this predefined pose p, the first configuration vector x * belonging to the pose p is determined, as described above, by reading out data describing the kinematics' actuator deflections in the assumed pose p. Likewise, as described above, the associated second configuration vector x is determined as IK (p). This is preferably done by assigning the pose p = DK (x ') the configuration vector x'. In this case, x = x '. The function for the transformation of the configuration space and the calibrated control function can now be determined from these first and second configuration vectors. It proves to be advantageous in this procedure if the given configuration vectors x 'are assigned to the poses p, into which the kinematic was finally moved, as second configuration vectors x.
Das Positionieren der Kinematik durch Vorgabe von Konfigurationsvektoren x' vor dem Anfahren der vorgegebenen Pose hat den besonderen Vorteil, dass dadurch die zur Ermittlung der Korrekturwerte vorgegebenen Konfigurationsvektoren x' bzw. x gleichmäßig im Konfigurationsraum KR verteilt werden können. Positioning the kinematics by specifying configuration vectors x 'before approaching the predefined pose has the particular advantage that the configuration vectors x' or x prescribed for determining the correction values can thereby be uniformly distributed in the configuration space KR.
In einer bevorzugten Ausführungsform ist vorgesehen, dass das Bewegen der Kinematik von der eingenommenen Pose gDK(x') in die vorgegebene Pose p bzw. in die Nähe der vorgegebenen Pose p, die durch eine vorgegebene Fehlertoleranz bestimmt ist, durch eine Minimierung des Abstands im Arbeitsraum AR über Differenzbildung im Arbeitsraum AR, wobei in einer bevorzugten Ausführungsform vorgesehen ist, dass hierfür die von der Kinematik eingenommenen Posen vermessen werden und der Abstand zu der einzunehmenden, vorgegebenen Pose minimiert wird; - durch Minimierung des Abstands in einem dem Konfigurationsraum KR oderIn a preferred embodiment it is provided that moving the kinematics of the assumed pose gDK (x ') in the predetermined pose p or in the vicinity of the predetermined pose p, which is determined by a predetermined error tolerance, by minimizing the distance in Working space AR via difference formation in the working space AR, wherein in a preferred embodiment it is provided that for this purpose the poses taken by the kinematics are measured and the distance to the predetermined pose to be taken is minimized; by minimizing the distance in a configuration space KR or
Arbeitsraum AR eindeutig zugeordneten Hilfsraum (Steuerraum), durch manuelles oder anderweitig rückgekoppeltes Anfahren der vorgegebenen Pose p oder durch mehrfaches Anfahren der Pose p und eine anschließend ausgeführte Fehlerausgleichsrechnung erfolgt.
In einer bevorzugten Ausführungsform der Erfindung werden die vorgegebenen Posen p durch anzufahrende Artefakte gegeben. In einer weiteren bevorzugten Ausführungsform geschieht das Anfahren der Posen p durch Zuhilfenahme von Messmitteln. Workspace AR uniquely assigned auxiliary space (control room), by manually or otherwise fed back approaching the predetermined pose p or by multiple approaching the pose p and then performed error compensation calculation. In a preferred embodiment of the invention, the predetermined poses p are given by artefacts to be approached. In a further preferred embodiment, the approach of the poses p by means of measuring means happens.
Als vorteilhaft erweist es sich, wenn die Verfahrensschritte zur Korrektur der Posenfehler in einer Simulation, vorzugsweise mit einer computergestützten Simulation, und/oder mit einem computergenerierten Modell der Kinematik ausgeführt werden. Dies ist insbesondere für die Korrektur von Posenfehlern, die durch äußere Einwirkungen hervorgerufen werden, vorteilhaft. Ein Vorteil der Ausführung des Verfahrens mit Hilfe einer Simulation und/oder eines Modells besteht darin, dass die Anzahl der vorgegebenen Posen p(x) sehr groß gewählt werden kann, wodurch die Genauigkeit der globalen durch Interpolation, Extrapolation und/oder Approximation gewonnenen Transformationsfunktion erhöht wird. It proves to be advantageous if the method steps for correcting the pose errors are carried out in a simulation, preferably with a computer-aided simulation, and / or with a computer-generated model of the kinematics. This is particularly advantageous for the correction of poses errors caused by external influences. An advantage of performing the method by means of a simulation and / or a model is that the number of predetermined poses p (x) can be made very large, which increases the accuracy of the global transformation function obtained by interpolation, extrapolation and / or approximation becomes.
In einer bevorzugten Ausführungsform der Erfindung ist vorsehen, dass die durch die Menge von vorgegebenen Vektoren x' des Konfigurationsraums KR definierten Aktorpositionen im Wesentlichen im Konfigurationsraum gleichverteilt sind. Wenn ein Aktor beispielsweise in einem Intervall [a, b] (das kann beispielsweise ein translatorisches oder rotatorisches Intervall sein) arbeitet, dann wird das Intervall gemäß dieser bevorzugten Ausführungsform in n gleiche Teilintervalle eingeteilt. Die Grenzen dieser Teilintervalle dienen dann als vorgegebene Komponenten der vorgegebenen Konfigurationsvektoren x' des Konfigurationsraums KR. Dadurch erhält man ein gleichverteiltes Gitter von Punkten im Konfigurationsraum KR. Erfindungsgemäß wird diesen Punkten jeweils ein Korrekturwert zugeordnet, und aus dieser Zuordnung für die diskret im Konfigurationsraum KR verteilten Punkte wird durch Interpolation, Approximation oder Extrapolation die Funktion zur Transformation des Konfigurationsraums ermittelt, die jedem Punkt bzw. Vektor des Konfigurationsraums KR einen Korrekturwert zuordnet. In einer bevorzugten Ausführungsform ist vorgesehen, dass diese durch Interpolation, Approximation oder Extrapolation erhaltene Funktion auf werte des Konfigurationsraumes fortgesetzt wird, die über die durch die Kinematik realisierbaren Intervalle hinausgehen. Da bei der Vermessung der durch die Kinematik eingenommenen Posen auch solche Posen ermittelt werden können, die theoretisch durch Anwendung der Ansteuerungsfunktion auf Vektoren aus dem Wertebereich der Aktorintervalle gar nicht erreicht werden, ergibt sich eine Differenz zwischen dem Arbeitsraum, d.h. die Menge der durch die Kinematik bei Auswertung der Ansteuerungsfunktion realisierbaren Posen, und
den tatsächlich durch die Kinematik eingenommenen Posen. Eine bevorzugte Ausführungsform sieht daher vor, dass diese Differenz bei der Definition der kalibrierten Ansteuerungsfunktion berücksichtigt wird. In a preferred embodiment of the invention, it is provided that the actuator positions defined by the set of predetermined vectors x 'of the configuration space KR are distributed substantially uniformly in the configuration space. For example, if an actor is operating in an interval [a, b] (which may be, for example, a translational or rotational interval), then the interval according to this preferred embodiment is divided into n equal subintervals. The limits of these subintervals then serve as predefined components of the given configuration vectors x 'of the configuration space KR. This gives a uniformly distributed grid of points in the configuration space KR. According to the invention, a correction value is assigned to each of these points, and from this assignment for the points discretely distributed in the configuration space KR, the function for transforming the configuration space is determined by interpolation, approximation or extrapolation, which assigns a correction value to each point or vector of the configuration space KR. In a preferred embodiment, it is provided that this function, which has been obtained by interpolation, approximation or extrapolation, is continued to values of the configuration space which exceed the intervals which can be achieved by kinematics. Since, during the measurement of the poses assumed by the kinematics, it is also possible to determine those poses that are theoretically not reached by applying the control function to vectors from the value range of the actuator intervals, this results in a difference between the working space, ie the amount of kinematics in the evaluation of the control function feasible poses, and the poses actually taken up by the kinematics. A preferred embodiment therefore provides for this difference to be taken into account in the definition of the calibrated actuation function.
Eine andere bevorzugte Ausführungsform der Erfindung sieht vor, dass bei dem Verfahren zur Posenfehlerkompensation von Kinematiken eine Posenkorrektur durch eine korrigierende Transformation des Konfigurationsraumes gewonnen wird. Die korrigierende Transformation des Konfigurationsraumes ist dadurch auszeichnet, dass ausgehend von einer endlichen Teilmenge des Konfigurationsraumes für jedes Element x dieser Menge ein vektorieller Korrektursummand bestimmt wird und die dadurch gegebene Funktion durch eine geeignete Erweiterung des Definitionsbereiches auf den gesamten Konfigurationsraum erweitert wird, und sich die korrigierende Transformation für den gesamten Konfigurationsraum durch die Addition der Korrektursummanden, die vermittels der erweiterten Funktion erhalten werden, mit der identischen Selbstabbildung des Konfigurationsraumes auf sich selbst ergibt. Die korrigierte Realisierung einer Pose p bei einem Kinematikindividuum wird dadurch gewonnen, dass zunächst aus der gewünschten Pose p durch Anwendung der inversen Kinematik IK ein Element des Konfigurationsraumes gewonnen wird, zu diesem Element ein zu diesem Element gehörender Korrekturwert addiert und dann die Pose kommandiert wird. Another preferred embodiment of the invention provides that in the method for pose error compensation of kinematics, a pose correction is obtained by a corrective transformation of the configuration space. The corrective transformation of the configuration space is distinguished by the fact that, starting from a finite subset of the configuration space, a vectorial correction sum is determined for each element x of this set, and the function given by this is extended to the entire configuration space by a suitable extension of the definition area, and the correcting function Transformation for the entire configuration space by the addition of the correction sum obtained by means of the extended function with the identical self-mapping of the configuration space to itself. The corrected realization of a pose p in a kinematics individual is obtained by first obtaining an element of the configuration space from the desired pose p by applying the inverse kinematics IK, adding to this element a correction value belonging to this element, and then commanding the pose.
In einer bevorzugten Ausführungsform ist vorgesehen, dass als vorgegebene Konfigurationsvektoren (Probenmenge) des Konfigurationsraumes die Probenmenge eines Rechtkant-Rasters im Konfigurationsraum herangezogen wird. Unter einem Rechtkant-Konfigurationsraum wird das kartesische Produkt von allen Arbeitsbereichen bzw. Aktorintervallen [a(i), b(i)] (i = 1 , ... , DOF) verstanden. Als Rechtkant wird ein mehrdimensionaler Quader bezeichnet. In a preferred embodiment, it is provided that the sample quantity of a right-angled grid in the configuration space is used as the predetermined configuration vectors (sample quantity) of the configuration space. A rectangular configuration space is understood to mean the Cartesian product of all work areas or actuator intervals [a (i), b (i)] (i = 1,..., DOF). The right edge is a multidimensional box.
Als vorteilhaft erweist es sich, wenn die Aktorintervalle [a(i), b(i)] (i = 1 , ... , DOF) in weitere Teilintervalle zerlegt werden. Als vorteilhaft erweist sich weiter, wenn die Aktorintervalle in Teilintervalle jeweils gleicher Länge zerlegt werden. Die Intervallgrenzen WG, i) mit a(i) = W(0,i) < W(1 ,i) < W(2,i) ... <W(Q(i),i) = b(i) werden auch als Intervallzerteilungsskalare bezeichnet. Eine bevorzugte Ausführungsform sieht vor, dass die Intervallzerteilungsskalare der Aktorintervalle zumindest einige der Endpunkte der Aktorauslenkungen nicht umfassen, derart, dass das in den Konfigurationsraum eingeschriebene Rechtkant eine echte Teilmenge des Konfigurationsraumes ist. In der Differenzmenge„Konfigurationsraum \ Rechtkant" wird die Korrekturfunktion durch Mittel der Extrapolation gewonnen.
In einer weiteren bevorzugten Ausführungsform ist vorgesehen, den Konfigurationsraum ganz oder teilweise mit finiten Elementen zu überdecken. Dabei werden die Ecken der finiten Elemente als Probenmenge vermessen. It proves to be advantageous if the actuator intervals [a (i), b (i)] (i = 1,..., DOF) are decomposed into further subintervals. It proves to be advantageous if the Aktorintervalle be broken down into sub-intervals of the same length. The interval limits WG, i) with a (i) = W (0, i) <W (1, i) <W (2, i) ... <W (Q (i), i) = b (i) are also called interval splitting scales. A preferred embodiment provides that the interval dividing scalars of the actuator intervals do not comprise at least some of the endpoints of the actuator deflections, such that the right edge written into the configuration space is a true subset of the configuration space. In the difference set "configuration space \ right edge", the correction function is obtained by means of extrapolation. In a further preferred embodiment, it is provided to completely or partially cover the configuration space with finite elements. The corners of the finite elements are measured as a sample.
In einer weiteren bevorzugten Ausführungsform werden n-Simplexe als finite Elemente verwendet. Die Dimension n entspricht dabei dem Freiheitsgrad DOF der Kinematik. Ausgehend von der mit den Ecken der Simplexe definierten Probenmenge werden entsprechend wie oben beschrieben Korrekturwerte für diese Probenmenge ermittelt. Diese werden anschließend im Innern der einzelnen Simplexe baryzentrisch interpoliert bzw. nach außen extrapoliert. Auf der Basis dieser Korrekturwerte wird wie vor beschrieben eine Transformation des Konfigurationsraumes definiert. In a further preferred embodiment, n-simplexes are used as finite elements. The dimension n corresponds to the degree of freedom DOF of the kinematics. Based on the sample quantity defined with the corners of the simplexes, correction values for this sample quantity are determined as described above. These are then barycentric interpolated inside the individual simplexes or extrapolated to the outside. On the basis of these correction values, a transformation of the configuration space is defined as described above.
Die vorgenannten Verfahren können mehrfach nacheinander ausgeführt und / oder miteinander kombiniert werden. In einzelnen Bereichen oder Punkten von Konfigurationsraum, von Arbeitsraum oder von beiden Räumen können weitere Korrekturen auf der Basis von Fehlermapping und Ausgleichsrechnung durchgeführt werden. The abovementioned methods can be carried out several times in succession and / or combined with one another. In individual areas or points of configuration space, working space or both rooms, further corrections can be made on the basis of error mapping and compensation calculation.
Eine Anordnung nach der Erfindung weist mindestens einen Chip und/oder Prozessor auf und ist derart eingerichtet, dass vorzugsweise im Zusammenspiel mit einer Kinematik ein Verfahren zur Korrektur von Posenfehlern der Kinematik ausführbar ist, wobei das Verfahren folgende Schritte umfasst: An arrangement according to the invention has at least one chip and / or processor and is set up such that a method for correcting poses errors of the kinematics is preferably executable in interaction with kinematics, the method comprising the following steps:
Bewegen der Kinematik derart, dass die Kinematik eine Anzahl von, vorzugsweise vorgegebenen, Posen mit vorgebbarer Genauigkeit einnimmt, Move the kinematics such that the kinematics occupy a number of, preferably predetermined, poses with predeterminable accuracy,
Bestimmen von ersten Konfigurationsvektoren durch Auslesen der die Aktorauslenkungen in den eingenommenen Posen beschreibenden Daten, Determining first configuration vectors by reading out the data describing the actuator deflections in the assumed poses,
Ermittlung einer Funktion zur Transformation des Konfigurationsraums durch Auswertung der ersten und von zweiten Konfigurationsvektoren, wobei die zweiten Konfigurationsvektoren durch eine Ansteuerungsfunktion jeweils auf eine der Posen abgebildet werden, und Determining a function for the transformation of the configuration space by evaluation of the first and second configuration vectors, wherein the second configuration vectors are mapped by a control function in each case to one of the poses, and
Definition einer kalibrierten Ansteuerungsfunktion aus Nacheinanderausführung von erst der Funktion zur Transformation des Konfigurationsraums und anschließend der Ansteuerungsfunktion. Ein Computerprogramm nach der Erfindung ermöglicht es einer Datenverarbeitungseinrichtung, nachdem es in Speichermittel der
Datenverarbeitungseinrichtung geladen worden ist, vorzugsweise im Zusammenspiel mit einer Kinematik ein Verfahren zur Korrektur von Posenfehlern der Kinematik durchzuführen, wobei das Verfahren folgende Schritte umfasst: Definition of a calibrated control function from successive execution of first the function for the transformation of the configuration space and then the control function. A computer program according to the invention makes it possible for a data processing device, after it has been stored in storage means of the Data processing device has been loaded, preferably in conjunction with a kinematics perform a method for correcting poses errors of kinematics, the method comprising the steps of:
Bewegen der Kinematik derart, dass die Kinematik eine Anzahl von, vorzugsweise vorgegebenen, Posen mit vorgebbarer Genauigkeit einnimmt, Move the kinematics such that the kinematics occupy a number of, preferably predetermined, poses with predeterminable accuracy,
Bestimmen von ersten Konfigurationsvektoren durch Auslesen von Daten, welche die Aktorauslenkungen in den eingenommenen Posen beschreiben, Determining first configuration vectors by reading out data describing the actuator deflections in the assumed poses
Ermittlung einer Funktion zur Transformation des Konfigurationsraums durch Auswertung der ersten und von zweiten Konfigurationsvektoren, wobei die zweiten Konfigurationsvektoren durch eine Ansteuerungsfunktion jeweils auf eine der Determining a function for the transformation of the configuration space by evaluating the first and second configuration vectors, wherein the second configuration vectors by a control function in each case to one of
Posen abgebildet werden, und Poses are pictured, and
Definition einer kalibrierten Ansteuerungsfunktion aus Nacheinanderausführung von erst der Funktion zur Transformation des Konfigurationsraums und anschließend der Ansteuerungsfunktion. Definition of a calibrated control function from successive execution of first the function for the transformation of the configuration space and then the control function.
In einer weiteren bevorzugten Ausführungsform der Erfindung ist vorgesehen, dass das erfindungsgemäße Computerprogramm modular aufgebaut ist, wobei einzelne Module auf verschiedenen Teilen der Datenverarbeitungseinrichtung installiert sind. In a further preferred embodiment of the invention, it is provided that the computer program according to the invention has a modular structure, wherein individual modules are installed on different parts of the data processing device.
Vorteilhafte Ausführungsformen sehen zusätzlich Computerprogramme vor, durch welche weitere in der Beschreibung angegebene Verfahrensschritte oder Verfahrensabläufe ausgeführt werden können. Advantageous embodiments additionally provide computer programs by which further method steps or method sequences specified in the description can be executed.
Ein weiterer Aspekt der Erfindung betrifft computerlesbare Daten, die zumindest Teile der durch das erfindungsgemäße Verfahren bestimmten kalibrierten Ansteuerungsfunktion und/oder zumindest Teile der durch das erfindungsgemäße Verfahren ermittelten Korrekturwerte umfassen. A further aspect of the invention relates to computer-readable data which comprise at least parts of the calibrated drive function determined by the method according to the invention and / or at least parts of the correction values determined by the method according to the invention.
Solche Computerprogramme und/oder computerlesbare Daten können beispielsweise (gegen Gebühr oder unentgeltlich, frei zugänglich oder passwortgeschützt) downloadbar in einem Daten- oder Kommunikationsnetz bereitgestellt werden. Die so bereitgestellten Computerprogramme können dann durch ein Verfahren nutzbar gemacht werden, bei dem die Computerprogramme und/oder computerlesbaren Daten aus einem elektronischen Datennetz, wie beispielsweise aus dem Internet, auf eine an das Datennetz angeschlossene Datenverarbeitungseinrichtung heruntergeladen wird.
Um das erfindungsgemäße Verfahren durchzuführen, ist vorgesehen, ein computerlesbares Speichermedium einzusetzen, auf dem ein Programm gespeichert ist, das es einer Datenverarbeitungseinrichtung ermöglicht, nachdem es in Speichermittel der Datenverarbeitungseinrichtung geladen worden ist, vorzugsweise im Zusammenspiel mit einer Kinematik ein Verfahren zur Korrektur von Posenfehlern der Kinematik durchzuführen, wobei das Verfahren folgende Schritte umfasst: Such computer programs and / or computer-readable data can be made available for download (for a fee or free of charge, freely accessible or password-protected) in a data or communication network, for example. The computer programs thus provided can then be made usable by a method in which the computer programs and / or computer-readable data are downloaded from an electronic data network, such as from the Internet, to a data processing device connected to the data network. In order to carry out the method according to the invention, it is provided to use a computer-readable storage medium on which a program is stored which allows a data processing device to be loaded into storage means of the data processing device, preferably in conjunction with kinematics, a method for correcting poses errors Kinematics, the method comprising the following steps:
Bewegen der Kinematik derart, dass die Kinematik eine Anzahl von, vorzugsweise vorgegebenen, Posen mit vorgebbarer Genauigkeit einnimmt, Move the kinematics such that the kinematics occupy a number of, preferably predetermined, poses with predeterminable accuracy,
Bestimmen von ersten Konfigurationsvektoren durch Auslesen der die Aktor- auslenkungen in den eingenommenen Posen beschreibenden Daten, Determining first configuration vectors by reading out the data describing the actuator deflections in the assumed poses,
Ermittlung einer Funktion zur Transformation des Konfigurationsraums durch Auswertung der ersten und von zweiten Konfigurationsvektoren, wobei die zweiten Konfigurationsvektoren durch eine Ansteuerungsfunktion jeweils auf eine der Posen abgebildet werden, und Determining a function for the transformation of the configuration space by evaluation of the first and second configuration vectors, wherein the second configuration vectors are mapped by a control function in each case to one of the poses, and
- Definition einer kalibrierten Ansteuerungsfunktion aus Nacheinanderausführung von erst der Funktion zur Transformation des Konfigurationsraums und anschließend der Ansteuerungsfunktion. - Definition of a calibrated control function from successive execution of only the function for the transformation of the configuration space and then the control function.
Ein weiterer Aspekt der Erfindung betrifft ein computerlesbares Speichermedium, auf dem Daten gespeichert sind, die zumindest Teile der durch das erfindungsgemäße Verfahren bestimmten kalibrierten Ansteuerungsfunktion und/oder zumindest Teile der durch das erfindungsgemäße Verfahren ermittelten Korrekturwerte umfassen. A further aspect of the invention relates to a computer-readable storage medium on which data are stored which comprise at least parts of the calibrated activation function determined by the method according to the invention and / or at least parts of the correction values determined by the method according to the invention.
Die Kalibrierung ist gemäß einer bevorzugten Ausführungsform eine Abfolge von zwei hintereinander ausgeführten Kompensationen, wobei die erste iterativ im Arbeitsraum auf einer vorgegebenen endlichen Probenmenge so erfolgt, dass durch eine Iteration von hintereinander ausgeführten Posenbewegungen eine vorgegebene Genauigkeit beim Anfahren der gewünschten Posen erreicht wird. Dieses verfahren kommt insbesondere beim Anfahren von exakt platzierten Artefakten, welche die vorgegebenen Posen definieren zur Anwendung. Die zweite Kompensation basiert auf dem Auslesen der zu den Posen gehörenden Aktorauslenkungen und der Ermittlung einer entsprechenden Korrekturabbildung im Konfigurationsraum. Die zweite Korrektur erfolgt somit im Konfigurationsraum, zunächst auf den zu der Probenmenge gehörenden Aktorauslenkungen, d.h. Koordinaten im Konfigurationsraum, und anschließend nach Interpolation in einer Transformation des Konfigurationsraums. Insbesondere ist eine exakte Kompensation im Konfigurationsraum erst möglich, nachdem eine exakte
Kompensation im Arbeitsraum durchgeführt wurde. Die exakte Kompensation im Konfigurationsraum wird auf Basis der ausgelesenen Aktordaten, beispielsweise der Aktorauslenkungen, durchgeführt. An dieser Stelle sein betont, dass bei der erfindungsgemäßen Kalibrierung keine Parameteridentifikation der Kinematik erfolgt, es sich somit um ein parameter-freies Kalibrierverfahren handelt. Dies ist insbesondere deshalb von Bedeutung, weil eine Kalibrierung über eine Parameteridentifikation zu sogenannten mathematisch schlecht gestellten Problemen führt und in der Regel unbefriedigend bleibt. Die parameterfreien Korrekturen stellen auf Basis von Daten, die auf einer Probenmenge gewonnen werden, prinzipiell an jeder nichtsingulären Stelle des Arbeitsraumes bzw. zugehöriger Stellen im Konfigurationsraum fehlerkorrigierte Ansteuerungen der Posen zur Verfügung. According to a preferred embodiment, the calibration is a sequence of two consecutively executed compensations, wherein the first iteratively in the working space on a predetermined finite sample amount so that a predetermined accuracy when approaching the desired poses is achieved by an iteration of successively executed poses. This method is used in particular when approaching precisely placed artifacts which define the given poses. The second compensation is based on reading out the actuator deflections associated with the poses and determining a corresponding correction map in the configuration space. The second correction thus takes place in the configuration space, first on the actuator deflections associated with the sample set, ie coordinates in the configuration space, and then after interpolation in a transformation of the configuration space. In particular, an exact compensation in the configuration space is only possible after an exact Compensation was performed in the work space. The exact compensation in the configuration space is performed on the basis of the read actuator data, such as the Aktorauslenkungen. It should be emphasized at this point that, in the calibration according to the invention, no parameter identification of the kinematics takes place, which is therefore a parameter-free calibration method. This is particularly important because a calibration via a parameter identification leads to so-called mathematically poor problems and usually remains unsatisfactory. The parameter-free corrections provide error-corrected actuation of the poses in principle at every nonsingular point of the working space or corresponding points in the configuration space on the basis of data obtained on a sample quantity.
Ein besonderer Vorteil der Erfindung besteht darin, dass die damit vorgenommenen Ortsbestimmungen mit hoher Genauigkeit auf jeweils offizielle Normalen, wie z.B. das Urmeter, zurückgeführt werden können. Ein weiterer Vorteil der Erfindung besteht darin, dass durch die kalibrierte Ansteuerungsfunktion die Positionierungsgenauigkeit der kalibrierten Kinematik global, d.h. für den gesamten Arbeitsraum, verbessert wird. A particular advantage of the invention is that the location determinations made therewith with high accuracy on each official normals, such as. the original meter, can be returned. Another advantage of the invention is that, due to the calibrated driving function, the positioning accuracy of the calibrated kinematics is global, i. for the entire workspace, is improved.
Zur Kompensation im Arbeitsraum werden die vorgegebenen Posen iterativ angefahren. Dies kann im Sonderfall durch das Anfahren von Artefakten geschehen. In höherdimensionalen Arbeitsräumen und bei umfangreicher Probenmenge ist dies jedoch in der Regel nicht sehr praktikabel. Als Alternative zum Anfahren von Artefakten können hochgenaue externe Messmittel, wie z.B. eine Koordinatenmessmaschine, ein mehrdimensionaler Lasertracer usw., zum iterativen Erreichen der gewünschten Posen verwendet werden. For compensation in the workspace, the specified poses are approached iteratively. This can happen in special cases by starting artifacts. In higher-dimensional workspaces and with a large sample volume, however, this is generally not very practicable. As an alternative to starting artifacts, high accuracy external measuring means, such as e.g. a coordinate measuring machine, a multi-dimensional laser tracer, etc., are used to iteratively reach the desired poses.
Die vorgestellte Methode der Transformation des Konfigurationsraumes kann nicht nur bei aktiven Kinematiken genutzt werden (Roboter), sondern auch bei Kinematiken, die dem Zwecke der Posenmessung dienen, wie beispielsweise Koordinatenmessmaschinen. Auch deren Genauigkeit wird mit Anwendung der hier vorgestellten Methode der Transformation des Konfigurationsraumes erhöht. The proposed method of transforming the configuration space can be used not only in active kinematics (robots), but also in kinematics, which serve the purpose of Posenmessung, such as coordinate measuring machines. Their accuracy is also increased using the method of transforming the configuration space presented here.
Erfindungsgemäß wird die hier vorgestellte Kalibrierung auch auf diese Kinematiken von Koordinatenmessmaschinen ausgeweitet, und alle anderen Kinematiken, die selbst Posenmessungen dienen. Diese Kinematiken können ganz oder teilweise über antriebslose Aktoren verfügen, welche jedoch eine Auslenkungsbestimmung zulassen.
Die von diesen Kinematiken vorgenommenen Ergebnisse der Posenmessungen ermitteln sich über die Bestimmung der Aktorenauslenkungen. Die Kalibrierung umfasst folgende Schritte: According to the invention, the calibration presented here is also extended to these kinematics of coordinate measuring machines, and all other kinematics that serve even Posenmessungen. These kinematics can wholly or partly have non-driven actuators, which however allow a deflection determination. The results of the pose measurements made by these kinematics are determined by determining the actuator deflections. The calibration includes the following steps:
Bewegen der Kinematik derart, dass die Kinematik eine Anzahl von, vorzugsweise vorgegebenen, Posen mit vorgebbarer Genauigkeit einnimmt, Move the kinematics such that the kinematics occupy a number of, preferably predetermined, poses with predeterminable accuracy,
Bestimmen von ersten Konfigurationsvektoren durch Auslesen der die Aktorauslenkungen in den eingenommenen Posen beschreibenden Daten, Determining first configuration vectors by reading out the data describing the actuator deflections in the assumed poses,
Ermittlung einer Funktion zur Transformation des Konfigurationsraums durch Auswertung der ersten und von zweiten Konfigurationsvektoren, wobei die zweiten Konfigurationsvektoren durch eine Ansteuerungsfunktion jeweils auf eine der Determining a function for the transformation of the configuration space by evaluating the first and second configuration vectors, wherein the second configuration vectors by a control function in each case to one of
Posen abgebildet werden, und Poses are pictured, and
Definition einer kalibrierten Ansteuerungsfunktion aus Nacheinanderausführung von erst der Funktion zur Transformation des Konfigurationsraums und anschließend der Ansteuerungsfunktion. Definition of a calibrated control function from successive execution of first the function for the transformation of the configuration space and then the control function.
Bei Posenmessungen mit Hilfe von diesen so kalibrierten Kalibriermaschinen erfolgen nun folgende Schritte: In the case of pose measurements with the help of these calibration machines calibrated in this way, the following steps now take place:
- Bewegen der Kinematik in eine Pose, die bestimmt werden soll - Moving the kinematics into a pose to be determined
- Auslesen der Auslenkungssensoren aller Aktoren der Kalibriermaschine und damit die Bestimmung eines Elements des Konfigurationsraums - Reading the deflection sensors of all actuators of the calibration and thus the determination of an element of the configuration space
- Anwendung der Transformation des Konfigurationsraumes, wie oben beschrieben, auf die gemessenen Vektoren des Konfigurationsraumes als Rücktransformation derselben, um korrigierte Konfigurationsvektoren zu erhalten Application of the transformation of the configuration space, as described above, to the measured vectors of the configuration space as inverse transformation thereof in order to obtain corrected configuration vectors
- Anwendung der direkten Kinematik auf den durch die Rücktransformation korrigierten Konfigurationsvektor, und damit Bestimmung der Pose unter - Application of the direct kinematics on the corrected by the inverse transformation configuration vector, and thus determination of the pose under
Ausnutzung der Kalibrierung Exploitation of the calibration
Das vorgestellte neue Verfahren misst den Positionierfehler in Punkten, die anhand einer „Karte" des Konfigurationsraums gewonnen werden. Da der Konfigurationsraum besonders einfach geformt ist und meist die Form eines Rechtkants hat, ist in diesem Raum die gleichmäßige Verteilung von Prüfpunkten in einfacher Weise zu realisieren. Eine gleichmäßige Verteilung von Prüfpunkten im Konfigurationsraum bedingt auch eine gleichmäßige Verteilung im Arbeitsraum. Dies gilt aufgrund konstruktiver und funktionaler Vorgaben bei der Konstruktion von Kinematiken wobei davon auszugehen ist, dass eine kleine Posenänderung durch eine kleine Änderung im Konfigurationsraum verursacht
wird, und andererseits eine kleine Änderung im Konfigurationsraum nur eine kleine Änderung im Arbeitsraum nach sich zieht. The presented new method measures the positioning error in points obtained from a "map" of the configuration space.As the configuration space is particularly simple in shape and usually in the shape of a right edge, the uniform distribution of test points in this space is easy to realize A uniform distribution of checkpoints in the configuration space also requires a uniform distribution in the workspace, due to constructive and functional constraints in the design of kinematics, assuming that a small pose change is caused by a small change in configuration space On the other hand, a small change in configuration space will only result in a small change in the workspace.
Man erhält eine Menge an Posen, in denen als Folge einer Kompensation nach dem hier vorgestellten Verfahren der Posenfehler bis auf vernachlässigbare Restfehler völlig aufgehoben wird. Für die verbliebenen Punkte des Arbeitsraumes lassen sich durch Fehlerabschätzungen, die sich auf zu erwartende Abweichungen der Geometrieparameter stützen, verlässliche Fehlerabschätzungen gewinnen. Damit verfügt das neue Verfahren im Gegensatz zur Parameteridentifikation über die Eignung, die Posenfehler von akkreditierter, staatlicher Stelle bestätigen zu lassen. This gives a lot of poses in which, as a result of a compensation according to the method presented here, the pose error is completely eliminated, with the exception of negligible residual errors. For the remaining points of the working space reliable error estimates can be obtained by estimating the errors, which are based on expected deviations of the geometry parameters. Thus, in contrast to the parameter identification, the new method has the aptitude to have the pose errors confirmed by accredited, state authority.
Der Einsatz von Kinematiken, die mit einem „Eichschein" bezüglich ihrer Genauigkeit ausgestattet sind, und zusätzlich eine durch die Posenfehlerkompensation erhöhte Genauigkeit aufweisen und bei denen Posenfehler eindeutig begrenzt sind, eröffnet insbesondere in der Robotik völlig neue Anwendungsfelder, wie zum Beispiel in der Medizintechnik, der Mikro- und Nanotechnologie. The use of kinematics, which are equipped with a "calibration certificate" in terms of their accuracy, and additionally increased by the Posenfehlerkompensation increased accuracy and in which pose errors are clearly limited, opens up in robotics in particular completely new fields of application, such as in medical technology, micro and nanotechnology.
Ein weiterer Aspekt der Erfindung betrifft die Korrektur von exogenen Posenfehlern. Bei den exogenen Posenfehlern kann es sich beispielsweise um Posenfehler handeln, die durch externe Kraftgrößen und/oder durch thermoelastische Verformungen der Kinematik hervorgerufen werden. Another aspect of the invention relates to the correction of exogenous poses errors. The exogenous poses errors can be, for example, pose errors which are caused by external force variables and / or by thermoelastic deformations of the kinematics.
Um eine Korrekturabbildung zu ermitteln, wird jedem Element der zur Datenerhebung vorgesehenen Posenmenge eine Korrekturmatrix zugeordnet. Diese Matrix ist bezogen auf eine einzige Pose gültig. In order to determine a correction map, a correction matrix is assigned to each element of the posology set for collecting the data. This matrix is valid in relation to a single pose.
1 . Bestimmung einer lokalen Korrekturmatrix für ein Kraftgrößensystem a) Reduktion einer Menge von Kraftgrößen („Kraftgrößensystem") Der Begriff„Kraftgröße" kommt aus der Statik und ist der Oberbegriff für„Kraft" und „Moment". Mit Kraftgrößensystem ist hier eine Menge von Kraftgrößen bezeichnet. 1 . Determining a Local Correction Matrix for a Force Size System a) Reducing a Set of Force Quantities ("Force Size System") The term "force magnitude" comes from statics and is the generic term for "force" and "moment". With force size system is here called a lot of force sizes.
Ist ein Kraftgrößensystem gegeben und legt man einen beliebigen Punkt im Raum als kanonischen Bezugspunkt fest, so gilt: Jedes gegebene Kraftgrößensystem lässt sich durch zwei dreidimensionale Vektoren beschreiben, einen Kraftvektor und einen
Momentenvektor, wobei der Kraftvektor auf den kanonischen Bezugspunkt (Angriffspunkt) wirkt. If a force magnitude system is given and one fixes any point in space as a canonical reference point, then: Every given force magnitude system can be described by two three-dimensional vectors, a force vector and a force vector Moment vector, where the force vector acts on the canonical reference point (point of attack).
Die reduzierte Beschreibung eines Kraftgrößensystems erfordert also einen The reduced description of a force sizing system thus requires one
sechsdimensionalen Vektor. six-dimensional vector.
Bei der Reduktion der Menge der Kräfte wird ausgenutzt, dass jeder Kraftvektor beliebig parallel verschoben werden kann, wenn man das hierbei auftretende Versetzungsmoment („Verschiebungsmoment") berücksichtigt. When reducing the amount of forces, use is made of the fact that each force vector can be shifted in parallel as desired, taking into account the dislocation moment ("displacement moment") that occurs in this case.
Bei der Reduktion der Kräfte werden diese jeweils einzeln in den kanonischen In the reduction of forces, these are each individually in the canonical
Bezugspunkt parallel verschoben, wobei die auftretenden Verschiebungsmomente dem Kraftgrößensystem zugeschlagen werden. Alle durch den kanonischen Bezugspunkt verlaufenden Kräftevektoren können dann addiert werden. Reference point shifted in parallel, the shift moments occurring are added to the power system. All force vectors passing through the canonical reference point can then be added.
Die ursprünglich in der Menge der Kraftgrößen enthaltenen („freien") Momente werden schließlich mit den (freien) Verschiebungsmomenten zu einem einzigen Vektor addiert. The ("free") moments originally contained in the set of force quantities are finally added to the (free) displacement moments to a single vector.
Bei der Reduktion des Kraftgrößensystems ist die Wahl des kanonischen Bezugspunktes ohne Belang. Dies bedeutet insbesondere, dass der Bezugspunkt - unabhängig von der eingenommenen Pose - in einen festen Punkt des Welt-Koordinatensystems gelegt werden kann. Dieser Umstand führt später bei der Auswertung von Korrekturmatrizen zur Posenkorrektur zu einer Reduktion des Rechenaufwandes, denn ein angreifendes Kraftgrößensystem muss nicht posenabhängig auf verschiedene kanonische In the reduction of the force-magnitude system, the choice of the canonical reference point is irrelevant. This means in particular that the reference point - regardless of the pose taken - can be placed in a fixed point of the world coordinate system. This circumstance leads later in the evaluation of correction matrices for Posenkorrektur to a reduction of the computational effort, because an attacking force magnitude system does not have to pose-dependent on various canonical
Bezugspunkte hin reduziert werden. Reference points are reduced towards.
Es braucht hierbei nicht irritieren, wenn infolge der Wahl des kanonischen Bezugspunkts die Wirkungslinie des resultierenden Kraftvektors die bewegliche Plattform, auf die er ja einwirkt, gar nicht durchdringt. b) Bestimmung der Posenänderung als Folge eines Kraftgrößensystems It does not need to be irritating if, as a result of the choice of the canonical reference point, the line of action of the resulting force vector does not penetrate the movable platform on which it is acting. b) Determination of the pose change as a consequence of a force magnitude system
Kraftgrößen bewirken eine elastische Verformung der Kinematik, die sich in einer Force sizes cause an elastic deformation of the kinematics, resulting in a
Posenänderung äußert.
Eine solche Posenänderung kann mit Finite-Elemente-Software, wie ANSYS , bestimmt werden. Poses change expresses. Such a pose change can be determined with finite element software such as ANSYS.
Vereinfacht kann man die Änderung der Aktorauslenkungen als Folge einer Simplified one can change the Aktorauslenkungen as a result of
Beaufschlagung mit einem Kraftgrößensystem bestimmen, indem man Kräfte undDetermine exposure to a force magnitude system by using forces and
Momente des Kraftgrößensystems mit den Kräften und Momenten bilanziert, welche im Wege über die Aktoren selbst eingebracht werden. Moments of the power system with the forces and moments balanced, which are introduced in the way of the actuators themselves.
Da die Bilanzsumme bekannt ist (der resultierende Kraftvektor und der resultierende Momentenvektor sind Nullvektoren), lassen sich die an den Aktoren wirkenden Kräfte bzw. Momente bestimmen. Since the balance sheet total is known (the resulting force vector and the resulting moment vector are zero vectors), the forces or moments acting on the actuators can be determined.
In einer bevorzugten Ausführungsform ist vorgesehen, dass jedem Aktor eine Hookesche Federkonstante zugeordnet wird, die sich durch Modellbetrachtung oder durch Messung ergibt. Hierdurch ergeben sich sogleich Änderungen der Aktorauslenkungen. In a preferred embodiment, it is provided that a Hooke spring constant is assigned to each actuator, which results from model observation or measurement. As a result, changes in Aktorauslenkungen arise immediately.
Bei diesem vereinfachten Ansatz wird von der Starrheit aller anderen Komponenten ausgegangen. c) Ermittlung der lokalen linearen Korrekturabbildung This simplified approach assumes the rigidity of all other components. c) Determination of the local linear correction map
Jedes Kraftgrößensystem lässt sich wie oben gezeigt in 6 Komponenten zerlegen, da Kraftvektor und Momentenvektor jeweils 3 Komponenten aufweisen. Each force magnitude system can be divided into 6 components as shown above, since the force vector and moment vector each have 3 components.
Sei nun eine Pose p gegeben, und x sei der hierzu gehörige Vektor des Now let a pose p be given, and let x be the corresponding vector of the
Konfigurationsraumes x = IK(p). Configuration space x = IK (p).
Wirkt nun in dieser Pose p eine der beschriebenen 6 Komponenten eines Now in this pose p one of the described 6 components of a
Kraftgrößensystems, so lässt sich für jede ihrer Komponenten eine vektorielle Korrektur dx im Konfigurationsraum bestimmen, dx bezeichnet also Änderungen in den Force size system, so can be determined for each of its components, a vectorial correction dx in the configuration space, so dx denotes changes in the
Aktorauslenkungen. Aktorauslenkungen.
Ein diesbezüglich lineares Verhalten kann bei geringen elastischen Verformungen ohne weiteres vorausgesetzt werden.
Wie erwähnt, können die Korrekturvektoren dx durch Datenerfassung, wie beispielsweise Vermessung der eingenommenen Posen und/oder Auslesen von Daten, welche die Aktorauslenkungen beschreiben, an einer realen Kinematik gewonnen werden. Alternativ oder zusätzlich können die Korrekturvektoren dx auch durch Auswertung von A linear behavior in this respect can be readily assumed at low elastic deformations. As mentioned, the correction vectors dx can be obtained by data acquisition, such as measurement of the assumed poses and / or readout of data describing the actuator deflections, on a real kinematics. Alternatively or additionally, the correction vectors dx can also be evaluated by evaluating
vorzugsweise computergestützten Simulationen und/oder Modellrechnungen gewonnen werden. preferably computer-aided simulations and / or model calculations are obtained.
In einer bevorzugten Ausführungsform ist vorgesehen, ein Modell einer Kinematik in einer Computersimulation in die vorgegebenen Posen zu bewegen und die der In a preferred embodiment, it is provided to move a model of a kinematics in a computer simulation in the predetermined poses and the
eingenommenen, vorgegebenen Pose entsprechenden zugehörigen ersten assumed, predetermined pose corresponding thereto first
Konfigurationsvektoren des Kinematikmodells aus der Simulation auszulesen. Das Modell beschreibt die geometrischen, kinematischen und/oder dynamischen Eigenschaften der Kinematik. Vorzugsweise wird das Modell der Kinematik dabei simulativ mit definierten äußeren Einwirkungen beaufschlagt. Beispielsweise können Einwirkungen von Read out configuration vectors of the kinematics model from the simulation. The model describes the geometric, kinematic and / or dynamic properties of kinematics. Preferably, the model of the kinematics is applied simulatively with defined external effects. For example, effects of
Kraftgrößen oder von Temperaturen auf die Bewegungsabläufe der Kinematik simuliert werden. Solche äußeren Einwirkungen können beispielsweise durch Finite-Elemente- Software simuliert werden. Force variables or temperatures are simulated on the kinematics movements. Such external influences can be simulated by finite element software, for example.
Anschließend werden, wie oben beschrieben, die ersten und zweiten Subsequently, as described above, the first and second
Konfigurationsvektoren ausgewertet, um die Funktion zur Transformation des Configuration vectors evaluated to the transformation function of the
Konfigurationsraums und die korrigierte Ansteuerungsfunktion zu erhalten. Die zweiten Konfigurationsvektoren sind dadurch definiert, dass sie durch die Ansteuerungsfunktion jeweils auf eine der vorgegebenen Posen p(x) abgebildet werden, d.h.: x = IK(p(x)). In einem alternativen Verfahren ist vorgesehen, dass ein Modell einer Kinematik in einer Computersimulation gemäß einer vorgegebenen Anzahl erster Konfigurationsvektoren eines Konfigurationsraumes bewegt wird, wobei auf die Konfigurationsvektoren eine Ansteuerungsfunktion angewendet wird und wobei das Modell der Kinematik dabei simulativ mit definierten äußeren Einwirkungen beaufschlagt wird. Anschließend werden die infolge der Bewegung in der Simulation eingenommenen Posen des Kinematikmodells erfasst. Auf diese erfassten Posen wird die Umkehrfunktion der Ansteuerungsfunktion angewendet, um zweite Konfigurationsvektoren zu gewinnen. Für zumindest einen Teil der ersten Konfigurationsvektoren wird durch Auswertung des Teils der ersten und von zugehörigen zweiten Konfigurationsvektoren jeweils ein Korrekturwert ermittelt. Durch eine Auswertung der Korrekturwerte wird anschließend eine Funktion zur Transformation des Konfigurationsraums ermittelt und eine korrigierte Ansteuerungsfunktion definiert als
Nacheinanderausführung von erst der Funktion zur Transformation des Konfigurationsraums und anschließend der Ansteuerungsfunktion. Diese korrigierte Ansteuerungsfunktion kompensiert die Äußeren Einwirkungen. Für die Korrektur intrinsischer Fehler ist dieses Verfahren bereits in der Patentschrift DE 10 201 1 079 764 B3 beschrieben worden. Eine bevorzugte Ausführungsform sieht vor, dieses Verfahren zur Posenfehlerkorrektur für die Korrektur von durch äußere Einwirkungen hervorgerufenen Posenfehlern zu verwenden, wobei das Verfahren zur Auswertung von Daten, insbesondere von zumindest ersten und zweiten Configuration space and the corrected drive function to get. The second configuration vectors are defined by the fact that they are each mapped by the control function to one of the predetermined poses p (x), ie: x = IK (p (x)). In an alternative method, it is provided that a model of a kinematics is moved in a computer simulation according to a predetermined number of first configuration vectors of a configuration space, wherein a control function is applied to the configuration vectors and wherein the model of the kinematics is simulatively loaded with defined external influences. Subsequently, the poses of the kinematics model assumed as a result of the movement in the simulation are recorded. The inverse function of the drive function is applied to these detected poses to obtain second configuration vectors. For at least a part of the first configuration vectors, a correction value is determined in each case by evaluating the part of the first and of the associated second configuration vectors. By evaluating the correction values, a function for transforming the configuration space is subsequently determined and a corrected activation function defined as Successive execution of first the function for the transformation of the configuration space and then the control function. This corrected control function compensates for external influences. For the correction of intrinsic errors, this method has already been described in the patent DE 10 201 1 079 764 B3. A preferred embodiment envisages using this method for pose error correction for the correction of externally induced poses errors, the method for evaluating data, in particular at least first and second
Konfigurationsvektoren und/oder von Posen, verwendet wird, welche in einer Configuration vectors and / or poses, which is used in a
Computersimulation der Kinematik und des computersimulierten Verhaltens der Kinematik erzeugt werden. Computer simulation of the kinematics and the computer-simulated behavior of the kinematics are generated.
Ein solches Verfahren zur Korrektur von Posenfehlern einer Kinematik umfasst folgende Schritte: Such a method for correcting poses errors of a kinematics comprises the following steps:
Bereitstellen eines computergesteuerten Modells der Kinematik, Providing a computer-controlled model of kinematics,
Bewegen des Modells der Kinematik gemäß einer vorgegebenen Anzahl erster Konfigurationsvektoren eines Konfigurationsraumes, wobei auf die Moving the model of kinematics according to a predetermined number of first configuration vectors of a configuration space, wherein the
Konfigurationsvektoren eine Ansteuerungsfunktion angewendet wird, und wobei eine Beaufschlagung des Modells der Kinematik mit äußeren Einwirkungen simuliert wird, Configuration vectors, a control function is applied, and whereby an impact of the kinematics model with external influences is simulated,
Ermitteln der infolge der Bewegung eingenommenen Pose des Modells der Kinematik, Determining the pose of the model of kinematics taken as a result of the movement,
Anwenden der Umkehrfunktion der Ansteuerungsfunktion auf die ermittelten Posen zur Ermittlung von zweiten Konfigurationsvektoren, Applying the inverse function of the drive function to the determined poses for determining second configuration vectors,
Ermittlung eines Korrekturwertes für zumindest einen Teil der ersten Determining a correction value for at least a part of the first
Konfigurationsvektoren durch Auswertung des Teils der ersten und zugehörigen zweiten Konfigurationsvektoren, Configuration vectors by evaluating the portion of the first and associated second configuration vectors,
Ermittlung einer Funktion zur Transformation des Konfigurationsraums durch Auswertung der Korrekturwerte, und Determination of a function for the transformation of the configuration space by evaluation of the correction values, and
Definition einer korrigierten Ansteuerungsfunktion aus Nacheinanderausführung von erst der Funktion zur Transformation des Konfigurationsraums und Definition of a corrected control function from successive execution of only the function for the transformation of the configuration space and
anschließend der Ansteuerungsfunktion. Man erhält auf diese Weise eine auf den Konfigurationsraum bezogene Korrekturmatrix M der Dimension 6x6 (oder allgemeiner der Dimension 6xDOF). Ihre Spalten stehen jeweils
für die Änderungen der 6 (oder allgemeiner DOF) Aktorauslenkungen, die durch jeweils eine Komponente des resultierenden Kraftgrößensystems hervorgerufen werden. then the control function. This gives a configuration space related correction matrix M of dimension 6x6 (or more generally of dimension 6xDOF). Their columns are each for the changes in the 6 (or more general DOF) actuator deflections caused by each one component of the resulting force sizing system.
Man hat also So you have
Dx = M*S, mit: dx: Vektor der Änderung der Aktorauslenkungen Dx = M * S, with: dx: Vector of the change of the actuator deflections
M: Korrekturmatrix M: correction matrix
S: Vektor des Kraftgrößensystems, zusammengesetzt aus Kraftvektor und Momentenvektor Da im Gegensatz zur Kalibrierung einer Kinematik - beispielsweise bei der oben beschriebenen erfindungsgemäßen Kalibrierung - die Korrekturmatrizen rechnerisch erhalten werden können, also keine Kalibriermessungen erforderlich sind, kann die Probenmenge der Posen und damit die Anzahl der Korrekturmatrizen erheblich größer gewählt werden als bei Kalibrierung oder Posenfehlerkorrektur, die unter Verwendung einer realen Kinematik ausgeführt wird. S: Vector of the force-magnitude system, composed of force vector and moment vector Since, in contrast to the calibration of a kinematic - for example, in the inventive calibration described above - the correction matrices can be obtained mathematically, so no calibration measurements are required, the sample amount of Posen and thus the number of Correction matrices are chosen to be considerably larger than during calibration or pose error correction, which is carried out using real kinematics.
Eine Beeinträchtigung des Aufwandes bei der Auswertung zur Posen korrektur durch die große Zahl der Korrekturmatrizen ist marginal, An impairment of the effort in the evaluation for Posen correction by the large number of correction matrices is marginal
d) Ermittlung der globalen Korrekturabbildung d) Determination of the global correction map
Ganz analog wie bei der oben beschriebenen Korrektur von Posenfehlern wird - ausgehend von vorgegebenen Posen und/oder einer Probenmenge des Analogous to the correction of poses errors described above, starting from predetermined poses and / or a sample quantity of the
Konfigurationsraumes - für jedes zugehörige Element x' der Probenmenge eine Korrekturmatrix bestimmt. Hierbei betrachtet man die Wirkung jeder einzelnen Configuration space - a correction matrix is determined for each associated element x 'of the sample set. Here one looks at the effect of each one
Komponente des Kraftgrößensystems auf den Tool Center Point (TCP). Wenn die Plattform als starr angenommen werden kann, lässt sich ein beliebiger Punkt als Angriffspunkt des Kraftgrößensystems verwenden. Component of the force sizing system on the Tool Center Point (TCP). If the platform can be considered rigid, any point can be used as the point of application of the force-magnitude system.
Die Korrekturmatrizen können nun auf den gesamten Konfigurationsraum interpoliert, extrapoliert und/oder approximiert werden. Für jeden beliebigen Vektor x des The correction matrices can now be interpolated, extrapolated and / or approximated to the entire configuration space. For any vector x of the
Konfigurationsraumes ist damit eine Korrekturmatrix definiert, die zusammen mit den 6
Komponenten der Resultierenden des Kraftgrößensystems eine Verschiebung dx im Konfigurationsraum definiert. Damit ist eine Kompensation des einwirkenden Configuration space is thus defined a correction matrix, which together with the 6 Components of the resultant of the force-magnitude system defines a displacement dx in the configuration space. This is a compensation of the acting
Kraftgrößensystems gegeben. Für die Zuordnung der Korrekturmatrix M gibt es zwei Möglichkeiten: Power system given. For the assignment of the correction matrix M, there are two possibilities:
Einem Konfigurationsvektor x wird eine Korrekturmatrix M zugeordnet, welche in der Pose gDK(x) ermittelt wurde, die durch Anwendung der A correction vector M is assigned to a configuration vector x, which was determined in the pose gDK (x), which was determined by using the
Ansteuerungsfunktion auf x angefahren wurde (wobei in der Regel gilt: gDK(x) + DK(x)). Das ist beispielsweise der Fall, wenn die Korrekturmatrix basierend auf einem Modell der idealen Kinematik ermittelt wird. Control function was approached on x (where usually applies: gDK (x) + DK (x)). This is the case, for example, if the correction matrix is determined on the basis of a model of the ideal kinematics.
Einem Konfigurationsvektor x wird eine Korrekturmatrix M zugeordnet, welche in der Pose DK(x) ermittelt wurde. Das ist beispielsweise der Fall, wenn die Korrekturmatrix basierend auf einem Modell ermittelt wird, in dem die korrigierte Ansteuerungsfunktion (ohne Berücksichtigung exogener Posenfehler) bereits angewendet wird. A correction vector M is assigned to a configuration vector x, which was determined in the pose DK (x). This is the case, for example, if the correction matrix is determined on the basis of a model in which the corrected activation function (without consideration of exogenous pose errors) is already being applied.
Eine Ansteuerungsfunktion, die beide Fehlereinflüsse, d.h. Konstruktionstoleranzen und äußere Einflüsse und/oder Einwirkungen, berücksichtigt, erhält man durch A drive function that has both error effects, i. Design tolerances and external influences and / or impacts, considered, obtained by
Nacheinanderausführen von der korrigierten Ansteuerungsfunktion und der Kompensation des einwirkenden Kraftgrößensystems. Successive execution of the corrected drive function and the compensation of the acting force magnitude system.
In Spezialfällen, z.B. wenn es sich bei der Transformationsfunktion zur Kalibrierung und der Korrekturfunktion um eine Vektoraddition handelt, kommt es auf die Reihenfolge der Ausführung von kalibrierter Ansteuerungsfunktion und Kompensation des einwirkenden Kraftgrößensystems nicht an. In special cases, e.g. if the transformation function for calibration and the correction function is a vector addition, then the order of execution of calibrated activation function and compensation of the acting force quantity system does not matter.
2. Bestimmung einer lokalen Korrekturmatrix für die Kompensation thermoelastischer Verformungen 2. Determination of a local correction matrix for the compensation of thermoelastic deformations
Reduziert man den Einfluss der thermoelastischen Verformungen auf die lineare Reduces the influence of thermoelastic deformation on the linear
Ausdehnung der Gelenkstäbe eines Hexapods, also auf„Beinlängenänderungen", so ist die Temperaturkompensation durch Korrekturvektoren im Konfigurationsraum einfach zu erhalten. Dieser Fall ist trivial und wird nicht weiter betrachtet.
In folgenden wird darum für allgemeine Kinematiken vom Einsatz einer Finite-Elemente- Software ausgegangen. Zunächst werden die Korrekturen im Konfigurationsraum für jedes Element der Posen- Probenmenge in Gestalt einer DOFxDOF-Korrekturmatrix T (Diagonalmatrix) bestimmt. Der Vektor der korrigierenden Beinlängenänderung in diesen Posen ergibt sich durch Multiplikation dieser Matrix mit der aufgetretenen temperaturbedingten Differenz Extension of the hinge rods of a hexapod, ie on "leg length changes", the temperature compensation by correction vectors in the configuration space is easy to obtain.This case is trivial and will not be considered further. In the following, general kinematics are assumed to be based on the use of finite element software. First, the corrections in the configuration space are determined for each element of the pose sample set in the form of a DOFxDOF correction matrix T (diagonal matrix). The vector of the corrective leg length change in these poses is obtained by multiplying this matrix by the temperature-induced difference that has occurred
(Temperaturdrift). (Temperature drift).
Die Korrekturmatrizen der Probenmenge werden sodann durch Interpolation, The correction matrices of the sample set are then analyzed by interpolation,
Extrapolation oder Approximation auf den gesamten Konfigurationsraum erweitert. Extrapolation or approximation extended to the entire configuration space.
Bei gegebener Pose und gegebener Temperaturdrift wird zunächst die der Pose zugehörige Korrekturmatrix errechnet, und diese dann mit der Temperaturdrift multipliziert, um korrigierende Beinlängenänderungen zu erhalten. Given a pose and given temperature drift, the correction matrix associated with the pose is first calculated and then multiplied by the temperature drift to obtain correcting leg length changes.
Die Ermittlung der globalen Korrekturabbildung geschieht analog zu dem für die Korrektur des Kraftgrößensystems. The determination of the global correction map is analogous to that for the correction of the power system.
Allgemein können Korrekturgrößen (und globale Korrekturabbildungen) für andere äußere Einwirkungen in analoger Weise ermittelt werden. In general, correction quantities (and global correction maps) for other external influences can be determined in an analogous manner.
Neben der geschilderten numerischen Temperaturdrift-Kompensation gibt es auch die Möglichkeit der Temperaturdrift-Kompensation über Messungen. Die intrinsische In addition to the described numerical temperature drift compensation, there is also the possibility of temperature drift compensation via measurements. The intrinsic
Korrektur und die Korrektur des exogenen Temperatureinflusses können kombiniert vorgenommen werden, indem man die intrinsische Korrektur z.B. bei drei verschiedenen Temperaturen im relevanten Temperaturbereich vornimmt (man geht von einer Correction and correction of exogenous temperature influence can be made in combination by measuring the intrinsic correction, e.g. at three different temperatures in the relevant temperature range makes (one goes from one
Gleichtemperierung der Kinematik aus). Die entsprechenden Transformationen des Konfigurationsraumes werden dann durch Interpolation, Approximation und oder Equal tempering of the kinematics). The corresponding transformations of the configuration space are then by interpolation, approximation and or
Extrapolation im Temperaturbereich ergänzt. Extrapolation in the temperature range added.
Ein anderer Fall von exogenen Posenfehlern, die kompensiert werden können, betrifft eine zeitabhängige Erwärmung und/oder eine Erwärmung, bei der Teile einer Kinematik unterschiedlichen Temperaturen ausgesetzt sind, wie es z.B. bei einer Erwärmung einer Kinematik vom Werkzeug her auftritt.
Die vorliegende Erfindung nutzt Another case of exogenous poses errors that can be compensated relates to a time-dependent heating and / or heating in which parts of a kinematics are exposed to different temperatures, as occurs, for example, when a kinematics is heated from the tool. The present invention uses
(i) empirisch erhaltene Daten zur Posenkompensation, die sich für ausgewählte Posen bei bestimmten Bewequnqsvorqängen aus Verformungen durch exogene Einwirkungen ergeben haben, und/oder (i) empirically obtained position compensation data, which for selected poses have been obtained from exogenous actions under certain conditions of operation, and / or
(ii) Daten zur der Posenkompensationen, die durch Simulationsrechnung u.U. sehr rechenintensiv ermittelt wurden. (ii) data on the pose compensation, which may be simulated by simulation calculation. very computationally intensive.
Die Korrekturdaten beider Varianten haben für Momentenkomponenten und The correction data of both variants have for torque components and
Kraftkomponenten eine Matrix-Struktur. Diese stellen eine Verallgemeinerung der Transformation des Konfigurationsraumes dar (Jedem Gitterpunkt des Force components a matrix structure. These represent a generalization of the transformation of the configuration space (each grid point of the
Konfigurationsraumes ist eine Korrekturmatrix zugeordnet.). Hierbei stellt die Configuration space is assigned a correction matrix.). Here is the
verallgemeinerte Transformation des Konfigurationsraumes den entscheidenden Schritt zur praktischen Anwendbarkeit solcher Kompensationen dar. generalized transformation of the configuration space is the decisive step to the practical applicability of such compensation.
Im Folgenden soll die Erfindung an Beispielen der Kalibrierung einer Kinematik detailliert erläutert werden. Dabei ist zu berücksichtigen, dass die Erfindung nicht auf die im Folgenden beschriebenen Ausführungsbeispiele eingeschränkt ist, sondern die Erfindung ebenso weitere Verfahren, Anordnungen, Computerprogramme oder Speichermedien umfasst, solange diese nur alle Merkmale der unabhängigen Ansprüche realisieren. In the following, the invention will be explained in detail by examples of the calibration of a kinematics. It should be noted that the invention is not limited to the embodiments described below, but the invention also includes other methods, arrangements, computer programs or storage media, as long as they realize only all the features of the independent claims.
Die Ausführungsbeispiele sollen anhand der beigefügten Zeichnungen näher erläutert werden. Es zeigen: Figur 1 eine Veranschaulichung eines ersten Ausführungsbeispiels für eine The embodiments will be explained in more detail with reference to the accompanying drawings. FIG. 1 shows an illustration of a first exemplary embodiment of a
P ose nf e h I e rko rre ktu r, P ose nf e h e rc rre ctu r,
Figur 2 eine Veranschaulichung eines zweiten Ausführungsbeispiels für eine Figure 2 is an illustration of a second embodiment of a
Posenfehlerkorrektur, wobei der Posenfehler durch äußere Einwirkungen hervorgerufen wird, Pose error correction, whereby the pose error is caused by external influences,
Figur 3 eine Veranschaulichung eines dritten Ausführungsbeispiels für eine Figure 3 is an illustration of a third embodiment of a
Posenfehlerkorrektur, wobei der Posenfehler durch äußere Einwirkungen hervorgerufen wird,
Figur 4 eine Veranschaulichung zum Vergleich von zweitem und drittenPose error correction, whereby the pose error is caused by external influences, Figure 4 is an illustration for comparing second and third
Ausführungsbeispiel. Embodiment.
Anhand der Figuren 1 bis 4 soll das Korrekturverfahren am Beispiel einer Kinematik 100 genauer erläutert werden. The correction method using the example of a kinematics 100 will be explained in more detail with reference to FIGS. 1 to 4.
An dem nachfolgenden, in Figur 1 veranschaulichten Ausführungsbeispiel wird In the following, illustrated in Figure 1 embodiment
beschrieben, die die Korrektur für eine gewünschte Pose p ausgeführt wird. Diese described that the correction for a desired pose p is performed. These
Korrektur wird für eine vorgebbare Probemenge von Posen durchgeführt und Correction is performed for a definable sample amount of poses and
anschließend auf den gesamten Konfigurationsraum KR erweitert. subsequently extended to the entire configuration space KR.
In einer beispielhaften Ausführungsform wird zu der gewünschten Pose p(x) ein In an exemplary embodiment, the desired pose is p (x)
Konfigurationsvektor x ermittelt durch Anwendung der inversen Kinematik auf p(x), d.h.: x = IK(p(x)). Die Kinematik wird in einem Schritt 100 entsprechend dem ermittelten Konfigurationsvektor x, d.h. durch Anwendung der Ansteuerungsfunktion auf den Configuration vector x determined by applying inverse kinematics to p (x), that is: x = IK (p (x)). The kinematics are determined in a step 100 according to the determined configuration vector x, i. by applying the control function to the
Konfigurationsvektor x, bewegt. In der Regel führt diese Bewegung infolge intrinsischer Fehler zu einer Pose gDK(x), welche von der gewünschten Pose p(x) abweicht. Configuration vector x, moves. As a rule, this movement leads to a pose gDK (x) due to intrinsic errors, which deviates from the desired pose p (x).
Vorzugsweise wird die eingenommene Pose vermessen und als die zu x gemessene Pose gDK(x) gezeichnet. Anschließend wird die Kinematik in Schritt 102 in die gewünschte Pose p(x) bewegt. Das kann durch manuelles oder anderweitig rückgekoppeltes Anfahren der vorgegebenen Pose p(x) oder durch Abstandsminimierung erfolgen. Wenn die Kinematik die gewünschte Pose p(x) eingenommen hat, werden in einem Schritt 104 die Aktorauslenkungen x* ausgelesen, welche dem ersten Konfigurationsvektor entsprechen. Preferably, the assumed pose is measured and drawn as the pose gDK (x) measured at x. Subsequently, the kinematics is moved in step 102 into the desired pose p (x). This can be done by manually or otherwise fed back approaching the predetermined pose p (x) or by minimizing distance. If the kinematics have assumed the desired pose p (x), in a step 104 the actuator deflections x * corresponding to the first configuration vector are read out.
Aus dem Konfigurationsvektor x und dem Konfigurationsvektor x* wird ein Korrekturwert dx ermittelt, welcher in einer beispielhaften Ausführungsform ein Korrekturvektor ist. From the configuration vector x and the configuration vector x * , a correction value dx is determined, which in a exemplary embodiment is a correction vector.
Ein solcher Korrekturwert wird für alle Posen der Probenmenge ermittelt und anschließend durch Interpolation, Extrapolation und/oder Approximation eine Korrekturfunktion auf dem gesamten Konfigurationsraum KR bestimmt. In einer beispielhaften Ausführungsform bildet die Korrekturfunktion einen Konfigurationsvektor x = IK(x) auf einen Konfigurationsvektor x* ab. Für die Posen der Probenmenge entspricht der Konfigurationsvektor x* den Aktorauslenkungen der Kinematik, wenn die Kinematik die Pose p(x) einnimmt.
In Figur 2 wird eine beispielhafte Ausführungsform veranschaulicht zur Korrektur von Posenfehlern, welche beispielsweise durch eine auf die Kinematik einwirkende äußere Kraftgröße, beispielsweise verursacht durch ein im TCP montiertes Werkzeug, hervorgerufen wird. Such a correction value is determined for all poses of the sample quantity and subsequently a correction function is determined on the entire configuration space KR by means of interpolation, extrapolation and / or approximation. In an exemplary embodiment, the correction function maps a configuration vector x = IK (x) to a configuration vector x * . For the poses of the sample set, the configuration vector x * corresponds to the kinetic kinematics of the kinematics when the kinematics assume the pose p (x). FIG. 2 illustrates an exemplary embodiment for correcting pose errors caused, for example, by an external force magnitude acting on the kinematics, for example caused by a tool mounted in the TCP.
Wie erwähnt, kann die Ermittlung der Korrekturmatrizen M an einer realen Kinematik vorgenommen werden, wobei die Kinematik mit definierten realen Kraftgrößen beaufschlagt wird. Die Korrekturmatrizen können dabei für die Posen einer Posenmenge beispielsweise gemäß dem anhand Figur 1 beschriebenen Verfahren ermittelt werden, indem die mit der Kraftgröße beaufschlagte Kinematik in die gewünschten Posen p(x,) (i = 1 , 2, ... , n) geführt und die zugehörigen Konfigurationsvektoren x* ausgelesen werden. Die Ermittlung der Korrekturmatrizen M kann aber auch mit Hilfe einer Simulation eines Modells einer Kinematik ausgeführt werden, wobei das Kinematikmodell mit simulierten Kraftgrößen beaufschlagt wird. Nachfolgend wird ein Ausführungsbeispiel beschrieben, wobei eine ideale Ansteuerungsfunktion auf das Kinematikmodell angewendet wird. Unter einer idealen Ansteuerungsfunktion wird eine Ansteuerungsfunktion verstanden, die noch nicht hinsichtlich intrinsischer Fehler korrigiert wurde. As mentioned, the determination of the correction matrices M can be carried out on a real kinematics, the kinematics being subjected to defined real force quantities. The correction matrices can be determined for the poses of a pose set, for example according to the method described with reference to FIG. 1, by guiding the kinematics acted upon by the force magnitude into the desired poses p (x,) (i = 1, 2,..., N) and the associated configuration vectors x * are read out. However, the determination of the correction matrices M can also be carried out with the aid of a simulation of a model of a kinematics, wherein the kinematics model is subjected to simulated force variables. An embodiment will now be described, with an ideal driving function applied to the kinematic model. An ideal drive function is understood to be a drive function which has not yet been corrected for intrinsic errors.
Zu einer gewünschten Pose p(x) wird ein Konfigurationsvektor x ermittelt durch Anwendung der inversen Kinematik auf p(x), d.h.: x = IK(p(x)), und in einem Schritt 200 das mit der simulierten Kraftgröße beaufschlagte Kinematikmodell gemäß dem Konfigurationsvektor x bewegt. Infolge der Einwirkung der Kraftgröße F nimmt das Kinematikmodell die Pose p'(x) ein. In einem anschließenden Schritt 202 wird das Kinematikmodell in die gewünschte Pose p(x) bewegt und in Schritt 204 der zugehörige Konfigurationsvektor x* ausgelesen. Analog zu der Korrektur der intrinsischen Fehler werden nun für die definierten Kraftgrößen jeweils die Korrekturwerte dx und die globale Korrekturfunktion bestimmt. For a desired pose p (x), a configuration vector x is determined by applying the inverse kinematics to p (x), ie: x = IK (p (x)), and in a step 200 the kinematics model acted upon by the simulated force magnitude according to Configuration vector x moves. As a result of the action of the force magnitude F, the kinematics model assumes the pose p '(x). In a subsequent step 202, the kinematics model is moved into the desired pose p (x) and in step 204 the associated configuration vector x * is read out. Analogous to the correction of the intrinsic errors, the correction values dx and the global correction function are now respectively determined for the defined force variables.
Eine alternative Methode zur Korrektur von exogenen Posenfehlern wird anhand Figur 3 beschrieben. Gemäß dieser Methode werden für die Posen p(x) einer Probenmenge wieder durch Auswertung der inversen Ansteuerungsfunktion IK die zugehörigen Konfigurationsvektoren ermittelt als x = IK(p(x)). In einem Schritt 300 wird das mit der simulierten Kraftgröße beaufschlagte Kinematikmodell bewegt. Infolge der Einwirkung der
Kraftgröße F nimmt das Kinematikmodell die Pose p'(x) ein. Auf diese Pose p'(x) wird die inverse Ansteuerungsfunktion angewandt, um einen zugehörigen Konfigurationsvektor x* zu erhalten. Durch Auswertung, wie sie beispielsweise aus der Patentschrift DE 10 201 1 079 764 B3 bekannt ist, wird ein Korrekturwert dx ermittelt. Aus den Korrekturwerten dx, (i = 1 , 2, ... , n) der Probenmenge wird durch Interpolation, Extrapolation und/oder Approximation eine Korrekturfunktion auf dem gesamten Konfigurationsraum KR bestimmt. In einer beispielhaften Ausführungsform wird dx bestimmt als dx = x - x*, und die Korrekturfunktion bildet den Konfigurationsvektor x = IK(p(x)) auf den Konfigurationsvektor xkorr = x + dx ab. Auf den korrigierten Konfigurationsvektor xkorr wird in Schritt 302 die nicht korrigierte ideale Ansteuerungsfunktion angewendet. Die korrigierte Ansteuerungsfunktion, welche die exogenen Einflüsse der Kraftgröße F kompensiert, wird in diesem Ausführungsbeispiel definiert als Nacheinanderausführen von erst der Korrekturfunktion und anschließend der idealen Ansteuerungsfunktion. An alternative method for correcting exogenous poses errors will be described with reference to FIG. According to this method, the associated configuration vectors are again determined for the poses p (x) of a sample set by evaluating the inverse control function IK as x = IK (p (x)). In a step 300, the kinematics model subjected to the simulated force magnitude is moved. As a result of action of Force size F, the kinematics model takes the pose p '(x). In response to this pose p '(x), the inverse drive function is applied to obtain an associated configuration vector x * . By evaluation, as is known for example from the patent DE 10 201 1 079 764 B3, a correction value dx is determined. From the correction values dx, (i = 1, 2,..., N) of the sample quantity, a correction function is determined on the entire configuration space KR by means of interpolation, extrapolation and / or approximation. In an exemplary embodiment, dx is determined as dx = x-x * , and the correction function maps the configuration vector x = IK (p (x)) to the configuration vector x corr = x + dx. The uncorrected ideal driving function is applied to the corrected configuration vector x korr in step 302. The corrected drive function, which compensates for the exogenous influences of the force magnitude F, is defined in this embodiment as a successive execution of first the correction function and then the ideal drive function.
Zur Kompensation von intrinsischen und exogenen Fehlern werden die jeweiligen Korrekturfunktionen nacheinander ausgeführt und auf das Bild des Konfigurationsvektors x unter den nacheinander ausgeführten Korrekturfunktionen die ideale Ansteuerungsfunktion angewendet. To compensate for intrinsic and exogenous errors, the respective correction functions are carried out one after the other and the ideal control function is applied to the image of the configuration vector x among the successively executed correction functions.
Da das Kinematikmodell ein ideales Modell der Kinematik ist, d.h. da es in der Simulation keine intrinsischen Fehler gibt, wird in der Simulation die ideale Ansteuerungsfunktion verwendet. Wird dagegen die Korrekturfunktion an einer realen Kinematik bestimmt, kann zur Ansteuerung in den Schritten 200, 300 oder 302 entweder die ideale Ansteuerungsfunktion oder die um die intrinsischen Fehler korrigierte Ansteuerungsfunktion genutzt werden. In Figur 4 sind die Unterschiede zwischen diesen beiden Vorgehensweisen veranschaulicht. Wird gewünscht, dass die Pose p(x) unter der Einwirkung der (realen) Kraftgröße F angefahren werden soll, und wird zur Bewegung der (realen) Kinematik in Schritt 400 eine korrigierte Ansteuerungsfunktion genutzt, die bereits um die intrinsischen Fehler bereinigt ist, so bewegt sich die Kinematik in die Pose p-T(x), wobei in einem ersten Schritt der Konfigurationsvektor x = IK(p(x)) durch eine erste Korrekturfunktion, welche die intrinsischen Fehler kompensiert, auf den Konfigurationsvektor x* abgebildet und
anschließend die nicht korrigierte Ansteuerungsfunktion auf den Konfigurationsvektor x* angewendet wird. Zur Ermittlung der Korrektur der exogenen Krafteinwirkung wird in Schritt 402 die Kinematik in die gewünschte Pose p(x) bewegt und in Schritt 404 der Konfigurationsvektor x** aus den ausgelesenen Aktorenauslenkungen ermittelt. Durch Auswertung der beiden Konfigurationsvektoren x* und x** wird ein Korrekturwert dix ermittelt. Aus den Korrekturwerten d-ix, (i = 1 , 2, ... , n) für die Probenmenge wird wie im Zusammenhang mit dem ersten Ausführungsbeispiel beschrieben eine zweite Korrekturfunktion ermittelt, welche die exogenen Einwirkungen korrigiert. Eine korrigierte Ansteuerungsfunktion, welche sowohl die intrinsischen als auch die exogenen Fehler kompensiert, ergibt sich aus der Nacheinanderausführung von erster und zweiter Korrekturfunktion, welche den Konfigurationsvektor x auf den Konfigurationsvektor x** abbildet und der anschließenden Anwendung der nicht korrigierten Ansteuerungsfunktion auf den Konfigurationsvektor x**. Wird bei der Ermittlung der Korrekturfunktion zur Kompensation exogener Einwirkungen die nicht korrigierte Ansteuerungsfunktion zur Bewegung der Kinematik verwendet, so bewegt sich die Kinematik unter der Einwirkung der Kraftgröße F zu der Pose P2'(x), von wo aus die Kinematik in Schritt 406 in die gewünschte Pose p(x) bewegt wird, und es ergibt sich schließlich der Korrekturwert d2x. Aus den Korrekturwerten d2Xi (i = 1 , 2, ... , n) für die Probenmenge wird wie oben beschrieben eine dritte Korrekturfunktion ermittelt, welche sowohl die intrinsischen als auch die exogenen Einwirkungen korrigiert. Since the kinematics model is an ideal model of kinematics, ie there are no intrinsic errors in the simulation, the ideal control function is used in the simulation. If, on the other hand, the correction function is determined on a real kinematics, either the ideal control function or the control function corrected by the intrinsic errors can be used to control in steps 200, 300 or 302. Figure 4 illustrates the differences between these two approaches. If it is desired that the pose p (x) should be approached under the action of the (real) force magnitude F, and in order to move the (real) kinematics in step 400 a corrected activation function is used, which has already been adjusted for the intrinsic errors the kinematics moves into the pose pT (x), wherein in a first step the configuration vector x = IK (p (x)) is mapped onto the configuration vector x * by a first correction function which compensates for the intrinsic errors then the uncorrected drive function is applied to the configuration vector x * . In order to determine the correction of the exogenous force action, the kinematics is moved into the desired pose p (x) in step 402, and the configuration vector x ** is determined from the read-out actuator deflections in step 404. By evaluating the two configuration vectors x * and x ** , a correction value dix is determined. From the correction values d-ix, (i = 1, 2,..., N) for the sample quantity, as described in connection with the first exemplary embodiment, a second correction function is determined which corrects the exogenous influences. A corrected control function, which compensates both the intrinsic and the exogenous errors, results from the successive execution of the first and second correction functions, which maps the configuration vector x onto the configuration vector x ** and the subsequent application of the uncorrected activation function to the configuration vector x *. * . If the uncorrected control function is used to move the kinematics during the determination of the correction function for compensation of exogenous actions, the kinematics moves under the action of the force magnitude F to the pose P2 '(x), from where the kinematics in step 406 into the desired pose p (x) is moved, and it finally results in the correction value d 2 x. From the correction values d 2 Xi (i = 1, 2,..., N) for the sample amount, a third correction function is determined as described above, which corrects both the intrinsic and the exogenous actions.
Die selbe dritte Korrekturfunktion erhält man übrigens auch, wenn man zwar zur Bewegung der Kinematik die korrigierte Ansteuerungsfunktion genutzt, die bereits um die intrinsischen Fehler bereinigt ist, aber den Korrekturwert durch Auswertung der Konfigurationsvektoren x und x** ermittelt, der sich dann zu d2x ergibt. Incidentally, the same third correction function is also obtained if one uses the corrected activation function for movement of the kinematics, which is already adjusted for the intrinsic errors, but determines the correction value by evaluating the configuration vectors x and x ** , which then becomes d 2 x results.
Eine korrigierte Ansteuerungsfunktion, welche sowohl die intrinsischen als auch die exogenen Fehler kompensiert, ergibt sich dann aus der Nacheinanderausführung von dritter Korrekturfunktion, welche den Konfigurationsvektor x auf den Konfigurationsvektor x** abbildet und der anschließenden Anwendung der nicht korrigierten Ansteuerungsfunktion auf den Konfigurationsvektor x**. A corrected control function, which compensates both the intrinsic and the exogenous errors, then results from the successive execution of the third correction function, which maps the configuration vector x onto the configuration vector x ** and the subsequent application of the uncorrected activation function to the configuration vector x ** ,
Welche der Korrekturfunktionen - die erste zusammen mit der zweiten oder die dritte - verwendet wird, wird der Fachmann in Abhängigkeit der Umstände wählen.
Die Erfindung beschränkt sich in ihrer Ausführungsform nicht auf das vorstehend angegebene bevorzugte Ausführungsbeispiel. Vielmehr ist eine Anzahl von Varianten denkbar, die von dem erfindungsgemäßen Verfahren, der erfindungsgemäßen Vorrichtung, dem erfindungsgemäßen Computerprogramm und dem erfindungsgemäßen computerlesbaren Speichermedium auch bei grundsätzlich anders gearteten Ausführungen Gebrauch macht. Which of the correction functions - the first together with the second or the third - will be used will be chosen by the person skilled in the art depending on the circumstances. The invention is not limited in its embodiment to the above-mentioned preferred embodiment. On the contrary, a number of variants are conceivable which make use of the method according to the invention, the device according to the invention, the computer program according to the invention and the computer-readable storage medium according to the invention, even in fundamentally different embodiments.
Definitionen und Erläuterungen Die Ausführungsbeispiele sollen durch einige Erläuterungen zu den Grundlagen der Kalibrierung ergänzt werden: Definitions and explanations The embodiments are to be supplemented by some explanations on the basics of calibration:
Kinematik Mit dem Begriff der Kinematik bezeichnen wir sowohl die Klasse der seriellen als auch der parallelen Kinematiken, und auch Kombinationen beider Klassen. Sie umfassen beispielsweise Roboter, Werkzeugmaschinen, Bearbeitungsmaschinen, Manipulatoren, Koordinatenmessmaschinen, Festkörperroboter. Ferner bezeichnen wir hiermit auch Kinematiken, die mit Redundanzsensoren versehen sind. Kinematics The term kinematics refers to both the class of serial and parallel kinematics, as well as combinations of both classes. They include, for example, robots, machine tools, processing machines, manipulators, coordinate measuring machines, solid state robots. Furthermore, we also refer to kinematics that are provided with redundancy sensors.
Aktor actuator
In der vorliegenden Schrift wird unter einem Aktor folgendes verstanden: Ein Aktor ist eine technische Einrichtung, die eine Eingangsgröße (elektrische Spannung, Digitalwert etc.) in einen physikalisch realisierten Parameter umsetzt oder in die Veränderung eines physikalischen Parameters umsetzt, der einen Freiheitsgrad einer Kinematik repräsentiert.An actuator is a technical device that converts an input variable (electrical voltage, digital value, etc.) into a physically realized parameter or converts it into the change of a physical parameter that represents a degree of freedom of kinematics ,
Die Auslenkung der Aktoren kann sich beispielsweise aus einer bekannten Beziehung zwischen Auslenkung und Eingangsgröße ermitteln lassen, oder beispielsweise durch spezielle Meßvorrichtungen realisiert sein. The deflection of the actuators can be determined for example from a known relationship between deflection and input quantity, or be realized for example by special measuring devices.
Aktoren sind jene technischen Bauelemente, deren Auslenkungen die Elemente desActuators are those technical components whose deflections are the elements of the
Konfigurationsraumes darstellen. Neben mechanisch agierenden Aktoren verstehen wir unter Aktoren auch rein messende Elemente der Kinematik. Represent configuration space. In addition to mechanically acting actuators, we also understand actuators to be purely measuring elements of kinematics.
Zu den Aktoren gehören insbesondere Linearaktoren, Drehversteller sowie Linearmeßeinrichtungen und Drehmeßeinrichtungen, Aktoren aus Gedächtnislegierungen, Piezokeramiken, pneumatische oder hydraulische Realisierungen, etc.
Freiheiten der Kinematik (DOF, Degree Of Freedom) The actuators include, in particular, linear actuators, rotary adjusters and linear measuring devices and rotary measuring devices, actuators made of memory alloys, piezoceramics, pneumatic or hydraulic implementations, etc. Freedom of Kinematics (DOF, Degree Of Freedom)
DOF ist als Anzahl der Freiheitsgrade einer Kinematik definiert. DOF is defined as the number of degrees of freedom of a kinematics.
Im Regelfall des vorgestellten Verfahrens ist bei den für das Verfahren geeigneten Kinematiken die Anzahl der Aktoren gleich DOF. Liegt Redundanz vor, d.h. übersteigt die Anzahl der Aktoren den DOF, so werden DOF Aktoren ausgewählt und erfindungsgemäß bei der Kalibrierung berücksichtigt. As a rule, in the method presented, the number of actuators is DOF for the kinematics suitable for the method. If there is redundancy, i. If the number of actuators exceeds the DOF, then DOF actuators are selected and considered according to the invention during the calibration.
Pose (P) Unter der Pose einer Kinematik verstehen wir hier die Kombination von Position und Orientierung oder Komponenten und Teilmengen hiervon aller für die Kinematik relevanten beweglichen Starrkörper. Pose (P) Under the heading of a kinematics we understand here the combination of position and orientation or components and subsets thereof of all relevant for the kinematics movable rigid bodies.
Üblicherweise wird die Pose mit einem einzigen Starkörper in Verbindung gebracht. Erfindungsgemäß können jedoch auch Kinematiken bestehend aus mehreren Teilkinematiken mit jeweiligen relevanten Starrkörpern kalibriert werden. Usually, the pose is associated with a single solid body. According to the invention, however, it is also possible to calibrate kinematics consisting of several sub-kinematics with respective relevant rigid bodies.
Posenraum (PR) Poznan Room (PR)
Unter dem Posenraum versteht man entweder die Menge aller von einer Kinematik theoretisch erreichbaren Posen, oder auch eine geeignete Obermenge dieser Posen, wie z.B. die spezielle Euklidische Gruppe SE(3) beim Gough-Manipulator. Pose space is understood to mean either the set of all poses theoretically achievable by kinematics or else a suitable superset of these poses, such as e.g. the special Euclidean group SE (3) in the Gough manipulator.
Konfigurationsraum (KR) Kinematiken werden durch Aktoren angesteuert. Die jeweiligen Auslenkungen der Aktoren 1 ,2,3,.., DOF lassen sich als Vektor x schreiben. Im Rahmen dieses Patents ist der Konfigurationsraum also jener Teil des RDOF, der beim Betrieb der Kinematik vorgesehen ist. Direkte Kinematik (DK) Configuration space (KR) Kinematics are controlled by actuators. The respective deflections of the actuators 1, 2, 3,..., DOF can be written as vector x. In the context of this patent, the configuration space is therefore that part of the R DOF which is provided during the operation of the kinematics. Direct kinematics (DK)
Eine direkte Kinematik ist eine Funktion, die einem Element aus dem Konfigurationsraum die zugehörige Pose aus dem Posenraum zuordnet. DK: KR— > PR
Diese Zuordnung geschieht auf theoretische Weise und stützt sich auf die konstruktiven Geometrieparameter der Kinematik. In der Praxis stellt man die umkehrbare Eindeutigkeit sicher, ohne Beschränkung der Allgemeinheit wird hier eine umkehrbare eindeutige Abbildung vorausgesetzt. A direct kinematics is a function that assigns the corresponding pose from the pose space to an element from the configuration space. DK: KR-> PR This assignment is done in a theoretical way and is based on the constructional geometry parameters of the kinematics. In practice, the reversible uniqueness is ensured, without restriction of generality, a reversible unambiguous mapping is assumed here.
Üblicherweise ist die Direkte Kinematik als Funktion in einem Ansteuerungsrechner hinterlegt. Usually, the direct kinematics is stored as a function in a control computer.
Arbeitsraum (AR) Workspace (AR)
Der Arbeitsraum ist derjenige Teil des Posenraums, der für den Betrieb der Kinematik vorgesehen ist. Er ist die Menge aller Posen, die ein Roboter einnehmen kann und im normalen Betrieb einnehmen soll. Inverse Kinematik (IK) The workspace is that part of the pose space intended for the operation of the kinematics. He is the set of poses a robot can take and take in normal operation. Inverse kinematics (IK)
Eine inverse Kinematik ist eine Funktion, die jeder Pose aus dem Posenraum das zugehörige Element aus dem Konfigurationsraum zuordnet. IK ist die Umkehrabbildung von DK. An inverse kinematics is a function that assigns the associated element from the configuration space to every pose in the pose space. IK is the reverse mapping of DK.
IK: PR ^ KR IK: PR ^ KR
Üblicherweise ist die inverse Kinematik als Funktion in einem Ansteuerungsrechner hinterlegt. Gemessene Direkte Kinematik (GDK) Usually, the inverse kinematics is stored as a function in a control computer. Measured direct kinematics (GDK)
Zu jedem Element aus KR kann messtechnisch - also beispielsweise mittels einer Koordinatenmessmaschine - die in dieser Konfiguration tatsächlich eingenommene Pose ermittelt werden. Die Abbildung von den Elementen aus KR auf die tatsächlich eingenommene Pose wird als gemessene direkte Kinematik (GDK) bezeichnet. For each element from KR, the pose actually taken in this configuration can be determined metrologically - for example by means of a coordinate measuring machine. The mapping from the elements of KR to the pose actually taken is called measured direct kinematics (GDK).
GDK bildet den Konfigurationsraum in den Arbeitsraum ab: GDK maps the configuration space into the workspace:
GDK: KR ^ AR
Probenmenge des Konfigurationsraumes (PM) GDK: KR ^ AR Sample volume of the configuration space (PM)
Als PM wird eine Menge an Elementen des Konfigurationsraumes ausgewählt, die für die Kalibriermessungen vorgesehen ist. As a PM, a set of elements of the configuration space that is provided for the calibration measurements is selected.
Korrigierte Direkte Kinematik auf PM (KDK PM) Jedem Element x e PM wird ein p e AR zugeordnet gemäß: KDK_PM(x) = DK(x + KSF_PM(x)).
Corrected Direct Kinematics on PM (KDK PM) Each element xe PM is assigned a pe AR according to: KDK_PM (x) = DK (x + KSF_PM (x)).
Glossar glossary
Gough-Manipulator Gough manipulator
Damit ist ein paralleler Manipulator mit DOF=6 mit bezeichnet, bei dem beweglicher und statischer Teil durch 6 längenveränderliche Beine miteinander verbunden sind. Gough-Manipulatoren sind auch als Thus, a parallel manipulator with DOF = 6 is designated, are connected to the movable and static part by 6 variable-length legs. Gough manipulators are also called
Hexapoden bekannt. Hexapods known.
Nk Nk = {1 ,2,3 ... k }, k e N N k N k = {1, 2,3 ... k}, ke N
DOF Degree Of Freedom, Grad der Freiheit einer Kinematik I i e NDOF, i nummeriert stets die Aktoren DOF Degree of Freedom, Degree of Freedom of Kinematics I i NDOF, i always number the actuators
[a(i), b(i)] Intervall der zulässigen Auslenkungen des Aktors i [a (i), b (i)] Interval of the permissible deflections of the actuator i
Q(i) Q(i) ist die Anzahl der Intervallteilungen beim Aktor i Q (i) Q (i) is the number of interval divisions at the actuator i
Orientierung Damit ist bezeichnet, wie ein Körper im dreidimensionalen Raum orientiert ist. Die Menge der Orientierungen im dreidimensionalen Raum wird als spezielle orthogonale Gruppe SO(3) bezeichnet. Orientation This refers to how a body is oriented in three-dimensional space. The set of orientations in three-dimensional space is called a special orthogonal group SO (3).
x Element des Konfigurationsraumes, dargestellt als Vektor der x element of the configuration space, represented as vector of
Aktorauslenkungen Aktorauslenkungen
p Element des Posenraumes, als Vektor dargestellt
p element of the Posenraumes, shown as a vector
Claims
1 . Verfahren zur Kalibrierung einer Kinematik, wobei das Verfahren folgende Schritte umfasst: 1 . Method for calibrating kinematics, the method comprising the following steps:
- Bewegen der Kinematik derart, dass die Kinematik eine Anzahl von Posen mit vorgebbarer Genauigkeit einnimmt, Moving the kinematics in such a way that the kinematics occupy a number of poses with predeterminable accuracy,
- Bestimmen von ersten Konfigurationsvektoren durch Auswerten von die Aktorauslenkungen in den eingenommenen Posen beschreibenden Daten, Determining first configuration vectors by evaluating data describing the actuator deflections in the assumed poses,
- Ermittlung einer Funktion zur Transformation des Konfigurationsraums durch Auswertung der ersten und von zweiten Konfigurationsvektoren, wobei die zweiten Konfigurationsvektoren durch eine Ansteuerungsfunktion jeweils auf eine der Posen abgebildet werden, und Determining a function for transforming the configuration space by evaluating the first and second configuration vectors, wherein the second configuration vectors are each mapped to one of the poses by a control function, and
- Definition einer kalibrierten Ansteuerungsfunktion aus Nacheinanderausführung von erst der Funktion zur Transformation des Konfigurationsraums und anschließend der Ansteuerungsfunktion. - Definition of a calibrated control function from successive execution of only the function for the transformation of the configuration space and then the control function.
2. Verfahren nach Anspruch 1 , 2. The method according to claim 1,
dadurch gekennzeichnet, dass characterized in that
zur Bestimmung der ersten Konfigurationsvektoren for determining the first configuration vectors
- die die Aktorauslenkungen in den eingenommenen Posen beschreibenden - Describing the Aktorauslenkungen in the assumed poses
Daten ausgelesen und/oder Data read and / or
- die angesteuerten Aktorauslenkungen verwendet - Used the driven Aktorauslenkungen
werden. become.
3. Verfahren nach Anspruch 1 oder 2, 3. The method according to claim 1 or 2,
dadurch gekennzeichnet, dass characterized in that
das Urbild der Pose unter der Ansteuerungsfunktion ermittelt und die Kinematik gemäß dem Urbild durch Anwendung der Ansteuerungsfunktion bewegt und anschließend die Kinematik in die Posen bewegt wird. the archetype of the pose is determined under the control function and the kinematics are moved according to the archetype by using the control function and then the kinematics is moved into the poses.
4. Verfahren nach einem der voranstehenden Ansprüche, 4. Method according to one of the preceding claims,
dadurch gekennzeichnet, dass characterized in that
die Posen durch Artefakte gegeben werden und/oder die Kinematik unter Zuhilfenahme von Messmitteln in die Posen bewegt wird. the poses are given by artifacts and / or the kinematics is moved with the help of measuring means in the poses.
5. Verfahren nach einem der voranstehenden Ansprüche, 5. The method according to any one of the preceding claims,
dadurch gekennzeichnet, dass
die Funktion zur Transformation des Konfigurationsraums für weitere von den ersten und/oder zweiten Konfigurationsvektoren verschiedenen Konfigurationsvektoren durch Interpolation, Extrapolation, Approximation oder durch deren Kombination ermittelt werden. characterized in that the function for transforming the configuration space for further configuration vectors different from the first and / or second configuration vectors can be determined by interpolation, extrapolation, approximation or by a combination thereof.
6. Verfahren nach einem der voranstehenden Ansprüche, 6. The method according to any one of the preceding claims,
dadurch gekennzeichnet, dass characterized in that
eine Differenz zwischen einem Arbeitsraum, d.h. der Menge der durch die Kinematik bei Auswertung der Ansteuerungsfunktion realisierbaren Posen, und den tatsächlich durch die Kinematik einnehmbaren Posen ermittelt und bei der Definition der kalibrierten Ansteuerungsfunktion berücksichtigt wird. a difference between a workspace, i. the amount of poses that can be realized by the kinematics when evaluating the activation function, and the poses that can actually be absorbed by the kinematics, and taken into account in the definition of the calibrated activation function.
7. Verfahren nach einem der voranstehenden Ansprüche, 7. The method according to any one of the preceding claims,
dadurch gekennzeichnet, dass characterized in that
die Verfahrensschritte mit einer realen Kinematik oder mit einem computergesteuerten Modell der Kinematik ausgeführt werden. the method steps are carried out with a real kinematics or with a computer-controlled model of the kinematics.
8. Verfahren nach einem der voranstehenden Ansprüche, 8. Method according to one of the preceding claims,
dadurch gekennzeichnet, dass characterized in that
die Kinematik mit äußeren Einwirkungen und/oder das Modell der Kinematik mit simulierten äußeren Einwirkungen beaufschlagt werden. the kinematics are subjected to external influences and / or the kinematics model to simulated external effects.
9. Verfahren zur Korrektur von Posenfehlern einer Kinematik, wobei das Verfahren folgende Schritte umfasst: 9. A method for correcting pose errors of a kinematics, the method comprising the steps of:
- Bereitstellen eines computergesteuerten Modells der Kinematik, Providing a computer-controlled model of kinematics,
- Bewegen des Modells der Kinematik gemäß einer vorgegebenen Anzahl erster Konfigurationsvektoren eines Konfigurationsraumes, wobei auf die Konfigurationsvektoren eine Ansteuerungsfunktion angewendet wird, und wobei eine Beaufschlagung des Modells der Kinematik mit äußeren Einwirkungen simuliert wird, Moving the model of the kinematics according to a predetermined number of first configuration vectors of a configuration space, wherein a control function is applied to the configuration vectors, and wherein an impact of the kinematics model with external influences is simulated,
- Ermitteln der infolge der Bewegung eingenommenen Pose des Modells der Kinematik, Determining the pose of the model of the kinematics assumed as a result of the movement,
- Anwenden der Umkehrfunktion der Ansteuerungsfunktion auf die ermittelten Posen zur Ermittlung von zweiten Konfigurationsvektoren, Applying the inverse function of the activation function to the determined poses for determining second configuration vectors,
- Ermittlung eines Korrekturwertes für zumindest einen Teil der ersten Konfigurationsvektoren durch Auswertung des Teils der ersten und zugehörigen zweiten Konfigurationsvektoren,
- Ermittlung einer Funktion zur Transformation des Konfigurationsraums durch Auswertung der Korrekturwerte, und Determination of a correction value for at least a part of the first configuration vectors by evaluation of the part of the first and associated second configuration vectors, Determination of a function for transformation of the configuration space by evaluation of the correction values, and
- Definition einer korrigierten Ansteuerungsfunktion aus Nacheinanderausführung von erst der Funktion zur Transformation des Konfigurationsraums und anschließend der Ansteuerungsfunktion. - Definition of a corrected control function from successive execution of only the function for the transformation of the configuration space and then the control function.
10. Anordnung mit mindestens einem Chip und/oder Prozessor, wobei die Anordnung derart eingerichtet ist, dass ein Verfahren zur Kalibrierung der Kinematik gemäß einem der Ansprüche 1 bis 9 ausführbar ist. 10. Arrangement with at least one chip and / or processor, wherein the arrangement is set up such that a method for calibrating the kinematics according to one of claims 1 to 9 can be executed.
1 1 . Computerlesbares Speichermedium, auf dem ein Programm gespeichert ist, das es einer Datenverarbeitungseinrichtung ermöglicht, nachdem es in Speichermittel der Datenverarbeitungseinrichtung geladen worden ist, ein Verfahren gemäß einem der Ansprüche 1 bis 9 durchzuführen, und/oder auf dem computerlesbare Daten gespeichert sind, die zumindest Teile der gemäß dem Verfahren nach einem der Ansprüche 1 bis 9 definierten kalibrierten Ansteuerungsfunktion und/oder zumindest Teile der gemäß dem Verfahren nach einem der Ansprüche 1 bis 9 ermittelten Korrekturwerte umfassen.
1 1. A computer-readable storage medium having stored thereon a program that allows a data processing device, after being loaded into storage means of the data processing device, to perform a method according to any one of claims 1 to 9 and / or on which computer-readable data is stored, comprising at least parts comprising the calibrated actuation function defined according to the method according to one of claims 1 to 9 and / or at least parts of the correction values determined according to the method according to one of claims 1 to 9.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102013101095.4A DE102013101095B4 (en) | 2013-02-04 | 2013-02-04 | Method and arrangement for correcting poses errors of a kinematics and a corresponding computer program and a corresponding computer-readable storage medium |
PCT/EP2014/052150 WO2014118387A1 (en) | 2013-02-04 | 2014-02-04 | Method and arrangement for correcting positional errors of a kinematic system, corresponding computer program and corresponding computer-readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
EP2983869A1 true EP2983869A1 (en) | 2016-02-17 |
Family
ID=50190409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP14707339.9A Withdrawn EP2983869A1 (en) | 2013-02-04 | 2014-02-04 | Method and arrangement for correcting positional errors of a kinematic system, corresponding computer program and corresponding computer-readable storage medium |
Country Status (5)
Country | Link |
---|---|
US (1) | US20160346931A1 (en) |
EP (1) | EP2983869A1 (en) |
CN (1) | CN105705302B (en) |
DE (1) | DE102013101095B4 (en) |
WO (1) | WO2014118387A1 (en) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016007601A1 (en) * | 2016-06-21 | 2017-12-21 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Configure and / or control a robot assembly |
CN106625573B (en) * | 2016-10-25 | 2018-11-13 | 天津大学 | A kind of series parallel robot in five degrees of freedom direct error compensation technique |
CN109960217B (en) * | 2017-12-22 | 2020-08-04 | 财团法人工业技术研究院 | Machine tool service control simulation device and method for establishing controlled body model |
EP3610993A1 (en) * | 2018-08-14 | 2020-02-19 | Beckman Coulter, Inc. | System for active motion displacement control of a robot |
CN110421566B (en) * | 2019-08-08 | 2020-10-27 | 华东交通大学 | Robot precision compensation method based on approximation degree weighted average interpolation method |
EP3797935A1 (en) * | 2019-09-24 | 2021-03-31 | Hilti Aktiengesellschaft | Method for determining a position and/or the orientation of a device top |
EP3797936A1 (en) * | 2019-09-24 | 2021-03-31 | Hilti Aktiengesellschaft | Method for determining a position and/or the orientation of a device top |
CN110825029B (en) * | 2019-10-28 | 2020-10-16 | 清华大学 | Method and system for compensating pose errors of self-adaptive machining mechanism |
CN110842927B (en) * | 2019-11-30 | 2022-07-08 | 天津大学 | Robot joint geometric error compensation method based on multiple regression |
US11529738B2 (en) * | 2020-07-02 | 2022-12-20 | NDR Medical Technology Pte. Ltd. | Control system and a method for operating a robot |
CN114386208B (en) * | 2020-10-16 | 2024-06-25 | 北京航空航天大学 | Over-constrained kinematic support reliability analysis method based on parallel mechanism model |
DE102020215257A1 (en) | 2020-12-03 | 2022-06-09 | Carl Zeiss Industrielle Messtechnik Gmbh | Method and device for calibrating a coordinate measuring device |
CN112720480B (en) * | 2020-12-22 | 2022-08-16 | 华中科技大学 | Robot track correction method and system based on grading errors |
JP2022100627A (en) * | 2020-12-24 | 2022-07-06 | セイコーエプソン株式会社 | Method of determining control position of robot, and robot system |
DE102021111237B3 (en) | 2021-04-30 | 2022-06-15 | Physik Instrumente (PI) GmbH & Co KG | Acceleration of direct and indirect kinematics |
CN113246145B (en) * | 2021-07-02 | 2021-09-28 | 杭州景业智能科技股份有限公司 | Pose compensation method and system for nuclear industry grabbing equipment and electronic device |
CN113459104B (en) * | 2021-07-12 | 2023-09-05 | 清华大学 | Robot Positioning Error Prediction Method and Prediction Device Based on Support Vector Regression |
DE102021212542B3 (en) | 2021-11-08 | 2022-12-22 | Volkswagen Aktiengesellschaft | Method of operating a multi-axis robot and robot |
CN115359693B (en) * | 2022-08-15 | 2024-07-26 | 武汉船用机械有限责任公司 | Marine engineering platform lifting simulation operation system and operation method thereof |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4763276A (en) * | 1986-03-21 | 1988-08-09 | Actel Partnership | Methods for refining original robot command signals |
WO1999028097A1 (en) * | 1997-12-01 | 1999-06-10 | Giddings & Lewis, Inc. | System and method for calibrating a hexapod positioning device |
JP4275632B2 (en) * | 2005-03-01 | 2009-06-10 | 新日本工機株式会社 | Calibration method for parallel mechanism mechanism, calibration verification method, calibration verification program, data collection method, and correction data collection method for spatial position correction |
JP4464318B2 (en) * | 2005-05-16 | 2010-05-19 | オークマ株式会社 | Calibration method for parallel mechanism machine |
JP4638327B2 (en) * | 2005-10-17 | 2011-02-23 | 新日本工機株式会社 | Parallel mechanism device, parallel mechanism device calibration method, calibration program, and recording medium |
JP4960038B2 (en) * | 2006-08-09 | 2012-06-27 | オークマ株式会社 | Control method and control device for parallel mechanism machine |
DE102007010067B3 (en) * | 2007-02-28 | 2008-07-03 | Technische Universität Braunschweig Carolo-Wilhelmina | Accuracy testing or parallel kinematics machine e.g. robot, calibrating method, involves determining error parameters so that difference between singularity positions is minimized or outputting signal when difference exceeds preset value |
EP2359989B1 (en) * | 2010-02-15 | 2013-07-24 | Honda Research Institute Europe GmbH | Robot control with bootstrapping inverse kinematics |
EP2547490B1 (en) * | 2010-03-18 | 2014-01-08 | ABB Research Ltd. | Calibration of a base coordinate system for an industrial robot |
DE102011079764B3 (en) | 2011-07-25 | 2012-11-15 | Johannes Gottlieb | Method and arrangement for calibrating a kinematics and a corresponding computer program and a corresponding computer-readable storage medium |
-
2013
- 2013-02-04 DE DE102013101095.4A patent/DE102013101095B4/en not_active Expired - Fee Related
-
2014
- 2014-02-04 WO PCT/EP2014/052150 patent/WO2014118387A1/en active Application Filing
- 2014-02-04 CN CN201480020158.3A patent/CN105705302B/en not_active Expired - Fee Related
- 2014-02-04 EP EP14707339.9A patent/EP2983869A1/en not_active Withdrawn
-
2016
- 2016-08-04 US US15/228,855 patent/US20160346931A1/en not_active Abandoned
Non-Patent Citations (1)
Title |
---|
See references of WO2014118387A1 * |
Also Published As
Publication number | Publication date |
---|---|
WO2014118387A1 (en) | 2014-08-07 |
CN105705302A (en) | 2016-06-22 |
DE102013101095A1 (en) | 2014-08-07 |
DE102013101095B4 (en) | 2016-12-15 |
CN105705302B (en) | 2019-06-04 |
US20160346931A1 (en) | 2016-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102013101095B4 (en) | Method and arrangement for correcting poses errors of a kinematics and a corresponding computer program and a corresponding computer-readable storage medium | |
DE102016212695A1 (en) | industrial robots | |
DE202015105595U1 (en) | Absolute robot-assisted positioning method | |
DE112016002797T5 (en) | CALIBRATION DEVICE AND ROBOT SYSTEM USING SUCH A | |
DE112016000582T5 (en) | TEACHING DEVICE, TEACHING PROCEDURE AND ROBOT SYSTEM | |
DE10143753B4 (en) | Calibration method for a robot arm | |
DE102013021917A1 (en) | Robot system display device | |
DE102018202322A1 (en) | Robot system, robot control device and robot control method | |
DE10153049B4 (en) | 3D coordination system | |
WO2015158334A1 (en) | Method for measuring the external contour of three-dimensional measurement objects and associated measurement system | |
DE102011079764B3 (en) | Method and arrangement for calibrating a kinematics and a corresponding computer program and a corresponding computer-readable storage medium | |
EP4076867A1 (en) | Calibrating a virtual force sensor of a robot manipulator | |
EP4094897A1 (en) | Hand-eye calibration of camera-guided devices | |
DE102012022190B4 (en) | Inverse kinematics | |
EP4076866A1 (en) | Calibrating a virtual force sensor of a robot manipulator | |
EP3535097B1 (en) | Calibrating a model of a process robot and operating a process robot | |
DE102019118263B3 (en) | Output of quality information via force detection on the robot manipulator | |
EP4061586B1 (en) | Force measurement and force generation in redundant robot manipulators | |
DE102009040194B4 (en) | Method for force control | |
DE102019131401B3 (en) | Calibration of an impedance control of a robot manipulator | |
DE19629739C1 (en) | Drive control mechanism, with measurement system, for load movable in several spatial dimensions e.g. for vehicles, air- and space-craft, and buildings vibration test stand | |
DE102012208252A1 (en) | Method for performing highly accurate positioning of guide tool of robot, involves calculating deviation between desired and actual positions of guide tools of robot arms using virtual mechanical model of plant including robots | |
DE102021201024B3 (en) | Method and system for operating a robot | |
EP4212287A1 (en) | Project management of safety-oriented monitoring for a multi-axis kinematic with multiple movable segments | |
DE102012206503A1 (en) | Method for performing force and moment control of robot system, involves determining target position of tool midpoint based on actual position, notional vectorial spacing and notional vectorial target spacing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20151209 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20180901 |