Mechanical arm joint control method, electronic device, and robot

By combining two-stage hierarchical identification and six-step data preprocessing with online switching of multiple friction models, the problem of high computational complexity and significant noise impact in collaborative robot drag teaching in existing technologies has been solved, achieving higher accuracy and stable drag teaching results, and improving safety and adaptability.

CN122425720APending Publication Date: 2026-07-21LINGXIN QIAOSHOU (BEIJING) TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
LINGXIN QIAOSHOU (BEIJING) TECH CO LTD
Filing Date
2026-06-24
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

Existing collaborative robot drag teaching technology suffers from problems such as high computational complexity of friction models, significant noise impact, high hardware investment, large parameter identification errors, and difficulty in model adaptation, resulting in high drag resistance, uneven teaching trajectory, and insufficient safety and stability.

Method used

A two-stage hierarchical method for identifying core dynamic parameters is adopted. By combining low-speed bidirectional motion trajectory and Fourier excitation trajectory, gravity and friction parameters are separated. A six-step data preprocessing pipeline is used to reduce noise. Combined with online switching of multiple friction models, dynamic adaptation is achieved. The accuracy and stability of parameter identification are improved by automatic matching through CAN interface and multi-index quantification verification.

Benefits of technology

It significantly improves the smoothness and safety of robot drag teaching, reduces the impact of noise, improves parameter identification accuracy and model adaptation capability, and reduces hardware costs and debugging complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122425720A_ABST
    Figure CN122425720A_ABST
Patent Text Reader

Abstract

The application discloses a mechanical arm joint control method, an electronic device and a robot. The mechanical arm joint control method comprises the following steps: sampling the position and the torque of a mechanical arm joint; performing zero-phase low-pass filtering on the position to obtain a filtered position; performing central difference processing on the filtered position to obtain an original velocity; performing zero-phase low-pass filtering on the original velocity to obtain a filtered velocity; performing central difference processing on the filtered velocity to obtain an original acceleration; performing zero-phase low-pass filtering on the original acceleration to obtain a filtered acceleration; performing zero-phase low-pass filtering on the torque to obtain a filtered torque; calculating a joint regression matrix based on the filtered acceleration and the filtered torque; and controlling the mechanical arm joint based on the joint regression matrix. The original sampling data is processed through a six-step data preprocessing pipeline, the noise of the sampling data is reduced, and the precision of model operation is greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of dexterous hand control technology, and more specifically, various exemplary embodiments relate to robotic arm joint control methods, electronic devices, and robots. Background Technology

[0002] Collaborative robots, with their advantages of safe interaction, flexible adaptation, and no need for large-scale production line modifications, are widely used in diverse industrial production scenarios such as industrial assembly, material palletizing, metal welding, flexible workpiece grinding, and on-site process teaching. In the on-site deployment and process debugging of collaborative robots, drag-and-drop teaching is a core function that adapts to various non-standard operating scenarios, lowers the barrier to entry for equipment use, and improves debugging efficiency. Drag-and-drop teaching technology allows operators to directly drag the robotic arm to guide the robot in replicating and recording the target work trajectory, eliminating the need for complex programming operations. This enables rapid on-site debugging and immediate adaptation to new processes, fundamentally lowering the barriers to on-site deployment and process iteration of collaborative robots.

[0003] Currently, most mainstream commercial collaborative robots are multi-joint robotic arms with a load capacity of tens of kilograms. The weight of the robotic arm itself and the friction of its internal transmission structure directly affect the smoothness of manual dragging. Operators need to apply only a very small amount of external force, especially without relying on additional force sensing devices such as six-dimensional force and torque sensors at the end of the arm. This allows the robotic arm end to move smoothly along the expected trajectory, achieving a light and smooth manual teaching effect. At the same time, it can accurately define the safety boundaries of the device's movement, avoid safety risks such as overtravel, collision, and overload during manual dragging, and ensure the safety and stability of human-robot interaction. Summary of the Invention

[0004] The subject matter of the independent claims is provided according to several aspects. Further aspects are defined in the dependent claims. Embodiments that do not fall within the scope of the claims should be interpreted as examples that aid in understanding this disclosure.

[0005] According to a first aspect of this disclosure, a method for controlling a robotic arm joint is provided, which may include: sampling the position and torque of the robotic arm joint; performing zero-phase low-pass filtering on the position to obtain a filtered position; performing center-difference processing on the filtered position to obtain an original velocity; performing zero-phase low-pass filtering on the original velocity to obtain a filtered velocity; performing center-difference processing on the filtered velocity to obtain an original acceleration; performing zero-phase low-pass filtering on the original acceleration to obtain a filtered acceleration; performing zero-phase low-pass filtering on the torque to obtain a filtered torque; calculating a joint regression matrix based on the filtered acceleration and the filtered torque; and controlling the robotic arm joint based on the joint regression matrix.

[0006] According to a second aspect of this disclosure, an electronic device is provided, which may include: at least one processor; and at least one memory storing instructions, which, when executed by the at least one processor, cause the detection device to perform at least one operation, the operation including: sampling the position and torque of a robotic arm joint; performing zero-phase low-pass filtering on the position to obtain a filtered position; performing center-difference processing on the filtered position to obtain an original velocity; performing zero-phase low-pass filtering on the original velocity to obtain a filtered velocity; performing center-difference processing on the filtered velocity to obtain an original acceleration; performing zero-phase low-pass filtering on the original acceleration to obtain a filtered acceleration; performing zero-phase low-pass filtering on the torque to obtain a filtered torque; calculating a joint regression matrix based on the filtered acceleration and the filtered torque; and controlling the robotic arm joint based on the joint regression matrix.

[0007] According to a third aspect of this disclosure, an electronic device is provided, which may include means for performing the method according to the first aspect described above.

[0008] According to a fourth aspect of this disclosure, a computer-readable medium is provided that may include program instructions, when executed, to implement the method described in accordance with the first aspect above.

[0009] According to a fifth aspect of this disclosure, a computer program product is provided that may include instructions, which, when executed by a processor, perform the method described in accordance with the first aspect above.

[0010] According to a sixth aspect of this disclosure, a robot is provided, which may include: a robotic arm and an actuator disposed at the end of the robotic arm; and a controller electrically connected to the robotic arm and the actuator, respectively, the controller being configured to perform the method according to the first aspect described above.

[0011] The computer program product may include or be embodied in a computer-readable (storage) medium, on which computer-executable computer program instructions and / or programs that can be directly loaded into the internal memory of a computer or its processor are stored.

[0012] It should be understood that the above general description and the following specific embodiments are merely exemplary and illustrative, and do not limit the scope of the invention. Attached Figure Description

[0013] The above and other objects, features, and advantages of this application will become more apparent from the more detailed description of the embodiments of this application in conjunction with the accompanying drawings. The drawings are provided to further illustrate the embodiments of this application and form part of the specification. They are used together with the embodiments of this application to explain this application and do not constitute a limitation thereof. In the drawings, the same reference numerals generally represent the same components or steps.

[0014] Figure 1 A schematic diagram of a dexterous hand control system that can implement exemplary embodiments of the present disclosure is shown;

[0015] Figure 2 A schematic diagram illustrating a zero-gravity teaching process according to an exemplary embodiment of the present disclosure is shown.

[0016] Figure 3 A schematic diagram illustrating an automatic channel detection process according to an exemplary embodiment of the present disclosure is shown.

[0017] Figure 4 A schematic diagram illustrating the process of identifying dynamic parameters based on the bin averaging method according to an exemplary embodiment of the present disclosure is shown.

[0018] Figure 5 A schematic diagram showing the geometric separation of the gravity term averaged by the hysteresis loop is shown.

[0019] Figure 6 A schematic diagram showing the comparison of the condition number of the observation matrix before and after optimization is shown;

[0020] Figure 7 A schematic diagram illustrating the real-time compensation process and timing of the control loop according to an exemplary embodiment of the present disclosure is shown.

[0021] Figure 8 A schematic diagram showing the comparison of the operator's dragging force before and after using the compensation method of this disclosure is shown;

[0022] Figure 9 A flowchart illustrating an exemplary method according to an exemplary embodiment of the present disclosure;

[0023] Figure 10 A flowchart illustrating an exemplary method according to an exemplary embodiment of the present disclosure;

[0024] Figure 11 An example block diagram of an example device according to an exemplary embodiment of the present disclosure is shown;

[0025] Figure 12 An example block diagram of an example device according to an exemplary embodiment of the present disclosure is shown;

[0026] Figure 13 An example block diagram of an example device according to an exemplary embodiment of the present disclosure is shown. Detailed Implementation

[0027] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the spirit of the contents disclosed in the present invention will be clearly explained below with reference to the accompanying drawings and detailed description. After understanding the embodiments of the present invention, any person skilled in the art can make changes and modifications based on the technology taught in the present invention without departing from the spirit and scope of the present invention.

[0028] The illustrative embodiments and descriptions of the present invention are used to explain the invention, but are not intended to limit the invention. Furthermore, elements / components using the same or similar reference numerals in the drawings and embodiments are used to represent the same or similar parts.

[0029] The terms "first," "second," etc., used in this document are not intended to specifically refer to order or sequence, nor are they intended to limit the invention. They are merely used to distinguish elements or operations described using the same technical terms.

[0030] The directional terms used in this article, such as up, down, left, right, front, or back, are for reference only when referring to the accompanying drawings. Therefore, the use of directional terms is for illustrative purposes and not to limit this work.

[0031] The terms “include,” “including,” “have,” “contain,” etc., used in this article are all open-ended terms, meaning that they include but are not limited to.

[0032] The term "and / or" as used herein includes any or all of the things mentioned.

[0033] The term "multiple" in this article includes "two" and "more than two"; the term "multiple groups" in this article includes "two groups" and "more than two groups".

[0034] The terms "approximately," "about," etc., used herein are intended to modify any quantity or error that may vary slightly, but these slight variations or errors do not change the essence of the quantity or error. Generally, the range of slight variations or errors modified by such terms may be 20% in some embodiments, 10% in others, 5% in still others, or other values. Those skilled in the art should understand that the aforementioned values ​​can be adjusted according to actual needs and are not limited thereto.

[0035] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.

[0036] When expressions such as "at least one of A, B, and C" are used, they should generally be interpreted in accordance with the meaning commonly understood by a person skilled in the art (e.g., "a system having at least one of A, B, and C" should include, but is not limited to, systems having A alone, having B alone, having C alone, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.). When expressions such as "at least one of A, B, or C" are used, they should generally be interpreted in accordance with the meaning commonly understood by a person skilled in the art (e.g., "a system having at least one of A, B, or C" should include, but is not limited to, systems having A alone, having B alone, having C alone, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.). A person skilled in the art should also understand that any conjunction and / or phrase that substantially arbitrarily indicates two or more optional items, whether in the specification, claims, or drawings, should be understood to indicate the possibility of including one of these items, either of these items, or both items. For example, the phrase “A or B” should be understood as including the possibility of “A” or “B”, or “A and B”.

[0037] The following embodiments are exemplary. Although the specification refers to "a," "an," or "some" embodiments in various places, this does not necessarily mean that each reference refers to the same embodiment, or that a specific feature applies only to a single embodiment. Individual features of different embodiments may also be combined to provide other embodiments. Moreover, when specific features, structures, or characteristics are described in conjunction with embodiments, whether explicitly described or not, such features, structures, or characteristics will be applied to other embodiments to the extent that those skilled in the art possess the knowledge to do so. It should be understood that although terms such as "first" and "second" may be used to describe various elements, these elements should not be limited by these terms. These terms are merely used to distinguish one element from another.

[0038] Figure 1 An example of a dexterous hand control system 100 is shown, in which exemplary embodiments disclosed herein may be implemented. See also Figure 1 The dexterous hand control system 100 may include a host control terminal 110, a control device 120, multiple robotic arms 130 and 132, and multiple dexterous hands 140 and 142 connected to the robotic arms 130 and 132.

[0039] Dexterous hands 140 and 142 can be mounted at the ends of robotic arms 130 and 132, respectively, to enable direct interaction between the robot and the work object, such as precise grasping, posture adjustment, and accurate manipulation. Dexterous hands 140 and 142 can adopt a multi-joint modular design, including components such as finger units and hand units. Robotic arms 130 and 132 can drive dexterous hands 140 and 142 to achieve spatial position movement and posture adjustment, and can also facilitate the connection between dexterous hands 140 and 142 and the control device 120. Robotic arms 130 and 132 can adopt a serial multi-joint structure, with each joint equipped with components such as motors to control joint movement. Dexterous hands 140 and 142, as well as robotic arms 130 and 132, can use a bus interface to connect to the bus architecture of the control device 120 and receive commands issued by the control device 120.

[0040] The dexterous hands 140 and 142 can be connected to the robotic arms 130 and 132 via rigid or extended connections. A rigid connection involves the robotic arms 130 and 132 connecting to their base interfaces via adapter flanges. An extended connection involves adding other devices between the robotic arms 130 and 132 and the dexterous hands 140 and 142, such as a six-dimensional wrist force sensor. The robotic arms 130 and 132 can connect to one end of the force sensor, while the other end connects to the dexterous hands 140 and 142, enabling real-time acquisition and transmission of force / torque information.

[0041] Control device 120 is used to schedule the actions of the dexterous hand system in real time, enabling coordinated operation of dexterous hands 140, 142 and robotic arms 130, 132 by issuing commands. Control device 120 can issue work commands to robotic arms 130, 132 and dexterous hands 140, 142 based on the work tasks issued by the host control terminal 110. It can also perform real-time calculations on the work parameters fed back by robotic arms 130, 132 and dexterous hands 140, 142 to generate and issue control commands. Control device 120 can adopt an embedded architecture, such as a combination of a Field Programmable Gate Array (FPGA) and an Advanced Reduced Instruction Set Machine (ARM) processor. At least a portion of control device 120 can be implemented as a controller for executing, or via a processor, the processes or methods described in this disclosure.

[0042] The control device 120 can integrate bus interfaces, such as Ethernet for Control Automation Technology (EtherCAT) and CANopen (a high-level industrial communication protocol for Controller Area Networks), to enable signal interaction with the robotic arm joint drive units, dexterous hands, and various optional sensors. This includes issuing motion commands and receiving operating status feedback from the robotic arm joint drive units 130 and 132, as well as the dexterous hands 140 and 142. The control device 120 can supply power to the servo motors of each joint of the robotic arm 130 and 132, as well as to the dexterous hands 140 and 142, via power cables.

[0043] The host control terminal 110 serves as a platform for operators to interact with the robot control system, providing the dexterous hand control system 100 with functions such as human-machine interaction and task management, including job programming, parameter configuration, task assignment, overall machine operation status monitoring, and data management. The host control terminal 110 can be a touch-screen tablet, mobile phone, or desktop computer, and may have corresponding control software. A bidirectional communication connection can be established between the host control terminal 110 and the control device 120 via Ethernet, and long-distance communication can be achieved using protocols such as TCP / IP.

[0044] Existing collaborative robotic arm drag teaching and zero-gravity compensation solutions can be mainly divided into four categories:

[0045] The first type is the admittance control scheme that relies on the addition of a six-dimensional force and torque sensor to the end flange. It uses the sensor to collect external force information to calculate the desired speed at the end, and then uses joint servo to complete speed tracking. The implementation of this scheme depends on dedicated sensing hardware, and the weight of the tooling at the end is constrained by the sensor range. Mainstream products include the UR-e series and the corresponding control modules for the Panda robotic arm.

[0046] The second type is a dynamic compensation scheme that relies on motor current feedback and a pre-built rigid body dynamic model. It uses the nominal inertial parameters of URDF and the Coulomb-viscous friction model to complete the feedforward compensation of gravity torque. It does not require additional sensors and has a low overall cost, which is also the current mainstream application direction in the industry.

[0047] The third type is a feedforward compensation scheme that uses only a single Coulomb-viscous friction formula based on dynamic compensation. The friction correlation coefficient is calibrated once through a fixed speed test run, and it is widely used in the zero-gravity mode of conventional industrial robots.

[0048] The fourth type belongs to the open-loop one-time full-parameter identification scheme. It uses Fourier or random excitation trajectory to collect the motion data of the whole machine, and relies on the least squares method to solve all the inertial and friction parameters at one time. The friction part also uses a simplified Coulomb-viscosity model. During the identification process, the nonlinear term of friction is processed to be approximately linear. The error is easily transferred to the inertial parameter, and the identification effect is highly dependent on the quality of the excitation trajectory.

[0049] The aforementioned existing technologies have revealed several shortcomings in practical application. The main problems include: First, existing friction models, including Coulomb-viscosity, Stribeck, and Lugre models, require solving for up to 70 dimensions of parameters when identifying dynamic parameters through regression matrices, resulting in high computational complexity and low accuracy. Second, the data used by these models is directly sampled from the robot system. This sampled data contains a lot of noise. During the multi-dimensional solution process in the model, this measurement noise can drastically amplify parameter errors, even leading to complete parameter distortion and unsolvable equations.

[0050] In addition to the main problems mentioned above, existing technologies also suffer from several drawbacks. Solutions using six-dimensional force sensors involve high hardware investment, require repeated calibration after tooling changes, and are cumbersome to debug on-site. Compensation schemes relying on CAD-derived nominal dynamic parameters cannot offset parameter deviations caused by actual working conditions such as machining and assembly tolerances, cable layout, and internal wear of the reducer. Gravity compensation torque error ranges are large, resulting in high drag resistance for the robotic arm and a tendency for abnormal working conditions such as pose drift and reverse pushing. A single Coulomb-viscous friction model cannot reproduce the Stribek effect and pre-slip hysteresis characteristics in the low-speed range of the reducer, leading to frequent jamming and stick-slip during low-speed dragging and insufficient smoothness of the taught trajectory. Furthermore, one-time open-loop identification lacks sufficient quantity. In the calibration process, identifying the quality relies solely on the operator's subjective judgment, making fault tracing difficult. Furthermore, the identified parameters are hard to reuse in subsequent control modules such as predictive control and collision detection. At the bus configuration level, the correspondence between the joint motors, CAN channels, and the robotic arm body needs to be manually pre-bound. Any hardware wiring changes require manual modification of the configuration file, which is prone to human error and prevents simultaneous calibration of both arms. The friction control logic uses a fixed model hard-coded into the controller, preventing flexible changes to the friction model based on different types of reducers for different joints. Dynamic model switching is also not supported during operation, and a single control software is difficult to integrate with robotic arm products with various transmission structures.

[0051] To address the aforementioned key technical issues, this disclosure employs a two-stage hierarchical approach to identify core dynamic parameters. First, it utilizes low-speed bidirectional motion trajectory excitation combined with a binning averaging algorithm to separately solve for gravity and Coulomb friction parameters. Then, it employs Fourier excitation trajectory to separately identify the inertial tensor and viscous friction parameters while locking the gravity and Coulomb friction parameters, significantly reducing the parameter dimensionality and condition number of the calculation. Second, before feeding the sampled data into the model, a six-step data preprocessing pipeline—position filtering, velocity difference, velocity filtering, acceleration difference, acceleration filtering, and torque synchronization filtering—processes the original sampled data, reducing noise in the sampled data, optimizing the signal-to-noise ratio of acceleration data and the stability of the friction hysteresis curve, thereby significantly improving the accuracy of model calculations.

[0052] In addition to the main aspects mentioned above, this disclosure also provides solutions to address other technical problems: Firstly, it allows online switching of multiple friction models within the control loop, such as Coulomb-viscosity, Stribeck, and LuGre models, with the system automatically matching and adapting to the corresponding model based on the joint reducer model. Secondly, this disclosure provides multi-index quantitative closed-loop verification, quantifying the identification quality of parameters based on the coefficient of determination, matrix condition number, singular values, and rank information, and providing functions for anomaly identification result detection and fault diagnosis data output, facilitating engineers in locating problems. Thirdly, this disclosure achieves automatic matching of the left and right arm CAN interfaces through CAN broadcast enable frames and motor ID parsing, completing parallel parameter identification for both arms. Data preprocessing employs a six-step alternating processing flow, combined with the interquartile range criterion to remove outlier samples from the collected data.

[0053] The technical solutions and characteristics of this disclosure are described in detail below through exemplary embodiments. For the purpose of clarity, specific technical implementations, such as specific models, data, and interfaces, are used in the following exemplary embodiments. Those skilled in the art, based on the exemplary embodiments provided by this disclosure, can readily conceive, deduce, and adapt various alternative solutions. Other similar conventional technical means, equivalent algorithm structures, general data formats, and standard interface protocols can be used to replace the specific technical implementations described in this disclosure, without departing from the core technical logic of this disclosure, to complete the adaptation and modification.

[0054] Figure 2 This diagram illustrates a zero-gravity teaching process 200 according to an exemplary embodiment of the present disclosure. Process 200 can be... Figure 1The process is executed by the control device 120, for example, by the coordinated execution of hardware and software modules mounted on the control device 120. In some exemplary embodiments, the process 200 of this disclosure can be executed by the calibration and teaching system module. The calibration and teaching system module can be at least a part of the control device 120, and can be directly integrated into the main control program of the control device, or can be mounted and run as an independent plug-in. The calibration and teaching system module may also include sub-modules for implementing each method step, such as: data acquisition sub-module, parameter identification sub-module, friction model sub-module, closed-loop verification sub-module, channel detection sub-module, and zero-gravity teaching control sub-module, etc.

[0055] In some exemplary embodiments, the calibration and teaching system module can expose a unified application programming interface (API), i.e., a standardized API interface, shielding underlying hardware differences and algorithm details. This allows operators to easily operate the system and call built-in algorithm methods via terminal devices such as host computers, control panels, and secondary development programs, significantly reducing the barriers to equipment debugging and secondary development. In some embodiments, these application programming interfaces can be encapsulated standardized functional interfaces. Specific functions can be defined as follows: the `run_workflow()` API, which can be used to start the complete zero-gravity teaching process 200 with one click, automatically connecting channel detection, data acquisition, parameter identification, closed-loop verification, and compensation control throughout the entire process; the `set_compensation_gains()` API, which can be used to dynamically adjust the compensation gain in real time during the control program's operation, without interrupting the overall control flow and teaching process, allowing operators to fine-tune the teaching smoothness in real time based on actual dragging feel and equipment load status; and the `load_p` API. The `arams()` application programming interface (API) can be used to distribute, load, and update various dynamic and control parameters of the robot, supporting both local configuration file loading and remote parameter distribution modes. The `start()` API can be used to start the real-time compensation control loop, corresponding to the real-time torque compensation function in operation 245 below. The `stop()` API can be used to safely disable the motor and terminate the compensation control process. In some implementations, to prevent safety hazards such as joints falling, swaying, or drifting due to gravity and inertia after direct motor disabling, a zero-torque control command can be issued to the motor first to clear the motor's output torque before executing the motor disabling operation, ensuring the safe operation of the equipment.

[0056] See Figure 2 After the zero-gravity teaching process is initiated, operation 210 can be executed first to perform automatic detection of the dual-arm CAN channel, while simultaneously assigning corresponding tasks in parallel. The CAN channel is the fieldbus communication channel for the robot system or dexterous hand system, used for real-time data interaction between the robot's main controller and the joint motors and sensors, such as data transmission and control command issuance.

[0057] Figure 3 A schematic diagram of an automatic channel detection process 300 according to an exemplary embodiment of the present disclosure is shown. Process 300 can be automatically executed by the channel detection submodule during the startup phase of the teaching system to automatically identify, match, and bind the CAN communication interfaces corresponding to the left and right arms of the robot.

[0058] like Figure 3 As shown, in operation 310, all available CAN interfaces in the host operating system can be enumerated, all valid CAN communication ports connected to the system hardware bus can be traversed, and interface resources that can communicate normally and have no hardware faults can be filtered out. In some implementations, the CAN interface names may include can0 and can1, with the two interfaces corresponding to the communication channels of the left and right robotic arms of the dual-arm robot, respectively, providing hardware support for independent communication between the two arms.

[0059] In operation 320, a standardized motor enable frame can be broadcast on each enumerated valid CAN interface. The motor enable frame is a bus communication command in a preset format, used to wake up the joint motor and trigger the motor feedback response. At the same time, the system continuously listens for the feedback frames returned by each motor within a preset timeout window. The timeout window can be adaptively configured according to the device communication rate to avoid missed detections and false detections caused by communication delays, and to ensure that the motor device corresponding to each CAN interface can be effectively identified.

[0060] In operation 330, all monitored motor feedback frames can be parsed to extract the device identity and status information contained within them. In some implementations, the parsed content can specifically be the motor identification field of the feedback frame. This field is a unique identification code for each joint motor, which can uniquely distinguish the joint motor. If the parsed motor identification falls within a preset left arm value range, the CAN interface is marked as a dedicated communication channel for the left arm; if the motor identification falls within a preset right arm value range, the CAN interface is marked as a dedicated communication channel for the right arm. In some implementations, to adapt to the standard 7-DOF dual-arm robot structure, the motor identification of the left arm segment can be set to 61~67, corresponding to the 7 independent motion joints of the left arm, and the motor identification of the right arm segment can be set to 51~57, corresponding to the 7 independent motion joints of the right arm. That is, the left and right arms can each be configured with 7 joint motors.

[0061] In some implementations, the one-to-one mapping relationship between the CAN interface and the left and right arms can be automatically established through methods such as CAN interface device file alias matching, CAN hardware serial number accurate query, and permanent binding of operating system udev rules.

[0062] In operation 340, the verified and matched mapping relationship between the CAN interface and the robotic arm can be locally cached and stored, recording the binding relationship between the currently valid communication channel and the device. This avoids the system repeatedly performing a full scan detection every time it starts, improving startup efficiency. In some implementations, the mapping relationship between the interface and the robotic arm can be cached in a dedicated channel cache, such as in CAN_CHANNEL_CACHE. In some implementations, users can temporarily modify the default interface and robotic arm mapping relationship through command-line parameters or permanently override it through a configuration file.

[0063] After operation 350, channel detection and device mapping are completed, the multi-dimensional data sampling of the robotic arm and the identification and calculation of robot dynamic parameters can be formally started. Dynamic parameter identification is used to obtain core dynamic parameters of the robot joints, such as gravity, friction, and inertia, to counteract the gravitational and frictional resistance generated during the subsequent teaching system operation, and to eliminate the mechanical resistance during manual dragging and teaching. Exemplary sampling rules, data processing procedures, and parameter identification algorithms will be described in detail later in this disclosure.

[0064] In some exemplary implementations, multi-threaded parallel computing can be used to improve the efficiency of dual-arm recognition. When the system detects that all joints of the left and right arms are online normally and the communication status is stable, the system thread pool can automatically schedule sampling tasks and parameter recognition processes independently for the left and right arms, so as to realize the synchronous parallel execution of dual-arm data sampling and dynamic parameter recognition.

[0065] Back Figure 2 The zero-gravity teaching process shown, after completing the automatic CAN channel detection, robotic arm communication connection establishment, and equipment status verification, allows the system to initiate dual-track layered data acquisition. This involves sequentially acquiring slow bidirectional trajectory data (operation 215) and Fourier series trajectory data (operation 220) for the robotic arm. In some implementations, both types of data acquisition can be performed by the data acquisition submodule.

[0066] Specifically, in operation 215, the data acquisition submodule can sample the working condition data of the robotic arm joints based on the slow bidirectional excitation trajectory to obtain sampled data. The slow bidirectional excitation trajectory can be a low-speed reciprocating motion trajectory. In some implementations, the motion rules of the slow bidirectional excitation trajectory can be: each time, one target joint is driven individually, making a forward-reverse reciprocating uniform motion at a constant low speed of 16 degrees / second, while all other non-target joints are fixed and locked according to a preset standard configuration, maintaining a fixed posture.

[0067] In some implementations, to avoid noise data caused by sudden speed changes and acceleration impacts during the start and stop of the joint, the starting and ending segments of the slow bidirectional excitation trajectory can both adopt a zero-position smooth transition algorithm. The start and stop are smoothly transitioned through gradual speed control to ensure the stability and effectiveness of the sampled data.

[0068] In operation 220, the data acquisition submodule can sample the working condition data of the robot arm joints based on the optimized Fourier series excitation trajectory to obtain sampled data. This trajectory is a high-frequency, smooth, periodic complex excitation trajectory, which can be used to excite the dynamic mechanical properties of the robot joints, such as inertia and viscous friction. In some implementations, for the i-th joint of the robot, a finite-term trigonometric series as shown in equation (1) can be constructed as the expected trajectory equation for the joint motion:

[0069] (1)

[0070] Where, q i (t) represents the desired motion position of joint i at time t. Those skilled in the art will understand that the joint position q referred to in this disclosure, for a rotary joint robot, can refer to the rotational angle position of the joint; n h ω represents the trajectory harmonic number, used to control the complexity and fitting accuracy of the trajectory. An example value of 5 is used to balance trajectory smoothness and sufficient excitation. f The fundamental angular frequency is determined by the trajectory excitation period. An exemplary excitation period of 30 seconds ensures sufficient trajectory motion and complete data sampling. i,0 This represents the mechanical zero-position offset of joint i, used to compensate for zero-position errors caused by mechanical assembly and equipment calibration; k is the harmonic index, corresponding to different orders of trajectory fluctuation components; a i,k b represents the sine coefficient of the k-th harmonic of the i-th joint. i,k Let represent the cosine coefficient of the kth harmonic of the i-th joint. The two sets of coefficients are decision variables for trajectory optimization, and the optimal value can be solved by iterative algorithm.

[0071] Equation (1) can be used to calculate the optimal combination of coefficients a and b through an iterative solution algorithm under hard constraints such as robot joint position limits, motion velocity limits, and motion acceleration limits. The solution objective is to minimize the condition number of the observation matrix, effectively improving the ill-conditioned problem of the matrix, and finally obtaining a smooth, continuous, and fully excited periodic excitation trajectory. In some implementations, optimizing the Fourier series excitation trajectory can include an ingress transition buffer, an excitation main segment, and an outgress transition buffer to avoid invalid data and equipment shocks caused by abrupt changes in trajectory start and stop.

[0072] In some implementations, during the slow bidirectional trajectory sampling of operation 215 and the Fourier series trajectory sampling of operation 220, 7-dimensional core data can be simultaneously collected and recorded at each sampling point, namely the position q, motion velocity v, and real-time feedback torque τ of the 7 joints. That is, the position data, velocity data, and torque data of each robotic arm joint are sampled. In some implementations, the parsing sampling rate of the CAN feedback frame can be 100~200Hz, corresponding to a minimum sampling interval of 5 milliseconds, to capture subtle changes in the joint motion and ensure the continuity and integrity of the data.

[0073] Since the speed v data natively fed back by the device is directly calculated by the motor firmware using a first-order difference from the position data, it is highly susceptible to communication timestamp jitter and hardware clock deviations. This results in a speed data signal-to-noise ratio that is much lower than the encoder's original position data, exhibiting significant noise interference. Therefore, in some implementations, accurate speed v can be reconstructed from high-precision position q data, while simultaneously combining it with the speed v data natively fed back by CAN to perform data integrity verification, eliminate abnormal sampling points, and ensure data quality. This optimization operation will be specifically described in the six-step data preprocessing operation 230.

[0074] After data sampling is completed, the system enters the data preprocessing and parameter identification stage. This stage includes: Operation 225, performing a six-step standardized data preprocessing procedure on the dynamic data acquired based on optimized Fourier series excitation trajectories; Operation 230, using binning averaging to optimize the static data acquired based on slow bidirectional excitation trajectories; and finally, based on the two sets of preprocessed high-precision valid data, performing the dynamic parameter identification operation 235, accurately identifying the robot's complete set of dynamic parameters using the Fourier series method. All algorithmic processes of operations 225-235 can be executed by the parameter identification submodule.

[0075] Those skilled in the art will understand that the slow bidirectional excitation trajectory and the optimized Fourier series excitation trajectory used in this disclosure are preferred implementations, not the only implementation solutions. Those skilled in the art can adapt other equivalent excitation trajectories according to the characteristics of the equipment, including finite term triangular series excitation trajectories, fifth-order polynomial excitation trajectories, or B-spline excitation trajectories, etc., all of which can achieve the core function of dynamic parameter identification.

[0076] In operation 225, the parameter identification submodule can process the acquired raw data (including raw location data q). raw and the original torque data τ raw The preprocessing is performed sequentially in six fixed steps to remove noise, bias, phase delay, and other interfering factors from the original data. Among them, q raw τ represents the raw joint position data obtained directly from the sensor without any processing.raw This represents the unoptimized raw torque data from the motor feedback. Specific preprocessing steps may include:

[0077] Step 1: The (raw) position data can be processed by zero-phase low-pass filtering to obtain filtered position data, i.e., the q... raw Perform a zero-phase low-pass filter operation to obtain the filtered high-precision position q. filtered This step can suppress the quantization noise generated during the encoder's operation, filter high-frequency noise interference in the position data, and ensure the accuracy of the position data.

[0078] Step 2: The filtered position data can be processed by center difference to obtain the original velocity data, that is, the filtered position data q filtered Perform a central difference operation to obtain the original velocity v. raw This step can symmetrically cancel out first-order computational errors, significantly improving speed and accuracy compared to the first-order difference algorithm. In some implementations, the central difference operation can be performed using the following equation (2):

[0079] (2)

[0080] Where v(t) represents the joint motion velocity obtained at time t, q(t) represents the real-time sampling position data at time t, q(t+1) represents the position data of the next moment after the current sampling point, q(t-1) represents the position data of the previous moment before the current sampling point, and dt is the fixed sampling period of the system, with an example value of 5ms.

[0081] Step 3: The original velocity can be subjected to zero-phase low-pass filtering to obtain the filtered velocity, that is, the original velocity v obtained by solving is... raw Perform the zero-phase low-pass filter operation again to obtain a high-precision filtering speed v. filtered By using a second filtering mechanism with the same parameters, high-frequency noise amplified during the differential operation can be suppressed, further purifying the speed data.

[0082] Step 4: The filtered velocity data can be processed by center difference to obtain the original acceleration data, that is, the filtered velocity data v filtered Perform the center difference operation again to obtain the original joint motion acceleration a. raw This is to restore the dynamic motion characteristics of the joint.

[0083] Step 5: The original acceleration data can be subjected to zero-phase low-pass filtering to obtain filtered acceleration data, that is, the original acceleration a... raw Perform a zero-phase low-pass filter operation to obtain a high-precision filtered acceleration a. filteredHigh-frequency interference in the acceleration data is filtered out to ensure the accuracy of the dynamic mechanical parameter solution.

[0084] Step 6: The torque data can be processed by zero-phase low-pass filtering to obtain filtered torque data, that is, the original torque τ of the motor. raw Perform a zero-phase low-pass filter operation to obtain the accurate filtered torque τ. filtered This is to eliminate torque noise caused by motor current loop jitter and electromagnetic interference.

[0085] In some implementations, all zero-phase low-pass filtering operations in the above six steps can be performed using a zero-phase Butterworth filter. The filter can be configured as a 4th-order filter with a low-pass cutoff frequency of 5Hz.

[0086] The aforementioned six-step pipeline-style data preprocessing operation avoids secondary amplification of high-frequency noise during differential calculations. Simultaneously, it completely eliminates data phase delay through two rounds of zero-phase filtering, ensuring precise alignment of the three types of data—joint position q, velocity v, and acceleration a—on the time axis without temporal deviation. This preprocessing mechanism avoids systematic computational biases that occur during subsequent regression matrix fitting and parameter identification, significantly improving the identifiability and accuracy of robot dynamic parameters.

[0087] In operation 230, the bin averaging method can be used to identify the gravity parameters and the Coulomb friction parameters. Figure 4 The diagram illustrates a dynamic parameter identification process 400 based on the binning averaging method according to an exemplary embodiment of the present disclosure. This process 400 can calculate the gravity parameters and Coulomb friction torque of a robotic arm based on data acquired through a slow bidirectional excitation trajectory. Process 400 can be executed by a parameter identification submodule.

[0088] See Figure 4 In operation 410, the data binning and outlier removal can be completed first. For example, the sampled data can be binned based on the joint angle. In some implementations, the range of motion of the target joint can be evenly divided into N consecutive data bins according to a fixed angular step size (exemplary step size is 4°), with each bin corresponding to a fixed joint angle interval. Then, the valid data of all sampled points are automatically assigned to the bins of the corresponding angle interval according to the value of their joint angle position q.

[0089] In some implementations, to suppress torque spike noise caused by high-frequency jitter in the motor current loop and electromagnetic interference, and to improve the accuracy of data fitting, outliers can be removed from all torque samples in each bin using the interquartile range criterion. The removal amount in a single instance shall not exceed 10% of the total number of samples in a single bin, so as to maximize the filtering of noise while retaining effective data features.

[0090] In some implementations, the specific execution logic for removing outliers using the interquartile range criterion can be as follows: First, sort all sampled data within a single bin from smallest to largest; second, extract the values ​​at the 25th percentile after sorting and set them as the lower quartile Q1, and the values ​​at the 75th percentile as the upper quartile Q3; third, calculate the interquartile range IQR = Q3 - Q1; fourth, set the data validity judgment interval [Q1 − 1.5IQR, Q3 + 1.5IQR], and judge the sample data outside the interval as abnormal candidate removal points; fifth, quantity verification and removal: if the number of candidate removal points is less than 10% of the total number of bins, all of them are removed; if it exceeds 10%, the candidate points are sorted from largest to smallest according to the difference between the deviation of the candidate points and the median of the data, and only the 10% of samples with the largest deviation are removed.

[0091] After performing operation 420 and completing data denoising, all valid samples within each bin can be divided into two categories—forward motion and reverse motion—based on the sign characteristics of joint motion velocities. The velocity sign corresponds to the robot's preset standard motion direction; for example, counter-clockwise joint rotation is forward motion, and clockwise rotation is reverse motion.

[0092] In some implementations, a small positive threshold ε can be set as the velocity determination dead zone, with ε exemplarily taking the value of 1×10⁻⁶. -4 rad / s. The specific grouping rules can be as follows: samples with sampling point velocity data v>+ε are assigned to the forward motion group, and samples with sampling point velocity data v<−ε are assigned to the reverse motion group; low-speed samples with absolute velocity values ​​less than the threshold are not included in the grouping, which can avoid the problem of samples frequently jittering between the forward and reverse directions and destroying the symmetry of the triboelectric hysteresis loop caused by zero-velocity noise.

[0093] After completing sample grouping in operation 430, the average value of all torque samples in the positive group can be calculated for each angle bin. The average value of all torque samples in the reverse group .

[0094] In operation 440, the gravitational torque and Coulomb friction torque can be calculated separately for each angle. Specifically, based on the average of the forward and reverse motion torques, the pure gravity term g(q) (i.e., gravitational torque) and the pure Coulomb friction term f can be accurately extracted through decoupling calculation using formulas. c (q) (i.e., Coulomb friction torque) achieves complete separation of the two types of coupled mechanical parameters. The specific calculation formulas are shown in equations (3) and (4) below:

[0095] (3)

[0096] (4)

[0097] Figure 5 This diagram illustrates the principle of geometric separation of the gravity term using the hysteresis loop box averaging method, where solid boxes mark the average positive motion torque. The dashed circle marks the average torque of the reverse motion. Since the gravitational load is only related to the current spatial position q of the joint and is independent of the direction of joint rotation, the gravitational load at the same angular position remains constant; while the Coulomb friction has a resistance characteristic, which always hinders joint movement. When the direction of movement changes, the direction of friction reverses synchronously, and the magnitude remains basically constant. Therefore, when the joint moves in the forward direction, the motor output torque needs to overcome both the gravitational load of the connecting rod and the frictional resistance of the forward movement. The torque satisfies equation (5):

[0098] (5)

[0099] When the joint moves in the opposite direction, the gravitational load remains unchanged, while the frictional force opposes the movement. At this time, the frictional force can offset part of the gravitational load, and the required output torque of the motor is greatly reduced. Therefore, the torque satisfies equation (6):

[0100] (6)

[0101] therefore Figure 5 The dotted-line fitting curve is a curve obtained by fitting the mean of positive and negative torques at the same joint angle position. It can cancel out the Coulomb friction component and retain only the gravity term, thus achieving accurate decoupling and extraction of gravity parameters.

[0102] Back Figure 4 In operation 450, the process involves fitting gravity parameters using a fitting strategy, specifically by fitting the gravity torque to the gravity parameters in the dynamic parameters based on the extracted gravity term g(q). In some implementations, a gravity regression matrix can be constructed first, specifically by constructing a regression matrix Y(q, 0, 0). This involves setting the joint velocity v and acceleration a in the general rigid body dynamics regression matrix Y(q, v, a) to zero, eliminating the interference of dynamic motion parameters, and retaining only the matrix column vectors related to static gravity to form the gravity submatrix Y(q).

[0103] In some implementations, the regression matrix can be constructed using mainstream open-source robot dynamics libraries, such as Pinocchio, Rigid Body Dynamics Library (RBDL), Drake simulation framework, and the Kinematics and Dynamics Library (KDL) built into the Open Robot Control Software (OROCOS) real-time control framework.

[0104] In some implementations, the general regression matrix Y(q, v, a) has 10 columns. When the velocity v and acceleration a are set to zero, only the first 4 columns of the matrix have non-zero values. Therefore, the gravity submatrix Y(q) retains only the first 4 columns of valid data, which greatly reduces the computational dimension.

[0105] Then, the linear fitting equation for the gravity parameters is constructed, as shown in equation (7) below:

[0106] (7)

[0107] Where Y(q) is the gravity regression submatrix, g(q) is the extracted gravity term, and θ gravity Let be the gravity parameters (or gravity parameter vector) to be solved.

[0108] In some embodiments, for the 7-DOF chain-type robotic arm (comprising seven motion joints J1 to J7) adopted in this disclosure, three differentiated gravity parameter fitting strategies are provided to adapt to different accuracy and stability requirements as needed. Specifically, these strategies may include a recursive identification method, a joint-by-joint independent method, and a global merging method. The recursive identification method involves recursively regressing from the distal joint J7 to the base joint J1 to identify a specific joint J. k At that time, the already identified distal joint J k+1 The J7 parameter is removed as a known quantity, simplifying the solution model step by step. This strategy has a low single-step computation dimension, and the numerical decomposition of small-scale matrices has higher accuracy and better stability. The joint-independent method constructs a dedicated regression matrix and measurement vector for each joint independently, and completes the parameter solution independently, which can eliminate the problem of mutual transmission and superposition of identification errors of each joint. The global merging method can stack and integrate the sampling data of all joints to construct a global large regression matrix for overall solution. In scenarios with sufficient data stimulation and high sampling quality, the identification accuracy is the highest among the three strategies.

[0109] In some implementations, in addition to the three fitting strategies mentioned above, the following fitting algorithms can also be used to fit the gravity parameters: Weighted Least-Squares, Iteratively Reweighted Least-Squares (IRLS), and robust regression algorithms based on the Huber loss function or RANSAC algorithm.

[0110] In some implementations, evaluation metrics such as coefficient of determination, root mean square error, and mean absolute error can be used to automatically compare the identification results of multiple fitting strategies and select the optimal parameter model. Simultaneously, the identification results of multiple strategies can be uniformly archived and saved, providing data support for subsequent closed-loop verification, accuracy checking, and fault diagnosis.

[0111] Back Figure 2 In the main process, in operation 235, the system can calculate the inertial parameters and viscous friction parameters of the robotic arm based on the sampled data acquired through optimizing the Fourier excitation trajectory and the gravity parameters. For example, the inertial tensor parameters and viscous friction parameters can be identified using the Fourier series method, and the inertial parameters of the robotic arm can be obtained based on the inertial tensor and gravity parameters. This operation 235 can be executed by the parameter identification submodule.

[0112] Specifically, after acquiring the gravity parameters and Coulomb friction torque output by operation 230, and the high-precision joint position q, velocity v, acceleration a, and motor torque τ data preprocessed in six steps by operation 225, the system can construct the rigid body dynamics joint regression matrix Y. full Y full The matrix structure is a concatenation of the inertia submatrix and the friction submatrix, i.e., Y full =[Y inertial (q, v, a)|Y friction (v)]. Among them, Y inertial (q, v, a) represents the inertial components of the regression matrix, also known as the inertial matrix, used to characterize the robot's joint inertia, link mass, and tensor properties; Y friction (v) represents the friction component of the regression matrix, also known as the friction matrix (or friction force matrix), used to characterize various frictional characteristics during joint movement. The friction matrix can be constructed based on a friction model. In some implementations, gravity parameters and inertial parameters can be concatenated to form complete inertial parameters. It can be seen that the filtered acceleration and filtered torque data obtained through the aforementioned six-step preprocessing can be used to calculate the joint regression matrix. This joint regression matrix can then be used to calculate the inertial parameters and comprehensive friction parameters of the robotic arm, further enabling control of the robotic arm joints.

[0113] In some implementations, the system can be equipped with a library of multiple types of friction models and can switch between various friction models as needed. The friction models may specifically include the Coulomb-viscous friction model, the Stribeck friction model, the Lugrey friction model, the Generalized Maxwell-Slip (GMS) friction model, the Dahl friction model, and a data-driven neural network friction compensation model to adapt to the joint friction characteristics of different reducers and under different operating conditions.

[0114] In some implementations, a friction model submodule can be used to achieve unified encapsulation and management of all friction models, and to enable modular calling and rapid switching of various friction models. The friction model submodule can automatically match the optimal friction model based on the type of reducer mounted on each joint of the robot. This disclosure uses a 7-DOF dual-arm robotic arm as an example to illustrate the friction model matching method. In this exemplary implementation, each joint is equipped with a different type of reducer, and the friction model submodule can automatically match the optimal friction model based on the rules in Table 1 below:

[0115] Table 1:

[0116] In some implementations, users can modify the matched friction model via command-line parameters.

[0117] Continuing with the explanation of the parameter identification logic for operation 235, after constructing the joint regression matrix Y... full Then, the parameters can be solved using linear equations, specifically as shown in equation (8):

[0118] (8)

[0119] Where τ represents the high-precision motor torque data acquired in real time by the joint, and θ represents the vector of full-dimensional dynamic parameters to be identified, derived from the inertial parameter θ inertial With friction parameter θ friction It is assembled from the front and back sections. Since the gravity parameters and Coulomb friction have already been identified in operation 230, only Y needs to be identified. inertial The columns related to inertia, and Y friction The column related to viscous friction, that is, the parameters identified in this way. and Excluding gravity parameters and Coulomb friction parameters, it is essentially only inertial parameters and viscous friction parameters. In other words, operation 230 can calculate the inertial tensor based on the inertial-related columns in the inertial matrix and the viscous friction parameters based on the viscous friction-related columns in the friction matrix.

[0120] In some implementations, the system can use truncated singular value decomposition least squares method to solve for the parameter θ. Specifically, matrix decomposition and parameter calculation can be achieved through the following equations (9) and (10):

[0121] (9)

[0122] (10)

[0123] Among them, Y full Let U be an N×P joint regression matrix, where N is the number of rows of sampled data and P is the number of columns for parameter identification; U is an N-order orthogonal matrix representing the feature vectors of the data space; Σ is an N×P diagonal matrix, where the diagonal elements are the singular values ​​of the matrix, satisfying a decreasing rule of σ1≥σ2≥....≥0; V is a P-order orthogonal matrix, V T U T , respectively, are the transposes of the corresponding matrices; diag() is the diagonal operator used to construct the reciprocal diagonal matrix of singular values; σ1 is the maximum singular value of the matrix, which is greater than the truncation threshold tol. The truncation threshold tol is used to filter valid singular values ​​and eliminate rank-deficient invalid dimensions to avoid the parameter variance explosion problem caused by ill-conditioned solutions. Specifically, it can be calculated by the following formula (11):

[0124] (11)

[0125] Where ε is the precision of computer floating-point operations, which is determined by the system hardware and compilation environment, and max(N,P) is the maximum value of the matrix row and column dimensions.

[0126] In some implementations, the truncation threshold *tol* can also be calculated using Tikhonov regularization, L-curve method, or cross-validation. After the parameter θ (or parameter vector θ) is solved, the system can decompose the parameter vector θ into inertial parameters θ0. inertial With viscous friction parameter θ friction .

[0127] The hierarchical identification architecture disclosed herein brings significant computational optimization effects. By decoupling gravity and Coulomb friction parameters in advance, it is not necessary to repeatedly calculate relevant dimensions in joint regression identification. The original highly complex computational dimension of more than 70 dimensions is greatly reduced to about 30 dimensions. At the same time, the condition number of the regression matrix is ​​further reduced by about an order of magnitude, which greatly improves computational efficiency and identification accuracy.

[0128] Figure 6A schematic diagram comparing the observation matrix condition number before and after optimization is shown. The measured data can be intuitively verified that after adopting the optimization scheme of hierarchical decoupling and phased identification disclosed in this paper, the observation matrix condition number of the 7-joint robotic arm is reduced by 2 to 3 orders of magnitude compared with the traditional global identification scheme. This solves the industry problems of ill-conditioned regression matrix, unstable solution and poor accuracy that are common in robot dynamic identification, and significantly improves the accuracy and robustness of dynamic parameter identification.

[0129] In some implementations, the user can manually choose whether to import the gravity and Coulomb friction parameters identified in operation 230 into the operation 235 process to initiate the optimized hierarchical parameter identification mode of this disclosure. Specifically, the static parameters output by operation 230 can be stored separately as an independent configuration file. The user can then call the static parameters in the file by enabling the corresponding command-line parameters, allowing operation 235 to focus solely on identifying the inertia tensor and viscous friction parameters, thus achieving hierarchical identification.

[0130] Back Figure 2 In the main process, after completing the identification of all dynamic parameters, the system can enter the closed-loop verification and diagnostic information output stage of operation 240. This stage can be executed by the closed-loop verification submodule, which can verify the previously acquired gravity parameters, Coulomb friction torque, inertial parameters, and viscous friction parameters, and change the friction model used for calculation or optimize the excitation trajectory based on the verification results. This stage is mainly used to verify the accuracy and effectiveness of this parameter identification, select the optimal dynamic parameter model, and output fault diagnosis information.

