Skip to main content
Log in

Modeling three-dimensional surface-to-surface rigid contact and impact

  • Published:
Multibody System Dynamics Aims and scope Submit manuscript

Abstract

This work presents a rigid body framework for analyzing three-dimensional surface contacts and impacts as a simultaneous multi-point impact problem with friction. A method is developed to address the indeterminacy issue typically associated with multi-point contact and impact analysis. This is accomplished using the constraints on impulses and contact forces defined by the Coulomb friction law and rigid body constraints. The proposed approach relies on a global interpretation of Stronge’s energetic coefficient of restitution (ECOR) to maintain energetic consistency. A key aspect of this work involves addressing the three-dimensionality of this problem, which requires a numerical integration in the impulse domain to address the slip/no-slip behavior in the tangential plane of the impact. This work also models the transition to contact after a series of impacts, and proposes a method for enforcing frictional contact constraints. Several examples of simulation results using the proposed method are presented here.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

References

  1. Wang, Y.-T., Kumar, V., Abel, J.: Dynamics of rigid bodies undergoing multiple frictional contacts. In: Proceedings 1992 IEEE International Conference on Robotics and Automation, pp. 2764–2769. IEEE, New York (1992)

    Chapter  Google Scholar 

  2. Kraus, P.R., Kumar, V.: Compliant contact models for rigid body collisions. In: Proceedings 1997 IEEE International Conference on Robotics and Automation, vol. 2, pp. 1382–1387. IEEE, New York (1997)

    Google Scholar 

  3. Jia, Y.-B.: Energy-based modeling of tangential compliance in 3-dimensional impact. In: Algorithmic Foundations of Robotics IX, pp. 267–284. Springer, Berlin (2011)

    Google Scholar 

  4. Gonthier, Y., McPhee, J., Lange, C., Piedboeuf, J.-C.: A regularized contact model with asymmetric damping and dwell-time dependent friction. Multibody Syst. Dyn. 11(3), 209–233 (2004)

    Article  MATH  Google Scholar 

  5. Sharf, I., Zhang, Y.: A contact force solution for non-colliding contact dynamics simulation. Multibody Syst. Dyn. 16(3), 263–290 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  6. Lankarani, H.: Contact force model with hysteresis damping for impact analysis of multibody systems. J. Mech. Des. 112(3), 369–376 (1990)

    Google Scholar 

  7. Gilardi, G., Sharf, I.: Literature survey of contact dynamics modeling. Mech. Mach. Theory 37(10), 1213–1239 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  8. Darboux, G.: Etude géométrique sur les percussions et le choc des corps. Bull. Sci. Math. Astron. 4(1), 126–160 (1880)

    MathSciNet  MATH  Google Scholar 

  9. Whittaker, E.: A Treatise on the Analytical Dynamics of Particles and Rigid Bodies, 2nd edn. Cambridge University Press, Cambridge (1917)

    Google Scholar 

  10. Keller, J.: Impact with friction. J. Appl. Mech. 53(1), 1–4 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  11. Djerassi, S.: Three-dimensional, one-point collision with friction. Multibody Syst. Dyn. 27(2), 173–195 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  12. Stronge, W.: Impact Mechanics. Cambridge University Press, Cambridge (2000)

    Book  MATH  Google Scholar 

  13. Han, I., Gilmore, B.: Multi-body impact motion with friction-analysis, simulation, and experimental validation. J. Mech. Des. 115(3), 412–422 (1993)

    Google Scholar 

  14. Pfeiffer, F., Glocker, C.: Multibody Dynamics with Unilateral Contacts, vol. 9. John Wiley & Sons, New York (1996)

    Book  MATH  Google Scholar 

  15. Pfeiffer, F.: Mechanical System Dynamics, vol. 40. Springer, Berlin (2008)

    Book  MATH  Google Scholar 

  16. Brogliato, B.: Nonsmooth Mechanics: Models, Dynamics and Control, 2nd edn. Springer, London (1999)

    Book  MATH  Google Scholar 

  17. Brogliato, B., Ten Dam, A., et al.: Numerical simulation of finite dimensional multibody nonsmooth mechanical systems. Appl. Mech. Rev. 55(2), 107–149 (2002)

    Article  Google Scholar 

  18. Flickinger, D., Bowling, A.: Simultaneous oblique impacts and contacts in multibody systems with friction. Multibody Syst. Dyn. 23(3), 249–261 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  19. Huněk, I.: On a penalty formulation for contact-impact problems. Comput. Struct. 48(2), 193–203 (1993)

    Article  MATH  Google Scholar 

  20. Simo, J.C., Laursen, T.: An augmented Lagrangian treatment of contact problems involving friction. Comput. Struct. 42(1), 97–116 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  21. Papadopoulos, P., Solberg, J.: A Lagrange multiplier method for the finite element solution of frictionless contact problems. Math. Comput. Model. 28(4), 373–384 (1998)

    Article  MATH  Google Scholar 

  22. Brogliato, B.: Kinetic quasi-velocities in unilaterally constrained Lagrangian mechanics with impacts and friction. Multibody Syst. Dyn. 32(2), 175–216 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  23. Liu, C., Zhao, Z., Brogliato, B.: Frictionless multiple impacts in multibody systems. I. Theoretical framework. Proc. R. Soc. A, Math. Phys. Eng. Sci., 464, 3193–3211. (2008)

    Article  MathSciNet  MATH  Google Scholar 

  24. Stewart, D.: Rigid-body dynamics with friction and impact. SIAM Rev. 42(1), 3–39 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  25. Chakraborty, N., Berard, S., Akella, S., Trinkle, J.C.: An implicit time-stepping method for multibody systems with intermittent contact. In: Robotics: Science and Systems (2007)

    MATH  Google Scholar 

  26. Anitescu, M., Potra, F.A., Stewart, D.E.: Time-stepping for three-dimensional rigid body dynamics. Comput. Methods Appl. Mech. Eng. 177(3), 183–197 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  27. Stewart, D.E., Trinkle, J.C.: An implicit time-stepping scheme for rigid body dynamics with inelastic collisions and Coulomb friction. Int. J. Numer. Methods Eng. 39(15), 2673–2691 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  28. Liu, T., Wang, M.Y.: Computation of three-dimensional rigid-body dynamics with multiple unilateral contacts using time-stepping and Gauss–Seidel methods. IEEE Trans. Autom. Sci. Eng. 2(1), 19–31 (2005)

    Article  Google Scholar 

  29. Moreau, J.: Numerical aspects of the sweeping process. Comput. Methods Appl. Mech. Eng. 177(3), 329–349 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  30. Zhao, Z., Liu, C., Brogliato, B.: Planar dynamics of a rigid body system with frictional impacts. II. Qualitative analysis and numerical simulations. Proc. R. Soc. A, Math. Phys. Eng. Sci. 465(2107), 2267–2292 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  31. Rodriguez, A., Bowling, A.: Solution to indeterminate multi-point impact with frictional contact using constraints. Multibody Syst. Dyn. 28(4), 313–330 (2012)

    Article  MathSciNet  Google Scholar 

  32. Rodriguez, A., Bowling, A.: Study of Newton’s cradle using a new discrete approach. Multibody Syst. Dyn. 33(1), 61–92 (2015)

    Article  MathSciNet  Google Scholar 

  33. Chatterjee, A., Rodriguez, A., Bowling, A.: Analytic solution for planar indeterminate impact problems using an energy constraint. Multibody Syst. Dyn. 42(3), 347–379 (2018)

    Article  MathSciNet  MATH  Google Scholar 

  34. Rodriguez, A.: Dynamic simulation of multibody systems in simultaneous, indeterminate contact and impact with friction. PhD dissertation, UTA (2014)

  35. Rodriguez, A., Chatterjee, A., Bowling, A.: Solution to three-dimensional indeterminate contact and impact with friction using rigid body constraints. In: ASME 2015 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, V006T10A037 (2015). American Society of Mechanical Engineers

    Google Scholar 

  36. Chatterjee, A., Bowling, A.: Resolving the unique invariant slip-direction in rigid three-dimensional multi-point impacts at stick–slip transitions. In: ASME 2018 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, V006T09A008 (2018). American Society of Mechanical Engineers

    Google Scholar 

  37. Djerassi, S.: Collision with friction; Part A: Newton’s hypothesis. Multibody Syst. Dyn. 21(1), 37–54 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  38. Djerassi, S.: Collision with friction; Part B: Poisson’s and Stronge’s hypotheses. Multibody Syst. Dyn. 21(1), 55–70 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  39. Djerassi, S.: Stronge’s hypothesis-based solution to the planar collision-with-friction problem. Multibody Syst. Dyn. 24(4), 493–515 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  40. Kane, T., Levinson, D.: Dynamics: Theory and Applications. McGraw-Hill, New York (1985)

    Google Scholar 

  41. Marghitu, D., Stoenescu, E.: Rigid body impact with moment of rolling friction. Nonlinear Dyn. 50(3), 597–608 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  42. Bergés, P., Bowling, A.: Rebound, slip, and compliance in the modeling and analysis of discrete impacts in legged locomotion. J. Vib. Control 17(12), 1407–1430 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  43. Najafabadi, S., Kovecses, J., Angeles, J.: Generalization of the energetic coefficient of restitution for contacts in multibody systems. J. Comput. Nonlinear Dyn. 3(4), 70–84 (2008)

    Google Scholar 

  44. Yilmaz, C., Gharib, M., Hurmuzlu, Y.: Solving frictionless rocking block problem with multiple impacts. Proc. R. Soc. A, Math. Phys. Eng. Sci. 465(2111), 3323–3339 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  45. Brake, M.: An analytical elastic-perfectly plastic contact model. Int. J. Solids Struct. 49(22), 3129–3141 (2012)

    Article  Google Scholar 

  46. Jackson, R.L., Green, I., Marghitu, D.B.: Predicting the coefficient of restitution of impacting elastic-perfectly plastic spheres. Nonlinear Dyn. 60(3), 217–229 (2010)

    Article  MATH  Google Scholar 

  47. Zait, Y., Zolotarevsky, V., Kligerman, Y., Etsion, I.: Multiple normal loading-unloading cycles of a spherical contact under stick contact condition. J. Tribol. 132(4), 1–7 (2010)

    MATH  Google Scholar 

  48. Zhang, F., Yeddanapudi, M., Mosterman, P.J.: Zero-crossing location and detection algorithms for hybrid system simulation. IFAC Proc. Vol. 41(2), 7967–7972 (2008)

    Article  Google Scholar 

  49. Mosterman, P.J.: An overview of hybrid simulation phenomena and their support by simulation packages. In: International Workshop on Hybrid Systems: Computation and Control, pp. 165–177. Springer, Berlin (1999)

    Chapter  MATH  Google Scholar 

  50. Utkin, V.: Chattering problem. IFAC Proc. Vol. 44(1), 13374–13379 (2011)

    Article  Google Scholar 

  51. Aljarbouh, A., Caillaud, B.: Chattering-free simulation of hybrid dynamical systems with the functional mock-up interface 2.0. In: The First Japanese Modelica Conferences, vol. 124, pp. 95–105 (2016)

    Google Scholar 

  52. Pennestrı, V.P., Valentini, P.: Coordinate reduction strategies in multibody dynamics: a review. In: Proceedings of the Conference on Multibody System Dynamics (2007)

    MATH  Google Scholar 

  53. Bauchau, O.A., Laulusa, A.: Review of contemporary approaches for constraint enforcement in multibody systems. J. Comput. Nonlinear Dyn. 3(1), 011005 (2008)

    Article  Google Scholar 

  54. Baumgarte, J.: Stabilization of constraints and integrals of motion in dynamical systems. Comput. Methods Appl. Mech. Eng. 1(1), 1–16 (1972)

    Article  MathSciNet  MATH  Google Scholar 

  55. Ostermeyer, G.-P.: On Baumgarte stabilization for differential algebraic equations. In: Real-Time Integration Methods for Mechanical System Simulation, pp. 193–207. Springer, Berlin (1990)

    Chapter  Google Scholar 

  56. Nikravesh, C., Nikravesh, P.: An adaptive constraint violation stabilization method for dynamic analysis of mechanical systems. J. Mech. Transm. Autom. Des. 107, 488–492 (1985)

    Article  Google Scholar 

  57. Park, K., Chiou, J.: Stabilization of computational procedures for constrained dynamical systems. J. Guid. Control Dyn. 11(4), 365–370 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  58. Bayo, E., De Jalon, J.G., Serna, M.A.: A modified Lagrangian formulation for the dynamic analysis of constrained mechanical systems. Comput. Methods Appl. Mech. Eng. 71(2), 183–195 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  59. Wehage, R., Haug, E.: Generalized coordinate partitioning for dimension reduction in analysis of constrained dynamic systems. J. Mech. Des. 104(1), 247–255 (1982)

    Google Scholar 

  60. García de Jalón, J., Unda, J., Avello, A., Jiménez, J.: Dynamic analysis of three-dimensional mechanisms in “natural” coordinates. J. Mech. Transm. Autom. Des. 109(4), 460–465 (1987)

    Article  Google Scholar 

  61. Liang, C.G., Lance, G.M.: A differentiable null space method for constrained dynamic analysis I. J. Mech. Transm. Autom. Des. 109(3), 405–411 (1987)

    Article  Google Scholar 

  62. Kim, S., Vanderploeg, M.: QR decomposition for state space representation of constrained mechanical dynamic systems. J. Mech. Trans. 108(2), 183–188 (1986)

    Article  Google Scholar 

  63. Amirouche, F., Ider, S.: Coordinate reduction in the dynamics of constrained multibody system a new approach. J. Appl. Mech. 55, 899 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  64. Righetti, L., Buchli, J., Mistry, M., Schaal, S.: Inverse dynamics control of floating-base robots with external constraints: a unified view. In: 2011 IEEE International Conference on Robotics and Automation (ICRA), pp. 1085–1090. IEEE, New York (2011)

    Chapter  Google Scholar 

  65. Mistry, M., Buchli, J., Schaal, S.: Inverse dynamics control of floating base systems using orthogonal decomposition. In: 2010 IEEE International Conference on Robotics and Automation (ICRA), pp. 3406–3412. IEEE, New York (2010)

    Chapter  Google Scholar 

  66. Glocker, C., Studer, C.: Formulation and preparation for numerical evaluation of linear complementarity systems in dynamics. Multibody Syst. Dyn. 13(4), 447–463 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  67. Bowling, A.: Dynamic performance, mobility, and agility of multi-legged robots. J. Dyn. Syst. Meas. Control 128(4), 765–777 (2006)

    Article  Google Scholar 

  68. Pfeiffer, F., Glocker, C.: Multi-Body Dynamics with Unilateral Constraints. Wiley, New York (1996)

    Book  MATH  Google Scholar 

  69. Stronge, W.: Smooth dynamics of oblique impact with friction. Int. J. Impact Eng. 51, 36–49 (2013)

    Article  Google Scholar 

  70. Christoph, G.: Energy consistency conditions for standard impacts. Multibody Syst. Dyn. 29(1), 77–117 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  71. Christoph, G.: Energy consistency conditions for standard impacts. Multibody Syst. Dyn. 32(4), 445–509 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  72. Boulanger, G.: Sur le choc avec frottement des corps non parfaitement élastiques. Rev. Sci. 77, 325–327 (1939)

    MATH  Google Scholar 

  73. Routh, E.J., et al.: Dynamics of a System of Rigid Bodies. Dover, New York (1960)

    MATH  Google Scholar 

  74. Shampine, L.F., Reichelt, M.W.: The Matlab ode suite. SIAM J. Sci. Comput. 18(1), 1–22 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  75. Dormand, J., Prince, P.: A family of embedded Runge–Kutta formulae. J. Comput. Appl. Math. 6(1), 19–26 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  76. Liu, T.: Non-jamming conditions in multi-contact rigid-body dynamics. Multibody Syst. Dyn. 22(3), 269–295 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  77. Zhao, Z., Liu, C., Brogliato, B.: Energy dissipation and dispersion effects in granular media. Phys. Rev. E 78(3), 031307 (2008)

    Article  MathSciNet  Google Scholar 

  78. Liu, C., Zhao, Z., Brogliato, B.: Variable structure dynamics in a bouncing dimer. PhD dissertation, INRIA (2008)

  79. Liu, C., Zhao, Z., Brogliato, B.: Frictionless multiple impacts in multibody systems. II. Numerical algorithm and simulation results. Proc. R. Soc. A, Math. Phys. Eng. Sci., 465, 1–23 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  80. Peña, F., Prieto, F., Lourenço, P.B., Campos Costa, A., Lemos, J.V.: On the dynamics of rocking motion of single rigid-block structures. Earthq. Eng. Struct. Dyn. 36(15), 2383–2399 (2007)

    Article  Google Scholar 

  81. Peña, F., Lourenço, P.B., Campos-Costa, A.: Experimental dynamic behavior of free-standing multi-block structures under seismic loadings. J. Earthq. Eng. 12(6), 953–979 (2008)

    Article  Google Scholar 

  82. Giouvanidis, A., Dimitrakopoulos, I.: Modelling contact in rocking structures with a nonsmooth dynamics approach. In: ECCOMAS Congress 2016-Proceedings of the 7th European Congress on Computational Methods in Applied Sciences and Engineering (2016)

    Google Scholar 

  83. Zhang, H., Brogliato, B., Liu, C.: Dynamics of planar rocking-blocks with coulomb friction and unilateral constraints: comparisons between experimental and numerical data. Multibody Syst. Dyn. 32(1), 1–25 (2014)

    Article  MathSciNet  Google Scholar 

  84. Zhang, H., Brogliato, B.: The planar rocking-block: analysis of kinematic restitution laws, and a new rigid-body impact model with friction. PhD dissertation, INRIA (2011)

  85. Johnson, K.L., Johnson, K.L.: Contact Mechanics. Cambridge University Press, Cambridge (1987)

    MATH  Google Scholar 

  86. Wriggers, P., Zavarise, G.: Computational contact mechanics. In: Encyclopedia of Computational Mechanics (2004)

    Google Scholar 

  87. Jaeger, J.: New solutions in contact mechanics. Wit Pr/Computational Mechanics (2005)

  88. Craig, J.: Introduction to Robotics: Mechanics and Control. Addison-Wesley Publishing Company, Inc., Boston (1989)

    MATH  Google Scholar 

  89. Li, T.-Y.: Numerical solution of multivariate polynomial systems by homotopy continuation methods. Acta Numer. 6, 399–436 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  90. Morgan, A., Sommese, A.: Computing all solutions to polynomial systems using homotopy continuation. Appl. Math. Comput. 24(2), 115–138 (1987)

    MathSciNet  MATH  Google Scholar 

  91. Lee, E., Mavroidis, C.: Solving the geometric design problem of spatial 3R robot manipulators using polynomial homotopy continuation. J. Mech. Des. 124(4), 652–661 (2002)

    Google Scholar 

  92. Morgan, A., Sommese, A.: A homotopy for solving general polynomial systems that respects \(m\)-homogeneous structures. Appl. Math. Comput. 24(2), 101–113 (1987)

    MathSciNet  MATH  Google Scholar 

  93. Wampler, C.W., Morgan, A., Sommese, A.: Numerical continuation methods for solving polynomial systems arising in kinematics. J. Mech. Des. 112(1), 59–68 (1990)

    Google Scholar 

  94. Cox, D., Little, J., O’shea, D.: Ideals, Varieties, and Algorithms, vol. 3. Springer, Berlin (1992)

    Book  MATH  Google Scholar 

  95. Cox, D.A., Little, J., O’shea, D.: Using Algebraic Geometry, vol. 185. Springer, Berlin (2006)

    MATH  Google Scholar 

  96. Sturmfels, B.: Solving Systems of Polynomial Equations, vol. 97. American Mathematical Soc., Providence (2002)

    Book  MATH  Google Scholar 

  97. Kapur, D., Lakshman, Y.N.: Elimination methods: an introduction. In: Symbolic and Numerical Computation for Artificial Intelligence (1992)

    Google Scholar 

  98. Kapur, D.: Using Gröbner bases to reason about geometry problems. J. Symb. Comput. 2(4), 399–408 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  99. Manocha, D.: Solving systems of polynomial equations. IEEE Comput. Graph. Appl. 14(2), 46–55 (1994)

    Article  MathSciNet  Google Scholar 

  100. Kukelova, Z., Bujnak, M., Pajdla, T.: Polynomial eigenvalue solutions to minimal problems in computer vision. IEEE Trans. Pattern Anal. Mach. Intell. 34(7), 1381–1393 (2012)

    Article  Google Scholar 

  101. Jónsson, G., Vavasis, S.: Accurate solution of polynomial equations using Macaulay resultant matrices. Math. Comput. 74(249), 221–262 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  102. Stiller, P.: An Introduction to the Theory of Resultants, Mathematics and Computer Science, T&M University, Texas, College Station, TX (1996)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alan Bowling.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A: Velocity projection method

