Encoder-based transmission control method for a servo joint module
Patent Information
- Application Number
- CN202611062960.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-17
- Publication Date
- 2026-08-18
AI Technical Summary
上述方式具有如下缺陷:1.直接将编码器安装在法兰端难以满足市场对于产品的中空设计结构要求,且编码器由于设计布局,多圈旋转会存在线缆缠绕导致撕裂,无法满足多圈旋转的使用要求,即使存在满足需求的方案,设计和装配都较为复杂;2.通过传动轴将法兰盘输出等效至另一端,能解决线缆干涉的问题,但传动轴的加工精度本身依据会带来一定的传动误差;3.大部分的方案并没有考虑工作温度对传动误差的影响
(1)轻易将末端输出精度控制在100角秒内(1度=3600角秒),最高可将末端精度控制在30角秒内;
Smart Images

Figure CN122584356A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of transmission control technology, and in particular to a transmission control method for a servo joint module based on an encoder. Background Technology
[0002] Currently, with the increasing number of humanoid robot manufacturers and products, the demand for servo joint modules is growing daily. Due to objective manufacturing and assembly errors, material and structural flexibility, kinematic and clearance effects, and the coupling between the servo system and operating conditions, servo joint modules exhibit transmission errors during movement. The current mainstream solution in the industry is to install an encoder at the equivalent output position on the flange end to reduce transmission errors caused by backlash between the input and output ends of the reducer. This method can control absolute positioning accuracy within ±0.5°. However, this method has the following drawbacks: 1. Directly installing the encoder on the flange end makes it difficult to meet market requirements for hollow design structures. Furthermore, due to the encoder's design layout, multiple rotations can lead to cable entanglement and tearing, failing to meet the requirements for multi-rotation applications. Even if a solution exists that meets these requirements, its design and assembly are complex; 2. Using a drive shaft to effectively transfer the flange output to the other end can solve the cable interference problem, but the machining accuracy of the drive shaft itself will introduce transmission errors; 3. Most solutions do not consider the impact of operating temperature on transmission errors. Therefore, this application aims to provide a servo joint module transmission control method that can overcome the above-mentioned defects. Summary of the Invention
[0003] The purpose of this invention is to overcome the shortcomings of the prior art and provide a servo joint module transmission control method based on an encoder.
[0004] The objective of this invention is achieved through the following technical solution: a servo joint module transmission control method based on an encoder, characterized by the following steps: configuring the servo joint module and an external encoder to obtain several sets of pulse number compensation values I_e for different temperature ranges; configuring a controller to identify and determine the received external control signal; when the external control signal is determined to be an absolute position movement, calculating the first remainder r1 after dividing the number of motion pulses Pa of the external control signal by the second pulse number I_joint; when the external control signal is determined to be a relative position movement, converting the relative position movement into an absolute position movement with a number of motion pulses Pa, and calculating the second remainder r2 after dividing the number of motion pulses Pa by the second pulse number I_joint; wherein, when the first remainder or the second remainder is greater than or equal to zero and less than or equal to the second pulse number I_joint, rotating the servo joint module to the target position according to the actual pulse number M = Pa + I_e.
[0005] Preferably, the plurality of pulse number compensation values I_e are obtained according to the following steps: The servo joint module is coupled to an external encoder, and the first pulse number I_out and the second pulse number I_joint are determined based on their respective resolutions; zero-point positions are selected for the servo joint module and the external encoder respectively; using the zero-point position of the servo joint module as a reference, the servo joint module is controlled to rotate 360° from the zero-point position in a constant direction each time, and the relative pulse number I_relative and the actual pulse number I_in of the servo joint module are obtained; after each rotation of the servo joint module, the actual pulse number I_actual of the external encoder is obtained to obtain the angle deviation value A_e between the external encoder and the servo joint module; after the servo joint module rotates 360°, the angle deviation value A_e is converted into a pulse number compensation value I_e corresponding to the resolution and recorded in the database of the servo joint module; the above steps are repeated in different temperature ranges to obtain a plurality of pulse number compensation values I_e in different temperature ranges.
[0006] Preferably, the angle deviation value A_e is calculated as follows: A_e = A_out - A_joint, where A_joint = I_in 360 / I_joint;A_out=I_actual 360 / I_out.
[0007] Preferably, the pulse number compensation value I_e is calculated according to the formula I_e=A_e. I_joint / 360 is used for conversion.
[0008] The present invention has the following advantages: (1) The terminal output accuracy can be easily controlled within 100 arcseconds (1 degree = 3600 arcseconds), and the terminal accuracy can be controlled within 30 arcseconds at the highest level; (2) This application can solve the nonlinear and periodic errors caused by mechanical transmission characteristics, assembly deviations and harmonic reducer characteristics. These deviations are mainly manifested as differences in deviations in different regions within one rotation. Attached Figure Description
[0009] Figure 1 This is a flowchart illustrating the servo joint module transmission control method of the present invention. Figure 2 This is a schematic diagram showing the modular connection method of each electronic module; In the diagram, 1-servo joint module, 2-external encoder, 3-control module. Detailed Implementation
[0010] The present invention will be further described below with reference to the accompanying drawings. The scope of protection of the present invention is not limited to the following description: like Figure 1 and Figure 2 As shown, this application provides a servo joint module transmission control method based on an encoder, including the following steps: S1, couple the servo joint module 1 to the external encoder 2, and determine the first pulse number I_out and the second pulse number I_joint based on their respective resolutions.
[0011] Specifically, the external encoder 2 can be a high-precision encoder with a resolution of 24 bits and a pulse count of I_out = 16,777,216 per revolution (360°). The servo joint module 1 can have a resolution of 18 bits and a pulse count of I_joint = 262144 per revolution (360°).
[0012] S2, select the zero point position for the servo joint module 1 and the external encoder 2 respectively, and control the servo joint module 1 to rotate 360° from the zero point position in a constant degree rotation in the same direction each time, based on the zero point position of the servo joint module 1, and obtain the relative pulse number I_relative and the actual pulse number I_in of the servo joint module 1.
[0013] Specifically, a 360° circle can be divided into 36 equal parts. Each rotation is 10°. After conversion, the relative pulse number I_relative = 7282.
[0014] S3, after each rotation, the servo joint module 1 obtains the actual number of pulses I_actual from the external encoder 2 to obtain the angle deviation value A_e between the external encoder and the servo joint module.
[0015] Specifically, based on pulse count conversion, the relative movement pulse count is estimated to be around 466034. The angle deviation value A_e is calculated as follows: A_e = A_out - A_joint, where A_out is the rotation angle detected by the external encoder, and A_joint is the rotation angle detected by the encoder inside the servo drive. A_joint = I_in 360 / I_joint;A_out=I_actual 360 / I_out.
[0016] S4. After the servo joint module rotates 360°, the angle deviation value A_e is converted into the pulse number compensation value I_e corresponding to the resolution and recorded in the database of the servo joint module.
[0017] Specifically, the angle deviation value A_e is expressed by the formula I_e=A_e I_joint / 360 is converted into the pulse number compensation value I_e.
[0018] S5. Repeat steps S1-S3 under different temperature ranges to obtain several sets of pulse number compensation values I_e under different temperature ranges.
[0019] S6. Identify and determine the received external control signal. When the external control signal is determined to be an absolute position movement, calculate the first remainder r1 after dividing the number of motion pulses Pa of the external control signal by the number of second pulses I_joint. When the external control signal is determined to be a relative position movement, convert the relative position movement into an absolute position movement with the number of motion pulses Pa, and calculate the second remainder r2 after dividing the number of motion pulses Pa by the number of second pulses I_joint.
[0020] Specifically, the control module 3 can be pre-configured with a built-in program that can convert relative motion into absolute position motion based on Pa=Pn+Pr.
[0021] S7, when the first or second remainder is greater than or equal to zero and less than or equal to the second pulse number I_joint, rotate the servo joint module to the target position according to the actual pulse number M=Pa+I_e.
[0022] Specifically, the controller 3 can be connected to the servo joint module 1 and the external encoder 2, and then the controller 3 can complete the data processing and control operations in steps S1-S6.
[0023] Finally, it should be noted that the above descriptions are merely preferred embodiments of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing embodiments or make equivalent substitutions for some of the technical features. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A servo joint module transmission control method based on an encoder, characterized in that, Includes the following steps: Configure the servo joint module (1) and the external encoder (2) to obtain several sets of pulse number compensation values I_e for different temperature ranges; Configure the controller (3) to identify and determine the received external control signal. When the external control signal is determined to be an absolute position motion, calculate the first remainder r1 after dividing the number of motion pulses Pa of the external control signal by the number of second pulses I_joint; when the external control signal is determined to be a relative position motion, convert the relative position motion into an absolute position motion with a number of motion pulses Pa, and calculate the second remainder r2 after dividing the number of motion pulses Pa by the number of second pulses I_joint; where, When the first or second remainder is greater than or equal to zero and less than or equal to the second pulse number I_joint, the servo joint module is rotated to the target position according to the actual pulse number M=Pa+I_e.
2. The servo joint module transmission control method according to claim 1, characterized in that, The pulse number compensation values I_e are obtained by following these steps: The servo joint module (1) is coupled to the external encoder (2), and the first pulse number I_out and the second pulse number I_joint are determined based on their respective resolutions. Select zero-point positions for the servo joint module (1) and the external encoder (2) respectively. Based on the zero-point position of the servo joint module (1), control the servo joint module (1) to rotate 360° from the zero-point position in a constant degree rotation in the same direction each time, and obtain the relative pulse number I_relative and the actual pulse number I_in of the servo joint module (1). After each rotation, the servo joint module (1) acquires the actual number of pulses I_actual from the external encoder (2) to obtain the angle deviation value A_e between the external encoder and the servo joint module. After the servo joint module rotates 360°, the angle deviation value A_e is converted into the pulse number compensation value I_e corresponding to the resolution and recorded in the database of the servo joint module. Repeat the above steps at different temperature ranges to obtain several sets of pulse number compensation values I_e at different temperature ranges.
3. The servo joint module transmission control method according to claim 2, characterized in that, The angle deviation value A_e is calculated as follows: A_e = A_out - A_joint, where A_joint = I_in 360 / I_joint;A_out=I_actual 360 / I_out.
4. The servo joint module transmission control method according to claim 2, characterized in that, The pulse number compensation value I_e is calculated using the formula I_e=A_e I_joint / 360 is used for conversion.