[0131] In some implementations, the closed-loop verification submodule can automatically execute the closed-loop verification steps after parameter identification, which can be divided into two steps:

[0132] The first step is to substitute the complete set of dynamic parameters obtained in this identification (which may include Coulomb friction torque and gravity parameters under operation 230, inertia tensor, viscous friction vector, inertia parameters under operation 235, and optional nonlinear friction parameters, minimum inertia parameter set, etc.) into the Recursive Newton-Euler Algorithm (RNEA) to forward calculate the theoretically predicted torque of the robot joints. .

[0133] The second step involves calculating and evaluating multi-dimensional accuracy indicators. For example, the overall coefficient of determination (R²), the independent R² for each joint, the root mean square error (RMSE), and the mean absolute error (MAE) can be calculated separately. For a 7-DOF robotic arm, this can output one set of overall statistical indicators for the entire arm and seven sets of independent statistical indicators for each joint, totaling eight sets of quantitative data. The R² characterizes the relative accuracy of parameter fitting, reflecting the degree to which the model fits the real data; the RMSE characterizes the absolute deviation accuracy of the data; and the MAE characterizes the robust accuracy of the model.

[0134] In some implementations, the system can set priority decision rules to select the best identification model. The priority order is R²→RMSE→MAE, that is, the coefficient of determination is compared first. If the R² values ​​are similar, the root mean square error is compared. If the root mean square errors are close, the screening is completed by the mean absolute error.

[0135] In some implementations, the system can set a precision threshold judgment mechanism. For example, the threshold for R² can be preset to 0.95. If the overall R² of the entire arm or the R² of any single joint is lower than this threshold, it is determined that the accuracy of the dynamic parameter identification is not up to standard. The system will automatically output a prompt message such as "Insufficient identification quality, it is recommended to re-collect data". At the same time, it will automatically save the core diagnostic data such as the singular value sequence, matrix rank, and matrix condition number of this calculation, providing data support for engineers to locate the cause of identification failure and optimize the acquisition process.

[0136] In some implementations, the system can have intelligent fault location capabilities. For example, if the matrix condition number is normally low but the R² accuracy is not up to standard, it can be determined that the robot friction model structure is not adaptable enough, prompting the user to upgrade to a higher-precision friction model to avoid the single joint identification defects being masked by the overall average data. If the matrix condition number is high, it can be determined that the trajectory excitation is insufficient and the data acquisition effectiveness is insufficient, prompting the user to optimize the excitation trajectory parameters and re-acquire data.

[0137] In some implementations, the closed-loop verification process can also be verified using evaluation metrics such as the Residual Whiteness Test, residual autocorrelation analysis, and the Akaike Information Criterion (AIC).

[0138] After the parameter accuracy verification is passed, real-time dynamic compensation control of operation 245 can be executed. Based on the high-precision parameters identified in this disclosure, real-time dynamic compensation of gravity, friction, and damping can be achieved, allowing the robotic arm to be in a smooth and unresisted state, and the operator can easily drag and teach.

[0139] Figure 7The diagram illustrates a real-time compensation process 700 and control loop timing diagram according to an exemplary embodiment of this disclosure. Operation 245 and process 700 can be executed by the zero-gravity teaching control submodule. Based on the previously identified inertial parameters, Coulomb friction torque, and the viscous friction parameters (or inertial parameters and the combined friction parameters), the compensation torque is calculated in real time, and the robotic arm joints are controlled in real time according to the compensation torque to compensate for the joint resistance. This submodule can be equipped with a high-frequency real-time control loop, with the control frequency stably maintained between 100 and 500 Hz, preferably 200 Hz, corresponding to an ultra-short control cycle of 5 ms, enabling real-time dynamic response of torque compensation without significant control delay. The core compensation torque τ of the zero-gravity teaching control submodule is... motor It can be calculated using the following formula (12):

[0140] (12)

[0141] Where, k g The gravity compensation gain can be adjusted within the range of [0, 1.5]; g(q) is the joint gravity term calculated in real time; k f For friction compensation gain, the adjustment range can be set to [0, 1]; τ friction(v) k represents the real-time friction term calculated based on the matching model. d The damping compensation gain, with a value greater than or equal to 0, can be used to suppress joint movement vibration and improve low-speed stability; v is the real-time acquired joint movement velocity data. Gravity gain, friction gain, and drag gain are independent and can be adjusted individually. Users can modify the parameters in real time through the API interface to adapt to different teaching feel and working scenarios.

[0142] See Figure 7 The zero-gravity teaching control submodule can complete a full compensation torque calculation and command issuance in 5ms cycles. Taking the process start time t as the time base, the timing sequence of each operation can be as follows:

[0143] At time t+0, operation 710 can be executed to read the feedback data of each joint of the robot in real time through the CAN bus interface, and simultaneously acquire three types of status / condition data: joint position q, movement speed v, and motor feedback torque τ.

[0144] Executing operation 720 at time t+0.8ms allows for the calculation of the real-time gravity term g(q) of the joint. In some implementations, the gravity term g(q) can be calculated based on gravity parameters composed of gravity parameters calculated by operation 230 and inertial parameters calculated by operation 235.

[0145] Operation 730 can be executed at time t+1.6ms to calculate the friction term. In some implementations, the friction term can be calculated based on the Coulomb friction torque obtained through operation 230, the viscous friction parameters identified by operation 235, and the selected friction model. As mentioned earlier, the friction model can be selected from three friction models—Coulomb-viscous friction model, Stribek friction model, and Lugrey friction model—depending on the type of reducer in the joint; further details will not be provided here.

[0146] Operation 740 can be executed at time t+2.4ms to calculate the damping term. The damping term is k in equation (12). d v is used to suppress jitter and improve low-speed stability.

[0147] Operation 750 can be executed at t+3.2ms to output torque and clamp it to a multiple of the peak torque of each motor, ensuring that the motor does not exceed the safe torque under faults and disturbances. In some implementations, the multiple can be 0.8 times.

[0148] Operation 760 can be executed at time t+4ms, sending the calculated results to each joint via the CAN interface to perform torque feedforward compensation. In some implementations, the CAN interface sends current; the conversion from torque to current can be calculated by the motor controller based on the joint motor model, and sent by setting the CAN interface to current control mode.

[0149] In some implementations, when abnormal conditions such as CAN feedback frame loss or communication interruption occur, the valid status data q from the previous cycle can be automatically recalled. last v last τ last It replaces the currently failed data, continuously executes torque compensation control, maintains the continuity of control logic, and avoids torque shock and joint vibration problems caused by data jumps and instruction interruptions.

[0150] In some implementations, when the equipment stops or is about to exit the teaching mode, a zero-torque control command can be sent to all joint motors first to clear the motor output torque before performing the motor disabling operation. This avoids safety hazards such as joint gravity falling or shaking caused by direct power failure and improves the safety of equipment operation.

[0151] Figure 8A schematic diagram comparing the operator's dragging force before and after using the compensation method of this disclosure is shown. The horizontal axis of the graph represents the robot joint's full-angle rotation range from -60° to +60°, and the vertical axis represents the operating force required to manually drag the joint. The actual measurement comparison results intuitively verify that after adopting the hierarchical identification and multi-model adaptive compensation technology of this disclosure, the robot joint friction compensation accuracy is significantly improved, and the joint dragging resistance is significantly reduced. The operator can easily drag the robotic arm to complete teaching tasks on arbitrary trajectories without expending physical effort. This not only optimizes the teaching operation feel but also eliminates trajectory distortion caused by resistance interference, greatly improving the replication accuracy of the teaching trajectory and the consistency of the operation.

[0152] The complete zero-gravity teaching method and control system disclosed herein has been successfully deployed in commercial dual-arm robot products and has completed field testing and verification. An exemplary test model is a 7-DOF collaborative robotic arm with a single arm mass of approximately 18 kg, a maximum end-effector load of 5 kg, and equipped with RS03 / RS02 / RS06 / RS00 series joint motors. The test results are shown in Table 2, demonstrating that this solution possesses core advantages such as ultra-high real-time performance, strong operational stability, low and constant resource consumption, and a robust fault tolerance and recovery mechanism. It also exhibits strong cross-hardware and cross-platform compatibility and can be widely adapted to zero-gravity teaching scenarios for various models and multiple degrees of freedom collaborative robots.

[0153] Table 2:

[0154] Therefore, the technical solution disclosed herein achieves the following technical effects in engineering applications:

[0155] 1. Intuitive drag teaching: The operator can drag a seven-DOF robotic arm weighing tens of kilograms with a single-digit Newton level of external force, which is equivalent to the operating feel of dragging an object with the same buoyancy in water. Process engineers without robot programming experience can also complete trajectory teaching.

[0156] 2. Multi-hardware platform adaptation: With multiple friction models available for configuration, the same software framework can be applied to different transmission mechanisms such as harmonic reducers, planetary gears, and cycloidal pinwheels, without the need to develop compensation logic separately for each type of hardware.

[0157] 3. Closed-loop diagnostics: When a failure occurs, the system outputs diagnostic information such as condition number, matrix rank, and joint R², which helps engineers accurately locate the source of the problem and shorten the debugging cycle;

[0158] 4. Production Deployment Friendly: The three capabilities of automatic detection of dual-arm CAN channels, parallel identification, and closed-loop verification significantly reduce the engineering complexity of the factory calibration process.

[0159] Figure 9A flowchart illustrating an exemplary method 900 according to an exemplary embodiment of the present disclosure is shown. The exemplary method 900 can be performed by a device or at least a portion of a robot system or dexterous hand system, such as by... Figure 1 The control device 120 is executed. See also Figure 9 An exemplary method 900 may include: operation 910, sampling the working condition data of the robotic arm joints based on a slow bidirectional excitation trajectory to obtain first sampled data; operation 920, sampling the working condition data of the robotic arm joints based on an optimized Fourier series excitation trajectory to obtain second sampled data; operation 930, calculating the gravity parameters and Coulomb friction torque of the robotic arm based on the first sampled data; operation 940, calculating the inertial parameters and viscous friction parameters of the robotic arm based on the second sampled data and the gravity parameters; and operation 950, controlling the robotic arm in real time based on the inertial parameters, Coulomb friction torque, and viscous friction parameters to compensate for the resistance of the robotic arm.

[0160] In some implementations, calculating the gravity parameters and Coulomb friction torque of the robotic arm based on the first sampled data may include: dividing the first sampled data into bins based on the angle of the joint; calculating the gravity torque and Coulomb friction torque for each bin; and fitting the gravity parameters to the gravity torque using a fitting strategy.

[0161] In some implementations, the fitting strategy may include: recursive identification, joint-specific independent or global merging.

[0162] In some implementations, calculating the inertial parameters of the robotic arm may include: calculating an inertial tensor based on the inertial-related columns in the inertial matrix; and calculating the inertial parameters of the robotic arm based on the inertial tensor and the gravity parameters.

[0163] In some implementations, calculating the viscous friction parameters of the robotic arm may include: constructing a friction matrix based on a friction model; and calculating the viscous friction parameters based on the columns in the friction matrix that are related to viscous friction.

[0164] In some implementations, the friction model may include a Coulomb-viscosity model, a Stribek model, or a Lugrei model.

[0165] In some implementations, exemplary method 900 may further include: verifying the gravity parameter, the Coulomb friction torque, the inertial parameter, or the viscous friction parameter; and changing the friction model used for calculation or optimizing the excitation trajectory based on the verification results.

[0166] In some implementations, the verification may include verification based on the coefficient of determination, root mean square error, or mean absolute error.

[0167] Figure 10 A flowchart illustrating an exemplary method 1000 according to an exemplary embodiment of the present disclosure is shown. Exemplary method 100 can be performed by a device or at least a portion of a robot system or dexterous hand system, for example by... Figure 1 The control device 120 is executed. See also Figure 10 The exemplary method 1000 may include: operation 1010, sampling the position and torque of the robotic arm joint; operation 1020, performing zero-phase low-pass filtering on the position to obtain a filtered position; operation 1030, performing center difference processing on the filtered position to obtain the original velocity; operation 1040, performing zero-phase low-pass filtering on the original velocity to obtain a filtered velocity; operation 1050, performing center difference processing on the filtered velocity to obtain the original acceleration; operation 1060, performing zero-phase low-pass filtering on the original acceleration to obtain a filtered acceleration; operation 1070, performing zero-phase low-pass filtering on the torque to obtain a filtered torque; operation 1080, calculating a joint regression matrix based on the filtered acceleration and the filtered torque; and operation 1090, controlling the robotic arm joint based on the joint regression matrix.

[0168] In some implementations, the zero-phase low-pass filtering can be performed using a Butterworth filter.

[0169] In some implementations, the low-pass cutoff frequency of the Butterworth filter can be 5 Hz.

[0170] In some implementations, the Butterworth filter may be of order 4.

[0171] In some implementations, controlling the robotic arm based on the joint regression matrix may include: calculating the inertial parameters and comprehensive friction parameters of the robotic arm based on the joint regression matrix; calculating a compensation torque based on the inertial parameters and the comprehensive friction parameters; and controlling the robotic arm joints in real time according to the compensation torque to compensate for the joint resistance of the robotic arm.

[0172] In some implementations, the real-time control of the robotic arm joints based on the compensation torque to compensate for the joint resistance may include: converting the compensation torque information into current information; and sending the current information to the corresponding robotic arm joints via a controller local area network interface to perform real-time control of the robotic arm joints.

[0173] Figure 11A block diagram of an example device 1100 according to an exemplary embodiment is shown. Device 1100 may be implemented as a functional module or device in a robotic system, such as at least a portion of control device 120, for performing the exemplary embodiments discussed above. References Figure 11 The device 1100 includes, for example, at least one processor 1110 and at least one memory 1120 storing an operating system 1122, instructions 1124, and data 1126. When the instructions 1124 are executed by the at least one processor 1110, the device 1100 causes at least the above-mentioned reference to be executed. Figure 9 or Figure 10 The method described. In one example, the at least one memory 1110 and instructions 1124 (e.g., computer program code, software) are configured to cause the device 1100 to perform any of the methods described above, via the at least one processor 1110.

[0174] Operating system 1122 is system software stored in memory 1120. As an intermediate layer between hardware and instructions, it provides a unified abstract interface to provide a runtime environment for the execution of instructions 1124 and manages the computing resources of processor 1110, the space allocation of memory 1120, and the scheduling of user interface 1130 and communication interface 1140. Operating system 1122 can be a series of operating systems such as Windows, Mac OS, Unix, and Linux.

[0175] The data 1126 is stored in the memory 1120. It is a collection of various information that the processor 1110 reads, writes, transmits and processes according to the instructions 1124 under the scheduling and control of the operating system 1122, providing data support for the operation and function realization of the various components of the device 1100.

[0176] Processor 1100 may include, or be configured as, one or more circuits configured to perform stages of the method according to the disclosed exemplary embodiments. In this disclosure, the term "circuit" may refer to one or more of the following: (a) a hardware-only circuit implementation, such as an implementation solely in analog and / or digital circuitry; (b) a combination of hardware circuitry and software, if applicable, such as: (i) a combination of analog and / or digital hardware circuitry with software / firmware, and (ii) any portion of a hardware processor with software (including digital signal processors, software, and memory, which work together to enable a device such as a user equipment to perform various functions); (c) hardware circuitry and / or a processor, such as a microprocessor or a portion thereof, which requires software (e.g., firmware) for operation, but which may be absent when not required for operation. This definition of circuitry applies to all uses of the term in this disclosure (including any claims). As a further example, when used in this disclosure, the term circuitry also encompasses: an implementation solely of hardware circuitry or a processor (or multiple processors), a portion of hardware circuitry or a processor, and an implementation of its accompanying software and / or firmware. If applicable to the specific features of the claims, the term "circuit" also covers, for example, baseband integrated circuits or processor integrated circuits for mobile devices, or similar integrated circuits in servers, cellular network devices, or other computing or network devices.

[0177] The memory 1120 can be implemented using any suitable data storage technology. The memory 1120 may include a database for storing data. The memory 1120 may be at least partially external to the device 1100, but may be accessible to the device 1100.

[0178] The operating system 1122, instructions 1124, and data 1126 may be contained in a computer-readable medium or a non-transitory computer-readable medium. The term non-transitory, as used herein, is a limitation of the persistence of data storage (e.g., RAM versus ROM) and is a limitation concerning the medium itself (i.e., tangible rather than signaling).

[0179] Device 1100 may include one or more entities of any protocol layer. In some embodiments, one or more of these entities may be configured to perform method 900, method 1000, or any one or more embodiments described with respect to these methods.

[0180] The device 1100 may also include a communication interface 1140, such as a wireless communication interface and / or a wired communication interface, which can provide communication capabilities for the device 1100.

[0181] Communication interface 1140 may include receiving circuitry, receivers, I / O interfaces, and other devices with network data receiving and transmitting functions. For example, the receiver may be configured to receive information according to at least one wired or wireless standard. Communication interface 1140 may include a transmitter configured to transmit information according to at least one wired or wireless standard. Receivers may include more than one receiver. Transmitters may include more than one transmitter. Communication interface 1140 may include a transceiver configured to receive and transmit information according to at least one wired or wireless standard. Transceivers may include more than one receiver.

[0182] Device 1100 may include a user interface 1130, which includes at least one of, for example, a keyboard, microphone, touchscreen, display, speaker, etc. User interface 1130 can be used by a user to control device 1100. User interface 1130 may be external to device 1100. For example, device 1100 may be connected to another device, such as a computer, via a wireless or wired connection, and device 1100 may be controlled by a user via the computer.

[0183] In some embodiments, at least some of the methods described herein can be performed by a device including means for performing various operations or steps in the described methods. Means for performing the method steps described herein may include software and / or hardware components of device 1100. For example, at least one processor 1110, memory 1120, and computer program code may form means for performing the methods described herein and any embodiments thereof. The term “means” as used herein may be interpreted in the singular form, meaning a single element, or in the plural form, meaning a combination of single elements. Therefore, the term “means for performing A, B, C” should be interpreted to encompass devices in which only one means performs A, B, C; or in which separate means perform A, B, C; or in which partially or entirely overlapping means perform A, B, C. Furthermore, the terms “apparatus for performing A, apparatus for performing B, apparatus for performing C” should be interpreted to cover devices in which only one apparatus performs A, B, or C; or in which separate apparatuses perform A, B, or C; or in which some or all overlapping apparatuses perform A, B, or C.

[0184] Figure 12 An example block diagram of an example device 1200 according to an exemplary embodiment of the present disclosure is shown. The example device 1200 may be, for example, at least a portion of a control device 120 as described above.

[0185] like Figure 12As shown, the example device 1200 may include: a device 1210 for sampling the working condition data of the robotic arm joints based on a slow bidirectional excitation trajectory to obtain first sampled data; a device 1220 for sampling the working condition data of the robotic arm joints based on an optimized Fourier series excitation trajectory to obtain second sampled data; a device 1230 for calculating the gravity parameters and Coulomb friction torque of the robotic arm based on the first sampled data; a device 1240 for calculating the inertial parameters and viscous friction parameters of the robotic arm based on the second sampled data and the gravity parameters; and a device 1250 for controlling the robotic arm in real time based on the inertial parameters, Coulomb friction torque, and viscous friction parameters to compensate for the resistance of the robotic arm.

[0186] In some implementations, calculating the gravity parameters and Coulomb friction torque of the robotic arm based on the first sampled data may include: dividing the first sampled data into bins based on the angle of the joint; calculating the gravity torque and Coulomb friction torque for each bin; and fitting the gravity parameters to the gravity torque using a fitting strategy.

[0187] In some implementations, the fitting strategy may include: recursive identification, joint-specific independent or global merging.

[0188] In some implementations, calculating the inertial parameters of the robotic arm may include: calculating an inertial tensor based on the inertial-related columns in the inertial matrix; and calculating the inertial parameters of the robotic arm based on the inertial tensor and the gravity parameters.

[0189] In some implementations, calculating the viscous friction parameters of the robotic arm may include: constructing a friction matrix based on a friction model; and calculating the viscous friction parameters based on the columns in the friction matrix that are related to viscous friction.

[0190] In some implementations, the friction model may include a Coulomb-viscosity model, a Stribek model, or a Lugrei model.