In order to demonstrate how a rigid body constraint expressed in terms of velocity can be projected in terms of impulses. Let us consider a two-point contact involving the points \(i\) and \(j\). Let the velocity-level rigid body constraints between the two points be expressed as

$$ {\mathbf{w}} {\boldsymbol{\vartheta }} = (v_{x_{i}}-v_{x_{j}})\eta _{x} + (v_{y_{i}}-v_{y_{j}})\eta _{y} + (v_{z_{i}}-v_{z_{j}})\eta _{z} = 0 . $$
(69)

Then the velocity vector may be rewritten as

ϑ= [ v x j ( v y i v y j ) η y η x ( v z i v z j ) η z η x v y i v z i v x j v y j v z j ] = [ α β 1 α β 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 ] P ϑ s ,
(70)

where \({\boldsymbol{\vartheta }}_{s}\) are independent velocities, \(P\) is a matrix representing the rigid body constraint, and \(\alpha =\frac{\eta _{y}}{\eta _{x}}\) and \(\beta = \frac{\eta _{z}}{\eta _{x}}\). This may be also expressed as

$$ {\boldsymbol{\vartheta }} = J \dot{\mathbf{q}} = P {\boldsymbol{\vartheta }} _{s} . $$
(71)

This yields

$$ {\boldsymbol{\vartheta }}_{s} = P^{+} J \dot{\mathbf{q}} , $$
(72)

where \(P^{+} = {(P^{T} P)}^{-1} P^{T}\) is the generalized inverse of the matrix \(P\). As shown in [88], the virtual work due to the contact forces yields the relation

$$ {\mathbf{F}}^{T} {\boldsymbol{\vartheta }} = {\boldsymbol{\varGamma }} ^{T} \dot{\mathbf{q}} . $$
(73)

Let \(\mathbf{F}_{s}\) be a vector containing the constrained force terms corresponding to the independent velocities \({\boldsymbol{\vartheta }} _{s}\). Enforcement of the velocity level rigid body constraints shouldn’t cause any change in the virtual work of the system. Hence,

$$ {\mathbf{F}_{s}}^{T} {\boldsymbol{\vartheta }}_{s} = {\boldsymbol{\varGamma }} ^{T} \dot{\mathbf{q}} . $$
(74)

Now substituting the relation \({\boldsymbol{\varGamma }} = J^{T} \mathbf{F}\) and (72) into (74) yields

$$ {\mathbf{F}_{s}}^{T} P^{+} J \dot{\mathbf{q}} = { \bigl( J^{T} \mathbf{F} \bigr)}^{T} \dot{\mathbf{q}} . $$
(75)

This yields the constrained force relationships

$$ {\mathbf{F}} = (P^{+})^{T} {\mathbf{F}}_{s}, \qquad \mathbf{F}_{s} = P^{T} \mathbf{F}. $$
(76)

Therefore, from (76), a projection of rigid body constraints onto the force space can be obtained as

$$ \bigl( I - { \bigl( P^{+} \bigr)}^{T} P^{T} \bigr) \mathbf{F} = \mathbf{0} . $$
(77)

Note that in (77), \({ ( P^{+} )}^{T} P ^{T} \neq I\). The matrix \({ ( P^{+} )}^{T} P^{T} \) projects the forces \(\mathbf{F}\) to a space orthogonal to the velocity-level constraint such that it is equal to \(\mathbf{F}\). Now using the coefficients of \(P\) from (70), the matrix \(I - { ( P^{+} )}^{T} P^{T}\) can be symbolically obtained as

I ( P + ) T P T = 1 2 ( α 2 + β 2 + 1 ) [ 1 α β 1 α β α α 2 α β α α 2 α β β α β β 2 β α β β 2 1 α β 1 α β α α 2 α β α α 2 α β β α β β 2 β α β β 2 ] .
(78)

It can be seen that all equations obtained by substituting (78) into (77) yield the same force constraint:

$$ f_{x_{i}} + \alpha f_{y_{i}} + \beta f_{z_{i}} - f_{x_{j}} - \alpha f _{y_{j}} - \beta f_{z_{j}} = 0. $$
(79)

Now substituting back \(\alpha = \frac{\eta _{y}}{\eta _{x}}\) and \(\beta = \frac{\eta _{z}}{\eta _{x}}\) and rearranging gives the rigid body constraint

