Encoder precision optimization method, mechanical arm joint and system
By calibrating and signal processing of the first encoder and the second encoder, combining redundant calculation and data fusion algorithm, the problems of absolute value encoder accuracy and environmental tolerance are solved, and high precision, low cost and high tolerance are achieved encoder solution for precision control.
Patent Information
- Application Number
- CN202411161616.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-23
- Publication Date
- 2024-12-17
AI Technical Summary
The existing absolute value encoder has problems in the field of precision control with high accuracy but high cost and poor environmental tolerance, making it difficult to achieve a coding solution with low cost, high accuracy and good environmental tolerance.
By calibrating the first encoder and the second encoder, encoded data is collected in real time, linearized mapping and signal processing is performed, real-time angle values are calculated, and absolute positions are obtained through redundant calculations to compensate for the accuracy of the first encoder. The redundant data fusion algorithm optimizes the accuracy.
Significantly improves the accuracy of absolute value encoder, provides higher reliability and wider application range, reduces environmental dependence and reduces costs.
Smart Images

Figure CN119141526A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of encoders, and in particular, to an encoder accuracy optimization method, a robotic arm joint, and a robotic arm system. Background Art
[0002] An encoder is a device that converts a signal (such as a bit stream) or data into a signal form for communication, transmission or storage. There are many types of encoders. Based on the working principle, they can be divided into incremental encoders and absolute encoders; based on the technical principle, they can be divided into magnetic encoders, optical encoders and inductive encoders; based on the measurement type, they can be divided into linear encoders and rotary encoders. With the development of industry, encoders have been widely used in industrial automation, robotics, machine tool manufacturing and other fields, and are the key to achieving position measurement and control.
[0003] In the field of precision control, absolute encoders are widely used because they can provide accurate position feedback. At present, most absolute encoders on the market use gratings. Although this type of encoder has high accuracy, its cost is relatively high and it has strict environmental requirements (its working principle is to convert the light signal transmitted by the grating disk into an electrical signal, so it is easily affected by dust and oil).
[0004] In comparison, magnetic ring absolute encoders have high environmental tolerance and low price, but their accuracy is relatively poor.
[0005] Therefore, implementing a coding scheme that is low-cost, high-precision, and has good environmental tolerance is of great significance for precision control scenarios. Summary of the invention
[0006] On the one hand, the present application provides a method for optimizing encoder accuracy, the method comprising: calibrating a first encoder and a second encoder respectively, and collecting encoding data in real time; linearizing and mapping the collected encoding data and actual data, and performing signal processing; calculating a first real-time angle value of the first encoder and a second real-time angle value of the second encoder respectively; and acquiring the absolute position upon power-on and the position and speed control during drive operation, acquiring the values of the first encoder and the second encoder, and compensating for the accuracy of the first encoder by redundantly calculating the absolute position, wherein the absolute position acquired upon power-on is based on the first real-time angle value and the second real-time angle value.
[0007] In one embodiment, the redundant calculation method includes: calculating a position estimate of the first encoder based on a reduction ratio between the first encoder and the second encoder and a pulse value of the first encoder; obtaining a pulse number of the second encoder that is less than one circle based on the position estimate; calculating a differential value between the first encoder and the second encoder; and calculating an absolute position of the second encoder based on the differential value and a pulse resolution of the second encoder.
[0008] In one embodiment, the position estimation value of the first encoder satisfies: Est=Enc1×Ri; the number of pulses of the second encoder that is less than one circle satisfies: Re=Est%k; the differential value between the first encoder and the second encoder satisfies: diff=Enc2-Re; and the absolute position of the second encoder satisfies: pos=(Est+diff) / k, wherein pos is the absolute position of the second encoder, Est is the position estimation value of the first encoder, Enc1 is the pulse value of the first encoder, Enc2 is the pulse value of the second encoder, diff is the differential value between the first encoder and the second encoder, Re is the number of pulses of the second encoder that is less than one circle, Ri is the reduction ratio between the first encoder and the second encoder, and k is the pulse resolution of the second encoder.
[0009] In one embodiment, the encoded data includes pulse data of the first encoder and pulse data of the second encoder, and the actual data includes a rotation angle of the driver.
[0010] In one embodiment, the method further includes: setting an error threshold, and performing an abnormality judgment on the difference between the first real-time angle value and the first encoder angle value after the redundant calculation compensation based on the error threshold, wherein, in response to the abnormality judgment result being yes, an exception handling mechanism is used to perform the exception handling.
[0011] In one embodiment, the signal processing includes: using a quick sorting algorithm to sort the pulse data of the first encoder and the pulse data of the second encoder into data sequences from small to large; and using a window filtering algorithm to smooth the sorted data.
[0012] In one embodiment, the method for calculating the first real-time angle value includes: reading the real-time data of the first encoder after the signal processing; and using a binary search algorithm to map the reading of the real-time data to a pre-established encoder value table to locate the current value of the first encoder; performing linear interpolation calculations between two known angle values closest to the current value of the first encoder; and calculating and obtaining the first real-time angle value based on the results of the search and interpolation.
[0013] In one embodiment, the linearization mapping uses a univariate linear regression algorithm.
[0014] In one embodiment, obtaining the numerical values of the first encoder and the second encoder includes: obtaining pulse values of the first encoder and the second encoder respectively; and calculating angle values corresponding to the pulse values.
[0015] In one embodiment, the method further comprises using a redundant data fusion algorithm to compensate for the accuracy of the first encoder, and the redundant data fusion algorithm satisfies: Among them, Fpos is the comprehensive position information after weighted average processing of multiple encoders, w i is the weight of the i-th encoder, N is the number of encoders involved in the fusion, and p i is the position reading of the ith encoder.
[0016] Another aspect of the present application provides a robotic arm joint, which includes: a first encoder located at one end close to the reducer; a second encoder located at one end close to the driver; a rotating shaft coupled to the driver and synchronously drives the movement of the first encoder and the second encoder, wherein the absolute position is obtained in response to power-on and the position and speed control of the driver during operation, the values of the first encoder and the second encoder are obtained, and the absolute position is redundantly calculated to compensate for the accuracy of the first encoder.
[0017] In one embodiment, the redundant calculation satisfies: pos = (Enc1×Ri+Enc2-Est%k) / k, wherein pos is the absolute position of the second encoder, Est is the position estimate of the first encoder, Enc1 is the pulse value of the first encoder, Enc2 is the pulse value of the second encoder, Ri is the reduction ratio between the first encoder and the second encoder, and k is the pulse resolution of the second encoder.
[0018] Another aspect of the present application provides a robotic arm system, the system comprising: a robotic arm joint as described in any of the above embodiments; a processor; and a memory, which is communicatively connected to the processor and stores executable computer program instructions, wherein the number of the robotic arm joints is multiple, and the computer program instructions are executed by the processor and respectively control the independent movement of each of the robotic arm joints, thereby realizing the coordinated control of the multiple robotic arm joints. The system also includes: a control unit, which is communicatively connected to the robotic arm, and is used to receive and analyze the signals of the robotic arm.
[0019] The encoder accuracy optimization method provided in the present application may have at least one of the following beneficial effects:
[0020] According to the encoder accuracy optimization method in some embodiments of the present application, the absolute position is obtained through redundant calculation, and the accuracy of the first encoder is compensated, which can effectively optimize the error during measurement and significantly improve the accuracy of the absolute value encoder.
[0021] According to the encoder accuracy optimization method in some embodiments of the present application, a redundant system of a first encoder and a second encoder is used, which can provide higher accuracy, reliability and a wider range of applications than a single encoder.
[0022] Other features and advantages of the embodiments of the present invention will be described in the subsequent description, and partly become apparent from the description, or understood by practicing the present invention. The purposes and other advantages of the embodiments of the present invention can be achieved and obtained by the structures and / or functions specifically pointed out in the description, claims and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Other features, purposes and advantages of the present application will become more apparent through the following detailed description of non-limiting embodiments in conjunction with the accompanying drawings. In the accompanying drawings:
[0024] Figure 1 is a flowchart of an encoder accuracy optimization method according to an exemplary embodiment of the present application.
[0025] Figure 2 This is the linearization fitting diagram of the encoder without encoder accuracy optimization.
[0026] Figure 3 It is a linear fitting diagram of the encoder after the encoder accuracy is optimized according to the exemplary embodiment of the present application.
[0027] Figure 4 It is a block diagram of each module in a robotic arm joint according to an exemplary embodiment of the present application.
[0028] Figure 5It is a block diagram of each module in the robotic arm system according to an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0029] In order to better understand the present application, a more detailed description will be made of various aspects of the present application with reference to the accompanying drawings. It should be understood that these detailed descriptions are only descriptions of exemplary embodiments of the present application, and are not intended to limit the scope of the present application in any way. Throughout the specification, the same reference numerals refer to the same elements. The expression "and / or" includes any and all combinations of one or more of the associated listed items.
[0030] It should be noted that, in this specification, expressions such as "first", "second", etc. are only used to distinguish one feature from another, and do not represent any limitation on the features, and especially do not represent any order of precedence. It should be understood that expressions such as "including", "having", "containing" and / or "comprising" are open rather than closed expressions in this specification, which indicate the presence of the stated features, elements and / or components, but do not exclude the presence of one or more other features, elements, components and / or combinations thereof. In addition, when describing the embodiments of the present application, "may" is used to represent "one or more embodiments of the present application".
[0031] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments in this application can be combined with each other. In addition, unless explicitly limited or contradictory to the context, the specific steps included in the method recorded in this application are not necessarily limited to the recorded order, but can be performed in any order or in parallel.
[0032] The features, principles and other aspects of the present application will be described in detail below in conjunction with the accompanying drawings.
[0033] Figure 1 is a flow chart of an encoder accuracy optimization method according to an exemplary embodiment of the present application. Figure 1 As shown, the present application provides an encoder accuracy optimization method 1000 including:
[0034] Step S1100, calibrating the first encoder and the second encoder respectively, and collecting encoding data in real time;
[0035] Step S1200, linearizing and mapping the collected coded data and actual data, and performing signal processing;
[0036] Step S1300, respectively calculating a first real-time angle value of the first encoder and a second real-time angle value of the second encoder; and
[0037] Step S1400, in response to obtaining the absolute position upon power-on and the position and speed control during the operation of the drive, obtain the values of the first encoder and the second encoder, and compensate for the accuracy of the first encoder by redundantly calculating the absolute position, wherein the absolute position obtained upon power-on is based on the first real-time angle value and the second real-time angle value.
[0038] It should be understood that the steps shown in method 1000 are not exclusive, and other steps may be performed before, after, or between any of the steps shown. In addition, some of the steps shown may be performed simultaneously or in different steps. Figure 1 The following is performed in the order shown. Figures 1 to 3 The above steps S1100 to S1400 are further described.
[0039] Step S1100, calibrate the first encoder and the second encoder respectively, and collect encoding data in real time.
[0040] In some embodiments, a redundant system can be formed by setting multiple encoders, and a known reference position can be set as a zero point in the redundant system to calibrate the first encoder and the second encoder in the multiple encoders and collect encoding data in real time. Exemplarily, the encoding data includes pulse data of the first encoder and pulse data of the second encoder.
[0041] The method of collecting the coded data includes, for example, rotating or moving the first encoder and the second encoder, and recording the output pulses of the corresponding encoders. The first encoder and the second encoder have the same movement in timing, that is, they move and stop at the same time; but they can rotate different angles or displacements in the same time.
[0042] Exemplarily, an angle meter, a laser interferometer or other high-precision measuring tool is used as a reference to record the actual angle or position changes of the first encoder and the second encoder.
[0043] In some embodiments, the number of encoders in the multi-encoder may be 2. In other embodiments, the number of encoders in the multi-encoder is 3, 4, 5 or even more. The formation of a redundant system is conducive to improving the accuracy and reliability of position detection.
[0044] Exemplarily, the first encoder includes an absolute encoder, and the second encoder includes an incremental encoder. The absolute encoder may be located on a side close to the reducer, and the incremental encoder may be located on a side close to the driver.
[0045] Step S1200, linearizing and mapping the collected coded data and actual data, and performing signal processing.
[0046] When calibrating the first encoder and the second encoder, the encoded data is linearly mapped with the actual angle data, and the actual data includes the rotation angle of the driver. For example, a univariate linear regression algorithm is used for linear fitting, and a mapping function is established based on the regression result; at the same time, a quick sorting algorithm is introduced, and the pulse data of the first encoder and the pulse data of the second encoder are sorted from small to large using the quick sorting algorithm; then the sorted data is smoothed using a window filtering algorithm. This operation is conducive to improving the calculation accuracy of the encoder.
[0047] Step S1300, respectively calculating a first real-time angle value of the first encoder and a second real-time angle value of the second encoder.
[0048] In some embodiments, a mapping function may be applied to the real-time data of the encoder to calculate a first real-time angle value of the first encoder and a second real-time angle value of the second encoder, respectively. The method for calculating the first real-time angle value includes: reading the real-time data of the first encoder, which may be processed by window filtering; then using a binary search algorithm to map the reading of the real-time data to a pre-established encoder value table to locate the current value of the first encoder; then, performing a linear interpolation calculation between two known angle values closest to the current value of the first encoder, which known angle values may be obtained from the encoder value table; finally, calculating the first real-time angle value based on the results of the search and interpolation.
[0049] Similar to the method of obtaining the first real-time angle value, the second real-time angle value can be calculated.
[0050] As an example, the first angular velocity value and the second angular velocity value may be respectively acquired according to the relationship between the first real-time angle value, the second real-time angle value and time.
[0051] Step S1400, in response to obtaining the absolute position upon power-on and the position and speed control during the operation of the drive, obtain the values of the first encoder and the second encoder, and compensate for the accuracy of the first encoder by redundantly calculating the absolute position, wherein the absolute position obtained upon power-on is based on the first real-time angle value and the second real-time angle value.
[0052] In some embodiments, an absolute position can be acquired based on the first real-time angle value and the second real-time angle value at power-on, and the absolute position includes the absolute position of the second encoder. In response to acquiring the absolute position at power-on and position and speed control during operation of the drive, the pulse values of the first encoder and the second encoder are acquired respectively, and their corresponding angle values are calculated.
[0053] When the system starts or the power is turned on, the system needs to determine the initial position of the robot arm joint or other mechanical equipment. The initial position can be achieved by reading the first encoder (such as an absolute encoder). The absolute encoder can provide accurate position information of the device after the power is restored, without the need for additional positioning or reference point search. When the robot arm joint / equipment is in normal working condition, that is, when the driver (such as a motor) is running, the system monitors and controls the position and speed of the robot arm joint / equipment in real time through the control unit to ensure that it runs according to a predetermined trajectory and speed. Exemplarily, the control unit includes a closed-loop control system, which uses a closed-loop control system to control the above-mentioned position and speed, wherein the encoder provides necessary feedback information.
[0054] After the system is powered on, the closed-loop control system starts to initialize and prepare to obtain data from the encoder. The closed-loop control system reads two key encoder values, namely the first encoder and the second encoder. In order to achieve precise control, the first encoder and the second encoder can select different types of encoders, for example, an absolute encoder and an incremental encoder, the first encoder is an absolute encoder, and the second encoder is a higher resolution incremental encoder.
[0055] Combining the data from the above two encoders, the system performs redundant calculations to improve the accuracy and reliability of position measurement. Exemplarily, the reading of the first encoder is converted according to the reduction ratio to match the resolution of the second encoder, and then compared and calibrated with the reading of the second encoder. Using the reading of the first encoder as the initial position estimate, and using the high-resolution reading of the second encoder to calculate the absolute position, if the accuracy of the first encoder is low, it can be compensated by redundant calculations and the high-resolution data of the second encoder, thereby improving the position measurement accuracy of the entire system.
[0056] This application obtains the initial absolute position when the system is powered on, and achieves precise control of the position and speed of the robot arm joint / equipment during the operation of the driver. Combined with the redundant encoder system and algorithm optimization, it can significantly improve the control accuracy and system integrity.
[0057] It should be noted that the absolute position is the actual, real physical position of the system or device in space, relative to the predefined zero position. For a robot joint, the absolute position can represent the angle of the robot joint relative to its zero position; for a drive (such as a motor), the absolute position can represent the rotation angle or position of the drive shaft relative to its starting position.
[0058] In some embodiments, redundant calculation includes calculating a position estimate of the first encoder based on the reduction ratio between the first encoder and the second encoder and the pulse value of the first encoder; obtaining the number of pulses of the second encoder less than one circle based on the position estimate; calculating the differential value between the first encoder and the second encoder; and obtaining the absolute position of the second encoder based on the differential value and the pulse resolution of the second encoder.
[0059] As an example, redundant calculations satisfy:
[0060] Est=Enc1×Ri,
[0061] Re=Est%k,
[0062] diff=Enc2﹣Re,
[0063] pos=(Est+diff) / k,
[0064] In the above formula, pos is the absolute position of the second encoder, Est is the position estimate of the first encoder, Enc1 is the pulse value of the first encoder, Enc2 is the pulse value of the second encoder, diff is the differential value between the first encoder and the second encoder, Re is the number of pulses of the second encoder less than one circle, Ri is the reduction ratio between the first encoder and the second encoder, and k is the pulse resolution of the second encoder. The position estimate of the first encoder satisfies: Est = Enc1 × Ri; the number of pulses of the second encoder less than one circle satisfies: Re = Est% k, that is, Est modulus k; the differential value of the first encoder and the second encoder satisfies: diff = Enc2-Re; and the absolute position of the second encoder satisfies: pos = (Est + diff) / k.
[0065] Through redundant calculations, the system can identify and compensate for possible errors in a single encoder, such as zero offset, proportional error, or temperature drift, and significantly improve measurement accuracy, thereby improving the reliability and stability of the system. If an encoder fails or provides inaccurate readings, the redundant encoder can serve as a backup to ensure that the system continues to operate without losing position information. In addition, it can also use weighted averaging or other fusion algorithms to integrate data from multiple encoders, reduce the impact of random errors, and provide more stable position estimates. This is of great significance for fields that require high-precision position control, such as robotics, precision manufacturing, and aerospace.
[0066] At the same time, since the multiple encoders in the present application (including the first encoder and the second encoder) can all be magnetic encoders, they have a higher tolerance to the environment, are not easily affected by dust and oil, have a wider range of environmental applicability, and have the advantage of low cost.
[0067] It should be noted that although the above redundant algorithm scheme has greatly improved the measurement accuracy of the encoder, in reality, the data of different encoders may have inconsistencies, which makes it difficult to achieve data synchronization and consistency, thus affecting the accuracy of system decision-making. Using a redundant algorithm alone may make it difficult to fully utilize the high resolution and accuracy advantages of multiple encoders, resulting in the overall measurement accuracy not being optimal, affecting the overall performance and application scope of the system. Therefore, this application introduces a redundant data fusion algorithm.
[0068] In applications with rapid changes or high-precision control, the system needs to provide sufficient dynamic response and real-time performance; under changing environmental conditions, the system needs to adapt to performance fluctuations caused by environmental factors, and the fusion algorithm can optimize system performance by adjusting weights. Without the weighting and comprehensive consideration of the fusion algorithm, system optimization may become more complex and difficult, and it is difficult to achieve the balance and optimization of the performance of different encoders. In addition. Without an appropriate weighting mechanism, it may not be possible to accurately identify and compensate for the error characteristics of each encoder, and sometimes it may even amplify the errors of some encoders. The redundant design of multiple encoders provides a rich data resource, and the fusion algorithm makes comprehensive use of this data to give full play to the design potential of the redundant system.
[0069] This application uses a redundant data fusion algorithm to compensate for the accuracy of the first encoder. Weights can be assigned to each encoder reading based on factors such as the accuracy, performance, and importance of each encoder to the system, and a weighted average fusion algorithm is used to combine the weighted readings of all encoders to calculate the final fusion position. As an example, the redundant data fusion algorithm satisfies:
[0070]
[0071] Where Fpos is the comprehensive position information after weighted average processing of multiple encoders, w i is the weight of the i-th encoder, N is the number of encoders involved in the fusion, and p i is the position reading of the i-th encoder. Each encoder has a corresponding weight w i The weights are used to adjust the importance of each encoder reading when calculating the fused position. The fusion algorithm will consider the weighted readings of all encoders to produce a combined position estimate.
[0072] The calculated Fpos is applied to the system's control algorithm or position feedback. Even if a single encoder has errors or is disturbed, the position measurement of the entire system can still remain accurate and stable, which is conducive to achieving more precise position control.
[0073] Figure 2 This is the linearization fitting diagram of the encoder without encoder accuracy optimization. Figure 2As shown, curve 2-1 represents the original data curve of the encoder, curve 2-2 represents the ideal curve, the horizontal axis represents the number of samples, and the vertical axis represents the number of encoder positions (for example, a 16-bit encoder is selected). The higher the overlap between the curves, the better the fit, the smaller the error, and the higher the measurement accuracy.
[0074] Figure 3 This is a linear fitting diagram of the encoder after the encoder accuracy is optimized according to the exemplary embodiment of the present application. Curve 3-1 represents the encoder data curve after the accuracy is optimized, curve 3-2 represents the ideal curve, the horizontal axis represents the number of samples, and the vertical axis represents the number of encoder positions (for example, a 16-bit encoder is selected). Figure 2 and Figure 3 , and the comparison is performed before and after the encoder precision optimization. The fitting degree between curve 3-1 and curve 3-2 is significantly higher than the fitting degree between curve 2-1 and curve 2-2, indicating that after the error precision is optimized by the encoder precision optimization method according to the embodiment of the present application, the measurement precision of the encoder is significantly improved.
[0075] In actual measurements, the absolute position detection accuracy error of the encoder without encoder accuracy optimization reached ±0.5 degrees. After the encoder accuracy optimization scheme of the present application was implemented, the absolute position detection accuracy error of the encoder was ±0.003 degrees, and the error value was significantly reduced.
[0076] In some embodiments, an error threshold may be set, and an abnormality judgment is performed on the difference between the first real-time angle value and the first encoder angle value after the redundant calculation compensation based on the error threshold. For example, in response to the abnormality judgment result being yes, an abnormality handling mechanism is used to perform abnormality handling.
[0077] The error threshold is set according to the minimum change that the encoder can detect. Taking a 16-bit encoder as an example, its resolution is 65536 pulses per revolution, and the error threshold is, for example, 2.0 degrees. In some embodiments, the error threshold can be converted into the number of pulses. For example, each pulse corresponds to 0.01 degrees, and the threshold of 2.0 degrees corresponds to 200 pulses, so the error threshold can be set within 200 pulses. The setting of the error threshold helps to intervene in the exception handling mechanism and complete the corresponding exception handling when the encoder fails or the magnetic ring is loose, causing the difference to exceed the normal range.
[0078] On the other hand, the present application provides a robot arm joint. Figure 4 is a block diagram of each module in a robotic arm joint according to an exemplary embodiment of the present application. Figure 4As shown, the robot arm joint includes a first encoder, a second encoder, a driver, a reducer, and a rotating shaft. The driver is coupled to the rotating shaft and drives the rotation of the rotating shaft, and the second encoder is located at one end close to the driver. The reducer is coupled to the rotating shaft, and the first encoder is located at one end close to the reducer. The rotating shaft can synchronously drive the movement of the first encoder and the second encoder.
[0079] Exemplarily, the reducer includes at least one set of gear assemblies, the input end of which can be coupled to the end of the rotating shaft. Exemplarily, each set of gear assemblies can include a plurality of gears meshing with each other. The presence of the gear assembly in the reducer makes the output end of the reducer rotate at a speed lower than the input end thereof. The above coupling can include a mechanical connection, specifically, for example, a key connection, a pin connection, a threaded connection, an extrusion connection, a plug-in connection, or any combination thereof.
[0080] In some embodiments, the reduction ratio of the reducer is Ri, that is, the reduction ratio between the first encoder and the second encoder is Ri, which means that when the first encoder rotates one circle, the second encoder will rotate Ri circles. Specifically, if the first encoder rotates one circle (that is, the pulse count increases by 1 times), the reading of the second encoder will increase the corresponding number of pulses of Ri circles. In this way, the motor-end encoder can provide higher resolution, which can record more pulses in the same time as the first encoder rotates one circle, thereby improving the accuracy of the position measurement of the entire system. As an example, the value range of Ri is [50, 150].
[0081] In response to obtaining the absolute position at power-on and the position and speed control when the drive is running, the values of the first encoder and the second encoder are obtained, and the absolute position is calculated redundantly to compensate for the accuracy of the first encoder.
[0082] In one embodiment, the redundant calculation includes calculating the position estimation value of the first encoder according to the reduction ratio between the first encoder and the second encoder and the pulse value of the first encoder; obtaining the number of pulses of the second encoder less than one circle based on the position estimation value; calculating the difference between the first encoder and the second encoder; and calculating the absolute position of the second encoder according to the difference and the pulse resolution of the second encoder. The redundant calculation satisfies: pos = (Enc1×Ri+Enc2-Est%k) / k, where pos is the absolute position of the second encoder, Est is the position estimation value of the first encoder, Enc1 is the pulse value of the first encoder, Enc2 is the pulse value of the second encoder, Ri is the reduction ratio between the first encoder and the second encoder, and k is the pulse resolution of the second encoder.
[0083] In some embodiments, the accuracy of the first encoder can be compensated by a redundant data fusion algorithm. A weight is assigned to each encoder reading based on the accuracy, performance, and importance of each encoder to the system, and a weighted average fusion algorithm is used to combine the weighted readings of all encoders to calculate the final fused position. The redundant data fusion algorithm satisfies: In the formula, w i is the weight of the i-th encoder, N is the number of encoders involved in the fusion, and p i is the position reading of the ith encoder.
[0084] In some embodiments, the robot joint can use two or more encoders for redundant calculations, and the accuracy of the position information can be maintained when one encoder fails, thereby improving the reliability of the system. The absolute position of the robot arm can be quickly obtained after power-on, reducing the time required for startup and repositioning. Even in the event of a power outage, the position information of the robot joint can be saved, and the working state can be restored immediately after the power is restored.
[0085] The robot arm joint of this application has successfully achieved a high level of precision by using low-cost magnetic encoding chips combined with algorithm optimization. It not only has advantages in cost control, but also effectively solves the problem that grating encoders are easily affected by environmental factors such as oil and dust in practical applications, and significantly improves the stability and reliability of the robot arm in various working environments.
[0086] The strategy of improving hardware performance through algorithms reduces the reliance on the accuracy of the hardware itself, which means that even when using lower-cost hardware, the requirements of high-precision control can be met through precision algorithm optimization processing. Maintenance personnel can calibrate the system more quickly, reducing reliance on specialized equipment and also reducing maintenance costs. In addition, the solution of the present application also improves the flexibility and adaptability of the system. When faced with different operating environments and requirements, it can adapt to various working conditions by adjusting the algorithm parameters without replacing the hardware, so that the robotic arm joints can be applied to a wider range of fields. For example, the robotic arm joints of the present application can also be used in other scenarios that require precise control and power-off preservation of position data.
[0087] On the other hand, the present application provides a robotic arm system. Figure 5 is a block diagram of each module in a robotic arm system according to an exemplary embodiment of the present application. Figure 5 As shown, the robotic arm system may include a plurality of the robotic arm joints described above, a processor, and a memory. The memory is in communication with the processor and stores executable computer program instructions, which can be executed by the processor and control the independent movement of each of the robotic arm joints, thereby realizing the coordinated movement of the plurality of robotic arm joints.
[0088] In some embodiments, the robotic arm system further includes a control unit, which is capable of communicating with the robotic arm joints and receiving and analyzing signals from the robotic arm joints.
[0089] Exemplarily, the memory is in communication with the processor and stores executable computer program instructions. When the computer program instructions are executed by the processor, one of the multiple robot arm joints can be moved independently, or multiple of the multiple robot arm joints can be moved separately at the same time, and finally a unified coordinated movement is formed.
[0090] In some embodiments, the information in the multiple robotic arm joints is the information of each robotic arm joint. The robotic arm joint information may only include position information. In other embodiments, the information of the multiple robotic arm joints includes not only position information, but also at least one of angular velocity information and angular acceleration information. The current position of the robotic arm joint can be solved by the control unit, and compared with the target position of each robotic arm joint to calculate the corresponding difference. The robotic arm joint with the largest difference compared to the target position among all the robotic arm joints is the master joint, and the remaining robotic arm joints other than the master joint are slave joints.
[0091] The control unit can issue different parameter commands to the master joint and slave joints respectively, such as issuing acceleration commands to the master joint and stopping commands to the slave joint. This design can realize the separate regulation of the master joint and the slave joint, and further realize different motion planning of the robot arm joints, making the robot arm system more flexible, and facilitating the coordinated planning of multi-segment motion, dividing a whole set of motion into multiple segments, and controlling the speed by switching the master joints in different segments, so that multiple joints can form a coordinated cooperation to smoothly complete a whole set of complex movements.
[0092] Exemplarily, the control unit may be communicatively connected with each of the plurality of robotic arm joints, and the control unit may, for example, select a functional integration unit, which may have functions such as information collection, information reporting, information analysis, information monitoring, and command sending.
[0093] In some embodiments, the robot system further includes a robot. The robot can be connected to the end joints of the plurality of robot joints to form an end effector of the robot system. The robot includes a magnetic gripper, a mechanical link gripper, and the like.
[0094] The robotic arm system can be applied to many scenarios such as home, industry, security, education, medical care, retail, etc. For example, the robotic arm system can be used for cooking in the kitchen to achieve automated food preparation.
[0095] It should be noted that the “position” described in the context of this application may refer to the rotation angle of the robot arm joint relative to the starting point during the rotation process.
[0096] It should also be noted that the operation of the control unit and the operation of the robot joint can be realized based on the same set of algorithms. This setting can make the robot joint and the control unit form a real-time system, and can achieve millisecond-level signal / action real-time feedback, thereby eliminating the following error, which is conducive to the coordinated movement of multiple robot joints.
[0097] In some embodiments, the robotic arm system also includes an I / O (Input / Output) component. The I / O component may include an input unit and an output unit. It is suitable for receiving input, providing output, generating output, transmitting information, exchanging information, capturing measurements, etc. The type of I / O component depends on the type and / or function required for the operation of the robotic arm system.
[0098] In some embodiments, a communication component may also be included, which couples the robotic arm system to a network and / or a communication device via a corresponding communication coupling. The communication component may include one or more network interface components or other suitable devices to connect to the network. Exemplarily, the communication component may provide components for wired communication, wireless communication, cellular communication, near field communication, Bluetooth communication, and / or communication via other modalities.
[0099] The above description is only an implementation method of the present application and an explanation of the technical principles used. Those skilled in the art should understand that the scope of protection involved in the present application is not limited to the technical solution formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the technical concept. For example, the above features are replaced with (but not limited to) technical features with similar functions disclosed in this application.
Claims
1. A method for optimizing encoder accuracy, characterized in that: The method comprises: Calibrate the first encoder and the second encoder respectively, and collect encoding data in real time; Linearizing the collected coded data and actual data, and performing signal processing; respectively calculating a first real-time angle value of the first encoder and a second real-time angle value of the second encoder; and In response to obtaining the absolute position at power-on and the position and speed control during the operation of the drive, obtaining the values of the first encoder and the second encoder, and compensating the accuracy of the first encoder by redundantly calculating the absolute position, The absolute position is acquired upon power-on based on the first real-time angle value and the second real-time angle value.
2. The accuracy optimization method according to claim 1, characterized in that: The redundant calculation method comprises: Calculating a position estimation value of the first encoder according to a reduction ratio between the first encoder and the second encoder and a pulse value of the first encoder; Acquire the number of pulses less than one revolution of the second encoder based on the position estimation value; calculating a difference value between the first encoder and the second encoder; and The absolute position of the second encoder is calculated based on the differential value and the pulse resolution of the second encoder.
3. The accuracy optimization method according to claim 2, characterized in that: The position estimation value of the first encoder satisfies: Est = Enc1 × Ri; The number of pulses of the second encoder that is less than one revolution satisfies: Re = Est% k; The difference between the first encoder and the second encoder satisfies: diff=Enc2-Re; and The absolute position of the second encoder satisfies: pos = (Est + diff) / k, Among them, pos is the absolute position of the second encoder, Est is the position estimate of the first encoder, Enc1 is the pulse value of the first encoder, Enc2 is the pulse value of the second encoder, diff is the differential value between the first encoder and the second encoder, Re is the number of pulses of the second encoder less than one circle, Ri is the reduction ratio between the first encoder and the second encoder, and k is the pulse resolution of the second encoder.
4. The accuracy optimization method according to claim 1, characterized in that: The encoded data includes pulse data of the first encoder and pulse data of the second encoder, and the actual data includes a rotation angle of the driver.
5. The accuracy optimization method according to claim 2, characterized in that: Also includes: An error threshold is set, and based on the error threshold, an abnormality judgment is made on the difference between the first real-time angle value and the first encoder angle value after the redundant calculation compensation, In which, in response to the abnormal judgment result being yes, an exception handling mechanism is used to perform exception handling.
6. The accuracy optimization method according to claim 3, characterized in that: The signal processing includes: Using a quick sorting algorithm, sorting the pulse data of the first encoder and the pulse data of the second encoder into data sequences from small to large; and The window filtering algorithm is used to smooth the sorted data.
7. The accuracy optimization method according to claim 5, characterized in that: The method for calculating the first real-time angle value includes: reading the real-time data of the first encoder after the signal processing; and Mapping the real-time data reading to a pre-established encoder value table using a binary search algorithm to locate the current value of the first encoder; Performing linear interpolation calculations between two known angle values closest to the current value of the first encoder; and The first real-time angle value is obtained by calculation according to the results of searching and interpolation.
8. The accuracy optimization method according to claim 2, characterized in that: The linearization mapping adopts a univariate linear regression algorithm.
9. The accuracy optimization method according to claim 2, characterized in that: Obtaining the values of the first encoder and the second encoder includes: respectively obtaining pulse values of the first encoder and the second encoder; and Calculate the angle value corresponding to the pulse value.
10. The accuracy optimization method according to claim 7, characterized in that: Also includes: A redundant data fusion algorithm is used to compensate for the accuracy of the first encoder, and the redundant data fusion algorithm satisfies: Among them, Fpos is the comprehensive position information after weighted average processing of multiple encoders, w i is the weight of the i-th encoder, N is the number of encoders involved in the fusion, and p i is the position reading of the ith encoder.
11. A mechanical arm joint, characterized in that: The robotic arm joint comprises: A first encoder is located at one end close to the reducer; A second encoder, located at one end close to the driver; A rotating shaft is coupled to the driver and synchronously drives the movement of the first encoder and the second encoder. In which, in response to obtaining the absolute position upon power-on and the position and speed control of the drive during operation, the values of the first encoder and the second encoder are obtained, and the absolute position is redundantly calculated to compensate for the accuracy of the first encoder.
12. The mechanical arm joint according to claim 11, characterized in that: The redundant calculation satisfies: pos=(Enc1×Ri+Enc2-Est%k) / k, Among them, pos is the absolute position of the second encoder, Est is the position estimate of the first encoder, Enc1 is the pulse value of the first encoder, Enc2 is the pulse value of the second encoder, Ri is the reduction ratio between the first encoder and the second encoder, and k is the pulse resolution of the second encoder.
13. A robotic arm system, characterized in that: The system comprises: A robotic arm joint as claimed in any one of claims 11 to 12; Processor; and a memory, communicatively connected to the processor and storing executable computer program instructions, There are multiple robotic arm joints, and the computer program instructions are executed by the processor to control the independent movement of each robotic arm joint respectively, thereby achieving coordinated movement of multiple robotic arm joints.
Citation Information
Cited By
Multi-drive online combined control method and system of industrial robot and storage medium
CN120552087A
Multi-drive online joint control method, system and storage medium for industrial robots
CN120552087B
