Method for rapid weighing of mechanical arm end load and cooking robot

By calculating the measured current and angle of the robotic arm joints and using the Jacobian matrix to calculate the end-effector load mass, the problem of traditional robotic arms relying on external sensors is solved, enabling fast and accurate load detection and improving the efficiency and applicability of cooking robots.

CN121018604BActive Publication Date: 2026-01-27ENCOSMART TECHNOLOGY (BEIJING) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511565091.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-10-30
Publication Date
2026-01-27
Estimated Expiration
2045-10-30

AI Technical Summary

Technical Problem

Traditional cooking robot arms rely on external force sensors for their weighing function, which increases the complexity and cost of the equipment. They also have a slow response time, which cannot meet the real-time requirements of rapid cooking and affects the quality and efficiency of cooking.

Method used

By acquiring the measured current and joint angle of each joint in the current posture of the robotic arm, the static torque and static torque are calculated. The end-load mass is calculated using the transpose of the Jacobian matrix. Load detection is achieved directly using the current loop feedback signal of the robotic arm drive motor, avoiding the installation and wear of external sensors.

Benefits of technology

It enables rapid and accurate weighing of the load at the end of the robotic arm, improving cooking efficiency. It is suitable for real-time requirements in scenarios such as high-speed sorting and assembly, while reducing equipment cost and complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121018604B_ABST
    Figure CN121018604B_ABST
Patent Text Reader

Abstract

The application provides a kind of mechanical arm end load fast weighing method and cooking robot.Application is applied to robot data processing field.The method comprises: obtaining the measured current of each joint under the action of end load when mechanical arm is in current posture q and joint angle;According to the measured current, the static torque r of each joint of the mechanical arm is calculated;According to joint angle, the static torque G (q) generated by each link gravity to each joint of the mechanical arm under current posture q is calculated;According to the static torque r and static torque G (q) of each joint, the torque rload generated by the end load of the mechanical arm to each joint is calculated;According to the torque rload generated by the end load of the mechanical arm to each joint and the transpose of corresponding Jacobian matrix, the end load mass of the mechanical arm is calculated.The application realizes the fast and accurate weighing of the end load of the mechanical arm.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robot data processing, specifically to a rapid weighing method for the end effector load of a robotic arm and a cooking robot. Background Technology

[0002] In the process of automation development in the modern catering industry, cooking robots are gradually emerging. The robotic arm, as its core component, undertakes a series of complex and crucial cooking actions, including grasping, transferring, stir-frying, and adding seasonings. To ensure the accuracy of ingredient and / or seasoning dosage during cooking and to guarantee the consistency and stability of the dish's flavor, the robotic arm needs to have the ability to accurately sense the load weight.

[0003] Traditional cooking robot arms rely on external devices such as force sensors for their weighing function, a solution with significant drawbacks. Firstly, these external devices require additional installation space, increasing the size and complexity of the robot arm and leading to higher costs for adaptation, use, and maintenance. Furthermore, sensor cables are prone to wear and tear during frequent robot arm movements, affecting the accuracy of load sensing and the stability of the device. Secondly, traditional force sensors have slow response times, failing to meet the real-time demands of rapid cooking, and are susceptible to dynamic interference during robot arm movement, making stable load detection under motion difficult and consequently impacting cooking quality and efficiency. Summary of the Invention

[0004] In view of this, the present invention provides a rapid weighing method for the end effector load of a robotic arm, comprising:

[0005] When the robotic arm is in its current posture q, the measured current and joint angle of each joint under the action of the end effector load are obtained;

[0006] Calculate the static torque r of each joint based on the measured current;

[0007] Calculate the static torque G(q) generated by the gravity of each link on each joint of the robotic arm in the current posture q based on the joint angle;

[0008] The torque rload generated by the end load of the robotic arm on each joint is calculated based on the static torque r and static torque G(q) of each joint.

[0009] The end-load mass of the robotic arm is calculated based on the torque rload generated by the end-load of the robotic arm on each joint and the transpose of the corresponding Jacobian matrix. The transpose of the Jacobian matrix is ​​obtained from the joint angle under the current posture q.

[0010] Optionally, calculating the static torque r of each joint based on the measured current includes:

[0011] Obtain the pre-established mapping relationship between current and static torque;

[0012] The static torque r of each joint is obtained based on the measured current and the pre-established mapping relationship between current and static torque.

[0013] Optionally, the step of calculating the static torque G(q) generated by the gravity of each link on each joint of the robotic arm in the current posture q based on the joint angle includes:

[0014] A mapping relationship between the angles of each joint and the static torque r under no-load conditions is established in advance;

[0015] Based on the joint angles and the mapping relationship between the joint angles and the static torque r, the static torque G(q) generated by the gravity of each link on each joint of the robotic arm in the current posture q is obtained.

