Method and system for determining elastic properties of industrial robot

By using a flexible clamping device to sense the friction and elasticity characteristics of the joints and links of industrial robots, the problem of non-rigid joint calibration in existing technologies has been solved, achieving higher precision posture calibration and control, and is applicable to various robot arms.

CN121335781APending Publication Date: 2026-01-13COGNIBOTICS

Patent Information

Application Number
CN202480040361.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-22
Filing Date
2024-06-19
Publication Date
2026-01-13

AI Technical Summary

Technical Problem

Existing technologies struggle to accurately calibrate the non-rigid joints and links of industrial robots, leading to end effector positional deviations that affect accuracy. Furthermore, existing solutions are either costly or impractical.

Method used

A flexible clamping device is used to clamp the end flange of an industrial robot and connect it to the environment to form a closed elastic kinematic chain. Force sensors and position sensing mechanisms are used to sense the friction and elastic characteristics of joints and links, and the robot model is updated to improve control.

Benefits of technology

It achieves more precise robot posture calibration, reduces end effector deviation, improves accuracy and control precision, is applicable to a wide range of robot arms, and reduces costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121335781A_ABST
    Figure CN121335781A_ABST
Patent Text Reader

Abstract

A method and system (200) for determining an elastic characteristic of an industrial robot (100) including a plurality of interconnecting shafts including at least one shaft exhibiting elasticity and at least one joint exhibiting static friction. The method comprises: (S12) clamping an end flange (16) of the industrial robot (100) to the flexible clamping device (1); (S15) determining and loading a program into a robot controller of the industrial robot (100), the program defining a clamping deflection motion that produces deflection of one or more links of the industrial robot (100) based on a force interaction between the robot (100) and the flexible clamping device (1); (S16) controlling the industrial robot (100) to perform a clamping deflection motion while sensing a quantity of the industrial robot (100) and a quantity of the flexible clamping device (1); (S17) determining a reduced data set of the sensing measurements of the industrial robot (100) and the flexible clamping device (1) by excluding data of the sensing measurements that may comprise the influence of static friction; (S18) determining the relative attitude and force / torque between the top plate (2) and the base plate (3) of the flexible clamping device (1); and (S19) determining kinetic friction characteristics of the at least one joint exhibiting static friction and elastic characteristics of the at least one shaft exhibiting elasticity, and (S21) updating one or more of the at least one model of the industrial robot (100) with the determined kinetic friction characteristics and elastic characteristics, wherein the updated one or more in the at least one model provides elastic characteristics of the industrial robot (100) and related dynamics forming a scenario for using the parameters to improve control of the industrial robot (100).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of industrial robot technology. Specifically, this disclosure relates to a system including a flexible clamping device for determining the elastic properties of an industrial robot having joints exhibiting frictional effects. This disclosure also relates to a method for determining the elastic properties of an industrial robot having joints exhibiting frictional effects. background

[0002] For automated tasks performed in typical robotic applications, such as industrial robots in manufacturing, end effectors need to move to different postures according to programmed instructions via a controller. End effectors are typically, and hereinafter, referred to as tools. Posture includes position and orientation. The desired or programmed tool posture, as well as the actual physical posture, can be in free space or in contact with a workpiece; the latter means that precision is still required despite the presence of interaction forces. Programmed postures can be defined as being achieved independently or as part of a path; the latter also implies the need for precision in controlled motion between postures.

[0003] According to existing tool calibration procedures, tool posture is associated with the posture of the robot's last link in a well-defined manner. Therefore, for simplicity, the following is limited to the tool-changing flange used to attach the tool to the robot's end-arm flange, or equivalently, to the tool-changing flange used by the tool changer to allow programmed tool changes, in both cases, which is referred to below as robot posture.

[0004] Robot posture is mechanically achieved through a set of interconnected joints and links that form a manipulator, typically arranged in an arm-like manner, where each joint moves an attached link (which terminates at the next joint), and so on. Mechanical joint movement usually involves joint drives powered by joint motors, which are controlled by a controller that can in turn control more than one manipulator, as is the case with a dual-arm robot.

[0005] From a control system perspective, robot posture can be either an actual controlled posture based on measured motor angles, or a posture that represents a transformed servo control setpoint. In both cases, the posture deviates from the actual (and often unknown) physical posture, for reasons explained in this document. Servo control, its trajectory generation, coordinate transformations based on the kinematic model, and the interpretation of user commands / instructions are generally not reprogrammable by the system user and are therefore referred to as the system-level manipulator controller. This contrasts with the user-level control system, where user programs and manual commands that affect motion (and related calculations) are input and executed. The robot posture expected / programmed by the user is represented by the so-called target posture in the robot program. Equivalently, manual commands and remote control of the robot are merely means to provide this target posture to the robot system.

