Academic Journal of Science and Technology ISSN: 2771-3032 | Vol. 10, No. 1, 2024 69 Research on Calibration Method of Six Dimensional Force Sensor at the End of Robot Hongchao Yang, Chong Xie School of Southwest Petroleum University, Chengdu 610500, China Abstract: A six-axis force sensor calibration method for industrial robots is proposed to meet the demand for precise force measurement of end effectors in industrial robots. Firstly, establish a sensor data relationship calculation model, and based on this, focus on considering the interference caused by sensor "zero drift"; Then, the least squares method is used to determine the inclination angle between the robot's end effector and the installation of the six-axis force sensor, the gravity of the end effector, and the coordinate parameters of the center of gravity. Finally, a CR5 robotic arm experimental platform was built to verify the feasibility of the algorithm. The experiment showed that the calibrated sensor maintained a stable force value of 0N without external force, verifying the accuracy of the calibration algorithm. Keywords: Six-axis force sensor; industrial robots; zero compensation. 1. Introduction To enable a robot to perceive the external environment, it is common to install a six-axis force/torque sensor between the robot's end effector and the tool. A six-axis force/torque sensor is capable of detecting varying forces and torques in different directions. Typically, these sensors are installed at the end of industrial robots to assist in tasks such as force/position control, contour tracking, and precise assembly operations [1,2,3]. The installation of a six-axis force sensor calibration on the industrial robot base ensures the safety of human-machine interaction, which not only reduces costs but also effectively reduces computational complexity and improves the system's response speed [4,5]. At the same time, using six-axis force sensor calibration to achieve safe human- machine interaction can save more costs in the upgrading and renovation of traditional industrial robots. With the continuous movement of the robot, the pose information is constantly changing. Due to the influence of the gravity of the end tool, the sensing zero position value is constantly changing, resulting in a certain decrease in measurement accuracy of the sensor, which in turn affects the operation of the robot. The force data read from the upper computer will consist of three parts, namely: 1) the sensor's own system error (zero drift); 2) Gravity action; 3) External contact force received [6]. To obtain the external contact force, it is necessary to eliminate the effects of sensor system errors and load gravity. The inertia force caused by robot motion can be ignored in the actual slow motion of robots [7], and this item is not considered in this article. The commonly used gravity compensation and correction algorithms for six-axis force sensors include linear regression, least squares method, wavelet transform, neural network, and particle swarm optimization methods [8]. Among them, the method of using linear regression and least squares to calculate the offset and sensitivity coefficient of sensors for gravity compensation and correction has the advantages of simple calculation and easy implementation. Neural networks and particle swarm optimization methods can perform gravity compensation and correction through adaptive learning and optimization based on sensor measurements and theoretical models, thus having good accuracy and robustness. These algorithms still have shortcomings in handling gravity compensation and correction of six-axis force sensor. For example, the accuracy and precision of algorithms are easily affected by the environment and sensor position [9]; Some algorithms have limited processing capabilities for nonlinear and complex sensor models, and further research and optimization are needed. To address the aforementioned issues, this paper proposes an effective calibration method for industrial robot end effector force sensors. The least squares method is used to obtain parameters such as sensor ‘zero point’, rotation angle between robot end and sensor installation load gravity, and load center of gravity coordinates. This eliminates the influence of sensor zero point and end module gravity on force sensor readings, and ultimately obtains accurate external force and torque data for the robot end effector module. 2. Theoretical Model Establishment 2.1. Centroid identification. As a force sensing system for robots, the six-axis force sensor can detect real-time changes in size and direction of three-dimensional orthogonal forces , ,x y zF F F and moments , ,x y zM M M . The force and torque measured by the six-axis force sensor consist of three parts: the ‘zero point’ data of the force sensor (system error), the force and torque generated by the gravity of the end tool, and the force and torque applied by the external environment. In order to more accurately measure the force and torque acting on the end tool of the robot, it is necessary to consider the error interference caused by the zero point of the force sensor and the gravity of the end tool. Because the robot in this article operates under low- speed conditions, only the gravity between the calibrated workpiece and the sensitive end of the sensor is considered, and the inertial force caused by it is ignored. The model calculation in this article refers to the theory of robot statics [10]. Record the zero values of the three force components of the six-axis force sensor as 0 0 0, ,x y zF F F , and the zero values of the 70 three torques as 0 0 0, ,x y zM M M . Establish the sensor coordinate system {S}, end coordinate system {W}, base coordinate system {B}, and axis coordinate system {P}, as shown in Figure 1. The coordinate system of the six-axis force sensor is a Cartesian coordinate system with three directional axes. The gravity of the end module is G, and the center of mass of the end module can be recorded in the force sensor coordinate system. The force component of the gravity G of the end module in the X, Y, and Z axis directions of the sensor coordinate system can be recorded as , ,x y zG G G , and the torque can be recorded as , ,gx gy gzM M M in the X, Y, and Z axis directions of the sensor coordinate system. According to the relationship between force and torque, refer to Figure 1 to obtain: gx z y gy x z gz x x M G y G z M G y G z M G y G z                (1) Figure 1. Coordinate system establishment The three force components of the generalized six-axis force vector directly measured by the six-force sensor are represented as 0 0 0, ,x y zF F F and the three torque components are denoted as 0 0 0, ,x y zF F F . Assuming that the end module of the robot is not subjected to contact forces from the environment, the force and torque values measured by the sensor are only composed of the gravity and zero point values of the end module, thus obtaining 0 0 0 0 0 0 x x x y y y z z z gx x x gy y y gz z z G F F G F F G F F M M M M M M M M M                  (2) Substituting (2) into (1) yields: 0 0 0 0 0 0 0 0 0 x z y y y z y x z y z x z y x z x y M F y F z M F z F y M F z F x M F x F z M F x F y M F y F x                               (3) In equation (3), 0 0 0 0 0 0, , , , , , , ,x y z x y zF F F M M M x y z is a constant, so that 1 0 0 0 2 0 0 0 3 0 0 0 y y z y z x z x y k M F z F y k M F x F z k M F y F x                   (4) Substituting equation (4) into equation (3) yields: 1 2 3 0 F -F 1 0 0 -F 0 F 0 1 0 F -F 0 0 1 0 z yx y z x y xz x y M z M k M k k                                (5) Control the robot to reach different postures and collect sensor data for N (N>3) groups of non-coplanar robot end effector postures. Using these data to expand equation (5), it can be obtained that: 1 11 1 11 1 11 2 22 2 2 2 2 22 3 3 3 0 F -F 1 0 0 -F 0 F 0 1 0 F -F 0 0 1 0 0 F -F 1 0 0 -F 0 F 0 1 0 F -F 0 0 1 z yx z xy y xz z yx y z x y xz x y z M M M M M M M M M                                   1 2 3 0 0 F -F 1 0 0 -F 0 F 0 1 0 F -F 0 0 1 0 zn yn zn xn yn xn x y z k k k                                             (6) It can be expressed as: m F p  (7) Wherein: 71 1 2 3 x y z p k k k                     (8) Multiplying TF to the left on both sides of (7) yields: 1( )T Tp F F F m  (9) So, the center of mass position  , ,x y z and constant 1 2 3k k k、 、 of the end module were obtained. 2.2. Sensor installation inclination angle and zero point identification. There may be a certain installation angle deviation between the sensor coordinate system and the end effector coordinate system of the robotic arm. It can be considered that the Z-axis of the sensor coordinate system and the end effector coordinate system of the robotic arm are collinear. Therefore, the sensor coordinate system {S} can be obtained by rotating the robot end effector coordinate system around its Z-axis by an angle of 0. The attitude matrix of {W} relative to {S} can be expressed as: There may be a certain installation angle deviation between the sensor coordinate system and the end effector coordinate system of the robotic arm. It can be considered that the Z-axis of the sensor coordinate system and the end effector coordinate system of the robotic arm are collinear. Therefore, the sensor coordinate system {S} can be obtained by rotating the robot end effector coordinate system by one angle  around its Z-axis. The attitude matrix of {W} relative to {S} can be expressed as: cos sin 0 -sin cos 0 0 0 1 s wR              (10) The base coordinate system can be considered parallel to the direction of gravity, and the gravity of the end module in the base coordinate system can be expressed as: (0,0, )Ttg G  (11) By converting the rotation matrix, the gravity vector of the end module can be represented in the sensor coordinate system: s s w t w B tg R R g   (12) Among them is the rotation matrix from the base coordinate system to the robot end coordinate system. When the robot has no contact with the environment, the following equation holds: s s s t dg F F  (13) There are: 11 12 13 0 13 23 21 22 23 0 23 13 31 32 33 330 - - 0cos sin 0 0 cos -sin cos 0 0 - 0 sin 0 0 1 0 0 - x y z r r r F r r G r r r F r r G G Gr r r rF                                                   0 0 0 x x y y z z F F F F F F                     (14) There are: f R l  (15) Wherein: 0 0 0 G cos Gsin G F F F x y z l                       (16) Multiplying TR to the left on both sides of equation (15) yields: 1( )T Tl R R R f (17) Therefore, the zero drift values of the three force components of the sensor and the gravity of the end module can be obtained. According to equations (4) and (17), the following can be obtained: 0 1 0 0 0 2 0 0 0 3 0 0 cos arccos( ) x y z y z x z x y G G M k F z F y M k F x F z M k F y F x                     (18) At this point, the zero point of the sensor, the gravity of the end module, the installation angle of the sensor, and the centroid data of the end module have all been calculated. 2.3. Final accurate external force calculation. During the end contact process of the robot, the ‘zero drift’ phenomenon of the sensor can be eliminated based on the 72 identified parameters above, and the gravity of the end module can be compensated in real time according to the current end posture of the robot. The final compensated force/torque can be represented in the sensor coordinate system as: 0 0 0 0 0 0 ex x x x ey y y y ez z z z ex x gx x ey y gy y ez z gz z F F G F F F G F F F G F M M M M M M M M M M M M                        (19) Wherein: 13 23 13 23 33 cos sin sin cos x y z G G r G r G G r G r G Gr               (20) 3. Experiments and Data Analysis 3.1. Experimental platform. The six-axis force sensor adopts KWR75B from Kunwei Company. The measurement range of gg , ,x y zF F F is ± 200N, the measurement range of , ,x y zM M M is ± 8Nm, the overload range is 300%, the repetition accuracy is 0.1% FS, and the output frequency is 1kHz. It has the characteristics of high sensitivity, high stress intensity, high accuracy, low signal-to-noise ratio, small size, and compact structure. The experiment used a CR5 robotic arm, and the experimental platform is shown in Figure 2. Figure 2. Calibration experiment platform 3.2. Experimental process. When calibrating a six-axis force sensor, it is necessary to pre design several sets of poses with significant changes at the end of the robotic arm, as shown in the figure. Control the robot to move to these poses, and to avoid interference from inertial forces, stay at the target position for 1 second each time. Collect the six-axis force values at this pose, and calculate the zero drift of the sensor, the gravity and center of gravity of the gripper and workpiece through the calibration algorithm The installation rotation angle between the end effector of the robotic arm and the six-axis force sensor is determined. Finally, an end effector motion trajectory is designed, and the six axis force values at 10 discrete point positions in the trajectory are recorded. The calibrated six axis force values can be obtained using the calculated zero drift, center of gravity, and rotation angle. 3.3. Experimental result The zero drift of the calibrated six-axis force sensor, the gravity and center of gravity between the gripper and the workpiece, and the installation rotation angle between the end of the robotic arm and the six-axis force sensor are shown in the table 1. Table 1. Calibration results name parameter Sensor zero drift(N/Nm) (-1.026, 9.386, 0.4405, 0.98, 0.115, 0.005) Claw and workpiece gravity(N) 13.459 Claw and workpiece center of gravity position(mm) (0.2,4.3,56.9) Installation rotation angle 22.670° The force and torque values at the end of the robotic arm before and after calibration are shown in the figure 3 and figure 4. The force values of the end sensors of the robotic arm before and after calibration are shown in Figure 3, and the torque values are shown in Figure 4. From the figure, it can be seen that the green circle represents the force and torque values of the sensor before calibration, and the blue circle represents the force and torque values of the sensor after calibration. The force values of the sensor before calibration are far greater than 0, and the force values of the sensor after calibration are stable around 0, indicating an ideal calibration effect. Figure 3. Force value diagram before and after calibration Figure 4. Torque diagram before and after calibration 73 4. Summary This article proposes a sensor calibration algorithm for the contact between the end of a robotic arm and the environment, where the six-axis force sensor is not the actual contact force. Using the least squares method, the zero drift of the sensor, the gravity between the end clamp and the workpiece, the position of the center of gravity between the end clamp and the workpiece, and the rotation angle between the end of the robotic arm and the sensor installation were identified in steps. Finally, an experimental platform was built on the CR5 robotic arm to validate the algorithm. The experiment showed that the proposed algorithm can calculate calibration related parameters and restore the contact force between the end of the robotic arm and the environment. References [1] Wang ZJ, Li ZX, He J, Yao JT, Zhao YS. Optimal design and experiment research of a fully pre-stressed six-axis force/torque sensor (Article)[J]. Measurement: Journal of the International Measurement Confederation,2013, Vol.46(6): 2013-2021. [2] Yao JT, Hou YL, Chen J, Lu L, Zhao YS. Theoretical analysis and experiment research of a statically indeterminate pre- stressed six-axis force sensor [J]. SENSORS AND ACTUATORS A-PHYSICAL, 2009, Vol.150(1): 1-11. [3] Li YJ, Wang GC , Yang X, Zhan H, Han BB, Zhang YL. Research on static decoupling algorithm for piezoelectric six axis force/torque sensor based on LSSVR fusion algorithm [J]. Mechanical Systems and Signal Processing, 2018, Vol.110: 509-520. [4] Mchichi, N. A, Mayer J R R. Optimal calibration strategy for a five-axis machine tool accuracy improvement using the D- optimal approach (Article)[J]. International Journal of Advanced Manufacturing Technology,2019, Vol.103: 251-265. [5] ZHANG J Z, XU C, GUO K. Research on the Rigidity and Flexibility Performance of six-axis Force 1 Torque Sensor Based on Stewart Configuration [D] Mechanical Design, 2007 (7): 6-8, 16. [6] Shetty B R, Ang M H Jr. Active compliance control of a PUMA 560 robot. In: Proceedings of the 1996 IEEE International Conference on Robotics and Automation. Minneapolis, Minnesota, USA: IEEE, 1996. 3720−3725. [7] Tian F J, Lv C, Li ZG, Liu G B. Modeling and control of robotic automatic polishing for curved surfaces[J]. CIRP Journal of Manufacturing Science and Technology,2016, Vol.14: 55-64. [8] YUN Z H, QIN W H, SHI W P. State of charge estimation of lithium-ion batteries with non-negligible outlier observations based on student's T filter[J]. Journal of Energy Storage, 2022,55: 105825. [9] ZHU H C, TU J, CAI C, et al. A fast signal-processing method for electromagnetic ultrasonic thickness measurement of pipelines based on UKF and SMO [J]. Energies, 2022, 15(18) : 6554.