CN112692819B - Encoder group position compensation method and robot module position compensation method - Google Patents

Encoder group position compensation method and robot module position compensation method Download PDF

Info

Publication number
CN112692819B
CN112692819B CN201911006991.3A CN201911006991A CN112692819B CN 112692819 B CN112692819 B CN 112692819B CN 201911006991 A CN201911006991 A CN 201911006991A CN 112692819 B CN112692819 B CN 112692819B
Authority
CN
China
Prior art keywords
encoder
data
side encoder
position compensation
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911006991.3A
Other languages
Chinese (zh)
Other versions
CN112692819A (en
Inventor
李小凤
刘苗
高月波
路红艳
王光能
张国平
张鹏
高云峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Dazu Robot Co ltd
Original Assignee
Shenzhen Dazu Robot Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Dazu Robot Co ltd filed Critical Shenzhen Dazu Robot Co ltd
Priority to CN201911006991.3A priority Critical patent/CN112692819B/en
Publication of CN112692819A publication Critical patent/CN112692819A/en
Application granted granted Critical
Publication of CN112692819B publication Critical patent/CN112692819B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/08Programme-controlled manipulators characterised by modular constructions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)

Abstract

The invention discloses a position compensation method of an encoder group and a position compensation method of a robot module. Firstly, collecting data of a coder group; preprocessing data of a coder group to obtain a conversion value; then, spline curve interpolation processing is carried out on the conversion value, so that position compensation information of the motor side encoder and position compensation information of the output side encoder are obtained; therefore, the relative eccentricity of the motor side encoder and the output side encoder is corrected, and the absolute positioning precision of the robot module is effectively improved.

Description