[0016] Optionally, the torque rload generated by the end-effector load on each joint is calculated using the following method:

[0017] rload=rG(q).

[0018] Optionally, calculating the torque rload generated by the end effector load of the robotic arm on each joint further includes:

[0019] Obtain the no-load current of each joint of the robotic arm when the end effector is unloaded in the current posture q.

[0020] The error value is calculated based on the measured current of each joint and the no-load current of the corresponding joint, and the current difference of each joint under the current posture q when it is in the end-load and no-load state is obtained.

[0021] The torque rload generated by the end load of the robotic arm on each joint is calculated based on the current difference and the fitting coefficient matrix, wherein the fitting coefficient matrix is ​​obtained from the joint angle.

[0022] Optionally, the torque rload generated by the end-effector load on each joint is calculated using the following method:

[0023] rload=(Ib) / W,

[0024] Where I represents the current difference between the end load and no load states of each joint, b represents the constant deviation term, and W represents the fitting coefficient matrix.

[0025] Optionally, calculating the torque rload generated by the end effector load of the robotic arm on each joint further includes:

[0026] The total torque generated by the end load of the robotic arm on each joint is obtained by using a neural network model to predict based on the measured current and the joint angle.

[0027] The torque rload generated by the end load of the robotic arm on each joint is obtained by subtracting the static torque G(q) generated by the gravity of each link on each joint from the total torque generated by the end load of the robotic arm on each joint.

[0028] Optionally, the end effector mass of the robotic arm can be calculated using the following method:

[0029] m=rload / J T (q)g,

[0030] Where m represents the end-effector load mass of the robotic arm, J T (q) denotes the transpose of the Jacobian matrix, and g denotes the gravitational acceleration.

[0031] Optionally, calculating the end-effector load mass of the robotic arm further includes:

[0032] The end effector load mass of the robotic arm is compensated using an error compensation model; or,

[0033] The transpose of the Jacobian matrix is ​​corrected by the offset of the end-load center of gravity of the robotic arm, and the end-load mass of the robotic arm is calculated based on the torque rload generated by the end-load of the robotic arm on each joint and the transpose of the corrected Jacobian matrix.

[0034] A second aspect of the present invention provides a cooking robot comprising: a robotic arm and a processing device; wherein the end of the robotic arm is used to grasp a cooking utensil, and the processing device is used to perform the aforementioned rapid weighing method for the end-of-arm load.

[0035] This invention obtains the measured current and joint angles of each joint under the current posture q of the robotic arm when the end-effector load is applied. To ensure data accuracy, the current data is filtered. Next, the static torque r of each joint is calculated based on the measured current, and the static torque G(q) generated by the gravity of each link on the joint is calculated based on the joint angle. Then, the torque rload generated by the end-effector load on each joint is calculated using the static torque r and static torque G(q), eliminating the influence of gravity on the joints. Finally, the end-effector load mass is calculated using this torque and the transpose of the Jacobian matrix. These steps are interconnected and together achieve accurate weighing of the end-effector load. This method breaks through the traditional model of relying on external devices such as force sensors for end-effector weighing, directly using the current loop feedback signal of the robotic arm drive motor to achieve load detection, saving the installation space, adaptation, and cost of force sensors, while avoiding the risk of force sensor cable wear during movement. Furthermore, by quantifying the influence of link gravity and separating the end-effector load torque, it solves the problem that the current signal is difficult to accurately reflect the end-effector load under high reduction ratios. Based on the real-time performance of the current loop, a dynamic current signal filtering and load calculation algorithm is designed, which enables the robotic arm to quickly complete the weighing after contacting the load at the end. Compared with traditional sensors, the weighing speed is greatly improved, thereby improving the efficiency of cooking. This method is also applicable to the real-time requirements of high-speed sorting, assembly and other scenarios. Attached Figure Description

[0036] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0037] Figure 1 This is a flowchart of a rapid weighing method for the end effector load of a robotic arm in an embodiment of the present invention;

[0038] Figure 2 This is a structural diagram of the cooking robot in an embodiment of the present invention;

[0039] Figure 3 This is a flowchart of a rapid weighing method for the end effector load of a robotic arm according to an embodiment of the present invention. Detailed Implementation

[0040] The technical solution of the present invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0041] In the description of this invention, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing the invention and for simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.

[0042] In the description of this invention, it should be noted that, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; they can also refer to the internal connection of two components; and they can refer to a wireless connection or a wired connection. Those skilled in the art can understand the specific meaning of the above terms in this invention based on the specific circumstances.

[0043] Furthermore, the technical features involved in the different embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.

[0044] like Figure 1 As shown, this embodiment of the invention provides a rapid weighing method for the end effector load of a robotic arm. This method is executed by the processing equipment of a cooking robot and specifically includes:

[0045] S1, obtain the measured current and joint angle of each joint under the action of the end effector when the robotic arm is in the current posture q.

[0046] The rapid weighing method for the end effector load of the robotic arm provided in this embodiment is designed based on the characteristics of multi-joint robotic arms. Figure 2 This paper uses a cooking robot with a three-joint robotic arm as an example for illustration. As a typical example of a multi-joint robotic arm, the three-joint robotic arm has three movable joints 11. Through various combinations of the angles of these three joints, the robotic arm can present a wide variety of postures. In this embodiment, the end effector of the robotic arm is used to grasp cooking utensils. The end effector load is specifically the load borne by the outermost joint, i.e., the cooking utensils and ingredients grasped by the end effector.

[0047] During formal weighing, the robotic arm in this example moves under load in a plane perpendicular to the horizontal direction (x-axis). This solution can also be extended to allow the robotic arm to move freely in a plane not perpendicular to the x-axis. For data acquisition, a current loop from the servo driver is used to obtain the measured current. This current loop has real-time reading capabilities, accurately acquiring the drive current of each joint of the robotic arm under end-effector load, while simultaneously recording the specific angle of each joint in the current posture.

[0048] When acquiring the measured current of each joint, another method is to continuously collect, for example, 100 current data points for each joint at 1ms intervals under the current posture q. Subsequently, the current data of each joint is processed using a moving average filter or a first-order IIR low-pass filter algorithm to obtain the corresponding measured current, thereby effectively removing high-frequency disturbances.

[0049] The current posture q refers to the spatial position and angular state of the robotic arm at a specific moment.

[0050] In the scenario of multi-joint robotic arms (such as the three-joint robotic arm in the example), the robotic arm can present a variety of postures through different combinations of joint angles. The current posture q is determined by the specific angles of each joint, and these specific combinations of angles uniquely define the position and orientation of the robotic arm in space.

[0051] S2, calculate the static torque r of each joint based on the measured current.

[0052] In this embodiment, the static torque is calculated as the effect of the forces exerted on each joint of the robotic arm in its current posture q, causing the joints to tend to rotate. It reflects the resistance torque that each joint needs to overcome or the driving torque required to maintain stability in the current state.

[0053] In some optional embodiments of this example, step S2, which calculates the static torque r of each joint based on the measured current, specifically includes:

[0054] S21, obtain the pre-established mapping relationship between current and static torque.

[0055] The mapping relationship between current and static torque in this embodiment was calibrated in a laboratory environment for each joint of the robotic arm. Specifically, different magnitudes of drive current were applied to each joint of the robotic arm, and the static torque corresponding to each current value was measured and recorded. After collecting and analyzing a large amount of data, a mapping table between drive current and static torque was finally obtained.

[0056] S22, the static torque r of each joint is obtained based on the measured current and the pre-established mapping relationship between current and static torque.

[0057] Once the measured current of each joint of the robotic arm is obtained, the corresponding static torque value is found by consulting a mapping table. This value is the static torque *r* that the joint experiences under the current measured current. This mapping table-based calculation method utilizes the accurate pre-calibrated correspondence to calculate the static torque of each joint with relatively high precision.

[0058] This embodiment obtains a pre-calibrated mapping table between current and static torque, and then looks up the mapping table based on the measured current to accurately calculate the static torque of each joint of the robotic arm. This method avoids complex theoretical calculations and errors caused by differences in actual working conditions. By utilizing the mapping relationship calibrated from a large amount of laboratory data, the accuracy and reliability of static torque calculation are improved. This lays a solid foundation for subsequent separation of end-load torque and accurate calculation of end-load mass, and helps to achieve precise weighing of the end-load of the robotic arm.

[0059] S3, calculate the static torque G(q) generated by the gravity of each link on each joint of the robotic arm in the current posture q, based on the joint angle.

[0060] like Figure 2 In this design, the robotic arm consists of multiple joints 11 and links 12 connecting the joints. Each link 12 has a certain mass. Under the influence of gravity, the weight of these links 12 exerts a force on the connected joints 11, causing the joints to rotate. This force is manifested as torque. Therefore, the static torque G(q) generated by the weight of each link at each joint can be calculated using the known joint angles. The torque generated by the links under gravity can interfere with the accurate measurement of the torque generated by the end-effector load. Calculating the static torque G(q) in step S3 quantifies the influence of the link weight, laying the foundation for subsequently separating the torque generated by the end-effector load.

[0061] In some optional embodiments of this example, step S3, which calculates the static torque G(q) generated by the gravity of each link on each joint of the robotic arm in the current posture q based on the joint angle, specifically includes:

[0062] S31, pre-establish the mapping relationship between the angles of each joint and the static torque r under no-load conditions.

[0063] The mapping relationship between the angles of each joint and the static torque in this embodiment is based on a laboratory environment where the robotic arm is in a state of no load at its end effector, and the robotic arm is adjusted to various static postures q. (k) q (k) The k-th static attitude being acquired refers to the static torque r obtained by collecting different angle combinations through model calculation or pre-simulation. (k) G in the no-load state (k)(q). Based on multiple sets of q (k) With r (k) A system of linear equations is constructed, and parameters γ are estimated using, for example, least squares, to establish the mapping relationship between joint angles and static torques. The overall static torque r(q) generated by the gravity of each link of the robotic arm on the joint is the static torque rq generated by different angle combinations. (k) Composition. r(q) satisfies the linear expression r(q) = Y(q) × γ with respect to parameter γ, where γ includes the mass and center of mass position of each link, and Y... i Y(q) is the regression matrix for a single link, and Y(q) is the overall regression matrix containing multiple single links. Furthermore, Y... i (q)=[[J ωi ] T ×g J vi (o) [Tg](Dimension: number of joints × 4), , among which, [J ωi ] T J is the transpose of the Jacobian matrix of the angular velocity of the i-th link. vi (o) (q) is the Jacobian matrix of the linear velocity at the origin of the i-th link, [ ]× represents the cross product matrix, g is the gravitational acceleration, Tg is the transformation term of the gravity vector, and n represents the number of links.

[0064] In this embodiment, the more diverse the poses collected, the more accurate the final mapping relationship will be. This application samples the extreme and intermediate positions that appear. In some possible implementations, this application is applicable to scenarios with high accuracy requirements, in which case at least 200 different angle combinations are taken for each joint, with a sampling density of, for example, 2 degrees, 1 degree, or even less. In other possible implementations, this application is also applicable to scenarios with low accuracy requirements, where 20 to 50 different angle combinations can be selected.

[0065] S32, based on the joint angles and the mapping relationship between the angles of each joint and the static torque r, the static torque G(q) generated by the gravity of each link on each joint of the robotic arm under the current posture q is obtained.

[0066] When the robotic arm is in its current posture q, the specific angles of each joint have been obtained. At this point, by querying the pre-established mapping relationship between the angles of each joint and the static torque r, the static torque value corresponding to the current joint angle is found. This value is the static torque G(q) generated by the gravity of each link on each joint under the current posture q. This method of querying the mapping relationship avoids re-performing complex model calculations every time a load is weighed, thus improving computational efficiency.

[0067] This embodiment establishes a pre-defined mapping relationship between the angles of each joint and the static torque *r* under no-load conditions. During actual weighing, this mapping relationship can be queried based on the current joint angle to quickly obtain the static torque generated by the gravity of each link on each joint of the robotic arm. This method avoids complex model calculations for each weighing, saving computation time and improving the efficiency of the weighing process. Furthermore, the mapping relationship obtained through pre-calculation or simulation has high accuracy, providing a reliable guarantee for accurately separating the end-load torque and achieving precise weighing of the end-load of the robotic arm.

[0068] For example, the torque rload generated by the end effector load of the robotic arm on each joint is calculated using the following method:

[0069] rload=rG(q).

[0070] This embodiment separates the torque rload generated by the end load on the joint by subtracting the static torque G(q) generated by the gravity of the corresponding link from the static torque r of each joint. This removes the interference of the link gravity, making the subsequent calculation of the end load mass based on the torque rload of each joint more accurate.

[0071] S4. Calculate the torque rload generated by the end load of the robotic arm on each joint based on the static torque r and static torque G(q) of each joint.

[0072] From a mechanical equilibrium perspective, the static torque *r* borne by each joint of the robotic arm is generated under the combined action of the gravity of the corresponding links and the end-effector load. Therefore, the torque *rload* generated by the end-effector load on each joint of the robotic arm can be calculated based on the static torque *r* and static torque *G(q)* of each joint. By calculating and separating the torque *rload* generated by the end-effector load on the joint individually, the influence of the gravity of each link is eliminated, which can be used for subsequent accurate calculation of the end-effector load mass.

[0073] In step S4, besides calculating the torque rload generated by the end-effector load on each joint based on the static torque r and static torque G(q) of each joint, there are other ways to calculate the torque rload generated by the end-effector load on each joint, specifically:

[0074] In another possible implementation, step one is to obtain the no-load current of each joint of the robotic arm in the current posture q when the end effector is unloaded.

[0075] In this embodiment, the no-load current is obtained by first placing the robotic arm in a no-load state at its end in a laboratory environment, adjusting the joints of the robotic arm to different joint angles, and recording the current value corresponding to each joint at each joint angle, thereby establishing a mapping relationship between joint angles and no-load current. When the robotic arm is in the current posture q, the no-load current of each joint in that posture can be obtained by querying this pre-established mapping relationship through the joint angles of each joint.

[0076] Step 2: Calculate the error value based on the measured current of each joint and the corresponding no-load current of the joint to obtain the current difference between the end load and no-load states of each joint under the current posture q.

[0077] In a real-world scenario where the robotic arm's end effector is under load, the current at each joint is measured to obtain the actual current. The measured current at each joint is then subtracted from the corresponding unloaded current obtained earlier. The difference is the current difference between the joints under end-load and unloaded conditions. This current difference reflects the impact of the end-load on the joint current and is a crucial intermediate parameter for subsequently calculating the torque generated by the end-load.

[0078] Step 3: Calculate the torque rload generated by the end load of the robotic arm on each joint based on the current difference and the fitting coefficient matrix. The fitting coefficient matrix is ​​obtained from the joint angle.

[0079] The fitting coefficient matrix W was obtained through posture scanning experiments and linear least squares fitting. It reflects the sensitivity of the robotic arm's posture to the relationship between current and torque, and the value of this matrix is ​​related to the joint angle. Different joint angles correspond to different W values, and the influence of the end-effector load on the joint current and torque varies under different robotic arm postures q. Based on the obtained current difference, combined with the fitted weight matrix, the torque rload generated by the end-effector load on each joint can be calculated.

[0080] For example, the torque rload generated by the end-effector load of the robotic arm on each joint is calculated using the following method:

[0081] rload=(Ib) / W,

[0082] Where I represents the current difference between each joint when it is under end load and no load, b represents the constant deviation term, and W represents the fitting coefficient matrix.

[0083] The constant deviation term 'b' includes the influence of factors such as the weight and friction of each joint of the robotic arm on the current. These factors are relatively stable in actual operation, and the value of 'b' can be determined through prior experiments. It needs to be taken into account when calculating the torque generated by the end load to improve the accuracy of the calculation.

[0084] This embodiment calculates the torque generated by the end-effector load on each joint by acquiring the no-load current, calculating the current difference, and combining it with a fitting coefficient matrix. Compared to methods that calculate based on static torque and static force, this approach has unique advantages. By pre-establishing the mapping relationship between joint angles and no-load current, as well as the fitting coefficient matrix, in practical applications, only the measured current needs to be measured, and the torque generated by the end-effector load can be obtained through simple calculations. This method is suitable for some simple working scenarios where complex mechanical models and detailed attitude information are not required, reducing computational complexity and dependence on complex measuring equipment, improving computational efficiency and practicality, and providing crucial torque data for weighing end-effector loads quickly and accurately.

[0085] In another possible implementation, in step one, a neural network model is used to predict the total torque generated by the end load of the robotic arm on each joint based on the measured current and joint angle.

[0086] The neural network model in this embodiment is pre-trained based on test data. It learns the relationship between the measured current, joint angles, and the total torque generated by the end-effector load on each joint. The neural network model can be a multilayer perceptron (MLP), a radial basis function network (RBF), or a Gaussian process regression (GPR) model. In practical applications, the current measured current and joint angles are input into the neural network model, and the model can predict the total torque generated by the end-effector load on each joint.

[0087] Step 2: Subtract the static torque G(q) generated by the gravity of each link on each joint from the total torque generated by the end load of the robotic arm on each joint, to obtain the torque rload generated by the end load of the robotic arm on each joint.

[0088] Since the gravity of the links between the joints in the robotic arm also generates torque on the joints, the known static torque G(q) generated by the gravity of each link on each joint can be subtracted from the total torque of the end load obtained in step one. In this way, the torque rload generated purely by the end load on each joint can be separated.

[0089] This embodiment leverages the powerful predictive capabilities of neural network models to rapidly and accurately obtain the total torque of the end load by comprehensively considering factors such as measured current and joint angles. Then, by subtracting the static torque generated by the weight of the joints and connecting rods, the torque generated by the end load is precisely separated, and the load mass is finally calculated. This method is highly efficient and accurate, suitable for complex working conditions, reduces reliance on precise mechanical models, and improves the system's practicality and adaptability.

[0090] For example, the end-effector load mass of the robotic arm is calculated using the following method:

[0091] m=rload / J T (q)g,

[0092] Where m represents the end effector mass of the robotic arm, J T (q) denotes the transpose of the Jacobian matrix, and g denotes the gravitational acceleration.

[0093] Assuming the end load mass is m and the gravity is G=mg, the static torque it generates on each joint can be approximated by the Jacobian matrix torque transformation: rload=J T (q)F, where F is the downward gravitational force at the end, and F=[0,0,mg], then rload=J T (q)mg, from which we can deduce m=rload / J T (q)g.

[0094] The Jacobian matrix represents the mapping relationship between joint motion and tool center point (TCP) motion at the end effector. In an exemplary embodiment, the robotic arm has 3 rotational joints, and the TCP at the end effector has 6 degrees of freedom, including 3 translational degrees of freedom and 3 rotational degrees of freedom. Therefore, the Jacobian matrix J(q) has a dimension of 6×3, with 6 rows corresponding to the 6 degrees of freedom at the end effector and 3 columns corresponding to the 3 joints. Each element in the matrix, such as the element J{i,j} in the i-th row and j-th column, is determined by the angle θ of the j-th joint. j The DH parameters of the robotic arm determine the number of joints based on their corresponding angles. θ Together, they constitute the current pose q of the robotic arm.

[0095] First, the DH parameters of the robotic arm can be determined, including the length di of the i-th link, which is determined by the distance between adjacent joint axes in a plane perpendicular to the joint axis; the torsion angle αi of the i-th link, which is determined by the angle between adjacent joint axes; the offset βi of the i-th joint, which is determined by the distance between adjacent links on the joint axis; and the angle θ of the i-th rotary joint. i Based on the DH parameters, an independent coordinate system is established for each joint of the robotic arm, forming a coordinate system chain from the base coordinate system to the end effector TCP coordinate system. Then, the velocity mapping relationship of the end effector TCP is derived, and the Jacobian matrix J(q) is calculated, including translational and rotational velocities.

[0096] The angular velocity θ of the j-th joint j平移 This will cause the terminal TCP to generate a linear velocity, the magnitude of which is determined by the cross product of the position vector from the base to the j-th joint and the unit vector of the joint axis, corresponding to the j-th column element of the first 3 rows of the Jacobian matrix.

[0097] The angular velocity θ of the j-th joint j旋转 This will cause the terminal TCP to generate an angular velocity, the magnitude of which is determined by the unit vector of the joint axis, corresponding to the j-th element in the last 3 rows of the Jacobian matrix. By repeating the above calculation for each joint, the complete 6×3 dimensional Jacobian matrix J(q) can be filled.

[0098] Transpose the original Jacobian matrix J(q) by interchanging its rows and columns, and you get J T (q). The original J(q) is a 6×3 matrix, 6 rows and 3 columns. After transpose, J T J(q) is a 3×6 matrix, with 3 rows and 6 columns. The element J{i,j} in the i-th row and j-th column of J(q) is in the matrix J... T The element J in (q) becomes the element in the j-th row and i-th column. T {j,i}.

[0099] S5. Calculate the end-effector load mass of the robotic arm based on the torque rload generated by the end-effector load on each joint and the transpose of the corresponding Jacobian matrix. The transpose of the Jacobian matrix is ​​obtained from the joint angles under the current posture q.

[0100] In this embodiment, after removing the static torque G(q) caused by the gravity of the connecting rod on the joint through the above steps, the torque rload caused by only the end load on the joint is obtained.

[0101] The end-load mass of the robotic arm can be calculated using the torque rload of the joint obtained from the end-load and the transpose of the Jacobian matrix.

[0102] This embodiment obtains the measured current and joint angles of each joint under the current posture q of the robotic arm when the end-effector load is applied. To ensure data accuracy, the current data is filtered. Next, the static torque r of each joint is calculated based on the measured current, and the static torque G(q) generated by the gravity of each link on the joint is calculated based on the joint angle. Then, the torque rload generated by the end-effector load on each joint is calculated using the static torque r and static torque G(q), eliminating the influence of gravity on the joints. Finally, the end-effector load mass is calculated using this torque and the transpose of the Jacobian matrix. These steps are interconnected and together achieve accurate weighing of the end-effector load. This method breaks through the traditional model of relying on external devices such as force sensors for end-effector weighing, directly using the current loop feedback signal of the robotic arm drive motor to achieve load detection, saving the installation space, adaptation, and cost of force sensors, while avoiding the risk of wear and tear on force sensor cables during movement. Furthermore, by quantifying the influence of link gravity and separating the end-effector load torque, the problem of current signals being difficult to accurately reflect the end-effector load under high reduction ratios is solved. Based on the real-time performance of the current loop, a dynamic current signal filtering and load calculation algorithm is designed, which enables the robotic arm to quickly complete the weighing after contacting the load at the end. Compared with traditional sensors, the weighing speed is greatly improved, thereby improving the efficiency of cooking. This method is also applicable to the real-time requirements of high-speed sorting, assembly and other scenarios.

[0103] In step S5, in addition to calculating the end-effector load mass of the robotic arm by using the torque rload generated by the end-effector load on each joint and the transpose of the corresponding Jacobian matrix, the end-effector load mass of the robotic arm can also be calculated in the following ways:

[0104] This application also includes using an error compensation model to compensate for the end-effector load mass of the robotic arm.

[0105] This embodiment addresses the issue of inaccurate calculations of the end-effector load mass when the end-effector load is small, as current deviations are easily masked by static friction. Therefore, a friction model with hysteresis (Stribeck Curve) or an empirical method can be used for compensation. This involves using an error compensation model to compensate for the error in the end-effector load mass of the robotic arm, thus obtaining the true end-effector load mass.

[0106] Specifically, friction data for each joint is collected under no-load conditions. The joint speed range can be from stationary to 0.1° / s, 0.5° / s, 1° / s, 5° / s, etc., not exceeding the upper limit of the joint speed under light load to prevent excessive dynamic friction. Furthermore, each speed point is kept stable for 0.5s to ensure stable current signal. The joint motor current value I corresponding to each speed point is collected. actualThe system collects joint angle data and simultaneously acquires temperature data. For example, it collects data on the robotic arm within a temperature range of 10℃ to 40℃, with each 5℃ increment representing a temperature gradient, recording the current and speed data at each temperature. This data is repeated for each posture to ensure the model adapts to different weighing postures.

[0107] Using the offline calibration of the acquired current and force mapping parameters, the collected current values ​​are converted into joint output torque. After subtracting the static torque G(q) of the robotic arm's own linkage in that posture, the remaining torque is the pure friction torque. This results in a multi-dimensional training dataset of joint velocity, temperature, posture, and friction torque for subsequent training of the friction model.

[0108] To further improve the accuracy of weight detection for the end-effector load of the robotic arm, this application also includes a center of gravity error correction. The transpose of the Jacobian matrix is ​​corrected using the center of gravity offset of the end-effector load of the robotic arm, and the end-effector load mass of the robotic arm is calculated based on the torque rload generated by the end-effector load on each joint and the transpose of the corrected Jacobian matrix.

[0109] Given that the center of gravity of the load at the end effector of the robotic arm is approximately at the center of the gripper holding the cooking utensil, and the center of gravity is slightly below the end effector TCP, the offset between the load center of gravity and TCP is obtained. For example, [0,0,-40mm] indicates that there is a 40mm offset between the load center of gravity and the end effector TCP in the vertical direction. The influence of the robotic arm's posture change on the point of application of gravity can be considered in the Jacobian calculation, and the modified Jacobian matrix transpose can be recalculated. Then, the actual end effector load mass can be recalculated according to the load mass formula.

[0110] This embodiment calculates the end-effector load mass of the robotic arm through two methods: error compensation and center-of-gravity offset correction, which have significant beneficial effects. Regarding error compensation, to address the issue of static friction shielding current deviation in small-load scenarios, a friction model with hysteresis or empirical methods are used to compensate for the torque error caused by static friction. This makes the calculated load mass closer to the true value, improving calculation accuracy and providing reliable data for precise robotic arm control. Regarding center-of-gravity offset correction, considering the influence of load center-of-gravity offset and attitude changes on the point of gravity application, the transpose of the Jacobian matrix is ​​corrected to incorporate the center-of-gravity offset factor into the calculation, further improving the accuracy of load mass calculation, reducing operational errors, and helping the robotic arm perform tasks more precisely.

[0111] like Figure 3 A flowchart illustrating a rapid weighing method for the end effector load of a robotic arm is presented, clearly demonstrating the complete process. This flowchart includes three input components: joint angle sampling, current loop sampling, and the robotic arm model.

[0112] The joint angle sampling corresponds to the operation in step S1 of obtaining the joint angles of the robotic arm when it is in the current posture q. The current loop sampling corresponds to the operation in step S1 of obtaining the measured current of each joint under the end-effector load when the robotic arm is in the current posture q. The sampled measured current values ​​can be input into the transmission loss compensation mapping model for processing. Since there is a certain energy loss during the transmission process of the robotic arm, the sampling measured current values ​​can be compensated by this mapping model to eliminate the influence of transmission loss on subsequent calculations, making the input data more accurate and reliable. The robotic arm model involves the physical characteristics and structural parameters of the robotic arm itself. The robotic arm model stores important information such as the mass distribution and DH parameters of each link of the robotic arm. This information is the basis for calculating the static torque G(q) generated by the gravity of each link of the robotic arm on each joint in the current posture q. Finally, the joint angle sampling data, the current data processed by the transmission loss compensation mapping model, and the relevant information provided by the robotic arm model are all input into the dynamic torque load calculation model. The model will perform a series of calculations according to steps S2-S5, namely, calculating the static torque r of each joint based on the processed current data, calculating the static torque G(q) based on the joint angle and robotic arm model data, calculating the torque rload generated by the end load of the robotic arm on each joint based on the static torque r and static torque G(q), and finally calculating the end load mass of the robotic arm based on rload and the transpose of the corresponding Jacobian matrix, and finally outputting an accurate load mass result.

[0113] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0114] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0115] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0116] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0117] Obviously, the above embodiments are merely illustrative examples for clear explanation and are not intended to limit the implementation. Those skilled in the art will recognize that other variations or modifications can be made based on the above description. It is neither necessary nor possible to exhaustively list all possible implementations here. However, obvious variations or modifications derived therefrom are still within the scope of protection of this invention.

