Abstract
The motion of a rolling ball actuated by internal point masses that move inside the ball’s frame of reference is considered. The equations of motion are derived by applying Euler–Poincaré’s symmetry reduction method in concert with Lagrange–d’Alembert’s principle, which accounts for the presence of the nonholonomic rolling constraint. As a particular example, we consider the case when the masses move along internal rails, or trajectories, of arbitrary shape and fixed within the ball’s frame of reference. Our system of equations can treat most possible methods of actuating the rolling ball with internal moving masses encountered in the literature, such as circular motion of the masses mimicking swinging pendula or straight line motion of the masses mimicking magnets sliding inside linear tubes embedded within a solenoid. Moreover, our method can model arbitrary rail shapes and an arbitrary number of rails such as several ellipses and/or figure eights, which may be important for future designs of rolling ball robots. For further analytical study, we also reduce the system to a single differential equation when the motion is planar, that is, considering the motion of the rolling disk actuated by internal point masses, in which case we show that the results obtained from the variational derivation coincide with those obtained from Newton’s second law. Finally, the equations of motion are solved numerically, illustrating a wealth of complex behaviors exhibited by the system’s dynamics. Our results are relevant to the dynamics of nonholonomic systems containing internal degrees of freedom and to further studies of control of such systems actuated by internal masses.
Similar content being viewed by others
References
Putkaradze V, Rogers S (2017) On the optimal control of a rolling ball robot actuated by internal point masses. arXiv:1708.03829
Sphero, ed. BB-8 by Sphero (2015) https://brandfolder.com/bb8/attachments/926upng2/bb-8-by-sphero-bb-8-rolling-2-genericfile.jpg?dl=true&resource_key=mln615o60934&resource_type=Brandfolder. Accessed 24 Aug 2017
Hernández JD (2013) Moisture measurement in crops using spherical robots. Ind Robot: Int J 40(1):59–66
Poincaré H (1901) Sur une forme nouvelle des équations de la mécanique. CR Acad Sci 132:369–371
Hamel G (1904) Die Lagrange–Euler’schen gleichungen der mechanik. Z Math Phys 50:1–57
Borisov AV, Mamaev IS, Bizyaev IA (2016) Historical and critical review of the development of nonholonomic mechanics: the classical period. Regul Chaotic Dyn 21(4):455–476
Shen J, Schneider DA, Bloch AM (2008) Controllability and motion planning of a multibody chaplygin’s sphere and chaplygin’s top. Int J Robust Nonlinear Control 18(9):905–945
Holm DD (2011) Geometric mechanics: rotating, translating, and rolling. Geometric Mechanics. Imperial College Press, London isbn: 9781848167773
Chaplygin SA (2002) On a motion of a heavy body of revolution on a horizontal plane. Regul Chaotic Dyn 7(2):119–130
Chaplygin SA (2002) On a ball’s rolling on a horizontal plane. Regul Chaotic Dyn 7(2):131–148
Routh E (1884) Advanced rigid body dynamics. MacMillan and Co., London
Jellett JH (1872) A treatise on the theory of friction. Hodges, Foster, and Company, Fredericton
Borisov AV, Kilin AA, Mamaev IS (2013) The problem of drift and recurrence for the rolling Chaplygin ball. Regul Chaotic Dyn 18(6):832–859
Borisov AV, Kazakov AO, Sataev IR (2016) Spiral chaos in the nonholonomic model of a Chaplygin top. Regul Chaotic Dyn 21(7–8):939–954
Borisov AV, Kazakov AO, Sataev IR (2014) The reversal and chaotic attractor in the nonholonomic model of Chaplygin’s top. Regul Chaotic Dyn 19(6):718–733
Das T, Mukherjee R, Yuksel H (2001) Design considerations in the development of a spherical mobile robot. In: Proceedings of 15th SPIE annual international symposium on aerospace/defense sensing, simulation, and controls, vol 4364, pp 61–71
Mojabi P et al (2002) Introducing august: a novel strategy for an omnidirectional spherical rolling robot. In: IEEE international conference on robotics and automation, ICRA’02., vol 4, pp 3527–3533
Borisov AV, Kilin AA, Mamaev IS (2012) How to control Chaplygin’s sphere using rotors. Regul Chaotic Dyn 17(3):258–272
Bolotin S (2012) The problem of optimal control of a Chaplygin ball by internal rotors. Regul Chaotic Dyn 17(6):559–570
Gajbhiye S, Banavar R (2016) Geometric tracking control for a nonholonomic system: a spherical robot. IFAC-PapersOnLine 49(18):820–825
Gajbhiye S, Banavar RN (2015) Geometric modeling and local controllability of a spherical mobile robot actuated by an internal pendulum. Int J Robust Nonlinear Control 26:2436–2454. https://doi.org/10.1002/rnc.3457
Kilin AA, Pivovarova EN, Ivanova TB (2015) Spherical robot of combined type: dynamics and control. Regul Chaotic Dyn 20(6):716–728
Burkhardt MR, Burdick JW (2016) Reduced dynamical equations for barycentric spherical robots. In: IEEE international conference on robotics and automation (ICRA), pp 2725–2732
Burkhardt MR, et al. (2014) Energy harvesting analysis for moball, a self-propelled mobile sensor platform capable of long duration operation in harsh terrains. In: IEEE international conference on robotics and automation (ICRA), pp 2665–2672
Davoodi F, Burdick JW, Rais-Zadeh M (2014) Moball network: a self-powered intelligent network of controllable spherical mobile sensors to explore solar planets and moons. In: AIAA SPACE 2014 conference and exposition, p 4261
Asama J, et al. (2015) Design investigation of a coreless tubular linear generator for a moball: a spherical exploration robot with wind-energy harvesting capability. In: IEEE international conference on robotics and automation (ICRA), pp 244–251
Davoodi F, et al. (2015) Moball: an intelligent wind-opportunistic mobile sensor to monitor the polar regions. In: IEEE SENSORS, pp 1–4
Bowkett J, Burkhardt MR, Burdick JW (2016) Combined energy harvesting and control of moball: a barycentric spherical robot. In: International symposium on experimental robotics. Springer, Berlin, pp 71–83
Bolotin SV, Popova TV (2013) On the motion of a mechanical system inside a rolling ball. Regul Chaotic Dyn 18(1–2):159–165
Pivovarova EN, Ivanova TB (2014) Stability analysis of periodic solutions in the problem of the rolling of a ball with a pendulum. Nonlinear Dyn Mob Robot 2(1):21–32
Ivanova T, Pivovarova E (2015) Dynamics and control of a spherical robot with an axisymmetric pendulum actuator. arXiv:1511.02655
Ivanova TB, Kilin AA, Pivovarova EN (2018) Controlled motion of a spherical robot with feedback. I. J Dyn Control Syst 24(3):497–510
Ilin KI, Moffatt HK, Vladimirov VA (2017) Dynamics of a rolling robot. In: Proceedings of the national academy of sciences, pp 12858–12863
Sphero, ed. Sphero Edu (2017) https://brandfolder.com/spheroedu/attachments/opnbxt-5zllfs-30z63c/sphero-edu-sprkplus-hero-genericfile.png?dl=true&resource_key=ooxisb-8l6c4o-f9z224&resource_type=Brandfolder. Accessed 24 Aug 2017
Ascher UM, Mattheij RMM, Russell RD (1994) Numerical solution of boundary value problems for ordinary differential equations, vol 13. Siam, Philadelphia
Hairer E, Wanner G (1996) Solving ordinary differential equations. II, volume 14 of springer series in computational mathematics
Squire W, Trapp G (1998) Using complex variables to estimate derivatives of real functions. SIAM Rev 40(1):110–112
Martins JRRA, Sturdza P, Alonso JJ (2001) The connection between the complex-step derivative approximation and algorithmic differentiation. In: AIAA paper, vol 921
Martins JRRA, Sturdza P, Alonso JJ (2003) The complex-step derivative approximation. ACM Trans Math Softw (TOMS) 29(3):245–262
Frisvad JR (2012) Building an orthonormal basis from a 3D unit vector without normalization. J Gr Tools 16(3):151–159
Kozlov VV (2010) Lagrangian mechanics and dry friction. Nelineinaya Dinamika [Russ J Nonlinear Dyn] 6(4):855–868
Kozlov VV (2011) Friction by painlevé and lagrangian mechanics. In: Doklady physics, vol 56. Springer, Berlin, pp 355–358
Karavaev YL, Klekovkin AV, Kilin AA (2017) The dynamical model of the rolling friction of spherical bodies on a plane without slipping. Nelineinaya Dinamika [Russ J Nonlinear Dyn] 13(4):599–609
Kozlov VV (1982) Dynamics of systems with nonintegrable constraints. 1. Vestnik Moskovskogo Universiteta Seriya 1 Matematika Mekhanika (3):92–100
Kozlov VV (1982) Dynamics of systems with nonintegrable constraints. 2. Vestnik Moskovskogo Universiteta Seriya 1 Matematika Mekhanika (4):70–76
Lewis AD, Murray RM (1995) Variational principles for constrained systems: theory and experiment. Int J Non-Linear Mech 30(6):793–815
Suslov GK (1946) Theoretical mechanics. Gostekhizdat, Mosc 3:40–43
Putkaradze V, Rogers SM (2018) Constraint control of nonholonomic mechanical systems. J Nonlinear Sci 28(1):193–234
Graf B (2008) Quaternions and dynamics. arXiv:0811.2889
Stevens BL, Lewis FL, Johnson EN (2015) Aircraft control and simulation: dynamics, controls design, and autonomous systems. Wiley, Hoboken
Baraff D (2001) Physically based modeling: Rigid body simulation. SIGGRAPH Course Notes ACM SIGGRAPH 2(1):2–1
Acknowledgements
We are indebted to our colleagues A.M. Bloch, D.M. de Diego, F. Gay-Balmaz, D.D. Holm, M. Leok, A. Lewis, T. Ohsawa, V.A. Vladimirov, and D.V. Zenkov for useful and fruitful discussions. This research was partially supported by the NSERC Discovery Grant, the University of Alberta Centennial Fund, and the Alberta Innovates Technology Funding (AITF) which came through the Alberta Centre for Earth Observation Sciences (CEOS). S.M. Rogers also received support from the University of Alberta Doctoral Recruitment Scholarship, the FGSR Graduate Travel Award, the IGR Travel Award, the GSA Academic Travel Award, and the AMS Fall Sectional Graduate Student Travel Grant. The authors declare that they have no conflict of interest.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix A: Background material: variational mechanics, Euler–Poincaré’s method, and nonholonomic constraints
This appendix reviews several principles from mechanics that are useful for developing the equations of motion for the rolling ball. Hamilton’s principle and Euler–Poincaré’s method are reviewed in “Subappendix A.1”, while Lagrange–d’Alembert’s principle is reviewed in “Subappendix A.2”. Euler–Poincaré’s method and Lagrange–d’Alembert’s principle are later utilized to derive the equations of motion for the rolling ball in Sect. 3.
1.1 Hamilton’s principle, symmetry reduction, and Euler–Poincaré’s method
Hamilton’s principle A mechanical system consists of a configuration space, which is a manifold \(M\) with tangent bundle \(TM = \bigcup _{q \in M} T_q M\), and a Lagrangian \(L(q,\dot{q}): TM \rightarrow {\mathbb {R}}\), \((q,\dot{q}) \in TM\). The equations of motion are given by Hamilton’s principle (also called the variational principle of stationary action) which states that
for all smooth functions \(\delta q(t)\) defined for \(a\le t \le b\) and that vanish at the endpoints (i.e. \(\delta q(a)=\delta q(b)=0\)). Pushing the variational derivative inside the integral, integrating by parts, and enforcing the vanishing endpoint conditions \(\delta q(a)=\delta q(b)=0\) yields
Insisting that \(\delta \int _a^b L\left( q, \dot{q} \right) \mathrm {d}t=0\) for all such smooth functions \(\delta q\) produces the Euler–Lagrange equations of motion:
Recall that a Lie group is a smooth manifold which is also a group and for which the group operations of multiplication and inversion are smooth functions [8]. In the case when there is an intrinsic symmetry in the configuration space, in particular when \(M=G\), a Lie group, and when there is an appropriate invariance of the Lagrangian with respect to \(G\), these Euler–Lagrange equations, defined on the group’s tangent bundle \(TG\) (i.e. depending on both g and \(\dot{g}\)), are cumbersome to use.
Free rigid body For example, consider the case of a rigid body rotating about a fixed point with no external torques, so that \(G=SO(3)\), \(g=\Lambda \in SO(3)=G\), and the Lagrangian is \(L\left( \Lambda ,\dot{\Lambda }\right)\). This mechanical system is called a free rigid body. The Euler–Lagrange equations are
where \(I \in {\mathbb {R}}^{3 \times 3}\) is the \(3 \times 3\) identity matrix. Equation (A.4) involves 9 ordinary differential equations with 6 algebraic (i.e. non-differential) constraints, and (A.4) is highly counterintuitive to use. Euler devised a description of reduced rigid body motion in terms of the body angular velocity. A more rigorous way to represent this reduction idea is through the Euler–Poincaré description of motion [4], or Euler–Poincaré’s method. Assuming that the Lagrangian is invariant with respect to rotations on the left, which corresponds to the description of the equations of motion in the body frame, the symmetry-reduced Lagrangian should be of the form \(\ell \left( \Lambda ^{-1} \dot{\Lambda }\right)\).
Since \(\Lambda \in SO(3)\), \(\Lambda ^{-1} \Lambda = I\) and \(\Lambda ^{-1} = \Lambda ^\mathsf {T}\), so that
Hence \(\Lambda ^{-1} \dot{\Lambda }= -\left( \Lambda ^{-1} \dot{\Lambda }\right) ^\mathsf {T}\), and so \(\Lambda ^{-1} \dot{\Lambda }\in {\mathfrak{so}}(3)\); moreover, \(\Lambda ^{-1} \delta \Lambda \in {\mathfrak{so}}(3)\). The isomorphic mapping from the column vectors in \({\mathbb {R}}^3\) to the Lie algebra \({\mathfrak{so}}(3)\), i.e. skew-symmetric matrices, is defined using the hat map ⎵\(^\wedge : {\mathbb {R}}^3 \rightarrow {\mathfrak{so}}(3)\) as
and the inverse mapping from \({\mathfrak{so}}(3)\) to the column vectors in \({\mathbb {R}}^3\) is defined using the caron map ⎵\(^\vee : {\mathfrak{so}}(3) \rightarrow {\mathbb {R}}^3\) as
Since the hat map ⎵\(^\wedge : {\mathbb {R}}^3 \rightarrow {\mathfrak{so}}(3)\) and its inverse ⎵\(^\vee : {\mathfrak{so}}(3) \rightarrow {\mathbb {R}}^3\) give isomorphisms between \({\mathfrak{so}}(3)\) and \({\mathbb {R}}^3\) and since \(\Lambda ^{-1} \dot{\Lambda }\in {\mathfrak{so}}(3)\), the symmetry-reduced Lagrangian should also be of the form \(\ell \left( {\varvec{\Omega }}\right)\), where \({\varvec{\Omega }}\equiv \left[ \Lambda ^{-1} \dot{\Lambda }\right] ^\vee \in {\mathbb {R}}^3\). The variation of \({\varvec{\Omega }}\) is computed as follows [8]:
where \({\varvec{\Sigma }}\equiv \left( \Lambda ^{-1} \delta \Lambda \right) ^\vee \in {\mathbb {R}}^3\). Under the hat map isomorphism, the variations \({\varvec{\Sigma }}\) lie in the Lie algebra \({\mathfrak{so}}(3)\). Taking the variation of the action integral, pushing the variational derivative inside the integral, integrating by parts, and enforcing the endpoint conditions \({\varvec{\Sigma }}(a) ={\varvec{\Sigma }}(b) = \mathbf {0}\) yields
Insisting that \(\delta \int _a^b \ell \left( {\varvec{\Omega }}\right) \mathrm {d} t = 0\) for all smooth variations \({\varvec{\Sigma }}\) that vanish at the endpoints generates the well-known equations of motion for the free rigid body:
Note that in the above derivation, the functional derivative notation \(\frac{\delta \ell }{\delta {\varvec{\Omega }}}\) is used rather than the partial derivative notation \(\frac{\partial \ell }{\partial {\varvec{\Omega }}}\). The former is used if the Lagrangian depends functionally (e.g. involving a derivative or integral) rather than pointwise on its argument. If the Lagrangian depends only pointwise on its argument, such as is the case for the free rigid body and heavy top (to be discussed next), the two notations agree. For the free rigid body, the symmetry-reduced Lagrangian is \(l\left( {\varvec{\Omega }}\right) =\frac{1}{2}\left\langle {\mathbb {I}}{\varvec{\Omega }},{\varvec{\Omega }}\right\rangle\), \(\frac{\delta \ell }{\delta {\varvec{\Omega }}} = {\mathbb {I}}{\varvec{\Omega }}\), and the equations of motion (A.10) become
By multiplying (A.10) by \(\Lambda\) and using the identity \(\dot{\Lambda }= \Lambda {\widehat{{\varvec{\Omega }}}}\), the equations of motion for the free rigid body may be expressed in conservation law form:
Heavy top As another application of Euler–Poincaré’s method, consider the heavy top, which is a rigid body of mass m rotating with a fixed point of support in a uniform gravitational field with gravitational acceleration g. Let \({\varvec{\chi }}\) denote the vector in the body frame from the fixed point of support to the heavy top’s center of mass. To compute the equations of motion for the heavy top, another advected variable \({\varvec{\Gamma }}\equiv \Lambda ^{-1} \mathbf {e}_3\) must be introduced. \({\varvec{\Gamma }}\) represents the motion of the unit vector \(\mathbf {e}_3\) along the spatial vertical axis, as seen from the body frame. Computing the time and variational derivatives of \({\varvec{\Gamma }}\) yields
and
The heavy top’s reduced Lagrangian is \(l\left( {\varvec{\Omega }},{\varvec{\Gamma }}\right) =\frac{1}{2}\left\langle {\mathbb {I}}{\varvec{\Omega }},{\varvec{\Omega }}\right\rangle -\left\langle mg{\varvec{\chi }},{\varvec{\Gamma }}\right\rangle\). Taking the variation of the action integral, pushing the variational derivative inside the integral, integrating by parts, and enforcing the endpoint conditions \({\varvec{\Sigma }}(a) = {\varvec{\Sigma }}(b) = \mathbf {0}\) yields
Insisting that \(\delta \int _a^b l\left( {\varvec{\Omega }},{\varvec{\Gamma }}\right) \mathrm {d} t = 0\) for all smooth variations \({\varvec{\Sigma }}\) that vanish at the endpoints generates the equations of motion for the heavy top:
Adjoint and coadjoint operations In order to consider mechanics on general groups, adjoint and coadjoint operations are defined as follows. Consider a Lie group \(G\) with Lie algebra \({\mathfrak{g}}\), dual Lie algebra \({\mathfrak{g}}^*\), and a pairing \(\left\langle \cdot ,\cdot \right\rangle : {\mathfrak{g}}^* \times {\mathfrak{g}} \rightarrow {\mathbb {R}}\). The ADjoint operation \(\mathrm{AD} : G \times G \rightarrow G\) is defined by
The Adjoint operation \(\mathrm{Ad} : G \times {\mathfrak{g}} \rightarrow {\mathfrak{g}}\) is defined by taking a smooth curve h(t) with \(h(0)=e\) and \(\dot{h}(0)=\eta \in {\mathfrak{g}}\) (arbitrary and fixed) and computing
The adjoint operation \(\mathrm{ad} : {\mathfrak{g}} \times {\mathfrak{g}} \rightarrow {\mathfrak{g}}\) is defined by taking a smooth curve g(t) with \(g(0)=e\) and \(\dot{g}(0)=\xi \in {\mathfrak{g}}\) (arbitrary and fixed) and computing
where \(\left[ \cdot ,\cdot \right] : {\mathfrak{g}} \times {\mathfrak{g}} \rightarrow {\mathbb {R}}\) is the Lie bracket defined by
The coAdjoint operation \(\mathrm{Ad}^* : G \times {\mathfrak{g}}^* \rightarrow {\mathfrak{g}}^*\) is defined by
The coadjoint operation \(\mathrm{ad}^* : {\mathfrak{g}} \times {\mathfrak{g}}^* \rightarrow {\mathfrak{g}}^*\) is defined by
Euler–Poincaré’s method More generally, if the Lagrangian \(L : TG \rightarrow {\mathbb {R}}\) is left-invariant, i.e. \(L\left( hg,h \dot{g}\right) =L\left( g,\dot{g}\right) \quad \forall \left( g,\dot{g} \right) \in TG, \quad \forall h \in G\), we can define the symmetry-reduced Lagrangian through the symmetry reduction \(\ell =\ell \left( g^{-1} \dot{g} \right) =\ell (\xi )=L\left( e,\xi \right) ,\) where \(\xi \equiv g^{-1} \dot{g}\). Then, the equations of motion (A.3) are equivalent to the Euler–Poincaré equations of motion obtained from the variational principle
The variations \(\eta (t)\), assumed to be sufficiently smooth, are sometimes called free variations. Applying the variational principle (A.23) gives
which yields the Euler–Poincaré equations of motion:
For right-invariant Lagrangians, i.e. \(L\left( gh,\dot{g}h\right) =L\left( g,\dot{g}\right) \quad \forall h \in G\), the Euler–Poincaré equations of motion (A.25) change by altering the sign in front of \(\mathrm{ad}^*_\xi\) from minus to plus. For the free rigid body, \(\varvec{\xi }= {\varvec{\Omega }}\), \(l\left( {\varvec{\Omega }}\right) =\frac{1}{2}\left\langle {\mathbb {I}}{\varvec{\Omega }},{\varvec{\Omega }}\right\rangle\), \(\frac{\delta \ell }{\delta {\varvec{\Omega }}} = {\mathbb {I}}{\varvec{\Omega }}\), and \(\mathrm{ad}^*_{{\varvec{\Omega }}} \frac{\delta \ell }{\delta {\varvec{\Omega }}} = - {\varvec{\Omega }}\times \frac{\delta \ell }{\delta {\varvec{\Omega }}} = \left( {\mathbb {I}}{\varvec{\Omega }}\right) \times {\varvec{\Omega }}\), so that the free rigid body equations of motion (A.11) derived earlier agree with the Euler–Poincaré equations of motion (A.25).
It is interesting that (A.25) implies the conservation of angular momentum. Indeed, letting \(\alpha \in {\mathfrak{g}}\) be arbitrary and constant in time and letting \(t_0 \in {\mathbb {R}}\) be an arbitrary time, one can derive that
Euler–Poincaré’s method with an advected parameter In order to further treat the effect of gravity on the heavy top and also on the rolling ball in Sect. 3, we let the Lagrangian depend on a parameter (gravity) which is advected with the dynamics. Formally, let \(V\) be a vector space. Suppose the Lagrangian \(L\) depends on a parameter in the dual space \(V^*\), so that the general Lagrangian has the form \(L : TG \times V^* \rightarrow {\mathbb {R}}\). For a parameter \(\alpha _0 \in V^*\), suppose that the Lagrangian \(L_{\alpha _0} : TG \rightarrow {\mathbb {R}}\) defined by \(L_{\alpha _0}\left( g,\dot{g} \right) = L\left( g,\dot{g}, \alpha _0 \right) \quad \forall \left( g ,\dot{g} \right) \in TG\) is left-invariant, i.e. \(L\left( hg,h \dot{g},h \alpha _0 \right) =L \left( g,\dot{g}, \alpha _0 \right) \quad \forall \left( g,\dot{g} \right) \in TG, \quad \forall h \in G\). Then we can define the symmetry-reduced Lagrangian through the symmetry reduction \(\ell =\ell \left( g^{-1} \dot{g}, g^{-1} \alpha _0 \right) =\ell \left( \xi , \alpha \right) =L\left( e,\xi , \alpha \right) ,\) where \(\xi \equiv g^{-1} \dot{g}\) and \(\alpha \equiv g^{-1} \alpha _0\). Euler–Poincaré’s method with an advected parameter says that the equations of motion are obtained from the variational principle
Before applying this variational principle, the diamond operation \(\diamond\) is defined. \(\diamond : V \times V^* \rightarrow {\mathfrak{g}}^*\) is defined by
\(\diamond : V^* \times V \rightarrow {\mathfrak{g}}^*\) is defined by
Applying the variational principle (A.27) gives
which yields the Euler–Poincaré equations of motion with an advected parameter:
The most direct application of the Euler–Poincaré equations of motion with an advected parameter is the heavy top, where the advected parameter is the gravity vector expressed in the heavy top’s body frame. For the heavy top, \(\varvec{\xi }={\varvec{\Omega }}\), \(\alpha = {\varvec{\Gamma }}\), \(l\left( {\varvec{\Omega }},{\varvec{\Gamma }}\right) =\frac{1}{2}\left\langle {\mathbb {I}}{\varvec{\Omega }},{\varvec{\Omega }}\right\rangle -\left\langle mg{\varvec{\chi }},{\varvec{\Gamma }}\right\rangle\), \(\frac{\delta \ell }{\delta {\varvec{\Omega }}}={\mathbb {I}}{\varvec{\Omega }}\), \(\mathrm{ad}^*_{{\varvec{\Omega }}} \frac{\delta \ell }{\delta {\varvec{\Omega }}} = - {\varvec{\Omega }}\times {\mathbb {I}}{\varvec{\Omega }}\), \(\frac{\delta \ell }{\delta {\varvec{\Gamma }}}=-mg{\varvec{\chi }}\), and \(\frac{\delta l}{\delta {\varvec{\Gamma }}} \diamond {\varvec{\Gamma }}=-mg{\varvec{\chi }}{\times {{\varvec{\Gamma }}}}\). Plugging all these identities into (A.31) recovers the previously derived heavy top equations of motion (A.16).
1.2 Nonholonomic constraints and Lagrange–d’Alembert’s principle
Suppose a mechanical system having configuration space \(M\), a manifold of dimension n, must satisfy \(m < n\) constraints that are linear in velocity. To express these velocity constraints formally, the notion of a distribution is needed. Given the manifold \(M\), a distribution \(\mathcal {D}\) on \(M\) is a subset of the tangent bundle \(TM = \bigcup _{q \in M} T_q M\): \(\mathcal {D} = \bigcup _{q \in M} \mathcal {D}_q\), where \(\mathcal {D}_q \subset T_q M\) and \(m = \mathrm {dim} \, \mathcal {D}_q < \mathrm {dim} \, T_q M = n\) for each \(q \in M\). A curve \(q(t) \in M\) satisfies the constraints if \(\dot{q}(t) \in \mathcal {D}_{q(t)}\). Lagrange–d’Alembert’s principle states that the equations of motion are determined by
for all smooth variations \(\delta q(t)\) of the curve q(t) such that \(\delta q(t) \in \mathcal {D}_{q(t)}\) for all \(a\le t \le b\) and such that \(\delta q(a)=\delta q(b)=0\), and for which \(\dot{q}(t) \in \mathcal {D}_{q(t)}\) for all \(a\le t \le b\). If one writes the nonholonomic constraint in local coordinates as \(\sum _{i=1}^n A(q)^j_i \dot{q}^i=0\), \(j=1, \ldots , m < n\), then (A.32) is written in local coordinates as
where the \(\lambda _j\) are Lagrange multipliers enforcing \(\sum _{i=1}^n A(q)^j_i {\delta q}^i=0\), \(j=1, \ldots , m\). Aside from Lagrange–d’Alembert’s approach, there is also an alternative vakonomic approach to derive the equations of motion for nonholonomic mechanical systems. Simply speaking, the vakonomic approach relies on substituting the constraint into the Lagrangian before taking variations or, equivalently, enforcing the constraints using the appropriate Lagrange multiplier method [44, 45]. In general, it is an experimental fact that all known nonholonomic mechanical systems obey the equations of motion resulting from Lagrange–d’Alembert’s principle [46].
Suslov’s problem To illustrate Lagrange–d’Alembert’s principle in conjunction with Euler–Poincaré’s method, also known as Euler–Poincaré-Suslov’s method, consider a rigid body rotating about a fixed point such that its body angular velocity \({\varvec{\Omega }}\) must be orthogonal to a prescribed body frame vector \(\varvec{\xi }\). Such a rigid body is called Suslov’s problem in honor of the Russian mathematician who introduced and studied it in 1902 [47]. Mathematically, the constraint for Suslov’s problem is \(\left\langle {\varvec{\Omega }},\varvec{\xi }\right\rangle =0\), so that Suslov’s problem is an algebraically simple example of a nonholonomic mechanical system. In Suslov’s original formulation [47], \(\varvec{\xi }\) was assumed to be fixed in the body frame. In [48] and here, \(\varvec{\xi }\) is permitted to vary with time. The Lagrangian for Suslov’s problem is its kinetic energy, so that the symmetry-reduced Lagrangian is \(\ell ({\varvec{\Omega }})=\frac{1}{2}\left\langle {\mathbb {I}}{\varvec{\Omega }},{\varvec{\Omega }}\right\rangle\) and the action integral is \(S = \int _a^b \ell ({\varvec{\Omega }}) \mathrm {d}t= \int _a^b \frac{1}{2}\left\langle {\mathbb {I}}{\varvec{\Omega }},{\varvec{\Omega }}\right\rangle \mathrm {d}t\). Since \({\varvec{\Omega }}\equiv \left[ \Lambda ^{-1} \dot{\Lambda }\right] ^\vee\), according to (A.8), \(\delta {\varvec{\Omega }}= \dot{\varvec{\Sigma }}+ {\varvec{\Omega }}\times {\varvec{\Sigma }}\) where \({\varvec{\Sigma }}\equiv \left( \Lambda ^{-1} \delta \Lambda \right) ^\vee\). Part of Lagrange–d’Alembert’s principle states that the nonholonomic constraint \(\left\langle {\varvec{\Omega }},\varvec{\xi }\right\rangle =0\) implies that the variations \({\varvec{\Sigma }}\) must satisfy \(\left\langle {\varvec{\Sigma }}, \varvec{\xi }\right\rangle =0\) when deriving the equations of motion. Enforcing the constraint \(\left\langle {\varvec{\Sigma }}, \varvec{\xi }\right\rangle =0\) on the variations \({\varvec{\Sigma }}\) through the time-varying Lagrange multiplier \(\lambda\), Lagrange–d’Alembert’s principle in conjunction with Euler–Poincaré’s method dictate that the equations of motion for Suslov’s problem are given by
for variations \(\delta {\varvec{\Omega }}= \dot{\varvec{\Sigma }}+ {\varvec{\Omega }}\times {\varvec{\Sigma }}\), for all variations \({\varvec{\Sigma }}\) such that \({\varvec{\Sigma }}(a)={\varvec{\Sigma }}(b)=\mathbf {0}\), and such that \(\left\langle {\varvec{\Omega }},\varvec{\xi }\right\rangle =0\). Pushing the variational derivative inside the action integral’s integration operator, using the fact that \(\delta {\varvec{\Omega }}= \dot{\varvec{\Sigma }}+ {\varvec{\Omega }}\times {\varvec{\Sigma }}\), integrating by parts, and invoking the vanishing endpoint assumptions \({\varvec{\Sigma }}(a)={\varvec{\Sigma }}(b)=\mathbf {0}\), (A.34) simplifies to
Since (A.35) must be satisfied for all variations \({\varvec{\Sigma }}\) such that \({\varvec{\Sigma }}(a)={\varvec{\Sigma }}(b)=\mathbf {0}\), the equations of motion for Suslov’s problem are given by
where the Lagrange multiplier \(\lambda\) is determined from the nonholonomic constraint \(\left\langle {\varvec{\Omega }},\varvec{\xi }\right\rangle =0\). Dotting both sides of (A.36) by \({\mathbb {I}}^{-1} \varvec{\xi }\), solving for \(\lambda\), applying the product rule \(\left\langle {\varvec{\Omega }},\varvec{\xi }\right\rangle ^\cdot =\left\langle {\dot{{\varvec{\Omega }}}} ,{{\varvec{\xi }}} \right\rangle +\left\langle {\varvec{\Omega }},{\dot{\varvec{\xi }}} \right\rangle\), and invoking the nonholonomic constraint \(\left\langle {\varvec{\Omega }},\varvec{\xi }\right\rangle =0\) yield the formula for the Lagrange multiplier \(\lambda\):
so that the equations of motion for Suslov’s problem are
The reader is referred to [48] for further details.
Appendix B: Details for deriving the equations of motion for the rolling ball
By defining \(\mathbf {s}_i \equiv r {\varvec{\Gamma }}+{\varvec{\chi }}_i\) for \(0\le i\le n\) and combining the summations, the equations of motion (3.22) for the rolling ball become
Since \(\mathbf {s}_i \equiv r {\varvec{\Gamma }}+{\varvec{\chi }}_i\) for \(0\le i\le n\),
and
Moreover, by exploiting Jacobi’s identity for the sum of permuted triple cross products, we find
By using (B.2), (B.3), and (B.4) in (B.1), the equations of motion (B.1) simplify to
For arbitrary vectors \(\mathbf {a},\mathbf {b} \in {\mathbb {R}}^3\), Jacobi’s identity yields the following identity for the sum of quadruple cross products:
Since \(\mathbf {s}_i \equiv r {\varvec{\Gamma }}+{\varvec{\chi }}_i\) for \(0\le i\le n\) and using the identity (B.6), it follows that
Using (B.7), the equations of motion (B.5) simplify to
Finally, since
where for \(\mathbf {v} = \begin{bmatrix} v_1&v_2&v_3 \end{bmatrix}^\mathsf {T} \in {\mathbb {R}}^3\), \({\widehat{\mathbf {v}}}^2={\widehat{\mathbf {v}}}{\widehat{\mathbf {v}}}\) is the symmetric matrix given by
we can solve explicitly for \({\dot{{\varvec{\Omega }}}}\) in (B.8) to obtain the equations of motion (3.23) for the rolling ball.
Appendix C: Details for deriving the equation of motion for the rolling disk
Note that \(\left[ \sum _{i=0}^n m_i {\widehat{\mathbf {s}}_i}^2 -{\mathbb {I}}\right] ^{-1} \mathbf {e}_2\) is just the middle column of the matrix inverse of \(A = \sum _{i=0}^n m_i {\widehat{\mathbf {s}}_i}^2 -{\mathbb {I}}\), where \({\widehat{\mathbf {s}}_i}^2\) is given in (3.35). Denote the entries of \(A\) by
Since \({\mathbb {I}}\) is diagonal and from (3.35), \(a_{12} = a_{21} = a_{23} = a_{32} = 0\), so that
and the determinant of \(A\) simplifies to
From (3.35),
Using the formula for the inverse of a \(3 \times 3\) matrix and (C.4), the middle column of the matrix inverse of \(A = \sum _{i=0}^n m_i {\widehat{\mathbf {s}}_i}^2 -{\mathbb {I}}\) is
Plugging (C.5) into (3.38) gives the scalar equation of motion (3.39) for the rolling disk.
Appendix D: Quaternions
Quaternions were invented by William Rowan Hamilton in 1843. Good references on quaternions and how they are used to model rigid body dynamics are [8, 49,50,51]. The set of quaternions, which is isomorphic to \({\mathbb {R}}^4\), is denoted by \(\mathbb {H}\). A quaternion \({\mathfrak{p}} \in \mathbb {H}\) can be expressed as the column vector
Given a column vector \({\varvec{v}}\in {\mathbb {R}}^3\), \({\varvec{v}}^\sharp\) is the quaternion
Given a quaternion \({\mathfrak{p}} \in \mathbb {H}\), \({\mathfrak{p}}^\flat \in {\mathbb {R}}^3\) is the column vector such that
Given a column vector \({\varvec{v}}\in {\mathbb {R}}^3\), note that
However, given a quaternion \({\mathfrak{p}} \in \mathbb {H}\),
Given quaternions \({\mathfrak{p}}=\begin{bmatrix}p_0 \\ {\mathfrak{p}}^\flat \end{bmatrix},{\mathfrak{q}}=\begin{bmatrix}q_0 \\ {\mathfrak{q}}^\flat \end{bmatrix} \in \mathbb {H}\), their sum is
their product is
and their dot product is
It may be shown that multiplication in \(\mathbb {H}\) is associative (i.e. \({\mathfrak{p}} \left( {\mathfrak{q}} {\mathfrak{r}} \right) = \left( {\mathfrak{p}} {\mathfrak{q}} \right) {\mathfrak{r}} \quad \forall {\mathfrak{p}},{\mathfrak{q}},{\mathfrak{r}} \in \mathbb {H}\)) but not commutative (i.e. \({\mathfrak{p}} {\mathfrak{q}} \ne {\mathfrak{q}} {\mathfrak{p}}\) for general \({\mathfrak{p}},{\mathfrak{q}} \in \mathbb {H}\)). Given \(c \in {\mathbb {R}}\) and a quaternion \({\mathfrak{p}} = \begin{bmatrix}p_0 \\ {\mathfrak{p}}^\flat \end{bmatrix} \in \mathbb {H}\), scalar multiplication of \({\mathfrak{p}}\) by c is
Given a quaternion \({\mathfrak{p}} = \begin{bmatrix}p_0 \\ {\mathfrak{p}}^\flat \end{bmatrix} \in \mathbb {H}\), its conjugate is
its magnitude is
and its inverse is
In the language of abstract algebra, \(\mathbb {H}\) is a four-dimensional associative normed division algebra over the real numbers. \({\mathscr {S}} \subset \mathbb {H}\) denotes the set of unit quaternions, also called versors, which is isomorphic to \(\mathbb {S}^3 \subset {\mathbb {R}}^4\). That is,
The set of versors \({\mathscr {S}}\) is useful because it may be utilized to parameterize the set of rotation matrices SO(3). Given a versor
the corresponding rotation matrix \(\Lambda \in SO(3)\) is
It is easy to see from (D.15), that the versors
correspond to the same rotation matrix \(\Lambda \in SO(3)\), so that \({\mathscr {S}}\) is a double covering of SO(3). Given a vector \(\mathbf {Y}\in {\mathbb {R}}^3\), the rotation of \(\mathbf {Y}\) by \(\Lambda \in SO(3)\) can be realized using the versor \({\mathfrak{q}} \in {\mathscr {S}}\) via the Euler–Rodrigues formula
Since \({\mathfrak{q}}^{-1} \in {\mathscr {S}}\) parameterizes \(\Lambda ^{-1} \in SO(3)\), (D.17) says that the rotation of \(\mathbf {y} \in {\mathbb {R}}^3\) by \(\Lambda ^{-1} \in SO(3)\) can be realized using the versor \({\mathfrak{q}}^{-1} \in {\mathscr {S}}\) via
Now consider a rigid body, such as a free rigid body, a heavy top, Suslov’s problem, a rolling disk, a rolling ball, etc., with orientation matrix \(\Lambda \in SO(3)\) (i.e. \(\Lambda\) maps the body frame into the spatial frame) and body angular velocity
so that
Let \({\mathfrak{q}} \in {\mathscr {S}}\) denote a versor corresponding to \(\Lambda\). Then it may be shown that
Rights and permissions
About this article
Cite this article
Putkaradze, V., Rogers, S. On the dynamics of a rolling ball actuated by internal point masses. Meccanica 53, 3839–3868 (2018). https://doi.org/10.1007/s11012-018-0904-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11012-018-0904-5