The Community for Technology Leaders
RSS Icon
Issue No.03 - July-September (2010 vol.3)
pp: 211-223
Ramin Mafi , McMaster University, Hamilton
Shahin Sirouspour , McMaster University, Hamilton
Behzad Mahdavikhah , McMaster University, Hamilton
Brian Moody , Advance Micro Devices, Markham
Kaveh Elizeh , Gennum Corporation, Burlington
Adam B. Kinsman , McMaster University, Hamilton
Nicola Nicolici , McMaster University, Hamilton
Real-time simulation of haptic interaction with deformable objects is computationally demanding. In particular in finite-element (FE) based analysis of such interactions, a large system of equations must be solved at an update rate of 100-1,000 Hz for simulation fidelity and stability. A new hardware-based parallel implementation of a Preconditioned Conjugate Gradient (PCG) algorithm is proposed for solving the linear systems of equations arising from FE-based deformation models. Concurrent utilization of a large number of fixed-point computing units on a Field-Programmable Gate Array (FPGA) device yields a very fast solution to these equations. Quantization and overflow errors in the fixed-point implementation of the iterative solver are minimized through dynamic scaling and preconditioning. Numerical accuracy of the solution, the architecture design, and issues pertaining to the degree of parallelism and scalability of the architecture are discussed in detail. The implementation of the solver on an Altera EP3SE110 FPGA device has enabled real-time simulation of three-dimensional linear elastic deformation models with 1,500 nodes at an update rate of up to 2,500 Hz.
Object deformation, haptics, finite element method, real-time simulation, parallel computing, hardware acceleration, FPGA.
Ramin Mafi, Shahin Sirouspour, Behzad Mahdavikhah, Brian Moody, Kaveh Elizeh, Adam B. Kinsman, Nicola Nicolici, "A Parallel Computing Platform for Real-Time Haptic Interaction with Deformable Bodies", IEEE Transactions on Haptics, vol.3, no. 3, pp. 211-223, July-September 2010, doi:10.1109/TOH.2009.50
[1] C. Basdogan and M. Srinivasan, "Haptic Rendering in Virtual Environments," Handbook of Virtual Environments, K. Stanney, ed., pp. 117-134, Lawrence Erlbaum Assoc., 2002.
[2] K. Salisbury, F. Conti, and F. Barbagli, "Haptic Rendering: Introductory Concepts," IEEE Computer Graphics and Applications, vol. 24, no. 2, pp. 24-32, Mar./Apr., 2004.
[3] Z. Pezzementi, D. Ursu, S. Misra, and A. Okamura, "Modeling Realistic Tool-Tissue Interactions with Haptic Feedback: A Learning-Based Method," Proc. Symp. Haptic Interfaces for Virtual Environment and Teleoperator Systems, pp. 209-215, 2008.
[4] C. Basdogan, S. De, J. Kim, M. Muniyandi, H. Kim, and M.A. Srinivasan, "Haptics in Minimally Invasive Surgical Simulation and Training," IEEE Computer Graphics and Applications, vol. 24, no. 2, pp. 56-65, Mar./Apr. 2004.
[5] A. Nealen, M. Muller, R. Keiser, E. Boxerman, and M. Carlson, "Physically Based Deformable Models in Computer Graphics," Computer Graphics Forum, vol. 25, no. 4, pp. 809-836, 2006.
[6] U. Meier, O. Lopez, C. Monserrat, M. Juan, and M. Alcañiz, "Real-Time Deformable Models for Surgery Simulation: A Survey," Computer Methods and Programs in Biomedicine, vol. 77, no. 3, pp. 183-197, 2005.
[7] H. Delingette, G. Subsol, S. Cotin, and J. Pignon, "A Craniofacial Surgery Simulation Testbed," Visualization in Biomedical Computing, vol. 2359, no. 1, pp. 607-618, 1994.
[8] E. Keeve, S. Girod, R. Kikinis, and B. Girod, "Craniofacial Surgery Simulation," Proc. Fourth Int'l Conf. Visualization in Biomedical Computing, pp. 541-546, 1996.
[9] Y. Zhong, B. Shirinzadeh, G. Alici, and J. Smith, "A New Methodology for Deformable Object Simulation," Proc. 2005 IEEE Int'l Conf. Robotics and Automation, pp. 1902-1907, 2005.
[10] D. Zerbato, S. Galvan, and P. Fiorini, "Calibration of Mass Spring Models for Organ Simulations," Proc. Int'l Conf. Intelligent Robots and Systems, pp. 370-375, 2007.
[11] M. Bro-Nielsen, "Finite Element Modeling in Surgery Simulation," Proc. IEEE, vol. 86, pp. 490-503, Mar. 1998.
[12] X. Wu, M. Downes, T. Goktekin, and F. Tendick, "Adaptive Nonlinear Finite Elements for Deformable Body Simulation Using Dynamic Progressive Meshes," Computer Graphics Forum, vol. 20, no. 3, pp. 349-358, 2001.
[13] Y. Liu, A. Kerdok, and R. Howe, "A Nonlinear Finite Element Model of Soft Tissue Indentation," Proc. Int'l Symp. Medical Simulation, pp. 67-76, 2004.
[14] K.J. Bathe, Finite Element Procedures. Prentice Hall, 1996.
[15] S. De, J. Kim, and M. Srinivasan, "A Meshless Numerical Technique for Physically Based Real Time Medical Simulation," Proc. Medicine Meets Virtual Reality, pp. 113-118, 2001.
[16] I. Babuka, U. Banerjee, and J. Osborn, "Survey of Meshless and Generalized Finite Element Methods: A Unified Approach," Acta Numerica, A. Iserles, ed., vol. 12, pp. 1-122, 2003.
[17] S. Idelsohn, E. Onate, N. Calvo, and F.D. Pin, "Meshless Finite Element Ideas," Proc. Fifth World Congress Computational Mechanics, pp. 1-20, 2002.
[18] J. Berkley, G. Turkiyyah, D. Berg, M. Ganter, and S. Weghorst, "Real-Time Finite Element Modeling for Surgery Simulation: An Application to Virtual Suturing," IEEE Trans. Visualization and Computer Graphics, vol. 10, no. 3, pp. 314-325, May, 2004.
[19] Z. Yan, L. Gu, P. Huang, S. Lv, X. Yu, and X. Kong, "Soft Tissue Deformation Simulation in Virtual Surgery Using Nonlinear Finite Element Method," Proc. 29th Ann. Int'l Conf. IEEE Eng. in Medicine and Biology Soc., pp. 3642-3645, 2007.
[20] H. Delingette, S. Cotin, and N. Ayache, "A Hybrid Elastic Model for Real-Time Cutting, Deformations, and Force Feedback for Surgery Training and Simulation," Visual Computer, vol. 16, no. 8, pp. 437-452, 2000.
[21] M. Bro-Nielsen and S. Cotin, "Real-Time Volumetric Deformable Models for Surgery Simulation Using Finite Elements and Condensation," Computer Graphics Forum, vol. 15, no. 3, pp. 57-66, 1996.
[22] D.L. James and D.K. Pai, "Artdefo: Accurate Real Time Deformable Objects," Proc. 26th Ann. Conf. Computer Graphics and Interactive Techniques, pp. 65-72, 1999.
[23] Y. Zhuang and J. Canny, "Haptic Interaction with Global Deformations," Proc. IEEE Int'l Conf. Robotics and Automation, pp. 2428-2433, 2000.
[24] G. Debunne, M. Desbrun, M.P. Cani, and A.H. Barr, "Dynamic Real-Time Deformations Using Space & Time Adaptive Sampling," Proc. 28th Ann. Conf. Computer Graphics and Interactive Techniques, pp. 31-36, 2001.
[25] M. Mahvash and V. Hayward, "High-Fidelity Haptic Synthesis of Contact with Deformable Bodies," IEEE Computer Graphics and Applications, vol. 24, no. 2, pp. 48-55, Mar. 2004.
[26] X. Wu, T. Goktekin, and F. Tendick, "An Interactive Parallel Multigrid FEM Simulator," Proc. Int'l Symp. Medical Simulation, pp. 124-133, 2004.
[27] Z.A. Taylor, M. Cheng, and S. Ourselin, "Real-Time Nonlinear Finite Element Analysis for Surgical Simulation Using Graphics Processing Units," Proc. Medical Image Computing and Computer-Assisted Intervention, pp. 701-708, 2007.
[28] J. Bolz, I. Farmer, E. Grinspun, and P. Schröoder, "Sparse Matrix Solvers on the GPU: Conjugate Gradients and Multigrid," Proc. ACM SIGGRAPH 2003 Papers, pp. 917-924, 2003.
[29] G. Goumas, K. Kourtis, N. Anastopoulos, V. Karakasis, and N. Koziris, "Understanding the Performance of Sparse Matrix-Vector Multiplication," Proc. 16th Euromicro Conf. Parallel, Distributed and Network-Based Processing (PDP '08), pp. 283-292, 2008.
[30] J. Shewchuk, "An Introduction to the Conjugate Gradient Method Without the Agonizing Pain," technical report, 1994.
[31] J. Jang, S. Choi, and V.K. Prasanna, "Area and Time Efficient Implementation of Matrix Multiplication on FPGAs," Proc. First IEEE Int'l Conf. Field Programmable Technology, pp. 93-100, 2002.
[32] L. Zhuo and V.K. Prasanna, "Sparse Matrix-Vector Multiplication on FPGAs," Proc. 13th Int'l Symp. Field-Programmable Gate Arrays, pp. 63-74, 2005.
[33] O. Maslennikow and V. Sergyienko, "FPGA Implementation of the Conjugate Gradient Method," Proc. Parallel Processing and Applied Math., pp. 526-533, 2006.
[34] J. Sun, G. Peterson, and O. Storaasli, "Sparse Matrix-Vector Multiplication Design on FPGAs," Proc. 15th Ann. IEEE Symp. Field-Programmable Custom Computing Machines, pp. 349-352, 2007.
[35] A. Lopes and G. Constantinides, "A High Throughput FPGA-Based Floating Point Conjugate Gradient Implementation," Proc. Fourth Int'l Workshop Reconfigurable Computing: Architectures, Tools and Applications, pp. 75-86, 2008.
[36] F.L. Stasa, Applied Finite Element Analysis for Engineers. Holt, Rinehart and Winston, 1985.
[37] G. Karniadakis and R.K. II, Parallel Scientific Computing in C++ And Mpi: A Seamless Approach to Parallel Algorithms and Their Implementation. Cambridge Univ. Press, 2003.
[38] Y. Saad, Iterative Methods for Sparse Linear Systems, second ed. SIAM, 2003.
[39] K.H. Huebner, D.L. Dewhirst, D.E. Smith, and T.G. Byrom, The Finite Element Method for Engineers, fourth ed. Wiley, 2001.
[40] J.R. Shewchuk, "What is a Good Linear Finite Element? Interpolation, Conditioning, Anisotropy, and Quality Measures," technical report, Proc. 11th Int'l Meshing Roundtable, 2002.
[41] P.O. Fjällström, "Algorithms for Graph Partitioning: A Survey," Computer and Information Science, vol. 3, 1998.
[42] METIS—Family of Multilevel Partitioning Algorithms, , 2010.
18 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool