Robot tail end load identification method, device and equipment and storage medium
By collecting sensor data from the robot in multiple postures to construct a point cloud set, and using point cloud fitting and linear equation solving, the systematic deviation problem caused by posture error in robot end-effector load identification is solved, thereby improving the accuracy and robustness of load identification.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANGHAI JIEKA ROBOT TECH CO LTD
- Filing Date
- 2025-12-30
- Publication Date
- 2026-04-17
AI Technical Summary
Existing robot end-effector load identification methods are affected by errors in robot feedback posture data, installation tilt, and joint zero-point drift, resulting in systematic deviations in the centroid and mass identification results, and insufficient applicability and robustness.
By collecting multiple sets of sensor data from the robot under various end-effector postures, a spatial point cloud set is constructed. Then, by fitting the point cloud and solving linear equations, the end-effector load mass and centroid vector are identified, thus eliminating the dependence on robot feedback posture and improving identification accuracy.
This method enables the collection of multiple sets of sensor data from the robot in various postures to construct a point cloud set. By fitting the point cloud and solving linear equations, the end-effector load mass and centroid vector can be identified, thus eliminating the dependence on robot posture feedback and improving identification accuracy.
Smart Images

Figure CN121870748A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot control technology, and more specifically, to a method, apparatus, device, and storage medium for identifying the end effector load of a robot. Background Technology
[0002] With the widespread application of collaborative robots in complex work scenarios such as precision assembly, flexible grasping, and human-robot collaboration, frequent replacement of their end effectors has become the norm. Different tools or loads vary in mass, geometry, and center of mass position, causing dynamic changes in the robot's overall dynamic parameters. If these parameter changes cannot be accurately perceived and compensated for, they will directly affect the robot's motion control accuracy, leading to trajectory deviations, vibrations, and even instability, threatening operational safety and task reliability.
[0003] In existing technologies, load identification can be achieved based on a six-dimensional force / torque sensor at the end effector. Specifically, a six-dimensional force sensor is installed between the robot's wrist flange and the end effector tool, and the robot's end effector is adjusted to multiple different postures. The readings of the six-dimensional force sensor under the corresponding postures are collected, and combined with the end effector posture information fed back by the robot, the projection relationship of gravity in the sensor coordinate system is established. The mass and center of mass of the load are then calculated by the averaging method.
[0004] However, this method typically assumes that the robot's posture data is accurate, and then transforms the gravity direction from the base coordinate system to the sensor coordinate system for calculation. If the robot itself has issues such as absolute positioning errors, installation tilt, or joint zero-point drift, the posture transformation matrix will be distorted, leading to incorrect gravity projection and ultimately causing systematic deviations in the identification of the center of mass and mass. Furthermore, this method is also limited by the robot's calibration status and the levelness of the installation environment, restricting its applicability and robustness under non-ideal working conditions. Summary of the Invention
[0005] The purpose of this application is to address the shortcomings of the prior art by providing a method, apparatus, device, and storage medium for identifying the load at the end of a robot, thereby solving the problems of systematic deviation and limitations imposed by the robot's calibration status and the levelness of the installation environment in the prior art.
[0006] To achieve the above objectives, the technical solutions adopted in the embodiments of this application are as follows: In a first aspect, one embodiment of this application provides a method for identifying the load at the end effector of a robot, the method comprising: Collect multiple sets of sensor data for the robot in various end-effector postures. Each set of sensor data includes: force data and torque data of the robot in the corresponding end-effector posture. Based on the force data in the multiple sets of sensor data, a spatial point cloud set is constructed. The spatial point cloud set includes multiple point clouds, and each point cloud corresponds one-to-one with the force data in each set of sensor data. Based on the spatial point cloud set and the multiple sets of sensor data, the end-effector load parameters of the robot are identified. The end-effector load parameters include: end-effector load mass and end-effector load centroid vector.
[0007] As one possible implementation, identifying the robot's end-effector load parameters based on the spatial point cloud set and the multiple sets of sensor data includes: The end-effector load mass of the robot is identified based on the spatial point cloud set. Based on the multiple sets of sensor data, the centroid vector of the robot's end-effector load is identified.
[0008] As one possible implementation, identifying the end-effector payload mass of the robot based on the spatial point cloud set includes: The point cloud in the spatial point cloud set is fitted to obtain the target sphere corresponding to the spatial point cloud set; The radius of the target sphere is determined, and the end-effector load mass of the robot is identified based on the radius of the target sphere.
[0009] As one possible implementation, identifying the end-effector load mass of the robot based on the radius of the target sphere includes: The radius of the target sphere is used as the gravity value of the end load; The ratio of the gravity value to the gravitational acceleration constant is calculated to obtain the mass of the end load.
[0010] As one possible implementation, identifying the centroid vector of the robot's end effector load based on the multiple sets of sensor data includes: Based on the multiple sets of sensor data and the preset linear equation, the value of the first linear parameter in the linear equation is obtained by solving the equation. The linear equation includes the first linear parameter and the second linear parameter. Based on the value of the first linear parameter, the centroid vector of the robot's end-effector load is identified.
[0011] As one possible implementation, the step of solving for the value of the first linear parameter in the linear equation based on the multiple sets of sensor data and a preset linear equation includes: The force and torque data from the multiple sets of sensor data are input into a preset linear equation to obtain multiple sets of linear equations; The linear equations are solved by a linear fitting algorithm to obtain the values of the first linear parameter and the second linear parameter.
[0012] As one possible implementation, identifying the centroid vector of the robot's end effector load based on the value of the first linear parameter includes: The value of the first linear parameter is used as the centroid vector of the robot's end-effector load.
[0013] Secondly, another embodiment of this application provides a robot end-effector load identification device, the device comprising: The data acquisition module is used to collect multiple sets of sensor data of the robot in multiple end-effector postures. Each set of sensor data includes: force data and torque data of the robot in the corresponding end-effector posture. The construction module is used to construct a spatial point cloud set based on the force data in the multiple sets of sensor data. The spatial point cloud set includes multiple point clouds, and each point cloud corresponds one-to-one with the force data in each set of sensor data. The identification module is used to identify the end-effector load parameters of the robot based on the spatial point cloud set and the multiple sets of sensor data. The end-effector load parameters include the end-effector load mass and the end-effector load centroid vector.
[0014] As one possible implementation, the identification module is specifically used for: The end-effector load mass of the robot is identified based on the spatial point cloud set. Based on the multiple sets of sensor data, the centroid vector of the robot's end-effector load is identified.
[0015] As one possible implementation, the identification module is specifically used for: The point cloud in the spatial point cloud set is fitted to obtain the target sphere corresponding to the spatial point cloud set; The radius of the target sphere is determined, and the end-effector load mass of the robot is identified based on the radius of the target sphere.
[0016] As one possible implementation, the identification module is specifically used for: The radius of the target sphere is used as the gravity value of the end load; The ratio of the gravity value to the gravitational acceleration constant is calculated to obtain the mass of the end load.
[0017] As one possible implementation, the identification module is specifically used for: Based on the multiple sets of sensor data and the preset linear equation, the value of the first linear parameter in the linear equation is obtained by solving the equation. The linear equation includes the first linear parameter and the second linear parameter. Based on the value of the first linear parameter, the centroid vector of the robot's end-effector load is identified.
[0018] As one possible implementation, the identification module is specifically used for: The force and torque data from the multiple sets of sensor data are input into a preset linear equation to obtain multiple sets of linear equations; The linear equations are solved by a linear fitting algorithm to obtain the values of the first linear parameter and the second linear parameter.
[0019] As one possible implementation, the identification module is specifically used for: The value of the first linear parameter is used as the centroid vector of the robot's end-effector load.
[0020] Thirdly, another embodiment of this application provides an electronic device, including: a processor, a storage medium, and a bus, wherein the storage medium stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the steps of any of the methods described in the first aspect above.
[0021] Fourthly, another embodiment of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, performs the steps of any of the methods described in the first aspect above.
[0022] The beneficial effects of this application are as follows: By collecting multiple sets of sensor data from the robot under various end-effector postures, and constructing a spatial point cloud set based on the force data from these sensor sets, the end-effector load mass and centroid vector of the robot can be identified using the spatial point cloud set and the multiple sensor data sets. This method allows for the identification of the robot's end-effector load mass and centroid vector based on multiple sensor data under various end-effector postures, without relying on the robot's own posture feedback accuracy. This effectively avoids identification deviations caused by absolute positioning errors, installation tilt, or joint zero-point drift, thus eliminating the dependence on the robot's feedback posture during the identification process and eliminating additional errors caused by robot feedback posture errors, thereby improving the accuracy and robustness of load identification. Furthermore, since it no longer relies on high-precision calibration and horizontal installation, the levelness requirements for the robot's installation environment are lower, making it suitable for non-ideal working conditions. It can also be widely applied in automated scenarios requiring frequent end-effector replacement, supporting rapid and automated load parameter calibration, and improving production efficiency and system intelligence. Attached Figure Description
[0023] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0024] Figure 1 A schematic diagram of coordinate system parameters for a robot end-effector load identification method provided in this application embodiment; Figure 2 A schematic flowchart of a robot end-effector load identification method provided in this application embodiment; Figure 3 This is a schematic flowchart illustrating the process of identifying the end-effector load parameters of a robot in the robot end-effector load identification method provided in this application embodiment. Figure 4 This is a schematic flowchart illustrating the process of identifying the end-effector load mass of a robot in the robot end-effector load identification method provided in this application embodiment. Figure 5 This is another schematic diagram illustrating the process of identifying the end-effector load mass of a robot in the robot end-effector load identification method provided in this application embodiment; Figure 6 This is another schematic diagram illustrating the process of identifying the end-effector load mass of a robot in the robot end-effector load identification method provided in this application embodiment; Figure 7A schematic diagram of a robot end-effector load identification device provided in this application embodiment; Figure 8 This is a schematic diagram of the electronic device structure provided in an embodiment of this application. Detailed Implementation
[0025] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the accompanying drawings in this application are for illustrative and descriptive purposes only and are not intended to limit the scope of protection of this application. Furthermore, it should be understood that the schematic drawings are not drawn to scale. The flowcharts used in this application illustrate operations implemented according to some embodiments of this application. It should be understood that the operations in the flowcharts may not be implemented in sequence, and steps without logical contextual relationships may be reversed or implemented simultaneously. In addition, those skilled in the art, guided by the content of this application, may add one or more other operations to the flowcharts, or remove one or more operations from the flowcharts.
[0026] Furthermore, the described embodiments are merely some, not all, of the embodiments of this application. The components of the embodiments of this application described and illustrated herein can typically be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0027] It should be noted that the term "comprising" will be used in the embodiments of this application to indicate the presence of the features declared thereafter, but does not exclude the addition of other features.
[0028] In existing technologies, load identification can be achieved based on a six-dimensional force / torque sensor at the end effector. Specifically, a six-dimensional force / torque sensor is installed between the robot's wrist flange and the end effector tool, and the robot's end effector is adjusted to multiple different postures. The readings of the six-dimensional force sensor under the corresponding postures are collected, and combined with the end effector posture information fed back by the robot, the projection relationship of gravity in the sensor coordinate system is established. The mass and center of mass of the load are then calculated by the averaging method.
[0029] However, this method typically assumes that the robot's posture data is accurate, and then transforms the gravity direction from the base coordinate system to the sensor coordinate system for calculation. If the robot itself has issues such as absolute positioning errors, installation tilt, or joint zero-point drift, the posture transformation matrix will be distorted, leading to incorrect gravity projection and ultimately causing systematic deviations in the identification of the center of mass and mass. Furthermore, this method is also limited by the robot's calibration status and the levelness of the installation environment, restricting its applicability and robustness under non-ideal working conditions.
[0030] Based on the aforementioned problems, this application proposes a robot end-effector load identification method. This method collects multiple sets of sensor data from various robot end-effector postures and constructs a spatial point cloud based on force data from these data sets. Then, using the spatial point cloud and the multiple sets of sensor data, the end-effector load mass and centroid vector are identified. This method eliminates the dependence on robot feedback posture during identification, thereby removing additional errors caused by robot feedback posture errors and improving the accuracy of load identification.
[0031] First, the relevant background of the robot end-effector load identification method provided in the embodiments of this application will be explained.
[0032] As can be understood, a robot refers to a programmable, multi-jointed automated device whose end effector (usually a wrist flange) can be fitted with different tools or grippers to perform tasks. The robot is equipped with a six-dimensional force / torque sensor at the end effector (typically mounted between the wrist flange and the tool). This sensor is used to measure in real time the forces (Fx, Fy, Fz) and torques (Mx, My, Mz) acting on the end effector in three directions.
[0033] Robot end effector load refers to all additional mass mounted on the robot's wrist flange, including the end effector itself and the workpiece being gripped or grasped. The end effector itself can be, for example, a gripper, suction cup, or welding torch. The workpiece being gripped or grasped can be, for example, the object the robot is handling.
[0034] The robot's end-effector attitude refers to the position and orientation of the robot's end effector (along with its load) in three-dimensional space. As the robot moves, its end effector will reach different spatial points (positions) and point in different directions (attitudes). In this solution, the robot needs to actively move to multiple different end-effector attitudes and collect sensor data corresponding to each attitude.
[0035] It is understood that by implementing the robot end-effector load identification method provided in the embodiments of this application, the mass and centroid vector of the load can be accurately identified, thereby enabling automated and intelligent robot control in scenarios such as high-precision motion control and trajectory planning, or compliant control and collision detection, through the mass and centroid vector of the load.
[0036] For example, the following embodiments of this application use a serial 6-DOF robot as an example to illustrate the robot end-effector load identification method provided in this application, wherein all joints are rotary joints. Figure 1 This is a schematic diagram of coordinate system parameters for a robot end-effector load identification method provided in this application embodiment. The configuration and local coordinate systems and MDH parameters of each joint actuator are defined according to the Modified Denavit-Hartenberg Convention (MDH) modeling method, as shown below. Figure 1 As shown, the direction of gravity is In this series 6-DOF robot, a 6-dimensional force sensor is installed at the output end (i.e., end flange) of the 6 joints (i=6), and the load is installed on the sensor.
[0037] The robot end-effector load identification method provided in this application will be described in detail below with reference to several embodiments.
[0038] Figure 2 This is a flowchart illustrating a robot end-effector load identification method provided in an embodiment of this application, with reference to... Figure 2 As shown, the subject executing this method can be any electronic device with processing capabilities, and the method includes: S201. Collect multiple sets of sensor data of the robot in multiple end-effector postures.
[0039] Optionally, the robot can be controlled to move to multiple different end-effector postures, and sensor data corresponding to each end-effector posture can be collected as multiple sets of sensor data for the robot in multiple end-effector postures. Among them, each set of sensor data includes: force data and torque data of the robot in the corresponding end-effector posture.
[0040] Specifically, a load is installed on the robot's end effector to control the robot to move slowly at low speeds, changing the end effector's posture, and recording the readings from the 6-dimensional force-torque sensor. Alternatively, statically acquire readings from 6D force-torque sensors under multiple end-effector postures. The amount of data collected and recorded needs to exceed a preset threshold, which can be 50, and the range of posture changes should be large enough to meet the stimulation required for recognition.
[0041] For example, continuing with the example of a serial 6-DOF robot, the robot is controlled to start from an angle of 0 degrees at each joint, and the robot's 4th, 5th, and 6th joints are slowly rotated in sequence at a speed of 2° per second. The 4th joint rotates 70° in the positive direction, the 5th joint rotates 70° in the negative direction, and the 6th joint rotates 70° in the positive direction. The readings of the 6-dimensional force-torque sensor are recorded every 0.1 seconds, and a total of 1050 sets of data are obtained.
[0042] S202. Based on the force data from multiple sets of sensor data, a spatial point cloud set is constructed.
[0043] It's worth noting that during the robot's end-effector posture changes, the magnitude and direction of gravity remain constant, and the point of application of gravity is the center of mass. According to the principle of relative motion, with the fixed load itself as the reference coordinate system, the change in the robot's end-effector posture can be considered as the gravity vector constantly changing its direction on a sphere centered at the center of mass with the magnitude of gravity as its radius. Furthermore, if the robot's end-effector also undergoes translational motion in addition to posture changes (e.g., rotation), the change in its end-effector posture can still be considered as the gravity vector constantly changing its direction on a sphere centered at the center of mass with the magnitude of gravity as its radius. Under quasi-static conditions, the external force measured by the sensors can be approximated as only gravity.
[0044] In other words, the force data in each set of sensor data can be regarded as a coordinate point in three-dimensional space, forming a three-dimensional point cloud.
[0045] Optionally, a point cloud can be constructed based on the force data in each set of sensor data, thereby obtaining a spatial point cloud set.
[0046] The spatial point cloud set comprises multiple point clouds, each corresponding one-to-one with force data from each sensor. Specifically, each set of sensor data contains a three-dimensional force vector. This represents the projection of the gravity measured by the sensor in the current attitude onto its own coordinate system. Each They are all three-dimensional vectors pointing to different objects, but the magnitude (i.e., size) of the three-dimensional vector should be approximately equal to mass × gravitational acceleration.
[0047] For example, all As points in three-dimensional space, a spatial point cloud set is constructed.
[0048] S203. Based on the spatial point cloud set and multiple sets of sensor data, the end-effector load parameters of the robot are identified.
[0049] Optionally, after obtaining the spatial point cloud set, a spherical fitting can be performed on the spatial point cloud set, and the end-effector load parameters of the robot can be identified through multiple sets of sensor data.
[0050] Optionally, after obtaining the spatial point cloud set, the spatial point cloud set can be fitted using the point cloud method to obtain the end load mass, and based on the end load mass, the centroid vector of the end load can be identified using the static equation.
[0051] The end-effector load parameters include the end-effector load mass and the end-effector load centroid vector. Specifically, the end-effector load mass refers to the total mass of all additional objects mounted on the robot's end flange. The end-effector load centroid vector is a three-dimensional vector representing the offset of the overall center of gravity of the end-effector load relative to the coordinate system of the end-effector sensor itself.
[0052] In this embodiment, multiple sets of sensor data are collected from the robot under various end-effector postures. A spatial point cloud is constructed based on the force data within these sensor sets. Then, using the spatial point cloud and the multiple sensor data, the robot's end-effector load mass and centroid vector are identified. This method allows for the identification of the robot's end-effector load mass and centroid vector without relying on the robot's own posture feedback accuracy. This effectively avoids identification deviations caused by absolute positioning errors, installation tilt, or joint zero-point drift, thus eliminating the dependence on the robot's feedback posture during the identification process and removing additional errors caused by robot feedback posture errors. This improves the accuracy and robustness of load identification. Furthermore, since it no longer relies on high-precision calibration and horizontal installation, the levelness requirements for the robot's installation environment are lower, making it suitable for non-ideal working conditions. It can also be widely applied in automation scenarios requiring frequent end-effector replacement, supporting rapid and automated load parameter calibration, and improving production efficiency and system intelligence.
[0053] In one possible implementation, Figure 3 This is a schematic flowchart illustrating the process of identifying the robot's end-effector load parameters in the robot end-effector load identification method provided in this application embodiment. (Refer to...) Figure 3 As shown, in step S202 above, the robot's end-effector load parameters are identified based on the spatial point cloud set and multiple sets of sensor data, including: S301. Based on the spatial point cloud set, the end-effector load mass of the robot is identified.
[0054] Optionally, a spherical fit can be performed on the spatial point cloud set, and the end-effector load mass of the robot can be identified through the fitted sphere.
[0055] Optionally, the spatial point cloud set can be fitted using the point cloud method, and the end load quality can be identified.
[0056] By using a spatial point cloud set, the end-effector load mass of the robot can be identified. This makes the mass identification rely solely on the spatial point cloud set composed of force data, completely eliminating the influence of the robot's own calibration accuracy. Even if the robot is installed crookedly or the zero point is inaccurate, the load mass can still be accurately identified.
[0057] S302. Based on multiple sets of sensor data, the centroid vector of the robot's end-effector load is identified.
[0058] Optionally, the mass of the robot's end-effector's center of mass can be identified using static equations based on data from multiple sensors.
[0059] Optionally, the mass of the robot's end-effector's center of mass can be identified using static equations based on data from multiple sensors.
[0060] By using data from multiple sensors, the centroid vector of the robot's end effector load is identified. This eliminates the influence of the difference between the theoretical and actual postures on the centroid vector identification, avoiding cross product calculation errors caused by posture errors and improving the accuracy and robustness of centroid identification. Furthermore, the joint solution using multiple sensor data sets enhances noise resistance and improves estimation stability.
[0061] In one possible implementation, Figure 4 This is a schematic flowchart illustrating the process of identifying the end-effector load mass of a robot in the robot end-effector load identification method provided in this application embodiment, with reference to... Figure 4 As shown, in step S301 above, the end-effector load mass of the robot is identified based on the spatial point cloud set, including: S401. Fit the point cloud in the spatial point cloud set to obtain the target sphere corresponding to the spatial point cloud set.
[0062] It can be understood that the point cloud in the spatial point cloud set is distributed on a 3D sphere. The radius of the sphere is the magnitude of gravity, and the center of the sphere is the position of the sensor's own zero point (i.e., the sensor's own reading when the external force is 0).
[0063] Optionally, the point cloud in the spatial point cloud set can be fitted to obtain the target sphere corresponding to the spatial point cloud set.
[0064] For example, continuing with the example of a serial 6-DOF robot, the target sphere can be obtained as shown below:
[0065] in, These are the coordinates of the sphere's center, i.e., the zero-point position of the sensor. Let be the radius of the sphere.
[0066] S402. Determine the radius of the target sphere and identify the end-effector load mass of the robot based on the radius of the target sphere.
[0067] Optionally, after obtaining the target sphere, the radius of the target sphere can be determined, and the end-effector load mass of the robot can be identified based on the radius of the target sphere.
[0068] For example, continuing with the case of a serial 6-DOF robot, after obtaining the target sphere, the following equation can be calculated:
[0069] Recorded as:
[0070] Based on this, we obtain:
[0071] Multiplying the pseudo-inverse of B by the left side of the expression yields the result. The fitted value is then used to obtain the fitted value of the radius r of the target sphere.
[0072] For example, after obtaining the radius r of the target sphere, the end-effector load mass of the robot can be calculated.
[0073] By fitting the point cloud in the spatial point cloud set, the target sphere corresponding to the spatial point cloud set is obtained, and the radius of the target sphere is determined. Based on the radius of the target sphere, the end-effector load mass of the robot is identified. This method can make full use of the spatial geometric characteristics of the gravity vector, completely skip the attitude transformation process, and completely eliminate the influence of attitude error. At the same time, it also has the advantages of strong noise resistance and high statistical stability.
[0074] In one possible implementation, Figure 5 This is another flowchart illustrating the process of identifying the end-effector load mass of the robot in the robot end-effector load identification method provided in this application embodiment, referred to [reference needed]. Figure 5 As shown, in step S402 above, the end-effector load mass of the robot is identified based on the radius of the target sphere, including: S501. Use the radius of the target sphere as the gravity value of the end load.
[0075] Optionally, using the radius of the target sphere as the gravity value of the end-load can eliminate the influence of the robot's own calibration error, remove systematic deviations, and obtain a more stable and realistic gravity value.
[0076] S502. Calculate the ratio of gravity value to gravitational acceleration constant to obtain the end load mass.
[0077] Optionally, the ratio of the gravity value to the gravitational acceleration constant is calculated, and the result is used as the end load mass.
[0078] In one possible implementation, Figure 6 This is another flowchart illustrating the process of identifying the end-effector load mass of the robot in the robot end-effector load identification method provided in this application embodiment, referred to [reference needed]. Figure 6 As shown, in step S302 above, the centroid vector of the robot's end effector load is identified based on multiple sets of sensor data, including: S601. Based on multiple sets of sensor data and a preset linear equation, the value of the first linear parameter in the linear equation is obtained by solving the equation.
[0079] Optionally, multiple sets of sensor data can be jointly solved with a preset linear equation to obtain the value of the first linear parameter in the linear equation.
[0080] The linear equation includes a first linear parameter and a second linear parameter. For example, the first linear parameter can represent the centroid vector, and the second linear parameter can represent the bias term. The bias term can represent additional terms such as sensor zero-point offset and external disturbances.
[0081] S602. Based on the value of the first linear parameter, the centroid vector of the robot's end-effector load is identified.
[0082] Optionally, after obtaining the value of the first linear parameter, the centroid vector of the robot's end-effector load can be identified.
[0083] In one possible implementation, step S601 above, based on multiple sets of sensor data and a preset linear equation, solves for the value of the first linear parameter in the linear equation, including: Force and torque data from multiple sets of sensor data are input into a preset linear equation to obtain multiple sets of linear equations; the linear fitting algorithm is used to solve each linear equation to obtain the values of the first linear parameter and the second linear parameter.
[0084] Optionally, force and torque data from multiple sets of sensor data can be input into a preset linear equation to obtain an overdetermined linear equation set, which includes multiple linear equations. The overdetermined linear equation set is solved by a linear fitting algorithm to obtain the values of the first linear parameter and the second linear parameter.
[0085] Optionally, for each In the sensor's own reference frame, let the load centroid vector be denoted as The sensor zero point is Then we have: .in Let the vector be a constant. The above equation represents a linear relationship, and there are multiple sets of... When measuring numerical values, the first linear parameter can be obtained using a linear fitting algorithm. The value of the second linear parameter The value of .
[0086] For example, continuing with the example of a serial 6-DOF robot, It can be further rewritten as follows:
[0087] Combining all the data yields:
[0088] By left-multiplying the pseudo-inverse of M to the left side of the expression, we can obtain... The fitted value.
[0089] By inputting force and torque data from multiple sets of sensor data into a preset linear equation, multiple sets of linear equations are obtained. The linear fitting algorithm is then used to solve each linear equation to obtain the values of the first and second linear parameters. This fully utilizes the information redundancy of multiple sets of observation data, improving the accuracy and robustness of parameter estimation. Furthermore, it does not rely on the robot's own posture feedback or kinematic model, significantly enhancing its applicability under non-ideal working conditions.
[0090] In one possible implementation, the process of identifying the centroid vector of the robot's end effector load based on the value of the first linear parameter in step S602 includes: The value of the first linear parameter is used as the centroid vector of the robot's end-effector load.
[0091] Optionally, the value of the first linear parameter can be used as the centroid vector of the robot's end effector load, allowing the centroid vector to be identified without additional coordinate transformations or scaling calculations. This not only simplifies the algorithm process and improves computational efficiency, but more importantly, it avoids indirect calculation errors caused by factors such as robot posture errors and installation deviations, significantly improving the accuracy of centroid identification and the robustness of the system.
[0092] Based on the same inventive concept, this application also provides a robot end-effector load identification device corresponding to the robot end-effector load identification method. Since the principle of the device in this application is similar to the robot end-effector load identification method described above in this application, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.
[0093] Reference Figure 7 As shown, Figure 7This is a schematic diagram of a robot end-effector load identification device provided in an embodiment of this application. The device includes: a data acquisition module 701, a construction module 702, and an identification module 703. The data acquisition module 701 is used to acquire multiple sets of sensor data of the robot under multiple end-effector postures. Each set of sensor data includes: force data and torque data of the robot under the corresponding end-effector posture. The construction module 702 is used to construct a spatial point cloud set based on the force data in the multiple sets of sensor data. The spatial point cloud set includes multiple point clouds, and each point cloud corresponds one-to-one with the force data in each set of sensor data. The identification module 703 is used to identify the end-effector load parameters of the robot based on the spatial point cloud set and the multiple sets of sensor data. The end-effector load parameters include the end-effector load mass and the end-effector load centroid vector.
[0094] As one possible implementation, the identification module 703 is specifically used for: The end-effector load mass of the robot is identified based on the spatial point cloud set. Based on the multiple sets of sensor data, the centroid vector of the robot's end-effector load is identified.
[0095] As one possible implementation, the identification module 703 is specifically used for: The point cloud in the spatial point cloud set is fitted to obtain the target sphere corresponding to the spatial point cloud set; The radius of the target sphere is determined, and the end-effector load mass of the robot is identified based on the radius of the target sphere.
[0096] As one possible implementation, the identification module 703 is specifically used for: The radius of the target sphere is used as the gravity value of the end load; The ratio of the gravity value to the gravitational acceleration constant is calculated to obtain the mass of the end load.
[0097] As one possible implementation, the identification module 703 is specifically used for: Based on the multiple sets of sensor data and the preset linear equation, the value of the first linear parameter in the linear equation is obtained by solving the equation. The linear equation includes the first linear parameter and the second linear parameter. Based on the value of the first linear parameter, the centroid vector of the robot's end-effector load is identified.
[0098] As one possible implementation, the identification module 703 is specifically used for: The force and torque data from the multiple sets of sensor data are input into a preset linear equation to obtain multiple sets of linear equations; The linear equations are solved by a linear fitting algorithm to obtain the values of the first linear parameter and the second linear parameter.
[0099] As one possible implementation, the identification module 703 is specifically used for: The value of the first linear parameter is used as the centroid vector of the robot's end-effector load.
[0100] The processing flow of each module in the device and the interaction flow between each module can be referred to the relevant descriptions in the above method embodiments, and will not be detailed here.
[0101] This application also provides an electronic device, such as... Figure 8 As shown, Figure 8 The schematic diagram of the electronic device structure provided in the embodiments of this application includes: a processor 801 and a memory 802, and optionally, a bus 803. The memory 802 stores machine-readable instructions that can be executed by the processor 801. When the electronic device is running, the processor 801 and the memory 802 communicate through the bus 803, and the processor 801 executes the machine-readable instructions to perform the steps of the above-described robot end-effector load identification method.
[0102] This application also provides a computer-readable storage medium storing a computer program, which, when run by a processor, executes the steps of the above-described robot end-effector load identification method.
[0103] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems and devices described above can be referred to the corresponding processes in the method embodiments, and will not be repeated here. In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed mutual coupling or direct coupling or communication connection can be through some communication interfaces; the indirect coupling or communication connection of devices or modules can be electrical, mechanical, or other forms.
[0104] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. If the functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes: USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, optical disks, and other media capable of storing program code.
[0105] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. A method for identifying the load at the end effector of a robot, characterized in that, include: Collect multiple sets of sensor data for the robot in various end-effector postures. Each set of sensor data includes: force data and torque data of the robot in the corresponding end-effector posture. Based on the force data in the multiple sets of sensor data, a spatial point cloud set is constructed. The spatial point cloud set includes multiple point clouds, and each point cloud corresponds one-to-one with the force data in each set of sensor data. Based on the spatial point cloud set and the multiple sets of sensor data, the end-effector load parameters of the robot are identified. The end-effector load parameters include: end-effector load mass and end-effector load centroid vector.
2. The robot end-effector load identification method according to claim 1, characterized in that, The step of identifying the robot's end-effector load parameters based on the spatial point cloud set and the multiple sets of sensor data includes: The end-effector load mass of the robot is identified based on the spatial point cloud set. Based on the multiple sets of sensor data, the centroid vector of the robot's end-effector load is identified.
3. The robot end-effector load identification method according to claim 2, characterized in that, The step of identifying the end-effector payload mass of the robot based on the spatial point cloud set includes: The point cloud in the spatial point cloud set is fitted to obtain the target sphere corresponding to the spatial point cloud set; The radius of the target sphere is determined, and the end-effector load mass of the robot is identified based on the radius of the target sphere.
4. The robot end-effector load identification method according to claim 3, characterized in that, The step of identifying the end-effector load mass of the robot based on the radius of the target sphere includes: The radius of the target sphere is used as the gravity value of the end load; The ratio of the gravity value to the gravitational acceleration constant is calculated to obtain the mass of the end load.
5. The robot end-effector load identification method according to claim 2, characterized in that, The step of identifying the centroid vector of the robot's end effector load based on the multiple sets of sensor data includes: Based on the multiple sets of sensor data and the preset linear equation, the value of the first linear parameter in the linear equation is obtained by solving the equation. The linear equation includes the first linear parameter and the second linear parameter. Based on the value of the first linear parameter, the centroid vector of the robot's end-effector load is identified.
6. The robot end-effector load identification method according to claim 5, characterized in that, The step of solving for the value of the first linear parameter in the linear equation based on the multiple sets of sensor data and the preset linear equation includes: The force and torque data from the multiple sets of sensor data are input into a preset linear equation to obtain multiple sets of linear equations; The linear equations are solved by a linear fitting algorithm to obtain the values of the first linear parameter and the second linear parameter.
7. The robot end-effector load identification method according to claim 5, characterized in that, The step of identifying the centroid vector of the robot's end effector load based on the value of the first linear parameter includes: The value of the first linear parameter is used as the centroid vector of the robot's end-effector load.
8. A robot end-effector load identification device, characterized in that, include: The data acquisition module is used to collect multiple sets of sensor data of the robot in multiple end-effector postures. Each set of sensor data includes: force data and torque data of the robot in the corresponding end-effector posture. The construction module is used to construct a spatial point cloud set based on the force data in the multiple sets of sensor data. The spatial point cloud set includes multiple point clouds, and each point cloud corresponds one-to-one with the force data in each set of sensor data. The identification module is used to identify the end-effector load parameters of the robot based on the spatial point cloud set and the multiple sets of sensor data. The end-effector load parameters include the end-effector load mass and the end-effector load centroid vector.
9. An electronic device, characterized in that, include: The device includes a processor and a memory, the memory storing machine-readable instructions executable by the processor, which, when the electronic device is in operation, are executed by the processor to perform the steps of the robot end-effector load identification method as described in any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the steps of the robot end-effector load identification method as described in any one of claims 1 to 8.