Data-driven calibration of absolute positions for a movable robot

The data-driven calibration method for movable robots addresses inaccuracies in existing models by incorporating mechanical information, reducing data requirements and enhancing prediction efficiency for industrial use.

WO2026158798A1PCT designated stage Publication Date: 2026-07-30ABB (SCHWEIZ) AG
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
ABB (SCHWEIZ) AG
Filing Date
2025-01-27
Publication Date
2026-07-30

AI Technical Summary

Technical Problem

Existing calibration methods for movable robots rely on explicit models that make simplifying assumptions, leading to inaccuracies in predicting the absolute position of reference points, and require extensive data collection, making refinement impractical for industrial use.

Method used

A data-driven calibration method using a trainable processing unit with mechanical information consideration, such as kinematic constraints and deformability, to predict absolute positions from observable quantities, reducing the need for extensive data collection by leveraging a priori knowledge.

Benefits of technology

The method allows for more efficient refinement of absolute position prediction, requiring fewer training examples and improving accuracy by tailoring the neural network structure to the specific mechanical properties of the robot, making it suitable for industrial applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025051960_30072026_PF_FP_ABST
    Figure EP2025051960_30072026_PF_FP_ABST
Patent Text Reader

Abstract

A computer-implemented method (100) for determining an absolute position (2a) of at least one reference point (2) of a movable robot (1) from an input (3) that comprises a set of observable quantities (3a-3c), and / or an estimate (2a#) of said absolute position (2a), the method (100) comprising the steps of: · providing (110) a data-driven calibration model (4) that comprises o at least one trainable processing unit (5) whose behaviour is characterized by a set of trainable parameters (5a); and o consideration of mechanical information (6) about the movable robot (1), said mechanical information (6) being indicative at least of kinematic constraints of the robot (1), and / or of a deformability of at least one part of the movable robot (1); · providing (120) the input (3) to the data-driven calibration model (4), thereby producing an output (4a); and · determining (130) the sought absolute position (2a) of the at least one reference point (2) of the movable robot (1) based at least in part on the output (4a).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] ABB Schweiz AG 27.01.2025

[0002] A 19464 WO

[0003] DATA-DRIVEN CALIBRATION OF ABSOLUTE POSITIONS

[0004] FOR A MOVABLE ROBOT

[0005] FIELD OF THE INVENTION

[0006] The invention relates to the calibration of a movable robot that allows to predict the absolute position of at least one reference point of the movable robot, such as a tool center point, TCP, from a set of observable quantities.

[0007] BACKGROUND

[0008] When performing work with a movable robot, it is usually necessary to move a tool or other part of the robot exactly to certain given positions. The exact position of the tool or other parts of robot is directly measurable, e.g., with a laser scanner. However, such a direct measurement is not practical during normal operation of the movable robot because it is slow and requires much effort. Rather, during normal operation, the absolute position of the tool (or any other reference point of the robot) will have to be calculated from a set of observable quantities, such as angular positions of joints of the robot. Typically, only the angular positions of the motor (i.e. , on the gearbox input side) are measured. A calibration process based on data points of said direct measurements and a calibration model establishes the relationship between these observable quantities and the sought absolute positions. That is, after a one-time effort of gathering the data points of direct measurements, absolute positions can be calculated quickly during normal operation of the robot.

[0009] Calibration is usually performed with explicit models. These explicit models take observable quantities as inputs and produce the sought absolute position as output. Every such model is necessarily based on one or more simplifying assumptions.

[0010] Therefore, the position outputted by the model will not be fully accurate.P240894W001 - 2 - 27.01.2025

[0011] OBJECTIVE OF THE INVENTION

[0012] It is therefore an objective of the invention to provide a data-driven method that is at least capable of predicting influences of quantities on the absolute position of the reference point of the movable robot that are hard to model explicitly.

[0013] This objective is achieved by the computer-implemented method according to the independent claim. Further advantageous embodiments are detailed in the dependent claims.

[0014] DISCLOSURE OF THE INVENTION

[0015] The invention provides a computer-implemented method for determining an absolute position of at least one reference point of a movable robot from an input that comprises a set of observable quantities, and / or an estimate of said absolute position. That is, the method may start from scratch and determine the absolute position directly from the set of observable quantities. But the method may also refine an already existing estimate of the absolute position that may, for example, have been produced by an explicit calibration model. The reference point may, for example, be a Tool Center Point, TCP, of the movable robot.

[0016] In the course of the method, a data-driven calibration model is provided. This data-driven calibration model comprises at least one trainable processing unit whose behaviour is characterized by a set of trainable parameters. For example, during supervised training, outputs that the data-driven calibration model produces from inputted training examples may be compared to “ground truth” outputs with which the training examples are labelled. The parameters of the trainable processing units may then be optimized towards the goal that, given the training examples as inputs, the data-driven calibration model reproduces the “ground truth” outputs.

[0017] The data-driven calibration model also comprises consideration of mechanical information about the movable robot. This mechanical information is indicative at least of kinematic constraints of the robot, and / or of a deformability of at least one part of the movable robot. As it will be discussed in the following, consideration of the mechanical information may take any suitable form. For example, it may manifest itself inP240894W001 - 3 - 27.01.2025

[0018] • the architecture of the data-driven calibration model, e.g., in the arrangement and inter-connection of the trainable processing units that form the data-driven calibration model; and / or

[0019] • a composition of the data-driven calibration model from trainable processing units on the one hand, and explicit models on the other hand; and / or

[0020] • properties of the trainable processing units, such as activation functions or other processing functions on the way from the input to the output.

[0021] The input that the method takes in is provided to the data-driven calibration model. This produces an output. Based at least in part on this output, the sought absolute position of the at least one reference point of the movable robot is determined. In particular, the data-driven calibration model may directly output the sought absolute position. But the sought absolute position may also be determined by performing any suitable further computation on the output of the data-driven calibration model, such as coordinate conversion or transposition into another frame of reference.

[0022] The inventors have found that, in this manner, the training of the data-driven calibration model may be accomplished with fewer training examples. Neural networks as data-driven models are, in principle, capable of approximating any unknown smooth function without any a priori knowledge about this function. However, this requires a lot of training examples. Examples known from the literature require on the order of 14,000 training examples to further refine the output of a first principles calibration model that has been obtained based on only about 100 measured calibration targets. Gathering such amounts of data takes days and is thus unrealistic for further use, i.e. , not worth the effort for calibrating an individual robot. That is, the further refinement is disproportionately expensive. But if, like in the present case, there is a priori knowledge about the relationship between the observable quantities and the absolute position, putting this a priori knowledge to use drastically reduces the amount of training examples that is needed. Everything that is already known need not be learned from scratch again. The end result is that, by virtue of less training examples being required (i.e., the training being more “data-efficient”), the refinement of the determined absolute position of the at least one reference point becomes practical for industrial use.

[0023] In other words, the requirement for huge amounts of data that has been reported in the literature is only partially due to the complexity of the relationship that is beingP240894W001 - 4 - 27.01.2025

[0024] modelled. Actually, the data-inefficiency to a large extent is due to the use of a brute force approach in terms of network structure. Figuratively speaking, if a hammer (here: a network with a generic vanilla structure) is the only tool you know, everything looks like a nail. The vanilla approach of using fully connected MLPs (multi-layer perceptron) with ReLLI activation can approximate any (smooth) function, but it cannot do so efficiently. The proposed approach is to exploit the domain know-how regarding the calibration problem by tailoring the neural network structure.

[0025] In a particularly advantageous embodiment, at least one trainable processing unit is chosen to be a neuron that aggregates a plurality of inputs into an activation value and computes the outcome of a nonlinear activation function based at least in part on this activation value. Such a neuron has at least three degrees of freedom where said a priori knowledge may be applied, namely the choice which inputs to accept in the first place (e.g., whether the neural network is “fully connected” or not), the concrete manner of aggregating the inputs into the activation value (e.g., weighted sum), and the choice of the concrete nonlinear activation function (e.g., rectified linear unit, ReLLI).

[0026] That is, in a further particularly advantageous embodiment, the consideration of mechanical information may comprise that the activation function corresponds to at least one portion of the mechanical information. If, according to the mechanical information, there is a certain functional dependency between quantities, and the activation function of at least some neurons is of the same type, then a considerably lesser number of neurons suffices to approximate the unknown function that leads from the input from which the method starts to the sought absolute position of the at least one reference point. For example, if there is a dependency based on a sine or cosine function, this may be approximated by having one single sine or cosine function as the activation function. By contrast, approximating a sine or cosine function with piecewise linear activation functions, like ReLLI functions, would require many more such functions.

[0027] Therefore, in a further particularly advantageous embodiment, at least one portion of the mechanical information is expressed as a sine or cosine function in space and / or time. The consideration of mechanical information comprises that a sine or cosine function is chosen as the activation function. Mechanical information in the form of sine or cosine dependencies is particularly prevalent in a setting where the movable robotP240894W001 - 5 - 27.01.2025

[0028] has multiple axes of rotation, and its state is characterized by rotation angles with respect to these rotation axes. The sine or cosine dependencies may then be based on these rotation angles.

[0029] In a further particularly advantageous embodiment, the data-driven calibration model comprises multiple branches of multiple processing layers. Each such processing layer comprising a plurality of trainable processing units. At least one such processing layer delivers its output only to one or more processing layers in the same branch, but not to processing layers in another branch. That is, for at least part of their length, the branches run separately without exchanging data. The consideration of mechanical information comprises that the multiple branches of processing layers take different sets of mechanical information as inputs.

[0030] In this manner, the overall task of determining the sought absolute position may be divided into sub-tasks. Even if only the final output of the data-driven calibration model is monitored during training, the sub-tasks may be trained more or less independently to some degree. That is, optimizing the parameters of the trainable processing units in one branch will have some impact on the final output that may be used as a feedback, but it will not directly impact the behaviour of another parallel branch. Separating the overall task into sub-tasks prevents the data-driven calibration model to learn complex interactions between branches where, for physical reasons, none actually exist.

[0031] In a further particularly advantageous embodiment, outputs of multiple branches of processing layers are processed together by a further processing layer. In this manner, the multiple branches of processing layers may prepare intermediate results that are then processed into the final result by the further processing layer.

[0032] In a further particularly advantageous embodiment, the further processing layer also gets the inputs to the multiple branches of processing layers as inputs. The dividing of the overall task into sub-tasks is by itself a simplifying assumption. Providing the original inputs to the further processing layer as further inputs preserves a chance to remedy a potential loss of information due to this simplifying assumption, or any other simplifying assumptions somewhere else within the branches.P240894W001 - 6 - 27.01.2025

[0033] In a further particularly advantageous embodiment, at least one branch of processing layers is configured to model kinematics of the movable robot. Alternatively or in combination to this, at least one branch of processing layers may be configured to model compliance of at least one part of the movable robot due to deformability. These two tasks are largely independent. A purely kinematic model assumes that all elements of the movable robot are perfectly rigid bodies. The compliance, i.e., the deformation, of parts of the movable robot is basically only dependent on loads that are currently being placed on the respective parts, and these loads are not directly dependent on the kinematic history. But both effects are relevant for determining the final absolute position of the at least one reference point.

[0034] The independence of the branches for modelling kinematics on the one hand, and compliance on the other hand, may also manifest itself in different kinds of inputs that are processed by both branches. If each branch works only on input that is known to be salient for the task at hand, it is not distracted by anything else that is known not to be in a correlation with the result to be outputted by this branch.

[0035] Thus, in one example, the branch that is configured to model kinematics may get at least angular positions of joints of the movable robot as inputs. Many robots have a plurality of rotation axes, so that the position of the at least one reference point, such as a tool center point, TCP, is characterized by angles of rotation with respect to these rotation axes. If the robot also has a member that may be linearly extended or retracted along an axis, then the position of the at least one reference point may additionally be characterized by a linear position along this axis.

[0036] Alternatively or in combination to this, the branch that is configured to model compliance may get at least load torques and / or wrenches on joints of the movable robot as inputs. These quantities represent forces that deform one or more members of the robot. This deformation may in turn cause the absolute position of the reference point to deviate from, e.g., an estimate made by a first-principles model.

[0037] In a further particularly advantageous embodiment, the data-driven calibration model comprises at least one explicit sub-model that models an effect of kinematic constraints, and / or of deformability of at least one part of the movable robot, as consideration of the mechanical information. In this manner, wherever a prioriP240894W001 - 7 - 27.01.2025

[0038] knowledge is available, the corresponding explicit, ready-to-use model may take the place of one or more processing layers with trainable processing units. In other words, it is not necessary to train trainable processing layers to mimic the behaviour of a model that is already available.

[0039] In a further particularly advantageous embodiment, the explicit sub-model gets the output of a processing layer with a plurality of trainable processing units as input. In this manner, unknown effects can be learned in a data-driven manner first to arrive at a quantity that the explicit sub-model takes as input, and then this quantity may be processed further onwards by the explicit sub-model.

[0040] In another particularly advantageous embodiment, at least one processing layer with a plurality of trainable processing units gets both a portion of the input to the method and the output of the explicit sub-model as inputs. In this manner, the input to the processing layer may be enriched using the a priori knowledge in the explicit submodel. For example, by means of the explicit sub-model, a quantity may be computed from the input, and this quantity may be used by the processing layer to cover unknown effects. In one example, from joint angles that characterize the state of the moving robot, joint load torques that are dependent on this state may be inferred. Thus, in a further particularly advantageous embodiment, at least one explicit sub-model is configured to compute at least one load torque from kinematics of the movable robot. For example, such an explicit sub-model may work according to the recursive Newton-Euler algorithm, RNEA.

[0041] In a further particularly advantageous embodiment, at least one explicit sub-model is chosen to be a forward kinematics model that is configured to compute a position of a reference point of the robot from joint parameters of the robot. Such a forward kinematics model benefits from corrections that the trainable processing layers have applied before.

[0042] In a further particularly advantageous embodiment, the estimate of the absolute position is obtained from a first principles calibration model based on a set of observable quantities. In this manner, the present method may augment the existing first principles calibration model: The first principles calibration model is used as much as possible. Only effects that are hard to model explicitly are captured by trainableP240894W001 - 8 - 27.01.2025

[0043] processing units, and processing layers comprising such trainable processing units. That is, the first principles model is not replaced, but rather augmented for learning the remaining error from data. After the first principles calibration model has delivered its estimate, the data-driven calibration model may be employed to determine the remaining error between measured positions of the at least one reference point (such as the tool center point, TCP) on the one hand, and the outcome of the first principles calibration model on the other hand.

[0044] Because it may be fully or at least partially computer-implemented, the present method may be embodied in the form of a software. The invention therefore also relates to a computer program with machine-readable instructions that, when executed by one or more computers and / or compute instances, cause the one or more computers and / or compute instances to perform the method described above. Examples for compute instances include virtual machines, containers or serverless execution environments in a cloud. The invention also relates to a machine-readable data carrier and / or a download product with the computer program. A download product is a digital product with the computer program that may, e.g., be sold in an online shop for immediate fulfilment and download to one or more computers. The invention also relates to one or more compute instances with the computer program, and / or with the machine-readable data carrier and / or download product.

[0045] DESCRIPTION OF THE FIGURES

[0046] In the following, the invention is illustrated using Figures without any intention to limit the scope of the invention. The Figures show:

[0047] Figure 1: Exemplary embodiment of the method 100

[0048] Figure 2: Example of adapting a neural network to given functional dependencies according to the mechanical information 6;

[0049] Figure 3: Example of introducing an explicit sub-model into the data-driven calibration model 4;

[0050] Figure 4: Example of splitting the data-driven calibration model 4 into multiple branches 7a, 7b.P240894W001 - 9 - 27.01.2025

[0051] Figure 1 is a schematic flow chart of an embodiment of the method 100 for determining an absolute position 2a of at least one reference point 2 of a movable robot 1 from an input 3. The input 3 comprises a set of observable quantities 3a-3c, and / or an estimate 2a# of said absolute position 2a.

[0052] In step 110, a data-driven calibration model 4 is provided. This data-driven calibration model 4 comprises at least one trainable processing unit 5 whose behaviour is characterized by a set of trainable parameters 5a. Furthermore, the data-driven calibration model 4 comprises, in any suitable form as discussed above, consideration of mechanical information 6 about the movable robot 1. This mechanical information 6 is indicative at least of kinematic constraints of the robot 1 , and / or of a deformability of at least one part of the movable robot 1.

[0053] In step 120, the input 3 is provided to the data-driven calibration model 4. This produces an output 4a.

[0054] Optionally, according to block 105, the estimate 2a# of the absolute position 2a may be is obtained from a first principles calibration model 9 based on a set of observable quantities 3a-3c.

[0055] In step 130, the sought absolute position 2a of the at least one reference point 2 of the movable robot 1 is determined based at least in part on the output 4a.

[0056] According to block 111, at least one trainable processing unit 5 may be chosen to be a neuron that aggregates a plurality of inputs into an activation value and computes the outcome of a nonlinear activation function based at least in part on this activation value.

[0057] According to block 111a, the consideration of mechanical information 6 may comprise that the activation function corresponds to at least one portion of the mechanical information.P240894W001 - 10 - 27.01.2025

[0058] According to block 111 b, at least one portion of the mechanical information 6 may be expressed as a sine or cosine function in space and / or time. According to block 111c, the consideration of mechanical information 6 may then comprise that a sine or cosine function is chosen as the activation function.

[0059] According to block 112, the data-driven calibration model 4 may comprise multiple branches 7a, 7b of multiple processing layers 7a1, 7a2; 7b1, 7b2. Each processing layer 7a1, 7a2; 7b1, 7b2 comprises a plurality of trainable processing units 5.

[0060] According to block 113, at least one such processing layer 7a1 , 7a2; 7b1 , 7b2 may then deliver its output only to one or more processing layers 7a1 , 7a2; 7b1 , 7b2 in the same branch 7a, 7b, but not to processing layers 7a1, 7a2; 7b1, 7b2 in another branch 7a, 7b. According to block 114, the consideration of mechanical information 6 may then comprise that the multiple branches 7a, 7b of processing layers 7a1, 7a2; 7b1, 7b2 take different sets 6a, 6b of mechanical information 6 as inputs.

[0061] According to block 112a, at least one branch 7a, 7b of processing layers 7a1, 7a2; 7b1, 7b2 may be configured to model kinematics of the movable robot 1. In particular, according to block 112c, the branch 7a, 7b that is configured to model kinematics may get at least angular positions of joints of the movable robot 1 as inputs.

[0062] According to block 112b, at least one branch 7a, 7b of processing layers 7a1, 7a2; 7b1, 7b2 may be configured to model compliance of at least one part of the movable robot 1 due to deformability. In particular, according to block 112d, the branch 7a, 7b that is configured to model compliance may get at least load torques and / or wrenches on joints of the movable robot 1 as inputs.

[0063] In the example shown in Figure 1, according to block 115, outputs of multiple branches 7a, 7b of processing layers 7a1, 7a2; 7b1, 7b2 may be processed together by a further processing layer 73.

[0064] According to block 115a, this further processing layer 73 may also get the inputs to the multiple branches 7a, 7b of processing layers 7a1, 7a2; 7b1, 7b2 as inputs.

[0065] According to block 116, the data-driven calibration model 4 may comprise at least one explicit sub-model 8 that models an effect of kinematic constraints, and / or ofP240894W001 - 11 - 27.01.2025

[0066] deformability of at least one part of the movable robot 1 , as consideration of the mechanical information 6.

[0067] According to block 116a, the explicit sub-model 8 may get the output of a processing layer 7a1 , 7a2; 7b1 , 7b2 with a plurality of trainable processing units 5 as input.

[0068] According to block 116b, at least one processing layer 7a1 , 7a2; 7b1 , 7b2 with a plurality of trainable processing units 5 may get both a portion of the input 3 to the method 100 and the output 8a of the explicit sub-model 8 as inputs.

[0069] According to block 116c, at least one explicit sub-model 8 may be configured to compute at least one load torque from kinematics of the movable robot 1.

[0070] According to block 116d, at least one explicit sub-model 8 may be chosen to be a forward kinematics model that is configured to compute a position 2a of a reference point 2 of the robot 1 from joint parameters of the robot 1.

[0071] Figure 2 illustrates an example how a small neural network with 6 neurons as trainable processing units may exactly model the forward kinematics of a planar manipulator with two degrees of freedom.

[0072] Figure 2a is a sketch of this manipulator as the movable robot 1. The manipulator has a first member M1 of length that is fixed rotatably to a first joint J1 on one end. The rotation angle about this first joint J1 is Qi. At the other end of the first member M1, there is a second joint J2. The manipulator has a second member M2 of length l2that is fixed rotatably to this second joint J2. The rotation angle about this second joint is q2. At the other end of the second member M2, there is a tool T operated by the manipulator, with a tool center point TCP as reference point 2 of the movable robot 1. This tool center point TCP has coordinates x and y that are given by:

[0073] <

[0074]

[0075] Figure 2b illustrates the structure of the exemplary data-driven calibration model 4 with 6 neurons as trainable processing units 5 that are organized in two layers L1 and L2. The data-driven calibration model 4 predicts, from the rotation angles q±and q2asP240894W001 - 12 - 27.01.2025

[0076] observable quantities 3a, 3b that make up the input 3, the absolute position 2a as output 4a.

[0077] If standard ReLLI neurons were used, a large network would be required to approximate the relationship between the angular positions q±and q2on the one hand, and the Cartesian coordinates x,y of the absolute position 2a on the other hand. But with four neurons in layer L1 that have a sine (“sin”) activation function and two neurons in layer L2 that have a linear (“lin”) activation function, in this toy example, the relationship can be modelled exactly. Therein,

[0078]

[0079] is exploited. The weights to exactly model the forward kinematics are shown in Figure 2b. However, it should be noted that the network structure is expressive enough to model both joint offsets (which would map to changes in the bias b of the neurons in the first layer L1) as well as link length errors (which would map to changes in the weights of the second layer L2).

[0080] This example is of course an extreme case in which the network structure is perfectly crafted based on full model knowledge. In the general case, the neural network approach is likely to be used to learn the remaining errors that the approach based on an explicit model cannot capture. Hence, it cannot be expected that such an extremely small network will suffice in a real industrial application. But it is to be expected that such applications will benefit from the basic idea to use at least one layer with sine activation functions to generate expressive / rich features for the subsequent layers. Thereby, a notable reduction in the number of required training examples for the training is to be expected.

[0081] One example how this may be realized is sketched in Figure 2c. In this example, the data-driven calibration model 4 comprises four layers L1, L2, L3 and L4, each of which comprises neurons as trainable processing units 5. In the first layer L1, the neurons 5 have a sine activation function. In the second layer L2 and third layer L3, the neurons 5 have a ReLLI activation function. In the fourth layer L4, the neuron 5 has a linear activation function.

[0082] The second layer L2 gets the output of the first layer L1 as its input, but it also directly gets the original input 3 to the data-driven calibration model 4 as a whole via a residualP240894W001 - 13 - 27.01.2025

[0083] connection. Thus, the use of sine activation functions in the first layer L1 comes as an additive extra.

[0084] Figure 3 illustrates one example in which an explicit sub-model 8 is integrated into a data-driven calibration model 4 that is otherwise based on layers L1 , L2 and L3 of trainable processing units 5. The data-driven calibration model 4 as a whole predicts the absolute position 2a of the reference point 2, here: the tool center point TCP, from kinematic quantities q (e.g., joint angles) of the movable robot 1 as output 4a. The input 3 to the data-driven calibration model 4 as a whole is fed both to the first layer L1 and to the explicit sub-model 8 that computes a load torque Tioadas output 8a. This load torque Tioadis provided to the first layer L1 as an additional input.

[0085] Using only the layers L1 , L2 and L3 would be inefficient because it is known that compliance effects are an important contribution to the error between absolute positions predicted by a first principles model on the one hand, and measured absolute positions on the other hand. While it is possible to capture such affects by means of the trainable layers L1 , L2 and L3, these layers would then effectively be forced to learn the inverse dynamics of the movable robot 1 , or at least the static part of these inverse dynamics. But these inverse dynamics are known already. Learning what is already known is a waste of computation time and of training data. Therefore, in the example shown in Figure 3, the joint load torques Tioad(or wrenches in general) are modelled using the recursive Newton-Euler algorithm, RNEA. This generates expressive features and additional inputs to the first layer L1. But while RNEA is the preferred algorithm for calculating joint wrenches and therefore the prime example, there are certainly other algorithms that may be used for calculating joint wrenches. By providing richer input features, the trainable layers L1 , L2 and L3 can achieve the same model quality at a smaller size in terms of fewer and smaller layers, hence requiring less data in the form of training examples to train. It should be noted that imperfections in the explicit submodel 8 may lead to errors in Tioad. Still, the residual connection from the inputs q, 3 to the first layer L1 will be able to make up for such inaccuracies, hence not losing expressiveness compared to a network that uses only the trainable layers L1, L2 and L3.P240894W001 - 14 - 27.01.2025

[0086] Figure 4 illustrates a further example of how consideration of the mechanical information 6 may be used to modify the architecture of the data-driven calibration model 4.

[0087] Instead of feeding joint angles q, 3a and load torques Tioad, 3b to fully connected layers, separate network branches 7a and 7b are introduced. Each network branch 7a, 7b contains its own trainable layers 7a1, 7a2; 7b1, 7b2 that each comprise neurons as trainable processing units 5. Both branches 7a and 7b deliver their respective outputs to a final layer 73. This is motivated by the fact that kinematic (mainly related to q) and compliance errors (mainly related to Tioad) are mostly independent contributors to errors between predicted and actual absolute positions of the reference point 2 of the robot 1. Again, this structural modification aims at relieving the neural network from learning aspects that are known from model-based considerations, so that the data-driven approach is only used to learn things that are hard to model. One example are compliance curves that are handled by the layers 7b1 and 7b2 in the second branch 7b. Optionally, as it is shown by dashed lines in Figure 4, residual connections from q and T(oadto a final layer 73 of the data-driven calibration model 4 may be used.

[0088] In addition, in the example shown in Figure 4, in the second branch 7b, the output of the second layer 7b2 is piped through an explicit sub-model 8 that models nominal forward kinematics. In this manner, the trainable layers 7b1 and 7b2 in the second branch 7b can focus even more on learning the compliance curves. Combinations of trainable layers on the one hand, and explicit models on the one hand, in one single branch are readily implementable in standard frameworks such as PyTorch or Tensorflow, so long as all functions inside the computational graph are differentiable.P240894W001 - 15 - 27.01.2025

[0089] List of reference signs:

[0090] 1 movable robot

[0091] 2 reference point of movable robot 1

[0092] 2a absolute position of reference point 2

[0093] 2a# estimate of absolute position 2a

[0094] 3 input to data-driven calibration model 4

[0095] 3a-3c observable quantities as input 3

[0096] 4 data-driven calibration model

[0097] 4a output of data-driven calibration model 4

[0098] 5 trainable processing unit

[0099] 5a parameters, characterize behaviour of processing unit 5

[0100] 6 mechanical information

[0101] 6a, 6b sets of mechanical information 6

[0102] 7a, 7b branches of data-driven calibration model 4

[0103] 7a1 , 7a2 processing layers in branch 7a

[0104] 7b1 , 7b2 processing layers in branch 7b

[0105] 73 final processing layer, gets input from multiple branches 7a, 7b

[0106] 8 explicit sub-model

[0107] 8a output of explicit sub-model

[0108] 9 first principles calibration model

[0109] 100 method for determining absolute position 2a

[0110] 110 providing data-driven calibration model 4

[0111] 111 choosing neuron as trainable processing unit 5

[0112] 111a choosing activation function corresponding to mechanical information 6 111b choosing mechanical information 6 expressed as sine or cosine

[0113] 111c choosing sine or cosine as activation function

[0114] 112 dividing data-driven calibration model 4 into multiple branches

[0115] 112a choosing branch 7a, 7b to model kinematics

[0116] 112b choosing branch 7a, 7b to model compliance

[0117] 112c choosing branch 7a, 7b to take angular positions as inputs

[0118] 112d choosing branch 7a, 7b to take load torques / wrenches as inputs

[0119] 113 delivering outputs to further layers in the same branch 7a, 7b only

[0120] 114 delivering different sets 6a, 6b of information to branches 7a, 7bP240894W001 - 16 - 27.01.2025

[0121] 115 processing outputs of multiple branches 7a, 7b by further layer 73

[0122] 115a delivering also original inputs to further layer 73

[0123] 116 integrating explicit sub-model into data-driven calibration model 4

[0124] 116a providing output of trainable layer to explicit sub-model 8

[0125] 116b providing output 8a of sub-model 8 to trainable layer as add-on input 116c choosing sub-model 8 to compute load torque from kinematics

[0126] 116d choosing forward kinematics model as sub-model 8

[0127] 120 providing input 3 to data-driven calibration model 4

[0128] 130 determining sought absolute position 2a

[0129] ll tl2lengths of members M1, M2

[0130] q , q2joint angles of joints J 1, J2

[0131] J1 , J2 joints of movable robot 1

[0132] L1-L3 layers with trainable processing units 5

[0133] M1 , M2 members of movable robot 1

Claims

P240894W001 - 17 - 27.01.2025Claims:

1. A computer-implemented method (100) for determining an absolute position (2a) of at least one reference point (2) of a movable robot (1) from an input (3) that comprises a set of observable quantities (3a-3c), and / or an estimate (2a#) of said absolute position (2a), the method (100) comprising the steps of:• providing (110) a data-driven calibration model (4) that compriseso at least one trainable processing unit (5) whose behaviour is characterized by a set of trainable parameters (5a); ando consideration of mechanical information (6) about the movable robot (1), said mechanical information (6) being indicative at least of kinematic constraints of the robot (1), and / or of a deformability of at least one part of the movable robot (1);• providing (120) the input (3) to the data-driven calibration model (4), thereby producing an output (4a); and• determining (130) the sought absolute position (2a) of the at least one reference point (2) of the movable robot (1) based at least in part on the output (4a).

2. The method (100) of claim 1, wherein at least one trainable processing unit (5) is chosen (111) to be a neuron that aggregates a plurality of inputs into an activation value and computes the outcome of a nonlinear activation function based at least in part on this activation value.

3. The method (100) of claim 2, wherein the consideration of mechanical information (6) comprises (111a) that the activation function corresponds to at least one portion of the mechanical information.

4. The method (100) of claim 2 or 3, wherein• at least one portion of the mechanical information (6) is expressed (111b) as a sine or cosine function in space and / or time; and• the consideration of mechanical information (6) comprises (111c) that a sine or cosine function is chosen as the activation function.

5. The method (100) of any one of claims 1 to 4, wherein:• the data-driven calibration model (4) comprises (112) multiple branches (7a, 7b) of multiple processing layers (7a1, 7a2; 7b1, 7b2), each processing layer (7a1, 7a2; 7b1, 7b2) comprising a plurality of trainable processing units (5);P240894W001 - 18 - 27.01.2025• at least one such processing layer (7a1, 7a2; 7b1, 7b2) delivers (113) its output only to one or more processing layers (7a1, 7a2; 7b1, 7b2) in the same branch (7a, 7b), but not to processing layers (7a1, 7a2; 7b1, 7b2) in another branch (7a, 7b); and• the consideration of mechanical information (6) comprises (114) that the multiple branches (7a, 7b) of processing layers (7a1, 7a2; 7b1, 7b2) take different sets (6a, 6b) of mechanical information (6) as inputs.

6. The method (100) of claim 5, wherein outputs of multiple branches (7a, 7b) of processing layers (7a1, 7a2; 7b1, 7b2) are processed (115) together by a further processing layer (73).

7. The method (100) of claim 6, wherein the further processing layer (73) also gets (115a) the inputs to the multiple branches (7a, 7b) of processing layers (7a1, 7a2; 7b1, 7b2) as inputs.

8. The method (100) of any one of claims 5 to 7, wherein• at least one branch (7a, 7b) of processing layers (7a1 , 7a2; 7b1 , 7b2) is configured (112a) to model kinematics of the movable robot (1); and / or • at least one branch (7a, 7b) of processing layers (7a1 , 7a2; 7b1 , 7b2) is configured (112b) to model compliance of at least one part of the movable robot (1) due to deformability.

9. The method (100) of claim 8, wherein• the branch (7a, 7b) that is configured to model kinematics gets (112c) at least angular positions of joints of the movable robot (1) as inputs; and / or • the branch (7a, 7b) that is configured to model compliance gets (112d) at least load torques and / or wrenches on joints of the movable robot (1) as inputs.

10. The method (100) of any one of claims 1 to 9, wherein the data-driven calibration model (4) comprises (116) at least one explicit sub-model (8) that models an effect of kinematic constraints, and / or of deformability of at least one part of the movable robot (1), as consideration of the mechanical information (6).

11. The method (100) of claim 10, wherein the explicit sub-model (8) gets (116a) the output of a processing layer (7a1 , 7a2; 7b1 , 7b2) with a plurality of trainable processing units (5) as input.

12. The method (100) of any one of claims 10 to 11, wherein at least one processing layer (7a1, 7a2; 7b1, 7b2) with a plurality of trainable processingP240894W001 - 19 - 27.01.2025units (5) gets (116b) both a portion of the input (3) to the method (100) and the output (8a) of the explicit sub-model (8) as inputs.

13. The method (100) of any one of claims 10 to 12, wherein at least one explicit sub-model (8) is configured (116c) to compute at least one load torque from kinematics of the movable robot (1).

14. The method (100) of any one of claims 10 to 13, wherein at least one explicit sub-model is chosen (116d) to be a forward kinematics model that is configured to compute a position (2a) of a reference point (2) of the robot (1) from joint parameters of the robot (1).

15. The method (100) of any one of claims 1 to 14, wherein the estimate (2a#) of the absolute position (2a) is obtained (105) from a first principles calibration model (9) based on a set of observable quantities (3a-3c).

16. A computer program, comprising machine-readable instructions that, when executed by one or more computers and / or compute instances, causes the one or more computers to perform the method (100) according to any one of claims 1 to 15.

17. A non-transitory machine-readable data carrier, and / or a download product, with the computer program of claim 16.

18. One or more computers and / or compute instances with the computer program of claim 16, and / or with the machine-readable data carrier and / or download product of claim 17.