A method and system for determining elastic properties of an industrial robot
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- COGNIBOTICS
- Filing Date
- 2024-06-19
- Publication Date
- 2026-04-29
AI Technical Summary
Industrial robots face challenges in achieving high accuracy due to non-rigid joints and links, leading to deviations in end-effector positioning, which existing calibration methods fail to fully address, especially when dealing with friction and elastic effects.
A flexible clamping device with integrated force and position sensing mechanisms is used to form a closed elastic kinematic chain with the robot, allowing for precise determination of kinetic friction properties and elastic properties of the robot's axes, enabling improved calibration and control.
This approach provides accurate and complete determination of non-linear dynamic properties, reducing positional deviations and enhancing the accuracy of industrial robot operations by accounting for friction and elastic effects in real-time.
Smart Images

Figure EP2024067155_26122024_PF_FP_ABST
Abstract
Description
[0001]A method and system for determining elastic properties of an industrial robot Technical field The present disclosure relates to the technical field of industrial robots. In particular, the disclosure relates to a system including a flexible clamping device to be used for determining elastic properties of an industrial robot with joints that exhibit friction effects. The disclosure also relates to a method for determining elastic properties of an industrial robot with joints that exhibit friction effects. tasks to be carried out in typical robot applications, such as for industrial robots in manufacturing, an end-effector needs to be moved to different poses by means of a controller according to programmed instructions. The end-effector is often and hereafter referred to as the tool. A pose comprises a position and an orientation. The desired or programmed tool pose, as well as the actual physical one, can be in free space or in contact with some workpiece, the latter case implying a need for accuracy despite interaction forces. Programmed poses can be defined to be reached individually or as part of a path, the latter case implying accuracy needs for the controlled motion between the poses too. The tool pose relates, in a well-defined way according to existing tool-calibration procedures, to the pose of the last link of the robot. Hence, for simplicity, the following is limited to end-of-arm flange for attaching the tool to the robot, or equivalently to a tool- exchanging flange in case of a tool changer being used to permit programmed change of tools, which in both case hereafter is referred to as the robot pose. The robot pose is mechanically accomplished by a set of interconnected joints and links, forming a manipulator, typically arranged in an arm-like manner with each joint moving the attached link ending with the next joint, etc. A mechanical joint motion typically includes a joint transmission driven by the joint motor, which is controlled by the controller, which in turn might control more than one manipulator as for dual-arm robots. From a control system point of view, a robot pose can be an actual control pose that can be based on measured motor angles or a pose can represent transformed servo control setpoints. In both cases the pose deviates from the actual (and normally unknown) physical pose for reasons explained throughout this document. The servo control, the generation of trajectories to it, coordinate transformations according to kinematic models, and interpretation of user commands / instructions is normally not possible to reprogram by the user of the system, and is hence referred to as the system level of the manipulator controller. That is opposed to the user level of the control system, where user programs and manual commands effecting motions (and related computations) are entered and effectuated. A by the user intended / programmed robot pose is represented by a so called target pose in the robot program. Equivalently, manual commands as well as remote control of the robot are simply means of providing such target poses for the robot system. To let the robot programmer (or programming software) specify motions along straight lines (and other geometries in the operational space of the robot), to enable a proper path following for motions between poses along a path, to enable computed (e.g. obtained from CAD data) programmed poses, and to enable easy updating of poses when the workpiece is relocated, the controller contains a kinematic model of the robot. The kinematic model includes parameters for the joints and the links and their geometric relations of the manipulator. In most controllers the kinematic model is a simple one based on the assumption that the joints and links are ideally rigid with known dimensions for that type of manipulator. It is highly desirable that the resulting physical robot pose, within certain tolerances depending on the application, corresponds well to the programmed robot pose. When demands on accuracy are high, that correspondence is problematic for industrial robots today, resulting in deviations that vary for each robot individual. To account for the actual geometry of each robot individual, so called kinematic calibration is used to determine and update the kinematic parameters. Robots from major industrial brands therefore have an absolute-accuracy option, hereafter referred to as AbsAcc, which implements the kinematic calibration, including the use of the determined parameters within the control for that type of robot. The actual calibration is for complexity reasons mainly carried out by the robot manufacturer, typically before the robot is delivered. Since manipulators are not quite rigid, as usually assumed in kinematics, there will also be deviations due to mass and process forces resulting in a deviation at the location of the end-effector. Managing deviations by the user via adjustments of the user program (so called touch-up that is a manual adjustment of the deviating programmed poses) limits the reuse of robot tasks and increases the cost for robot programming and commissioning. The resulting end-effector accuracy using AbsAcc for typical industrial manipulators, for instance with payloads between 3 and 300 kg, is in the range of a third to several millimeters. While the accuracy for a calibrated mid-size manipulator can be 0.5 mm, instead of 2-3 mm without calibration, there is still a major demand for more accurate robots in many applications such as plasma welding, laser cutting, and precision assembly. In those applications, a reduction of the inaccuracies to a fifth would be of large benefit. That would for typical high-end mid-size robots mean an accuracy of 0.1 mm. Considering that the repeatability for a robot typically is well below the 0.1 mm, sometimes even down to 0.01 mm, and the repeatability is the theoretical and practical limit of accuracy, the mentioned improvement with reduction of inaccuracies to a fifth could be possible. There is thus a need to deal with the remaining errors to obtain as little deviation as possible from the programmed pose. However, that has earlier only been possible with costly and complex solutions that are less applicable such as: - Feedback from external sensor systems, such as laser trackers, means compensation of whatever error sources there are, but at a high cost and with limited bandwidth. - More accurate mechanics, which is costly and / or with limited performance by increased weight. - Arm-side sensing of the joint angles and / or torques, which is costly and cannot be added as an option when needed, and deviations due to link bending is not managed. Due to the problems mentioned, none of these alternatives received any wider industrial acceptance. To account for effects of non-rigid joints and links, AbsAcc systems often include models of joint compliance to take gravity forces into account. Some advanced systems also include a model of link compliance, represented via joint compliance orthogonal to the direction of motion, which is useful for taking into account lack of stiffness in bearings and bearing housings at the end of the links. Despite controller compensation based on those models and parameters, deviations have been remained since the following limitations apply: 1. The stiffness is assumed to be linear, while most transmission exhibit non-linear properties, and hence the non-linear effects are averaged (not taken care of explicitly) such that the linear model often does not explain the deviation. 2. The stiffness is fixed after the use of existing calibration methods. That is, the stiffness is not calibrated for each manipulator (for different temperatures, wear, etc.), since determining such parameters have been lacking an industrially applicable solution. 3. The models are not general enough to fully explain deviations due to link compliance, which is an effect of the mass as an elastic body being distributed within the shape of the link. Generally, these elastic link deviations are 5DOF (Degrees Of Freedom) per link, in addition to the one joint DOF. 4. Existing AbsAcc industrial products are developed to provide accuracy for free-space motions with a known payload, and hence do not depend on feedback from online / internal motor signals. Unknown payloads and process forces are neglected. A novel approach to overcome these limitations was disclosed in WO2017167687A2, which builds on determination of link stiffness according to WO2015030650A2. Both of those disclosures in turn build on determination of friction, backlash and non-linear stiffness according to WO2014065744A1. For instance, the friction-aware motion described in WO2017167687A2 make use of the friction parameters that are identified during free-space motions, but also the friction parameters that are obtained by means of clamped motions according to WO2014065744A1, thereby, for full precision in the general case, also separating the friction before and after the mentioned non-linear stiffness of the joint transmission. Since identification of geometric parameters normally involves motions over a sufficiently large part of the workspace with known, i.e., fully developed with known parameters, Coulomb friction, calibration of geometric (ofter referred to as kinematic) parameters can be considered to be a solved problem. That, however, assumes that the link deviations are computable using the determined link stiffness parameters according to WO2015030650A2 for the up to 5DOF per link as mentioned above. These referred publications describe further the fundamentals of calibration and prior art including related publications. In particular, see descriptions and references in WO2017167687A2. In addition to these disclosed principles, industrial use cases have motivated further developments. While WO2015030650A2 covers the determination of stiffness parameters and related elastic effects on the end-effector pose, it assumes that elasticity allows some motion of both motor and joint such that the effect of the known Coulomb friction can be subtracted from the controlled torque to obtain the physical torque that acts on the elastic part. As mentioned, non-geometric non-linear effects such as friction and backlash for joint transmissions are assumed to be determined according to WO2014065744A1. However, for manipulators exhibiting certain combinations of friction and backlash within the joint transmissions of a complete robot arm, the assumptions concerning a fixed / clamping point in the work-space of the robot being perfectly stiff or with known compliance poses practical issues for some robot arms, for instance when wrist transmissions contain several stages of gears and shafts with friction both between them and in relation to the housing / arm via involved bearings with their lubricant sealings adding to friction. A related problematic case with stiff clamping is when the elastic effects in non-actuated directions are too small for obtaining a fully developed Coulomb friction. A typical and experienced example is the joint- orthogonal stiffness of the first joint of a standard articulated industrial robot arm. In total, there is a need for a more elaborate solution that is easy to use within industrial practices, and that works for a wider class of robot arms including commonly used slim robot bases and advanced wrist transmission designs. Summary As described within the section “Physical example” in WO2017167687A2, recalibration of motor offsets after repair is an important use-case. In particular for larger industrial robots, however, it has been experienced that re-docking to the (rigid) clamping point is difficult since the docking motion needs to be aligned with the docking device and sufficiently accurate alignment is too difficult to perform. This applies to both manually controlled motions and to automatic / programmed motions, the latter often not possible at all before re- calibration has been carried out. Since also any sensor-guided motion is unfeasible for a robot with unknown joint offsets, the ideal solution would be a quite compliant docking point that mechanically adapts such that the docking can be completed. Another experienced practical issue when using the above referenced innovations is the actual accuracy of applied torque, since all methods are highly dependent on the applied motor torque being known. In general, industrial robot arms are driven by torque-controlled motors, with torque control being based on control of the current in the motor phases. That current control comprises feedback from measured phase-currents such that the influence of motor temperature on actuated torque is practically eliminated. However, some dependency on (the not quite known) motor temperature remains, and current sensing has also been experienced to not follow specification for the high torques. Another case is mismatch between the torque-constant (in terms of Newton-meters per command unit) accomplished by the servo drive compared to the constant used in the control software. These constants should be the same, within a percentage or so, but errors around 5% have been experienced, with significant influence on the calibration of elastic parameters in presence of friction but without otherwise effecting the basic feedback control or the robot arm. Another example of the need for accurate torque constant, in addition to known friction and known stiffness of all axes of the robot, is generation of time-torque optimized trajectories for resonant arms. That is, the minimum time trajectory of all joints together is computed such that the motions are as fast as possible given the limited torques of the motors, and with the requirements to at the same time minimize deviation from the programmed path. Such trajectories need to be given a frequency content that does not excite resonances of the robot, and hence the frequencies of those resonance need to be known. Frequency analysis and modal analysis are well known techniques to determine resonance frequencies of elastic systems, often based on linear models of elasticity. For non-linear systems such as robot arms with non-linear joint stiffness, filtering of the trajectory needs to be more advances since the effective resonance frequency depends on the load of the joint transmission, as known within so called model-based control. The use of the dynamic model in the control system then depends on accurate estimates of physical torque around elastic elements of the transmissions, which means that both torque constants and friction models / parameters needs to be known for usage together with the stiffness parameters of all involve machine elements. Hence it must be possible to identify those parameters for each robot type or robot individual. Thus, calibration needs to be extended such that scaling errors of the actuated torque is taken care of in a friction-aware manner, which implies the need for a device that provides additional force / torque sensing, at motors or at one or the other end of the robot arm. The most practical placement of such sensing is on the tool-flange. This is the only alternative if internal changes to the robot system is not allowed, as is the typical case for a third party that should deliver calibration and compensation as an add-on. Thus, some principal requirements on a device for an improved system may be defined: 1. A device including force / torque sensing should be applicable for being mounted between the tool-flange of the robot and the docking point for clamping. 2. The device shall permit some compliance for allowing motions such that friction- effects are well defined, as for the friction-aware motions of WO2017167687A2. 3. The device shall by itself not make the calibration more difficult or sensitive. For instance, a standard force / torque sensor (for item 1) adds undesired compliance. 4. The device shall support the above-mentioned compliant docking, which implies that stiffness of the device shall be configurable, thereby also controllable from the robot. These requirements are contradictory in several ways. For instance, for any existing device, supporting the friction-aware motions and the configurable stiffness do not fit with the force- sensing requirements and desired stiffness of any force sensor (Item 3). Hence, for the purpose of reducing deviations by compensation based on calibrated models including friction, the limitation of existing technology implies a need for a new type of device and a more accurate and complete way of determining the non-linear dynamic properties of manipulator transmissions. While the above referenced publications provide industrially applicable and accurate calibration methods using the existing internal sensors, there are also some practical aspects that limit generic applicability as expressed by the listed four principal requirements above. It would be highly desirable to have a device that enables practical usage of the calibration techniques, supported by algorithms and control actions that are tailored to such a device. Both geometric and non-geometric properties would then be possible to identify with full accuracy. Targeting the goal of absolute accuracy close to the repeatability, the fundamental approach of the referred published inventions is to explicitly determine the involved disturbing properties of the joint and links, and then to account for those by means of model- based computations and to reduce the residuals by means of active control of motor torques. To express the influence of the additional models on the kinematics, more degrees of freedom are needed than used in current practices. The number of independent parameters that determine a positional state of a rigid body, e.g., a stiff link, or of a mechanism is referred to as the Degree Of Freedom (DOF, also used in plural for Degrees Of Freedom). A free rigid body in 3-dimensional (Euclidean) space has 6 DOF, three translational and three rotational. A rigid or stiff link comprises such a rigid body. Each kinematic pair of links is connected via a joint that is usually sliding (the joint may then also be called prismatic, linear, or translational joint) or jointed (the joint may then also be called revolute or rotational joint). One such joint constrains five out of the six possible DOF of one link relative to the other one in the pair of links, which in a non-singular configuration of the manipulator adds one DOF to the final link (ending with a tool-mounting end-flange) of the manipulator. By means of its kinematic structure of links and joints, the DOF of the manipulator (manipulator-DOF) can be considered as being the minimum number of coordinates required to specify a kinematic configuration. Since a tool, referred to as an end-effector of the robot, or equivalently a tool changer permitting changes of end-effector without manual assistance, is another physical body to be moved in Euclidean space.6 DOF manipulators are most common since they comprise the minimum for full movability of the end-effector, which for a normal non-singular configuration requires 6 of the above-mentioned joints. Other types of joints such as spherical and cylindrical joints also exist, but these can be seen as combinations of the above mentioned simpler joints and are referred to as joints in the following. This corresponds to the established notion of generalized joint coordinates in the robotics literature. The elastic and non-linear effects limit the accuracy of kinematic calibration, since those effects are not explicitly managed, which in turn would require models and related parameters to be known. Here, it is assumed that kinematics deals with elastic effects (in contrast to current practices with controllers that only cope with rigid-body kinematics). The notion of geometric properties then refers to the corresponding rigid-body properties that can be seen as the properties describing the unloaded elastic manipulator. The approach then is to make use of two complementary ways of determining the non-geometric properties: 1. Deviations around the manipulator joints, due to the properties of the joint transmissions, have been well known for long. As described in WO2014065744, the properties can be obtained without using external sensing, even automatically by the robot itself by clamping the end-effector to the environment. 2. Other deviations due to link compliances or non-liner effects such as backlash in bearings, also orthogonal to each respective joint motion, have been modeled such that calibration based on force interaction is possible. Furthermore, see WO2015030650, the parameters of those models are also possible to determine by the clamping technique mentioned in item 1. Part of the approach here is to combine these two methods and the theories therein, but several obstacles remain: - Although item 1 above enables computation of the joint angles in most cases, there are backlash situations when the method does not result in sufficient accuracy for poses as needed in the kinematic calibration. - Kinematic calibration deals with the geometry of rigid bodies, but item 2 works with more realistic non-rigid models. Existing methods cope with some of these effects, but only with simplified elastic elements that are identified by external measurement systems and with forces coming from gravity effects on a mechanically open kinematic chain and / or from external actuation while ignoring motor torques. The clamping according to items 1 and 2 typically constrain all end-effector degrees of freedom, which makes the clamped configurations unsuitable for kinematics since some kind of (at least partly) free motions are required for at least some of the kinematic parameters to be detectable in practice. With free space motion, on the other hand, there are limited means to put the manipulator in favorable load conditions. An intermediate alternative in terms of a ball-bar device was presented in WO2017167687A2, where motion is mechanically constrained in one direction (that is, the direction of the bar) while free-space motion is possible in other directions (with the tool- center-point staying on the sphere). With sufficiently stiff ball-joints and a sufficiently stiff bar, suitable programmed motions could possibly cope with the joint and link effects according to items 1 and 2 above. However, that has turned out not to be the case. One reason is that device stiffness comes at a high cost in terms of weight, which means transportation is less practical and too many types of smaller robots cannot be calibrated. Another reason is that the radial (along the bar) constraint on motions does not act in sufficiently many directions / dimensions. Actually, all six end-effector dimensions should be constrained to allow fully programable control of the load situation. Figures in WO2014065744A1 and WO2015030650A2 show a so-called hexapod (a six-legged stand), which as described in those publications provide fixed stiff clamping points by locking the telescopic legs in certain positions. With unlocked legs the clamping pose can be changed, but the hexapod is assumed to be either locked, free-floating with gravity balanced (by a central 7thleg), or free-floating with the robot or an operator positioning the device (while holding the weight). Here, the hexapod may be an inspiration, but this type of device does not provide a basis for fulfilling the previously listed principal requirements. Specifically, referring to respective items in that list, force sensing is not included, compliance for friction-aware motions is not provided, addition of a standard force sensor would introduce sensitivity to the stiffness model of that sensor, and compliant docking is out of scope for that hexapod device. An alternative would be to have a servo-controlled hexapod (or some other suitable type of servo-controlled manipulator), but that would be far too expensive (including force and impedance control to provide elastic constraints) and too heavy (for robot service purposes, including the controller). The needed device is one that enables a more accurate and complete way of determining the non-linear dynamic properties of manipulator transmissions. The non-linear property of concern is basically hysteresis, which complicates solving the optimization problems that are involved in the identification of model parameters. This means that neither the non-linear multi-body equations describing the robot arm, nor normal non-linear stiffness, are problematic. Instead, it is the hysteresis type of non-linear behavior that needs to be avoided, namely backlash and friction in robot joints. Backlash (pure play in joint transmission) is the simpler effect to deal with since it does not harm the force balances that are fundamental to the mentioned calibration techniques. Therefore, in the following, it is focused on friction effects and how to support friction-aware motions for better determining parameters of the elasto-dynamic models of industrial manipulators. Any device that closes a mechanical kinematic chain as described, and that also is designed such that the torque of each joint can be influenced for calibration purposes, needs some, typically simple low-accuracy, actuation for each joint to operate within a desired torque range. In that range the servo control of the robot can by means of the controller in combination with some control arrangement exert more precise torques in low or high frequency ranges depending on the algorithms to be used for determining certain parameters. In view of the above, it is an objective of the present disclosure to solve at least some of the drawbacks with the mentioned existing technology. It is a further objective of the disclosure to provide technology that enables a more accurate and complete way of determining elastic and non-linear properties of manipulator dynamics. These objectives and others are at least partly achieved by a device, system and methods according to the independent claims, and by the embodiments according to the dependent claims. According to a first aspect, the disclosure relates to a method for determining elastic properties of an industrial robot. The robot comprises a plurality of interconnected axes, where each axis of the plurality of interconnected axes comprises: a linkage comprising one or more links, a joint defining the possible motion of the axis and a motor driving the linkage via the joint. The plurality of interconnected axes comprises at least one axis exhibiting elasticity and at least one joint exhibiting static friction. The method comprises clamping an end-flange of the industrial robot to a flexible clamping device that is attached to an environment to which also a base link of the robot is mounted; thereby forming a closed elastic kinematic chain that includes the industrial robot and the flexible clamping device. The flexible clamping device comprises a force-transmitting linkage including a top plate, a base plate, and at least one link connected between the top plate and the base plate. Each link is configured to compliantly constrain relative motion between the top plate and the base plate in at least one direction of the link, and where each link comprises a force sensor arranged to sense force / torque quantities representing transmitted force in the at least one direction of the link. The flexible clamping device further comprises a position-sensing mechanism that is arranged in parallel with the force-transmitting linkage, such that the force-transmitting linkage and the position- sensing mechanism are kinematically decoupled. The position-sensing mechanism is configured to sense position quantities representing the compliantly constrained relative motion between the top plate and the base plate. The flexible clamping device is further configured to simultaneously sense the force / torque quantities and the position quantities, and to determine a relative force / torque and a relative pose between the top plate and the base plate based on the simultaneously sensed quantities. The method further comprises: determining and loading into a robot controller of the industrial robot a program defining clamped deflective motions that create deflections of the one or more links of the industrial robot based on force interplay between the robot and the flexible clamping device. The clamped deflective motions comprise a plurality of different poses of the end flange and are performed within the operational limits of the force sensor and of the position-sensing mechanism, using a selected configuration of the force-transmitting linkage. The method further comprises controlling the industrial robot to performing the clamped deflective motions, while sensing quantities related to motor torque and motor angle of the plurality of axes of the industrial robot, and sensing quantities comprising the force / torque quantities representing transmitted force in the at least one direction of the link, and the position quantities representing the compliantly constrained relative motion between the top plate and the base plate of the flexible clamping device. The method further comprises determining a reduced set of data of the sensed quantities of the industrial robot and the flexible clamping device, by excluding data of the sensed quantities that may include effects of static friction, wherein the excluding is based on the sensed quantities of the industrial robot. The method further comprises determining, based on simultaneously sensed force / torque quantities and the sensed position quantities by the force sensor(s) and the position-sensing mechanism of the flexible clamping device, relative poses and forces / torques between the top plate and the base plate relating to the reduced set of data. The method further comprises determining kinetic friction properties of the at least one joint exhibiting static friction and the elastic properties of the at least one axis exhibiting elasticity based on the reduced set of data, the relative poses and forces / torques between the top plate and the base plate, the plurality of different poses of the end flange, and at least one model of the industrial robot. The method further comprises updating one or more of the at least one model of the industrial robot with the determined kinetic friction properties and the elastic properties, wherein the updated one or more of the at least one model provides the elastic properties of the industrial robot along with related dynamics that form a context for using the parameters for improved control of the industrial robot. The flexible clamping device provides both accurate pose sensing and accurate force / torque sensing. This data can be used to verify or correct the force / torque and pose specified by the robot itself. The sensed data does not rely on internal sensors of the robot, which might be inaccurate. The sensed data can be used for calibrating the robot. The simultaneous sensing of force / torque and pose means that obtained real-time values can be time-stamped with that known time instant of the sampling, which physically takes place at the same time, e.g., at a certain millisecond. For calibration purposes, all sensor values can be timestamped and algorithmically synchronized afterwards. Not even a global time scale or accurately synchronized real-time clocks are needed since clock drift will be small and the signals are rich in information about the motions. For instance, since motions are generated to support the principles of friction awareness (only short transients have unknown motor friction torque), additional transient motions can be generated for clock-synchronization purposes at a later stage, for example when determining properties of the robot. This modularity makes the device and method suitable for industrial practices, and the plurality of different poses can be extended such that parameters for improved control can be obtained for practically any robot system. According to some embodiments, the method comprises verifying the determined elastic properties regarding fulfillment of force-balance equations that express quasi-static load cases of the industrial robot according to the at least one model of the robot, comprising evaluation of residuals of force-balance equations when solved using the reduced set of data and returning, when missing or unsuitable load cases cause residuals greater than one or more thresholds, to the step of determining and loading into the robot controller of the industrial robot. According to some embodiments, the method comprises, during the controlling the flexible clamping device has virtually zero friction. According to some embodiments, the friction and / or elastic properties are at least one of: link-elasticity properties, joint-transmission friction properties, or joint-orthogonal stiffness. According to some embodiments, the method comprises, before the clamping step: controlling the flexible clamping device to a predetermined position within a working space of the industrial robot. According to some embodiments, the flexible clamping device is configured to be set in a plurality of states comprising a lenient state where the flexible clamping device is lenient to an external force, and a firm state where the flexible clamping device is firm to an external force, wherein the method comprises, after the clamping step: configuring the state of the flexible clamping device to one of the lenient state and the firm state based on a calibration state of the industrial robot, and using this state during the controlling step. According to some embodiments, the configuring comprises configuring the state of the flexible clamping device to the lenient state and using the lenient state during the controlling of the industrial robot for performing the clamped deflective motions. According to some embodiments, wherein the flexible clamping device in the lenient state behaves as an elastic element within the closed kinematic chain. According to some embodiments, the flexible clamping device in the lenient state permits the industrial robot to move such that effects of static friction in the plurality of axes after data reduction becomes neglectable. According to some embodiments, the flexible clamping device in the lenient state permits lenient resistance in all Cartesians directions which the robot can move. According to some embodiments, the method comprises comprising controlling the industrial robot to perform clamped deflective motions such that the plurality of axes of the industrial robot are moving at the same time at least during a larger part of the clamped deflective motions, and any standstill of the plurality of axes is temporary. According to some embodiments, the method comprises comprising controlling the industrial robot to perform clamped deflective motions that give simultaneous deflections of all elastic links of the industrial robot. According to some embodiments, the controlling comprises clamped deflective motions including a series of different motor torques resulting in a corresponding series of different tensions in a single axis of the plurality of axes. According to some embodiments, the controlling comprises clamped deflective motions including motor torques in a low frequency range. According to some embodiments, the determining comprises determining a sign of the product of motor torque and motor angle, and determining the friction based on the sign of the product. According to some embodiments, the excluding data of the sensed quantities, and relative poses and force / torques between the top plate and the base plate, that may include effects of static friction, comprising excluding data from a joint of the plurality of axes where the velocity of the joint is below a predetermined threshold. According to some embodiments, the one or more of the at least one model of the robot comprises differential-algebraic equations that describes the elasto-dynamics of the industrial robot. According to some embodiments, the clamping an end-flange comprising using one or more clamping gauge-blocks between the end-flange and the flexible clamping device. According to a second aspect, the disclosure relates to a system for determining elastic properties of an industrial robot. The system comprises an industrial robot comprising: a plurality of interconnected axes. Each axis of the plurality of interconnected axes comprises: a linkage comprising one or more links, a joint defining the possible motion of the axis and a motor driving the linkage via the joint. The plurality of interconnected axes comprises at least one axis exhibiting elasticity and at least one joint exhibiting static friction. The system further comprises a flexible clamping device comprising a force-transmitting linkage including a top plate, a base plate, and at least one link connected between the top plate and the base plate. Each link is configured to compliantly constrain relative motion between the top plate and the base plate in at least one direction of the link, and where each link comprises a force sensor arranged to sense force / torque quantities representing transmitted force in the at least one direction of the link. The flexible clamping device further comprises a position- sensing mechanism that is arranged in parallel with the force-transmitting linkage, such that the force-transmitting linkage and the position-sensing mechanism are kinematically decoupled. The position-sensing mechanism is configured to sense position quantities representing the compliantly constrained relative motion between the top plate and the base plate. The flexible clamping device is further configured to simultaneously sense the force / torque quantities and the position quantities, and to determine a relative force / torque and a relative pose between the top plate and the base plate based on the simultaneously sensed quantities. The system further comprises a control arrangement configured to: clamp an end-flange of the industrial robot to a flexible clamping device that is attached to an environment to which also a base link of the robot is mounted; thereby forming a closed elastic kinematic chain that includes the industrial robot and the flexible clamping device. The control arrangement is further configured to determine and load into a robot controller of the industrial robot a program defining clamped deflective motions that create deflections of the one or more links of the industrial robot based on force interplay between the robot and the flexible clamping device. The clamped deflective motions comprise a plurality of different poses of the end flange and are performed within the operational limits of the force sensor and of the position-sensing mechanism, using a selected configuration of the force-transmitting linkage. The control arrangement is further configured to control the industrial robot to performing the clamped deflective motions, while sensing quantities related to motor torque and motor angle of the plurality of axes of the industrial robot, and sensing quantities comprising the force / torque quantities representing transmitted force in the at least one direction of the link, and the position quantities representing the compliantly constrained relative motion between the top plate and the base plate of the flexible clamping device. The control arrangement is further configured to determine a reduced set of data of the sensed quantities of the industrial robot and the flexible clamping device, by excluding data of the sensed quantities that may include effects of static friction, wherein the excluding is based on the sensed quantities of the industrial robot. The control arrangement is further configured to determine, based on simultaneously sensed force / torque quantities and the sensed position quantities by the force sensor(s) and the position-sensing mechanism of the flexible clamping device, relative poses and forces / torques between the top plate and the base plate relating to the reduced set of data. The control arrangement is further configured to determine kinetic friction properties of the at least one joint exhibiting static friction and the elastic properties of the at least one axis exhibiting elasticity based on the reduced set of data, the relative poses and forces / torques between the top plate and the base plate, the plurality of different poses of the end flange, and at least one model of the industrial robot. The control arrangement is further configured to update one or more of the at least one model of the industrial robot with the determined kinetic friction properties and the elastic properties, wherein the updated one or more of the at least one model provides the elastic properties of the industrial robot along with related dynamics that form a context for using the parameters for improved control of the industrial robot. The same effects may be achieved with the system as with the method. According to a third aspect, the disclosure relates to a computer program comprising instructions to cause the system of the second aspect to execute the steps of the method according to the first aspect and any embodiment thereof. According to a fourth aspect, the disclosure relates to a computer-readable medium having stored thereon the computer program of the third aspect. According to some embodiments, the force-transmitting linkage and the position- sensing mechanism are kinematically decoupled such that the force / torque quantities and / or position quantities are independent from non-linear elastic and friction effects within the flexible clamping device. Thereby more accurate quantities can be obtained enabling a more accurate calibration and / or tooling to be made since the accuracy of each quantity does not depend on the accuracy of the other sensors. Physical parameters are also independent since stiffness of force sensing does not influence the position accuracy physically. Another case would be to allow a physical dependency with the force-sensing stiffness being known and compensated for, but such knowledge about parameters is always approximate. Instead, in this disclosure, the described kinematic decoupling is physical meaning that inaccuracy of mentioned approximation does not influence the accuracy of pose or force / torque estimates, and thereby the stiffness of the flexible clamping device gets accurately known too. According to some embodiments, the position-sensing mechanism is arranged to be non-transmissive of force / torque between the top plate and the base plate. Thereby the position-sensing will not influence the force / torque sensing of the force-transmitting linkage. According to some embodiments, the force-transmitting linkage is configured to have a controllable mechanical stiffness, in particular each link of the at least one link comprises an actuator, more in particular each link of the at least one link comprises a hydraulic circuit or a pneumatic circuit. Thereby the device can vary its stiffness to adapt to different use cases. According to some embodiments, one of the top plate and the base plate is configured to be connected to the docking point, and the other one of the top plate and the base plate is configured to be connected to a robot. Thereby the device can be arranged between the robot and a docking point. According to some embodiments, the force-transmitting linkage is a parallel kinematic mechanism, PKM. Thereby load and motion is distributed over a plurality of links, giving increased stability. According to some embodiments, the position sensing mechanism is configured to sense position in six degrees of freedom, DOF. Thereby the position and orientation of the device can be accurately described in three-dimensional space. According to some embodiments, the at least one link of the force-transmitting linkage is connected to the base plate radially outwards of the position-sensing mechanism. Thereby a distance between the force-transmitting linkage and the position-sensing mechanism is achieved such that they do not collide with each other. According to some embodiments, the device comprises a tool changer part rigidly attached to an outer top side of the top plate, wherein the tool changer part is configured to be releasably connected to a robot, in particular to an end flange of a robot, and / or to a docking point. Thereby the device can easily be connected and disconnected to the robot and docking point. According to some embodiments, the device comprises a tool changer part rigidly attached to an outer base side of the base plate wherein the tool changer part is configured to be releasably connected to a docking point, and / or to a robot, in particular to an end flange of a robot. Thereby the device can easily be connected and disconnected to the robot and docking point. According to some embodiments, the force-transmitting linkage comprises at least six links. Thereby force / torque can be sensed in six DOF. According to some embodiments, the position sensing mechanism is a parallel kinematic mechanism, PKM. Thereby load and motion is distributed over a plurality of links, giving increased stability. According to some embodiments, each link of the force-transmitting linkage comprises a spring. Thereby the device becomes elastic and can move slightly when exposed to an external force. This enables identification of friction effects. According to some embodiments, the position-sensing mechanism comprises position sensors and wherein a first end of each position sensor of the position sensing mechanism is connected to the top plate with a second top joint, in particular the second top joint is a spherical joint, more in particular the second top joint is a magnetic ball joint. Thereby the device can freely within a large workspace of the device. Magnetic joints also ensure that the position-sensing mechanism will separate from the device without breaking the device if exposed to a too large force. According to some embodiments, the position sensing mechanism comprises position sensors and wherein a second end of each position sensor of the position sensing mechanism is connected to the base plate with a second base joint, in particular the second base joint is a spherical joint, more in particular the second base joint is a magnetic ball joint. Thereby the device can move freely within a large workspace of the device. Magnetic joints also ensure that the position-sensing mechanism will separate from the device without breaking the device if exposed to a too large force. According to some embodiments, the top plate and the base plate have different dimensions. Thereby the device becomes more stable. The plates can then be made thinner which reduces cost and weight. According to some embodiments, the control arrangement is configured to change the relative pose between the top plate and the base plate by controlling the actuators of the at least one link of the force-transmitting linkage and optionally feedback of the relative pose between the top plate and the base plate based on position quantities sensed with the position sensing mechanism. Thereby the device can move itself to a pose that is beneficial for the robot. Brief description of the drawings Fig.1 illustrates a system according to some embodiments of the disclosure. Figs.2-3 illustrates examples of flexible clamping devices according to some embodiments of the disclosure. Fig.4 illustrates the flexible clamping device is Fig.3 without a force-transmitting linkage according to some embodiments of the disclosure. Fig.5 illustrates the flexible clamping device is Fig.3 without a position-sensing mechanism according to some embodiments of the disclosure. Fig.6 illustrates a top view of the flexible clamping device is Fig.3 according to some embodiments of the disclosure. Fig.7 illustrates a bottom view of the flexible clamping device is Fig.3 according to some embodiments of the disclosure. Fig.8 illustrates a link of the force-transmitting linkage in isolation according to some embodiments of the disclosure. Fig.9 illustrates a position sensor of the position sensing mechanism in isolation according to some embodiments of the disclosure. Figs.10a-10c illustrate an alternative link of the force-transmitting linkage in isolation according to some embodiments of the disclosure. Figs.11a-11c and 12 illustrate limitation mechanisms according to some embodiments of the disclosure. Fig.13 is a flowchart of a method for determining one or more properties of an industrial robot according to some embodiments of the disclosure. Fig.14 is a continuation of the flowchart in Fig.13. Detailed description Robot calibration is based on closing kinematic chains and carrying out measurements on the joint and links included in those chains. The following deals with the practically important case of mechanical chains, opposed to those including optical and other types of non-contact measurement system. Prior art includes techniques that work well in standard cases. There are special cases, however, with coupled transmissions and elastic effects with partly unknown distribution along the manipulator, which in combination with piece-wise unknown friction force / torque (as of so-called Coulomb friction) results in distorted calibration results. To overcome that problem, by allowing prior-art methods to be applied with well-defined friction forces / torques, an elastic clamping device with a novel combination of built-in force and position measurements is presented. The device is configured to be arranged between an end- flange of a manipulator and the environment. Thereby small, programmed motions of the manipulator result in torques that correspond to those of the prior-art methods. In one embodiment, the device includes two Stewart platforms that physically decouple force and position measurements. In the resulting system, forces are accomplished by programmed displacements of the force-sensing Stewart platform, which at the same time may be configurable such that the mechanical stiffness of the kinematic chain can be adjusted during operation, thereby forming a fully automatic calibration system that deals with friction effects in an adaptive manner. Known and correctly identified significant friction effects are modeled and included in standard model-based control. Therefore, the present disclosure also relates to automatic identification of friction parameters and accurate robot calibration despite friction. In the following, a list of definitions is presented. Thereafter different embodiments of the device, a system comprising the device and methods where the device is utilized will be described. Definitions (terms referred to by using capital initial letter as defined below) Robot: A combination of a manipulator and a controller that is configured to control the movement of the one or several axes of the manipulator. Manipulator: A mechanical arm comprising one or several axes forming one or several kinematic chains. Axis (plural: Axes): A joint and a linkage, including motor for actuation and any drive train. The motor may be a servo motor, following setpoints from the controller. A robot comprises a plurality of interconnected axes. The joint of an axis defines the possible motion of the axis. The motor of the axis drives the linkage via the joint. Linkage: One or several links that are interconnected by joints. A linkage comprises one or more links. ^^ Stiffness: Is the rigidity of an object, defined as ^^ = ^^ for an elastic object with one DOF, where ^^ is the force applied to the object, and ^^ is the displacement produced by the force ^^ along the same DOF, or ^^ = ^^ defining rotational stiffness, where ^^ is the applied moment ^^ or torque, and ^^ is the rotational displacement produced by the applied moment, or ^^ = ^^ ^^ describing how torque gives rise to translation, or ^^ = ^^ describing how force gives rise to rotational displacement. Compliance: The inverse of stiffness. May for example be compliance of a link or a joint. Compliant Link: A non-rigid link. A compliant link has its mass distributed between the two joints it connects and therefore formally has infinite DOF and infinite series of resonant modes due to the physics of a distributed mass. For the current disclosure only the lowest resonance frequency is relevant (measured in free motion and used as a performance limitation). Correspondingly, the inertia of the link itself can for position accuracy purposes be approximated by a lumped mass at the center of gravity. Moreover, the elasto-dynamic model determined in clamped configuration is the corresponding quasi-static model that is sufficient for compensation of positional path deviation due to most process forces. With this simplification, a compliant link is considered to have six additional DOF that specify the end of the link (the pose of next joint in the kinematic chain) relative to the beginning of that link (the pose of the preceding joint). Elastic properties: Elastic properties are the stiffness properties of an elastic body, in contrast to a rigid body that has infinite stiffness. This is well known from Solid-state theory. For robots arms and other mechanisms, the stiffness of each body, the body being a part of a link of the arm, is defined between connection points such as between joints at each end of the link. Some mechanisms may comprise multiple connection points to a single body. Component stiffness matrix: A matrix used to model component deformation such as link deformation due to the joint forces and / or torques. The stiffness matrix is normally used as a linear mapping, assuming link deflections are small compared to link sizes and motions. Nonlinear stiffness can be accomplished by elements varying with the load. The link deformation can be defined in a local coordinate system of the link and thereafter transformed to a global coordinate system. If the link is elastic, it is standard to collect all stiffness components into such component stiffness matrix, typically denoted K. For normal deformations during use of a robot arm, the link elasticities are practically linear, and hence the elements of K are constants. Manipulator Stiffness Matrix: Whereas a component stiffness matrix may be constant, the stiffness of the manipulator varies with the configuration, which is defined by the joint coordinates (having manipulator-DOF elements). Here, the difference between the motor and the link translation can be omitted in practice, since even large drive-train effects have a rather small influence on the translation. That is, apart for singular poses the motor angles give the joint angles sufficiently well. For each single configuration the link stiffness matrices can be put together, thereby forming a larger Manipulator Stiffness Matrix (MSM). The MSM is also referred to as Global stiffness matrix, which potentially can include also one or several peripheral devices. Orthogonal Joint Compliance: The compliance of a link in any direction that is orthogonal to the motion that is described by a free coordinate of the joint representing the motion of that joint. The linear part of the orthogonal joint compliance can be incorporated in the component stiffness matrix, whereas the non-linear part such as bearing backlash is not present in high- quality robot arms (and can otherwise be treated separately) since preloaded bearings are used, at the cost of higher Coulomb friction, however. Geometric Properties: The properties of link shapes in their unloaded condition, and the relations between their axis of motion as described by the joints, are geometric properties. Also, the ideal gear ratio between the motor and the link side of a joint is a geometric property. The geometric properties of a manipulator are the complete set of geometric properties of all the joints and links of the manipulator including its mounting to the environment. Such properties include link lengths, angles between axis of rotation, gear ratios, and homing positions of joints and motors. Non-geometric properties: Properties that are not geometric, reflecting physical effects such as deformation due to force, friction in joint transmissions, and lost motion due to gearbox play or non-linear compliance. While geometric properties (or rather the states of the system or components exhibiting those properties, as represented by the generalized coordinates of the motion) are invariant under change of load (forces and torques from motors, gravity, dynamics of motion, and external so called process forces), non-geometric properties define how the system changes state due to the forces acting on it. Isostatic: A property of a kinematic system, commonly referred to as statically determinate, stating that regardless of non-geometric properties the internal forces and reaction forces are uniquely defined when the system, such as a kinematic chain, is in a static equilibrium. Hyperstatic: A property of a kinematic system, commonly referred to as statically indeterminate, the system typically comprising at least one mechanically closed kinematic chain, in which internal forces depend on non-geometric properties. Elasto-kinematics: Whereas kinematics is the description of motions without considering masses and forces, the kinematics used in robot controllers is limited to motions of jointed rigid bodies / links, which is also dominant in the scientific community. That is, while some non-geometric properties may be used for adjusting the programmed robot poses, only geometric properties are used when generating servo setpoints, for example to have the end- effector moving along a straight line. In the following, kinematics is practically extended to also deal with compliant links, utilizing a subset of the non-geometric parameters. Hexapod: a hexapod is defined as a mechanical or robotic system with six legs. One example of hexapod is a Stewart platform. Stewart platform: A Stewart platform is a six-degree-of-freedom mechanism. It was obtained by generalization of the aircraft simulator proposed by Stewart: "A Platform with Six Degrees of Freedom", Proc. Institute of Mechanical Engineering, Vol 180, part 1, No 5, pp.371-386, 1965-1966. It is often referred to as a parallel manipulator because of its form, where two plates are connected by six in-parallel legs. Because of the reciprocal nature of its structure to that of a serial manipulator, the properties of Stewart platform are also quite reciprocal to that of serial mechanism employed for robots. It has high load capacity since the payload is sustained by its in-parallel linkages in a distributive manner. Its other characteristic is high positional accuracy, which results from the fact that the joint errors are not cumulative as in serial manipulators. The additional advantage of compact design with six degrees of freedom makes it suitable for force–torque sensor application. Friction: The notion of friction refers to those simplified cases that are used in control of robot arms, namely Coulomb friction and viscous friction. Coulomb friction: Refers to the form of dry friction that comprises static friction for zero velocity and kinetic friction for joint motions (i.e., with non-zero velocity). Viscous friction: Refers to lubricated friction that is joint-velocity dependent The kinetic friction is as such load dependent, which for normal loads can be assumed to be proportional as modeled by the so-called friction coefficient in elementary physics. For a robot joint, as for many other types of transmissions, a more or less constant kinetic friction force is also experienced. That is, while kinetic friction within a joint transmission or gearing is proportional to the transmitted torque due to that the friction in contacts between gear parts is proportional according to the friction coefficient, the bearings and sealings for lubrication brings a friction that can be dominant for low joint torque but that for high-speed motions practically does not depend on the applied torque. To clarify by comparing with a car, the rolling friction on flat ground is dominant (and practically constant for the mechanical transmission with its lubricated bearings that are sealed against dirt) when no torque is transmitted from the engine, but for high-speed driving with high accelerations the friction losses within the drivetrain will dominate as they are proportional to the high transmitted torque. In model-based control such dynamic effects need to be modeled in order to determine the optimal control. In addition to the kinetic friction being dependent on motor / joint torque, and the viscous friction being dependent on motor / joint velocity, there may also for some types of gears be a dependency on the product of these two quantities; the power; the energy flow per time unit. For the purpose of this disclosure, however, thermal and other power-related effects are neglected, and simply the sign of the power (sign of the product) is considered. That sign tells how the joint transmission is loaded in terms of if the motor is driving the load (positive sign) or the load is driving the motor (negative sign). For many types of joint transmissions such as those with hypoid gears, the friction coefficient for the kinetic load-dependent part of the joint friction depends on that sign of power, which needs to be taken into account within methods for identification and model-based control. System In Fig.1 a system 200 according to some embodiment is illustrated and will now be explained with reference to this figure. In one aspect, the disclosure relates to a system 200 for determining elastic properties of an industrial robot 100. In more detail, the system 200 is configured to perform any steps of a method for determining elastic properties of an industrial robot 100 as will be described in the following. System 200 comprises a manipulator 106, here represented by a robot 100 with six rotational joints and six movable links. An industrial robot may be here be defined as a robot comprising at least three axes and that is programmable. The kinematic structure is such that each joint (i.e., the center-line of rotation) is either orthogonal to or rotational in the horizontal plane of Fig.1. Such a six joint manipulator 106 is also referred to as a six DOF manipulator, which means that it in non-singular configuration (within its workspace) can position an end- effector attached to the tool-mounting flange in six DOF, as needed in most applications. In general, and as assumed in the following, the manipulator 106 may comprise any number of joints, i.e. one or a plurality of joints, and any number of links connected to the one or several joints, in series or in parallel, and the numbers are not critical for performing the invention. Each joint is configured to be actuated by an actuator such as a motor (not shown), either directly or indirectly via a transmission (not shown), such that motor rotations are translated into lower-speed motions. For simplicity, the actuators / motors and drivetrains being part of each axis are not shown. Each link 1 to 6, numbered L11 to L16 respectively, of the manipulator 106 connects a joint with the next joint in the kinematic chain formed by the manipulator 106. A base link 101 preceding the first joint connects the first joint to the environment, e.g., floor or ground. A kinematic chain of the manipulator 106 arranged with certain joint angles may also be referred to as a kinematic configuration of the manipulator 106. Each link or linkage and thereto connected joint and drivetrain including motor / actuator arranged to drive the joint forms an axis. Thus, the first joint 71 and the link L11 are parts of a first axis 81, the second joint 72 and the link L12 are parts of a second axis 82, the third joint 73 and the link L13 are parts of a third axis 83, the fourth joint 74 and the link L14 are parts of a fourth axis 84, the fifth joint 75 and the link L15 are parts of a fifth axis 85 and the sixth joint 76 and the link L16 are part of a sixth axis 86. The axes of the robot are interconnected. The last link 16 in the chain ends with an end-flange (or tool-mounting flange). A tool changer may be used to attach tools to the end-flange of the robot 100. A tool changer is an end-effector with two mating parts, a master-part and a tool part. These parts may be referred to as tool changer parts. These parts have been designed to lock or couple together automatically and carry a payload. The parts are releasable locked or coupled. They also have the ability to pass utilities such as electrical signals, air, water etc. Typically, the master part is attached to the robot 100 and the tool part is attached to a tool for automatic, releasable connection of the tool to the robot 100. In this disclosure, tool changer parts may be attached to a device 1 for releasable connection to the robot 100, which will be more described in the following. The tool changer may be a high precision tool changer. A tool changer part 103 may comprise a tool side and a robot side. The robot side of the tool changer part 103 is connected to the end flange of the robot 100. The system 200 also includes a flexible clamping device 1, which will be more described in the following. The flexible clamping device 1, hereinafter “device 1”, closes the kinematic chain formed by connecting it to the manipulator 106, hence the robot 100, optionally via the tool changer part 103, and the ground / floor. Here, a docking point 105 denotes the ground / floor. The system 200 further comprises a control arrangement 110, 120. The control arrangement 110, 120 comprises a control arrangement 110 of the device 1 and a controller 120 of the robot 100. As explained, the device 1 also includes a control arrangement 110. The control arrangement 110 is for example embodied as one or more control units. For example, the control arrangement 110 comprises a device controller. The control arrangement 110 comprises a processor 111, a memory 112 and a communication interface 113. The processor 111 may include one or several central processing units (CPUs). The memory 112 may include one or several memory units. The control arrangement 110 is configured to receive, via the communication interface 113, sensed signals from a force-transmitting linkage and a position-sensing mechanism of the device 1. The control arrangement 110 is also configured to determine a relative force / torque and a relative pose of the device 1 based on the sensed signals. The sensed signals, also referred to as data, typically comprise force / torque quantities and position quantities. The control arrangement 110 may also be connected to robot 100. The control arrangement 110 may be configured to control movement of the robot 100. In some embodiments, the control arrangement 110 is configured to determine one or more properties of the industrial robot 100, using the determined relative force / torque and relative pose of device 1. In alternative embodiments, the control arrangement 110 is configured to instruct the industrial robot 100 to perform a robot task, using the determined relative force / torque and relative pose of the device 1. System 200 may comprise a controller 120 of the industrial robot 100, also referred to as a robot controller. The controller 120 is configured to be connected to the control arrangement 110 and to robot 100. The control arrangement 110 may then determine the relative force / torque and relative pose of the device 1 and send it to the other controller 120. The controller 120, includes, for example, processor, memory and / or communication interface necessary to perform such tasks (not shown). The control arrangement 110, 120 may also be connected to a computer (not shown). The connections may be, e.g., via Ethernet or Wi-Fi (Wireless Fidelity). Depending on preference, the control arrangement 110 may be external in the form of a manually or automatically operated controller (or a digital computer), or internal, i.e., built-in into the device 1 or manipulator 106 itself. The control arrangement 110 may include a computer (not shown) for exchange of data such as CAD-data used by the controller for controlling the manipulator 106. The computer may also be a master of the controller, such that the controller acts as a slave to the computer and is controlled via the computer. The robot 100 is further arranged to be controlled by the control arrangement 110 for moving the end-effector of the robot 100 to target poses. At least one of the axis of the robot 100 includes compliance. The robot 100 is arranged to be constrained in at least one direction such that the motion of the robot 100 is constrained in at least one degree of freedom, thereby forming a physical constraint for the manipulator motion. Device Fig.2 illustrates a device 1 according to some embodiments. Device 1 is arranged to be connected between robot 100 and a docking point 105 as previously explained. The device 1 may be connected to any of the movable links or any other place of the robot 100, such that the links within the formed kinematic chain include links with parameters to be identified, either as a complete chain to be used in the application or a part of a chain if a narrow analysis is needed in the presence of unmodeled equipment properties. Depending on the kinematics included in the chain to be identified, and on what parameters that are unknown / uncertain, the device 1 can have different embodiments, as long as the following requirements are fulfilled: - The motion of the robot 100 (or parts of it, or of the manipulator together with one or several peripheral devices to be calibrated) is physically constrained (by force / torque interaction). - The motion involving / exhibiting the properties to be determined is permitted, in some non-empty subspace of the workspace of the robot 100 according to the constraints of the device 1. This permitted motion is referred to as constrained motion, which can be considered a result of rigid or compliant links and joints depending on what stage of analysis and use that is referred to. In the standard case of a 6 DOF robot 100 as depicted in Fig.1, with the device 1 connected to the tool flange (via an optional tool changer part 103), a practical solution is to have the device 1 constraining 1 DOF only, thereby permitting it to be connected to practically any part of any type of linkage down to a single DOF. Constraining 1 DOF means permitting 5 DOF, which in turn means that the device 1 in this normal case should have five joints. Fewer joints can be used during constrained motion, but hyperstatic loads on the assumed 6 DOF robot 100 must be handled. However, for simplicity, the case of connecting the device 1 to the end flange of the robot 100 is hereinafter described. For robots with DOF greater than six, such as redundant robots and dual-arm robots, the device 1 can be simplified as in Fig.2. An offset in position and / or orientation, i.e., such that the last link of the robot 100 and a connecting part of the device 1 not have a common centreline, can be added between the last link of the 100 and the device 1. With such an offset (not shown), for example any of the offset items described in WO2017167687A2, the device 1 can be given precise dimensions such that the scaling of determined geometries becomes well defined, which is useful also in the standard 6 DOF case if the offset on the final joint of the robot 100 needs to be determined. Device 1 comprises a force-transmitting linkage 20 including a top plate 2, a base plate 3 and at least one link 21 connected between the top plate 2 and the base plate 3. The top plate 2 and the base plate 3 here have the same dimensions. Hence, they have the same shape and volumetric size. However, alternatively the top plate 2 and the base plate 3 have different dimensions, as shown in for example Fig.3. In Fig.3, the base plate 3 has a triangular shaped body, with slanted corners. The top plate 2 has a square-shaped body, with slanted corners. In Fig.2 the force-transmitting linkage 20 comprises only one link 21. In alternative embodiments the force-transmitting linkage 20 may include more than one link, for example two, three, four, five, six or seven links 21. The at least one link 21 extends from a region on the base plate 3, here referred to as an A-contact region, towards an individual region on the top plate 2, here referred to as a B-contact. The at least on link 21 is connected at one end to the base plate 3, and at the other end to the top plate 2. Each link 21 is configured to compliantly constrain relative motion between the top plate 2 and the base plate 3 in at least one direction of the link 21. Typically, the at least one direction includes the line of action of the link 21, hence, a direction along the link 21. To compliantly constrain means that the link 21 is elastic, hence, it gives in for an external force. However, the link 21 retains its shape when not exposed to the external force anymore. Hence, upon compression in the at least one direction, the link 21 flexes and absorbs the applied stress, but returns to its initial state once the external force is removed. This may be accomplished by including a spring in the link 21, or including an elastic material in the link 21. Each link 21 comprises a force sensor 24 arranged to sense force / torque quantities representing transmitted force in the at least one direction of the link 21. The force sensor 24 is for example a strain gauge load cell, a piezoelectric sensor, a capacitive sensor, a magnetic force sensor or an optical force sensor. The force sensor 24 senses the external force the link 21 it is exposed to in the at least one direction of the link 21. The sign slash in “force / torque” shall be understood as “or”, hence, the expression could be rewritten as “force or torque”. A force / torque quantity represents the magnitude and direction of a force or torque acting on a link 21, respectively. A force sensor 24 may also measure torque as a rotational or twisting force around an axis. The force or torque may be measured in one, two or three dimensions in Cartesian space. The control arrangement 110 is configured to obtain signals from the one or more force sensors 24. The signals comprise information of the sensed force / torque quantities. Device 1 also comprises a position-sensing mechanism 40 that is arranged in parallel with the force-transmitting linkage 20, such that the force-transmitting linkage 20 and the position-sensing mechanism 40 are kinematically decoupled. To be arranged in parallel here means to be arranged kinematically in parallel. This means that the position-sensing mechanism 40 and the force-transmitting linkage 20 are designed to operate or move independently from each other without affecting each other’s motion. Hence, they are kinematically decoupled. Thereby, any movements of one of the force-transmitting linkage 20 and the position-sensing mechanism 40 will not interfere or restrict motion of the other of the force-transmitting linkage 20 and the position-sensing mechanism 40. Typically, the position- sensing mechanism 40 is arranged to be non-transmissive of force / torque between the top plate 2 and the base plate 3. Thereby the position-sensing mechanism 40 will not transmit any force / torque between the top plate 2 and the base plate 3, and the force-transmitting linkage 20 will only sense the force / torque that the force-transmitting linkage 20 is exposed to. The position-sensing mechanism 40 is configured to sense position quantities representing the compliantly constrained relative motion between the top plate 2 and the base plate 3. For that purpose, the position-sensing mechanism 40 comprises one or more position sensors 41. The one or more position sensors 41 are typically null friction sensors. Such position sensor 41 minimizes or eliminates any influence of friction. The control arrangement 110 is configured to obtain signals from the position sensors 41. The signals comprise information of the sensed position quantities. The position-sensing mechanism 40 here comprises two position sensors 41 based on laser sensing. The two position sensors 41 are arranged on the base plate 3 to sense the relative distance between the top plate 2 and the base plate 3. Each position sensor 41 extends from a contact region on the base plate 3, here referred to as a C-contact region, towards a contact region on the top plate 2, here referred to as a D-contact region. The extension of the position sensor 41 here encompasses the laser beam. The extension of the position sensor 41 may thus also be its range of sight, apart from its mechanical extension. The position-sensing mechanism 40 is preferably located as far away as possible from the one or more force sensors 24 of the force-transmitting linkage 20, to minimize or eliminate influence of the position sensing on the force / torque sensing. Generally, the position-sensing mechanism 40 measures and detects the position of one of the top plate 2 and the base plate 3 with respect to the other one of the top plate 2 and the base plate 3. In other words, the position-sensing mechanism 40 senses the distance between the top plate 2 and the base plate 3, more in detail the distance between the inner top side 2b of top plate 2 and the inner base side 3b of base plate 3. A position quantity is for example a measurement or representation of one of the top plate 2 and the base plate 3 in a reference frame of the position sensing mechanism 40. The reference frame typically has a known relation to the other of the top plate 2 and the base plate 3. A position quantity may be represented as a single scalar value such as a distance or displacement along a straight line, or alternatively as two or three coordinates in Cartesian space. The force-transmitting linkage 20 and the position-sensing mechanism 40 are typically kinematically decoupled such that the force / torque quantities and / or position quantities are independent from non-linear elastic and friction effects within the device 1. Non-linear elastic effects may arise in situations where a system undergoes deformations that do not follow a linear behavior, for example depending on material properties or external forces. Friction effects could cause deviations and uncertainties due to resistance or interaction between surfaces. However, in the present device 1 the force / torque sensing and position sensing are independent from such effects following from the design of the device 1, thereby giving a more true and accurate force / torque sensing and position sensing. The device 1 is configured to simultaneously sense the force / torque quantities and the position quantities. Hence, the device 1 senses force / torque quantities and the position quantities that occur at the same time, or at least occur within a given time frame. Thereby a relationship between the simultaneously sensed force / torque quantities and the position quantities can be relied upon. Device 1 is also configured to determine a relative force / torque and a relative pose between the top plate 2 and the base plate 3 based on the simultaneously sensed quantities. Thus, a relative force or torque, and pose, between the top plate 2 and the base plate 3 can be established that can be used for calibration. The relative force / torque is established from the sensed force / torque quantities. The relative force / torque is typically represented in two or three dimensions in Cartesian space, with a force component along each axis, or a torque component around each axis. The relative force / torque describes the force / torque relationship between the top plate 2 and the base plate 3. A pose refers to the position and rotation of an object in a three-dimensional space and comprises translational and rotational components. The relative pose describes the difference in pose, hence position and rotation, between the top plate 2 and the base plate 3. The relative pose typically has six components, that is, three translational and three rotational components. Typically, the device 1 continuously, continually or repeatedly simultaneously senses the force / torque quantities and the position quantities, and as a response continuously, continually or repeatedly determines a relative force / torque and a relative pose between the top plate 2 and the base plate 3 based on the simultaneously sensed quantities. Hence, the device 1 outputs a series of relative force / torques and a relative pose between the top plate 2 and the base plate 3. As previously described, the device 1 is configured to be connected between a robot 100 and a docking point 105. The connection may be performed automatically or manually. In some embodiments, the connection is releasable and may be performed automatically by the robot 100. The device 1 can typically be connected at two points. At one point, it is connected to the robot, and at another point it is connected to the point in space, e.g., the docking point 105. The connection between robot 100 and the device 1, and the connection between device 1 and the docking point 105, may thus be releasable connections, that allows easy connection and disconnection when needed. It allows temporary attachment and / or detachment of the device 1, providing great flexibility. More in detail, one of the top plate 2 and the base plate 3 is configured to be connected to the docking point 105. The other one of the top plate 2 and the base plate 3 is configured to be connected to a robot 100. The connection point to the robot 100 is for example an end effector of the robot 100, also referred to as a tool changer part. The docking point 105 may be a fix point in space to enable calibration of the robot 100. For example, the docking point 105 is then a tool changer part attached to the surrounding such as a floor or ground. The device 1 may then be arranged with corresponding tool changer parts on the top plate 2 and the base plate 3 to connect the device 1 to the robot 100 and fix point is space, e.g., the docking point 105. Such a quick-release coupling system with tool changers, also referred to as a tool exchange system, enables rapid and secure connection and disconnection. A tool changing mechanism is responsible for automated exchange of tools. Fig.3 illustrates a device 1 according to some embodiments of the disclosure. Figs.4 to 9 all illustrate parts of the device in Fig.3, from different views or with parts in isolation. The description of the more general device 1 in Fig.2 is also applicable here, and reference is made to the previous description for the same references in Fig.2 and Fig.3-9. The device 1 in Fig.3 comprises a force-transmitting linkage 20 including a top plate 2 a base plate 3 and six links 21 connected between the top plate 2 and the base plate 3. Each link 21 should preferably fixate one DOF out of 6 DOF. The top plate 2 is defined by an outer top side 2a, an inner top side 2b and an edge top side or perimeter 2c connecting the outer top side 2a and the inner top side 2b. The base plate 3 is defined by an outer base side 3a, an inner base side 3b and an edge base side or perimeter 3c connecting the outer base side 3a and the inner base side 3b. The inner top side 2b faces the inner base side 3b. The top plate 2 and the base plate 3 here have different dimensions. In detail, the top plate 2 has a smaller horizontal extent than the base plate 3. Each of the six links 21 is configured to compliantly constrain relative motion between the top plate 2 and the base plate 3 in at least one direction of the link 21. Each link 21 comprises a first end 22 and a second end 23. The first end 22 of each link 21 is connected to the top plate 22 with a first top joint 26. Hence, each link 21 is connected to the top plate 2 with an individual first top joint 26. A force-transmitting linkage 20 with six links 21 will then include six first top joints 26. In some embodiments, the first top joint 26 has 2 or 3 DOF. The first top joint 26 is for example a spherical joint. If the first top joint 26 is limited to 2 DOF, the link 21 the first top joint 26 is connected to, should have one rotational DOF. However, with a first top joint 26 with 3 DOF, the link 21 may be neglected in terms of DOF. The second end 23 of each link 21 is connected to the base plate 3 with a first base joint 27. Hence, each link 21 is connected to the base plate 3 with an individual first base joint 27. A force-transmitting linkage 20 with six links 21 will then include six first base joints 27. In some embodiments, the first base joint 27 has 2 or 3 DOF. The first base joint 27 is for example a spherical joint. If the first base joint 27 is limited to 2 DOF, the link 21 the first base joint 27 is connected to, should have one rotational DOF. However, with a first top base 27 with 3 DOF, the link 21 may be neglected in terms of DOF. Each link 21 of the device 1 in Fig.3 comprises a spring 25, which makes the link 21 compliant, hence, elastic. The springs 25 enables docking the robot 100 to the device 1 without help from any other means, such as actuators. One or more springs enables using the device while exposing the device 1 to a larger force than any actuator in the device 1 can handle. Thereby the device 1 can be used also with large robots. One or more springs also enables using the device 1 while exposing the device 1 to a very small force and not using any actuators in the device 1 which may otherwise cause the actuators to contract because of their own weight. Thereby the device 1 can be used also with small robots. The spring 25 may be configured in various ways. For example, the spring 25 may have a homogenous stiffness. Alternatively, the spring 25 may have a varying stiffness, including a first section with a first spring coefficient and a second section with a second spring coefficient, where the first and the second spring coefficients differ. Thereby the spring 25 can handle and adapt to varying external forces / torques. The links 21 in Fig.3 are typically arranged to the top plate 2 and the base plate 3 such that singularities are avoided. Hence, they are non-singularly arranged. Thereby the force-transmitting linkage 20 has a well-defined behavior within its working range. The links 21 in Fig.3 extend in pairs at an angle from A-contact regions on the base plate 3 towards individual B-contact regions on the top plate 2. The A-contact-regions are here located on the perimeter 3c of the base plate 3. Hence, each link 21 is at one end of link 21 connected to the base plate 3 at an A-contact region, and at the other end of the link 21 connected to the top plate 2 at a B-contact region. The B-contact-regions are here located on the perimeter 2c of the top plate 2. Thus, each link 21 extends between, and connects, the base plate 3 and the top plate 2. The six links 21 are arranged in pairs in the device 1. Each link 21 is inclined inwards from an A-contact region on the base plate 3 to the respective B-contact region on the top plate 2. Each link 21 is also inclined sideways towards a link 21 in the closest neighboring pair of links of the device 1. The angle or inclination gives stability to the device 1. The inclination also enables a limitation mechanism to be accommodated between the links 21, within the device 1. The limitation mechanism will be more explained in the following. More in detail, a first pair of links 21 extends from a first A-contact region towards a first and a second B-contact region, a second pair of links 21 extends from a second A-contact region towards a third and a fourth B-contact region, and a third pair of links 21 extends from a third A-contact region towards a fifth and a sixth B-contact region. These contact regions are illustrated more in detail in Fig.4. It should be understood that the force-transmitting linkage 20 may include more or less links 21. For example, the force-transmitting linkage 20 may include only one link as in Fig.2, or include only a first pair of links or two pair of links. Hence, the force-transmitting linkage 20 may comprise a plurality of links 21 extending in pairs at an angle from A-contact regions on the base plate 3 towards individual B-contact regions on the top plate 2. If only one link 21, the link 21 may be arranged perpendicular between the base plate 3 and the top plate 2. Each link 21 also comprises a force sensor 24 arranged to sense force / torque quantities representing transmitted force in the at least one direction of the link 21. The device 1 in Fig.3 comprises six force sensors 24, here one in each link 21. The links 21 in Fig.3 are separated from each other. By having separated links 21, they will not influence each other’s sensing. The force sensor 24 should be located as close as possible to the top plate 2 and thereby to the end flange of robot 100 to most accurately measure force also in the presence of mass-forces and stretching-forces from the force-sensor cable 29 denoted in Fig.8. A force sensor has a mounting and a sensing side, meaning that the force sensor 24 should be mounted with its sensing side towards the first top joint 26. In the device 1 in Fig.3, the force sensors 24 are arranged close to the top plate 2, hence, close to the first ends 22 of each link 21. If robot 100 is attached to a tool changer part 4 attached to the top plate 2, the force sensors 24 will become close to the end flange of the robot 100. A force sensor 24 may include an amplifier for amplifying the sensed force / torque. The force sensor 24 is typically a linear force sensor, hence, it senses pull and push movements in one direction. In other words, the force sensor is a one-dimensional force sensor. By the arrangements described in the preceding paragraph the effectively sensed force / torque on the top plate 2 gets insensitive to friction forces and spring forces since they are not present at the sensing side of the force sensor towards first top joint 26. This arrangement therefore allows coarse control of forces or mechanical properties without making the sensed forces less accurate. Specifically, the force-transmitting linkage 20 is configured to have a controllable mechanical stiffness. In particular, each link 21 of the at least one link 21 comprises an actuator. The actuator is for example a hydraulic circuit or a pneumatic circuit. Hence, the stiffness of the each link 21 may be controlled to a desired stiffness. In some embodiments, the device 1 is configured to be set in a plurality of states. Each state defines a certain stiffness of each link 21. The actuators are configured to control the stiffness of the force-transmitting linkage 20. The plurality of states comprises a lenient state where the device 1 is lenient to an external force. The plurality of states may also comprise a firm state where the device 1 is firm to an external force. For example, the lenient state may be beneficial for docking a totally uncalibrated robot, or a robot that has not been calibrated in a long time. If using hydraulic circuits or a pneumatic circuits, the lenient state may be achieved by having a low pressure in the circuits. When the robot 100 has been docked, i.e., connected, to the device 1, the device 1 can be controlled to a desired working area of the robot 100 using the actuators(s). When in the desired working area, the device 1 may be locked in a certain state. The device in Fig.3 also comprises a position-sensing mechanism 40 that is arranged in parallel with the force-transmitting linkage 20, such that the force-transmitting linkage 20 and the position-sensing mechanism 40 are kinematically decoupled. The position-sensing mechanism 40 is configured to sense position quantities representing the compliantly constrained relative motion between the top plate 2 and the base plate 3. The position sensing mechanism 40 comprises position sensors 41. In Fig.3, these position sensors 41 are linear position sensors, also referred to as linear encoders. A linear position sensor converts displacement into an electrical input. It measures position of linear axes without intervening mechanical elements. One example provider of suitable linear position sensors is Heidenhain. A position sensor 41 measures the distance between the top plate 2 and the base plate 3, more in detail the distance between the inner top side 2b of the top plate 2 and the inner base side 3b of the base plate 3. A position sensor 41 in Fig.3 comprises a first end 42 and a second end 43. The first end 42 of each position sensor 41 is connected to the top plate 2 with a second top joint 46. In some embodiments, the second top joint 46 has 3 DOF. For example, the second top joint 46 is a spherical joint. In some embodiments, the second top joint 46 is a magnetic ball joint. A magnetic ball joint is a type of joint that utilizes magnetic forces to provide articulation and movement between two parts. The magnetic ball joint allows rotational movement in multiple directions while maintaining a stable connection. A magnetic force between the ball and the socket in the joint holds the joint in place and maintains its position. The magnetic attraction keeps the joint secure while allowing for movement. The magnetic ball joint enables frictionless movement. Magnetic ball joints are non-destructive, as they ensure that the position-sensing mechanism 40, i.e., the position sensors 41, will separate from the device 1 without breaking the device 1 if exposed to a too large force that overcomes the magnetic force. One example provider of suitable magnetic ball joints is Mizuno. The second end 43 of each position sensor 41 is connected to the base plate 3 with a second base joint 47. In some embodiments, the second base joint 47 has 3 DOF. For example, the second base joint 47 is a spherical joint. In some embodiments, the second base joint 47 is a magnetic ball joint. In Fig.3, the position-sensing mechanism 40 is configured to sense position in six DOF. For that purpose, the position-sensing mechanism 40 comprises six position sensors 41. Alternatively, a position sensor 41 may be configured to sense position in more than one DOF. In other words, a position-sensing mechanism 40 configured to sense position in a certain number of DOF should include position sensors that together are configured to sense the certain number of DOF. In Fig.3, the position sensors 41 extend in pairs at angle from C-contact regions on the base plate 3 towards D-contact regions on the top plate 2. The C-contact-regions are here located on the inner base side 3b of the base plate 3. The D-contact-regions are here located on the perimeter 2c of the top plate 2. Hence, each position sensor 41 is at one end of position sensor 41 connected to the base plate 3 at a C-contact region, and at the other end of the position sensor 41 connected to the top plate 2 at a D-contact region. Thus, each position sensor 41 extends between, and connects, the base plate 3 and the top plate 2. The six position sensors 41 are arranged in pairs in the device 1. In more detail, a first pair of position sensors extends from a first C-contact region towards a first and a second D-contact region, a second pair of position sensors extends from a second C-contact region towards the second and a third D-contact region, and a third pair of position sensors extends from a third C-contact region towards the first and third D-contact region. These contact regions are illustrated more in detail in Fig.5. It should be understood that the position-sensing mechanism 40 may include more or less position sensors 41. For example, the position-sensing mechanism 40 may include only one pair of position sensors 41 as in Fig.2, or include two pairs of position sensors 41. Hence, the position-sensing mechanism 40 may include a plurality of pairs of position sensors 41 extending from C-contact regions towards D-contact regions. In some embodiments, the position sensing mechanism 40 is a parallel kinematic mechanism. As can be seen from the figures, the links 21 of the force-transmitting linkage 20 is connected to the base plate 3 radially outwards of the position sensing mechanism 40. Thereby a more stable design is achieved. In some embodiments, the force-transmitting linkage 20 is a parallel kinematic mechanism, PKM. In some embodiments, the position sensing mechanism 40 is a PKM. The force-transmitting linkage 20 may have a structure of a hexapod. Also, the position sensing mechanism 40 may have a structure like a hexapod. The force-transmitting linkage 20 may have a structure like a Stewart platform. Also, the position sensing mechanism 40 may have a structure like a Stewart platform. Fig.4 illustrates the flexible clamping device is Fig.3 without a force-transmitting linkage according to some embodiments of the disclosure. Here, and in Fig.3, it can be seen in more detail that the links 21 of the force-transmitting linkage 20 extend from A-contact regions on the base plate 3 towards individual B-contact regions on the top plate 2. Hence, the first base joints 27 are connected to the base plate 3 in the A-contact regions. The first top joints 26 are connected to the top plate 2 in the B-contact regions. The A-contact regions are circumferentially spaced substantially equal distance apart from one another on the base plate 3. The A-contact regions are located on a perimeter 3c of the base plate 3. However, the A- contact regions may instead be arranged on the inner base side 3b of the base plate 3. The B- contact regions are circumferentially spaced substantially equal distance apart from one another on the top plate 2. The B-contact regions are located on a perimeter 2c of the top plate 2. However, the B-contact regions may instead be arranged on the inner top side 2b of the top plate 2. Fig.5 illustrates the flexible clamping device is Fig.3 without a position-sensing mechanism according to some embodiments of the disclosure. Here, and in Fig.3, it can be seen in more detail that the position sensing mechanism 40 comprises position sensors 41 that extend from C-contact regions on the base plate 3 towards D-contact regions on the top plate 2. Hence, the second base joints 47 are connected to the base plate 3 in the C-contact regions. The second top joints 46 are connected to the top plate 2 in the D-contact regions. The C- contact regions are circumferentially spaced substantially equal distance apart from one another on the base plate 3. The C-contact regions are located on an inner base side 3b of the base plate 3 facing an inner top side 2b of the top plate 2. However, the C-contact regions may instead be arranged on the perimeter of the base plate 3. The D-contact regions are circumferentially spaced substantially equal distance apart from one another on the top plate 2. The D-contact regions are located on a perimeter 2c of the top plate 2. However, the B- contact regions may instead be arranged on the inner top side 2b of the top plate 2. As can be seen from Fig.3-9, each B-contact region is located between an individual pair of the D- contact regions. Fig.6 illustrates a top view of the device 1 is Fig.3 according to some embodiments of the disclosure. As can be seen from this figure and others, the top plate 2 is provided with a tool changer part 4. The tool changer part 4 is here rigidly attached to an outer top side 2a of the top plate 2. The tool changer part 4 is releasable connectable to a corresponding tool changer part 103. The tool changer part 103 is for example attached to an end flange of the robot 100, or to a tool changer part 103 attached to the robot 100 at another location of the robot 100. Alternatively, the tool changer part 103 is rigidly attached to, for example, a floor or ground. The tool changer part 103 thus provides a docking point. In other words, the device 1 comprises a tool changer part 4 rigidly attached to an outer top side 2a of the top plate 2. The tool changer part 4 is configured to be releasably connected to a robot 100, in particular to an end flange of a robot 100, and / or to a docking point. Fig.7 illustrates a bottom view of the flexible clamping device is Fig.3 according to some embodiments of the disclosure. As can be seen from this figure and others, the base plate 3 is provided with a tool changer part 5. The tool changer part 5 is here rigidly attached to an outer base side 3a of the base plate 3. The tool changer part 5 is releasable connectable to a corresponding tool changer part 103. The tool changer part 103 is for example attached to an end flange of the robot 100, or to a tool changer part 103 attached to the robot 100 at another location of the robot 100. Alternatively, the tool changer part 103 is rigidly attached to, for example, a floor or ground. The tool changer part 103 thus provides a docking point. In other words, the device 1 comprises a tool changer part 5 rigidly attached to an outer base side 3a of the base plate 3. The tool changer part 5 is configured to be releasably connected to a docking point, and / or to a robot 100, in particular to an end flange of a robot 100. Fig.8 illustrates a link 21 of the force-transmitting linkage 20 in isolation according to some embodiments of the disclosure. The link 21 comprises a first end 22 and a second end 23 and a body between the first end 22 and the second end 23. The first end 22 comprises a first top joint 26. In Fig.8, the first top joint 26 is a spherical joint, and a ball stud with a ball- shaped end that allows rotational movement of the first top joint 26 attached to the first end 22. The socket of the first top joint 26 is arranged to be attached to the top plate 2. The first base joint 27 is a spherical joint, and a ball stud with a ball-shaped end that allows rotational movement of the first base joint 27 attached to the second end 23. The socket of the first base joint 27 is arranged to be attached to the base plate 3. The link 21 also comprises a force sensor 24, arranged close to the first top joint 26 as previously described. The link 21 also comprises an actuator 28 being a pneumatic circuit. The pneumatic circuit comprises a pneumatic cylinder with openings at both ends. By controlling the pressure in the pneumatic cylinder, the link 21 can be set in different states with different compliance. The pneumatic circuit comprises more components that are not visible in Fig.8, such as compressor, pressure regulator, valves, filters, fittings and tubing, etc. Alternatively, link 21 is hydraulic circuit. The spring 25 is arranged between the second end 23 and the actuator 28, however, alternatively the spring 25 may be arranged between the first end 22 and the actuator 28. Fig.9 illustrates a position sensor 41 of the position sensing mechanism 40 in isolation according to some embodiments of the disclosure. The position sensor 41 comprises a first end 42 and a second end 43 and a body between the first end 42 and the second end 43. The position sensor 41 is here a linear encoder. The position sensor 41 comprises, inter alia, a housing and a probe arranged to move linearly in the housing. The first end 42, here an end part of the probe, comprises a second top joint 46. The first top joint 26 is here a spherical joint, with a ball that allows rotational movement of the second top joint 46 attached to the first end 42. The socket of the second top joint 46 is arranged to be attached to the top plate 2. The second base joint 47 is a spherical joint, and a ball that allows rotational movement of the second base joint 47 attached to the second end 43. The second end 43 is here an end part of the housing. The socket of the second base joint 47 is arranged to be attached to the base plate 3. Fig.10a illustrates an alternative link 21 of the force-transmitting linkage 20 in isolation according to some embodiments of the disclosure. Fig.10b illustrates the link 21 in Fig.10a in a horizontal position. Fig.10c illustrates the link 21 in Fig.10c in cross-section. This alternative link is a standard component but is here used in a novel way. As explained, the link 21 comprises a first end 22 and a second end 23 and a body between the first end 22 and the second end 23. The first end 22 comprises a first top joint 26. The first top joint 26 is a spherical joints rotational movement of the first top joint 26 attached to the first end 22. The socket of the first top joint 26 is arranged to be attached to the top plate 2. The first base joint 27 is a spherical joint, and a ball stud with a ball-shaped end that allows rotational movement of the first base joint 27 attached to the second end 23. The socket of the first base joint 27 is arranged to be attached to the base plate 3. The link 21 also comprises a force sensor 24, arranged close to the first top joint 26 as previously described. Specifically, in Fig.10, the link 21 also comprises an actuator 28 being a hydraulic circuit. The hydraulic circuit comprises a hydraulic cylinder with two chambers 32 and 35 with hydraulic fluid. The hydraulic fluid is for example oil, which with standard sealings does not leak at all in contrast to pneumatics that always have some small leakage. The chamber 30 is filled with compressed air that cannot leak since it is sealed by metal and free-floating piston 31 that is tightly sealed by the hydraulics in chamber 32. The actuation piston 33 obtains the actuation force of the link 21 from the sum of forces from chambers 32 and 35, where the force is the product of pressure and piston area. There is also a valve 34 that is mechanically controlled via a center rod 36 to a lever mechanism 37. In an office chair, which has a similar hydraulic circuit, this lever is used to adjust height of the chair. With valve 34 open the pressure in chambers 32 and 35 will be the same, and the link 21 will extend due to the different areas towards the piston 33, until force balance is reached with the actuation force and the pressure of the gas in chamber 30. With an external balancing force this appears as a floating state of the link 21. With the valve 34 closed during force balance, the link 21 remains in a constant length state, which here is referred to as a fixed state although the gas in chamber 30 results in a certain compliance depending on the pressure in that chamber. When forces change within the force-transmitting linkage 20, the pistons 31 and 33 will move until a new force balance in reached. This is a pure physical process, with the control of the lever 37 only selecting fixed or floating behavior. With an adjustable pressure in chamber 30, via a separate valve not shown, the stiffness of link 21 can be configured according to the application needs at hand. The spring 25 is arranged between the first end 22 and the actuator 28, however, alternatively the spring 25 may be arranged between the second end 23 and the actuator 28. The spring 25 is an option to give the end range of the actuation another stiffness, again by pure mechanical means. The advantages with this embodiment compared to the earlier described pneumatic version are: • The device 1 can be operated without pneumatics, when compressed air is not available or not practical due to for instance clean-room requirements. An electro- mechanical actuation is then required for controlling the lever 37. • Hydraulic sealings (between the fluids and parts 31, 33 and 36) keep lubrication and pressure over long time, which provides predictable results even when very slow or even constant motions are applied. A disadvantage is less possibilities for configuration and control by means of software within the control arrangement 110. Figs.11a-11c and 12 are illustrating the device 1 according to some embodiments of the description, where the device 1 comprises a limitation mechanism 60. The limitation mechanism 60 is configured to produce a limitation signal upon a maximum permitted end position of the device 1 is reached. The limitation mechanism 60 may include one or more sensors used to stop the process before a boundary pose of device 1 is reached in some direction. That stopping function can be accomplished by hardware and / or by software, and it can be built into the device 1, or it can be programmed into the robot controller 120. A boundary pose is for example defined by a specific maximum and minimum angle between the top plate 2 and the base plate 3, either as constants that are valid within the positioning range of the top plate relative to the base plate 3, or as functions of the top plate position with smaller angular range closer to the perimeter of top-plate motions. Assuming a horizontal placement of the base plate 3, the angel is here referred to as a tilting angle, in two orthogonal direction that are orthogonal to the vertical center line of the device, Tx and Ty respectively. Correspondingly, the limitation mechanism 60 also limits the allowed position of the device 1, in other words of the top plate relative to the base plate, which at least in the perimeter depends on tilting angels. For a Stewart type of mechanism and typical joints, such as ball-and-socket joints, the minimum and maximum position vertically will be in the center, that is, when the top plate 2 is right over the base plate 3, with zero tilting and rotation angels. Those top and bottom positions form well defined poses with all (position and force) legs having the same length. The position sensing will then have minimum respectively maximum extension. The limitation mechanism 60 in Fig.11a comprises a hollow cylinder 61 and rod 63. The hollow cylinder 61 is attached at one base of the cylinder 61 to the inner base side 3b of base plate 3 and extends towards the inner top side 2b of the top plate 2. However, the hollow cylinder 61 stops a distance from the inner top side 2b, hence, it does not extend all the way between the base plate 3 and the top plate 2. The hollow cylinder 61 is provided with through going holes 62 in its curved surface. These holes 62 may have a V-shape at the upper and lower side. The rod 63 is attached at one end of the rod 63 to the inner top side 2b of the top plate 2. The rod 63 extends towards the inner base side 3b of base plate 3, inside the cylinder 61. However, the rod 63 stops a distance from the inner base side 3b, hence, it does not extend all the way between the top plate 2 and the base plate 3. Typically, the rod 63 extends less than half the distance between the inner top side 2b and the inner base side 3b. The cylinder 61 and the rod 63 are concentrically arranged when the top plate 2 and the base plate 3 are concentrically aligned. The rod 63 comprises radial pins 64 that match the holes 62. Hence, the radial pins 64 extends through the holes 62, at the same height when the top plate 2 is horizontal and at different locations within each hole when device 1 is inclined. The rod 63 may comprise any number of pins, but typically three pins. The cylinder 61 comprises a corresponding number of holes, hence typically three holes 62. Fewer than three holes requires a more elaborated shape of the pins 64. More than three holes 62 can be useful for redundancy and load distribution, as the skilled person may decide. A robust and low-cost alternative is to have three holes and three pins that are so called dowel-pins, which is a standard type om machine element that is strong and straightforward to attach to the rod 63 by means of a press-fit assembly. Figs.11a-11c depict such a geometry that will make the device 1 reach those boundary poses with the radial pins 64 extending through the holes 62. Figs. 11b and 11c illustrate device 1 of fig.11a without the force-transmitting mechanism 20. Fig. 11c is a cross-section of Fig.11b along line A-A. In Fig.11c, the inside of cylinder 61 is shown and the rod 63 extending inside the cylinder 61. The top plate 2 is here inclined with respect to base plate 3, whereby a radial pin 64 of rod 63 obtains a certain location in the hole 62 of the cylinder 61. The upper and lower V-shaped sides of the holes 63 are useful for achieving well- defined initial poses, which enable automatic docking by the robot 100 to the device 1. Of course, actuating the force-transmitting linkage 20 to its upper respectively lower extension on all legs will also provide a well-defined upper and lower pose, in principle. However, the accuracy of the initial pose would then either depend on precision of the force-transmitting linkage 20 or the initial pose would need to be controlled based on sensing from the position- sensing mechanism 40, in both cases introducing new uncertainty sources and an undesired lack of decoupling. Instead in the following, the pins 64 are pushed into the most upper respectively lower position of the V-shaped edge of the holes 63. Note that with three pins 64 arranged evenly distributed around the rod 63, the initial pose becomes well defined since each pin locks 2 DOFs without singularity, hence 6 DOF fixation, and this is decoupled from both the force-transmitting linkage 20 and the position-sensing mechanism 40. Thereby, a highly accurate initialization mode for the device 1 can be provided in terms of a homing function for the position-sensing mechanism. This comprises controlling the force legs to their minimum or maximum extension and read the position sensor values at that extension, thereby accuracy of position sensor mounting or replacements of any position sensor is maintained. In other words, the device 1 including the position-sensing mechanism 40 can be repaired without effecting the overall system 200. With absolute position sensors such homing provides a check of the device 1 also during operation. Alternatively, incremental position sensors can be used, optionally with index values checked by initial motion between the two homing poses. Hence, when a boundary pose is reached according to the position-sensing mechanism it indicates that a maximum permitted end position of the device 1 is reached, a limitation signal is produced. The limitation signal can also be based on contacts between the pins 64 and the edges of the holes 62 in the hollow cylinder 60. This can be accomplished by having isolations between parts such that electric contact between the pins 64 to the edges of holes 62 is detected, with that detection being disabled during homing. Another motivation for the limitation mechanism is to protect the position-sensing mechanism 40 against overload, which due to lack of calibration or programming errors could result in the robot pushing past the physical limits of the sensor. The same applies to the force-transmitting linkage 20 in case of calibration of a very strong robot, which has the power to overload the force-transmitting linkage 20, for instance when moving to undesired locations due to lack of re-calibration after repair of the robot. Ideally the boundaries of the limitation mechanism correspond to an end position of a position sensor 41. An end position of a linear position sensor represents the limit of the position sensor’s measurement range in one direction. For some embodiments, for instance when the flexible clamping device is based on a Stewart platform with certain dimensions, a limitation mechanism as shown in Figs.11a-11c might limit the allowed working range too much if the limitation mechanism is to check limits Tx and Ty. An alternative implementation therefore is to add a separate inclinometer 65 sensor to measure Tx and Ty, and by either software or electronic hardware provide the desired boundary supervision as described above. Such a limitation mechanism 60 is illustrated in device 1 in Fig.12. Fig.12 illustrates device 1 from an inclined bottom view, according to one embodiment of the disclosure. The sensor 65 is attached to the inner top side 2b of the top plate 2. One example of such a sensor 65 is the “Low Cost Dual Axis Inclinometer” LCH-A-D from Level Developments Ltd. (leveldevelopments.com), which is depicted as the inclinometer in Fig.12. For angled mounting (such as wall mounting) of the device 1, the inclinometer has to be put on some bracket piece (not shown) that provides that angle. In case the device 1 is used as a tool-holding device, the inclinometer, is not useful since it operates relative to a fixed horizontal plane. But in this case, the position quantities will by necessity be provided in real-time, and hence the position sensing is to be used for protection of the position-sensing mechanism. In Fig.12, the rod 63 is visible without the cylinder 61. However, the device 12 in Fig.12 may also be provided with a cylinder 61 as in Figs.11a-11c. Hence, the limitation mechanism 60 in Figs.11a-11c may also include a sensor such as the sensor 65 in Fig.12. Thus, any limitation mechanism 60 as described herein may be implemented in any of the devices 1 as described herein. In case the position-sensing mechanism 40 is arranged to the top plate 2 and / or base plate 3 with magnetic ball joints, the limitation mechanism 60 may include a sensor that is configured to sense contact, e.g., electrical contact, between the ball and the socket of the joint. If there is no contact, the limitation mechanism 60 is configured to produce a limitation signal. The limitation mechanism 60 is arranged between the top plate 2 and the base plate 3. The control arrangement 110 is configured to obtain the limitation signal from the limitation mechanism 60 and produce a stop signal to a connected robot 100 commanding the robot 100 to halt any motion, and / or retract from undesired motion. In some embodiments, the control arrangement 110 is configured to change the relative pose between the top plate 2 and the base plate 3 by controlling the actuators of the at least one link 21 of the force-transmitting linkage 20 and optionally feedback of the relative pose between the top plate 2 and the base plate 3 based on position quantities sensed with the position sensing mechanism 40. Representation of properties As described, device 1 may be used for determining a plurality of different properties of the robot, such as geometric properties, link-elasticity properties or joint-transmission properties including non-linear properties such as friction and backlash. Methods for determining these properties have already been described in connection with WO2014065744, WO2015030650 and WO2015030650, which methods also can be used, although modified, for determining properties using the device 1 as explained herein. WO2014065744 deals with determining the non-geometric properties of joints, and WO2015030650 deals with the non-geometric properties of links, specifically the link stiffness properties. Both these assume some kind of constrained motion, described as clamping since a practical solution is to dock the end-flange to a fixed point in space such that the robot 100 cannot move except for small motor movements due to the presence of non-geometric effects such as elasticity in joints and links. The clamping can also be accomplished by constraining only in 1 DOF, if the robot 100 can move to poses that in total cover the excitation of all joints and all links, in both directions. WO2017167687A2 deals with determining geometric properties. The constraints for clamping according to these disclosures can be accomplished by selecting appropriate target poses that permits a pull / push load on the device 1 to be projected onto the axis or axes that are subject to identification for determining their properties, and then to select a sufficient large set of target poses such that all non-geometric properties can be determined. The principle means that by measuring only motor signals, models of the transmissions including parameters capturing individual variations can be maintained, and that model can then be used to compute the joint angle and torque on the link side of each transmission. Assuming the Coulomb friction is known, and effects thereof is compensated for, the model for the system takes the form ^^ ^^ = ^^ (1) as in WO2015030650. Due to the quasit-static character of that method, viscous friction if zero. The unknown parameters consist of ^^^^stiffness parameters in ^^, where ^^^^is the elastic DOF, and ^^^^deformation parameters in ^^, where ^^^^is equal to the number of elements in ^^. The stiffness parameters may be nonlinear functions of the applied torque in the motors, ^^, where each stiffness parameter ^^^^can be modeled as an expansion in a set of basis functions as ^^^^ ^^ is a e.g.,^^ terms ^^ are parameters. The total number of stiffness parameters are thus ^^^^^^^^. of the motion of the robot 100, i.e. here clamping, fixes the position and orientation of the first and the last link, i.e., the deformation parameters of the clamped ends become zero. The total number of unknowns is therefore ^^^^^^^^+ ^^^^− 6 in the 2D case and ^^^^^^^^+ ^^^^− 12 in the 3D case. As no parameters in either ^^ or ^^ are known, there exists an unknown scaling, as if ^^ and ^^ fulfills ^^ ^^ = ^^, also ^^ ^^ and ^^−1^^ for ^^ ≠ 0 fulfills the relation. To overcome the scaling problem, extra equations can be added. The joint angles, ^^, are related to the motor angles, ^^^^, through ^^^^= ^^ + ^^ ^^ where ^^ is the gear ratio matrix for representing the joint stiffnesses, i.e., ^^^^= ^^^^ / ^^^^where ^^^^is the stiffness of joint ^^ and ^^^^is the torque exerted by the motor in joint ^^. The fact that the manipulator 106 is clamped means that the (elastic) forward kinematics of the manipulator 106 for a loaded configuration must give the same position and orientation as for an unloaded configuration (a configuration with zero deformation), this relation can be expressed as ^^( ^^, ^^) = ^^( ^^^^, 0) (4) where ^^(⋅,⋅) gives the forward kinematics of the robot 100, and ^^^^denotes the joint angles in the unloaded case (zero torque). In all practical situations, the deformations will be small in relation to the size of the robot 100, which admits a linear approximation of the above relation. The deviation from the position and orientation in the unloaded case can then be written as ^^^^+ ^^ ^^ ^^ = 0 (5) where ^^ denotes the geometric Jacobian of the robot, ^^^^the geometric Jacobian with respect to the deformations, and ^^ ^^ = ^^ − ^^^^. The Jacobians will be functions of both ^^ and ^^, but as the deformations are small, the approximations ^^ ≈ ^^(^^^^, 0)and ^^^^≈ ^^^^(^^^^, 0)are valid, i.e., the changes of the Jacobians due to the deformations are neglectable. These new equations can be used to extend the original model ( ^^ ^^ = ^^) according to ^^ ^^ where ^^ is a selection matrix such = new set not scaling problem, as parts of the extended stiffness matrix, ^^^^ ^^ ^^, now consists of known parameters. For poses that are non-singular (that is, the Jacobian matrices ^^^^and ^^ not being singular, practically meaning that no two joint axes are parallel), the Equation (6) is well formed (representing an Isostatic load case assuming ^^^^is unlocked as by means of the control and Coulomb friction (kinetic friction) is known for the specifically used segment of motion) but parameters can still be redundant, so a plurality of poses need to be combined. Methods The disclosure also relates to methods that will be described in relation to the flowchart illustrated in Figs.13 and 14. The methods may be implemented as one or more computer programs comprising instructions which, when execute by a processor, for example the processor 111 of control arrangement 110 and / or controller 120, controls a robot and a flexible clamping device 1 to perform one or more steps of a method as described herein. In other words, a computer program comprising instructions to cause the system 200 to execute steps of the methods as will be described herein. The robot 100 is for example the robot illustrated in Fig.1. The flexible clamping device 1 is any such device as described herein. The computer program is for example saved in the memory 112 of the control arrangement 110. In other words, a computer-readable medium having stored thereon the computer program configured to execute steps of the methods as has been described herein. The method in the flowchart in Figs.13 and 14. The first example method is a method for determining elastic properties of an industrial robot, for example the robot 100 in Fig.1. The plurality of interconnected axes of the robot 100 comprises at least one axis exhibiting elasticity and at least one joint exhibiting static friction. The friction and / or elastic properties are at least one of: link-elasticity properties, joint-transmission friction properties, or joint- orthogonal stiffness. The method may be performed manually by operator commands to the robot 100, or it may be implemented as a computer program including computer instructions, and be automatically performed by the industrial robot 100, when the computer program is loaded into and executed by the processor 111 of the control arrangement 110. The computer instructions may be stored on a computer program product that is readable by a computer. The computer program may be included in the memory 112. The method is performed using a device 1 according to any example or embodiment as described herein. The methods described herein have the purpose of automatically identifying unknown parameters of a robot by using the described device 1. Multiple clamping configurations and load conditions will be needed to be able to perform identification, also referred to as determination, of unknown parameters. A set of performed motions in a clamping configuration and / or load configuration may be referred to as an experiment. Each experiment gives one relation (6). All experiments can be handled in the same system of equations according to 1 ^^1^^ where the left the total number of experiments. Since the purpose of the motions of each experiment is to obtain a, for the determination of stiffness parameters, sufficiently large deflection for each Axis, and since the torques are accomplished by clamping of the device 1, we may refer to the complete set of motions required for Equation (7) as clamped deflective motions of the robot 100. A clamped deflective motion is thus a motion performed by the robot 100 while the robot 100 is clamped to the device 1 and the device 1 is attached to a position that may be fixed. A clamped deflective motion is a motion that by means of force interplay between the robot 100 and the device 1 creates deflections of the links of the robot 100. A set of clamped deflective motions is needed to get sufficient data to solve the system of equations (7). The data obtained from the clamped deflective motions is characterised by motor angle and motor torque from all axes or joints of the robot 100 being included. This enables updating of the data such that friction effects are compensated for, or excluding parts of the data wherever that update is not possible due to undefined Coulomb friction torque (also referred to as static friction). Thereby, the resulting data can be considered to come from an ideal robot 100 having negligible robot joint friction, i.e., having robot joint friction close to zero. Hence, the set of clamped deflective motions is a set of motions performed by the robot 100 to accomplish the experiments, with sensed force / torque and position quantities updated to fulfil the assumptions of Equation (7). The clamped deflective motions will be more explained in the following. For performing the method, the device 1 should be in reach of the robot 100, thus the device 1 should be placed in the working space of the robot 100. The device 1 may for example be included in a tool stand of the robot 100, or may be attached to a fix point in reach of the robot 100. The device 1 should also be correctly configured when performing the method. For example, configured for sufficient resistance for the robot 100 such that motor torques fulfill the earlier described conditions on minimum values, but with sufficient softness for the sensed motor angles to fulfill the earlier described conditions on minimum speed. The device 1 should also be controlled to a predetermined position within the working area of the robot 100, either manually or automatically. The predetermined position is for example one that allows the robot 100 to dock to the device 1 and thereafter in that region of the robot’s workspace perform lenient motions with sufficient motor torques without the device 1 reaching any of its position limits, as needed for calibrating the robot 100. An end-flange of the robot 100 can also be configured by manual attachment or by use of a tool-changer such that it can be clamped to the device 1. In other words, in some embodiments, the method comprises controlling S11 the flexible clamping device 1 to a predetermined position within a working space of the industrial robot 100. In one step S12, the method comprises clamping an end flange 16 of the robot 100 to the device 1 as has been described herein. If the device 1 already is attached to the environment, it will now form a closed elastic kinematic chain with the robot 100 and the device 1. Otherwise, the method may include moving the device 1 to a point in the environment and attaching the device 1 to the point, to thereby form a closed kinematic chain with the industrial robot 100 and the device 1. This movement may be performed manually or automatically. The base link of the robot 100 is also attached to the same environment as the device 1. In other words, the device 1 is attached to an environment to which also the base link of the robot 100 is mounted, thereby forming a closed elastic kinematic chain that includes the industrial robot 100 and the flexible clamping device 1. The industrial robot 100 and the device 1 both constitute elastic linkages, whereof the robot 100 has constant but unknown elastic properties and the device 1 has (from its sensed quantities) known but varying and configurable elastic properties. Hence, the device 1 has elastic properties that can be determined based on the parallel sensing of force / torque and position, at every time instance. Static friction in the force sensing mechanism does not influence the device 1 as the total force in each link is measured without friction in series with the friction in the link, and the position is measured in parallel with neglectable friction. In some embodiments, the clamping S12 an end-flange 16 comprising using one or more clamping gauge-blocks between the end-flange 16 and the flexible clamping device 1. A clamping gauge-block has a well-known geometry (just like the well-known gauge-blocks that are used in mechanical production), is stiff compared to the elasticities of the robot, and provides docking points such that the clamping gauge-block can be attached between the robot end flange (or tool-exchanger on the end-flange) and the flexible clamping device. Attachments can be automated by use of tool exchangers. Thereby, different favorable joint angles of the robot can be used when performing the clamped deflective motions. In an optional step S13, the method comprises, after the clamping step S12, controlling the robot to an initial pose where the actuator of each link 21 of the at least one link of the flexible clamping device 1 is distant from its respective limits. In other words, no actuator of the flexible clamping device 1 is close to its limits. This initial pose defines the starting pose of the clamped deflective motions. The initial pose it typically determined in beforehand. The initial pose is a pose that is beneficial for starting the clamped deflective motions. In some embodiments, the device 1 is configured to be set in a plurality of states. To be able to be set in a plurality of states, the device 1 comprises actuators which are configured to control the stiffness of the force-transmitting linkage 20. The plurality of states comprises a lenient state where the device 1 is lenient to an external force. The plurality of states may also comprise a firm state where the device 1 is firm to an external force. In an optional step S14, the method comprises, after the clamping S12 step and optionally the controlling S13 step: configuring the state of the device 1 to one of the lenient state and the firm state based on a calibration state of the industrial robot 100, and using this state during the next controlling S16 step. For example, the step S14 includes updating the configuration of the flexible clamping device 1 by selecting a lenient state or a firm state for each actuator of the device 1 such that the clamped deflective motions can be performed in a friction-aware manner as explained above. The flexibility of device 1 makes it behave as an elastic element within the closed kinematic chain, and hence it can be dealt with in the same way as the manipulator. Although the elasticity of the device 1 is changeable by means of the device controller, that only means that the corresponding elements of the matrices K will vary over time as known from the measured quantities of the device 1. However, at the same time instance each such element will still be ideal as a physical element in the sense that high-frequency properties are maintained due the physical (not computerized which would imply quantization in time and space) implementation based on mechanical (analog) components such as springs and pneumatic dampers / cylinders. In some embodiments, the configuring S14 comprises configuring the state of the flexible clamping device 1 to the lenient state and using the lenient state during the controlling S16 of the industrial robot 100 for performing the clamped deflective motions. Hence, the clamped deflective motions may include sequences where the state of the flexible clamping device 1 is either lenient or static. Thus, the robot 100 and the device 1 are controlled together. In some embodiment, the flexible clamping device 1 in the lenient state behaves as an elastic element within the closed kinematic chain. In some embodiments, the flexible clamping device 1 in the lenient state permits the industrial robot 100 to move such that effects of static friction in the plurality of axes after data reduction becomes neglectable. For example, the device 1 enables the robot 100 to have joint velocities above certain limits and thereby avoid static friction effects. In some embodiments, the flexible clamping device 1 in the lenient state permits lenient resistance in all Cartesians directions which the robot 100 can move. Hence, the directions mean all Cartesians directions in which the robot can move, typically 6, but may also be 4 or 5. Robots with 7 or more DOFs still have only 6 Cartesian directions, such that they constitute simpler cases because one can use a “null-space motion” to minimize the static friction. As the device has 6 DOF, and its placement (no singularity) and properties mean that one can always create the lenient movements. Hence, all types of robots can be calibrated. The method further comprises determining S15 and loading, into a robot controller of the industrial robot 100, a program defining clamped deflective motions that create deflections of the one or more links of the industrial robot 100 based on force interplay between the robot 100 and the flexible clamping device 1. The program typically defines a set of clamped deflective motions. The set of clamped deflective motions are typically determined in beforehand by using datasheets, knowledge and / or experiments. The set of clamped deflective motions may be the same for the same type of robot 100 and device 1 – composition, and thereby reused for such same compositions. The clamped deflective motions are created such that sufficient data can be obtained from motions segments with well-defined friction torques / forces such that those well-defined friction torques / forces can be accounted for to virtually obtain negligible robot joint friction, which will allow the elastic properties of the robot to be determined. The clamped deflective motions are motions that by means of force interplay between the robot 100 and the device 1 create sufficiently large deflections of all elastic robot links, where sufficiently large refers to that sensed motor quantities should reflect the elastic motion of the robot 100 such that (7) gets numerically well-conditioned. For example, a motion that moves the top plate of the device 1 too short distance with a too soft configuration of the device 1 will result in motor angles and motor torques that even after update of friction effects contains disturbing uncertainties since a friction to some extent always is uncertain, for instance with respect to temperature of bearing lubrication. Therefore, the device 1 and the clamped deflective motions should in practice be configured such that joints torques and velocities are sufficiently exciting and within normal operational ranges of the joints, while still moving slowly to fulfill the quasi-static assumption of (7) and with as low forces as possible to allow a less expensive implementations of the device 1. Suitable ranges for a standard 6DOF industrial arm are between 5% and 25% of rated values for velocity and torque, while acceleration better be below 20% for major parts of the motion. The clamped deflective motions should be determined such that any standstill is only temporary, i.e., all Axes should be moving most of the time to have well defined friction forces according to data after omitting the standstill parts that have motor angle derivative close to zero for any motor of the robot 100. Also, other motions with possibly unknown Coulomb friction force may occur when the net torque over a joint transmission is close to zero. Thus, data for all axes should be omitted for periods of time when any axis is moving with low velocity or low torque. For efficiency of the method, the desired clamped deflective motions should be planned or determined such that the monitored motions result in omission of a relatively small part of the data. Even if velocity should not be too low, it should be rather low to fulfil the quasi-static assumption of (7), and for that reason acceleration also needs to be low (like 2-10% of maximum). The clamped deflective motions comprise a plurality of different poses of the end flange 16 and are performed within the operational limits of the force sensor 24 and of the position-sensing mechanism 40, using a selected configuration of the force-transmitting linkage 20. Selecting a configuration can be iterative in that an overly lenient configuration will result in saturation of the force-transmitting linkage when relevant forces that overcome the static friction are applied, or there can be risk for static friction as indicated by the sensed motor angle if a too firm configuration is applied. The skilled user can manually or automatically work out and select a suitable configuration. The method further comprises controlling S16 the industrial robot 100 to performing the clamped deflective motions, while sensing quantities related to the industrial robot 100, hence the motor torque and motor angle of the plurality of axes of the industrial robot 100, and sensing quantities related to the device, hence quantities comprising the force / torque quantities representing transmitted force in the at least one direction of the link 21, and the position quantities representing the compliantly constrained relative motion between the top plate 2 and the base plate 3, of the flexible clamping device 1. The clamped deflective motions typically include a set of target poses. Hence, when the motion of the robot 100 has been constrained (by connecting the robot 100 to the device 1), the method includes controlling the robot 100 to a set of target poses where for each target pose a physical pose of the robot 100 is reached fulfilling the physical constraint for the robot 100 motion, while sensing the quantities described above. According to one embodiment, the set of target poses includes a plurality of different orientations and positions of the end flange. For determining suitable target poses, a plurality of candidate poses that should be reachable in case of no kinematic errors of the robot 100, may first be generated or defined. Then reachable poses of the candidate poses are selected as target poses and arranged in a target pose list. Paths between the target poses are then defined and planned or generated between the target poses of the target pose list, such that the robot 100 may automatically move between the target poses. The robot 100 is then caused to move along the paths of the target pose list while the quantities are sensed. In other words, the method comprises monitoring the relative poses and forces / torques between the top plate 2 and the base plate 3 while the clamped deflective motions are performed. Typically, the flexible clamping device 1 has virtually zero friction during the controlling S16. The device 1 is virtually free of friction as the device 1 has separate position sensing with zero friction and is not impacted by larger friction from force transmitting elements working in parallel. This is used, by using clamped deflective motions that are friction aware, for identifying kinetic friction despite nonlinear stiffness in the links of the robot 100. With “friction aware” means motions that handle or avoid friction effects. For example, motions that are performed such that friction effects do not emerge; become so small that they can be neglected; or become well defined such that they later can be removed from the sensed data (quantities). The device 1 facilitates excitation of the robot links also in joint-orthogonal directions, which means the Equation (7) gets full rank also for the directions that cannot be loaded by gravity (and also not by dynamic forces that would break the quasi- static assumption of Eq7). Of course, a surrounding system with external sensors and actuators can be built and used for this purpose, but that is not viable for production spaces, simple usage, and cost. Thus, it is key that device 1 with its controller forms an easy to use self contained equipment, which by means of the method enables full robot accuracy. In some embodiments, the controlling comprises controlling S16 the industrial robot 100 to perform clamped deflective motions such that the plurality of axes of the industrial robot 100 are moving at the same time at least during a larger part of the clamped deflective motions, and any standstill of the plurality of axes is temporary. Standstill of any axis is simply detected by too low joint velocity determined from the sensed motor angle. Standstill can be avoided by adding some motion to that joint. Therefore, it is practical to program the robot 100 to use joint-space motions with all joint set to move sufficiently much with a suitable joint speed as explicitly stated in the motion instructions. In any case, the larger part of the data is typically the reduced set of data. Hence, in the determining and loading step S15, the clamped deflective motions are determined such that the plurality of axes of the industrial robot 100 are moving at the same time at least during a larger part of the clamped deflective motions, and any standstill of the plurality of axes is temporary In some embodiments, the method comprises controlling S16 the industrial robot 100 to perform clamped deflective motions that give simultaneous deflections of all elastic links of the industrial robot 100. Hence, in the determining and loading step S15, the clamped deflective motions are determined such that they give simultaneous deflections of all elastic links of the industrial robot 100. In some embodiments, the controlling S16 comprises clamped deflective motions including a series of different motor torques resulting in a corresponding series of different tensions in a single axis of the plurality of axes. Hence, in the determining and loading step S15, the clamped deflective motions are determined such that they include a series of different motor torques resulting in a corresponding series of different tensions in a single axis of the plurality of axes. Thereby, identified parameters can be more certain, or if a constant parameter actually changes with torque, it shows that a non-linear stiffness function should be used instead of a constant in the model of the robot, as expressed by Equation (2). In some embodiments, the controlling S16 comprises clamped deflective motions including motor torques in a low frequency range. Hence, well below the lowest resonance of the manipulator. This is accomplished by not programming any fast or jerky motions, thereby avoiding high frequencies that would break the quasi-static assumption of Equation (7). In the determining and loading step S15, the clamped deflective motions are then determined such that they include motor torques in a low frequency range. The target poses may be different depending on if they should be used when sensing quantities intended for determining joint properties, link properties or geometric properties. For example, for determining geometric properties, some motion should be possible, either via the device 1 or by utilizing a null-space of one or several arms that in total have DOF larger than 6. According to one embodiment, the at least one geometric property is related to a peripheral device (not shown) of the device 1. The peripheral device then comprising at least one link that is influenced by the motion of the robot 100. In the typical 6 DOF case and for DOF larger than six, during fixed clamping or during a constrained motion within the workspace of the device 1, the load case will be isostatic unless the kinematic chain is in a singular configuration. This forms the typical embodiment. On the other hand, according to one embodiment, at least one link is hyperstatically loaded, reflecting that at least one pair of links are involved in a singular configuration. Such a singularity is often considered a problem in robot applications, but for determining parameters it can be used as a motion constraint that eliminates the influence of a single joint transmission. In the hyperstatic case, computations of link forces is based on Equation (6). In the isostatic case, the generalized forces in any part of the manipulator can be computed from measured or known motor torques based on WO2015030650, and use the models from both WO2014065744 and WO2015030650 to calculate what deflections those forces will generate. By compensating the kinematical model based on the models of compliance, we will end up with a much more accurate kinematic model, which more specifically is an elasto-kinematic model. At each moment in time, at a certain load case over each link, the transformation from one joint to the next (considering the non-geometric effects) can be computed, simply by using the component stiffness matrix as described in WO2015030650. Since neither any motor torque nor any motor velocity will be very close to zero, the mentioned sign of the product of these quantities will be well defined, and hence the energy flow direction though the joint transmission is known, meaning that even transmissions like those with the hypoid gears can be handled regarding both friction and non-linear stiffness, as further commented below. The robot 100 may be softly constrained by the device 1, referred to previously as a lenient state, in a way that permits it to move such that transient joint friction effects get neglectable. That is, when any one joint of the robot 100 is at a temporary standstill due to friction / stiction, the force balance of that joint (and thereby the entire manipulator) does not permit accurate properties to be determined. Formally, vector variables ^^ and ^^ in (6) are during the transient distorted, and thereby the stiffness ^^ will not be correct if computed based on transient signals. Instead, the device 1 allows some motions while the robot 100 still is constrained such that a desired load situation is achieved. By proper control of the robot 100 according to the control arrangement 110, the transient periods will be comparably short and can be excluded from the data used for determining the link-elasticity properties and all joint properties that thereby become more accurate. Using those obtained properties in identification of the geometric properties, using methods of this disclosure, will then also provide more accurate geometric properties. Depending on manipulator properties and maximum angles of the joints of the device 1, it can even be the case that manipulator joint torques are controlled such that a resulting (pull or push) force in the direction of the device 1 is sufficiently exciting for determining the non-geometric properties. In case of a parallel-kinematic manipulator, the system 200 can be extended in a straightforward manner by adding the properties of each kinematic chain. For the robot 100 shown in Fig.1, the parallel bar is managed that way. One way to achieve a kinematic chain for constrained motions is to let the control arrangement 110 (either automatically or by manual commands) control the robot 100 such that a movable part of the robot 100, e.g., the tool changer part 103, reaches a point in space where an attachment point of a device 1 is located. In the figures, this attachment point is the tool changer part 4 on the top plate 2. One or more clamping gauge-blocks, referred to as offset items (angular or elongated) in WO2017167687A2 and further described therein, may also be used to offset the tool changer part on the robot 100 and the mating tool changer part on the device 1. The sensed quantities typically include undesirable effects of static friction. Therefore, sensed quantities including such static friction are excluded from the data of the sensed quantities. In other words, the method comprises determining S17 a reduced set of data of the sensed quantities of the industrial robot 100 and the flexible clamping device 1, by excluding data of the sensed quantities that may include effects of static friction. The exclusion is based on the sensed quantities of the industrial robot 100. In some embodiments, the exclusion comprising excluding data from a joint of the plurality of axes where the velocity of the joint is below a predetermined threshold. It may be most practical to determine the threshold by letting the robot move freely (not attached to the device 1) within its workspace, one joint at a time by programmed joint-space motions, and reduce the speed until the torque or the velocity is not smooth anymore, and then let the threshold be twice that speed for each respective joint. The sensed quantities of the industrial robot 100 are thus the sensed quantities related to motor torque and motor angle of the plurality of axes of the industrial robot 100, and the sensed quantities of the flexible clamping device 1 are the sensed quantities comprising the force / torque quantities representing transmitted force in the at least one direction of the link 21, and the position quantities representing the compliantly constrained relative motion between the top plate 2 and the base plate 3 of the flexible clamping device 1. These quantities are sensed in step S16, typically at the same or corresponding time instances such that they reflect the same situation. The sensed quantities may be referred to as sensed data. When sensed data from the robot 100 is identified that may include effects of static friction, that sensed data from the robot 100 and corresponding data (sensed at the same or corresponding time instance) from the device 1 are excluded. In one embodiment, all sensed data from the robot 100 and the device 1 during the time instances where the data was sensed are excluded. The sensed quantities of device 1 are used to determine relative poses and force / torques between the top plate 2 and the base plate 3 of device 1. In other words, the method comprises determining S18, based on simultaneously sensed force / torque quantities and the sensed position quantities by the force sensor(s) 24 and the position-sensing mechanism 40 of the flexible clamping device 1, relative poses and forces / torques between the top plate 2 and the base plate 3 relating to the reduced set of data. The sensed quantities used for determining S18 may either be the reduced set of data, or the full set of data of the sensed quantities (before the reduction). If the full set of data is used, the relative poses and forces / torques between the top plate 2 and the base plate 3 are correspondingly reduced as the reduced set of data of sensed quantities. This means that relative poses and forces / torques between the top plate 2 and the base plate 3 that may include effects of static friction (as seen from the robot 100) are excluded from the subsequent steps in the method. From sensing / monitoring of motor angles and motor torques of the robot 100, the unknown parameters can then be identified according to the method described in WO2015030650. The function ^^, Eq. (12) in WO2015030650, is now defined as the left-hand side of Eq. (6), and the vector ^^ as the right-hand side of Eq. (6). With these definitions, the same method as described in Eqs. (13)-(16) in WO2015030650 may be used for identification. Of course, the monitoring of the clamped deflective motions will result in much data that is uncertain due to friction effects, but since the clamped deflective motions are Isostatic when the Jacobian matrices of (7) are non-singular the internal forces are well defined except for Axes that are at standstill. In other words, the method further comprises determining S19 kinetic friction properties of the at least one joint exhibiting static friction and the elastic properties of the at least one axis exhibiting elasticity based on the reduced set of data, the relative poses and forces / torques between the top plate 2 and the base plate 3, the plurality of different poses of the end flange, and at least one model of the industrial robot 100. Before all properties are determined, to keep interaction forces withing acceptable limits, the clamped deflective motions may involve compliant control of one or several of the joints of the robot 100. Equivalently, force-controlled motions can be used. The device 1 may also comprise elements with adjustable stiffness, such that softer constraints are used initially when deviations are more significant. The determining S19 may include performing an identification of a set of kinematic parameters for a kinematic model that represents elasto- kinematics of the robot 100. The identification is based on the relative poses and forces / torques, the plurality of different poses of the end flange and on parameters related to elastic properties represented by the kinematic model, where the kinematic model includes a representation of the at least one compliance. In some embodiments, the determining S19 comprises determining a sign of the product of motor torque and motor angle, and determining the friction based on the sign of the product. The obtained sensed quantities for the robot 100, namely the motor torques and the motor angles, along with the sensed quantities from device 1 applied with the model of the robot, can (manually or automatically) be split into different data / time series based on the sign of the product. Friction in each of these data sets can be identified as explained herein. If the friction (for any one joint) is significantly different for the different signs, the split data forms separate experiments for Eq 7. If no such direction of power-flow dependency is detected, and original data set (not split) can be used. For example, referring to Equation (7) for a 6 DOF robot 100 such as the one in Fig. 1, the number of deformation parameters ^^^^is 72, and the total number of unknowns for ^^ experiments is ^^^^^^^^+ 66 ⋅ ^^, including the unknown joint angles ^^ (only motor angles ^^^^are measured). The number of elastic degrees of freedom, ^^^^, for a 6 DOF manipulator is usually 49, and if the stiffness parameters are assumed to be linear, such that ^^^^is 1, the total number of unknown parameters will be 49 + 66 ⋅ ^^. Each clamping experiment gives 84 equations, and as the number of equations must be larger than the number of unknowns to be solvable, at least ^^ = 3 experiments will be needed. There will, however, be disturbances and modeling errors present and some more experiments will be needed. In a normal case with ^^ = 10, the extended stiffness matrix in Eq. (7) will have 840 rows and 78 columns. With the non-geometric parameters determined, at least with initial values based on the nominal geometry of the robot 100, determining the kinematic parameters can be carried out as another part of step S19. As has been previously described, the robot 1 includes a kinematic model with a set of kinematic parameters, and hence motions for performing the calibration can be programmed directly as part of the method. From the sensed quantities, well-conditioned segments are selected, avoiding known uncertainties, typically unknown Coulomb friction due to some joint being subject to changed direction of its motion. The data of the sensed quantities may therefore need to be reduced, but additional data is simply obtained by adding well-conditioned segments, which only costs additional seconds of exciting motion time. The determined elastic properties may be evaluated to determine whether they fulfil predetermined requirements. In other words, in some embodiments the method comprises verifying S20 the elastic properties determined in step S19 regarding fulfillment of force- balance equations that express quasi-static load cases of the industrial robot 100 according to the at least one model of the robot 100. The verifying S20 comprises evaluating of residuals of force-balance equations when solved using the reduced set of data and returning, when missing or unsuitable load cases cause residuals greater than one or more thresholds, to the step S15 of determining and loading into the robot controller of the industrial robot 100. Additionally, a new set of experiments with other clamped deflective motions can be carried out, and then the obtained parameters should be approximately the same, and residuals still low. After the kinetic friction properties and the elastic properties have been properly determined, models of the robot 100 may be updated based thereon. High performance control of robots such as the robot 100 is typically based on so called model-based control, meaning that (as standard in the robotics industry) the model of the robot 100 is used in the synthesis of the algorithms in controller 120. In other words, the method comprises updating S21 one or more of the at least one model of the industrial robot 100 with the determined kinetic friction properties and the elastic properties. The updated one or more of the at least one model provides the elastic properties of the industrial robot 100 along with related dynamics that form a context for using the parameters for improved control of the industrial robot 100. For example, the one or more of the at least one model of the robot comprises differential-algebraic equations that describes the elasto-dynamics of the industrial robot 100. A stiffness identification procedure relies on the kinematic parameters of the robot 100 to fix the scaling of the deformations and the stiffness parameters. When the kinematic parameters are updated in the kinematic calibration step, the stiffness parameters might need to be re- identified, i.e., the identification process needs to be re-run, but no new experiments will be needed. The change in kinematic parameters will in all practical cases be small, as there will be nominal parameters available. The effect on the equations for the stiffness identification will therefore be very small (small changes of the kinematic parameters will lead to very small changes of the Jacobians), and the change in stiffness parameters will also be very small. And once the stiffness model parameters have been updated, there might be a need to re-identify the kinematic parameters. In each iteration the changes in the parameters will become smaller and smaller, and it converges in a few iterations. Different brands of robots have their specific controller 120 with certain configuration properties, and hence the control arrangements 110 needs to be configured accordingly. Due to the generic character of the present method, the skilled person will be able to select and convert the identified properties such that the determined properties may be used for updating nominal kinematic parameters of a robot 100. It may be used for updating nominal kinematic parameters of the same robot 100 as the method was performed on or be used for updating nominal kinematic parameters of another robot 100 of the same type. The determined at least one geometric property may be used for updating a robot program or motion control parameters of the robot 100. From a system or product point of view, the alternative to update the robot program can be accomplished by either having that update function built into the controller 120, or by performing the same function as part of an overall system such as CAM (Computer-Aided Manufacturing) software tools. The so far described updating of “motion control parameters of the robot 100” has been for the purpose of superior end-effector accuracy (rather than speed) despite all the mentioned elastic and non-linear effects. With that being solved, the follow up request is to accomplish the accurate motion as fast as possible to maximize productivity. That implies a need for enhancements of the real-time control software of the controller 120. It is an important advantage of the method according to Figs.13-14 and its use of the device 1 that it also enables higher speed motion control by dealing with Compliant Link effects in terms of the mentioned (see Definitions) lowest resonance. That lowest resonance can be viewed as a property of each Axis, with joint stiffness and link compliance appearing between masses of the involved machine elements as in elementary mechanics. However, the end-effector motion depends on all axes moving together with a force / torque interplay, which forms a complete differential algebraic system in which all axes depend on each other in a non-causal way. While the defined MSM is useful for dealing with process forces and motions that by standard smoothness of controller trajectories, maximized path speed for faster motions also requires higher acceleration (and change of acceleration) for each involved Axis, which in almost all practical cases includes all Axes of the robot 100. Thus, all commanded joint trajectories need to contain as high frequencies as possible, but not frequencies that would excite resonances of the robot 100. Hence, there is a need to identify robot arm resonances, and to use that information for model-based servo control in the controller 120. Specifically, the described Orthogonal Joint Compliance is most important to determine and to manage in the controller 100. The reason is that compliances in actuated directions can to some extent be damped or otherwise dealt with by means of the feedback control and feedforward of reference-states into its feedback loops, as extensively described in the robotics literature. The joint-orthogonal directions, however, are only subject to indirect influence by the feedback control, via the dynamics according to the mentioned differential- algebraic equations, which means that trajectories must be computed such that the resonances related to the Orthogonal Joint Compliance are not excited. Those resonances are referred to as cross-resonances. To compute the cross-resonances, the Coulomb friction and mass distribution around the elastic properties obtained via Equation (7) needs to be known or identified, and the elements of the matrix K determined using that equation. The skilled person can do that according to standard solid-state theory. However, while it for the described quasi-static case is acceptable with redundant solutions to (7) since it would not affect the end-effector motion, determination of cross-resonances (that is, the frequencies as functions of joint coordinates q) in presence of Coulomb friction requires the elements of K to fully agree with the physics and the involved axes. Otherwise, excessive end-effector vibrations will result from the wrong frequency content of the computed trajectory. Most cross-resonances can be determined, with or without explicitly using Equation (7), by free-space motions with a tailor-made non-symmetric payload driven by servo references that for sufficiently large portions of the motion have been computed to avoid effects of unknown Coulomb friction. The gravity forces are then utilized instead of the clamping forces from the device 1. While such a prior-art method is useful for verification of some parameters, it has a major limitation in that joints without gravitational forces cannot be determined, at least not without complicated external arrangements that the device 1 is designed to avoid. A typical example is the first (base turning the entire arm) joint of a standard 6 axes articulated industrial robot arm. The Joint Orthogonal Stiffness of that joint effects not only the control of that axes, but also all the resonances of the robot 100 due to the differential- algebraic character of the interconnected dynamics of the arm. It is a key feature of the device 1 and the controller arrangement 110 that the system by means of the 6DOF configurable stiffness enables the clamped deflective motions can be made such that all involved link- compliant properties can be determined, and thereafter used for calibrations, even in an automated manner. The terminology used in the description of the embodiments as illustrated in the accompanying drawings is not intended to be limiting of the described method, control arrangement or computer program. Various changes, substitutions and / or alterations may be made, without departing from disclosure embodiments as defined by the appended claims. The term “or” as used herein, is to be interpreted as a mathematical OR, i.e., as an inclusive disjunction; not as a mathematical exclusive OR (XOR), unless expressly stated otherwise. In addition, the singular forms "a", "an" and "the" are to be interpreted as “at least one”, thus also possibly comprising a plurality of entities of the same kind, unless expressly stated otherwise. It will be further understood that the terms "includes", "comprises", "including" and / or "comprising", specifies the presence of stated features, actions, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, actions, integers, steps, operations, elements, components, and / or groups thereof. A single unit such as a processor may fulfil the functions of several items recited in the claims. The present disclosure is not limited to the above-described preferred embodiments. Various alternatives, modifications and equivalents may be used. Therefore, the above embodiments should not be taken as limiting the scope of the disclosure, which is defined by the appending claims.
Claims
Claims 1. A method for determining elastic properties of an industrial robot (100) comprising a plurality of interconnected axes, where each axis of the plurality of interconnected axes comprises: • a linkage comprising one or more links, • a joint defining the possible motion of the axis and • a motor driving the linkage via the joint, wherein the plurality of interconnected axes comprises • at least one axis exhibiting elasticity and • at least one joint exhibiting static friction the method comprising: o clamping (S12) an end-flange (16) of the industrial robot (100) to a flexible clamping device (1) that is attached to an environment to which also a base link of the robot (100) is mounted; thereby forming a closed elastic kinematic chain that includes the industrial robot (100) and the flexible clamping device (1); wherein the flexible clamping device (1) comprises: • a force-transmitting linkage (20) including a top plate (2), a base plate (3), and at least one link (21) connected between the top plate (2) and the base plate (3), whereof each link (21) is configured to compliantly constrain relative motion between the top plate (2) and the base plate (3) in at least one direction of the link (21), and where each link (21) comprises a force sensor (24) arranged to sense force / torque quantities representing transmitted force in the at least one direction of the link (21); • a position-sensing mechanism (40) that is arranged in parallel with the force- transmitting linkage (20), such that the force-transmitting linkage (20) and the position-sensing mechanism (40) are kinematically decoupled, and where the position-sensing mechanism (40) is configured to sense position quantities representing the compliantly constrained relative motion between the top plate (2) and the base plate (3); and • wherein the flexible clamping device (1) is configured to simultaneously sense the force / torque quantities and the position quantities, and to determine a relative force / torque and a relative pose between the top plate (2) and the base plate (3) based on the simultaneously sensed quantities,the method further comprising: o determining (S15) and loading into a robot controller of the industrial robot (100) a program defining clamped deflective motions that create deflections of the one or more links of the industrial robot (100) based on force interplay between the robot (100) and the flexible clamping device (1), wherein the clamped deflective motions comprises a plurality of different poses of the end flange (16) and are performed within the operational limits of the force sensor (24) and of the position-sensing mechanism (40), using a selected configuration of the force-transmitting linkage (20), o controlling (S16) the industrial robot (100) to performing the clamped deflective motions, while • sensing quantities related to motor torque and motor angle of the plurality of axes of the industrial robot (100), and • sensing quantities comprising the force / torque quantities representing transmitted force in the at least one direction of the link (21), and the position quantities representing the compliantly constrained relative motion between the top plate (2) and the base plate (3) of the flexible clamping device (1); o determining (S17) a reduced set of data of the sensed quantities of the industrial robot (100) and the flexible clamping device (1), by excluding data of the sensed quantities that may include effects of static friction, wherein the excluding is based on the sensed quantities of the industrial robot (100); o determining (S18), based on simultaneously sensed force / torque quantities and the sensed position quantities by the force sensor(s) (24) and the position-sensing mechanism (40) of the flexible clamping device (1), relative poses and forces / torques between the top plate (2) and the base plate (3) relating to the reduced set of data; o determining (S19) kinetic friction properties of the at least one joint exhibiting static friction and the elastic properties of the at least one axis exhibiting elasticity based on the reduced set of data, the relative poses and forces / torques between the top plate (2) and the base plate (3), the plurality of different poses of the end flange, and at least one model of the industrial robot (100), and o updating (S21) one or more of the at least one model of the industrial robot (100) with the determined kinetic friction properties and the elastic properties, wherein the updated one or more of the at least one model provides the elastic properties of theindustrial robot (100) along with related dynamics that form a context for using the parameters for improved control of the industrial robot (100).
2. The method according to claim 1, comprising verifying (S20) the determined (S19) elastic properties regarding fulfillment of force-balance equations that express quasi-static load cases of the industrial robot (100) according to the at least one model of the robot, comprising evaluation (S20a) of residuals of force-balance equations when solved using the reduced set of data and returning, when missing or unsuitable load cases cause residuals greater than one or more thresholds, to the step of determining (S15) and loading into the robot controller of the industrial robot (100).
3. The method according to claim 1 or 2, wherein, during the controlling (S16) the flexible clamping device (1) has virtually zero friction.
4. The method according to any one of the preceding claims, wherein the friction and / or elastic properties are at least one of: link-elasticity properties, joint-transmission friction properties, or joint-orthogonal stiffness.
5. The method according to any one of the preceding claims, comprising, before the clamping (S12) step: o controlling (S11) the flexible clamping device (1) to a predetermined position within a working space of the industrial robot (100).
6. The method according to any one of the preceding claims, wherein the flexible clamping device (1) is configured to be set in a plurality of states comprising a lenient state where the flexible clamping device (1) is lenient to an external force, and a firm state where the flexible clamping device (1) is firm to an external force, wherein the method comprises, after the clamping (S12) step: o configuring (S14) the state of the flexible clamping device (1) to one of the lenient state and the firm state based on a calibration state of the industrial robot (100), and using this state during the controlling (S16) step.
7. The method according to claim 6, wherein the configuring (S14) comprises configuring the state of the flexible clamping device (1) to the lenient state and using the lenient stateduring the controlling (S16) of the industrial robot (100) for performing the clamped deflective motions.
8. The method according to claim 6 or 7, wherein the flexible clamping device (1) in the lenient state behaves as an elastic element within the closed kinematic chain.
9. The method according to any one of the claims 6 to 8, wherein the flexible clamping device (1) in the lenient state permits the industrial robot (100) to move such that effects of static friction in the plurality of axes after data reduction becomes neglectable.
10. The method according to any one of the claims 6 to 9, wherein the flexible clamping device (1) in the lenient state permits lenient resistance in all Cartesians directions which the robot (100) can move.
11. The method according to any one of the preceding claims, comprising controlling (S16) the industrial robot (100) to perform clamped deflective motions such that the plurality of axes of the industrial robot (100) are moving at the same time at least during a larger part of the clamped deflective motions, and any standstill of the plurality of axes is temporary.
12. The method according to any one of the preceding claims, comprising controlling (S16) the industrial robot (100) to perform clamped deflective motions that give simultaneous deflections of all elastic links of the industrial robot (100).
13. The method according to any one of the preceding claims, wherein the controlling (S16) comprises clamped deflective motions including a series of different motor torques resulting in a corresponding series of different tensions in a single axis of the plurality of axes.
14. The method according to any one of the preceding claims, wherein the controlling (S16) comprises clamped deflective motions including motor torques in a low frequency range.
15. The method according to any one of the preceding claims, wherein the determining (S19) comprises determining a sign of the product of motor torque and motor angle, and determining the friction based on the sign of the product.
16. The method according to any one of the preceding claims, wherein the excluding data of the sensed quantities, and relative poses and force / torques between the top plate (2) and the base plate (3), that may include effects of static friction, comprising excluding data from a joint of the plurality of axes where the velocity of the joint is below a predetermined threshold.
17. The method according to any one of the preceding claims, wherein the one or more of the at least one model of the robot comprises differential-algebraic equations that describes the elasto-dynamics of the industrial robot (100).
18. The method according to any one of the preceding claims, wherein the clamping (S12) an end-flange (16) comprising using one or more clamping gauge-blocks between the end- flange (16) and the flexible clamping device (1).
19. A system (200) for determining elastic properties of an industrial robot (100), the system (200) comprising: o an industrial robot comprising: • a plurality of interconnected axes, where each axis of the plurality of interconnected axes comprises: • a linkage comprising one or more links, • a joint defining the possible motion of the axis and • a motor driving the linkage via the joint, • wherein the plurality of interconnected axes comprises • at least one axis exhibiting elasticity and • at least one joint exhibiting static friction o a flexible clamping device (1) comprising: • a force-transmitting linkage (20) including a top plate (2), a base plate (3), and at least one link (21) connected between the top plate (2) and the base plate (3), whereof each link (21) is configured to compliantly constrain relative motion between the top plate (2) and the base plate (3) in at least one direction of the link (21), and where each link (21) comprises a force sensor (24) arranged to sense force / torque quantities representing transmitted force in the at least one direction of the link (21);• a position-sensing mechanism (40) that is arranged in parallel with the force- transmitting linkage (20), such that the force-transmitting linkage (20) and the position-sensing mechanism (40) are kinematically decoupled, and where the position-sensing mechanism (40) is configured to sense position quantities representing the compliantly constrained relative motion between the top plate (2) and the base plate (3); and • wherein the flexible clamping device (1) is configured to simultaneously sense the force / torque quantities and the position quantities, and to determine a relative force / torque and a relative pose between the top plate (2) and the base plate (3) based on the simultaneously sensed quantities, ntrol arrangement (110, 120) configured to: • clamp an end-flange (16) of the industrial robot (100) to a flexible clamping device (1) that is attached to an environment to which also a base link of the robot (100) is mounted; thereby forming a closed elastic kinematic chain that includes the industrial robot (100) and the flexible clamping device (1); • determine and load into a robot controller of the industrial robot (100) a program defining clamped deflective motions that create deflections of the one or more links of the industrial robot (100) based on force interplay between the robot (100) and the flexible clamping device (1), wherein the clamped deflective motions comprises a plurality of different poses of the end flange (16) and are performed within the operational limits of the force sensor (24) and of the position-sensing mechanism (40), using a selected configuration of the force-transmitting linkage (20), • control the industrial robot (100) to performing the clamped deflective motions, while - sensing quantities related to motor torque and motor angle of the plurality of axes of the industrial robot (100), and - sensing quantities comprising the force / torque quantities representing transmitted force in the at least one direction of the link (21), and the position quantities representing the compliantly constrained relative motion between the top plate (2) and the base plate (3) of the flexible clamping device (1); and• determine a reduced set of data of the sensed quantities of the industrial robot (100) and the flexible clamping device (1), by excluding data of the sensed quantities that may include effects of static friction, wherein the excluding is based on the sensed quantities of the industrial robot (100); • determine, based on simultaneously sensed force / torque quantities and the sensed position quantities by the force sensor(s) (24) and the position-sensing mechanism (40) of the flexible clamping device (1), relative poses and forces / torques between the top plate (2) and the base plate (3) relating to the reduced set of data; • determine kinetic friction properties of the at least one joint exhibiting static friction and the elastic properties of the at least one axis exhibiting elasticity based on the reduced set of data, the relative poses and forces / torques between the top plate (2) and the base plate (3), the plurality of different poses of the end flange, and at least one model of the industrial robot (100), • update one or more of the at least one model of the industrial robot (100) with the determined kinetic friction properties and the elastic properties, wherein the updated one or more of the at least one model provides the elastic properties of the industrial robot (100) along with related dynamics that form a context for using the parameters for improved control of the industrial robot (100).
20. A computer program comprising instructions to cause the system (200) of claim 19 to execute the steps of the method according to any one of claims 2 to 18.
21. A computer-readable medium having stored thereon the computer program of claim 20.