Encoder group position compensation method and robot module position compensation method
Technical Field
The invention relates to the technical field of robots, in particular to a position compensation method for a coder group and a position compensation method for a robot module.
Background
With the development demand of industry 4.0, the industry of industrial robots has unprecedented rise. In recent years, modular cooperative robots are increasingly exploded, and robot modules are basic components of cooperative robots. In the control of the robot module, the encoder plays an important role. However, installation errors of encoders in a plurality of robot modules are difficult to eliminate completely, the problem of ensuring the concentricity of the encoders installed on two sides of the motor is a difficult problem, the existing method has a function of automatically correcting deviation, but only one positioning error is corrected, the positioning errors of the two encoders cannot be corrected simultaneously, and the installation errors exist all the time.
Disclosure of Invention
In one aspect, an embodiment of the present invention provides a method for compensating a position of an encoder group to solve the problem of an installation error of an encoder.
On the other hand, the embodiment of the invention provides a robot module position compensation method to solve the problem of encoder installation errors and improve the control precision of the robot module.
In a first aspect of the embodiments of the present invention, a position compensation method for an encoder group is provided, where the encoder group is arranged in a robot module, the encoder group includes a motor-side encoder, an output-side encoder, and an external encoder, and the external encoder is arranged on a connecting column at an output side of a speed reducer of the robot module;
the encoder group position compensation method includes:
collecting data of the encoder group under the operation mode of the robot module, wherein the data of the encoder group comprises first data, second data and third data, the first data is data of an output side encoder, the second data is data of a motor side encoder, and the third data is data of an external encoder;
preprocessing the data of the encoder group to obtain a conversion value;
and carrying out spline interpolation processing on the conversion value to obtain position compensation information of the encoder at the motor side and position compensation information of the encoder at the output side.
Further, the preprocessing the data of the encoder group to obtain a conversion value includes:
and performing data conversion on the encoder group data to obtain a first conversion value, a second conversion value and a third conversion value, wherein the first conversion value is obtained by performing data conversion on the first data, the second conversion value is obtained by performing data conversion on the second data, and the third conversion value is obtained by performing data conversion on the third data.
Further, the data conversion of the encoder group to obtain the first conversion value and the third conversion value includes the following steps:
performing a first data conversion on the data of the encoder group using the following formula:
X i =x i %360,i=0,1,2,3,...,n;
Z i =z i %360,i=0,1,2,3,...,n;
wherein x is i An angle value, X, obtained by angle conversion of the first data i Is a first conversion value, z i An angle value, Z, obtained by angle conversion of the third data i Is the third converted value.
Further, performing a second data conversion on the data of the encoder group by using the following formula to obtain a second conversion value, including the following steps:
performing a second data transformation on the second data using the following formula:
p i =y i %360,i=0,1,2,3,...,n;
wherein, y i An angle value, p, obtained for angle conversion of said second data i Is the second intermediate value.
Obtaining a zero angle value using the following formula:
R=r%(360/g);
wherein R is a zero angle value, R is an angle at which the second intermediate value corresponding to the output-side encoder is 0 °, and g is a reduction ratio of a speed reducer;
determining the number of turns m according to the zero angle value R, the first conversion value and the second intermediate value by the following formula i
m i =round[(X i -R)/(360/g)-(p i /360)],i=0,1,2,3,...,n;
According to the second intermediate value and the number of turns m i The second conversion value Y is determined by the following formula i
Y i =(p i +360m i )/g,i=0,1,2,...,n。
Further, the obtaining the position compensation information of the motor-side encoder and the position compensation information of the output-side encoder by performing spline interpolation processing on the conversion value includes:
calculating the error of the output side encoder, and performing spline interpolation processing on the error of the output side encoder to obtain position compensation information of the output side encoder;
and calculating the error of the motor side encoder, and performing spline interpolation processing on the error of the motor side encoder to obtain the position compensation information of the motor side encoder.
Further, the calculating an error of the output-side encoder and performing spline interpolation processing on the error of the output-side encoder to obtain position compensation information of the output-side encoder includes:
the output side encoder error exi is obtained using the following equation:
Figure BDA0002243067880000041
the position compensation information s (x) of the output-side encoder is determined using the following equation:
s(X)={d i (X),X∈[X i ,X i+1 ],i=0,1,2,...,n-1};
d i (X)=a i0 +a i1 (X-X i )+a i2 (X-X i ) 2 +a i3 (X-X i ) 3
wherein X is a conversion value of the output side encoder data acquired in real time after the first data conversion, d i (X) represents [ X ] i ,X i+1 ]Cubic polynomial in interval about said X, a i0 、a i1 、a i2 、a i3 Is a polynomial coefficient, d i (X) satisfies the following constraints:
d 0 (X 0 )=d n-1 (X n )=(e x0 +e xn )/2;
Figure BDA0002243067880000042
Figure BDA0002243067880000043
d i (X i )=d i-1 (X i )=e xi ,i=1,2,...,n-1;
Figure BDA0002243067880000044
Figure BDA0002243067880000045
further, calculating an error of the motor-side encoder, and performing spline interpolation processing on the error of the motor-side encoder to obtain position compensation information of the motor-side encoder, including:
the error eyi of the motor-side encoder is obtained by the following equation:
Figure BDA0002243067880000046
determining the position compensation information c (y) of the motor side encoder by adopting the following formula:
c(Y)={f i (Y),Y∈[Y i ,Y i+1 ],i=0,1,2,...,n-1};
f i (Y)=b i0 +b i1 (Y-Y i )+b i2 (y-Y i ) 2 +b i3 (y-Y i ) 3
y is a conversion value of the output side encoder data acquired in real time after the second data conversion, f i (Y) represents [ Y i ,Y i+1 ]Cubic polynomial in interval about said Y, b i0 、b i1 、b i2 、b i3 Is a polynomial coefficient, f i (Y) satisfies the following constraints:
f 0 (Y 0 )=f n-1 (Y n )=(e y0 +e yn )/2;
Figure BDA0002243067880000051
Figure BDA0002243067880000052
f i (Y i )=f i-1 (Y i )=e yi ,i=1,2,...,n-1;
Figure BDA0002243067880000053
Figure BDA0002243067880000054
in a second aspect of the embodiments of the present invention, there is provided a method for compensating a position of a robot module, where the robot module includes a motor-side encoder and an output-side encoder, the method including:
under the working mode of the robot module, compensating the position error of the output side encoder in real time by adopting the position compensation information of the output side encoder to obtain the reading of the compensated output side encoder;
under the working mode of the robot module, compensating the position error of a motor side encoder in real time by adopting the position compensation information of the motor side encoder to obtain the reading of the compensated motor side encoder;
the position compensation information of the output side encoder and the position compensation information of the motor side encoder are obtained by adopting the encoder position compensation method.
Further, in the robot module operating mode, the position compensation information of the output side encoder is adopted to compensate the position error of the output side encoder in real time, and the reading of the compensated output side encoder is obtained, which includes the following steps:
the reading of the compensated output-side encoder is obtained by using the following formula
Figure BDA0002243067880000055
Figure BDA0002243067880000056
Wherein,
Figure BDA0002243067880000057
and in order to compensate the reading of the output side encoder, X is a conversion value of the output side encoder data acquired in real time after the first data conversion, and s (X) is position compensation information of the output side encoder.
Further, under robot module mode, adopt the position compensation information of motor side encoder, real-time compensation the position error of motor side encoder obtains the reading of motor side encoder after the compensation, including following step:
the reading of the compensated motor side encoder is obtained by adopting the following formula
Figure BDA0002243067880000061
Figure BDA0002243067880000062
And Y is a conversion value of the output side encoder data acquired in real time after the second data conversion, and c (Y) is position compensation information of the motor side encoder.
In the encoder position compensation method provided by the embodiment of the invention, data of an encoder group is collected; preprocessing the data of the encoder group; spline interpolation processing is carried out on the conversion value of the output side encoder and the conversion value of the motor side encoder; obtaining position compensation information of a motor side encoder and position compensation information of an output side encoder; the error of the motor side encoder and the error of the output side encoder can be obtained only by adding an external encoder, the position compensation information of the motor side encoder and the position compensation information of the output side encoder are obtained based on a spline periodic curve, and the hardware scheme is simple, practical and low in cost.
In the robot module position compensation method provided by the embodiment of the invention, the errors of the motor side encoder and the output side encoder are compensated in real time in the motion control process of the module, and the relative eccentricity of the motor side encoder and the output side encoder is corrected at the same time, so that the absolute positioning precision of the robot module is effectively improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required to be used in the description of the embodiments of the present invention will be briefly introduced below, and it is obvious that the drawings in the description below are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without inventive labor.
FIG. 1 is a diagram of an exemplary robot module and encoder set according to an embodiment of the present invention;
FIG. 2 is a flow chart of a method for compensating for the position of a coder group according to an embodiment of the present invention;
FIG. 3 is another flow chart of a method for encoder group position compensation according to an embodiment of the present invention;
FIG. 4 is another flow chart of a method for encoder group position compensation according to an embodiment of the present invention;
FIG. 5 is another flow chart of a method for encoder group position compensation according to an embodiment of the present invention;
fig. 6 is a flowchart of a method for compensating a position of a robot module according to an embodiment of the invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
An embodiment of the present invention provides a position compensation method for a coder group, which can be applied to a robot module and implemented by a processor or a control device of the robot module. Further, the encoder group position compensation method can also be realized by an external computer terminal. The computer terminal may be, but is not limited to, various personal computers, notebook computers, smart phones, tablet computers, or portable wearable devices.
The invention provides a position compensation method for an encoder group, wherein the encoder group is arranged in a robot module, the encoder group comprises a motor side encoder, an output side encoder and an external encoder, and the external encoder is arranged on a connecting column at the output side of a motor of the robot module.
The motor side encoder is used for detecting a feedback signal of motor side position control, the output side encoder is used for measuring an absolute position value of the output side, and the external encoder is used for acquiring a connecting column rotating angle of the output side.
Optionally, as shown in fig. 1, the robot module includes:
a motor drive control board 202, a servo motor 212, a speed reducer 214, a module housing 216, a rotary bearing 218, an output side end face 220, and an output side connection post 222. The servo motor 212 and the speed reducer 214 are provided in the module case 216, the servo motor 212 and the speed reducer 214 are disposed adjacent to each other, and the rotary bearing 218 is disposed so as to pass through the servo motor 212 and the speed reducer 214 and connected to the output-side connection post 222. The rotation bearing 218 is located at one side of the servo motor 212 and is coupled to the module housing 216. The output side end face 220 is located on the side of the speed reducer 214.
Optionally, the encoder set comprises a motor side encoder, an output side encoder and an external encoder.
Optionally, a motor-side encoder is installed on the motor side of the reducer, and the motor-side encoder comprises a motor-side encoder reading head 208 and a motor-side encoder code wheel 210; the output side encoder is arranged on the output side of the speed reducer and comprises an output side encoder reading head 204 and an output side encoder code disc 206; the external encoder 224 is an integral encoder with the external encoder read head and the external encoder code wheel encapsulated.
Alternatively, the motor-side encoder and the output-side encoder may be absolute encoders, and the external encoder may be a 23-bit encoder in Haidenhain.
Optionally, the motor drive control board 202, the output-side encoder reading head 204, and the motor-side encoder reading head 208 are fixedly connected to the module housing 216, the motor-side encoder code wheel 210 is disposed on the servo motor 212, the motor-side encoder code wheel 210 and the servo motor 212 rotate along with the motor side of the speed reducer 214, the output-side encoder code wheel 206 is connected to the rotary bearing 218, and the output-side encoder code wheel 206, the rotary bearing 218, the output-side end face 220, the output-side connection column 222, and the external encoder 224 rotate along with the output side of the speed reducer 214.
In this embodiment, as shown in fig. 2, the encoder group position compensation method includes the following steps:
s10: and acquiring data of the encoder group under the operation mode of the robot module, wherein the data of the encoder group comprises first data, second data and third data, the first data is data of an output side encoder, the second data is data of a motor side encoder, and the third data is data of an external encoder.
Wherein, the robot module operation mode indicates the mode of motor normal operating, normal operation mode includes: the robot module moves towards the positive direction and/or the negative direction of the output side. The first data is (a) 0 ,a 1 ,a 2 ,...,a n ) The second data is (b) 0 ,b 1 ,b 2 ,...,b n ) The third data is (c) 0 ,c 1 ,c 2 ,...,c n ). As will be appreciated, the set of data collected for the set of encoders is (a) i ,b i ,c i ),i∈[0,1,2,...,n]。
Preferably, the movement speed of the robot module motor should be controlled within the range of 50rpm-400 rpm. Further, the fluctuation of the movement speed of the module motor cannot be too large in the range of 50rpm to 400 rpm. Within the range, the moving direction of the robot module can be as follows: the device can move for a preset number of turns in the positive direction of the output side and then move for a preset number of turns in the negative direction of the output side. The predetermined number of turns may be 1, 2, 3 or 5 turns, etc., it being understood that the number of turns in the forward direction may be different from the number of turns in the reverse direction.
More preferably, the robot module is made to move at a constant speed under the current loop, and a time difference between data collected by the output-side encoder and data collected by the motor-side encoder is equal to a time difference between data collected by the motor-side encoder and data collected by the external encoder. For example, the robot module is in a uniform motion state under the current loop, the time difference between the time for acquiring the data of the output side encoder and the time for acquiring the data of the motor side encoder is 50us, the time difference between the time for acquiring the data of the motor side encoder and the time for acquiring the data of the external encoder is 50us, that is, the acquired delay time is 50 us. It is to be understood that, since the delay time between the acquisition of the data of the output-side encoder and the acquisition of the data of the motor-side encoder is equal to the delay time between the acquisition of the data of the motor-side encoder and the acquisition of the data of the external encoder, the delay movement distances corresponding to the equal delay times are also equal, and this delay distance can be eliminated by "subtracting the average value of all error values" in steps S3011 and S3021.
S20: and preprocessing the data of the encoder group to obtain a conversion value.
Wherein preprocessing the data of the set of encoders comprises:
converting data of the encoder group to obtain a first conversion value, a second conversion value and a third conversion value; the first conversion value is obtained by performing data conversion on the first data, the second conversion value is obtained by performing data conversion on the second data, and the third conversion value is obtained by performing data conversion on the third data.
S30: and carrying out spline curve interpolation processing on the conversion value to obtain position compensation information of the encoder at the motor side and position compensation information of the encoder at the output side.
Wherein, spline interpolation is a smooth curve formed by a series of shape value points, and boundary conditions can be introduced when the error of the encoder at the output side is processed by spline interpolation. Alternatively, the boundary condition may be any one of a type 1 boundary condition, a type 2 boundary condition, and a type 3 boundary condition. The position compensation information of the output-side encoder is a relationship between the output-side encoder error obtained by spline curve interpolation and the output-side encoder data. The position compensation information of the motor side encoder is the relationship between the motor side encoder error obtained by spline curve interpolation and the motor side encoder data.
In the embodiment, data of the encoder group is acquired; preprocessing the data of the encoder group; spline interpolation processing is carried out on the conversion value of the output side encoder and the conversion value of the motor side encoder; obtaining position compensation information of a motor side encoder and position compensation information of an output side encoder; the error of the motor side encoder and the error of the output side encoder can be obtained only by adding an external encoder, the position compensation information of the motor side encoder and the position compensation information of the output side encoder are obtained based on the spline periodic curve, and the hardware scheme is simple, practical and low in cost.
In an embodiment, the preprocessing the data of the encoder group to obtain the conversion value specifically includes the following steps:
performing data conversion on the data of the encoder group to obtain a first conversion value, a second conversion value and a third conversion value, wherein the first conversion value is obtained by performing data conversion on the first data, the second conversion value is obtained by performing data conversion on the second data, and the third conversion value is obtained by performing data conversion on the third data;
the data conversion refers to angle conversion of the first data, the second data and the third data to obtain corresponding angle values. Specifically, after the first data, the second data, and the third data are respectively subjected to data conversion to obtain a first angle value, a second angle value, and a third angle value, the first angle value, the second angle value, and the third angle value are respectively subjected to remainder, and then a corresponding first conversion value, a corresponding second conversion value, and a corresponding third conversion value can be obtained.
In this embodiment, by preprocessing the data, the efficiency of performing spline interpolation on the data of the encoder group subsequently is improved, and the influence that spline interpolation cannot be performed due to different data types is eliminated.
In an embodiment, the data of the encoder group is subjected to data conversion to obtain a first conversion value and a third conversion value, and the method includes the following steps:
and performing data conversion on the data of the encoder group by adopting the following formula:
X i =x i %360,i=0,1,2,3,...,n;
Z i =z i %360,i=0,1,2,3,...,n;
wherein x is i An angle value, X, obtained by angle conversion of the first data i Is a first conversion value, z i An angle value, Z, obtained by angle conversion of the third data i Is the third converted value.
In an embodiment, the data of the encoder group is subjected to data conversion to obtain a second conversion value, and the method includes the following steps:
performing a second data conversion on the second data by using the following formula:
p i =y i %360,i=0,1,2,3,...,n;
wherein, y i An angle value, p, obtained for angle conversion of said second data i Is the second intermediate value.
Obtaining a zero angle value using the following formula:
R=r%(360/g);
wherein R is a zero angle value, R is an angle at which the second intermediate value corresponding to the output-side encoder is 0 °, and g is a reduction ratio of a speed reducer;
determining the number of turns m according to the zero angle value R, the first conversion value and the second intermediate value by the following formula i
m i =round[(X i -R)/(360/g)-(p i /360)],i=0,1,2,3,...,n;
According to said second intermediate value and said number of turns m i The second conversion value Y is determined by the following formula i
Y i =(p i +360m i )/g,i=0,1,2,...,n。
In this embodiment, through the above conversion, the data of the motor-side encoder is converted into the data of the output side, which facilitates spline interpolation of the data of the motor-side encoder in the following.
In an embodiment, as shown in fig. 3, the spline interpolation processing is performed on the conversion value to obtain the position compensation information of the motor-side encoder and the position compensation information of the output-side encoder, and the method includes the following steps:
s301: and calculating the error of the output side encoder, and performing spline interpolation processing on the error of the output side encoder to obtain the position compensation information of the output side encoder.
S302: and calculating the error of the motor side encoder, and performing spline interpolation processing on the error of the motor side encoder to obtain the position compensation information of the motor side encoder.
Specifically, the data of the corresponding output-side encoder is sequentially subtracted from the data of each external encoder to obtain an output-side encoder difference value. For example, the outer encoder data is Z 0 Corresponding output side encoder data is X 0 At this time, the difference of the encoder on the output side is Z 0 -X 0 . And after the difference value of the encoder at the output side is obtained, the average difference value of the encoder at the output side is obtained by an averaging mode. The output side encoder difference is averaged with the output side encoderThe subtraction of the values yields the error of the encoder on the output side. After the error of the output-side encoder is obtained, spline interpolation is performed on the error of the output-side encoder and the converted value of the data of the output-side encoder to obtain position compensation information of the output-side encoder.
And sequentially subtracting the data of the corresponding motor side encoder from the data of each external encoder to obtain a motor side encoder difference value. For example, the outer encoder data is Z 0 The corresponding motor-side encoder data is Y 0 At this time, the motor side encoder difference is Z 0 -Y 0 . And after the difference value of the motor side encoder is obtained, the average difference value of the motor side encoder is obtained by using an averaging mode. And subtracting the average value of the motor side encoder from the difference value of the motor side encoder to obtain the error of the motor side encoder. After the error of the motor side encoder is obtained, spline interpolation is carried out on the error of the motor side encoder and the data of the motor side encoder to obtain position compensation information of the motor side encoder.
In the embodiment, the spline curve interpolation is utilized to perform position compensation on the motor side encoder and the output side encoder, so that the positioning precision of the robot module is improved.
In one embodiment, as shown in fig. 4, calculating an error of the output-side encoder, and performing spline interpolation processing on the error of the output-side encoder to obtain position compensation information of the output-side encoder includes the following steps:
s3011: the output side encoder error is obtained using the following equation:
Figure BDA0002243067880000131
wherein e is xi Is the error of the output-side encoder, Zi is the third conversion value, X i Is the first conversion value, (Z) i -X i ) As an error value obtained by the third conversion value and the first conversion value,
Figure BDA0002243067880000132
is the average of all error values.
The data of the output side encoders can be sequenced from small to large, if the same output side encoder data exists, the same output side encoder data is combined, the correspondingly obtained error of the output side encoders is also adjusted in sequence correspondingly, the error of the output side encoders is taken as the average value, and the error of the output side encoders at the head and tail points is taken as the average value of the head and tail points.
S3012: the position compensation information of the output-side encoder is determined using the following formula:
s(X)={d i (X),X∈[X i ,X i+1 ],i=0,1,2,...,n-1}
d i (X)=a i0 +a i1 (X-X i )+a i2 (X-X i ) 2 +a i3 (X-X i ) 3
wherein X is a conversion value of the real-time acquired encoder data of the output side converted by the first data, d i (X) represents [ X ] i ,X i+1 ]Third-order polynomial a in the interval with respect to said X i0 、a i1 、a i2 、a i3 Is a polynomial coefficient.
Optionally, the spline interpolation may adopt a type 3 boundary condition, where the type 3 boundary condition satisfies a period condition: the values of the beginning and end points of the period are equal, the first derivative values of the beginning and end points of the period are equal to the second derivative values of the beginning and end points of the period, i.e. d i (X) satisfies the following constraints:
d 0 (X 0 )=d n-1 (X n )=(e x0 +e xn )/2;
Figure BDA0002243067880000141
Figure BDA0002243067880000142
d i (X i )=d i-1 (X i )=e xi ,i=1,2,...,n-1;
Figure BDA0002243067880000143
Figure BDA0002243067880000144
in this embodiment, the output-side encoder position compensation based on the cubic spline periodic curve interpolation and the type 3 boundary condition ensures continuity of first derivatives and second derivatives of all points and head and tail points of the output-side encoder position compensation value, avoids noise caused by discontinuity of the first derivatives and the second derivatives of the compensation value, reduces errors of the output-side encoder, and improves the positioning accuracy of the output-side encoder.
In an embodiment, as shown in fig. 5, calculating an error of the motor-side encoder, and performing spline interpolation processing on the error of the motor-side encoder to obtain position compensation information of the motor-side encoder includes the following steps:
s3021: the error of the motor-side encoder is obtained by the following formula:
Figure BDA0002243067880000145
wherein e is yi Error of the motor-side encoder, Z i Is said third conversion value, Y i Is the second conversion value, (Z) i -Y i ) As an error value obtained by the third conversion value and the second conversion value,
Figure BDA0002243067880000151
is the average of all error values.
Wherein, can arrange in an order motor side encoder data from little to big, if there is the same motor side encoder data, then merge the same motor side encoder data, correspond the also corresponding adjustment order of error of the motor side encoder that obtains, take the error of motor side encoder as the mean value, the error of the motor side encoder of head and the tail point is taken as the mean value of head and the tail point.
S3022: the position compensation information of the motor side encoder is determined by adopting the following formula:
c(Y)={f i (Y),Y∈[Y i ,Y i+1 ],i=0,1,2,...,n-1}
f i (Y)=b i0 +b i1 (Y-Y i )+b i2 (Y-Y i ) 2 +b i3 (Y-Y i ) 3
y is a conversion value of the output side encoder data acquired in real time after the second data conversion, f i (Y) represents [ Y ] i ,Y i+1 ]Cubic polynomial in the interval about said Y, b i0 、b i1 、b i2 、b i3 Is a polynomial coefficient.
Optionally, the spline interpolation may adopt a type 3 boundary condition, where the third boundary condition satisfies a period condition that the period head and tail values are equal, the first-order derivative values of the period head and tail are equal, and the second-order derivative values of the period head and tail are equal, that is, f i (Y) satisfies the following constraints:
f 0 (Y 0 )=f n-1 (Y n )=(e y0 +e yn )/2;
Figure BDA0002243067880000152
Figure BDA0002243067880000153
f i (Y i )=f i-1 (Y i )=e yi ,i=1,2,...,n-1;
Figure BDA0002243067880000154
Figure BDA0002243067880000155
in this embodiment, the motor-side encoder position compensation based on cubic spline periodic curve interpolation and type 3 boundary conditions ensures continuity of first derivatives and second derivatives of all points and head and tail points of the motor-side encoder position compensation value, avoids noise caused by discontinuity of the first derivatives and the second derivatives of the compensation value, reduces errors of an output-side encoder, and improves positioning accuracy of the output-side encoder.
In one embodiment, as shown in fig. 6, the present invention provides a robot module position compensation method, which can be applied inside a robot module and implemented by a processor or a control device of the robot module. Further, the robot module position compensation method can also be realized through an external computer terminal. The computer terminal may be, but is not limited to, various personal computers, notebook computers, smart phones, tablet computers, or portable wearable devices. The robot module comprises a motor side encoder and an output side encoder, and the method comprises the following steps:
s40: and under the working mode of the robot module, compensating the position error of the output side encoder in real time by adopting the position compensation information of the output side encoder to obtain the reading of the compensated output side encoder.
S50: under the robot module mode of operation, adopt the position compensation information of motor side encoder, compensate in real time the position error of motor side encoder obtains the reading of motor side encoder after the compensation.
The working mode of the robot module is a mode in which a motor of the robot module normally operates.
Specifically, according to the currently acquired data of the output side encoder, a position compensation value of the output side encoder is obtained through the steps of data conversion and spline interpolation, and then according to the position compensation information of the output side encoder, a reading of the compensated motor side encoder is obtained.
Specifically, according to the currently acquired data of the motor side encoder, the position compensation information of the motor side encoder is obtained through the steps of data conversion and spline interpolation, and the reading of the compensated motor side encoder is obtained according to the position compensation information of the motor side encoder.
The position compensation information of the output-side encoder and the position compensation information of the motor-side encoder are obtained by using the encoder position compensation method in any one of the above embodiments.
In this embodiment, the error of real-time compensation motor side encoder and output side encoder in the motion control process of module to the relative off-centre of correction motor side encoder and output side encoder simultaneously effectively improves the absolute positioning accuracy of robot module.
In an embodiment, in a robot module operating mode, the position compensation information of the output-side encoder is used to compensate the position error of the output-side encoder in real time, so as to obtain the reading of the compensated output-side encoder, including the following steps:
the reading of the compensated output side encoder is obtained using the following equation:
Figure BDA0002243067880000171
wherein,
Figure BDA0002243067880000172
and in order to compensate the reading of the output side encoder, X is a conversion value of the output side encoder data acquired in real time after the first data conversion, and s (X) is position compensation information of the output side encoder.
In this embodiment, the error of the encoder on the output side is compensated in real time in the motion control process of the module, the relative eccentricity of the encoder on the output side is corrected, and the absolute positioning precision of the robot module is effectively improved.
In an embodiment, in a robot module operating mode, the position compensation information of the motor side encoder is used to compensate the position error of the motor side encoder in real time, so as to obtain the reading of the compensated motor side encoder, including the following steps:
the reading of the compensated motor side encoder is obtained using the following formula:
Figure BDA0002243067880000173
wherein,
Figure BDA0002243067880000174
and in order to compensate the reading of the encoder at the motor side, Y is a conversion value of the encoder data at the output side acquired in real time after the second data conversion, and c (Y) is position compensation information of the encoder at the motor side.
In this embodiment, the error of motor side encoder has been rectified to the relative off-centre of motor side encoder in real time compensation motor side encoder's in the motion control process of module, effectively improves the absolute positioning accuracy of robot module.