[0191] In some embodiments, the exemplary device 1200 may further include: means for verifying the gravity parameter, the Coulomb friction torque, the inertial parameter, or the viscous friction parameter; and means for changing the friction model used in the calculation or optimizing the excitation trajectory based on the verification result.

[0192] In some implementations, the verification may include verification based on the coefficient of determination, root mean square error, or mean absolute error.

[0193] Figure 13An example block diagram of an example device 1300 according to an exemplary embodiment of the present disclosure is shown. The example device 1300 may be, for example, at least a portion of the control device 120 described above.

[0194] like Figure 13 As shown, the example device 1300 may include: a device 1310 for sampling the position and torque of a robotic arm joint; a device 1320 for performing zero-phase low-pass filtering on the position to obtain a filtered position; a device 1330 for performing center-difference processing on the filtered position to obtain an original velocity; a device 1340 for performing zero-phase low-pass filtering on the original velocity to obtain a filtered velocity; a device 1350 for performing center-difference processing on the filtered velocity to obtain an original acceleration; a device 1360 for performing zero-phase low-pass filtering on the original acceleration to obtain a filtered acceleration; a device 1370 for performing zero-phase low-pass filtering on the torque to obtain a filtered torque; a device 1380 for calculating a joint regression matrix based on the filtered acceleration and the filtered torque; and a device 1390 for controlling the robotic arm joint based on the joint regression matrix.

[0195] In some implementations, the zero-phase low-pass filtering can be performed using a Butterworth filter.

[0196] In some implementations, the low-pass cutoff frequency of the Butterworth filter can be 5 Hz.

[0197] In some implementations, the Butterworth filter may be of order 4.

[0198] In some implementations, controlling the robotic arm based on the joint regression matrix may include: calculating the inertial parameters and comprehensive friction parameters of the robotic arm based on the joint regression matrix; calculating a compensation torque based on the inertial parameters and the comprehensive friction parameters; and controlling the robotic arm joints in real time according to the compensation torque to compensate for the joint resistance of the robotic arm.

[0199] In some implementations, the real-time control of the robotic arm joints based on the compensation torque to compensate for the joint resistance may include: converting the compensation torque information into current information; and sending the current information to the corresponding robotic arm joints via a controller local area network interface to perform real-time control of the robotic arm joints.

[0200] It should be understood that the apparatus according to the embodiments of this disclosure is not limited to the examples described above. The modules in the illustrated example apparatuses can be connected or coupled together in any suitable manner, and the arrows between the modules are only used to indicate the direction of data or signals of interest, but do not indicate that the direction of data or signals between modules can only be in the direction of the arrows.

[0201] Some exemplary embodiments also provide computer program code or instructions that, when executed by one or more processors, cause a device or apparatus to perform the methods described above. The computer program code for performing the methods of the example embodiments can be written in any known or future-developed programming language, such as Java, C++, C, and Assembler. The computer program code can be provided to one or more processors or controllers of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that, when executed by the processor or controller, it causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code can be executed entirely on the machine, partially on the machine as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote computer or server.

[0202] Some example embodiments also provide a computer program product or computer-readable medium in which computer program code or instructions are stored, which, when executed by a processor, cause the associated means to perform the methods, steps, or functions described above. A computer-readable medium can be any tangible medium that may contain or store a program for use by or in connection with an instruction execution system, means, or apparatus. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, means, or apparatuses, or any suitable combination thereof. More specific examples of machine-readable storage media will include electrical connections having one or more wires, portable computer floppy disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable optical disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0203] Furthermore, although the operations are described in a specific order, this should not be construed as requiring such operations to be performed in the specific order or sequence shown, or requiring all of the operations shown to achieve the desired result. In some cases, multitasking and parallel processing can be advantageous. Similarly, although several specific implementation details are included in the foregoing discussion, these details should not be construed as limiting the scope of this disclosure, but rather as descriptions of features specific to particular embodiments. Certain features described in the context of a single embodiment may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.

[0204] The basic principles of this disclosure have been described above in conjunction with embodiments. However, it should be noted that the advantages, benefits, and effects mentioned in this disclosure are merely examples and not limitations, and should not be considered as essential features of each embodiment of this disclosure. Furthermore, the specific details disclosed above are for illustrative and facilitative purposes only, and are not limitations. These details do not limit the scope of this disclosure to the necessity of employing the aforementioned specific details for implementation.

[0205] The block diagrams of devices, apparatuses, devices, and systems disclosed herein are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As those skilled in the art will recognize, these devices, apparatuses, devices, and systems can be connected, arranged, and configured in any manner. Words such as “comprising,” “including,” “having,” etc., are open-ended terms meaning “including but not limited to,” and are used interchangeably with them. The terms “or” and “and” as used herein refer to the terms “and / or,” and are used interchangeably with them unless the context clearly indicates otherwise. The term “such as” as used herein refers to the phrase “such as but not limited to,” and is used interchangeably with it.

[0206] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use this disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of this disclosure. Therefore, this disclosure is not intended to be limited to the aspects shown herein, but rather to be carried out within the widest scope consistent with the principles and novel features disclosed herein.

[0207] The above description has been given for illustrative and descriptive purposes and is not intended to limit the embodiments of this disclosure to the forms disclosed herein. Although numerous exemplary aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations thereof.

[0208] Although the subject matter has been described in language specific to structural features and / or methodological actions, it should be understood that the subject matter defined in the appended claims is not limited to the specific features or actions described above. Rather, the specific features and actions described above are disclosed as examples of implementing the claims.

[0209] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0210] Those skilled in the art will understand that the features described in the various embodiments and / or claims of the present invention can be combined or combined in various ways, even if such combinations or combinations are not explicitly described in the present invention. In particular, the features described in the various embodiments and / or claims of the present invention can be combined or combined in various ways without departing from the spirit and teachings of the present invention. All such combinations and / or combinations fall within the scope of the present invention.

[0211] The embodiments of the present invention have been described above. However, these embodiments are merely illustrative and not intended to limit the scope of the invention. Although various embodiments have been described above, this does not mean that the measures in the various embodiments cannot be used advantageously in combination. The scope of the invention is defined by the appended claims and their equivalents. Various substitutions and modifications can be made by those skilled in the art without departing from the scope of the invention, and all such substitutions and modifications should fall within the scope of the invention.

Claims

1. A method for controlling the joints of a robotic arm, comprising: The position and torque of the robotic arm joints are sampled; The filtered position is obtained by performing zero-phase low-pass filtering on the aforementioned position; The original velocity is obtained by performing center difference processing on the filtered position; The original velocity is subjected to zero-phase low-pass filtering to obtain the filtered velocity; The original acceleration is obtained by performing center difference processing on the filtered velocity; The original acceleration is subjected to zero-phase low-pass filtering to obtain filtered acceleration; The torque is subjected to zero-phase low-pass filtering to obtain the filtered torque; Calculate the joint regression matrix based on the filtered acceleration and the filtered torque; as well as The robotic arm joints are controlled based on the joint regression matrix.

2. The method as described in claim 1, wherein, The zero-phase low-pass filtering process is performed using a Butterworth filter.

3. The method as described in claim 2, wherein, The low-pass cutoff frequency of the Butterworth filter is 5 Hz.

4. The method of claim 2, wherein, The Butterworth filter is of order 4.

5. The method of claim 1, wherein, The control of the robotic arm based on the joint regression matrix includes: The inertial parameters and comprehensive friction parameters of the robotic arm are calculated based on the joint regression matrix. The compensation torque is calculated based on the inertial parameters and the comprehensive friction parameters; and The robotic arm joints are controlled in real time according to the compensation torque to compensate for the joint resistance of the robotic arm.

6. The method of claim 5, wherein, The step of controlling the robotic arm joint in real time according to the compensation torque to compensate for the joint resistance of the robotic arm includes: The compensation torque information is converted into current information; The current information is sent to the corresponding robotic arm joint via the controller local area network interface to perform real-time control of the robotic arm joint.

7. An electronic device, comprising: At least one processor; as well as At least one memory storing instructions, which, when executed by the at least one processor, cause the electronic device to perform at least one operation, the operation including: The position and torque of the robotic arm joints are sampled; The filtered position is obtained by performing zero-phase low-pass filtering on the aforementioned position; The original velocity is obtained by performing center difference processing on the filtered position; The original velocity is subjected to zero-phase low-pass filtering to obtain the filtered velocity; The original acceleration is obtained by performing center difference processing on the filtered velocity; The original acceleration is subjected to zero-phase low-pass filtering to obtain filtered acceleration; The torque is subjected to zero-phase low-pass filtering to obtain the filtered torque; Calculate the joint regression matrix based on the filtered acceleration and the filtered torque; and The robotic arm joints are controlled based on the joint regression matrix.

8. The device as claimed in claim 7, wherein, The zero-phase low-pass filtering process is performed using a Butterworth filter.

9. The device as claimed in claim 8, wherein, The low-pass cutoff frequency of the Butterworth filter is 5 Hz.

10. The device as claimed in claim 8, wherein, The Butterworth filter is of order 4.

11. The device as claimed in claim 7, wherein, The control of the robotic arm based on the joint regression matrix includes: The inertial parameters and comprehensive friction parameters of the robotic arm are calculated based on the joint regression matrix. The compensation torque is calculated based on the inertial parameters and the comprehensive friction parameters; and The robotic arm joints are controlled in real time according to the compensation torque to compensate for the joint resistance of the robotic arm.

12. The device as claimed in claim 11, wherein, The step of controlling the robotic arm joint in real time according to the compensation torque to compensate for the joint resistance of the robotic arm includes: The compensation torque information is converted into current information; The current information is sent to the corresponding robotic arm joint via the controller local area network interface to perform real-time control of the robotic arm joint.

13. An electronic device comprising means for performing the method of any one of claims 1 to 6.

14. A computer-readable medium comprising program instructions that, when executed, implement the method of any one of claims 1 to 6.

15. A computer program product comprising instructions that, when executed by a processor, perform the method as described in any one of claims 1 to 6.

16. A robot comprising: A robotic arm and an actuator located at the end of the robotic arm; as well as A controller, electrically connected to both the robotic arm and the actuator, is used to perform the method as described in any one of claims 1 to 6.