[0006] To allow robot programmers (or programming software) to specify motion along straight lines (and other geometries in the robot's workspace), to achieve correct path following between poses along the path, to realize computed (e.g., programmed poses obtained from CAD data), and to facilitate pose updates during workpiece repositioning, a controller contains a kinematic model of the robot. The kinematic model includes parameters of the manipulator's joints and links and their geometric relationships. In most controllers, the kinematic model is a simple model based on the assumption that the joints and links are ideally rigid and have known dimensions for this type of manipulator. It is highly desirable that the resulting physical robot pose corresponds well to the programmed robot pose within specific tolerances depending on the application.

[0007] When high precision is required, this correspondence becomes problematic for today's industrial robots, leading to variations in individual robot performance. Considering the actual geometry of each robot, kinematic parameters are determined and updated using what's known as kinematic calibration. Therefore, robots from major industrial brands offer an absolute precision option, hereinafter referred to as AbsAcc, which implements kinematic calibration by using defined parameters within the control of that type of robot. Due to its complexity, actual calibration is primarily performed by the robot manufacturer, typically before robot delivery.

[0008] Because the manipulator is not perfectly rigid as typically assumed in kinematics, deviations due to mass and process forces will occur, leading to deviations in the end effector position. Managing these deviations through user-programmed adjustments (so-called trimming, which is manual adjustment of the programmed posture) limits the reusability of robot tasks and increases the cost of robot programming and debugging.

[0009] For typical industrial manipulators, such as those with payloads between 3 and 300 kg, the end effector accuracy obtained using AbsAcc ranges from one-third to several millimeters. While the accuracy of a calibrated medium-sized manipulator can be 0.5 mm instead of the 2-3 mm of an uncalibrated one, there remains a significant demand for more precise robots in many applications, such as plasma welding, laser cutting, and precision assembly. In these applications, reducing the inaccuracy to one-fifth would be highly beneficial. For a typical high-end medium-sized robot, this translates to an accuracy of 0.1 mm.

[0010] Given that robot repeatability is typically far below 0.1 mm, sometimes even as low as 0.01 mm, and that repeatability is the theoretical and practical limit of accuracy, the aforementioned improvement of reducing inaccuracy to one-fifth is possible. Therefore, the remaining error needs to be addressed to obtain the smallest possible deviation from the programmed pose. However, this was initially achievable only through expensive and complex solutions that were less suitable, such as: Feedback from external sensor systems (such as laser trackers) means compensating for any existing sources of error, but this is costly and has limited bandwidth.

[0011] - More precise mechanical devices, which are expensive and / or have limited performance due to increased weight.

[0012] - Arm-side sensing of joint angles and / or torque is expensive and cannot be added as an option when needed, and does not manage deviations due to link bending.

[0013] Due to the aforementioned problems, none of these alternatives have gained wider industrial acceptance.

[0014] To account for the effects of non-rigid joints and links, AbsAcc systems typically include models of joint compliance that take into account gravity. Some advanced systems also include link compliance models, which are represented by joint compliance orthogonal to the direction of motion. This is useful for considering the lack of stiffness in the bearings and bearing housings at the link ends. Despite controller compensation based on these models and parameters, biases still exist due to the following limitations: 1. Assuming that the stiffness is linear, while most transmission devices exhibit nonlinear characteristics, the nonlinear effects are averaged (not explicitly considered), making it difficult for linear models to explain the deviations.

[0015] 2. After using existing calibration methods, the stiffness is fixed. That is, the stiffness is not calibrated for each actuator (for different temperatures, wear, etc.) because there has been a lack of industrially applicable solutions for determining such parameters.

[0016] 3. These models are not general enough to fully explain the deviations caused by link compliance, which is the effect of mass distributed as an elastic body within the link shape. Typically, these elastic link deviations are 5 DOF (degrees of freedom) per link, except for one joint degree of freedom.

[0017] 4. Existing AbsAcc industrial products are developed to provide accuracy for free-space motion with known payloads, and therefore do not rely on feedback from online / internal motor signals. Unknown payloads and process forces are ignored.

[0018] A novel method for overcoming these limitations is disclosed in WO2017167687A2, which is based on the determination of link stiffness according to WO2015030650A2. These disclosures, in turn, are based on the determination of friction, backlash, and nonlinear stiffness according to WO2014065744A1. For example, the friction-sensing motion described in WO2017167687A2 utilizes friction parameters identified during free-space motion, and also utilizes friction parameters obtained by means of clamping motion according to WO2014065744A1, thereby separating the friction before and after the nonlinear stiffness of the articulated transmission for complete accuracy in general. Since the identification of geometric parameters typically involves motion over a sufficiently large portion of the workspace, and Coulomb friction is known—that is, Coulomb friction is fully developed with known parameters—the calibration of geometric (commonly referred to as kinematic) parameters can be considered a solved problem. However, this assumes that the link deviation can be calculated using the determined link stiffness parameters, up to 5 DOF, for each link as described above according to WO2015030650A2. These cited disclosures further describe the basic principles of calibration and the prior art, including the relevant disclosures. See, in particular, the description and citations in WO2017167687A2.

[0019] Beyond these publicly known principles, industrial use cases have spurred further development. While WO2015030650A2 covers the determination of stiffness parameters and the relevant elastic effects on the end effector's attitude, it assumes that elasticity allows for some movement of both the motor and the joint, making it possible to subtract the effects of known Coulomb friction from the controlled torque to obtain the physical torque acting on the elastic component. As mentioned above, it is assumed that non-geometric nonlinear effects, such as friction and backlash, are determined for articulated actuators according to WO2014065744A1. However, for manipulators exhibiting certain combinations of friction and backlash within the articulated actuators of a complete robotic arm, the assumption that the fixed / clamping points in the robot's workspace are perfectly rigid or have known compliance poses practical problems for some robotic arms, such as when the wrist actuator contains several stages of gears and shafts, with friction between the gears and shafts and relative to the housing / arm via the bearings involved, and the lubricant seals increasing the friction. A related problem with rigid clamping is that fully developed Coulomb friction cannot be obtained when the elastic effect in the non-actuated direction is too small. A typical and well-established example is the orthogonal stiffness of the first joint of a standard articulated industrial robot arm.

[0020] In general, there is a need for a more refined solution that is easy to use in industrial practice and applicable to a wider range of robotic arms, including commonly used slender robotic bases and advanced wrist drive designs. Overview

[0021] As described in the "Physical Examples" section of WO2017167687A2, recalibrating motor offset after repair is an important use case. However, experience shows that re-docking to a (rigid) clamping point is difficult, especially for larger industrial robots, because the docking motion requires alignment with the docking device, and sufficiently precise alignment is too difficult to perform. This applies to both manually controlled motion and automated / programmed motion, the latter often being impossible until recalibration is achieved. Since any sensor-guided motion is also infeasible for robots with unknown joint offsets, the ideal solution would be a mechanically adapted docking point that allows for a fairly compliant docking.

[0022] Another practical problem encountered when using the innovations referenced above is the actual accuracy of the applied torque, as all methods heavily rely on the fact that the applied motor torque is known. Typically, industrial robot arms are driven by torque-controlled motors, where torque control is based on the control of the current in the motor phases. This current control includes feedback from measured phase currents, effectively eliminating the effect of motor temperature on the actuation torque. However, some dependence on the (less clear) motor temperature still exists, and current sensing has also experienced issues that do not conform to high torque specifications. Another issue is the mismatch between the torque constants (in Newton-meters per command unit) implemented by the servo driver and the constants used in the control software. These constants should be identical within a range of about a percentage, but an error of approximately 5% has emerged, significantly impacting the calibration of elastic parameters in the presence of friction, but not additionally affecting the basic feedback control or the robot arm.

[0023] Besides the known friction and stiffness of all axes of a robot, another example requiring precise torque constants is generating time-torque optimized trajectories for resonant arms. That is, calculating the minimum time trajectory for all joints such that, given the finite torque of the motors, the movement is as fast as possible while simultaneously minimizing deviations from the programmed path. This trajectory needs to be endowed with frequency components that do not excite resonance in the robot, thus requiring knowledge of those resonant frequencies. Frequency analysis and modal analysis are well-known techniques for determining the resonant frequencies of elastic systems, typically based on linear models of elasticity. For nonlinear systems, such as robot arms with nonlinear joint stiffness, trajectory filtering needs to be further refined because the effective resonant frequencies depend on the loads on the joint actuators, as is known in so-called model-based control. The use of dynamic models in control systems then depends on accurate estimates of the physical torques around the elastic elements of the actuators, meaning both the torque constants and friction models / parameters need to be known to be used with the stiffness parameters of all involved machine components. Therefore, it is essential to be able to identify those parameters for each robot type or individual robot. Therefore, extended calibration is needed to handle scaling errors in actuation torque in a friction-sensing manner. This means additional force / torque sensing devices are required at the motor or at one end of the robot arm or the other. The most practical location for this sensing is on the tool flange. This is the only alternative if internal modifications to the robot system are not permitted, and this is typically the case where a third party should provide calibration and compensation as an add-on component.

[0024] Therefore, some key requirements can be defined for the equipment used to improve the system: 1. The device including force / torque sensing should be suitable for mounting between the tool flange of the robot and the mating point for clamping.

[0025] 2. The device should allow some compliance to allow motion so that the frictional effect is well defined, such as friction-sensing motion in WO2017167687A2.

[0026] 3. The equipment itself should not make calibration more difficult or sensitive. For example, a standard force / torque sensor (used in Item 1) adds undesirable compliance.

[0027] 4. The equipment should support the above-mentioned compliant docking, which means that the rigidity of the equipment should be configurable, and thus also controllable by the robot.

[0028] These requirements are contradictory in several respects. For example, for any existing device, supporting friction-sensing motion and configurable stiffness does not meet the force sensing requirements and desired stiffness of any force sensor (Project 3).

[0029] Therefore, in order to reduce deviations through compensation based on a calibration model that includes friction, the limitations of the prior art mean that a new type of equipment and a more accurate and complete method are needed to determine the nonlinear dynamic characteristics of the actuator transmission.

[0030] While the aforementioned disclosures provide industrially applicable and accurate calibration methods using existing internal sensors, several practical aspects limit their general applicability, as expressed by the four main requirements listed above. There is a strong desire for a device capable of practically using calibration techniques, supported by algorithms and control actions tailored for such a device. Geometric and non-geometric characteristics can then be identified with perfect accuracy.

[0031] For the goal of near-repeatable absolute accuracy, the basic approach of the cited disclosed invention is to explicitly determine the disturbance characteristics involved in the joints and links, then illustrate these characteristics through model-based calculations, and reduce residuals through active control of motor torque. To express the effects of the additional models on the kinematics, more degrees of freedom than are currently used in practice are required.

[0032] The number of independent parameters that determine the positional state of a rigid body (e.g., a rigid link) or mechanism is called the degrees of freedom (DOF, also used in complex form). A free rigid body in three-dimensional (Euclidean) space has six degrees of freedom: three translational and three rotational. Rigid or rigid links are such rigid bodies. Each pair of kinematic links is connected via a joint, which is typically sliding (this joint can then also be called a prismatic, linear, or translational joint) or engaging (this joint can then also be called a rotational or revolute joint). One such joint constrains five of the six possible DOFs of one link in a pair of links relative to the other link, which adds one DOF to the final link of the manipulator (ending at the tool-mounted end flange) in a non-singular configuration of the manipulator. Through the kinematic structure of its links and joints, the manipulator's degrees of freedom (DOF) can be considered as the minimum number of coordinates required to specify a kinematic configuration.

[0033] Because the tool, referred to as the end effector of a robot, or equivalently, a tool changer that allows the end effector to be changed without human assistance, is another physical entity that moves in Euclidean space. Six-DOF manipulators are the most common because they encompass the minimum required for full mobility of the end effector, whereas a normal, non-singular configuration requires six of the aforementioned joints. Other types of joints also exist, such as ball joints and cylindrical joints, but these can be considered as combinations of the simpler joints described above and are referred to as joints below. This corresponds to the established concept of generalized joint coordinates in robotics literature.

[0034] Elastic and nonlinear effects limit the accuracy of kinematic calibration because these effects are not explicitly managed, which in turn requires knowledge of the model and relevant parameters. Here, it is assumed that kinematics handles elastic effects (as opposed to current practice of controllers that only handle rigid body kinematics). The concept of geometric properties refers to the corresponding rigid body properties, which can be viewed as characteristics describing an unloaded elastic manipulator. The method then utilizes two complementary approaches to determine non-geometric properties: 1. Due to the nature of articulated actuators, deviations around the manipulator joints have long been well-known. As described in WO2014065744, these characteristics can be obtained without the use of external sensors, or even automatically by the robot itself by clamping the end effector into the environment.

[0035] 2. Other deviations caused by link compliance or nonlinear effects (such as backlash in bearings) (also orthogonal to each corresponding joint motion) have been modeled, making force interaction-based calibration possible. Furthermore, see WO2015030650, the parameters of these models can also be determined using the clamping techniques mentioned in Item 1.

[0036] Part of the approach here combines these two methods and their underlying theories, but several obstacles remain: - Although Project 1 above can calculate joint angles in most cases, backlash occurs when the method cannot achieve sufficient accuracy of the posture required in sports school calibration.

[0037] - The kinematics school treats the geometry of rigid bodies, but Project 2 is suitable for more realistic non-rigid models. Existing methods address some of these effects, but only utilize simplified elastic elements identified by external measurement systems, as well as gravitational effects from mechanically opened kinematic chains and / or forces from external actuation, while neglecting motor torque.

[0038] According to Projects 1 and 2, clamping typically restricts all degrees of freedom of the end effector, making the clamping configuration unsuitable for kinematics, since in practice, at least some kinematic parameters require some (at least partially) free motion to be detectable. On the other hand, for free-space motion, there are limited means to place the manipulator under favorable load conditions.

[0039] WO2017167687A2 proposes an intermediate alternative for ball-and-stick devices, where motion is mechanically constrained in one direction (i.e., the direction of the stick) while free-space motion is possible in other directions (the tool's center point rests on the ball). With sufficiently rigid ball-and-stick joints and sufficiently rigid sticks, properly programmed motion could potentially handle the joint and link effects according to items 1 and 2 above. However, this is not the case. One reason is the high cost of device stiffness in terms of weight, meaning transportation is impractical and too many types of small robots cannot be calibrated. Another reason is that radial (along the stick) constraints on motion do not work in enough directions / dimensions. In fact, all six end effector dimensions should be constrained to allow for fully programmable control over load conditions.

[0040] The accompanying drawings in WO2014065744A1 and WO2015030650A2 illustrate a so-called hexapod (a support with six legs), which, as described in those disclosures, provides a fixed, rigid clamping point by locking the telescopic legs in certain positions. With the legs unlocked, the clamping posture can be changed, but it is assumed that the hexapod is locked and freely floating under gravity (via the central seventh leg), or freely floating while maintaining its weight, in the case of robot or operator positioning equipment. Here, the hexapod may be an inspiration, but this type of device does not provide a basis for meeting the main requirements listed above. Specifically, referring to the corresponding items in that list, force sensing is not included, compliance with friction-sensing motion is not provided, the addition of a standard force sensor would introduce sensitivity to the stiffness model of that sensor, and compliance docking is beyond the scope of this hexapod device.

[0041] An alternative would be a hexapod with servo control (or some other suitable type of servo-controlled manipulator), but this would be too expensive (including force and impedance control to provide elastic constraints) and too heavy (for robot service purposes, including the controller).

[0042] The required equipment is capable of determining the nonlinear dynamic characteristics of the manipulator's transmission in a more accurate and complete manner. The nonlinear characteristics of interest are essentially hysteresis, which complicates the optimization problems involved in model parameter identification. This means that the nonlinear multibody equations describing the robot arm and normal nonlinear stiffness are not problematic. Instead, what needs to be avoided are hysteresis-type nonlinear behaviors, namely backlash and friction in the robot joints. Backlash (pure clearance in the joint transmission) is a more manageable effect because it does not compromise the force balance that forms the basis of the calibration technique. Therefore, the following discussion focuses on frictional effects and how to support friction-sensing motion to better determine the parameters of the elastic dynamics model of the industrial manipulator.

[0043] As described, any device with a closed mechanical kinematic chain, and designed such that the torque of each joint can be influenced for calibration purposes, requires some typically simple, low-precision actuation to operate each joint within the desired torque range. Within this range, the robot's servo control can apply more precise torque in the low- or high-frequency range by means of a controller combined with some control devices, depending on the algorithm used to determine certain parameters.

[0044] In view of the above, the purpose of this disclosure is to address at least some of the shortcomings of the prior art. Another object of this disclosure is to provide a technique capable of determining the elastic and nonlinear characteristics of manipulator dynamics in a more accurate and complete manner.

[0045] These and other objectives are achieved, at least in part, by means of the apparatus, system, and method as described in the independent claims and the embodiments as described in the dependent claims.

[0046] According to a first aspect, this disclosure relates to a method for determining the elastic characteristics of an industrial robot. The robot includes a plurality of interconnected axes, each of which includes: a linkage comprising one or more links, a joint defining possible movement of the axis, and a motor driving the linkage via the joint. The plurality of interconnected axes includes at least one axis exhibiting elasticity and at least one joint exhibiting static friction. The method includes clamping an end flange of the industrial robot to a flexible clamping device attached to an environment, with a base link of the robot also mounted to the environment; thereby forming a closed elastic kinematic chain including the industrial robot and the flexible clamping device. The flexible clamping device includes a force-transmitting linkage comprising a top plate, a base plate, and at least one link connecting the top plate and the base plate. Each link is configured to compliantly constrain relative movement between the top plate and the base plate in at least one direction of the link, and each link includes a force sensor arranged to sense an amount of force / torque representing the force transmitted in the at least one direction of the link. The flexible clamping device further includes a position sensing mechanism arranged parallel to the force transmission linkage, such that the force transmission linkage and the position sensing mechanism are kinematically decoupled. The position sensing mechanism is configured to sense a positional quantity representing a relative movement of compliant constraint between the top plate and the base plate. The flexible clamping device is also configured to simultaneously sense the force / torque quantity and the positional quantity, and determine the relative force / torque and relative orientation between the top plate and the base plate based on the simultaneously sensed quantities. The method further includes determining a program and loading the program into a robot controller of the industrial robot, the program defining clamped deflective motions that generate deflections of one or more links of the industrial robot based on force interactions between the robot and the flexible clamping device. The clamped deflective motions include multiple different orientations of the end flanges and are performed within the operating limits of the force sensor and the position sensing mechanism using a selected configuration of the force transmission linkage. The method also includes controlling the industrial robot to perform the clamping deflection motion while sensing quantities related to motor torque and motor angles of multiple axes of the industrial robot, and sensing quantities including force / torque quantities representing forces transmitted in at least one direction of the linkage and position quantities representing relative movement of the compliant constraint between the top plate and the base plate of the flexible clamping device. The method further includes determining a reduced dataset of sensor measurements for the industrial robot and the flexible clamping device by excluding sensor measurements that may include the effects of static friction, wherein the exclusion is based on the sensor measurements of the industrial robot.The method further includes determining the relative attitude and force / torque between the top plate and the base plate, related to the reduced dataset, based on force / torque and sensed position quantities simultaneously sensed by the force sensor and position sensing mechanism of the flexible clamping device. The method also includes determining the dynamic friction characteristics of at least one joint exhibiting static friction and the elastic characteristics of at least one shaft exhibiting elasticity, based on the reduced dataset, the relative attitude and force / torque between the top plate and the base plate, the plurality of different attitudes of the end flange, and at least one model of the industrial robot. The method further includes updating one or more of the at least one models of the industrial robot using the determined dynamic friction and elastic characteristics, wherein the updated one or more of the at least one models provide the elastic characteristics of the industrial robot and the associated dynamics forming a context for improving control of the industrial robot using parameters.

[0047] Flexible clamping devices provide both precise attitude sensing and precise force / torque sensing. This data can be used to verify or calibrate the robot's own specified force / torque and attitude. The sensed data does not rely on the robot's internal sensors, which may be inaccurate. The sensed data can be used to calibrate the robot. Simultaneous sensing of force / torque and attitude means that the obtained real-time values ​​can be timestamped with known moments of sampling that occur physically at the same time, for example, in a specific millisecond. For calibration purposes, all sensor values ​​can be timestamped and then synchronized by an algorithm. Even a global timescale or a precisely synchronized real-time clock is not required, as clock drift will be minimal and the signal will be rich in information about motion. For example, since motion is generated to support the principle of friction sensing (only brief transients with unknown motor friction torque), additional transient motion can be generated at a later stage (e.g., when determining the robot's characteristics) for clock synchronization purposes. This modularity makes the device and method suitable for industrial practice and can be extended to multiple different attitudes, enabling the acquisition of parameters for improved control of virtually any robotic system.

[0048] According to some embodiments, the method includes verifying the elastic properties determined by the robot based on at least one model of the robot with respect to the force balance equations representing the quasi-static load conditions of the industrial robot, including evaluating the residuals of the force balance equations when solved using the reduced dataset, and returning to the step of determining and loading the robot controller of the industrial robot when missing or inappropriate load conditions cause the residuals to be greater than one or more thresholds.

[0049] According to some embodiments, the method includes the flexible clamping device having almost zero friction during the control period.

[0050] According to some embodiments, the frictional and / or elastic properties are at least one of the following: link elastic properties, joint transmission frictional properties, or joint orthogonal stiffness.

[0051] According to some embodiments, the method includes, prior to the clamping step, controlling the flexible clamping device to reach a predetermined position within the workspace of the industrial robot.

[0052] According to some embodiments, the flexible clamping device is configured to be in multiple states, including a lenient state where the flexible clamping device is loose under external force and a firm state where the flexible clamping device is firm under external force, wherein the method after the clamping step includes: configuring the state of the flexible clamping device to one of the lenient state and the firm state based on the calibration state of the industrial robot, and using the state during the control step.

[0053] According to some embodiments, the configuration includes configuring the state of the flexible clamping device to the loose state, and using the loose state to perform the clamping deflection motion during the control of the industrial robot.

[0054] According to some embodiments, the flexible clamping device in the loose state acts as an elastic element within the closed kinematic chain.

[0055] According to some embodiments, the flexible clamping device in the loose state allows the industrial robot to move such that the effect of static friction in the plurality of axes becomes negligible after data reduction.

[0056] According to some embodiments, the flexible clamping device in the loose state allows for loose resistance in all Cartesian directions in which the robot can move.

[0057] According to some embodiments, the method includes controlling the industrial robot to perform a clamping deflection motion such that the plurality of axes of the industrial robot move simultaneously for at least the majority of the clamping deflection motion, and any pauses of the plurality of axes are temporary.

[0058] According to some embodiments, the method includes controlling the industrial robot to perform a clamping deflection motion that simultaneously deflects all the elastic links of the industrial robot.

[0059] According to some embodiments, the control includes a clamping deflection motion, which includes a series of different motor torques on a single axis of the plurality of axes resulting in a corresponding series of different tensions.

[0060] According to some embodiments, the control includes a clamping deflection motion, which includes motor torque in the low-frequency range.

[0061] According to some embodiments, the determination includes determining the sign of the product of motor torque and motor angle, and determining friction based on the sign of the product.

[0062] According to some embodiments, excluding the sensing measurements that may include the effects of static friction, as well as the data on the relative attitude and force / torque between the top plate and the base plate, includes excluding data from joints of the plurality of axes, wherein the speed of the joint is below a predetermined threshold.

[0063] According to some embodiments, one or more of the at least one models of the robot include differential algebraic equations describing the elastic dynamics of the industrial robot.

[0064] According to some embodiments, the clamping end flange includes the use of one or more clamping blocks between the end flange and the flexible clamping device.

[0065] According to a second aspect, this disclosure relates to a system for determining the elastic characteristics of an industrial robot. The system includes an industrial robot comprising a plurality of interconnected axes. Each of the plurality of interconnected axes includes: a linkage comprising one or more links, a joint defining possible movement of the axis, and a motor driving the linkage via the joint. The plurality of interconnected axes includes at least one axis exhibiting elasticity and at least one joint exhibiting static friction. The system also includes a flexible clamping device comprising a force transmission linkage including a top plate, a base plate, and at least one link connecting the top plate and the base plate. Each link is configured to compliantly constrain relative movement between the top plate and the base plate in at least one direction of the link, and wherein each link includes a force sensor arranged to sense a force / torque amount representing a force transmitted in the at least one direction of the link. The flexible clamping device also includes a position sensing mechanism arranged parallel to the force transmission linkage, such that the force transmission linkage and the position sensing mechanism are kinematically decoupled. The position sensing mechanism is configured to sense a positional quantity representing the relative movement of the compliant constraint between the top plate and the base plate. The flexible clamping device is also configured to simultaneously sense the force / torque quantity and the positional quantity, and to determine the relative force / torque and relative attitude between the top plate and the base plate based on the simultaneously sensed quantities. The system also includes a control device configured to: The end flange of the industrial robot is clamped to a flexible clamping device, which is attached to an environment where a base link of the robot is also mounted; thereby forming a closed elastic kinematic chain including the industrial robot and the flexible clamping device. The control device is also configured to determine a program and load the program into the robot controller of the industrial robot, the program defining a clamping deflection movement that generates deflection of one or more links of the industrial robot based on force interactions between the robot and the flexible clamping device. The clamping deflection movement includes multiple different postures of the end flange and is executed within the operating limits of the force sensor and the position sensing mechanism using a selected configuration of the force transmission linkage. The control device is also configured to control the industrial robot to perform the clamping deflection movement while sensing quantities related to motor torque and motor angle of multiple axes of the industrial robot, and quantities including force / torque quantities representing forces transmitted in at least one direction of the links and position quantities representing relative movement of the compliant constraint between the top plate and the base plate of the flexible clamping device. The control device is further configured to determine a reduced dataset of sensor measurements for the industrial robot and the flexible clamping device by excluding sensor measurements that may include the effects of static friction, wherein the exclusion is based on the sensor measurements of the industrial robot. The control device is also configured to determine the relative attitude and force / torque between the top plate and the base plate, related to the reduced dataset, based on force / torque and sensed position quantities simultaneously sensed by the force sensor and position sensing mechanism of the flexible clamping device. The control device is further configured to determine the dynamic friction characteristics of the at least one joint exhibiting static friction and the elastic characteristics of the at least one shaft exhibiting elasticity, based on the reduced dataset, the relative attitude and force / torque between the top plate and the base plate, the plurality of different attitudes of the end flange, and at least one model of the industrial robot. The control device is further configured to update one or more of the at least one models of the industrial robot using the determined dynamic friction and elastic characteristics, wherein the updated one or more of the at least one models provide the elastic characteristics of the industrial robot and the relevant dynamics forming a scenario for improving the control of the industrial robot using parameters. The same effect can be achieved using this system as using this method.

[0066] According to a third aspect, this disclosure relates to a computer program comprising instructions that cause a system of the second aspect to perform steps of the method according to the first aspect and any embodiment thereof.

[0067] According to the fourth aspect, this disclosure relates to a computer-readable medium having a computer program of the third aspect stored thereon.

[0068] According to some embodiments, the force transmission linkage and the position sensing mechanism are kinematically decoupled, such that the force / torque quantities and / or position quantities are independent of the nonlinear elastic and frictional effects within the flexible clamping device. This allows for more precise quantities, enabling more accurate calibration and / or machining, since the accuracy of each quantity does not depend on the accuracy of other sensors. Physical parameters are also independent, as the stiffness of the force sensing does not physically affect position accuracy. Alternatively, one could allow for a known and compensated physical dependence of the force sensing stiffness, but such knowledge of the parameters is always approximate. In contrast, the kinematic decoupling described in this disclosure is physical in nature, meaning that the aforementioned approximate inaccuracies do not affect the accuracy of the attitude or force / torque estimation, and thus the stiffness of the flexible clamping device is also accurately known.

[0069] According to some embodiments, the position sensing mechanism is arranged so that it does not transmit force / torque between the top plate and the base plate. Therefore, position sensing does not affect the force / torque sensing of the transmission linkage device.

[0070] According to some embodiments, the force transmission linkage is configured to have controllable mechanical stiffness. Specifically, each of at least one link includes an actuator; more specifically, each of at least one link includes a hydraulic circuit or a pneumatic circuit. Therefore, the device can vary its stiffness to suit different usage conditions.

[0071] According to some embodiments, one of the top plate and the base plate is configured to connect to the docking point, and the other of the top plate and the base plate is configured to connect to the robot. Thus, the device can be positioned between the robot and the docking point.

[0072] According to some embodiments, the force transmission linkage device is a parallel kinematic mechanism (PKM). Thus, the load and motion are distributed across multiple links, thereby increasing stability.

[0073] According to some embodiments, the position sensing mechanism is configured to sense position in six degrees of freedom (DOF). This allows for accurate description of the device's position and orientation in three-dimensional space.

[0074] According to some embodiments, at least one link of the force transmission linkage is connected to the substrate radially outside the position sensing mechanism. This establishes a distance between the force transmission linkage and the position sensing mechanism, preventing them from colliding with each other.

[0075] According to some embodiments, the device includes a tool changer part rigidly attached to the outer top side of the top plate, wherein the tool changer part is configured to be releasably connected to the robot, particularly to the end flange of the robot, and / or to the docking point. Therefore, the device can be easily connected to and disconnected from the robot and the docking point.

[0076] According to some embodiments, the device includes a tool changing component rigidly attached to the outer base side of a substrate, wherein the tool changing component is configured to be releasably connected to a docking point and / or a robot, particularly to an end flange of the robot. Therefore, the device can be easily connected to and disconnected from the robot and the docking point.

[0077] According to some embodiments, the force transmission linkage includes at least six links. Therefore, force / torque can be sensed in six DOFs.

[0078] According to some embodiments, the position sensing mechanism is a parallel kinematic mechanism (PKM). This distributes the load and motion across multiple links, thereby increasing stability.

[0079] In some embodiments, each link of the force transmission linkage includes a spring. Therefore, the device becomes resilient and can move slightly when exposed to external forces. This makes it possible to detect frictional effects.

[0080] According to some embodiments, the position sensing mechanism includes position sensors, and a first end of each position sensor of the position sensing mechanism is connected to a top plate via a second top joint. Specifically, the second top joint is a ball joint, and more particularly, a magnetic ball-and-socket joint. Therefore, the device can move freely within a large workspace of the device. The magnetic joint also ensures that if exposed to excessive force, the position sensing mechanism will detach from the device without damaging the device.

[0081] According to some embodiments, the position sensing mechanism includes position sensors, and wherein a second end of each position sensor of the position sensing mechanism is connected to a substrate via a second base joint. Specifically, the second base joint is a ball joint, and more particularly, a magnetic ball-and-socket joint. This allows the device to move freely within a large workspace. The magnetic joint also ensures that if exposed to excessive force, the position sensing mechanism will detach from the device without damaging it.

[0082] In some embodiments, the top plate and the base plate have different dimensions. This makes the device more stable. The plates can then be made thinner, thereby reducing cost and weight.

[0083] According to some embodiments, the control device is configured to change the relative attitude between the top plate and the base plate by controlling the actuator of at least one link of the force transmission linkage, and optionally provides feedback on the relative attitude between the top plate and the base plate based on a position quantity sensed by a position sensing mechanism. Thus, the device can move itself into an attitude beneficial to the robot. Brief description of the attached diagram

[0084] Figure 1 A system according to some embodiments of the present disclosure is shown.

[0085] Figures 2-3 Examples of flexible clamping devices according to some embodiments of the present disclosure are shown.

[0086] Figure 4 This invention illustrates a force-transmitting linkage device according to some embodiments of the present disclosure. Figure 3 Flexible clamping equipment.

[0087] Figure 5 The following are examples of embodiments of the present disclosure without a position sensing mechanism. Figure 3 Flexible clamping equipment.

[0088] Figure 6 Some embodiments according to this disclosure are shown. Figure 3 A top view of the flexible clamping device.

[0089] Figure 7 Some embodiments according to this disclosure are shown. Figure 3 A bottom view of the flexible clamping device.

[0090] Figure 8 The linkage of a force transmission linkage device according to some embodiments of this disclosure is shown in isolation.

[0091] Figure 9 A position sensor of a position sensing mechanism according to some embodiments of the present disclosure is shown in isolation.

[0092] Figures 10a-10c Alternate links for force transmission linkages according to some embodiments of this disclosure are shown in isolation.

[0093] Figures 11a-11c and Figure 12 Limiting mechanisms according to some embodiments of this disclosure are shown.

[0094] Figure 13 This is a flowchart of a method for determining one or more characteristics of an industrial robot according to some embodiments of the present disclosure.

[0095] Figure 14 yes Figure 13 The continuation of the flowchart. Detailed description

[0096] Robot calibration is based on closed kinematic chains and measures the joints and links included in these chains. The following discusses the practical significance of mechanical chains, in contrast to non-contact measurement systems including optical and other types. Existing technologies include those that work well under standard conditions. However, there are special cases where coupled transmissions and elastic effects are distributed unknownly along the manipulator portion, which, combined with segmented unknown frictional forces / torques (such as so-called Coulomb friction), lead to distorted calibration results. To overcome this problem, a novel combination of elastic clamping devices with built-in force and position measurements is proposed by allowing existing methods to be applied to well-defined frictional forces / torques. This device is configured to be positioned between the end flange of the manipulator and the environment. Thus, small programmed movements of the manipulator result in torques corresponding to those of existing methods. In one embodiment, the device includes two Stewart platforms that physically decouple the force and position measurements. In the resulting system, force is achieved through programmed displacements of force-sensing Stewart platforms, which can also be configurable, allowing the mechanical stiffness of the kinematic chain to be adjusted during operation, thereby forming a fully automated calibration system that adaptively handles frictional effects. Significant frictional effects that are known and correctly identified are modeled and incorporated into standard model-based control. Therefore, this disclosure also relates to the automatic identification of frictional parameters and accurate robot calibration despite friction.

[0097] A list of definitions is given below. Different embodiments of the device, systems including the device, and methods of using the device will then be described. Definitions (Terms mentioned using the first capital letter are defined below)

[0098] robot: A combination of a manipulator and a controller, wherein the controller is configured to control the movement of one or more axes of the manipulator.

[0099] manipulator A robotic arm, comprising one or more axes that form one or more motion chains.

[0100] Axis (complex: multiple axes) A robot comprises joints and linkages, including motors and any drivetrains for actuation. The motors may be servo motors, following setpoints from a controller. A robot includes multiple interconnected axes. The joints of an axis define its possible movements. The motors of the axes drive the linkages via the joints.

[0101] Linkage device A linkage is one or more links that are interconnected by joints. A linkage device includes one or more links.

[0102] stiffness : is the rigidity of an object; for an elastic object with one degree of freedom, it is defined as follows: ,in F It is the force applied to the object, δ is the displacement produced by the force along the same degree of freedom, or Define rotational stiffness, where M is the applied torque or moment, and θ is the rotational displacement produced by the applied torque, or Describe how torque causes translation, or Describe how force causes rotational displacement.

[0103] compliance The reciprocal of stiffness. For example, it could be the compliance of a link or joint.

[0104] Compliant Link : Non-rigid linkage. The mass distribution of a compliant linkage is between the two joints it connects, and therefore, due to the physical characteristics of the distributed mass, a compliant linkage formally possesses infinite degrees of freedom and an infinite series of resonance modes. For this disclosure, only the lowest resonant frequency is relevant (measured in free motion and used as a performance limit). Accordingly, for the purpose of positional accuracy, the inertia of the linkage itself can be approximated by the concentrated mass at the center of gravity. Furthermore, the elastodynamic model determined in the clamping configuration is a corresponding quasi-static model, which is sufficient to compensate for positional path deviations due to most process forces. Through this simplification, a compliant linkage is considered to have six additional DOFs, which specify the end of the linkage (the attitude of the next joint in the kinematic chain) relative to the starting point of the linkage (the attitude of the previous joint).

[0105] Elastic properties: Elastic properties are the stiffness properties of an elastic body, as opposed to a rigid body with infinite stiffness. This is well known in solid-state theory. For robotic arms and other mechanisms, the stiffness of each body (a body being part of the links of the arm) is limited between connection points, such as between joints at each end of a link. Some mechanisms may include multiple connection points to a single body.

[0106] Component stiffness matrix Stiffness matrix: A matrix used to simulate component deformation (e.g., link deformation due to joint forces and / or torques). The stiffness matrix is ​​typically used as a linear mapping, assuming link deflection is small compared to link size and motion. Nonlinear stiffness can be achieved through elements that vary with load. Link deformation can be defined in the link's local coordinate system and then transformed to the global coordinate system. If the link is elastic, the standard approach is to aggregate all stiffness components into a component stiffness matrix, typically denoted as K. For normal deformation during robot arm use, link elasticity is practically linear, so the elements of K are constants.

[0107] Manipulator stiffness matrixAlthough the component stiffness matrix can be constant, the stiffness of the manipulator varies with the configuration, which is defined by the joint coordinates (with manipulator DOF elements). Here, in practice, the difference between motor and link translation can be omitted because even large transmission effects have a relatively small impact on translation. That is, except for singular attitudes, the motor angles sufficiently give the joint angles. For each individual configuration, the link stiffness matrices can be grouped together to form a larger manipulator stiffness matrix (MSM). The MSM, also known as the global stiffness matrix, can potentially include one or more peripherals.

[0108] Orthogonal joint compliance The compliance of a link in any direction orthogonal to the motion is described by the joint free coordinates representing the joint motion. The linear part of the orthogonal joint compliance can be incorporated into the component stiffness matrix, while the nonlinear part, such as bearing backlash, is not present in a high-quality robotic arm (otherwise it could be handled separately) because preloaded bearings are used, however, at the cost of higher Coulomb friction.

[0109] Geometric properties The characteristics of the linkage shape under no-load conditions, and the relationship between their axes of motion as described by the joints, are all geometric characteristics. Furthermore, the ideal gear ratio between the motor and the linkage side of the joint is a geometric characteristic. The manipulator's geometry is the complete set of geometric characteristics of all its joints and linkages, including the manipulator's installation in the environment. These characteristics include linkage lengths, angles between rotation axes, gear ratios, and the return positions of the joints and motor.

[0110] Non-geometric properties Non-geometric properties reflect physical effects such as deformation caused by force, friction in joint transmissions, and idling caused by gearbox backlash or nonlinear compliance. While geometric properties (or more precisely, the state of a system or component exhibiting these properties, such as that represented by generalized coordinates of motion) remain constant under varying loads (forces and torques from motors, gravity, kinematics, and external so-called process forces), non-geometric properties define how the state of a system changes due to the forces acting upon it.

[0111] balanced A property of a moving system, often called statically determinate, means that regardless of non-geometric properties, when the system (such as a kinematic chain) is in static equilibrium, internal forces and reaction forces are uniquely defined.

[0112] Hyperstatic A characteristic of a motion system, often referred to as statically indeterminate, is that the system typically includes at least one mechanically closed kinematic chain, where the internal forces depend on non-geometric properties.

[0113] Elastic kinematicsAlthough kinematics is a description of motion without regard to mass and force, the kinematics used in robot controllers is limited to the motion of rigid bodies / links with joints, which is also dominant in the scientific community. That is, while some non-geometric properties can be used to adjust the programmed robot posture, only geometric properties are used when generating servo setpoints, such as to make the end effector move in a straight line. In the following sections, kinematics is actually extended to also handle compliant links by utilizing a subset of non-geometric parameters.

[0114] six-legged frame A hexapod is defined as a mechanical or robotic system with six legs. An example of a hexapod is the Stewart platform.

[0115] Stewart platform The Stewart platform is a six-degree-of-freedom mechanism. It was derived from Stewart's proposed aircraft simulator: "A Platform with Six Degrees of Freedom," *Proceedings of the IEEE*, Vol. 180, Part 1, No. 5, pp. 371-386, 1965-1966. Due to its form, it is often referred to as a parallel manipulator, where two plates are connected by six parallel legs. Because of the reciprocity of its structure with serial manipulators, the characteristics of the Stewart platform are also quite reciprocal with those of serial mechanisms used in robotics. It has a high load capacity because the payload is maintained in a distributed manner by its parallel linkages. Another characteristic is its high positional accuracy, due to the fact that joint errors are not cumulative as in serial manipulators. The additional advantage of its compact design with six degrees of freedom makes it suitable for force-torque sensor applications.

[0116] friction The concept of friction refers to the simplified cases used to control robotic arms, namely Coulomb friction and viscous friction.

[0117] Coulomb friction : Refers to the form of dry friction, which includes those used for zero velocity. Static friction and for joint movement Motorcycle wipe (That is, it has a non-zero velocity).

[0118] Viscous friction Lubricating friction related to joint speed.

[0119] Kinetic friction is load-dependent, and for normal loads, it can be assumed to be proportional to the load, as modeled in fundamental physics using the so-called coefficient of friction. Like many other types of transmissions, robot joints experience more or less constant kinetic friction. That is, while the kinetic friction within a joint transmission or gear mechanism is proportional to the transmitted torque due to the friction in the contact between gear components, proportional to the coefficient of friction, the friction from bearings and seals used for lubrication may be dominant for low joint torques, but for high-speed motion, this friction is practically independent of the applied torque. A comparison with automobiles clarifies this: when the engine is not transmitting torque, rolling friction on flat ground dominates (rolling friction is practically constant for mechanical transmissions with sealed, dustproof, lubricated bearings), but for high-speed travel with high acceleration, frictional losses within the transmission system will dominate because they are proportional to high transmitted torque. In model-based control, this dynamic effect needs to be modeled to determine optimal control.

[0120] Besides dynamic friction depending on motor / joint torque and viscous friction depending on motor / joint speed, for some types of gears, it may also depend on the product of these two quantities: power and energy flow per unit time. However, for the purposes of this disclosure, thermal effects and other power-related effects are ignored, and only the sign of power (the sign of the product) is considered. This sign indicates the load condition of the joint transmission depending on whether the motor drives the load (positive sign) or the load drives the motor (negative sign). For many types of joint transmissions, such as those with quasi-hypoid gears, the coefficient of friction of the dynamically load-related part of the joint friction depends on the sign of power, which needs to be considered in identification and model-based control methods.

[0121] system exist Figure 1 The figure illustrates a system 200 according to some embodiments, and will now be explained with reference to the figure. In one aspect, this disclosure relates to a system 200 for determining the elastic properties of an industrial robot 100. More specifically, the system 200 is configured to perform any steps of a method for determining the elastic properties of the industrial robot 100, as described below.

[0122] System 200 includes a manipulator 106, here represented by a robot 100 having six rotary joints and six movable links. An industrial robot can be defined herein as a robot comprising at least three axes and being programmable. The kinematic structure causes each joint (i.e., the axis of rotation) to be aligned with... Figure 1 orthogonal to the horizontal plane or Figure 1Rotates in the horizontal plane. This six-joint manipulator 106 is also referred to as a six-DOF manipulator, meaning that it can position an end effector attached to a tool mounting flange in a six-DOF configuration in a non-singular configuration (within its workspace), as required in most applications. Typically, and as assumed below, the manipulator 106 may include any number of joints, i.e., one or more joints, and any number of links connected in series or parallel to one or more joints, and these numbers are not important for carrying out the invention. Each joint is configured to be actuated directly or indirectly via a transmission (not shown) by an actuator such as a motor (not shown), such that the rotation of the motor is converted into low-speed motion. For simplicity, the actuator / motor and transmission as part of each axis are not shown.

[0123] Each link 1 to 6 of manipulator 106, numbered L11 to L16 respectively, connects a joint to the next joint in the kinematic chain formed by manipulator 106. A base link 101 preceding the first joint connects the first joint to the environment, such as a floor or ground. The kinematic chain of manipulator 106 arranged at certain joint angles may also be referred to as the kinematic configuration of manipulator 106. Each link or linkage, along with the joint connected thereto and the drivetrain including motors / actuators arranged to drive the joint, forms an axis. Thus, the first joint 71 and link L11 are part of the first axis 81, the second joint 72 and link L12 are part of the second axis 82, the third joint 73 and link L13 are part of the third axis 83, the fourth joint 74 and link L14 are part of the fourth axis 84, the fifth joint 75 and link L15 are part of the fifth axis 85, and the sixth joint 76 and link L16 are part of the sixth axis 86. The robot's axes are interconnected. The last link 16 in the chain terminates with an end flange (or tool mounting flange). A tool changer is used to attach a tool to the end flange of robot 100. The tool changer is an end effector having two mating parts: a main part and a tool part. These parts may be referred to as tool changing parts. These parts are designed to automatically lock or couple together and carry a payload. The parts are releasably locked or coupled. They also have the ability to transmit electronic signals, air, water, and other utilities. Typically, the main part is attached to robot 100, and the tool part is attached to the tool for automatically and releasably connecting the tool to robot 100. In this disclosure, the tool changing part may be attached to a device 1 for releasably connecting to robot 100, which will be further described below. The tool changer may be a high-precision tool changer. Tool changing part 103 may include a tool side and a robot side. The robot side of tool changing part 103 is connected to the end flange of robot 100.

[0124] System 200 also includes a flexible clamping device 1, which will be described further below. The flexible clamping device 1 (hereinafter referred to as “device 1”) closes a kinematic chain, which is formed by connecting it (optionally via tool changer 103) to manipulator 106, and thus to robot 100, and ground / floor. Here, docking point 105 represents ground / floor.

[0125] System 200 also includes control devices 110 and 120. Control devices 110 and 120 include control device 110 of device 1 and controller 120 of robot 100.

[0126] As explained, device 1 also includes a control unit 110. Control unit 110 is implemented, for example, as one or more control units. For example, control unit 110 includes a device controller. Control unit 110 includes a processor 111, a memory 112, and a communication interface 113. Processor 111 may include one or more central processing units (CPUs). Memory 112 may include one or more memory units. Control unit 110 is configured to receive sensing signals from force transmission linkages and position sensing mechanisms of device 1 via communication interface 113. Control unit 110 is also configured to determine the relative force / torque and relative attitude of device 1 based on the sensed signals. The sensed signals (also referred to as data) typically include force / torque quantities and position quantities. Control unit 110 may also be connected to robot 100. Control unit 110 may be configured to control the movement of robot 100. In some embodiments, control unit 110 is configured to determine one or more characteristics of industrial robot 100 using the determined relative force / torque and relative attitude of device 1. In an alternative embodiment, control device 110 is configured to instruct industrial robot 100 to perform robotic tasks using the determined relative forces / torques and relative attitudes of device 1. System 200 may include controller 120 of industrial robot 100, also referred to as robot controller. Controller 120 is configured to connect to control device 110 and robot 100. Control device 110 may then determine the relative forces / torques and relative attitudes of device 1 and transmit them to another controller 120. Controller 120 includes, for example, a processor, memory, and / or communication interface (not shown) necessary for performing such tasks. Control devices 110 and 120 may also be connected to a computer (not shown). The connection may be, for example, via Ethernet or Wi-Fi (Wireless Fidelity). Depending on preference, control device 110 may be external or internal, in the form of a manually or automatically operated controller (or digital computer), i.e., built into device 1 or manipulator 106 itself. Control device 110 may include a computer (not shown) for exchanging data, such as CAD data used by the controller to control manipulator 106. The computer can also be the master of the controller, making the controller act as a slave of the computer and controlled by the computer. The robot 100 is also arranged to be controlled by a control device 110 for moving the end effector of the robot 100 to a target posture. At least one of the axes 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 physical constraints for the motion of the manipulator.

[0127] equipment Figure 2Device 1 according to some embodiments is shown. As previously described, device 1 is arranged to connect between robot 100 and docking point 105. Device 1 can be connected to any movable link or any other location of robot 100, such that the links within the formed kinematic chain include links with parameters to be identified, whether as a complete chain used in the application or as part of a chain requiring narrow analysis in the presence of unmodeled rig characteristics. Depending on the kinematics included in the chain to be identified and the unknown / uncertain parameters, device 1 can have different embodiments, provided that the following requirements are met: The movement of robot 100 (or a part thereof, or a manipulator together with one or more peripheral devices to be calibrated) is physically constrained (through force / torque interaction).

[0128] -Based on the constraints of device 1, movements involving / demonstrating the characteristics to be determined are permitted in some non-empty subspaces of the workspace of robot 100. These permitted movements are referred to as... Constrained motion It can be considered a result of rigid or compliant links and joints, depending on which stage of analysis and application is being referred to.

[0129] In such Figure 1 In the standard case of the 6DOF robot 100 shown, where device 1 is connected to a tool flange (via optional tool changer 103), a practical solution is to constrain device 1 to only 1 DOF, thus allowing it to be connected to virtually any part of any type of linkage up to a single DOF. Constraining to 1 DOF means allowing 5 DOFs, which in turn means that device 1 should have five joints in this normal case. Fewer joints can be used during constrained motion, but the statically indeterminate loads on the hypothetical 6-DOF robot 100 must be handled. However, for simplicity, the case of connecting device 1 to the end flange of robot 100 is described below.

[0130] For robots with more than 6 degrees of freedom, such as redundant robots and dual-arm robots, device 1 can be as follows: Figure 2 The approach is not as simplified as described in the diagram. An offset in position and / or orientation, i.e., such that the connection between the last link of robot 100 and device 1 does not share a common centerline, can be added between the last link of 100 and device 1. Using such an offset (not shown), such as any offset described in WO2017167687A2, device 1 can be given precise dimensions, making the scaling of the determined geometry well-defined. This is also useful in the standard 6DOF case if it is necessary to determine the offset on the final joint of robot 100.

[0131] Device 1 includes a force transmission linkage 20, which comprises a top plate 2, a base plate 3, and at least one connecting rod 21 connecting the top plate 2 and the base plate 3. The top plate 2 and the base plate 3 are of the same size. Therefore, they have the same shape and volumetric dimensions. However, alternatively, the top plate 2 and the base plate 3 may have different dimensions, such as... Figure 3 As shown. In Figure 3 In the middle, the base plate 3 has a triangular main body with inclined corners. The top plate 2 has a square main body with inclined corners. Figure 2 In the embodiment, the force transmission linkage 20 includes only one link 21. In an alternative embodiment, the force transmission linkage 20 may include more than one link, such as two, three, four, five, six, or seven links 21. At least one link 21 extends from a region on the substrate 3 (referred to herein as contact region A) toward a separate region on the top plate 2 (referred to herein as contact point B). At least one link 21 is connected at one end to the substrate 3 and at the other end to the top plate 2. Each link 21 is configured to compliantly constrain relative movement between the top plate 2 and the substrate 3 in at least one direction of the link 21. Typically, at least one direction includes the line of action of the link 21, and thus includes the direction along the link 21. Compliant constraint means that the link 21 is elastic, and therefore yields to external forces. However, when no longer exposed to external forces, the link 21 retains its shape. Thus, when compressed in at least one direction, the link 21 bends and absorbs the applied stress, but once the external force is removed, the link 21 returns to its initial state. This can be achieved by including a spring in the link 21 or by including an elastic material in the link 21. Each link 21 includes a force sensor 24, which is arranged to sense a force / torque quantity representing a force transmitted in 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 sensor, or an optical force sensor. The force sensor 24 senses the external force on the link 21 that it is exposed to in at least one direction of the link 21. The slash symbol in “force / torque” should be understood as “or”, therefore, the expression can be rewritten as “force or torque”. The force / torque quantities represent the magnitude and direction of the force or torque acting on the link 21, respectively. The force sensor 24 can also measure torque as a rotational or torsional force about an axis. The force or torque can be measured in one, two, or three dimensions in Cartesian space. The control device 110 is configured to receive signals from one or more force sensors 24. The signals include information about the sensed force / torque quantities.

[0132] Device 1 also includes a position sensing mechanism 40, which is arranged in parallel with the force transmission linkage 20, such that the force transmission linkage 20 and the position sensing mechanism 40 are kinematically decoupled. This parallel arrangement means that the position sensing mechanism 40 and the force transmission linkage 20 are designed to operate or move independently of each other without affecting each other's movement. Therefore, they are kinematically decoupled. Thus, any movement of one of the force transmission linkage 20 and the position sensing mechanism 40 will not interfere with or restrict the movement of the other. Typically, the position sensing mechanism 40 is arranged not to transmit force / torque between the top plate 2 and the base plate 3. Therefore, the position sensing mechanism 40 will not transmit any force / torque between the top plate 2 and the base plate 3, and the force transmission linkage 20 will only sense the force / torque exposed to it. The position sensing mechanism 40 is configured to sense the amount of position representing the relative movement of the compliant constraint between the top plate 2 and the base plate 3. For this purpose, the position sensing mechanism 40 includes one or more position sensors 41. One or more position sensors 41 are typically zero-friction sensors. Such position sensors 41 minimize or eliminate any effects of friction. The control device 110 is configured to receive signals from the position sensors 41. The signals include information about the sensed position quantity. The position sensing mechanism 40 here includes two position sensors 41 based on laser sensing. The two position sensors 41 are arranged on the substrate 3 to sense the relative distance between the top plate 2 and the substrate 3. Each position sensor 41 extends from a contact area on the substrate 3 (here referred to as contact area C) toward a contact area on the top plate 2 (here referred to as contact area D). The extension of the position sensor 41 here surrounds the laser beam. Therefore, the extension of the position sensor 41 can also be its line of sight, and not just its mechanical extension. The position sensing mechanism 40 is preferably positioned as far away as possible from one or more force sensors 24 of the force transmission linkage 20 to minimize or eliminate the influence of position sensing on force / torque sensing.

[0133] Typically, the position sensing mechanism 40 measures and detects the position of one of the top plate 2 and the substrate 3 relative to the other. In other words, the position sensing mechanism 40 senses the distance between the top plate 2 and the substrate 3, and more specifically, the distance between the inner top side 2b of the top plate 2 and the inner base side 3b of the substrate 3. The position quantity is, for example, a measure or representation of one of the top plate 2 and the substrate 3 in the reference frame of the position sensing mechanism 40. The reference frame typically has a known relationship with the other of the top plate 2 and the substrate 3. The position quantity can 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 transmission linkage 20 and the position sensing mechanism 40 are typically kinematically decoupled, such that the force / torque quantity and / or position quantity are independent of nonlinear elastic and frictional effects within the device 1. Nonlinear elastic effects may occur when the system undergoes deformation that does not follow linear behavior, for example, depending on material properties or external forces. Frictional effects can cause deviations and uncertainties due to resistance or interaction between surfaces. However, in this device 1, following the design of device 1, force / torque sensing and position sensing are independent of this effect, thus providing more realistic and accurate force / torque sensing and position sensing.

[0134] Device 1 is configured to simultaneously sense force / torque and position quantities. Therefore, device 1 senses force / torque and position quantities that occur simultaneously or at least within a given time frame. Thus, the relationship between the simultaneously sensed force / torque and position quantities can be relied upon. Device 1 is also configured to determine the relative force / torque and relative attitude between top plate 2 and base plate 3 based on the simultaneously sensed quantities. Therefore, a relative force or torque and attitude that can be used for calibration can be established between top plate 2 and base plate 3. The relative force / torque is established from the sensed force / torque quantities. Relative force / torque is typically represented in two or three dimensions in Cartesian space, where force components are along each axis, or torque components are about each axis. The relative force / torque describes the force / torque relationship between top plate 2 and base plate 3. Attitude refers to the position and rotation of an object in three-dimensional space and includes translational and rotational components. The relative attitude describes the attitude difference between top plate 2 and base plate 3, thus describing the difference in position and rotation. The relative attitude typically has six components: three translational components and three rotational components. Typically, device 1 continuously, persistently, or repeatedly senses force / torque and position quantities simultaneously, and in response, continuously, persistently, or repeatedly determines the relative force / torque and relative orientation between top plate 2 and substrate 3 based on the simultaneously sensed quantities. Therefore, device 1 outputs a series of relative forces / torques and relative orientations between top plate 2 and substrate 3.

[0135] As previously described, device 1 is configured to connect between robot 100 and docking point 105. The connection can be performed automatically or manually. In some embodiments, the connection is releasable and can be performed automatically by robot 100. Device 1 can typically be connected at two points. At one point, it connects to the robot, and at another point, it connects to a point in space, such as docking point 105. Therefore, the connection between robot 100 and device 1, and the connection between device 1 and docking point 105, can be releasable, allowing for easy connection and disconnection as needed. It allows for temporary attachment and / or disengagement of device 1, providing great flexibility. More specifically, one of top plate 2 and base plate 3 is configured to connect to docking point 105. The other of top plate 2 and base plate 3 is configured to connect to robot 100. The connection point to robot 100 is, for example, the end effector of robot 100, also known as a tool changing component. Docking point 105 can be a fixed point in space to enable calibration of robot 100. For example, docking point 105 is then a tool changing component attached to the surrounding environment, such as a floor or ground. Device 1 can then be arranged with corresponding tool changing components on the top plate 2 and base plate 3 to connect device 1 to robot 100 and to fixed points in space, such as docking point 105. This quick-release coupling system with tool changers (also called a tool changing system) enables rapid and secure connection and disconnection. The tool changing mechanism is responsible for the automatic changing of tools.

[0136] Figure 3 Device 1 is shown according to some embodiments of the present disclosure. Figures 4 to 9 They were all presented from different perspectives or individually. Figure 3 The various parts of the equipment. Figure 2 The more general description of device 1 in the text also applies here, and for Figure 2 and Figures 3 to 9 The same reference numerals in the figures refer to the previous description.

[0137] Figure 3The device 1 includes a force transmission linkage 20, which comprises a top plate 2, a base plate 3, and six links 21 connecting the top plate 2 and the base plate 3. Each link 21 preferably fixes one of the six DOFs. The top plate 2 is defined by an outer top side 2a, an inner top side 2b, and an edge top side or periphery 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 periphery 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 have different dimensions. Specifically, the top plate 2 has a smaller horizontal range than the base plate 3. Each of the six links 21 is configured to compliantly constrain relative movement between the top plate 2 and the base plate 3 in at least one direction of the link 21. Each link 21 includes a first end 22 and a second end 23. The first end 22 of each link 21 is connected to the top plate 22 via a first top joint 26. Therefore, each link 21 is connected to the top plate 2 via a separate first top joint 26. The force transmission linkage 20 with six links 21 will then include six first top joints 26. In some embodiments, the first top joints 26 have two or three degrees of rotation (DOF). The first top joints 26 are, for example, ball joints. If the first top joint 26 is limited to 2 DOF, the link 21 connected to the first top joint 26 should have one rotational DOF. However, for a first top joint 26 with 3 DOF, the link 21 can be ignored in terms of DOF. The second end 23 of each link 21 is connected to the base plate 3 via a first base joint 27. Therefore, each link 21 is connected to the base plate 3 via a separate first base joint 27. The force transmission linkage 20 with six links 21 will then include six first base joints 27. In some embodiments, the first base joints 27 have two or three DOFs. The first base joints 27 are, for example, ball joints. If the first base joint 27 is limited to 2 DOF, then the link 21 connected to the first base joint 27 should have one rotational DOF. However, for the first top base 27 having 3 DOF, the link 21 can be ignored in terms of DOF.

[0138] Figure 3Each link 21 of device 1 includes a spring 25, which gives the link 21 compliance and thus elasticity. The springs 25 enable robot 100 to engage with device 1 without the assistance of any other devices, such as actuators. One or more springs allow device 1 to be used while exposing it to forces greater than any actuator in device 1 could handle. Therefore, device 1 can also be used with large robots. One or more springs also allow device 1 to be used while exposing it to very small forces, and without using any actuators in device 1, which would otherwise retract due to their own weight. Therefore, device 1 can also be used with small robots. Springs 25 can be constructed in various ways. For example, springs 25 can have a uniform stiffness. Alternatively, springs 25 can have varying stiffness, including a first segment with a first spring coefficient and a second segment with a second spring coefficient, wherein the first and second spring coefficients are different. Therefore, springs 25 can handle and accommodate varying external forces / torques.

[0139] Figure 3 The connecting rods 21 are typically arranged on the top plate 2 and the base plate 3 to avoid singularities. Therefore, they are non-singularly arranged. Consequently, the force transmission linkage 20 has well-defined behavior within its operating range. Figure 3 The connecting rods 21 extend in pairs at a certain angle from the A contact area on the substrate 3 toward respective B contact areas on the top plate 2. Here, the A contact area is located on the periphery 3c of the substrate 3. Therefore, each connecting rod 21 is connected to the substrate 3 at the A contact area at one end of the connecting rod 21 and to the top plate 2 at the B contact area at the other end of the connecting rod 21. The B contact area is located on the periphery 2c of the top plate 2. Thus, each connecting rod 21 extends between the substrate 3 and the top plate 2 and connects the substrate and the top plate. Six connecting rods 21 are arranged in pairs in the device 1. Each connecting rod 21 is inclined inward from the A contact area on the substrate 3 to the corresponding B contact area on the top plate 2. Each connecting rod 21 is also laterally inclined toward the connecting rod 21 of the most adjacent pair of connecting rods in the device 1. This angle or inclination provides stability to the device 1. This inclination also allows a restraining mechanism to be accommodated between the connecting rods 21 within the device 1. The restraining mechanism will be explained in more detail below. More specifically, the first pair of connecting rods 21 extends from the first A contact area toward the first and second B contact areas, the second pair of connecting rods 21 extends from the second A contact area toward the third and fourth B contact areas, and the third pair of connecting rods 21 extends from the third A contact area toward the fifth and sixth B contact areas. These contact areas are... Figure 4 This is shown in more detail below. It should be understood that the force transmission linkage 20 may include more or fewer links 21. For example, the force transmission linkage 20 may include, for instance, links such as... Figure 2The diagram shows only one link, or includes only a first pair of links or two pairs of links. Therefore, the force transmission linkage 20 may include a plurality of links 21 extending in pairs from contact areas A on the substrate 3 toward respective contact areas B on the top plate 2 at an angle. If there is only one link 21, the link 21 may be arranged vertically between the substrate 3 and the top plate 2. Each link 21 also includes a force sensor 24, which is arranged to sense the amount of force / torque representing the force transmitted in at least one direction of the link 21. Figure 3 The device 1 includes six force sensors 24, one of which is located in each link 21. Figure 3 The links 21 are separated from each other. With the links 21 separated, they will not affect each other's sensing. The force sensor 24 should be positioned as close as possible to the top plate 2, thus close to the end flange of the robot 100, to detect the presence of... Figure 8 The force sensor cable 29 shown can measure force most accurately even in cases of mass force and tensile force. The force sensor has a mounting side and a sensing side, which means that the force sensor 24 should be mounted with its sensing side facing the first top joint 26.

[0140] exist Figure 3In device 1, force sensor 24 is arranged close to top plate 2, and thus close to the first end 22 of each link 21. If robot 100 is attached to tool changing component 4 (which is attached to top plate 2), force sensor 24 will become close to end flange of robot 100. Force sensor 24 may include amplifiers for amplifying the sensed force / torque. Force sensor 24 is typically a linear force sensor, thus sensing pulling and pushing motion in one direction. In other words, force sensor is a one-dimensional force sensor. With the arrangement described in the preceding paragraphs, the effectively sensed force / torque on top plate 2 becomes insensitive to friction and spring forces, as these are not present on the sensing side of the force sensor toward the first top joint 26. Therefore, this arrangement allows for coarse control of force or mechanical properties without making the sensed force less accurate. Specifically, force transmission linkage 20 is configured to have controllable mechanical stiffness. In particular, each link 21 of at least one link 21 includes an actuator. The actuator is, for example, a hydraulic circuit or a pneumatic circuit. Therefore, the stiffness of each link 21 can be controlled to a desired stiffness. In some embodiments, the device 1 is configured to be in multiple states. Each state defines a certain stiffness for each link 21. The actuator is configured to control the stiffness of the force transmission linkage 20. The multiple states include a relaxed state in which the device 1 is relaxed to external forces. The multiple states may also include a rigid state in which the device 1 is rigid to external forces. For example, a relaxed state may be advantageous for docking a fully uncalibrated robot or a robot that has been uncalibrated for a long time. If a hydraulic or pneumatic circuit is used, a relaxed state can be achieved by having low pressure in the circuit. When the robot 100 has been docked (i.e. connected) to the device 1, the actuator can be used to control the device 1 to the desired working area of ​​the robot 100. When in the desired working area, the device 1 can be locked in a specific state.

[0141] Figure 3 The device also includes a position sensing mechanism 40 arranged parallel to the force transmission linkage 20, such that the force transmission linkage 20 and the position sensing mechanism 40 are kinematically decoupled. The position sensing mechanism 40 is configured to sense a positional quantity representing the relative movement of the top plate 2 and the base plate 3 in relation to compliance constraints. The position sensing mechanism 40 includes a position sensor 41. Figure 3 In this context, the position sensors 41 are linear position sensors, also known as linear encoders. Linear position sensors convert displacement into electrical input. They measure the position of a linear shaft without the need for mechanical components. An example supplier of suitable linear position sensors is Heidenhain. Position sensor 41 measures the distance between the top plate 2 and the base plate 3, and more specifically, the distance between the inner top side 2b of the top plate 2 and the inner base side 3b of the base plate 3. Figure 3The position sensor 41 includes 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 via a second top joint 46. In some embodiments, the second top joint 46 has 3DOF. For example, the second top joint 46 is a ball joint. In some embodiments, the second top joint 46 is a magnetic ball-and-socket joint. A magnetic ball-and-socket joint is a joint that uses magnetic force to provide hinge and movement between two components. Magnetic ball-and-socket joints allow rotational movement in multiple directions while maintaining a stable connection. The magnetic force between the ball and socket in the joint holds the joint in place and maintains its position. The magnetic attraction keeps the joint firm while allowing movement. Magnetic ball-and-socket joints enable frictionless movement. Magnetic ball-and-socket joints are non-destructive because they ensure that if exposed to excessive force to overcome the magnetic force, the position sensing mechanism 40 (i.e., the position sensor 41) will disengage from the device 1 without damaging the device 1. An example supplier of suitable magnetic ball-and-socket joints is Mizuno. The second end 43 of each position sensor 41 is connected to the base plate 3 via a second base joint 47. In some embodiments, the second base joint 47 has 3DOF. For example, the second base joint 47 is a ball joint. In some embodiments, the second base joint 47 is a magnetic ball-and-socket joint.

[0142] exist Figure 3 In this embodiment, the position sensing mechanism 40 is configured to sense the position in six DOFs. For this purpose, the position sensing mechanism 40 includes six position sensors 41. Alternatively, the position sensors 41 can be configured to sense the position in more than one DOF. In other words, a position sensing mechanism 40 configured to sense the position in a certain number of DOFs should include position sensors configured together to sense that certain number of DOFs.

[0143] exist Figure 3 In this arrangement, position sensors 41 extend in pairs from the C-contact area on the substrate 3 toward the D-contact area on the top plate 2 at an angle. Here, the C-contact area is located on the inner base side 3b of the substrate 3. The D-contact area is located on the periphery 2c of the top plate 2. Therefore, each position sensor 41 is connected to the substrate 3 at one end at the C-contact area and to the top plate 2 at the other end at the D-contact area. Thus, each position sensor 41 extends between and connects the substrate 3 and the top plate 2. Six position sensors 41 are arranged in pairs in the device 1. More specifically, the first pair of position sensors extends from the first C-contact area toward the first and second D-contact areas, the second pair extends from the second C-contact area toward the second and third D-contact areas, and the third pair extends from the third C-contact area toward the first and third D-contact areas. These contact areas are located at... Figure 5This is shown in more detail below. It should be understood that the position sensing mechanism 40 may include more or fewer position sensors 41. For example, the position sensing mechanism 40 may be as follows: Figure 2 It can include only one pair of position sensors 41, or it can include two pairs of position sensors 41. Therefore, the position sensing mechanism 40 can include multiple pairs of position sensors 41 extending from the C contact area toward the D contact area. In some embodiments, the position sensing mechanism 40 is a parallel motion mechanism. As can be seen from the figure, the connecting rod 21 of the force transmission linkage device 20 is connected to the substrate 3 on the radially outer side of the position sensing mechanism 40. This achieves a more stable design.

[0144] In some embodiments, the force transmission linkage 20 is a parallel kinematic mechanism (PKM). In some embodiments, the position sensing mechanism 40 is a PKM. The force transmission linkage 20 may have a hexapod structure. Furthermore, the position sensing mechanism 40 may have a structure similar to a hexapod. The force transmission linkage 20 may have a structure similar to a Stewart platform. Furthermore, the position sensing mechanism 40 may have a structure similar to a Stewart platform.

[0145] Figure 4 This invention illustrates a force-transmitting linkage device according to some embodiments of the present disclosure. Figure 3 Flexible clamping equipment. Here and in Figure 3 As can be seen in more detail, the connecting rod 21 of the force transmission linkage device 20 extends from the A contact area on the substrate 3 toward the respective B contact areas on the top plate 2. Therefore, the first base joint 27 connects to the substrate 3 at the A contact area. The first top joint 26 connects to the top plate 2 at the B contact areas. The A contact areas on the substrate 3 are circumferentially spaced apart by substantially equal distances. The A contact areas are located on the periphery 3c of the substrate 3. However, the A contact areas can alternatively be arranged on the inner base side 3b of the substrate 3. The B contact areas on the top plate 2 are circumferentially spaced apart by substantially equal distances. The B contact areas are located on the periphery 2c of the top plate 2. However, the B contact areas can alternatively be arranged on the inner top side 2b of the top plate 2.

[0146] Figure 5 The following are examples of embodiments of the present disclosure without a position sensing mechanism. Figure 3 Flexible clamping equipment. Here and in Figure 3As can be seen in more detail, the position sensing mechanism 40 includes a position sensor 41 extending from the C contact area on the substrate 3 toward the D contact area on the top plate 2. Therefore, a second base joint 47 is connected to the substrate 3 at the C contact area. A second top joint 46 is connected to the top plate 2 at the D contact area. The C contact areas are circumferentially spaced apart by substantially equal distances on the substrate 3. The C contact areas are located on the inner base side 3b of the substrate 3 facing the inner top side 2b of the top plate 2. However, the C contact areas can alternatively be arranged on the periphery of the substrate 3. The D contact areas are circumferentially spaced apart by substantially equal distances on the top plate 2. The D contact areas are located on the periphery 2c of the top plate 2. However, the B contact areas can alternatively be arranged on the inner top side 2b of the top plate 2. Figures 3-9 It can be seen that each B contact area is located between a separate pair of D contact areas.

[0147] Figure 6 Some embodiments according to this disclosure are shown. Figure 3 The diagram shows a top view of device 1. As can be seen from this figure, a tool changing component 4 is provided on the top plate 2. The tool changing component 4 is rigidly attached to the outer top side 2a of the top plate 2. The tool changing component 4 is releasably connected to a corresponding tool changing component 103. The tool changing component 103 is attached, for example, to the end flange of robot 100, or to a tool changing component 103 attached to robot 100 at another location on robot 100. Alternatively, the tool changing component 103 may be rigidly attached, for example, to the floor or ground. Thus, the tool changing component 103 provides a mating point. In other words, device 1 includes a tool changing component 4 rigidly attached to the outer top side 2a of the top plate 2. The tool changing component 4 is configured to be releasably connected to robot 100, particularly to the end flange of robot 100 and / or to a mating point.

[0148] Figure 7 Some embodiments according to this disclosure are shown. Figure 3 The figure shows a bottom view of the flexible clamping device. As can be seen from this figure, the substrate 3 is provided with a tool changing component 5. The tool changing component 5 is rigidly attached to the outer base side 3a of the substrate 3. The tool changing component 5 is releasably connected to a corresponding tool changing component 103. The tool changing component 103 is attached, for example, to the end flange of the robot 100, or to a tool changing component 103 attached to the robot 100 at another location on the robot 100. Alternatively, the tool changing component 103 may be rigidly attached, for example, to a floor or ground. Thus, the tool changing component 103 provides a mating point. In other words, the device 1 includes a tool changing component 5 rigidly attached to the outer base side 3a of the substrate 3. The tool changing component 5 is configured to be releasably connected to the mating point and / or the robot 100, particularly to the end flange of the robot 100.

[0149] Figure 8 A link 21 of a force transmission linkage 20 according to some embodiments of the present disclosure is shown in isolation. The link 21 includes 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 includes a first top joint 26. Figure 8 In this configuration, the first top joint 26 is a spherical joint, and the ball head bolt has a spherical end that allows rotational movement of the first top joint 26, which is attached to the first end 22. The socket of the first top joint 26 is arranged to attach to the top plate 2. The first base joint 27 is a spherical joint, and the ball head bolt has a spherical end that allows rotational movement of the first base joint 27, which is attached to the second end 23. The socket of the first base joint 27 is arranged to attach to the base plate 3. The link 21 also includes a force sensor 24, which is arranged near the first top joint 26, as previously described. The link 21 also includes an actuator 28 as a pneumatic circuit. The pneumatic circuit includes a pneumatic cylinder with openings at both ends. By controlling the pressure in the pneumatic cylinder, the link 21 can be set to different states with different compliance. The pneumatic circuit includes... Figure 8 Further components not visible in the circuit include, for example, compressors, pressure regulators, valves, filters, fittings, and piping. Alternatively, linkage 21 may be a hydraulic circuit. Spring 25 is disposed between the second end 23 and actuator 28; however, alternatively, spring 25 may be disposed between the first end 22 and actuator 28.

[0150] Figure 9 A position sensor 41 of a position sensing mechanism 40 according to some embodiments of the present disclosure is shown in isolation. The position sensor 41 includes a first end 42 and a second end 43, and a body located between the first end 42 and the second end 43. The position sensor 41 is, here, a linear encoder. The position sensor 41 particularly includes a housing and a probe arranged for linear movement within the housing. The first end 42 (here, the distal portion of the probe) includes a second top joint 46. The first top joint 46 is, here, a ball joint, having a ball that allows rotational movement of the second top joint 46 attached to the first end 42. A recess of the second top joint 46 is arranged to attach to a top plate 2. A second base joint 47 is a ball joint, and the ball allows rotational movement of the second base joint 47 attached to the second end 43. The second end 43 is, here, the distal portion of the housing. A recess of the second base joint 47 is arranged to attach to a base plate 3.

[0151] Figure 10a An alternative link 21 of the force transmission linkage 20 according to some embodiments of the present disclosure is shown in isolation. Figure 10b It shows the horizontal position. Figure 10a Link 21 in the middle. Figure 10c It shows Figure 10cThe cross-section of link 21 is shown. This alternative link is a standard component, but is used here in a novel way. As explained, link 21 includes 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 includes a first top joint 26. The first top joint 26 is a ball joint, and the first top joint 26 attached to the first end 22 is capable of rotational movement. The socket of the first top joint 26 is arranged to attach to the top plate 2. The first base joint 27 is a ball joint, and the ball head bolt has a spherical 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 attach to the base plate 3. Link 21 also includes a force sensor 24, which is arranged close to the first top joint 26, as previously described. Specifically, in FIG. 10, link 21 also includes an actuator 28 as a hydraulic circuit. The hydraulic circuit includes a hydraulic cylinder having two chambers 32 and 35 filled with hydraulic fluid. Hydraulic fluids, such as oil, are typically leak-proof under standard sealing conditions, unlike pneumatic devices which always have some minor leaks. Chamber 30 is filled with leak-proof compressed air, sealed by metal and a free-floating piston 31, which is tightly sealed by a hydraulic system in chamber 32. The actuating piston 33 obtains the actuating force for 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, which is mechanically controlled via a central rod 36 leading to a lever mechanism 37. In an office chair with a similar hydraulic circuit, this lever is used to adjust the chair's height. With valve 34 open, the pressures in chambers 32 and 35 will be the same, and due to the different areas, link 21 will extend toward piston 33 until a force balance is achieved with the actuating force and the gas pressure in chamber 30. In the case of external balancing forces, this manifests as a floating state of link 21. With valve 34 closed during force equilibrium, linkage 21 remains at a constant length, referred to herein as the fixed state, although the gas in chamber 30 exhibits a certain degree of compliance depending on the pressure within that chamber. When the force changes within the force transmission linkage 20, pistons 31 and 33 will move until a new force equilibrium is reached. This is a purely physical process, and the control of lever 37 selects only fixed or floating behavior. The stiffness of linkage 21 can be configured according to current application requirements using the adjustable pressure in chamber 30 via a separate valve (not shown). Spring 25 is arranged between the first end 22 and actuator 28; however, optionally, spring 25 can be arranged between the second end 23 and actuator 28. Spring 25 is an option to again impart another stiffness to the actuated end range by purely mechanical means. Compared to the previously described pneumatic form, this embodiment has the following advantages: When compressed air is unavailable or impractical due to requirements such as cleanroom needs, device 1 can operate without pneumatic devices. Electromechanical actuation is then required to control lever 37.

[0152] The hydraulic seal (between the fluid and components 31, 33 and 36) maintains lubrication and pressure for extended periods, providing predictable results even when very slow or even constant motion is applied.

[0153] The disadvantage is that the possibility of configuration and control via software within the control device 110 is relatively small.

[0154] Figures 11a-11c and Figure 12 Device 1 according to some embodiments of this specification is shown, wherein device 1 includes a limiting mechanism 60. The limiting mechanism 60 is configured to generate a limiting signal upon reaching the maximum permissible end position of device 1. The limiting mechanism 60 may include one or more sensors for stopping the process before reaching a boundary pose of device 1 in a certain direction. This stopping function can be implemented by hardware and / or software, and it can be built into device 1 or programmed into robot controller 120. The boundary pose is defined, for example, by specific maximum and minimum angles between top plate 2 and base plate 3, which are constants valid within the positioning range of top plate relative to base plate 3, or as a function of the top plate position having a smaller angular range closer to the periphery of top plate movement. Assuming base plate 3 is horizontally positioned, these angles are referred to as tilt angles, Tx and Ty, in two orthogonal directions orthogonal to the vertical centerline of the device.

[0155] Accordingly, the limiting mechanism 60 also limits the permissible position of device 1; in other words, the permissible position of the top plate relative to the substrate, which, at least in the periphery, depends on the tilt angle. For Stewart-type mechanisms and typical joints, such as ball-and-socket joints, the minimum and maximum vertical positions will be at the center, i.e., when the top plate 2 is exactly above the substrate 3, the tilt and rotation angles are zero. These top and bottom positions form a well-defined posture, with all (position and force) legs having the same length. Position sensing will then have minimum and maximum extensions, respectively. Figure 11aThe limiting mechanism 60 includes a hollow cylinder 61 and a rod 63. The hollow cylinder 61 is attached at one base to the inner base side 3b of the substrate 3 and extends toward the inner top side 2b of the top plate 2. However, the hollow cylinder 61 stops at a certain distance from the inner top side 2b, therefore it does not extend continuously between the substrate 3 and the top plate 2. The hollow cylinder 61 has through holes 62 on its curved surface. These holes 62 may have a V-shape on the upper and lower sides. The rod 63 is attached at one end to the inner top side 2b of the top plate 2. The rod 63 extends inside the cylinder 61 toward the inner base side 3b of the substrate 3. However, the rod 63 stops at a certain distance from the inner base side 3b, therefore it does not extend continuously between the top plate 2 and the substrate 3. Typically, the rod 63 extends less than half the distance between the inner top side 2b and the inner base side 3b. When the top plate 2 and the base plate 3 are concentrically aligned, the cylinder 61 and the rod 63 are arranged concentrically. The rod 63 includes radial pins 64 that mate with holes 62. Thus, the radial pins 64 extend through the holes 62 at the same height when the top plate 2 is horizontal, and extend through the holes at different positions within each hole when the device 1 is tilted. The rod 63 may include any number of pins, but is typically three. The cylinder 61 includes a corresponding number of holes, and is therefore typically three holes 62. Fewer than three holes require a more refined shape for the pins 64. As can be determined by those skilled in the art, more than three holes 62 can be used for redundancy and load distribution. A robust and low-cost alternative is to have three holes and three pins, so-called locating pins, which are standard type machine elements that are robust and easily attached to the rod 63 by press-fit assembly. Figures 11a-11c The geometry is depicted such that the device 1 will reach those boundary poses through which the radial pin 64 extends through the hole 62. Figure 11b and Figure 11c It shows the absence of force transmission mechanism 20. Figure 11a Equipment 1. Figure 11c It is along Figure 11b The cross-section of line AA. Figure 11c The image shows the interior of cylinder 61 and the rod 63 extending inside cylinder 61. Top plate 2 is inclined relative to base plate 3, thereby giving the radial pin 64 of rod 63 a specific position in hole 62 of cylinder 61.

[0156] The upper and lower V-shaped sides of the hole 63 help to achieve a well-defined initial posture, enabling the robot 100 to automatically dock with the device 1. Of course, in principle, actuating the force transmission linkage 20 to its upper and lower extensions on all legs would also provide a well-defined upper and lower posture. However, the accuracy of the initial posture would depend on the precision of the force transmission linkage 20, or the initial posture would need to be controlled based on sensing from the position sensing mechanism 40, both of which introduce new sources of uncertainty and an undesirable lack of decoupling. Instead, as described below, pins 64 are pushed into the uppermost and lowermost positions of the V-shaped edges of the hole 63, respectively. Note that with the three pins 64 evenly distributed around the rod 63, the initial posture becomes well-defined because each pin locks two degrees of freedom without singularities, thus fixing six degrees of freedom, and decoupling this from both the force transmission linkage 20 and the position sensing mechanism 40. Thus, a high-precision initialization mode can be provided for the device 1 in terms of the homing function of the position sensing mechanism. This involves controlling the legs to their minimum or maximum extension and reading the position sensor value at that extension, thereby maintaining the accuracy of position sensor installation or replacement of any position sensor. In other words, the device 1, including the position sensing mechanism 40, can be repaired without affecting the entire system 200. Using an absolute position sensor, this homing also provides a check on the device 1 during operation. Alternatively, an incremental position sensor can be used, optionally with an index value checked by the initial movement between two homing postures.

[0157] Therefore, when the position sensing mechanism reaches the boundary posture, indicating that the maximum permissible end position of device 1 has been reached, a limiting signal is generated. The limiting signal can also be based on the contact between pin 64 and the edge of hole 62 in hollow cylinder 60. This can be achieved by having isolation between the components, such that electrical contact between pin 64 and the edge of hole 62 is detected, wherein this detection is disabled during homing.

[0158] Another motivation for the limiting mechanism is to protect the position sensing mechanism 40 from overload, which could cause the robot to move beyond the sensor's physical limits due to lack of calibration or programming errors. This also applies to the force transmission linkage 20 in the case of robots with very strong calibration capabilities, which have the potential to overload it, for example, when it moves to an undesirable position due to a lack of recalibration after robot repair. Ideally, the boundary of the limiting mechanism corresponds to the end position of the position sensor 41. The end position of a linear position sensor represents the limit of the sensor's measurement range in one direction.

[0159] For some embodiments, such as when the flexible clamping device is based on a Stewart platform of a specific size, if the limiting mechanism needs to check limits Tx and Ty, then as Figures 11a-11c The limiting mechanism shown may excessively restrict the permissible working range. Therefore, an alternative implementation is to add a separate inclinometer 65 sensor to measure Tx and Ty, and provide the desired boundary supervision as described above via software or electronic hardware. This limiting mechanism 60 in... Figure 12 The device 1 is shown. Figure 12 A tilted bottom view of device 1 according to an embodiment of the present disclosure is shown. Sensor 65 is attached to the inner top side 2b of top plate 2. An example of such sensor 65 is the "Low-Cost Dual-Axis Inclinometer" LCH-AD from Level Developments Ltd. (leveldevelopments.com), which... Figure 12 The device 1 is depicted as a tiltmeter. For angled mounting of device 1 (e.g., wall mounting), the tiltmeter must be placed on a support (not shown) that provides that angle. When device 1 is used as a tool holding device, the tiltmeter is useless because it operates relative to a fixed horizontal plane. However, in this case, the position measurement must be provided in real time, therefore position sensing will be used to protect the position sensing mechanism. Figure 12 In the middle, rod 63 can be seen without cylinder 61. However, Figure 12 Device 12 can also be configured with, for example Figures 11a-11c Cylinder 61. Therefore. Figures 11a-11c The limiting mechanism 60 may also include sensors, such as Figure 12 The sensor 65 is located within the device. Therefore, any limiting mechanism 60 as described herein can be implemented in any device 1 as described herein.

[0160] When the position sensing mechanism 40 is arranged to the top plate 2 and / or the base plate 3 via a magnetic ball-and-socket joint, the restraining mechanism 60 may include a sensor configured to sense contact, such as electrical contact, between the ball and socket of the joint. If there is no contact, the restraining mechanism 60 is configured to generate a restraining signal. The restraining mechanism 60 is arranged between the top plate 2 and the base plate 3. The control device 110 is configured to receive the restraining signal from the restraining mechanism 60 and generate a stop signal to the connected robot 100, which commands the robot 100 to stop any movement and / or retract from undesired movement.

[0161] In some embodiments, the control device 110 is configured to change the relative attitude between the top plate 2 and the substrate 3 by controlling the actuator of at least one link 21 of the force transmission linkage device 20 and optionally to provide feedback on the relative attitude between the top plate 2 and the substrate 3 based on the position amount sensed by the position sensing mechanism 40.

[0162] Representation of characteristics As described, device 1 can be used to determine several different characteristics of the robot, such as geometric characteristics, link elasticity characteristics, or joint transmission characteristics, including nonlinear characteristics such as friction and backlash. Methods for determining these characteristics have been described in conjunction with WO2014065744, WO2015030650, and WO2015030650, and these methods can also be used to determine characteristics using device 1 as explained herein, albeit with modifications. WO2014065744 relates to determining the non-geometric characteristics of joints, and WO2015030650 relates to the non-geometric characteristics of links, particularly link stiffness characteristics. Both of these assume some kind of constrained motion, described as clamping, because the practical solution is to mate end flanges to fixed points in space such that robot 100 cannot move except for small motor movements due to the presence of non-geometric effects such as elasticity in joints and links. Clamping can also be achieved by constraining only in 1DOF if robot 100 can move in both directions to a pose that collectively covers the excitations of all joints and all links. WO2017167687A2 relates to determining geometric characteristics. According to these disclosed constraints for clamping, this can be achieved by selecting appropriate target orientations that allow tensile / push loads on device 1 to be projected onto one or more axes identified for determining their characteristics, and then selecting a sufficiently large set of target orientations such that all non-geometric characteristics can be determined. This principle implies that by measuring only the motor signals, a model of the transmission, including parameters capturing individual changes, can be maintained, and this model can then be used to calculate joint angles and torques on the link sides of each transmission.

[0163] Assuming Coulomb friction is known and its effects are compensated, the system model takes the following form.

[0164] As described in WO2015030650. Due to the quasi-static nature of this method, viscous friction is zero. The unknown parameters are... K In n a Stiffness parameters and u In n u Deformation parameters are composed of, where is n a It is the flexible degree of freedom, among which n u equal u The number of components in the motor. Stiffness parameters can be nonlinear functions of the torque τ applied to the motor, where each stiffness parameter... k iIt can be modeled as an expansion of a set of basis functions, as shown below:

[0165] in It is a suitable set of basis functions, such as polynomials. n k It is the number of terms in the expansion, and These are parameters. Therefore, the total number of stiffness parameters is... n a n k The constraints on the motion of robot 100, namely the clamping mechanism, fix the positions and orientations of the first and last links; that is, the deformation parameters at the clamping ends become zero. Therefore, the total number of unknowns in the 2D case is... n a n k + n u – 6, in 3D cases n a n k + n u – 12. Due to K or u There are no known parameters, therefore there is an unknown scaling, just like... K and u satisfy Ku = F ,for , and This relationship is also satisfied. To overcome the scaling problem, additional equations can be added. Joint angles. q Angle with motor Through the following formula

[0166] in N It is the transmission ratio matrix of the robot. β This represents the additional degree of freedom that indicates the joint stiffness, i.e. ,in k i It is a joint i stiffness, It is the motor at the joint i The torque applied in the middle. The fact that the manipulator 106 is clamped means that the (elastic) positive kinematics of the manipulator 106 for the loaded configuration must give the same position and orientation as for the unloaded configuration (configuration with zero deformation), which can be expressed as

[0167] in The forward kinematics of robot 100 are given, and q z This represents the joint angle under unloaded conditions (zero torque). In all practical cases, the deformation relative to the dimensions of robot 100 will be small, allowing for a linear approximation of the above relationship. The deviations from the position and orientation under unloaded conditions can then be written as...

[0168] in J The geometric Jacobian matrix of the robot. J u Let represent the geometric Jacobian matrix relative to the deformation, and The Jacobian matrix will be q and u The function, but due to the small transformation, is approximately... and It is valid, meaning the change in the Jacobian matrix due to deformation is negligible. These new equations can be used to extend the original model as follows ( Ku = F )

[0169] in P It is the choice matrix that makes Pu = β This new set of equations does not have scaling issues because it extends the stiffness matrix. K ext A portion of it now consists of known parameters. For non-singular poses (i.e., Jacobian matrix) J u and J Not singular, actually meaning no two joint axes are parallel), equation (6) is well formed (representing the case of balanced load, assuming By controlling the unlocking, and because Coulomb friction (kinetic friction) is known for a specific motion segment used, the parameters may still be redundant, thus requiring the combination of multiple attitudes. method

[0170] This disclosure also relates to combining Figure 13 and Figure 14 The flowchart shown illustrates the method. This method can be implemented as one or more computer programs including instructions that, when executed by a processor (e.g., processor 111 and / or controller 120 of control device 110), control the robot and flexible clamping device 1 to perform one or more steps as described herein. In other words, the computer program includes instructions that cause system 200 to perform steps of the method as described herein. Robot 100 is, for example, Figure 1The robot is shown. The flexible clamping device 1 is any such device as described herein. The computer program is stored, for example, in the memory 112 of the control device 110. In other words, a computer-readable medium on which a computer program configured to perform the steps of the methods described herein is stored.

[0171] Figure 13 and Figure 14 The method in the flowchart. The first example method is used to determine an industrial robot (e.g., Figure 1 A method for assessing the elastic properties of a robot 100. The robot 100 has multiple interconnected axes, including at least one axis exhibiting elasticity and at least one joint exhibiting static friction. The frictional and / or elastic properties are at least one of the following: link elasticity, joint transmission friction, or joint orthogonal stiffness. The method can be manually executed by operator commands to the robot 100, or it can be implemented as a computer program including computer instructions, and automatically executed by the industrial robot 100 when the computer program is loaded into and executed by the processor 111 of the control device 110. The computer instructions can be stored on a computer-readable computer program product. The computer program can be included in memory 112. The method is performed using a device 1 according to any example or embodiment described herein.

[0172] The method described herein aims to automatically identify unknown parameters of a robot using the described device 1. Multiple clamping configurations and load conditions are required to perform the identification, also known as the determination, of the unknown parameters. A set of motions performed in the clamping and / or load configurations can be referred to as experiments. Each experiment yields a relation (6). All experiments can be handled within the same set of equations according to the following formula.

[0173] The superscript indicates the experimental index. n This represents the total number of experiments. Since the purpose of the motion in each experiment is to determine the stiffness parameters, to obtain a sufficiently large deflection for each axis, and since the torque is achieved through clamping device 1, we can refer to the complete set of motion required by equation (7) as the set of motion of robot 100. Clamping deflection motionTherefore, the clamping deflection motion is the motion performed by the robot 100 when it clamps onto the device 1 and the device 1 is attached to a position that can be fixed. The clamping deflection motion is the deflection of the links of the robot 100 caused by the force interaction between the robot 100 and the device 1. A set of clamping deflection motions is required to obtain sufficient data to solve the system of equations (7). The data obtained from the clamping deflection motions is characterized by including motor angles and motor torques from all axes or joints of the robot 100. This makes it possible to update the data to compensate for frictional effects or exclude portions of the data where it is impossible to update due to undefined Coulomb friction torque (also known as static friction). Thus, the resulting data can be considered to come from an ideal robot 100 with negligible robot joint friction, i.e., robot joint friction close to zero. Therefore, the set of clamping deflection motions is a set of motions performed by the robot 100 to complete the experiment, in which the sensed force / torque and position quantities are updated to satisfy the assumption of equation (7). The clamping deflection motions will be explained further below.

[0174] To perform this method, device 1 should be within the reach of robot 100, and therefore device 1 should be placed in the workspace of robot 100. Device 1 may be included, for example, in the tool rack of robot 100, or may be attached to a fixed point accessible to robot 100. When performing this method, device 1 should also be properly configured. For example, it should be configured to provide sufficient resistance to robot 100 such that the motor torque satisfies the previously described conditions at a minimum, but with sufficient flexibility for the sensed motor angle to satisfy the previously described conditions at a minimum speed. Device 1 should also be manually or automatically controlled to a predetermined position within the workspace of robot 100. The predetermined position is, for example, a position that allows robot 100 to engage with device 1, and thereafter perform loose movements in that area of ​​the robot's workspace with sufficient motor torque without device 1 reaching any of its positional limitations, such as those required for calibrating robot 100. The end flange of robot 100 can also be configured, either manually attached or by using a tool changer, to clamp onto device 1. In other words, in some embodiments, the method includes S11 controlling the flexible clamping device 1 to reach a predetermined position within the workspace of the industrial robot 100.

[0175] In a step S12, the method includes clamping the end flange 16 of robot 100 to device 1, as described herein. If device 1 is already attached to the environment, it will now form a closed elastic kinematic chain with robot 100 and device 1. Otherwise, the method may include moving device 1 to a point in the environment and attaching device 1 to that point, thereby forming a closed kinematic chain with industrial robot 100 and device 1. This movement can be performed manually or automatically. The base link of robot 100 is also attached to the same environment as device 1. In other words, device 1 is attached to the environment to which the base link of robot 100 is also mounted, thereby forming a closed elastic kinematic chain including industrial robot 100 and flexible clamping device 1. Both industrial robot 100 and device 1 constitute an elastic linkage, wherein robot 100 has constant but unknown elastic characteristics, and device 1 has known but variable and configurable elastic characteristics (based on its sensing measurements). Therefore, device 1 has elastic characteristics that can be determined at each moment based on parallel sensing of force / torque and position. The static friction in the force sensing mechanism does not affect device 1 because 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 negligible friction.

[0176] In some embodiments, S12 clamping the end flange 16 includes using one or more clamping blocks between the end flange 16 and the flexible clamping device 1. The clamping blocks have a known geometry (like known gauge blocks used in mechanical manufacturing), are rigid compared to the robot's elasticity, and provide mating points so that the clamping blocks can be attached between the robot's end flange (or a tool changer on the end flange) and the flexible clamping device. Attachment can be automated using a tool changer. Therefore, different advantageous joint angles of the robot can be used when performing clamping deflection movements.

[0177] In optional step S13, the method includes, after clamping step S12, controlling the robot to an initial posture in which the actuators of each link 21 of at least one link of the flexible clamping device 1 are far from their respective limits. In other words, the actuators of the flexible clamping device 1 are not approaching their limits. This initial posture defines the starting posture for the clamping deflection motion. The initial posture is typically predetermined. The initial posture is a posture conducive to initiating the clamping deflection motion.

[0178] In some embodiments, device 1 is configured to be in multiple states. To enable this configuration, device 1 includes actuators configured to control the stiffness of the force transmission linkage 20. The multiple states include a relaxed state where device 1 is relaxed in the face of external forces. The multiple states may also include a firm state where device 1 is firm in the face of external forces. In an optional step S14, following clamping step S12 and optional control step S13, the method includes configuring the state of device 1 to one of a relaxed state and a firm state based on the calibration state of the industrial robot 100, and using that state during the next control step S16. For example, step S14 includes updating the configuration of the flexible clamping device 1 by selecting either a relaxed state or a firm state for each actuator of device 1, such that the clamping deflection motion can be performed in a friction-sensing manner as explained above. The flexibility of device 1 causes it to behave as an elastic element within a closed kinematic chain, and therefore can be handled in the same manner as a manipulator. Although the elasticity of device 1 can be changed by the device controller, this only means that the corresponding elements of matrix K will change over time, as known from measurements of device 1. However, each such element remains ideal as a physical element because high-frequency characteristics are maintained due to the physical (non-computerized, which would mean quantization in time and space) implementation of mechanical (simulated) components such as springs and pneumatic dampers / cylinders. In some embodiments, configuration S14 includes configuring the state of the flexible clamping device 1 to a relaxed state, and using the relaxed state to perform clamping deflection motion during control S16 of the industrial robot 100. Thus, the clamping deflection motion can include a sequence in which the states of the flexible clamping device 1 are relaxed or static. Thus, the robot 100 and the device 1 are controlled together. In some embodiments, the flexible clamping device 1 in the relaxed state acts as an elastic element within a closed kinematic chain. In some embodiments, the flexible clamping device 1 in the relaxed state allows the industrial robot 100 to move such that the effects of static friction on multiple axes become negligible after data reduction. For example, the device 1 enables the robot 100 to have joint velocities above certain limits, thereby avoiding static friction effects. In some embodiments, the flexible clamping device 1 in the relaxed state allows for relaxed resistance in all Cartesian directions in which the robot 100 can move. Therefore, direction refers to all Cartesian directions in which the robot can move, typically 6, but can also be 4 or 5. Robots with 7 or more degrees of freedom still only have 6 Cartesian directions, making them more simplistic because "zero-space motion" can be used to minimize static friction. Since the device has 6 degrees of freedom, and its placement (no singularity) and characteristics mean that relaxed movements can always be created. Therefore, all types of robots can be calibrated.

[0179] The method also includes S15 determining a procedure and loading that procedure into the robot controller of the industrial robot 100, which defines clamping deflection motions that produce deflection of one or more links of the industrial robot 100 based on the force interaction between the robot 100 and the flexible clamping device 1. The procedure typically defines a set of clamping deflection motions. This set of clamping deflection motions is typically determined in advance using data sheets, knowledge, and / or experiments. This set of clamping deflection motions can be the same for the same type of robot 100 and device 1 combination, and thus can be repeated for such the same combination. The clamping deflection motions are generated such that sufficient data can be obtained from the motion segment with well-defined frictional torques / forces, so that those well-defined frictional torques / forces can be taken into account to obtain negligible robot joint frictions, which will allow the determination of the robot's elastic characteristics. The clamping deflection motions are motions that produce sufficiently large deflections of all elastic robot links through the force interaction between the robot 100 and the device 1, where sufficiently large means that the sensed motor quantity should reflect the elastic motion of the robot 100, such that (7) is numerically well-conditioning. For example, a movement of too short a distance for the top plate of device 1 in a configuration that is too soft will result in disturbing uncertainties in the motor angle and motor torque, even after the friction effect has been updated, because friction is always uncertain to some extent, for example, relative to the temperature of the bearing lubrication. Therefore, device 1 and the clamping deflection motion should actually be configured such that the joint torque and speed are adequately excited and within the normal operating range of the joint, while still moving slowly to meet the quasi-static assumption of (7) and with the lowest possible force to allow for a cheaper implementation of device 1. A suitable range for a standard 6DOF industrial arm is between 5% and 25% of the speed and torque ratings, while the acceleration of the main moving parts is preferably below 20%.

[0180] The clamping deflection motion should be determined such that any pauses are only temporary; that is, based on omitting data after the pause portion with near-zero motor angle derivatives for any motor of robot 100, all axes should move with well-defined friction for most of the time. Furthermore, other movements with potentially unknown Coulomb friction may occur when the net torque on the joint drive is close to zero. Therefore, data for all axes should be omitted for the time periods when any axis moves at low speed or low torque. To improve the efficiency of the method, the desired clamping deflection motion should be planned or determined such that the monitored motion results in the omission of a relatively small portion of the data. Even if the speed should not be too low, it should be fairly low to satisfy the quasi-static assumption of (7), thus the acceleration also needs to be low (e.g., 2-10% of the maximum value).

[0181] The clamping deflection motion includes multiple different orientations of the end flange 16 and is performed using a selected configuration of the force transmission linkage 20 within the operating limits of the force sensor 24 and the position sensing mechanism 40. The configuration selection can be iterative, as an overly loose configuration will cause saturation of the force transmission linkage when applying forces to overcome static friction, or if an overly tight configuration is applied, there may be a risk of static friction as indicated by the sensed motor angle. A skilled user can manually or automatically formulate and select the appropriate configuration.

[0182] The method further includes S16 controlling the industrial robot 100 to perform clamping deflection motion, while sensing quantities associated with the industrial robot 100, such as motor torque and motor angle of multiple axes of the industrial robot 100, and quantities associated with the device, such as force / torque quantities representing the transmitted force in at least one direction of the link 21 and positional quantities representing the relative motion of the compliant constraints between the top plate 2 and the base plate 3 of the flexible clamping device 1. The clamping deflection motion typically includes a set of target postures. Therefore, 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 postures, wherein for each target posture, a physical posture of the robot 100 is achieved that satisfies the physical constraints of the robot 100's motion, while sensing the aforementioned quantities. According to one embodiment, the set of target postures includes multiple different orientations and positions of the end flanges. To determine a suitable target posture, multiple candidate postures that should be achievable without kinematic errors of the robot 100 can be generated or defined first. The achievable postures from the candidate postures are then selected as target postures and arranged in a list of target postures. Then, paths are defined and planned or generated between the target poses in the target pose list, allowing robot 100 to move automatically between the target poses. Robot 100 is then moved along the paths in the target pose list while these quantities are sensed. In other words, the method involves monitoring the relative attitude and force / torque between top plate 2 and base plate 3 during clamping deflection motion. Typically, the flexible clamping device 1 has almost zero friction during control S16. Device 1 is practically frictionless because it has zero-friction individual position sensing and is unaffected by the larger friction from force-transmitting elements operating in parallel. This is used to identify kinetic friction by using friction-sensing clamping deflection motion, despite the nonlinear stiffness in the links of robot 100. “Friction sensing” refers to motion that handles or avoids frictional effects. For example, motions performed in a manner that does not produce frictional effects; becoming so small that they can be ignored; or becoming so well defined that they can later be removed from the sensed data (quantities). Device 1 also helps to excite the robot links in the orthogonal directions of the joints, meaning that equation (7) also achieves full rank for directions that cannot be loaded by gravity (and also cannot be loaded by dynamic forces that would break the quasi-static assumption of equation 7). Of course, a surrounding system with external sensors and actuators could be built and used for this purpose, but this is not feasible in terms of production space, ease of use, and cost. Therefore, the key is that device 1 and its controller form an easy-to-use, self-contained apparatus that achieves full robot accuracy by means of this method.

[0183] In some embodiments, control includes S16 controlling the industrial robot 100 to perform a clamping deflection motion such that multiple axes of the industrial robot 100 move simultaneously for at least the majority of the clamping deflection motion, and any pauses in the multiple axes are temporary. A pause in any axis can be easily detected by an excessively low joint speed determined by sensed motor angles. A pause can be avoided by adding some movement to the joints. Therefore, it is practical to program the robot 100 to use joint space motion, where all joints are set to move sufficiently at appropriate joint speeds explicitly specified in the motion instructions. In any case, a large portion of the data is typically a reduced dataset. Therefore, in the determination and loading step S15, a clamping deflection motion is determined such that multiple axes of the industrial robot 100 move simultaneously for at least the majority of the clamping deflection motion, and any pauses in the multiple axes are temporary.

[0184] In some embodiments, the method includes S16 controlling the industrial robot 100 to perform clamping deflection movements that simultaneously deflect all the resilient links of the industrial robot 100. Therefore, in the determination and loading step S15, clamping deflection movements are determined such that they simultaneously deflect all the resilient links of the industrial robot 100.

[0185] In some embodiments, control S16 includes clamping deflection movements comprising a series of different motor torques that produce a corresponding series of different tensions on a single axis of the plurality of axes. Therefore, in the determination and loading step S15, clamping deflection movements are determined such that they comprise a series of different motor torques, thereby resulting in a corresponding series of different tensions on a single axis of the plurality of axes. Thus, the identified parameters can be more definitive, or if the constant parameters actually vary with the torque, it indicates that a nonlinear stiffness function should be used instead of the constants in the robot model, as shown in equation (2).

[0186] In some embodiments, control S16 includes clamping deflection movements that comprise motor torque in the low-frequency range. This is therefore well below the minimum resonance of the manipulator. This is achieved by not programming any rapid or sudden movements, thus avoiding high frequencies that would violate the quasi-static assumption of equation (7). In the determination and loading step S15, the clamping deflection movements are then determined such that they comprise motor torque in the low-frequency range.

[0187] The target pose can be varied, depending on whether they should be used when sensing quantities intended to determine joint characteristics, link characteristics, or geometric characteristics. For example, to determine geometric characteristics, some motion should be possible via device 1 or by utilizing the null space of one or more arms having a total DOF greater than 6. According to one embodiment, at least one geometric characteristic is associated with a peripheral device (not shown) of device 1. The peripheral device then includes at least one link affected by the motion of robot 100.

[0188] In the typical 6-DOF case and for more than 6 DDOFs, the load will be balanced during fixed clamping or constrained motion within the workspace of device 1 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, which reflects that at least one pair of links involves a singular configuration. This singularity is generally considered a problem in robotic applications, but it can be used as a motion constraint to eliminate the influence of individual joint transmissions for determining parameters. In the hyperstatic case, the link forces are calculated based on equation (6).

[0189] Under equilibrium conditions, generalized forces in any part of the manipulator can be calculated from measured or known motor torques based on WO2015030650, and the deflections produced by those forces can be calculated using models from both WO2014065744 and WO2015030650. By compensating the kinematic model based on a compliance model, we eventually obtain a more accurate kinematic model, more specifically an elastic kinematic model. At each moment, under a certain load condition on each link, the transition from one joint to the next (considering non-geometric effects) can be simply calculated using the component stiffness matrix described in WO2015030650.

[0190] Since no motor torque or any motor speed will be very close to zero, the sign of the product of these quantities will be well defined, and therefore the direction of energy flow through the joint transmission is known. This means that even transmissions like those with quasi-hyperboloid gears can be handled in terms of friction and nonlinear stiffness, as further commented below.

[0191] Robot 100 can be softly constrained by device 1 in a manner that allows its movement such that instantaneous joint friction effects become negligible; this constraint was previously referred to as a relaxed state. That is, when any joint of robot 100 is temporarily paused due to friction / static friction, the force balance of that joint (and thus the entire manipulator) does not allow for the determination of accurate characteristics. Formally, the vector variables in (6) u and FThe data is distorted during transient periods, therefore, if calculated based on transient signals, the stiffness will be... K That would be incorrect. Instead, device 1 allows some movement while robot 100 remains constrained, enabling the desired load conditions to be achieved. By appropriately controlling robot 100 according to control device 110, the transient time will be relatively short and can be excluded from the data used to determine link elasticity characteristics and all joint characteristics, thus becoming more accurate. Then, using those obtained characteristics in the identification of geometric characteristics using the methods of this disclosure will also provide more accurate geometric characteristics.

[0192] Depending on the characteristics of the manipulator and the maximum angle of the joints of device 1, it could even be a case where the torque of the manipulator joint is controlled such that the force (pulling or pushing) generated in the direction of device 1 is sufficient to excite and determine non-geometric characteristics. In the case of a parallel motion manipulator, system 200 can be extended in a direct manner by adding the characteristics of each kinematic chain. For Figure 1 The parallel links in the robot 100 shown are managed in this way. One way to implement the kinematic chain for constraining motion is to have the control device 110 control the robot 100 (automatically or by manual command) so that the movable parts of the robot 100 (e.g., tool changing parts 103) reach the spatial point where the attachment point of the device 1 is located. In the figures, this attachment point is the tool changing parts 4 on the top plate 2. One or more clamping blocks, referred to as offset items (angled or elongated) in WO2017167687A2 and further described therein, can also be used to offset the tool changing parts on the robot 100 and the mating tool changing parts on the device 1.

[0193] The sensed quantities typically include the undesirable effects of static friction. Therefore, sensed measurements including such static friction are excluded from the sensed measurement data. In other words, the method includes S17 determining a reduced dataset of sensed measurements for the industrial robot 100 and the flexible clamping device 1 by excluding sensed measurement data that may include the effects of static friction. Exclusion is based on sensed measurements from the industrial robot 100. In some embodiments, exclusion includes excluding data from joints in a plurality of axes whose speeds are below a predetermined threshold. Most practically, this might be determined by allowing the robot to move freely within its workspace (unattached to device 1), moving one joint at a time through a programmed joint space, and reducing the speed until the torque or speed is no longer smooth, then setting the threshold to twice that speed for each corresponding joint. Thus, the sensed measurements of the industrial robot 100 are sensed measurements related to the motor torque and motor angles of the plurality of axes of the industrial robot 100, and the sensed measurements of the flexible clamping device 1 are sensed measurements including a force / torque quantity representing the transmitted force in at least one direction of the link 21 and a positional quantity representing the relative motion of the compliant constraint between the top plate 2 and the base plate 3 of the flexible clamping device 1. In step S16, these quantities are typically sensed at the same or corresponding times such that they reflect the same conditions. The sensed quantities may be referred to as sensed data. When sensed data from robot 100 is identified as potentially including the effects of static friction, sensed data from robot 100 and corresponding data from device 1 (sensed at the same or corresponding times) are excluded. In one embodiment, all sensed data from robot 100 and device 1 during the time period of the sensed data are excluded.

[0194] The sensing measurements of device 1 are used to determine the relative attitude and force / torque between the top plate 2 and the base plate 3 of device 1. In other words, the method includes S18 determining the relative attitude and force / torque between the top plate 2 and the base plate 3 relative to a reduced dataset based on the amount of force / torque and the amount of position sensed simultaneously by the force sensor 24 and the position sensing mechanism 40 of the flexible clamping device 1. The sensing measurements used to determine S18 can be a reduced dataset or a complete dataset of sensing measurements (before reduction). If a complete dataset is used, the relative attitude and force / torque between the top plate 2 and the base plate 3 are correspondingly reduced to a reduced dataset of sensing measurements. This means that the relative attitude and force / torque between the top plate 2 and the base plate 3, which may include the effects of static friction (as seen from robot 100), are excluded from subsequent steps in the method.

[0195] Based on the motor angle and motor torque of the sensing / monitoring robot 100, unknown parameters can then be identified according to the method described in WO2015030650. The function in WO2015030650... S Equation (12) is now defined as the left side of equation (6), vector FDefined as the right side of equation (6). According to these definitions, identification can be performed using the same method described in equations (13)-(16) of WO2015030650. Of course, monitoring of the clamping deflection motion will result in a lot of uncertain data due to friction effects, but since the clamping deflection motion is uniform when the Jacobian matrix of (7) is nonsingular, the internal forces are well defined except for the paused axis. In other words, the method also includes S19 determining the dynamic friction characteristics of at least one joint exhibiting static friction and the elastic characteristics of at least one axis exhibiting elasticity based on the reduced dataset, the relative posture and force / torque between the top plate 2 and the base plate 3, multiple different postures of the end flanges, and at least one model of the industrial robot 100. Before determining all characteristics, the clamping deflection motion may involve compliant control of one or more joints of the robot 100 in order to keep the interaction forces within acceptable limits. Equivalently, force-controlled motion can be used. The device 1 may also include elements with adjustable stiffness, such that a softer constraint is initially used when the deviation is more significant. Determining S19 may include identifying a set of kinematic parameters of a kinematic model representing the elastic kinematics of robot 100. This identification is based on relative posture and force / torque, multiple different postures of the end flanges, and parameters related to the elastic properties represented by the kinematic model, which includes at least one representation of compliance. In some embodiments, determining S19 includes determining the sign of the product of motor torque and motor angle, and determining friction based on the sign of the product. The obtained sensor measurements of robot 100, i.e., motor torque and motor angle, and sensor measurements from device 1 applied to the robot model, may be split into different data / time series based on the sign of the product (manually or automatically). Friction in each of these data sets may be identified as explained herein. If the friction (for any joint) is significantly different with respect to different signs, the data is split to form separate experiments for Equation 7. If no such direction of power flow dependence is detected, the original dataset (unsplit) may be used.

[0196] For example, for things like Figure 1 The robot in the 6 DOF robot 100, reference equation (7), number of deformation parameters n u It is 72, and it is used for n The total number of unknowns in the experiments is n a n k + 66 • n, including unknown joint angles q (Only the motor angle was measured) θ q For a 6-DOF manipulator, the number of elastic degrees of freedom... na It is typically 49, and if we assume the stiffness parameter is linear, then... n k If the value is 1, then the total number of unknown parameters will be 49 + 66. n Each clamping experiment generates 84 equations. Since the number of equations must be greater than the number of unknowns to solve, at least [time period] is required. n = 3 experiments. However, there will be interference and modeling errors, and more experiments are needed. n Under normal circumstances, with = 10, the extended stiffness matrix in equation (7) will have 840 rows and 78 columns.

[0197] Having determined the non-geometric parameters, determining the kinematic parameters, at least using initial values ​​based on the nominal geometry of robot 100, can be performed as another part of step S19. As previously mentioned, robot 1 includes a kinematic model with a set of kinematic parameters, and therefore the motions used to perform calibration can be directly programmed as part of the method.

[0198] From the sensed data, well-conditioned segments are selected to avoid known uncertainties, often due to unknown Coulomb friction caused by changes in the direction of joint movement. Therefore, it may be necessary to reduce the amount of sensed data, but this can be easily achieved by adding well-conditioned segments, which only requires an extra second of excitation time.

[0199] The determined elastic properties can be evaluated to determine whether they meet predetermined requirements. In other words, in some embodiments, the method includes S20 verifying the elastic properties determined in step S19 based on at least one model of the robot 100, which satisfy the force balance equations representing the quasi-static load conditions of the industrial robot 100. Verification S20 includes evaluating the residuals of the force balance equations when solved using a reduced dataset, and returning to step S15, which is determined and loaded into the robot controller of the industrial robot 100, when missing or inappropriate load conditions cause the residuals to exceed one or more thresholds. Furthermore, a new set of experiments can be performed on other clamping deflection movements, and the parameters obtained should then be approximately the same, and the residuals should still be low.

[0200] After the dynamic friction and elastic properties have been appropriately determined, the model of robot 100 can be updated based on them. High-performance control of robots such as robot 100 is typically based on so-called model-based control, meaning (as standard in the robotics industry) the model of robot 100 is used in the synthesis of algorithms in controller 120. In other words, the method includes S21 updating one or more of at least one model of industrial robot 100 with the determined dynamic friction and elastic properties. The updated one or more models in the at least one model provide the elastic properties of industrial robot 100 and the associated dynamics, which form the scenario for improving the control of industrial robot 100 using parameters. For example, one or more of the at least one model of the robot includes differential algebraic equations describing the elastic dynamics of industrial robot 100. The stiffness identification process relies on the kinematic parameters of robot 100 to fix the scaling of deformation and stiffness parameters. When updating the kinematic parameters in the kinematic calibration step, it may be necessary to re-identify the stiffness parameters; that is, the identification process needs to be rerun, but no new experiments are required. In all practical cases, the changes in kinematic parameters will be small because nominal parameters will be available. Therefore, the impact on the stiffness identification equation will be very small (small changes in kinematic parameters will result in very small changes in the Jacobian matrix), and the changes in stiffness parameters will also be very small. Furthermore, once the stiffness model parameters have been updated, it may be necessary to re-identify the kinematic parameters. The changes in parameters become smaller with each iteration, and the system converges after several iterations.

[0201] Different brands of robots have specific controllers 120 with certain configuration characteristics, and therefore require corresponding configuration of control devices 110. Due to the general nature of this method, those skilled in the art will be able to select and transform the identified characteristics so that the determined characteristics can be used to update the nominal kinematic parameters of robot 100. It can be used to update the nominal kinematic parameters of the same robot 100 to which the method is performed, or to update the nominal kinematic parameters of another robot 100 of the same type. At least one geometric characteristic determined can be used to update the robot program or the motion control parameters of robot 100. From a system or product perspective, an alternative to updating the robot program can be achieved by embedding the update function in controller 120, or by performing the same function as a part of the entire system, such as CAM (Computer-Aided Manufacturing) software tools.

[0202] The updates to the motion control parameters of robot 100 described so far are for better end effector accuracy (not speed), despite all the mentioned elastic and nonlinear effects. Having addressed this issue, the next requirement is to achieve precise motion as quickly as possible to maximize productivity. This means an enhancement to the real-time control software of controller 120 is needed.

[0203] according to Figures 13-14 A significant advantage of the method and its apparatus 1 is that it also enables motion control at higher speeds by addressing the compliant linkage effect in terms of the aforementioned (see definition) minimum resonance. Minimum resonance can be considered a characteristic of each axis, with joint stiffness and linkage compliance occurring between the masses of the machine components involved, much like in basic mechanics. However, the motion of the end effector depends on the combined motion of all axes under force / torque interaction, forming a complete differential algebraic system in which all axes depend on each other in a non-causal manner.

[0204] While the defined MSM is useful for handling process forces and motion through standard smoothness of controller trajectories, maximizing path velocity for faster motion also requires higher acceleration (and acceleration variations) for each axis involved, which in almost all practical cases includes all axes of robot 100. Therefore, the joint trajectories of all commands need to contain the highest possible frequencies, but not those that would excite resonances in robot 100. Thus, it is necessary to identify robot arm resonances and use this information for model-based servo control in controller 120.

[0205] Specifically, the orthogonal joint compliance described is of paramount importance for determination and management within the controller 100. This is because compliance in the actuation direction can be suppressed to some extent or otherwise handled through feedback control and feedforward of the reference state into its feedback loop, as widely described in robotics literature. However, the orthogonal direction of the joint is only indirectly affected by feedback control through dynamics according to the aforementioned differential-algebraic equations, meaning that the trajectory must be calculated such that resonances associated with orthogonal joint compliance are not excited. These resonances are referred to as cross resonances.

[0206] To calculate cross resonance, it is necessary to know or identify the Coulomb friction and mass distribution around the elastic properties obtained via equation (7), and to use this equation to determine the matrix. K The elements. Technicians can perform this operation based on standard solid-state theory. However, while it is acceptable for the redundant solution of (7) for the described quasi-static case because it does not affect the motion of the end effector, determining the cross resonance (i.e., as joint coordinates) in the presence of Coulomb friction is problematic. q The frequency of the function needs KThe elements are completely consistent with the physics and the axes involved. Otherwise, excessive end effector vibration will be caused by erroneous frequency components of the calculated trajectory.

[0207] Whether or not equation (7) is explicitly used, most cross resonances can be determined by free-space motion with a custom-designed asymmetric load driven by a servo reference, which has been calculated for sufficiently large moving portions to avoid the effects of unknown Coulomb friction. Gravity is then used instead of the clamping force from device 1. While this prior art method is useful for verifying some parameters, it has a major limitation: it cannot determine joints without gravity, at least not in situations where device 1 is not designed to avoid complex external arrangements.

[0208] A typical example is the first joint (base rotates the entire arm) of a standard 6-axis articulated industrial robot arm. Due to the differential algebraic characteristics of the interconnected dynamics of the arm, the orthogonal stiffness of this joint affects not only the control of that axis but also all the resonances of the robot 100. A key feature of the device 1 and controller arrangement 110 is that the system, by means of 6DOF configurable stiffness, enables clamping deflection movements, allowing the determination of all involved link compliance characteristics, which can then be used for calibration, even in an automated manner.

[0209] The terminology used in the description of the embodiments illustrated in the accompanying drawings is not intended to limit the described methods, control arrangements, or computer programs. Various changes, substitutions, and / or modifications may be made without departing from the disclosed embodiments as defined by the appended claims.

[0210] As used herein, the term “or” will be interpreted as mathematical OR, i.e., as inclusion disjunction; unless otherwise expressly stated, it will not be interpreted as mathematical XOR. Furthermore, the singular forms “a,” “an,” and “the” should be interpreted as “at least one,” and thus may include multiple entities of the same kind, unless otherwise expressly stated. It will be further understood that the terms “includes,” “comprises,” “including,” and / or “comprising” specify the presence of the stated features, actions, integrals, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, actions, integrals, steps, operations, elements, components, and / or groups thereof. A single unit, such as a processor, can implement the functionality of several items recited in the claims.

[0211] This disclosure is not limited to the preferred embodiments described above. Various alternatives, modifications, and equivalents may be used. Therefore, the above embodiments should not be considered as limiting the scope of this disclosure, which is defined by the appended claims.

Claims

1. A method for determining the elastic properties of an industrial robot (100) comprising a plurality of interconnected axes, each of the plurality of interconnected axes comprising: - A linkage device including one or more links. - Joints that define the possible movements of the axis, and - An electric motor that drives the linkage device via the joint. The plurality of interconnecting shafts include: - At least one shaft exhibiting elasticity, and - At least one joint exhibiting static friction, The method includes: -- (S12) The end flange (16) of the industrial robot (100) is clamped to the flexible clamping device (1), which is attached to the environment where the base link of the robot (100) is also installed; thereby forming a closed elastic kinematic chain including the industrial robot (100) and the flexible clamping device (1); The flexible clamping device (1) includes: --- Force transmission linkage device (20) includes a top plate (2), a base plate (3) and at least one link (21) connecting the top plate (2) and the base plate (3), wherein each link (21) is configured to compliantly constrain relative movement between the top plate (2) and the base plate (3) in at least one direction of the link (21), and wherein each link (21) includes a force sensor (24) arranged to sense a force / torque amount representing the force transmitted in the at least one direction of the link (21); --- A position sensing mechanism (40) is arranged parallel to the force transmission linkage device (20), such that the force transmission linkage device (20) and the position sensing mechanism (40) are kinematically decoupled, wherein the position sensing mechanism (40) is configured to sense a positional amount representing a relative movement of compliance constraint between the top plate (2) and the base plate (3); and --- The flexible clamping device (1) is configured to simultaneously sense the force / torque and the position, and to determine the relative force / torque and relative orientation between the top plate (2) and the base plate (3) based on the simultaneously sensed quantities. The method further includes: -- (S15) Determine a program and load the program into the robot controller of the industrial robot (100), the program defining a clamping deflection motion based on the force interaction between the robot (100) and the flexible clamping device (1) to generate a deflection of one or more links of the industrial robot (100), wherein the clamping deflection motion includes multiple different postures of the end flange (16) and is performed using a selected configuration of the force transmission linkage device (20) within the operating limits of the force sensor (24) and the position sensing mechanism (40); -- (S16) Control the industrial robot (100) to perform the clamping deflection motion, while --- Sensing quantities related to the motor torque and motor angle of multiple axes of the industrial robot (100), and --- The sensing includes a force / torque amount representing the force transmitted in at least one direction of the link (21) and a position amount representing the relative movement of the compliant constraint between the top plate (2) and the base plate (3) of the flexible clamping device (1); -- (S17) Determine a reduced dataset of sensor measurements of the industrial robot (100) and the flexible clamping device (1) by excluding sensor measurements that may include the effects of static friction, wherein the exclusion is based on sensor measurements of the industrial robot (100); -- (S18) Based on the force / torque and position sensing quantities simultaneously sensed by the force sensor (24) and position sensing mechanism (40) of the flexible clamping device (1), determine the relative attitude and force / torque between the top plate (2) and the base plate (3) in relation to the reduced dataset; -- (S19) Based on the reduced dataset, the relative orientation and force / torque between the top plate (2) and the base plate (3), the multiple different orientations of the end flanges, and at least one model of the industrial robot (100), determine the dynamic friction characteristics of at least one joint exhibiting static friction and the elastic characteristics of at least one shaft exhibiting elasticity, and -- (S21) Update one or more of the at least one models of the industrial robot (100) using the determined dynamic friction characteristics and elastic characteristics, wherein the updated one or more of the at least one models provide the elastic characteristics of the industrial robot (100) and the relevant dynamics that form a scenario for using parameters to improve the control of the industrial robot (100).

2. The method of claim 1, comprising: (S20) Verify the elasticity characteristics (S19) of the force balance equations that satisfy the quasi-static load conditions of the industrial robot (100) as determined by the at least one model of the robot, including evaluating (S20a) the residuals of the force balance equations when solving using the reduced dataset, and returning to the step (S15) of determining and loading the robot controller of the industrial robot (100) when missing or inappropriate load conditions cause the residuals to be greater than one or more thresholds.

3. The method of claim 1 or 2, wherein, During the control (S16), the flexible clamping device (1) has almost 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 the following: link elastic properties, joint transmission friction properties, or joint orthogonal stiffness.

5. The method according to any one of the preceding claims, comprising, prior to the clamping (S12) step: (S11) Control the flexible clamping device (1) to reach a predetermined position within the workspace 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 in multiple states, including a relaxed state where the flexible clamping device (1) is loose in the face of external force and a firm state where the flexible clamping device (1) is firm in the face of external force, wherein the method includes, after the clamping (S12) step: (S14) Based on the calibration state of the industrial robot (100), the state of the flexible clamping device (1) is configured to be one of the loose state and the firm state, and the state is used during the control (S16) step.

7. The method of claim 6, wherein, The configuration (S14) includes configuring the state of the flexible clamping device (1) to the loose state, and using the loose state to perform the clamping deflection motion during the control (S16) of the industrial robot (100).

8. The method of claim 6 or 7, wherein, The flexible clamping device (1) in the loose state acts as an elastic element within the closed kinematic chain.

9. The method of any one of claims 6-8, wherein, The flexible clamping device (1) in the loose state allows the industrial robot (100) to move, such that the effect of static friction in the plurality of axes becomes negligible after data reduction.

10. The method of any one of claims 6-9, wherein, The flexible clamping device (1) in the loose state allows for loose resistance in all Cartesian directions in 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 a clamping deflection motion such that the plurality of axes of the industrial robot (100) move simultaneously at least for a large portion of the clamping deflection motion, and any pauses of the plurality of axes are temporary.

12. The method according to any one of the preceding claims, comprising controlling (S16) the industrial robot (100) to perform a clamping deflection movement that simultaneously deflects all the elastic links of the industrial robot (100).

13. The method of any of the preceding claims, wherein, The control (S16) includes a clamping deflection motion, which includes a series of different motor torques on a single axis of the plurality of axes that result in a corresponding series of different tensions.

14. The method of any of the preceding claims, wherein, The control (S16) includes a clamping deflection motion, which includes motor torque in the low-frequency range.

15. The method of any of the preceding claims, wherein, The determination (S19) includes determining the sign of the product of the motor torque and the motor angle, and determining the friction based on the sign of the product.

16. The method of any of the preceding claims, wherein, Excluding the sensor measurements that may include the effects of static friction, as well as the relative attitude and force / torque data between the top plate (2) and the base plate (3), includes excluding data from joints of the plurality of axes where the speed of the joint is below a predetermined threshold.

17. The method of any of the preceding claims, wherein, One or more of the at least one models of the robot include differential algebraic equations describing the elastic dynamics of the industrial robot (100).

18. The method according to any one of the preceding claims, wherein, The clamping (S12) end flange (16) includes one or more clamping blocks used between the end flange (16) and the flexible clamping device (1).

19. A system (200) for determining the elastic properties of an industrial robot (100), the system (200) comprising: - Industrial robots, including: -- A plurality of interconnect axes, wherein each of the plurality of interconnect axes comprises: --- A linkage device including one or more links, --- The joints that define the possible movements of the axis, and --- An electric motor that drives the linkage device via the joint. The plurality of interconnecting shafts include: --- At least one shaft exhibiting elasticity, and --- At least one joint exhibiting static friction, - A flexible clamping device (1), comprising: -- Force transmission linkage device (20) including a top plate (2), a base plate (3) and at least one link (21) connecting the top plate (2) and the base plate (3), wherein each link (21) is configured to compliantly constrain relative movement between the top plate (2) and the base plate (3) in at least one direction of the link (21), and wherein each link (21) includes a force sensor (24) arranged to sense a force / torque amount representing the force transmitted in the at least one direction of the link (21); -- A position sensing mechanism (40) arranged parallel to the force transmission linkage device (20) such that the force transmission linkage device (20) and the position sensing mechanism (40) are kinematically decoupled, wherein the position sensing mechanism (40) is configured to sense a positional amount representing a relative movement of compliance constraint between the top plate (2) and the base plate (3); and -- The flexible clamping device (1) is configured to simultaneously sense the force / torque amount and the position amount, and to determine the relative force / torque and relative orientation between the top plate (2) and the base plate (3) based on the simultaneously sensed amounts. - Control devices (110, 120), which are configured as follows: -- The end flange (16) of the industrial robot (100) is clamped to a flexible clamping device (1), which is attached to an environment where a base link of the robot (100) is also mounted; thereby forming a closed elastic kinematic chain including the industrial robot (100) and the flexible clamping device (1); -- Determine a program and load the program into the robot controller of the industrial robot (100). The program defines a clamping deflection motion that generates the deflection of one or more links of the industrial robot (100) based on the force interaction between the robot (100) and the flexible clamping device (1), wherein the clamping deflection motion includes multiple different postures of the end flange (16) and is executed using a selected configuration of the force transmission linkage (20) within the operating limits of the force sensor (24) and the position sensing mechanism (40). -- Control the industrial robot (100) to execute the clamping deflection motion, while --- Sensing quantities related to the motor torque and motor angle of multiple axes of the industrial robot (100), and --- The sensing includes a force / torque quantity representing the force transmitted in at least one direction of the link (21) and a position quantity representing the relative movement of the compliant constraint between the top plate (2) and the base plate (3) of the flexible clamping device (1); and -- A reduced dataset of sensor measurements of the industrial robot (100) and the flexible clamping device (1) is determined by excluding sensor measurements that may include the effects of static friction, wherein the exclusion is based on the sensor measurements of the industrial robot (100); -- Based on the force / torque and position sensed by the force sensor (24) and position sensing mechanism (40) of the flexible clamping device (1) simultaneously, determine the relative attitude and force / torque between the top plate (2) and the base plate (3) in relation to the reduced dataset; -- Based on the reduced dataset, the relative orientation and force / torque between the top plate (2) and the base plate (3), the multiple different orientations of the end flange, and at least one model of the industrial robot (100), determine the dynamic friction characteristics of at least one joint exhibiting static friction and the elastic characteristics of at least one shaft exhibiting elasticity. -- Update one or more of the at least one models of the industrial robot (100) using the determined dynamic friction and elastic properties, wherein the updated one or more of the at least one models provide the elastic properties of the industrial robot (100) and the relevant dynamics that form a scenario for using parameters to improve the control of the industrial robot (100).

20. A computer program comprising instructions for causing the system (200) of claim 19 to perform the steps of the method according to any one of claims 2 to 18.

21. A computer-readable medium having a computer program stored thereon according to claim 20.

Citation Information

Patent Citations

  • Method and system for determination of at least one property of a joint

    WO2014065744A1

  • Method and system for determination of at least one property of a manipulator

    WO2015030650A2

  • Method, constraining device and system for determining geometric properties of a manipulator

    WO2017167687A2

Cited By

  • Method and apparatus for reducing positive pressure of actuating cylinder of universal hinged support

    US12624711B2

  • Method and apparatus for reducing positive pressure of actuating cylinder of universal hinged support

    US20240376910A1