$$ (f_{x_{i}}-f_{x_{j}})\eta _{x} + (f_{y_{i}}-f_{y_{j}}) \eta _{y} + (f _{z_{i}}-f_{z_{j}})\eta _{z} = \mathbf{w} {\mathbf{F}} = 0, $$
(80)

or in terms of differential impulses,

$$ {\mathbf{w}} d\mathbf{p} = 0. $$
(81)

Appendix B: Finding multi-polynomial roots using Macaulay matrix

In the literature, one can find two main approaches for solving multi-polynomial system of equations. These are either homotopy-continuation based approaches [89,90,91,92,93] or elimination-theory based approaches [94,95,96,97]. The homotopy-continuation based methods essentially transform the multi-polynomial root problem into an ordinary differential equation initial value problem, by harnessing some topological properties. The initial values here are some known roots of a polynomial system of the same degree. The idea is to perform numerical integration to reach the solution set for the desired multi-polynomial system The elimination based approaches, on the other hand, make use of the algebraic structure of the multi-polynomial system to simplify the problem in terms of an independent variable. These approaches may be further classified in to two categories which either use (i) Gröbner basis [94,95,96, 98] or (ii) resultants [95, 97, 99,100,101,102]. The Gröbner basis of a multi-polynomial system is analogous to the row-reduced echelon obtained for linear systems after performing the Gaussian elimination process. If there exist finitely many solutions to any given system, then the Gröbner basis for this system would yield a unique set of equations (known as ideals) such that it contains at least one univariate equation. Thus, the root-finding methods which use Gröbner basis first find the roots in terms of a single variable and perform repeated substitution to obtain all roots [94, 96, 98]. One of the drawbacks of Gröbner basis based approaches is that they require a great deal of symbolic manipulation, which makes this process computationally expensive [100].