Claims (9)

1. The position compensation method of the encoder group is characterized in that the encoder group is arranged in a robot module, the encoder group comprises a motor side encoder, an output side encoder and an external encoder, and the external encoder is arranged on a connecting column at the output side of a speed reducer of the robot module;
the encoder group position compensation method includes:
collecting data of the encoder group in the robot module operation mode, wherein the data of the encoder group comprises first data, second data and third data, the first data is data of the output side encoder, the second data is data of the motor side encoder, and the third data is data of the external encoder;
preprocessing the data of the encoder group to obtain a conversion value;
performing spline interpolation processing on the conversion value to obtain position compensation information of the motor side encoder and position compensation information of the output side encoder;
the preprocessing the data of the encoder group to obtain a conversion value includes:
the method comprises the steps of carrying out data conversion on data of the encoder group to obtain a first conversion value, a second conversion value and a third conversion value, wherein the first conversion value is a numerical value obtained by carrying out data conversion on the first data to obtain a first angle value and then carrying out complementation on the first angle value, the second conversion value is a numerical value obtained by carrying out complementation on a second angle value after carrying out data conversion on the second data to obtain a second angle value, and the third conversion value is a numerical value obtained by carrying out complementation on a third angle value after carrying out data conversion on the third data to obtain a third angle value.
2. The method for compensating the position of the encoder group according to claim 1, wherein the converting the data of the encoder group to obtain the first conversion value and the third conversion value comprises:
performing a first data conversion on the data of the encoder group using the following formula:
X i =x i %360,i=0,1,2,3,...,n;
Z i =z i %360,i=0,1,2,3,...,n;
wherein x is i An angle value, X, obtained by angle conversion of the first data i Is a first conversion value, z i An angle value, Z, obtained by angle conversion of the third data i Is the third conversion value.
3. The encoder group position compensation method as claimed in claim 1, wherein said performing data conversion on the data of the encoder group to obtain a second conversion value comprises:
performing a second data transformation on the second data using the following formula:
p i =y i %360,i=0,1,2,3,...,n;
wherein, y i An angle value, p, obtained for angle conversion of said second data i Is a second intermediate value;
obtaining a zero angle value using the following formula:
R=r%(360/g);
wherein, R is a zero angle value, R is an angle of the output side encoder corresponding to the second intermediate value of 0 °, and g is a reduction ratio of the speed reducer;
determining the number of turns m according to the zero angle value R, the first conversion value and the second intermediate value by the following formula i
m i =round[(X i -R)/(360/g)-(p i /360)],i=0,1,2,3,...,n;
According to the second intermediate value and the number of turns m i The second conversion value Y is determined by the following formula i
Y i =(p i +360m i )/g,i=0,1,2,...,n。
4. The encoder group position compensation method of claim 3, wherein said performing spline interpolation processing on the converted values to obtain position compensation information of the motor-side encoder and position compensation information of the output-side encoder comprises:
calculating the error of the output side encoder, and performing spline interpolation processing on the error of the output side encoder to obtain position compensation information of the output side encoder;
and calculating the error of the motor side encoder, and performing spline curve interpolation processing on the error of the motor side encoder to obtain the position compensation information of the motor side encoder.
5. The encoder group position compensation method of claim 4, wherein the calculating of the encoder error of the output-side encoder and the spline interpolation processing of the error of the output-side encoder to obtain the position compensation information of the output-side encoder comprises:
the output side encoder error e is obtained by the following formula xi
Figure FDA0003617341100000031
Determining position compensation information s (x) of the output-side encoder using the following formula:
s(X)={d i (X),X∈[X i ,X i+1 ],i=0,1,2,...,n-1};
d i (X)=a i0 +a i1 (X-X i )+a i2 (X-X i ) 2 +a i3 (X-X i ) 3
wherein X is a conversion value of the real-time acquired encoder data of the output side converted by the first data, d i (X) represents [ X ] i ,X i+1 ]Cubic polynomial in interval about said X, a i0 、a i1 、a i2 、a i3 Is a polynomial coefficient, d i (X) satisfies the following constraints:
d 0 (X 0 )=d n-1 (X n )=(e x0 +e xn )/2;
Figure FDA0003617341100000032
Figure FDA0003617341100000033
d i (X i )=d i-1 (X i )=e xi ,i=1,2,...,n-1;
Figure FDA0003617341100000034
Figure FDA0003617341100000035
6. the encoder group position compensation method of claim 4, wherein calculating the error of the motor-side encoder, and performing spline interpolation processing on the error of the motor-side encoder to obtain the position compensation information of the motor-side encoder comprises:
the error e of the motor side encoder is obtained by the following formula yi
Figure FDA0003617341100000041
Determining position compensation information c (Y) of the motor-side encoder by using the following formula:
c(Y)={f i (Y),Y∈[Y i ,Y i+1 ],i=0,1,2,...,n-1}
f i (Y)=b i0 +b i1 (Y-Y i )+b i2 (Y-Y i ) 2 +b i3 (Y-Y i ) 3
y is a conversion value of the output side encoder data acquired in real time after the second data conversion, f i (Y) represents [ Y i ,Y i+1 ]Cubic polynomial in the interval about said Y, b i0 、b i1 、b i2 、b i3 Is a polynomial coefficient, f i (Y) satisfies the following constraints:
f 0 (Y 0 )=f n-1 (Y n )=(e y0 +e yn )/2
Figure FDA0003617341100000042
Figure FDA0003617341100000043
f i (Y i )=f i-1 (Y i )=e yi ,i=1,2,...,n-1;
Figure FDA0003617341100000044
Figure FDA0003617341100000045
7. a robot cell group position compensation method, characterized in that the robot cell group includes a motor side encoder and an output side encoder, the method comprising:
under the working mode of the robot module, compensating the position error of the output side encoder in real time by adopting the position compensation information of the output side encoder to obtain the reading of the compensated output side encoder;
under a robot module working mode, compensating the position error of a motor side encoder in real time by adopting position compensation information of the motor side encoder to obtain a reading of the compensated motor side encoder;
wherein the position compensation information of the output-side encoder and the position compensation information of the motor-side encoder are obtained by using the encoder position compensation method according to any one of claims 1 to 6.
8. The method of claim 7, wherein in the robot module operating mode, the method of compensating the position error of the output-side encoder in real time using the position compensation information of the output-side encoder to obtain the compensated reading of the output-side encoder comprises:
obtaining the compensated reading of the output side encoder by using the following formula
Figure FDA0003617341100000051
Figure FDA0003617341100000052
Wherein,
Figure FDA0003617341100000053
and for the compensated reading of the output-side encoder, X is a conversion value obtained by converting the first data of the output-side encoder data acquired in real time, and s (X) is position compensation information of the output-side encoder.
9. The method of claim 7, wherein in the robot module operating mode, the method of compensating the position error of the motor-side encoder in real time using the position compensation information of the motor-side encoder to obtain the compensated reading of the motor-side encoder comprises:
obtaining the reading of the compensated motor side encoder by adopting the following formula
Figure FDA0003617341100000054
Figure FDA0003617341100000055
Wherein,
Figure FDA0003617341100000056
for the reading of the compensated motor side encoder, Y is a conversion value of the output side encoder data acquired in real time after the second data conversion,
Figure FDA0003617341100000057
position compensation information for the motor side encoder.
CN201911006991.3A 2019-10-22 2019-10-22 Encoder group position compensation method and robot module position compensation method Active CN112692819B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911006991.3A CN112692819B (en) 2019-10-22 2019-10-22 Encoder group position compensation method and robot module position compensation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911006991.3A CN112692819B (en) 2019-10-22 2019-10-22 Encoder group position compensation method and robot module position compensation method