Claims

1. A rapid weighing method for the end effector load of a robotic arm, characterized in that, include: When the robotic arm is in its current posture q, the measured current and joint angle of each joint under the action of the end effector are obtained. The current posture q refers to the spatial position and angular state of the robotic arm at a specific moment. Calculate the static torque r of each joint based on the measured current; Calculate the static torque G(q) generated by the gravity of each link on each joint of the robotic arm in the current posture q based on the joint angle; The torque rload generated by the end load of the robotic arm on each joint is calculated based on the static torque r and static torque G(q) of each joint, so as to separate the torque rload generated by the end load on each joint individually. The end-load mass of the robotic arm is calculated based on the torque rload generated by the end-load of the robotic arm on each joint and the transpose of the corresponding Jacobian matrix. The transpose of the Jacobian matrix is ​​obtained from the joint angle under the current posture q. The end effector load mass of the robotic arm is compensated using an error compensation model; or, The transpose of the Jacobian matrix is ​​corrected by the offset of the end-load center of gravity of the robotic arm, and the end-load mass of the robotic arm is calculated based on the torque rload generated by the end-load of the robotic arm on each joint and the transpose of the corrected Jacobian matrix.

2. The method according to claim 1, characterized in that, The calculation of the static torque r of each joint based on the measured current includes: Obtain the pre-established mapping relationship between current and static torque; The static torque r of each joint is obtained based on the measured current and the pre-established mapping relationship between current and static torque.

3. The method according to claim 1, characterized in that, The step of calculating the static torque G(q) generated by the gravity of each link on each joint of the robotic arm in the current posture q based on the joint angle includes: A mapping relationship between the angles of each joint and the static torque r under no-load conditions is established in advance; Based on the joint angles and the mapping relationship between the joint angles and the static torque r, the static torque G(q) generated by the gravity of each link on each joint of the robotic arm in the current posture q is obtained.

4. The method according to claim 1, characterized in that, The torque rload generated by the end effector load of the robotic arm on each joint is calculated using the following method: rload=rG(q).

5. The method according to claim 1, characterized in that, The calculation of the torque rload generated by the end effector load of the robotic arm on each joint further includes: Obtain the no-load current of each joint of the robotic arm when the end effector is unloaded in the current posture q. The error value is calculated based on the measured current of each joint and the no-load current of the corresponding joint, and the current difference of each joint under the current posture q when it is in the end-load and no-load state is obtained. The torque rload generated by the end load of the robotic arm on each joint is calculated based on the current difference and the fitting coefficient matrix, wherein the fitting coefficient matrix is ​​obtained from the joint angle.

6. The method according to claim 5, characterized in that, The torque rload generated by the end effector load of the robotic arm on each joint is calculated using the following method: rload=(Ib) / W, Where I represents the current difference between the end load and no load states of each joint, b represents the constant deviation term, and W represents the fitting coefficient matrix.

7. The method according to claim 5, characterized in that, The calculation of the torque rload generated by the end effector load of the robotic arm on each joint further includes: The total torque generated by the end load of the robotic arm on each joint is obtained by using a neural network model to predict based on the measured current and the joint angle. The torque rload generated by the end load of the robotic arm on each joint is obtained by subtracting the static torque G(q) generated by the gravity of each link on each joint from the total torque generated by the end load of the robotic arm on each joint.

8. The method according to claim 1, characterized in that, The end effector mass of the robotic arm is calculated using the following method: m=rload / J T (q)g, Where m represents the end-effector load mass of the robotic arm, J T (q) denotes the transpose of the Jacobian matrix, and g denotes the gravitational acceleration.

9. A cooking robot, characterized in that, include: robotic arms and processing equipment; The end effector of the robotic arm is used to grasp cooking utensils, and the processing device is used to perform a rapid weighing method for the end effector load of the robotic arm as described in any one of claims 1-8.

Citation Information

Patent Citations

  • Load parameter identification method, identification device, readable storage medium and robot

    CN113910229A

  • Mechanical arm tail end load mass identification method, system and equipment and medium

    CN115533916A