Another class of elimination based root-finding methods use resultants for simultaneously calculating all possible roots for a given system of polynomials. Resultants were originally proposed for two univariate polynomial systems, and was defined as the determinant of what is known as the Sylvester matrix. The Sylvester matrix contains the coefficients of the two polynomials. If there exists a common root for any, two univariate polynomial system, the resultant of these polynomials must be zero [100, 102]. Resultants for two polynomial systems can be also formulated as the determinant of Bezout–Cayley matrix [102]. In addition to determining the existence of a common root for univariate bi-polynomial systems, resultants may be also used calculating the common roots of two multivariate polynomials. This is usually done by forming a Sylvester matrix while treating one of the two variables (known as the hidden variable) as part of the coefficients of the polynomial. This yields the resultant to be a function of the hidden variable included as coefficient. The values of this hidden variable at the common roots are then calculated by setting the resultant to zero, and solving for the unknown. Subsequently, the other variables may be treated as the hidden variable to find their values at the common roots. This method of calculating the common roots of a two-polynomial system may be extended to a more general multivariate polynomial system by repeated resultant computation by selecting any two polynomials at a time. However, such a method yields misleading roots, since any two polynomials picked from a set of polynomials may not necessarily have a common root. A more standard way of extending the resultant formulation for multi-polynomial system is expressed as the ratio of the determinants of two matrices, which are known as the Macaulay matrices. Similar to the Sylvester resultants, the Macaulay resultants can be used to determine the existence of any common roots in the multi-polynomial system. The Macaulay matrix may be also used to calculate the roots of a multi-polynomial system. This can be done by calculating what is known as the U-resultant of the multi-polynomial system. The U-resultant can be calculated by augmenting the given polynomial system with a symbolic coefficient linear equation, and taking the determinant of its Macaulay matrix. The symbolic expression given by the U-resultant can then be used to calculate all roots of the system. Despite the simplicity of the U-resultant technique, the symbolic computation involved makes this method computationally expensive.

This work uses a more popular and comparatively inexpensive method for solving the multi-polynomial system in (45). This method extends the idea of hiding variable using the Macaulay matrix form, to transform the root-finding problem to a polynomial eigenvalue problem (PEP). However, this transformation can only be performed for a system with the same number of variables as equations. Note that the system in (45) is an over-determined system of polynomials with the same degree. Hence, before transforming (45) into a PEP, one needs to find the minimal basis set of equations. This can be done by simply performing a Gauss–Jordan elimination on the coefficients of the system. Let the reduced set of equations, after performing the G–J elimination on the coefficients of (45), be

(82)

The reduced system of polynomials (82) has 3 equations and 3 unknowns, and has roots identical to (45). Now the first step in transformation of (82) to PEP is to formulate the Macaulay matrix by hiding one of the variables into the coefficient field, or in other words, treating one of the variables as part of the coefficient of the system. Let us choose \(u_{1}\) as the hidden variable. Then the multi-polynomial system in (82) is given by

(83)

Equations (83) are defined using the variables \(u_{2}\) and \(u_{3}\). Let the degrees of the polynomials , , and be \(d_{1}\), \(d_{2}\), and \(d_{3}\), respectively. These degrees are counted while disregarding \(u_{1}\) as a variable. The method of hidden variable only works for homogeneous polynomials, so (83) needs to be homogenized by adding an extra variable \(u_{4}\). The homogenized set of equations are given by

(84)

where

Note that the polynomial system given in (45) is already homogeneous, so the homogenization has no effect on the original polynomial system. The total degree \(d\) of the multi-polynomial system is calculated using the degrees of each polynomial \(d_{i}\) in the system as

$$ d = \sum^{n=3}_{i=1} (d_{i} -1) + 1. $$
(85)