Publications (2)

Publication Number Publication Date
CN112692819A CN112692819A (en) 2021-04-23
CN112692819B true CN112692819B (en) 2022-08-19

Family

ID=75505456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911006991.3A Active CN112692819B (en) 2019-10-22 2019-10-22 Encoder group position compensation method and robot module position compensation method

Country Status (1)

Country Link
CN (1) CN112692819B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007198805A (en) * 2006-01-24 2007-08-09 Ricoh Co Ltd Position detector, position detection method, and image forming device
CN101709983A (en) * 2009-10-30 2010-05-19 大连光洋科技工程有限公司 On-line actual error compensation system of sine and cosine encoder
CN102111158A (en) * 2010-11-23 2011-06-29 广州数控设备有限公司 Device for subdividing sine signal and cosine signal of position sensor and coding data, and implementation method thereof

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140049838A (en) * 2012-10-18 2014-04-28 현대중공업 주식회사 Method for compensationg error occuring during endless axis rotation
CN105666483B (en) * 2016-03-18 2018-12-14 杭州新松机器人自动化有限公司 A kind of joint encoders arrangement and speed reducer error counteracting method being related to robot
CN107538494A (en) * 2016-06-29 2018-01-05 沈阳新松机器人自动化股份有限公司 A kind of robot control method and system based on torque sensor and encoder
JP6696359B2 (en) * 2016-08-30 2020-05-20 株式会社デンソーウェーブ Angular position detector
CN106655640B (en) * 2016-11-25 2017-08-08 西安科技大学 The absolute position signal corrected value of mixed photoelectric encoder determines method
CN108844556B (en) * 2018-05-04 2020-04-14 苏州汇川技术有限公司 Absolute value encoder compensation parameter obtaining method and system
CN109000702A (en) * 2018-05-16 2018-12-14 苏州汇川技术有限公司 Encoder corrects system and method
CN108731707B (en) * 2018-06-04 2021-01-01 大族激光科技产业集团股份有限公司 Method and device for measuring absolute position by double-increment type encoder
CN109108967B (en) * 2018-08-16 2021-03-30 深圳市歌尔泰克科技有限公司 Motor compensation method, driver, mechanical arm joint module and mechanical arm

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007198805A (en) * 2006-01-24 2007-08-09 Ricoh Co Ltd Position detector, position detection method, and image forming device
CN101709983A (en) * 2009-10-30 2010-05-19 大连光洋科技工程有限公司 On-line actual error compensation system of sine and cosine encoder
CN102111158A (en) * 2010-11-23 2011-06-29 广州数控设备有限公司 Device for subdividing sine signal and cosine signal of position sensor and coding data, and implementation method thereof

Also Published As

Publication number Publication date
CN112692819A (en) 2021-04-23

Similar Documents

Publication Publication Date Title
CN108297101B (en) Multi-joint-arm series robot end pose error detection and dynamic compensation method
GB2287322A (en) Position detecting apparatus and position compensating method therefor
CN111805538B (en) Robot real-time motion planning method based on force feedback
CN109696187B (en) Eccentric correcting device of rotary encoder
CN113203508A (en) Torque measuring method for robot joint
CN101682282B (en) Analog angle sensor accuracy adjustment program, adjustment method, recording medium, and servo driver
CN100354078C (en) Double ring detecting mechanism for robot joint speed reducer flexibility
CN111076761B (en) Magnetic encoder calibration method and system
CN112692819B (en) Encoder group position compensation method and robot module position compensation method
CN116182924A (en) Phase compensation method, device and magnetic encoder
TWI411220B (en) Motor control device
CN108471266B (en) Angular velocity instruction and rotation angle position preprocessing system of servo motor
JP2016001103A (en) Position detector
JP3365063B2 (en) Rotation angle detection method
JP6887189B2 (en) Power failure tracing method and system for mold altitude indicator
CN115373433B (en) Turntable motion compensation method, device, equipment and storage medium
CN111089610A (en) Signal processing method and device of encoder and related components
CN108107882B (en) Automatic calibration and detection system of service robot based on optical motion tracking
CN114298098A (en) Data processing method and device for error correction
CN111664882B (en) Encoder position signal estimation method based on time stamp
CN210863035U (en) Eccentric correcting device of double-feedback rotary encoder
KR20170073351A (en) Motor controlling apparatus and method
CN112665531A (en) Multi-pair-level rotation coordinate transformation angle-solving method
TW201720045A (en) Method for dynamically compensating the torque ripple of a motor
TWI748586B (en) Motor control device and motor control method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210908

Address after: 518103 workshop 601, building 3, Zhizao Center Park, No. 12, Chongqing Road, Heping community, Fuhai street, Bao'an District, Shenzhen, Guangdong Province

Applicant after: Shenzhen Dazu robot Co.,Ltd.

Address before: 518000 No. 9988 Shennan Road, Nanshan District, Shenzhen, Guangdong

Applicant before: HAN'S LASER TECHNOLOGY INDUSTRY GROUP Co.,Ltd.

Applicant before: Shenzhen Dazu robot Co.,Ltd.

GR01 Patent grant
GR01 Patent grant