Use of a Force-Torque Sensor for Self-Calibration of a 6-DOF Medical Robot
Abstract
:1. Introduction
2. Robot Description and Forward Kinematics
2.1. Robot Description and the Main Reference Frames
- F0: The reference frame of the robot base, located on the robot base at O0. As shown in Figure 1a, the x axis (x0) is aligned with the axis of the linear guide, and z0 is normal to the plane defined by the platform of the robot base. The translation and the orientation (α0, β0, γ0), described in XYZ fixed Euler angles, of F0 with respect to Fworld, are expected to be identified by the calibration process.
- Fworld: The world reference frame (Figure 1a), associated with the robot work-cell. It has approximately the same orientation as F0.
- F1 to F6: The reference frames associated with the joints (F1, F2, …, F6). These frames are not shown.
- Ftool: The tool reference frame associated with the robot probe (Figure 2). The origin of Ftool is described to be the center of the end-effector (i.e., the probe), and its orientation is considered to be the same as that of F6. Knowing that the end-effector orientation is not used in our calibration process, therefore, only the translation of Ftool with respect to F6 is considered.
2.2. Position Equations
2.3. Force and Torque Equations
3. Parameters Used During Calibration
- The lengths of the ten links of the two five-bar mechanisms: L11, L12, L13, L14, L21, L22, L23 and L24.
- The y and z coordinates of the anchor points of the two proximal links of the five-bar mechanisms: A1y, A1z, C1y, C1z, A2y, A2z, C2y, C2z.
- The offsets of the six active joints: δq1, δq2, δq3, δq4, δq5, δq6.
- The offset parameters for the tool part: d31, d32, d41, d42, d5.
- The parameters defining the base with respect to the world frame: x0, y0, z0, α0, β0, γ0.
- The position of the tool frame with respect to the wrist frame: xT, yT, zT, αT, βT, γT.
- The parameters to describe the sensor frame w.r.t. the wrist frame: xS, yS, zS, αS, βS, γS.
- The parameters to describe the offset of gravity frame w.r.t. the wrist frame: xG, yG, zG.
- The mass of the tool part: mTool.
4. Calibration Process
- Develop the calibration model: the forward kinematics, presented in Section 2.2.
- Create a pool Ω of 40,000 configurations uniformly distributed inside the whole robot workspace. Create a set Ωt of 336 configurations uniformly distributed inside the target workspace (see Section 4.3). We note that the configurations of the set Ωt are different from these of Ω.
- Select 100 configurations to be used in the identification process. These configurations are chosen through an observability analysis, as explained in Section 4.1.
- Take the force and torque measurements, for all robot configurations (Ωt and Ω). Measurements are done by using the robot force-torque sensor. We note that in this paper all measurements are generated by simulation, as explained in Section 4.3 and Section 5.
- Identify the robot parameter values by using the calibration configurations selected in step 3; the identification approach is presented in details in Section 4.2.
- Evaluate the accuracy after calibration, as explained in Section 5.
4.1. Selection of Calibration Configurations
- Remove all zero columns from J. The corresponding parameters have no impact on the calibration model.
- Calculate the condition number, cJ, of J. The condition number is used to evaluate how good is the matrix J for the parameter identification. With a bad condition number (high value), the solutions are unstable with respect to small changes in measurement errors. Therefore, to have a robust identification system, the condition number should be as small as possible.
- Remove, one at a time, the column related to each parameter from J, and calculate both the new rank and condition number ( and ) for the new Jacobian matrix J*. The column that, if eliminated, results in the maximum reduction of the condition number and gives the same rank ( = rJ), is definitively removed (i.e., the corresponding parameter will be not subject to the identification process).
- Replace J with J*, and repeat the process from step (2).
4.2. Parameter Identification Process
- (a)
- Matrix J is calculated, as explained in Section 4.1. This calculation involves p and the values of the vector ψi = [q1, q2,…, q6] T (i = 1,…, n) of active joints of the 100 calibration configurations.
- (b)
- A system of linear equations is formed by the measured force and torque errors, the unknown robot’s parameter errors, and the Jacobian matrix J. In order to maintain acceptable variance of each parameter (i.e., proper convergence in the linear system), parameter scaling is implemented, by using the column scaling approach proposed in [24]. The scaled matrix obtained is denoted by Jscal, and it is used to identify the robot’s scaled parameter errors (Δscal), as follows:
- (c)
- The parameter errors, which represent the difference between the real values and the nominal values of the parameters, are denoted by Δ, and calculated as follows:
- (d)
- Finally, the vector of the identified parameter values is
4.3. Validation after Calibration
- (a)
- Calculate the desired position, by using the identified parameter values and the active joint angles ψ = [q1, q2,…, q6]T of the validation configuration. The end-effector position is the translation vector of the homogeneous matrix presented in Equation (1).
- (b)
- Calculate the actual position, by using the actual parameter values (generated by simulation) and the active joint angles of the calibration validation. In case of experimental tests, the actual position is obtained by measurement.
- (c)
- Calculate x, y, and z position errors (Ex, Ey, and Ez), by evaluating the difference between the desired and the actual position, obtained in steps (a) and (b), respectively.
- (d)
- Calculate the composed error () by using results obtained in step (c).
5. Simulation Study
- -
- Using continuous tracking approach: taking several measurements for each robot calibration configuration (i.e., the same applied force), and then averaging the collected data. Most sensors, and data collection card allow a frequency upper than 100 Hz.
- -
- Calibrating the wrench sensor only in a limited range, in which the sensor will be actually used. This will reduce the measurement uncertainty.
6. Conclusions
Acknowledgments
Author Contributions
Conflicts of Interest
References
- Beasley, R.A. Medical robots: Current systems and research directions. J. Robot. 2012, 2012. [Google Scholar] [CrossRef]
- Speich, J.E.; Rosen, J. Medical robotics. In Encyclopedia of Biomaterials and Biomedical Engineering; CRC Press: Boca Raton, FL, USA, 2004; pp. 983–993. [Google Scholar]
- Zhao, L.; Yen, A.K.W.; Coulombe, J.; Bigras, P.; Bonev, I.A. Kinematic analyses of a new medical robot for 3D vascular ultrasound examination. Trans. Can. Soc. Mech. Eng. 2013, 38, 227–239. [Google Scholar]
- Vieyres, P.; Poisson, G.; Courrèges, F.; Smith-Guerin, N.; Novales, C.; Arbeille, P. A Tele-Operated Robotic System for Mobile Tele-Echography: The Otelo Project. In M-Health: Emerging Mobile Health Systems; Istepanian, R.S.H., Laxminarayan, S., Pattichis, C.S., Eds.; Springer US: New York, NY, USA, 2006; pp. 461–473. [Google Scholar]
- Pierrot, F.; Dombre, E.; Dégoulange, E.; Urbain, L.; Caron, P.; Gariépy, J.; Mégnien, J.L. Hippocrate: A safe robot arm for medical applications with force feedback. Med. Image Anal. 1999, 3, 285–300. [Google Scholar] [CrossRef]
- Broeders, I.A.M.J.; Ruurda, J. Robotics revolutionizing surgery: The Intuitive Surgical “Da Vinci” system. Ind. Robot Int. J. 2001, 28, 387–392. [Google Scholar] [CrossRef]
- Shimachi, S.; Hirunyanitiwatna, S.; Fujiwara, Y.; Hashimoto, A.; Hakozaki, Y. Adapter for contact force sensing of the da Vinci® robot. Int. J. Med. Robot. Comput. Assist. Surg. 2008, 4, 121–130. [Google Scholar] [CrossRef] [PubMed]
- Schulz, A.P.; Seide, K.; Queitsch, C.; von Haugwitz, A.; Meiners, J.; Kienast, B.; Tarabolsi, M.; Kammal, M.; Jürgens, C. Results of Total Hip Replacement Using the Robodoc Surgical Assistant System: Clinical Outcome and Evaluation of Complications for 97 Procedures. Int. J. Med. Robot. Comput. Assist. Surg. 2007, 3, 301–306. [Google Scholar] [CrossRef] [PubMed]
- Hogan, N.; Krebs, H.I.; Charnnarong, J.; Srikrishna, P.; Sharon, A. MIT-MANUS: A workstation for manual therapy and training. I. In Proceedings of the IEEE International Workshop on Robot and Human Communication, Tokyo, Japan, 1–3 September 1992; pp. 161–165.
- Krebs, H.I.; Ferraro, M.; Buerger, S.P.; Newbery, M.J.; Makiyama, A.; Sandmann, M.; Lynch, D.; Volpe, B.T.; Hogan, N. Rehabilitation robotics: Pilot trial of a spatial extension for MIT-Manus. J. NeuroEng. Rehabil. 2004, 1, 5. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Galvez, J.A.; Reinkensmeyer, D.J. Robotics for gait training after spinal cord injury. Top. Spinal Cord Inj. Rehabil. 2005, 11, 18–33. [Google Scholar] [CrossRef]
- Otr, O.V.D.N.; Reinders-Messelink, H.A.; Bongers, R.M.; Bouwsema, H.; van der Sluis, C.K. The i-LIMB hand and the DMC plus hand compared: A case report. Prosthet. Orthot. Int. 2010, 34, 216–220. [Google Scholar] [PubMed]
- Low, K. Robot-assisted gait rehabilitation: From exoskeletons to gait systems. In Proceedings of the Defense Science Research Conference and Expo (DSR), Singapore, 3–5 August 2011; pp. 1–10.
- Joubair, A.; Slamani, M.; Bonev, I.A. Kinematic calibration of a 3-DOF planar parallel robot. Ind. Robot 2012, 39, 392–400. [Google Scholar] [CrossRef]
- Joubair, A.; Slamani, M.; Bonev, I.A. Kinematic calibration of a five-bar planar parallel robot using all working modes. Robot. Comput. Integr. Manuf. 2013, 29, 15–25. [Google Scholar] [CrossRef]
- Joubair, A.; Nubiola, A.; Bonev, I.A. Calibration efficiency analysis based on five observability indices and two calibration models for a six-axis industrial robot. SAE Int. J. Aerosp. 2013, 6, 161–168. [Google Scholar] [CrossRef]
- Nubiola, A.; Slamani, M.; Joubair, A.; Bonev, A.I. Comparison of two calibration methods for a small industrial robot based on an optical CMM and a laser tracker. Robotica 2013, 32, 447–466. [Google Scholar] [CrossRef]
- Joubair, A.; Bonev, I.A. Absolute accuracy analysis and improvement of a hybrid 6-DOF medical robot. Ind. Robot 2015, 42, 44–53. [Google Scholar] [CrossRef]
- Kim, H.S. Kinematic calibration of a Cartesian parallel manipulator. Int. J. Control Autom. Syst. 2005, 3, 453–460. [Google Scholar]
- Huang, T.; Hong, Z.Y.; Mei, J.P.; Chetwynd, D.G. Kinematic calibration of the 3-DOF module of a 5-DOF reconfigurable hybrid robot using a double-ball-bar system. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, Beijing, China, 9–15 October 2006; pp. 508–512.
- Joubair, A.; Bonev, I.A. Kinematic calibration of a six-axis serial robot using distance and sphere constraints. Int. J. Adv. Manuf. Technol. 2014, 77, 515–523. [Google Scholar] [CrossRef]
- Joubair, A.; Bonev, I.A. Non-kinematic calibration of a six-axis serial robot using planar constraints. Precis. Eng. 2015, 40, 325–333. [Google Scholar] [CrossRef]
- Gabiccini, M.; Stillfried, G.; Marino, H.; Bianchi, M. A data-driven kinematic model of the human hand with soft-tissue artifact compensation mechanism for grasp synergy analysis. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems—IROS, Tokyo, Japan, 3–7 November 2013.
- Mitchell, T.J. An algorithm for the construction of D-optimal experimental designs. Technometrics 1974, 42, 203–210. [Google Scholar]
- Sun, Y.; Hollerbach, J. Observability index selection for robot calibration. In Proceedings of the IEEE International Conference on Robotics and Automation, Pasadena, CA, USA, 19–23 May 2008.
- Joubair, A.; Bonev, I.A. Comparison of the efficiency of five observability indices for robot calibration. Mech. Mach. Theory 2013, 70, 254–265. [Google Scholar] [CrossRef]
Param. | Nom. | Actual | Identified, without Meas. Errors | Identified, with Meas. Errors |
---|---|---|---|---|
A1y (mm) | −233.000 | −233.000 | −233.000 | −233.000 |
A1z (mm) | 178.000 | 178.612 | 178.612 | 178.659 |
C1y (mm) | −83.000 | −84.005 | −84.005 | −84.002 |
C1z (mm) | 438.000 | 438.000 | 438.000 | 438.000 |
A2y (mm) | −233.000 | −232.267 | −232.267 | −232.294 |
A2z (mm) | 178.000 | 177.325 | 177.325 | 177.485 |
C2y (mm) * | −83.000 | −83.000 | −83.000 | −83.000 |
C2z (mm) | 438.000 | 438.112 | 438.112 | 438.210 |
L11 (mm) | 400.000 | 400.730 | 400.730 | 400.742 |
L12 (mm) | 520.000 | 520.221 | 520.221 | 520.321 |
L13 (mm) | 400.000 | 398.485 | 398.485 | 398.502 |
L14 (mm) | 520.000 | 520.332 | 520.332 | 520.271 |
L21 (mm) | 400.000 | 399.799 | 399.799 | 399.774 |
L22 (mm) | 520.000 | 518.336 | 518.336 | 518.505 |
L23 (mm) * | 400.000 | 400.000 | 400.000 | 400.000 |
L24 (mm) | 520.000 | 520.445 | 520.445 | 520.460 |
d41 (mm) | 41.500 | 41.660 | 41.660 | 41.657 |
d42 (mm) * | 41.500 | 41.500 | 41.500 | 41.500 |
d5 (mm) * | 0.000 | 0.000 | 0.000 | 0.000 |
xT (mm) * | 0.000 | 0.000 | 0.000 | 0.000 |
yT (mm) * | 0.000 | 0.000 | 0.000 | 0.000 |
zT (mm) * | 134.600 | 134.600 | 134.600 | 134.600 |
αT (º) * | 67.512 | 67.512 | 67.512 | 67.512 |
βT (º) * | 0.000 | 0.000 | 0.000 | 0.000 |
γT (º) * | 0.000 | 0.000 | 0.000 | 0.000 |
x0 (mm) * | 109.000 | 109.000 | 109.000 | 109.000 |
y0 (mm) * | 139.000 | 139.000 | 139.000 | 139.000 |
z0 (mm) * | −31.000 | −31.000 | −31.000 | −31.000 |
α0 (º) * | 0.000 | 0.000 | 0.000 | 0.000 |
β0 (º) | 0.000 | 0.525 | 0.525 | 0.531 |
γ0 (º) | 0.000 | −0.134 | −0.134 | −0.176 |
δq2 (º) | 0.000 | 0.313 | 0.313 | 0.342 |
δq3 (º) | 0.000 | −0.052 | −0.052 | −0.014 |
δq4 (º) | 0.000 | 0.500 | 0.500 | 0.529 |
δq5 (º) | 0.000 | 0.135 | 0.135 | 0.173 |
δq6 (º) | 0.000 | 0.102 | 0.102 | 0.097 |
xS (mm) * | 41.500 | 41.500 | 41.500 | 41.500 |
yS (mm) * | 0.000 | 0.000 | 0.000 | 0.000 |
zS (mm) * | 41.700 | 41.700 | 41.700 | 41.700 |
αS (º) | −67.512 | −67.397 | −67.397 | −67.430 |
βS (º) | 0.000 | −0.525 | −0.525 | −0.528 |
γS (º) | 0.000 | 0.185 | 0.185 | 0.196 |
xG (mm) | 0.000 | 0.576 | 0.576 | 0.571 |
yG (mm) | 0.000 | 0.059 | 0.059 | 0.042 |
zG (mm) | 152.400 | 153.132 | 153.132 | 153.136 |
mTool (g) | 0.365 | 0.365 | 0.365 | 0.365 |
Force (N) | Torque (N.m) | |||||||
---|---|---|---|---|---|---|---|---|
Mean | Mean % w.r.t. Max | Max | STD | Mean | Mean % w.r.t. Max | Max | STD | |
Whole Workspace | ||||||||
Before | 0.0703 | 24.84 | 0.2830 | 0.0454 | 0.0100 | 28.33 | 0.0353 | 0.0056 |
After | 0.0004 | 20.00 | 0.0020 | 0.0003 | 0.0000 | 0.00 | 0.0002 | 0.0000 |
Improvement % | 99.43 | - | 99.29 | 99.34 | 100.00 | - | 99.43 | 100.00 |
Target Workspace | ||||||||
Before | 0.0474 | 46.33 | 0.1023 | 0.0264 | 0.0055 | 60.44 | 0.0091 | 0.0018 |
After | 0.0008 | 61.54 | 0.0013 | 0.0002 | 0.0002 | 66.67 | 0.0003 | 0.0000 |
Improvement % | 98.31 | - | 98.73 | 99.24 | 96.36 | - | 96.70 | 100.00 |
Mean (mm) | Mean% w.r.t. Max | Max (mm) | STD (mm) | |
---|---|---|---|---|
Whole Workspace | ||||
Before | 8.9135 | 42.76 | 20.8437 | 2.9138 |
After | 0.2860 | 60.24 | 0.4748 | 0.0418 |
Improvement % | 96.79 | - | 97.72 | 98.57 |
Target Workspace | ||||
Before | 9.0118 | 73.64 | 12.2382 | 1.6537 |
After | 0.2771 | 86.43 | 0.3206 | 0.0157 |
Improvement % | 96.93 | - | 97.38 | 99.05 |
Force (N) | Torque (N.m) | Position (mm) | |||||||
---|---|---|---|---|---|---|---|---|---|
Mean | Max | STD | Mean | Max | STD | Mean | Max | STD | |
Whole Workspace | |||||||||
O1 | 0.0004 | 0.0020 | 0.0003 | 0.0000 | 0.0002 | 0.0000 | 0.2860 | 0.4748 | 0.0418 |
O2 | 0.0024 | 0.0189 | 0.0031 | 0.0003 | 0.0021 | 0.0003 | 0.3818 | 0.9391 | 0.1070 |
O3 | 0.0644 | 0.0497 | 0.1011 | 0.0114 | 0.0553 | 0.0112 | 8.8182 | 10.1284 | 0.4050 |
O4 | 0.0122 | 0.0356 | 0.0099 | 0.0013 | 0.0040 | 0.0011 | 4.5199 | 6.2311 | 0.3134 |
O5 | 0.0006 | 0.0031 | 0.0004 | 0.0001 | 0.0003 | 0.0000 | 0.4552 | 0.6767 | 0.0637 |
Target Workspace | |||||||||
O1 | 0.0005 | 0.0012 | 0.0002 | 0.0001 | 0.0001 | 0.0000 | 0.2771 | 0.3206 | 0.0157 |
O2 | 0.0008 | 0.0014 | 0.0003 | 0.0002 | 0.0003 | 0.0000 | 0.3527 | 0.4493 | 0.0231 |
O3 | 0.0387 | 0.0569 | 0.0282 | 0.0025 | 0.0043 | 0.0052 | 7.5427 | 10.7637 | 0.7089 |
O4 | 0.0124 | 0.0228 | 0.0047 | 0.0013 | 0.0025 | 0.0005 | 4.4836 | 5.8925 | 0.1638 |
O5 | 0.0003 | 0.0008 | 0.0001 | 0.0000 | 0.0001 | 0.0000 | 0.4318 | 0.5937 | 0.0320 |
t-Test | |||
---|---|---|---|
O1 vs. O2 | O1 vs. O5 | O2 vs. O5 | |
t Stat | −655.874 | −304.773 | 421.3063 |
t Critical two-tail | 1.960001 | 1.959993 | 1.959993 |
Post-hoc correction (Bonferroni correction) Target p-value = | |||
p-value(from t-test) | 0.000000 | 0.000000 | 0.000000 |
Test statistically significant | yes | yes | yes |
Err. (N) | Mean | Max | STD |
---|---|---|---|
±0.2 | 0.0759 | 0.0885 | 0.0039 |
±0.4 | 0.1124 | 0.1992 | 0.0042 |
±0.6 | 0.1874 | 0.2845 | 0.0070 |
±0.8 | 0.2174 | 0.3014 | 0.0103 |
±1 | 0.2771 | 0.3206 | 0.0157 |
© 2016 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC-BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Joubair, A.; Zhao, L.F.; Bigras, P.; Bonev, I.A. Use of a Force-Torque Sensor for Self-Calibration of a 6-DOF Medical Robot. Sensors 2016, 16, 798. https://doi.org/10.3390/s16060798
Joubair A, Zhao LF, Bigras P, Bonev IA. Use of a Force-Torque Sensor for Self-Calibration of a 6-DOF Medical Robot. Sensors. 2016; 16(6):798. https://doi.org/10.3390/s16060798
Chicago/Turabian StyleJoubair, Ahmed, Long Fei Zhao, Pascal Bigras, and Ilian A. Bonev. 2016. "Use of a Force-Torque Sensor for Self-Calibration of a 6-DOF Medical Robot" Sensors 16, no. 6: 798. https://doi.org/10.3390/s16060798
APA StyleJoubair, A., Zhao, L. F., Bigras, P., & Bonev, I. A. (2016). Use of a Force-Torque Sensor for Self-Calibration of a 6-DOF Medical Robot. Sensors, 16(6), 798. https://doi.org/10.3390/s16060798