The next step is to take the set of all monomials of degree \(d\) using the variables \(u_{2}\), \(u_{3}\), and \(u_{4}\) and partition them into \(n=3\) subsets. Let the set of all monomials of degree \(d\) be represented as \(\mathbf{u}^{\alpha }= {u_{2}}^{\alpha _{2}} {u_{3}}^{\alpha _{3}} {u_{4}}^{\alpha _{4}}\) such that \(|\alpha | = \sum_{i=2}^{n+1=4} \alpha _{i} = d\). The set of monomials \(\mathbf{u}^{\alpha }\) is then partitioned into \(n=3\) subsets as

$$ \begin{aligned} S_{1} & = \bigl\lbrace {\mathbf{u}}^{\alpha }: {u_{2}}^{d_{1}} \text{ divides } {\mathbf{u}}^{\alpha } \bigr\rbrace , \\ S_{2} & = \bigl\lbrace {\mathbf{u}}^{\alpha }: {u_{2}}^{d_{1}} \text{ doesn't divide } {\mathbf{u}}^{\alpha }, \text{ but } {u_{3}}^{d_{2}} \text{ does} \bigr\rbrace ,\\ S_{3} & = \bigl\lbrace {\mathbf{u}}^{\alpha }: {u_{2}}^{d_{1}} , {u_{3}}^{d_{2}} \text{ doesn't divide } {\mathbf{u}}^{\alpha }, \text{ but } {u_{4}}^{d_{3}} \text{ does} \bigr\rbrace . \end{aligned} $$
(86)

Now a new set of polynomials equivalent to (84) can be created using these partitions:

(87)

Note that the functions have the hidden variable \(u_{1}\) included in their coefficient field. Hence, the homogeneous system of polynomials in (87) also contains the hidden variable \(u_{1}\). Now, the polynomials in (87) can be dehomogenized by setting the additional variable \(u_{4} = 1\). Thus after dehomogenization (87) may be represented as

$$ \mathcal{M}(u_{1}) {\boldsymbol{\nu }} = \mathbf{0}, $$
(88)

where \(\mathcal{M}(u_{1})\) is the Macaulay matrix for the multi-polynomial system (45) with the variable \(u_{1}\) hidden in the coefficient field, such that the elements of \(\mathcal{M}(u_{1})\) are univariate functions of \(u_{1}\); \({\boldsymbol{\nu }}\) is a vector containing all possible monomials in variables \(u_{2}\) and \(u_{3}\). Since the elements of \(\mathcal{M}(u _{1})\) contain powers of \(u_{1}\), they may be also represented as a matrix polynomial. Thus, (88) can be posed as a polynomial eigenvalue problem (PEP),

$$ \bigl( \lambda ^{k} \mathcal{M}_{k} + \lambda ^{k-1} \mathcal{M}_{k-1} + \cdots + \lambda \mathcal{M}_{1} + \mathcal{M}_{0} \bigr) {\boldsymbol{\nu }} = 0, $$
(89)

where \(k\) is the highest power of \(u_{1}\) in \(\mathcal{M}(u_{1})\). Note that \(\mathcal{M}_{k}\) are matrices with numeric elements. PEPs such as (89) can be easily solved by transforming the problem into a generalized eigenvalue problem. However, this work uses a built-in command in MATLAB called polyeig() to obtain the solutions of PEPs. Solving the PEP in (89) yields the eigenvalues \(\lambda \) and eigenvectors \({\boldsymbol{\nu }}\). The eigenvalues \(\lambda \) take the values of the hidden variable \(u_{1}\) at the roots of the multi-polynomial system (45). The eigenvectors \({\boldsymbol{\nu }}\) would contain the variables \(u_{2}\) and \(u_{3}\), which can be selected for corresponding values of \(u_{1}= \lambda \).

Now it is noteworthy that a solution of PEPs such as (89), by transformation to generalized eigenvalue problem, generates matrices of very large dimensions for large values of \(n\) and \(d\). The eigenvalue problems for very large matrices are usually difficult to compute and can be numerically unstable. However, in the context of this work, the eigenvalue problems encountered involve only moderately large dimensional matrices (since \(n=3\) and \(d = \sum^{n=3}_{i=1} (d_{i} -1) + 1 = 4\)) that are typically easy to compute. The accuracy of the solution can usually be improved by a method known as “root polishing”, which involves using the solutions from the eigenvalue problem as initial guesses and performing Newton–Raphson iterations [99]. However, in this work, this wasn’t necessary due to the relatively low dimension of the PEP.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chatterjee, A., Bowling, A. Modeling three-dimensional surface-to-surface rigid contact and impact. Multibody Syst Dyn 46, 1–40 (2019). https://doi.org/10.1007/s11044-018-09660-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11044-018-09660-2

Keywords

Navigation