1 Introduction

It is a ubiquitous phenomenon that two bodies within a mechanical system suffer from a persistent point contact. To model the dynamics of the system in a simple and convenient way, one often introduces constraints as the representative of the point contact interaction [13]. For simple problems, such as a disk contacting a fixed plane, it is easy to write out the constraint equations via an intuitive analysis for a well-placed state of the system [4, 5]. However, for general cases where a persistent point contact occurs between two moving bodies within a complex multibody system, the following issues may not be explained very clearly in the existing literature [69]:

  • How does the contact point evolve with respect to time?

  • How to establish the independent constraint equations via a programmable procedure with strictly mathematical formulations instead of acute intuitive insight or perceptiveness?

  • How to incorporate the contact-induced constraints, especially the nonholonomic ones, into the dynamics of the system via basic equations of analytical mechanics?

  • What is the correlation between real contact forces and Lagrangian multipliers in Lagrangian equations? The correlation is necessary if the contact force is involved in simulation, or if the contact motion admits sliding friction.

Those issues concern lots of aspects of the analytical mechanics ranging from the formulations of constraint equations, the mathematical properties of constraints, applicability of basic equations postulated from different principles of analytical mechanics, and the essence of undetermined multipliers in Lagrangian formalism, etc. To address those issues, it is important to understand the physical meaning underlying the contact-induced constraints.

The essence of constraints is that they play a role of characterizing the significant manifestations of physical interactions between bodies instead of the detail [10, 11]. Accordingly, reasonable assumptions originated from the understanding on the physical interactions should be previously introduced so that one can base on them to establish the associated constraint equations. For a persistent point contact, one easily finds that the contact behavior may admit the following assumptions: (i) non-penetration limitations, from which geometry-dependent constraints (GCs) can be established [12]; (ii) vanishing of the relative velocity, corresponding to velocity-dependent constraints (VCs); (iii) sliding friction [10], leading to constraints defined at the level of force, which are referred to as force-dependent constraints (FCs) in this paper.

The constraint equations established by those conditions are usually further classified according to their mathematical properties. GCs essentially impose restrictions on the configuration of systems, so that they can be equivalently expressed as first order differential forms, referred to as holonomic constraints. VCs are essentially the limitation on tangential velocity. The integrable VCs are holonomic and they can be thought of as variants of GCs, while the non-integrable VCs are often called nonholonomic [46]. FCs are special constraints that define the relationship between normal and tangential components of contact forces at the contact point.

Theoretically, GCs (or holonomic VCs) can be utilized to reduce the number of system’s generalized coordinates to the least number of independent ones, which is the actual number of degrees of freedom. Pars [13] stated that a point contact would eliminate one degree of freedom of a system. Namely, a point contact is only concerned with a single GC. Except for the situation of a point moving along a spatial curve (two degrees of freedom are annihilated in this case), Pars’ claim, if only GCs are concerned, suits all other cases of two bodies contacting at a single point. However, the explicit expressions of the GCs are usually needed if the set of contact constraints consists of FCs because they are concerned with the real contact force at the contact point [14].

For contacting bodies with complex contour shapes, many authors have realized that the contact constraints will be complicated by the evolution of location parameters. The location parameters may be time-dependent variables when they are used to describe the temporal position of the contact point on the contours of the two contacting bodies [1517]. Montana [15] derived a set of contact equations, within which the contact-induced constraints are defined at the level of relative velocity of the contact point, together with equations governing the evolution of the location parameters. Although the method had found successful applications covering a wide range of the practice in the robotic community [1822], it suffers from several drawbacks. First, the author didn’t express the constraint equations as explicit functions of generalized coordinates and velocities of a system so that one may have trouble in adjoining the constraints with dynamics. Second, the evolution of the location parameters is concerned with tedious quantities of geometry, such as relative curvatures and a relative contact angle, leading to the expression of the constraints in a rather complicated way. Third, the theory was not suitable for contacting bodies with arbitrary contour shapes. Fourth, the contact dynamics was not discussed in Montana’s theory.

The study of this paper focuses on a Lagrangian system subject to a persistent point contact between two bodies. We suppose that the contour shapes of the two contacting bodies near the contact point can be a point, a segment of planar or spatial curve, or a piece of surface. The contact under those geometries falls into seven patterns that commonly satisfy the following two geometric conditions: (i) there is one common point in space for both contacting bodies; (ii) the tangential vectors of the contour of each contacting body at the contact point are located on a common plane. Starting from the two geometric conditions, together with generalized coordinates necessary in describing the configuration of the system, we derive a set of contact differential equations governing the evolution of the location parameters, and formulate GCs with clear relations to the generalized coordinates of the system. Meanwhile, VCs are established according to the limitation to the relative velocity of the two contacting bodies at the same point in contact. Note that the presence of the VCs is inevitably concerned with friction property. In this paper, we suppose that contact friction obeys Coulomb’s friction law so that VCs just appear in a stick state of the friction, while FCs hold for a sliding state.

Depending on the contact state, the set of constraints in a point contact may be either the combination of GCs and VCs or the one of GCs and FCs. Because VCs and FCs are defined at the level of velocity or force, respectively, it is necessary to make theoretical justifications for some known results of analytical mechanics when treating a nonholonomic system with friction. The first matter is related to the Appell–Chetaev’s rule that specifies an appropriate set of linear auxiliary conditions on the virtual displacement arising from kinematic constraints. The linear auxiliary conditions can then be adjoined via Lagrange multipliers to the d’Alembert–Lagrangian principle (DLP) to yield the dynamical equations of the system. Although this rule has been generally accepted as an axiom into the methodology of analytical dynamics, it is still an enigma for understanding the virtual displacements in nonholonomic constraints. In this paper, we will show that the Appell–Chetaev’s rule is fulfilled naturally, at least for the kinematic constraints involved in a persistent point contact.

To treat a nonholonomic system with friction, it is also necessary to make clear the correlations between the components of the real contact force and the Lagrangian multipliers introduced into the dynamical equations. Otherwise, one may be confused by the matter of how to embed the FCs into the dynamical equations, and of how to distinguish the possible switches between the FCs and the VCs. Pfeiffer and Glocker [1, 12] presented a uniform framework as a linear complementarity problem (LCP) to handle the possible variations of contact-induced constraints. Based on Jourdain’s variational principle, those authors treated the nonholonomic system with friction by directly specifying the undetermined multipliers equivalent to the components of the real contact force. In this paper, we will show that the Lagrange multipliers just correspond to the components of the real contact force decomposed into a dual frame of the coordinate system used for defining the equations of constraints.

The rest of this paper is organized as follows. In Sect. 2, we first classify the contact patterns involved in a persistent point contact, then present two general geometric conditions that should be commonly satisfied in the contact motion. In Sect. 3, we base the general geometric conditions to derive the equation of GCs and the contact equations that give the clear relations between the generalized coordinates of the system and the location parameters. In Sect. 4, we discuss relative motion at the contact point and show how the evolution of location parameters affects the mathematical properties of VCs. In Sect. 5, we first establish the general dynamical equations of the system by characterizing the contact interaction as a pair of interaction forces, then follow the conventional procedure of analytical mechanics to formulate the dynamical equations via the method of Lagrange multipliers. Comparison between the two set of dynamical equations enables us to clarify the correlations between Lagrangian multipliers and real contact forces, and to explain the reason why Appell–Chetaev’s rule when treating nonholonomic constraints is naturally fulfilled. In Sect. 6, an example of a thin disk rolling on a horizontal rough plane is given to validate the presented method. We conclude and summarize the paper in Sect. 7.

2 Contact patterns and geometric conditions of a point contact

Let us designate \(\mathbf{q}=[q_{1}, \ldots, q_{n}]\) as the generalized coordinates describing the configuration of a multibody system free of contact. A persistent point contact holds between two bodies within the system. In this section, we will first present the definitions for the parameterization of geometric primitives, then classify possible contact patterns in the point contact, and finally establish their geometric conditions.

2.1 Parameterization of geometric primitives

Based on differential geometry [23], we have the following definitions.

Definition 1

A regular curve is the image of a \(C^{2}\) map \(f: \mathrm{U} \mapsto\mathbb{R}^{2}\) or \(\mathbb{R}^{3}\), where \(\mathrm{U}\) is an open subset of ℝ, and a point in \(\mathrm{U}\) is denoted by \(p \in\mathrm{U}\). The pair \((f, \mathrm{U})\) is called a parameterization of the curve in two or three dimensions, respectively.

It is clear that one parameter is needed to parameterize the body’s contour with a planar or spatial curve. The unit tangential vector of the parameterized curve can be defined as follows:

Definition 2

Denote \(f_{p}\) as the partial derivative of \(f\) with respect to \(p\). The unit tangential vector at a given point in a parameterized curve is \(\vec{{\tau}}_{p}=\frac{{f_{p}}}{\| f_{p}\|}\).

Similarly, we can adopt two parameters to parameterize a spatial surface according to the following definition.

Definition 3

A spatial surface in \(\mathbb{R}^{3}\) is a subset \(\mathrm{S} \subset\mathbb{R}^{3}\) such that for every point \(\mathrm{P}\in\mathrm{S}\), there exists an open subset \(\mathrm{S}_{\mathrm{P}}\) of S with the property that \(\mathrm{P}\in \mathrm{S}_{\mathrm{P}}\), where \(\mathrm{S}_{\mathrm{P}}\) is the image of a \(C^{2}\) map \(f: \mathrm{U} \mapsto\mathbb{R}^{3}\), where \(\mathrm{U}\) is an open subset of \(\mathbb{R}^{2}\), and a point of \(\mathrm{U}\) is denoted by \((p^{1}, p^{2}) \in\mathbb{R}^{2}\). The pair \((f, \mathrm{U})\) is called a parameterization of the surface.

The unit normal and tangential vectors of a spatial surface at a given point are defined as follows:

Definition 4

Denote by \(f_{p^{1}}\) and \(f_{p^{2}}\) the partial derivatives of \(f\) with respect to \(p^{1}\) and \(p^{2}\), respectively, and assume they are linearly independent at a given point. The unit tangential vectors to span the tangential plane at that particular point are defined as \(\vec{\boldsymbol{\tau}}_{p^{1}}=\frac {f_{p^{1}}}{\|f_{p^{1}}\|}\), \(\vec{\boldsymbol{\tau}}_{p^{2}}=\frac {f_{p^{2}}}{\|f_{p^{2}}\|}\).

It is worth noting that the unit vector \(\vec{\tau}_{p^{1}}\) may not be perpendicular to the unit vector \(\vec{\tau }_{p^{2}}\). Namely, \(\langle\vec{\tau}_{p^{1}}, \vec {\tau}_{p^{2}}\rangle\) is not necessary equal to zero, where \(\langle \cdot, \cdot\rangle\) denotes inner product.

No parameter is needed for a body with the contact contour shaped by a geometric point.

2.2 Contact patterns and contact frame

The contour shapes in the neighboring region near a contact point may be a geometric point (P), a planar or spatial curve (2C or 3C), or a spatial surface (S). By enumerating the possible combinations of the basic geometric entities, we classify the point contact into 7 patterns, designated respectively as: P–2C, P–3C, P–S, 2C–2C, 3C–3C, 3C–S, S–S. The pattern P–P is not considered in this paper because it has no implication to the study of this paper.

Suppose that the contour shapes of two contacting bodies, \(\mathrm{B}_{1}\) and \(\mathrm{B}_{2}\), are parameterized via the parameter sets \(\mathbf{u}_{1} = [u_{1,1}, \dots, u_{1,k_{1}}]\), \(\mathbf{u}_{2} = [u_{2,1}, \dots, u_{2,k_{2}}]\), where \(k_{1}\) and \(k_{2}\) denote the number of independent parameters of the two bodies, respectively, and \(0 \le k_{1}, k_{2} \le2\). We specify \(k_{2} \ge k_{1}\) for the ease of subsequent expressions.

Once the contours of the two contacting bodies have been parameterized, any point located on the surfaces of the two bodies, \(\mathrm{B}_{1}\) and \(\mathrm{B}_{2}\), can be distinguished by position vectors \({\vec{r}}_{i}(\mathbf{q},\mathbf{{u}}_{i},t)\), \(i=1,2\), relating to a prescribed reference coordinate system. The components of vectors \({\vec{r}}_{i}(\mathbf{q},\mathbf{{u}}_{i},t)\) under the prescribed reference frame are the known functions of \(\mathbf{q}\) and \(\mathbf{{u}}_{i}\). Accordingly, the tangential unit vectors, \({\vec{\tau}}_{i}^{j}(\mathbf{q},\mathbf{{u}}_{i},t)\), \(j=1,k_{i}\), for any point in the parameterized contours of the bodies \(\mathrm{B}_{1}\) and \(\mathrm{B}_{2}\) can also be known by the partial derivatives \(\partial{\vec {r}}_{i}(\mathbf{q},\mathbf{{u}}_{i},t)/\partial\mathbf{{u}}_{i}\), respectively.

Suppose that the contact at time \(t\) occurs at a space point P whose positions on the contours of body \(\mathrm{B}_{i}\) are identified by the surface parameters with values \(\mathbf{u}_{i}^{*}\). We denote by \(\mathbf{u}_{i}^{*}\) as the location parameters to help distinguish the contact point from other points on the contour of the \(i\)th contacting body. Clearly, the value of \(\mathbf{u}_{i}^{*}\) may change with the motion of the system.

As mentioned in the introductory section, constraints essentially play a role of reflecting the physical properties involved in a point contact interaction. To formulate the constraint equations with clear physical meaning, we need to define a specific coordinate frame called contact frame \(\mathrm{F}_{c}\). Here, the contact frame is basically defined according to the known tangential unit vectors \({\vec{\tau}}_{i}^{j}(\mathbf{q},\mathbf{{u}}^{*}_{i},t)\).

Definition 5

Contact frame \(\mathrm{F}_{c}\) is a local reference frame at the contact point, which consists of the unit vector triad, (\({\vec{e}_{1}}\), \({\vec{e}_{2}}\), \(\vec{{{e}}_{3}}\)), that is defined as follows:

For contact patterns P–S, 3C–S, and S–S, where \(k_{2}=2\) for body \(\mathrm{B}_{2}\), we choose the contact frame in such a way that \({\vec {e}_{1}}\) and \({\vec{e}_{2}}\) are always equal to \({\vec{\tau}}_{2}^{j}(\mathbf{q},\mathbf{u^{*}}_{2},t)\), \(j=1,2\), respectively, while \(\vec{{{e}}_{3}}=\frac{{\vec {\tau}}_{2}^{1}(\mathbf{q},\mathbf{u}^{*}_{2},t)\times{\vec{\tau }}_{2}^{2}(\mathbf{q},\mathbf{u}^{*}_{2},t)}{\|{\vec{\tau }}_{2}^{1}(\mathbf{q},\mathbf{u}^{*}_{2},t)\times{\vec{\tau }}_{2}^{2}(\mathbf{q},\mathbf{u}^{*}_{2},t)\|}\).

For contact patterns in two dimensions (P–2C, 2C–2C), in which \(k_{2}=1\) for \(\mathrm{B}_{2}\), we set \(\vec{e}_{1}= {\vec{\tau}}_{2}^{1}(\mathbf{q},\mathbf{u^{*}}_{2},t)\) and \({\vec{e}_{2}}\) equal to a constant unit vector \(\vec{k}\) which is perpendicular to the two-dimensional plane, and \(\vec{{{e}}_{3}} = {\vec {\tau}}_{2}^{1}(\mathbf{q},\mathbf{u}^{*}_{2},t) \times\vec{k}\).

Pattern P–3C is concerned with two GCs at the point contact. We define the contact frame by setting \(\vec {e}_{1}={\vec{\tau}}_{2}^{1}(\mathbf{q},\mathbf{u}^{*}_{2},t)\), while \(\vec{e}_{2}\) and \(\vec{e}_{3}\) are on the plane perpendicular to \(\vec{e}_{1}\).

For pattern 3C–3C, in which \(k_{1}=k_{2}=1\), we set \({\vec{e}_{1}}= {\vec{\tau}}_{2}^{1}(\mathbf{q},\mathbf{u}^{*}_{2},t)\), \({\vec{e}_{2}}= {\vec{\tau }}_{1}^{1}(\mathbf{q},\mathbf{u}^{*}_{2},t)\), and \({\vec{e}_{3}}= \frac{{\vec{e}_{1}} \times{\vec{e}_{2}}}{\| {\vec{e}_{1}} \times{\vec{e}_{2}}\|}\), respectively.

According to the above definition, unit vectors \({\vec {e}_{1}}\), \({\vec{e}_{2}}\), and \(\vec{{{e}}_{3}}\), in the contact frame may be not mutually orthogonal, yet there is at least one unit vector (or two unit vectors for pattern P–3C) perpendicular to the remaining ones relating to the tangential vectors \({\vec{\tau}}_{i}^{j}(\mathbf{q},\mathbf{{u}}_{i},t)\).

2.3 Geometric conditions in a point contact

There are two geometric conditions involved at a persistent point contact:

\(C_{1}\) :

The contours of both contacting bodies intersect each other in space.

\(C_{2}\) :

The tangential vectors of the contours at the contact point should be located on a common plane.

Condition \(C_{1}\) allows the two bodies to possibly contact each other, while the second condition \(C_{2}\) guarantees that the contact point is unique in space. Once the contours of the contacting bodies have been parameterized, we can express the above two geometric conditions mathematically.

Condition \(C_{1}\) leads to an obvious equality \({\vec {r}}_{2}(\mathbf{q},\mathbf{u}_{2}^{*},t)- {\vec{r}}_{1}(\mathbf{q},\mathbf{u}_{1}^{*},t)=\mathbf{0}\). The vector equality in the reference coordinate system reads

$$ \left \{ \textstyle\begin{array}{l} f_{1}(\mathbf{q},\mathbf{p}^{*},t)=0,\\ f_{2}(\mathbf{q},\mathbf{p}^{*},t)=0,\\ f_{3}(\mathbf{q},\mathbf{p}^{*},t)=0, \end{array}\displaystyle \right . $$
(1)

where \(\mathbf{p^{*}}(t)=[\mathbf{u}_{1}^{*}(t),\mathbf{u}_{2}^{*}(t)]\), aggregating the location parameters together.

Except for two-dimensional patterns P–2C and 2C–2C that just need two equations from condition \(C_{1}\), Eq. (1) provides three independent equations.

Condition \(C_{2}\) is closely associated with the local geometric properties of the contours of the two contacting bodies. Therefore, the equations deduced from condition \(C_{2}\) in one contact pattern may differ from those in another pattern.

Proposition 1

For patterns P–2C, P–3C, P– \(\mathrm{S,}\) and 3C–3C, the fulfillment of condition \(C_{1}\) means that condition \(C_{2}\) is automatically satisfied at the same time.

Proof

This conclusion is obvious for patterns P–2C, P–3C and P–S. In these patterns, the focused contour of the first body is a point, so the tangential directions of the second body starting from the contact point must be located on the tangential plane of the body itself. For pattern 3C–3C, each body has one tangential direction at the contact point. The two tangential directions at the same contact point span a unique tangential plane. Therefore, condition \(C_{2}\) holds automatically once condition \(C_{1}\) is satisfied. □

For the other patterns such as 2C–2C, 3C–S and S–S, condition \(C_{1}\) is insufficient to create a unique point in space so that condition \(C_{2}\) should be supplemented. Noting from \(C_{2}\) that the two contacting bodies should have a common tangential plane or a common tangential line at a contact point in three or two dimensional case, respectively, we can easily establish the following independent equations:

$$ \left \{ \textstyle\begin{array}{l@{\quad}l} \hbox{(for 2C--2C)} & f_{4}(\mathbf{q},\mathbf{p}^{*},t) =\vec {{{e}}_{3}} \cdot{\vec{\tau}}_{1}^{1}=0, \\ \hbox{(for 3C--S}) & f_{4}(\mathbf{q},\mathbf{p}^{*},t) = \vec {{{e}}_{3}}\cdot{\vec{\tau}}_{1}^{1} = 0, \\ \hbox{(for S--S)} & f_{4}(\mathbf{q},\mathbf{p}^{*},t) = \vec {{{e}}_{3}} \cdot{\vec{\tau}}_{1}^{1}= 0, \\ & f_{5}(\mathbf{q},\mathbf{p}^{*},t) = \vec{{{e}}_{3}}\cdot {\vec{\tau}}_{1}^{2}= 0, \\ \end{array}\displaystyle \right . $$
(2)

where \(\vec{{{e}}_{3}}\) is a unit vector in the contact frame \(\mathrm{F}_{c}\) defined on body \(\mathrm{B}_{2}\), while \({\vec {\tau}}_{1}^{1}\) and \({\vec{\tau}}_{1}^{2}\) are the tangential unit vectors of body \(\mathrm{B}_{1}\) at the contact point.

Equations (1) and (2) are independent because they are derived from different geometric conditions. Denote by \(m\) the total number of equations in (1) and (2), which is always bigger than \(k\), the number of entries in the set of location parameters \(\mathbf{p}^{*}\). Table 1 summaries the values of \(m\) and \(k\) involved in each contact pattern. The difference between \(m\) and \(k\) corresponds to the number of the eliminated degree of freedom, \(\nu=m-k\), due to the persistent contact interaction. Namely, a persistent point contact generates \(\nu\) independent geometric constraints.

Table 1 The numbers of the constraint equations and parameters in each contact pattern

3 Geometric constraints

Available equations of GCs should be explicit functions just depending on configuration variable \(\mathbf{q}\) and/or time \(t\), so that the explicit relations between \(\mathbf{q}\) and \(\mathbf{p}^{*}\) should be given. Let us select \(k\) equations among the \(m\) independent equations derived from the two geometric conditions. In order to simplify the following deduction, we denote that \(\mathbf{p}^{*}(t) = \mathbf{p}^{*}(\mathbf{q}, t)\), and rearrange the \(k\) equations into the following forms:

$$ \left \{ \textstyle\begin{array}{l} f_{1}(\mathbf{q},\mathbf{p}^{*}(\mathbf{q},t),t) =0, \\ \vdots\\ f_{k}(\mathbf{q},\mathbf{p}^{*}(\mathbf{q},t),t) =0. \end{array}\displaystyle \right . $$
(3)

Differentiating Eq. (3) with respect to \(t\) leads to

$$ \frac{\partial f_{i}}{\partial\mathbf{q}} {\dot{\mathbf {q}}} + \frac {\partial f_{i}}{\partial\mathbf{p}^{*}} {\dot{\mathbf {p}}^{*}} + \frac {\partial f_{i}}{\partial t} =0,\quad i=1,\ldots,k. $$
(4)

Rewrite it in a matrix form as

$$ \mathbf{f}_{,\mathbf {q}} \dot{\mathbf{q}} + \mathbf{J} \dot{\mathbf {p}}^{*} +\mathbf{f}_{,t} =\mathbf{0}, $$
(5)

where

$$ \mathbf{f}_{,\mathbf {q}}= \left[ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \frac{\partial f_{1}}{\partial q_{1}} & \cdots & \frac{\partial f_{1}}{\partial q_{n}} \\ \vdots & \ddots & \vdots \\ \frac{\partial f_{k}}{\partial q_{1}} & \cdots & \frac{\partial f_{k}}{\partial q_{n}} \end{array}\displaystyle \right]_{k \times n}, \quad\quad \mathbf{J}= \left[ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \frac{\partial f_{1}}{\partial p_{1}^{*}} & \cdots & \frac{\partial f_{1}}{\partial p_{k}^{*}} \\ \vdots & \ddots & \vdots \\ \frac{\partial f_{k}}{\partial p_{1}^{*}} & \cdots & \frac{\partial f_{k}}{\partial p_{k}^{*}} \end{array}\displaystyle \right]_{k \times k}, $$

and \(\mathbf{f}_{,t} = [\frac{\partial f_{1}}{\partial t}, \dots, \frac {\partial f_{k}}{\partial t}]^{T}\). If \(\mathbf{J}\) is of full rank, we go on to get

$$ \dot{\mathbf {p}}^{*}(t)= - \mathbf{J}^{-1} ( \mathbf{f}_{,\mathbf {q}} \dot{\mathbf{q}} + \mathbf{f}_{,t} ). $$
(6)

As the initial values of \(\mathbf{p}^{*}(\mathbf{q}, t_{0})\) are specified in advance, the evolution of the location parameters \(\mathbf{p}^{*}(\mathbf{q},t)\) with respect to \(\mathbf {q}\) is governed by

$$ {\mathbf {p}}^{*}(\mathbf{q},t)= {\mathbf {p}}^{*}( \mathbf{q},t_{0}) - \int _{t_{0}}^{t} \mathbf{J}^{-1} ( \mathbf{f}_{,q} \dot{\mathbf{q}} + \mathbf{f}_{,t} )\,dt. $$
(7)

Once \({\mathbf {p}}^{*}(\mathbf{q},t)\) is obtained from (7), it can be substituted into the remaining \(\nu\) equations to formulate the GCs involved at a point contact.

Proposition 2

A point contact results in \(\nu\) independent geometric constraint equations,

$$ g_{c}^{j}(\mathbf{q}, t) \equiv f_{k+j}\bigl(\mathbf{q},\mathbf{p}^{*}(\mathbf{q},t), t\bigr)=0, \quad j=1,\dots,\nu. $$
(8)

Proof

Recognizing that the two contact conditions \(C_{1}\) and \(C_{2}\) should be always satisfied along with the contact motion, the conclusion follows. □

Except for pattern P–3C (a point moving along a spatial curve suffers from two independent geometric constraints), all other contact patterns provide one independent geometric constraint equation, agreeing with the statement given by Pars [13].

Clearly, Eq. (8) can take explicit expressions to the generalized coordinates of the system only if the relationship between \({\mathbf {p}}^{*}\) and \({\mathbf {q}}\) has a closed form. Otherwise, the equations are implicit since the values of the location parameters must be numerically obtained in advance. In the subsequent section, we will show that the GCs can be equivalently replaced by associated first order differential forms.

4 Kinematical constraints

Depending on the motion state of the contact point, either VCs or FCs should be provided to limit the tangential motion at the contact point. Usually, VCs originate from the following physical condition: the relative velocity at the contact point between two bodies vanishes. We will demonstrate that this condition also admits the first order differential forms of the GCs.

From the common knowledge of kinematics, the absolute velocity of the contact point labeled by location parameters \(\mathbf{{u}}_{i}^{*}\) in the \(i\)th body can be defined in the prescribed reference coordinate system as

$$ \vec{v}_{i}^{\mathbf{{u}}_{i}^{*}}( \mathbf{q}, \dot{\mathbf{q}},t) =\sum_{l=1}^{n} \frac{\partial\vec{r}_{i}(\mathbf{q}, \mathbf{{p}}^{*}, t)}{\partial q_{l}}\dot{q}_{l} +\frac{\partial\vec{r}_{i}(\mathbf{q}, \mathbf{{p}}^{*}, t)}{\partial t},\quad i=1,2. $$
(9)

It is worth noting that location parameters \(\mathbf{{p}}^{*}\), when computing \(\vec{v}_{i}^{\mathbf{{u}}_{i}^{*}}(\mathbf{q}, \dot{\mathbf{q}}, t)\), are not time-dependent variables. The relative velocity \(\vec{v}_{c}^{\mathbf{{p}}^{*}}(\mathbf{q}, \dot{\mathbf{q}}, t)\) at the contact point for body \(\mathrm{B}_{2}\) relative to body \(\mathrm{B}_{1}\) is given by

$$\begin{aligned} \vec{v}_{c}^{\mathbf{{p}}^{*}}( \mathbf{q}, \dot{\mathbf{q}}, t) =& \vec{v}_{2}^{\mathbf{{u}}_{2}^{*}}( \mathbf{q}, \dot{\mathbf{q}}, t)- \vec{v}_{1}^{\mathbf{{u}}_{1}^{*}}( \mathbf{q}, \dot{\mathbf{q}}, t) \\ =&\sum_{l=1}^{n} \biggl\{ \frac{\partial\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)}{\partial q_{l}}- \frac{\vec{r}_{1}(\mathbf{q}, \mathbf{{p}}^{*}, t)}{\partial q_{l}} \biggr\} \dot{q}_{l} + \frac{\partial\vec{r}_{2}(\mathbf{q}, \mathbf{p}^{*}, t)}{\partial t}- \frac{\vec{r}_{1}(\mathbf{q}, \mathbf{p}^{*}, t)}{\partial t}. \end{aligned}$$
(10)

To expose the relations between \(\vec{v}_{c}^{\mathbf{{p}}^{*}}(\mathbf{q}, \dot{\mathbf{q}}, t)\) and the differential forms of the GCs, let us first recall the contact condition \(C_{1}\), where the equality \(\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t) - \vec{r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t) =\mathbf{0}\) always holds in a persistent point contact. Its total derivative with respect to time can be written as

$$ \biggl\{ \frac{\partial\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)}{\partial\mathbf{{p}}^{*}}- \frac{\vec {r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t)}{\partial\mathbf{{p}}^{*}} \biggr\} \dot{\mathbf {p}}^{*} +\vec{v}_{c}^{\mathbf{{p}}^{*}}( \mathbf{q}, \dot{\mathbf{q}}, t) =\mathbf{0}. $$
(11)

The first term on the left-hand side of Eq. (11) is related to \(\dot{\mathbf{p}}^{*}\) governed by (6), while the second term is just the relative velocity \(\vec{v}_{c}^{\mathbf{{p}}^{*}}(\mathbf{q}, \dot{\mathbf{q}}, t)\) needed for defining the VCs possibly involved in the motion of a persistent contact point.

The GCs concern another geometric condition \(C_{2}\) relating to the unit vectors of the contact frame. In this frame \(\mathrm{F}_{c}\), the velocity vector \(\vec{v}_{c}^{\mathbf{{p}}^{*}}(\mathbf{q}, \dot{\mathbf{q}}, t)\) can be expressed as

$$ \vec{v}_{c}^{\mathbf{{p}}^{*}}( \mathbf{q}, \dot{\mathbf{q}}, t) = v_{c}^{\mathbf{{p}}^{*},1}(\mathbf{q}, \dot{\mathbf{q}}, t)\vec{e}_{1} + v_{c}^{\mathbf{{p}}^{*},2}( \mathbf{q}, \dot{\mathbf{q}}, t)\vec{e}_{2} + v_{c}^{\mathbf{{p}}^{*},3}(\mathbf{q}, \dot{\mathbf{q}}, t) \vec{e}_{3}, $$
(12)

where \(\vec{e}_{i}\) is the unit vector of the contact frame \(\mathrm{F}_{c}\) as defined in Sect. 2.

We will show that the components \(v_{c}^{\mathbf{{p}}^{*},i}(\mathbf{q}, \dot{\mathbf{q}}, t)\), \(i=1,2,3\), are appropriate quantities convenient to the definitions of both GCs and VCs.

Proposition 3

Suppose that a contact pattern has \(\nu\) equations of the GCs as shown in Eq. (8). Those GCs have equivalent differential forms relating to the specific components of \(\vec{v}_{c}^{\mathbf{{p}}^{*}}(\mathbf{q}, \dot{\mathbf{q}}, t)\) under the contact frame \(\mathrm{F}_{c}\), and the kinematic constraints must be holonomic.

Proof

The geometric condition \(C_{1}\) enables Eq. (11) to always hold at a persistent contact point. For the \(\vec{e}_{j}\) relating to the \(\nu\) equations of the GCs, we immediately have

$$ \biggl\{ \frac{\partial\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)}{\partial\mathbf{{p}}^{*}} \cdot \vec{e}_{j}- \frac {\vec{r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t)}{\partial\mathbf{{p}}^{*}} \cdot\vec{e}_{j} \biggr\} \dot{\mathbf {p}}^{*} +v_{c}^{\mathbf{{p}}^{*},j}(\mathbf{q}, \dot{\mathbf{ q}}, t) =0. $$
(13)

From the geometric condition \(C_{2}\) in GCs, we know that the \(\nu\) unit vectors in the contact frame \(\mathrm{F}_{c}\) are always perpendicular to the tangential plane spanned by vectors \(\frac{\partial\vec {r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)}{\partial\mathbf{{p}}^{*}}\) and \(\frac{\partial\vec{r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t)}{\partial\mathbf{{p}}^{*}}\). Namely, for those \(\nu\) unit vectors \(\vec{e}_{j}\) we have

$$\frac{\partial\vec{r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t)}{\partial\mathbf{{p}}^{*}} \cdot\vec{e}_{j} =0\quad\mbox{and}\quad \frac{\partial\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)}{\partial\mathbf{{p}}^{*}} \cdot\vec{e}_{j} =0. $$

Relating to the \(\nu\) unit vectors \(\vec{e}_{j}\), Eq. (13) becomes

$$ \frac{d[(\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)-\vec{r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t))\cdot \vec{e}_{j} ]}{dt} = v_{c}^{\mathbf{{p}}^{*},j}(\mathbf{q}, \dot{\mathbf{q}}, t)=0. $$
(14)

Noting that this equality, \(v_{c}^{\mathbf{{p}}^{*},j}(\mathbf{q}, \dot{\mathbf{q}}, t) =0\), is deduced from the geometric conditions \(C_{1}\) and \(C_{2}\) used for defining the GCs, we can say that Eq. (14) is the differential form of the GCs given by Eq. (8).

Conversely, we need to prove that the integration of the kinematic constraint, \(v_{c}^{\mathbf{{p}}^{*},j}(\mathbf{q}, \dot{\mathbf{q}}, t)=0\), indeed agrees with the equations of GCs defined by Eq. (8). Suppose that the motion state of the system at time \(t_{0}\) is given by \((\mathbf{q}(t_{0}), \dot{\mathbf{q}}(t_{0}))\), and the location parameters take values \(\mathbf{{p}}^{*}(t_{0})\). According to Proposition 2, the relations between \(\mathbf{{p}}^{*}(t_{0})\) and \(\mathbf{q}(t_{0})\) are governed by the two geometric conditions \(C_{1}\) and \(C_{2}\). Namely, we have

$$ \bigl(\vec{r}_{2} \bigl(\mathbf{q}(t_{0}), \mathbf{{p}}^{*}(t_{0}),t_{0} \bigr)-\vec{r}_{1}\bigl(\mathbf{q}(t_{0}), \mathbf{{p}}^{*}(t_{0}),t_{0}\bigr)\bigr)\cdot\vec{e}_{j}(t_{0}) = 0. $$
(15)

When the motion state of the system changes to \((\mathbf{q}(t), \dot{\mathbf{q}}(t))\), the location parameters may also change to arrive at values \(\mathbf{{p}}^{*}(t)\). We would mention that \(\mathbf{{p}}^{*}(t)\) is generally a function with respect to \(\mathbf{{q}}(t)\). Note that the defined kinematic constraint satisfies a property that the differential relation shown in Eq. (14) does not change with the evolution of \(\mathbf{{p}}^{*}(t)\). The integration of the kinematic constraints under the initial condition given by Eq. (15) can be expressed as follows:

$$ \int_{t_{0}}^{t} v_{c}^{\mathbf{{p}}^{*},j}( \mathbf{q}, \dot{\mathbf{q}}, t)= \bigl(\vec{r}_{2}\bigl( \mathbf{q}(t), \mathbf{{p}}^{*}(t),t\bigr)-\vec{r}_{1}\bigl( \mathbf{q}(t), \mathbf{{p}}^{*}(t),t\bigr)\bigr)\cdot\vec{e}_{j}(t) = 0. $$
(16)

Fulfillment of Eq. (16) means that the two geometric conditions are satisfied. Therefore, we can say that the kinematic constraint is holonomic and equivalent to the GCs. □

Proposition 3 can be explained from the viewpoint of physics. Due to the rigid assumption in describing the contact interaction, no penetration occurs between two contacting bodies along the normal direction defined in the contact frame \(\mathrm{F}_{c}\). Therefore, the relative displacement and velocity along that direction should be always equal to zero.

Based on the above analysis, we can say that a persistent point contact may concern at most three independent kinematic constraints uniformly defined by \(\vec{v}_{c}^{\mathbf{{p}}^{*}}(\mathbf{q}, \dot{\mathbf{q}}, t)\). In order to clearly expose the physical meaning underlying the defined kinematic constraints, we usually need to define the equations of the constraint in the contact frame, namely

$$ \left \{ \textstyle\begin{array}{l} v_{c}^{\mathbf{{p}}^{*},1}(\mathbf{q}, \dot{\mathbf{q}}, t)=0,\\ v_{c}^{\mathbf{{p}}^{*},2}(\mathbf{q}, \dot{\mathbf{q}}, t)=0,\\ v_{c}^{\mathbf{{p}}^{*},3}(\mathbf{q}, \dot{\mathbf{q}}, t)=0. \end{array}\displaystyle \right . $$
(17)

As we have demonstrated above, the GCs, as they manifest themselves into the first order differential forms, are holonomic in the sense of mathematics. However, the mathematical properties involved in the VCs depend on the contact pattern, as well as the evolution of the location parameters. We illustrate this point by the following proposition.

Proposition 4

Suppose that there are \(l\) equations of VCs involved in Eq. (17). The VCs are

  1. (i)

    holonomic in the contact patterns P–2C, P–3C, and P–S;

  2. (ii)

    either holonomic or nonholonomic in the contact patterns 2C–2C, 3C–S, 3C–3C, and S–S, depending on the evolution of the location parameters.

Proof

Note that Eq. (11) always holds at a persistent contact point. As the \(l\) equations of the VCs hold at the contact point, along with the \(l\) unit vectors in the contact frame we have the following equations:

$$ \biggl\{ \frac{\partial\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)}{\partial\mathbf{{p}}^{*}} \cdot \vec{e}_{j}- \frac {\vec{r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t)}{\partial\mathbf{{p}}^{*}} \cdot\vec{e}_{j} \biggr\} \dot{\mathbf{p}}^{*}= 0. $$
(18)

Since \(\vec{r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t)\) and \(\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)\) are separately related to the location parameters \(\mathbf{u}_{1}^{*}\) and \(\mathbf{u}_{2}^{*}\) of each body, respectively, the above equation can be rewritten as

$$ \biggl(\frac{\partial\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)}{\partial\mathbf{u}_{2}^{*}} \cdot \vec{e}_{j} \biggr) \dot{\mathbf {u}}_{2}^{*} = \biggl( \frac{\partial\vec{r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t)}{\partial\mathbf{u}_{1}^{*}} \cdot\vec {e}_{j} \biggr)\dot{\mathbf {u}}_{1}^{*}. $$
(19)

Fulfillment of Eq. (19) means that the location parameters \(\mathbf{u}_{1}^{*}\) and \(\mathbf{u}_{2}^{*}\) may vary simultaneously with time, depending on the contact pattern and the motion state of the system.

For contact patterns P–2C, P–3C, and P–S, we always have \(\dot{\mathbf {u}}_{1}^{*} =0\) so that \(\dot{\mathbf {u}}_{2}^{*} =0\). This means that the location parameters in those patterns should take constant values when the VCs appear in the motion of the contact point. In terms of Eq. (11), we can get

$$ \frac{d(\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)-\vec{r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t))}{dt}= \vec{v}_{c}^{\mathbf{{p}}^{*}}(\mathbf{q}, \dot{\mathbf{q}}, t) = \mathbf{0}. $$
(20)

Because \(\mathbf{{p}}^{*}\) is just a function with respect to \(\mathbf{{q}}\) (see Proposition 2), we easily know that the VCs in those contact patterns should be holonomic.

When the VCs exist in patterns 2C–2C, 3C–S, 3C–3C, and S–S, it is clear that, if the location parameters remain unchanged in the motion of the system, the VCs will be holonomic. Otherwise, both \(\mathbf{u}_{1}^{*}\) and \(\mathbf{u}_{2}^{*}\) should change simultaneously, and follow the relations given by Eq. (19). Indeed, the VCs become nonholonomic just due to the simultaneous evolution of the location parameters. Let us explain this point as follows.

Since location parameters \(\mathbf{p}^{*}\) are just the functions of the generalized coordinates \(\mathbf{q}\) of the system, the terms on the left hand side of Eq. (18) can be equivalently represented by a function as \(N_{h}^{j}(\mathbf{q}, \dot{\mathbf{q}},t)\). In terms of Eq. (11), we have

$$ \frac{d[(\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)-\vec{r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t))\cdot \vec{e}_{j} ]}{dt} = N_{h}^{j}(\mathbf{q}, \dot{\mathbf{q}},t) + v_{c}^{\mathbf{{p}}^{*},j}(\mathbf{q}, \dot{\mathbf{q}}, t)=0. $$
(21)

It is clear that the defined kinematic constraints VCs are non-integrable due to the presence of the term \(N_{h}^{j}(\mathbf{q}, \dot{\mathbf{q}},t)\), which is necessary for the complete differential form of a function defined in the configuration space of the system. □

When all of the VCs involved in a persistent contact point are holonomic, the two bodies stick at a point fixed in their contours, even though the contact point may move in space due to the motion of the two contacting bodies. In this case, the contact point seems to be a joint adjoining the two contacting bodies together, so only geometric constraints are needed to limit the motion of the system. The GCs can be equivalently expressed in the differential forms as Eq. (17) shows. Nonholonomic VCs will appear as the location parameters varying with time. However, the relations governing the evolution of the location parameters successfully expose the geometric property underlying the nonholonomic VCs.

Proposition 5

The nonholonomic VCs satisfy geometric properties as follows: the tangent of the trajectory traced by the contact point on the contour of one body is always aligned with that on the contour of the other body, and the speeds of the arc lengths of the two trajectories are equal.

Proof

When nonholonomic VCs exist at a persistent contact point, the evolution of the location parameters follows the relations shown in Eq. (19). Note that the location parameters can generally be expressed as functions of the generalized coordinates of the system. Therefore, Eq. (19) is integrable so that there is geometric meaning underlying the nonholonomic constraints. □

Proposition 5 can be demonstrated by a simple example of a planar disk with a purely rolling motion, which is related to contact pattern 2C–2C. It is well known that the VC in this contact pattern is associated with an arc-length equation when an arc-length parameter is used to define the contour of the disk.

If \(\vec{v}_{c}(\mathbf{q}, \dot{\mathbf{q}}, \mathbf{{p}}^{*}, t) \neq\mathbf{0}\), VCs should be replaced by FCs in order to characterize the sliding friction at the contact point. The formulation of the FCs depends on the constitutive law of sliding friction.

5 Dynamical equations

In this section, we discuss how to model the dynamics of systems subject to a point-contact interaction by employing d’Alembert–Lagrangian principle (DLP). The general equations of the dynamics of the system are first established by characterizing the physical interaction at the contact point as a pair of interaction forces. As kinematic constraints are available in the system, we employ the method of Lagrange multipliers to establish the dynamical equations of the system. Comparison between the equations derived from different methods enables us to explain why the Appell–Chetaev’s rule holds in a natural fashion, and to clarify the correlations between the Lagrangian multipliers and the real contact force. The Coulomb’s friction law will be adopted to define the force-dependent constraint equations.

5.1 General dynamical equations established by DLP

Suppose that \(L=L(\mathbf{q}(t), \dot{\mathbf{q}}(t),t)\) is the Lagrangian function of a contact system, and \(Q_{i}\) is the generalized force by mapping the external forces into the curvilinear coordinates related to the configuration space \(\mathbf{q}\). The internal forces involved in the point contact can be characterized as a pair of interaction forces. Designate by \({\vec{F}}\) the contact force applied at the contact point labeled by location parameters \(\mathbf{{u}}^{*}_{2}\) on the contour of body \(\mathrm{B}_{2}\), while \(-\vec{F}\) is the reaction force acting on body \(\mathrm{B}_{1}\) at the contact point denoted by location parameters \(\mathbf{{u}}^{*}_{1}\).

When DLP is employed to establish the dynamical equations of the system, we need to compute the virtual work done by the pair of the interaction forces. This requires the virtual displacements relating to the point of the action of the pair of forces, which are given by

$$ \left \{ \textstyle\begin{array}{l} \delta{\vec{r}}_{1} (\mathbf{q},\mathbf{{u}}^{*}_{1},t ) = \sum _{j=1}^{n} \frac{\partial\vec{r}_{1}(\mathbf{q},\mathbf{{u}}^{*}_{1},t)}{\partial q_{j}} \delta q_{j}, \\ \delta{\vec{r}}_{2} (\mathbf{q},\mathbf{{u}}^{*}_{2},t ) = \sum_{j=1}^{n} \frac{\partial\vec{r}_{2}(\mathbf{q},\mathbf{{u}}^{*}_{2},t)}{\partial q_{j}} \delta q_{j}. \end{array}\displaystyle \right . $$
(22)

The virtual work done by the pair of the internal forces involved in the contact point can then be written as

$$ \delta w = \sum _{j=1}^{n} \vec{F}\cdot \biggl( \frac{\partial \vec{r}_{2}(\mathbf{q},\mathbf{{u}}^{*}_{2},t)}{\partial q_{j}}-\frac {\vec{r}_{1}(\mathbf{q},\mathbf{{u}}^{*}_{1},t)}{\partial q_{j}} \biggr) \delta q_{j}. $$
(23)

In terms of the definition of the relative velocity, as Eq. (10) shows, we know that the following equalities always hold:

$$ \sum_{j=1}^{n} \biggl( \frac{\partial\vec{r}_{2}(\mathbf{q},\mathbf{{u}}^{*}_{2},t)}{\partial q_{j}}-\frac{\vec {r}_{1}(\mathbf{q},\mathbf{{u}}^{*}_{1},t)}{\partial q_{j}} \biggr) \delta q_{j} = \sum _{j=1}^{n} \frac{\partial\vec{v}_{c}^{\mathbf{{p}}^{*}}(\mathbf{q},\dot{\mathbf{q}},t)}{\partial\dot{q}_{j}} \delta q_{j}. $$
(24)

Substituting Eq. (24) into Eq. (23) leads to

$$ \delta w = \sum _{j=1}^{n} \vec{F}\cdot\frac{\partial \vec{v}_{c}^{\mathbf{{p}}^{*}}(\mathbf{q},\dot{\mathbf{q}},t)}{\partial\dot{q}_{j}} \delta q_{j}. $$
(25)

Suppose that vector \(\vec{v}_{c}^{\mathbf{{p}}^{*}}(\mathbf{q},\dot{\mathbf{q}},t)\) is decomposed in the contact frame \(\mathrm {F}_{c}\), whose basis is a triplet of unit vectors that are not necessary mutually orthogonal. Define a dual coordinate system \(\overline{\mathrm {F}}_{c}: ({\vec{m}}_{c}^{1}, {\vec{m}}_{c}^{2}, {\vec{m}}_{c}^{3})\), in association with the contact frame \(\mathrm{F}_{c}\). Namely,

$$ {\vec{m}}_{c}^{i} \cdot \vec{e}_{c}^{j} = \delta_{ij} = \left \{ \textstyle\begin{array}{l@{\quad}l} 1,& i=j, \\ 0,& i\neq j. \end{array}\displaystyle \right . $$
(26)

Decompose the vector of the contact force in the dual coordinate system as

$$ \vec{F}=F_{1}\vec{m}_{c}^{1}+F_{2} \vec {m}_{c}^{2}+F_{3} \vec{m}_{c}^{3}. $$
(27)

By (25), (26) and (27), we immediately have

$$ \delta w = \sum _{j=1}^{n} \biggl(F_{1}\frac{\partial v_{c}^{\mathbf{{p}}^{*},1}(\mathbf{q}, \dot{\mathbf{q}}, t)}{\partial\dot{q}_{j}} + F_{2}\frac{\partial v_{c}^{\mathbf{{p}}^{*},2}(\mathbf{q}, \dot{\mathbf{q}}, t)}{\partial\dot{q}_{j}} + F_{3}\frac{\partial v_{c}^{\mathbf{{p}}^{*},3}(\mathbf{q}, \dot{\mathbf{q}}, t)}{\partial\dot{q}_{j}} \biggr) \delta q_{j}. $$
(28)

By adjoining the virtual work given by (28) into the Lagrangian function of the system, we get

$$ \frac{d}{dt} \biggl( \frac{\partial L}{\partial\dot{q}_{i}} \biggr)- \biggl(\frac{\partial L}{\partial q_{i}} \biggr) = Q_{i}+ \sum_{j=1}^{3}\frac {\partial v_{c}^{\mathbf{{p}}^{*},j}(\mathbf{q}, \dot{\mathbf{q}}, t)}{\partial\dot{q}_{i}}F^{j}, \quad i=1, \dots, n. $$
(29)

Equation (29) represents the general equations of a Lagrangian system within which two bodies are subject to a persistent point contact interaction. Nevertheless, the equations are not in closed forms because the components \(F^{j}\) are not furnished. To make Eq. (29) solvable, we need to provide either constitutive laws or constraint equations responsible for the evolution of the interaction force.

5.2 Dynamical equations formulated by introducing constraints

As constraints are introduced to model contact interactions, one needs to deal with two critical issues in the solution of DLP systems [8, 9]. First, the generalized coordinates are no longer all independent since they are connected by the equations of a constraint. In the case of given equations of a constraint with nonintegrable differential forms, it is still a contentious issue of how to define the limitations to the dependent coordinates. Second, the physical meaning underlying the Lagrange multipliers is unclear because these multipliers just play a role, in the mathematical sense, of adjoining the equations of constraints into the dynamics. To give answers to the issues, let us first establish the dynamical equations of a constrained system by following the conventional procedure in analytical mechanics.

Suppose that the considered system is subject to the kinematic constraints specified by Eq. (17). Those equations of the constraint in first order differential forms may be holonomic or nonholonomic. According to the Appell–Chetaev’s rule, the limitation equations to the virtual displacements arising from Eq. (17) are as follows:

$$ \sum_{l=1}^{n} \frac{\partial v_{c}^{\mathbf{{p}}^{*},j}(\mathbf{q}, \dot{\mathbf{q}}, t)}{\partial\dot{q}_{l}} \delta q_{l} = 0, \quad j=1,\dots , 3. $$
(30)

This equation can be thought of as a DLP-condition that enables us to yield the dynamic equation of the system by introducing three Lagrangian multipliers \(\lambda^{j}\). The Lagrangian formalism of such a system is thus written as

$$ \frac{d}{dt} \biggl( \frac{\partial L}{\partial\dot{q}_{i}} \biggr)- \biggl(\frac{\partial L}{\partial q_{i}} \biggr) = Q_{i}+ \sum_{j=1}^{3}\frac {\partial v_{c}^{\mathbf{{p}}^{*},j}(\mathbf{q}, \dot{\mathbf{q}}, t)}{\partial\dot{q}_{i}} \lambda^{j}, \quad i=1, \dots, n, $$
(31)

where the evolution of Lagrange multiplier \(\lambda^{j}\) complies with the equations of constraint given by Eq. (17).

A comparison between Eqs. (29) and (31) shows an anticipated result: They take the same form although they are derived from different methods of characterizing the physical interaction at the contact point. This enables us to answer, by the following proposition, the second issue, namely, what is the physical meaning underlying the Lagrangian multipliers.

Proposition 6

If the motion of a persistent contact point can be modeled as the kinematic constraints given by Eq. (17), the introduced Lagrange multipliers just correspond to the components of the real contact force decomposed in the dual frame of the contact frame \({\mathrm{F}}_{c}\) used for defining those equations of the constraints.

The equivalence between Eqs. (29) and (31) also suggests that the Appell–Chetaev’s rule can be accepted naturally. Nevertheless, it is worth noting that there is a tiny difference between the derivation of the two equations. Equation (29) is derived by the virtual work done by the pair of interaction forces multiplying the virtual displacement with relations as Eq. (24) shows, while Eq. (31) is deduced via Lagrange multipliers adjoining Eq. (30) established via the Appell–Chetaev’s rule. The question out of Appell–Chetaev’s rule is why Eq. (30) cannot be obtained by directly performing variational calculus on the nonholonomic constraints. To clarify this point, we need to understand how the evolution of the location parameters affects the mathematical properties of the kinematic constraints.

In terms of Proposition 4, if the constraint, \(v_{c}^{\mathbf{{p}}^{*},j}(\mathbf{q}, \dot{\mathbf{q}}, t)=0\), is irrelevant to the evolution of the location parameters, \(\mathbf{{p}}^{*}\), the constraint is holonomic, since its integration can be achieved in a form \((\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)-\vec {r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t)) \cdot\vec{e}_{j} =0\). Therefore, conventional calculus of variations can be imposed on holonomic constraints to naturally result in Appell–Chetaev’s rule.

To understand the fulfillment of Appell–Chetaev’s rule in nonholonomic constraints, we need to expose the displacement limitation involved in the system’s configuration. For the system subject to a persistent point contact, the configuration of the system is limited by the geometric condition \(C_{1}\), namely, \(\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)-\vec{r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t) =0\). Based on the rule of conventional calculus of variations, we can get from the geometric limitation the following identity:

$$ \sum_{l=1}^{n} \frac{\partial (\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)-\vec{r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t) )}{\partial q_{l}} \delta q_{i} + \frac{\partial (\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)-\vec {r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t) )}{\partial\mathbf{{p}}^{*}} \delta \mathbf{{p}}^{*} =\mathbf{0}. $$
(32)

It is worth noting that, if constraint equations defined by Eq. (17) are admitted in the system, the second term on the left hand side of Eq. (32) must automatically disappear due to Proposition 5. Namely, if Eq. (17) exists in the system, the limitation equations to the virtual displacements of the system always satisfy

$$ \sum_{l=1}^{n} \frac{\partial (\vec{r}_{2}(\mathbf{q}, \mathbf{{p}}^{*},t)-\vec{r}_{1}(\mathbf{q}, \mathbf{{p}}^{*},t) )}{\partial q_{l}} \delta q_{i} =\mathbf{0}. $$
(33)

Recalling Eq. (10) for the definition of \(\mathbf{v}_{c}^{\mathbf{{p}}^{*}}(\mathbf{q}, \dot{\mathbf{q}}, t)\), we can easily find that the coefficients before \(\delta q_{i}\) in Eqs. (30) and (33) are identical. Therefore, the first issue relating to the constrained systems, namely, how to define the limitation equations arising from kinematic constraints, can be answered by the following proposition.

Proposition 7

If the contact-induced constraints are defined as first order differential forms, Appell–Chetaev’s rule is fulfilled in a natural fashion no matter whether the kinematic constraints are holonomic or nonholonomic. The limitation equations specified by Appell–Chetaev’s rule correspond to the virtual displacement limitations inherent in the configuration constraints of the system. At the same time, the evolution of the location parameters must follow the properties exposed in Proposition  5.

5.3 Force-dependent constraints

It is worth noting that the general dynamical equations given by Eq. (29) always hold for a multibody system subject to a persistent point contact. As sliding friction appears at the contact point, we only need to provide a constitutive law for scaling the sliding friction force. Suppose that the point contact is in a pattern involved in \(\nu\) independent equations of GCs, and \(l\) independent equations of FCs. When the Coulomb’s friction law is used to characterize the FCs, we have the following equations defined at the level of force:

$$ \vec{F}^{\tau} = - \mu|\lambda^{n}| \frac{{\vec {v}}_{c}^{\tau}}{\|{\vec{v}}_{c}^{\tau}\|}, $$
(34)

where \(\mu\) is the coefficient of dynamic friction, minus ‘−’ implies that the friction force \(\vec{F}^{\tau}\) acting on body \(\mathrm{B}_{2}\) always takes the reverse direction of the relative tangential velocity \(\vec{v}_{c}^{\tau}\) of \(\mathrm{B}_{2}\) to \(\mathrm{B}_{1}\), and \(|\lambda^{n}|\) is the amplitude of the constraint force induced by the GCs. The value of \(|\lambda^{n}|\) can be obtained according to the Lagrangian multipliers \(\lambda_{j}\), \(j=1,\dots,\nu\), in association with the equations, \(v_{c}^{\mathbf{{p}}^{*},j}(\mathbf{q}, \dot{\mathbf{q}}, t)=0\), for the GCs. The \(l\) equations of FCs used to substitute the VCs are expressed as follows:

$$ \vec{F}^{\tau} = - \mu|\lambda^{n}| \frac{{\vec {v}}_{c}^{\tau}}{\|{\vec{v}}_{c}^{\tau}\|} = \sum_{j=1}^{l}F_{j} \vec{m}_{c}^{l}. $$
(35)

In summary, the dynamics of a Lagrangian system subject to a point contact is governed by Eq. (29), combined with \(\nu\) equations of GCs, and \(l\) equations of either VCs or FCs. The combination of these equations forms a set of differential–algebraic equations (DAEs) of index 2, which can be solved via various numerical schemes.

6 Analysis for the kinematics and dynamics of a rolling disk

In this section, we study the constraints and the dynamics of a thin disk contacting a horizontal rough surface. Although this is a classical example that have been comprehensively analyzed in many textbooks of classical mechanics, we will formulate its constraints and the dynamical equations following the procedure presented in this paper.

6.1 Basic description

Figure 1 shows a sketch of the example. Its kinematics is described by two coordinate system frames: an inertial coordinate frame \(\mathbf{R}=(O,\mathbf{i}, \mathbf{j}, \mathbf{k})\), fixed on the rough horizontal plane, and a frame \(\mathbf{R}_{B}=(B, \mathbf{e}_{1}, \mathbf{e}_{2}, \mathbf{e}_{3})\) fixed at the disk’s geometric center \(B\), positioned with coordinates \((q_{1},q_{2},q_{3})\) in \(\mathbf{R}\). Frame \(\mathbf{R}_{B}\) is obtained by subsequently rotating the frame \(\mathbf{R}\) over an Euler’s precession angle \(q_{4}\) and then over an Euler’s nutation angle \(q_{5}\). Unit vector \(\mathbf{e}_{3}\) is the axis of revolution of disk. Denote by \(q_{6}\) the revolution angle of the disk around axis \(\mathbf{e}_{3}\). The configuration of the disk can be fully described by six independent variables, \((q_{1}, q_{2}, q_{3}, q_{4}, q_{5}, q_{6})\). The transform matrix \(\mathbf{Q}\) between frames \(\mathbf{R}\) and \(\mathbf{R}_{B}\) is expressed as

$$\begin{aligned} \mathbf{Q} =&\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \mathrm{c}_{q_{4}} & -\mathrm{s}_{q_{4}} & 0\\ \mathrm{s}_{q_{4}} & \mathrm{c}_{q_{4}} & 0 \\ 0 & 0 & 1\\ \end{array}\displaystyle \right ] \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \mathrm{c}_{q_{5}} &0&\mathrm{s}_{q_{5}} \\ 0 & 1& 0 \\ -\mathrm{s}_{q_{5}} &0 &\mathrm{c}_{q_{5}} \end{array}\displaystyle \right ] \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \mathrm{c}_{q_{6}} & -\mathrm{s}_{q_{6}} & 0\\ \mathrm{s}_{q_{6}} & \mathrm{c}_{q_{6}} &0\\ 0 &0 &1 \end{array}\displaystyle \right ] \\ =&\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \mathrm{c}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{c}_{q_{6}}-\mathrm{s}_{q_{4}}\mathrm{s}_{q_{6}} & -\mathrm{c}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{s}_{q_{6}}-\mathrm{s}_{q_{4}}\mathrm{c}_{q_{6}} & \mathrm{c}_{q_{4}}\mathrm{s}_{q_{5}} \\ \mathrm{s}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{c}_{q_{6}} + \mathrm{c}_{q_{4}}\mathrm{s}_{q_{6}} & -\mathrm{s}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{s}_{q_{6}}+\mathrm{c}_{q_{4}}\mathrm{c}_{q_{6}} & \mathrm{s}_{q_{4}}\mathrm{s}_{q_{5}}\\ -\mathrm{s}_{q_{5}}\mathrm{c}_{q_{6}} & \mathrm{s}_{q_{5}}\mathrm{s}_{q_{6}} & \mathrm{c}_{q_{5}} \end{array}\displaystyle \right ], \end{aligned}$$
(36)

where \(\mathrm{c}_{(\cdot)}=\cos(\cdot)\) and \(\mathrm{s}_{(\cdot )}=\sin(\cdot)\), to simplify the expression.

Fig. 1
figure 1

A uniformly thin disk rolling on a rough plane

We denote the disk as body \(\mathrm{B}_{1}\) and the plane as \(\mathrm{B}_{2}\) in order to comply with the description that we always define the number of surface parameters in \(\mathrm{B}_{2}\) to be not less than those of \(\mathrm{B}_{1}\). Any point \(P\) on the circular contour of the disk can be distinguished using one parameter scaled by an angle \(\xi\) between the position vector \(\vec{r}_{BP}\) and vector \(\mathbf{e}_{1}\). Therefore, the position vector \(\vec {r}_{BP}\) in the frame \(\mathbf{R}_{B}\) is expressed as

$$ \vec{r}_{BP}=[\mathbf{e}_{1}, \mathbf{e}_{2}, \mathbf{e}_{3}] [Rc_{\xi}, Rs_{\xi}, 0]^{T}. $$
(37)

The position vector \(\vec{r}_{1}\) of the point \(P\) in inertial frame \(\mathbf{R}\) is

$$\begin{aligned} {\vec{r}}_{1} =& {\vec{r}}_{OB} + {\vec{r}}_{BP} = \bigl[q_{1} + R ( \mathrm{c}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{c}_{\beta }-\mathrm{s}_{q_{4}}\mathrm{s}_{\beta} ) \bigr]\mathbf{i} \\ &{}+ \bigl[q_{2} + R (\mathrm{s}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{c}_{\beta } + \mathrm{c}_{q_{4}}\mathrm{s}_{\beta} ) \bigr]\mathbf{j} + [q_{3} -R\mathrm{s}_{q_{5}}\mathrm{c}_{\beta} ]\mathbf{k}, \end{aligned}$$
(38)

where \(\beta= q_{6} + \xi\).

From (38), we can express the unit tangential vector at a point on the contour of the disk, in the inertial frame \(\mathbf{R}\), as

$$\begin{aligned} \vec{\tau}_{1}^{\xi} =& \frac{{\partial{\vec {r}}_{1}}/{\partial\xi}}{\parallel {\partial{\vec {r}}_{1}}/{\partial\xi} \parallel}= - (\mathrm{c}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{s}_{\beta}+\mathrm{s}_{q_{4}}\mathrm{c}_{\beta} )\mathbf{i} + (-\mathrm{s}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{s}_{\beta} + \mathrm{c}_{q_{4}}\mathrm{c}_{\beta} )\mathbf{j} -\mathrm{s}_{q_{5}}\mathrm{s}_{\beta}\mathbf{k}. \end{aligned}$$
(39)

Any point on the horizontal contact plane can be distinguished by a position vector \(\vec{r}_{2}\) with parameters \(\eta_{1}\) and \(\eta_{2}\) scaled in the frame \(\mathbf{R}\):

$$ \vec{r}_{2} =\eta_{1}\mathbf{i}+ \eta_{2}\mathbf{j}. $$
(40)

Based on the description in Sect. 2, the local contact frame \(\mathrm {F}_{c}\) defined at a possible contact point can be written as

$$ \left \{ \textstyle\begin{array}{l} \vec{e}_{c}^{1} = \vec{\tau}_{2}^{\eta_{1}} = \frac {\partial\vec{r}_{2}}{\partial\eta_{1}} = \mathbf{i}, \\ \vec{e}_{c}^{2} = \vec{ \tau}_{2}^{\eta_{2}} = \frac {\partial\vec{r}_{2}}{\partial\eta_{2}} = \mathbf{j}, \\ \vec{e}_{c}^{3} = \vec{ \tau}_{2}^{\eta_{1}} \times \vec{\tau}_{2}^{\eta_{2}} = \mathbf{k}. \end{array}\displaystyle \right . $$
(41)

The contact frame \(\mathrm{F}_{c}\) under the above definition is an orthogonal coordinate frame with constant unit vectors along the motion of the contact point. As we will demonstrate in the subsequent analysis, this frame with constant unit vectors extremely simplifies the formulations of the constraint equations.

6.2 Geometric conditions and contact equations

The contact pattern in this example is 3C–3S, whose contact conditions create four equations for limiting the contact geometry. Denote by \(\mathbf{p}^{*}(t) = [\xi^{*}(t), \eta_{1}^{*}(t),\eta_{2}^{*}(t)]^{T}\) the location parameters at a contact point. From geometric condition \(C_{1}\), namely \(\vec{r}_{1} = \vec{r}_{2}\), we can establish three equations at any time \(t\) as follows:

$$ \left \{ \textstyle\begin{array}{l} f_{1}(t) =q_{1}(t) + R ( \mathrm{c}_{q_{4}}\mathrm{c}_{q_{5}} \mathrm{c}_{\beta^{*}}-\mathrm{s}_{q_{4}}\mathrm{s}_{\beta^{*}} )- \eta _{1}^{*}(t)=0, \\ f_{2}(t) =q_{2}(t) + R (\mathrm{s}_{q_{4}} \mathrm{c}_{q_{5}}\mathrm{c}_{\beta^{*}} + \mathrm{c}_{q_{4}} \mathrm{s}_{\beta^{*}} )-\eta _{2}^{*}(t)=0, \\ f_{3}(t) =q_{3}(t) - R \mathrm{s}_{q_{5}} \mathrm{c}_{\beta^{*}}=0, \end{array}\displaystyle \right . $$
(42)

where \(\beta^{*} = q_{6}(t) + \xi^{*}(t)\).

In terms of the geometric condition \(C_{2}\), namely \({\vec{\tau }}_{1}^{\xi} \cdot\vec{e}_{c}^{3} =0\), the fourth equation is given by

$$ f_{4}(t) = s_{q_{5}}s_{\beta^{*}}=0. $$
(43)

Note that one always has \(s_{q_{5}} \neq0\), except for the disk in a singular configuration. Therefore, the geometric conditions of this example can be further simplified as

$$ \left \{ \textstyle\begin{array}{l} f_{1}(t) =q_{1}(t) + R\mathrm{c}_{q_{4}}c_{q_{5}} \mathrm{c}_{\beta^{*}}-\eta _{1}^{*}(t)=0, \\ f_{2}(t) =q_{2}(t) + R\mathrm{s}_{q_{4}} \mathrm{c}_{q_{5}}\mathrm{c}_{\beta^{*}} -\eta_{2}^{*}(t)=0, \\ f_{3}(t) =q_{3}(t) - R \mathrm{s}_{q_{5}} \mathrm{c}_{\beta^{*}}=0, \\ f_{4}(t) = \mathrm{s}_{\beta^{*}}=0. \end{array}\displaystyle \right . $$
(44)

Though (44) presents explicit relationships between parameter set \(\mathbf{p}^{*}(t)\) and \(\mathbf{q}(t)\), the relationships are not unique due to the multivalues in association with the triangle functions. For instance, we get \(c_{\beta^{*}} = \pm1\) as \(s_{\beta^{*}} =0\). To uniquely determine the relationship, we need to analyze the temporal evolution of \(\mathbf{{p}}^{*}(t)\) with respect to time.

Among the four equations shown in (44), let us select the equations \(f_{1}(t)=0\), \(f_{2}(t)=0\) and \(f_{4}(t) =0\) to establish the relationship between \(\mathbf{p}^{*}(t)\) and \(\mathbf{q}(t)\). The Jacobian matrix is

$$ \mathbf{J}= \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \frac{\partial f_{1}}{\partial\xi^{*}} & \frac{\partial f_{1}}{\partial\eta _{1}^{*}} & \frac{\partial f_{1}}{\partial\eta_{2}^{*}}\\ \frac{\partial f_{2}}{\partial\xi^{*}} & \frac{\partial f_{2}}{\partial\eta _{1}^{*}} & \frac{\partial f_{2}}{\partial\eta_{2}^{*}}\\ \frac{\partial f_{4}}{\partial\xi^{*}} & \frac{\partial f_{4}}{\partial\eta _{1}^{*}} & \frac{\partial f_{4}}{\partial\eta_{2}^{*}} \end{array}\displaystyle \right ] = \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} -R\mathrm{c}_{q_{4}}\mathrm{c}_{q_{5}} \mathrm{s}_{\beta^{*}} & -1& 0 \\ -R\mathrm{s}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{s}_{\beta^{*}} & 0& -1 \\ \mathrm{c}_{\beta^{*}} & 0 & 0 \end{array}\displaystyle \right]. $$
(45)

The matrix \(\mathbf{f}_{,q}\) is written as

$$ \mathbf{f}_{,q}= [\mathbf{I} \quad \mathbf{W} ], $$
(46)

where \(\mathbf{I}\) is a unit matrix and

$$ \mathbf{W}=\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} -R\mathrm{s}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{c}_{\beta^{*}} & -R\mathrm{c}_{q_{4}}\mathrm{s}_{q_{5}}\mathrm{c}_{\beta^{*}} & -R\mathrm{c}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{s}_{\beta^{*}}\\ R\mathrm{c}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{c}_{\beta^{*}} & -R\mathrm{s}_{q_{4}}\mathrm{s}_{q_{5}}\mathrm{c}_{\beta^{*}} & -R\mathrm{s}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{s}_{\beta^{*}}\\ 0 & 0& \mathrm{c}_{\beta^{*}} \end{array}\displaystyle \right ] . $$
(47)

In terms of (6), together with \(\mathbf{f}_{,t}=0\) and \(s_{\beta^{*}}=0\), the contact equations governing the evolution of parameters \(\mathbf{p}^{*}(t)\) can be expressed as follows:

$$ \left \{ \textstyle\begin{array}{l} \dot{\mathbf{\eta}}_{1}^{*}(t)= \dot{q}_{1}(t)-R\mathrm{s}_{q_{4}}\mathrm{c}_{q_{5}} \mathrm{c}_{\beta^{*}}\dot{q}_{4}(t)-R\mathrm{c}_{q_{4}} \mathrm{s}_{q_{5}}\mathrm{c}_{\beta^{*}}\dot{q}_{5}(t), \\ \dot{\mathbf{\eta}}_{2}^{*}(t)=\dot{q}_{2}(t) + R \mathrm{c}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{c}_{\beta^{*}}\dot{q}_{4}(t)-R\mathrm{s}_{q_{4}}\mathrm{s}_{q_{5}} \mathrm{c}_{\beta^{*}}\dot{q}_{5}(t), \\ \dot{\boldsymbol{\xi}}^{*}(t)=-\dot{q}_{6}(t). \end{array}\displaystyle \right . $$
(48)

Before integrating (48), we need to know the initial values of \(\mathbf{p}^{*}(t_{0})\) and the initial configuration \(\mathbf{q}(t_{0})\). We choose \(\mathrm{c}_{\beta^{*}} = 1\) at the initial time \(t_{0}\), then there are the following relationships between \(\mathbf{p}^{*}(t_{0})\) and \(\mathbf{q}(t_{0})\):

$$ \left \{ \textstyle\begin{array}{l} \eta_{1}^{*}(t_{0}) =q_{1}(t_{0}) + R\mathrm{c}_{q_{4}} \mathrm{c}_{q_{5}}, \\ \eta_{2}^{*}(t_{0}) =q_{2}(t_{0}) + R \mathrm{s}_{q_{4}}\mathrm{c}_{q_{5}}, \\ q_{3}(t_{0}) = R \mathrm{s}_{q_{5}}, \\ \beta^{*}(t_{0}) = q_{6}(t_{0})+ \xi^{*}(t_{0}) = 0. \end{array}\displaystyle \right . $$
(49)

In terms of the initial condition in (49), the integration of (48) leads to

$$ \left \{ \textstyle\begin{array}{l} \eta_{1}^{*}(\mathbf{q})= q_{1}(t) + R \mathrm{c}_{q_{4}} \mathrm{c}_{q_{5}}, \\ \eta_{2}^{*}(\mathbf{q})= q_{2}(t) + R \mathrm{s}_{q_{4}} \mathrm{c}_{q_{5}}, \\ \beta^{*}(\mathbf{q}) = q_{6}(t)+\xi^{*}(t)=0, \end{array}\displaystyle \right . $$
(50)

which present the explicit relations between location parameters \(\mathbf{p}^{*}\) and generalized coordinates \(\mathbf{q}\) under the initial conditions given by (49). As \(\mathrm{c}_{\beta^{*}} = 1\) is chosen at the initial time \(t_{0}\), it is clear that we always have \(\mathrm{c}_{\beta^{*}} = 1\) and \(\mathrm{s}_{\beta^{*}} = 0\) at any moment.

Substitution of the third equation in (50) into \(f_{3}(t)=0\), given by (44), allows the contact-induced geometric constraint equation to be expressed as

$$ g_{c}(\mathbf{q}, t)=q_{3}(t) - R s_{q_{5}}=0, $$
(51)

which takes a form that can be intuitively obtained by analyzing a placed configuration of the system.

6.3 Relative velocity and velocity constraints

Since \({\dot{\vec{r}}}_{2} = 0\), the relative velocity at the contact point in the contact frame is directly expressed as

$$ { \vec{v}}_{c}= -{{\dot{\vec{r}}}}_{1} = v_{c}^{1} \mathbf{i} + v_{c}^{2} \mathbf{j} + v_{c}^{3} \mathbf{k}, $$
(52)

where

$$ \left \{ \textstyle\begin{array}{l} v_{c}^{1} = -\dot{q}_{1} + R ( \mathrm{s}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{c}_{\beta^{*}}\dot{q}_{4} + \mathrm{c}_{q_{4}}s_{q_{5}}\mathrm{c}_{\beta^{*}}\dot{q}_{5} + \mathrm{c}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{s}_{\beta^{*}}\dot{q}_{6} + \mathrm{c}_{q_{4}}\mathrm{s}_{\beta}\dot{q}_{4} + \mathrm{s}_{q_{4}}\mathrm{c}_{\beta^{*}}\dot{q}_{6} ),\\ v_{c}^{2} = - \dot{q}_{2} - R ( \mathrm{c}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{c}_{\beta^{*}}\dot {q}_{4} - \mathrm{s}_{q_{4}}\mathrm{s}_{q_{5}}\mathrm{c}_{\beta^{*}} \dot{q}_{5} - \mathrm{s}_{q_{4}}\mathrm{c}_{q_{5}}\mathrm{s}_{\beta^{*}}\dot{q}_{6} - \mathrm{s}_{q_{4}}\mathrm{s}_{\beta^{*}}\dot{q}_{4} + \mathrm{c}_{q_{4}}\mathrm{c}_{\beta^{*}}\dot{q}_{6} ),\\ v_{c}^{3} = - \dot{q}_{3} + R\mathrm{c}_{q_{5}}\mathrm{c}_{\beta^{*}}\dot{q}_{5} + R\mathrm{s}_{q_{5}}\mathrm{s}_{\beta^{*}}\dot{q}_{6}. \end{array}\displaystyle \right . $$
(53)

During the motion of the contact point, parameter \(\xi^{*}\) satisfies \(s_{\beta^{*}}=0\) and \(\mathrm{c}_{\beta^{*}}=1\). Substituting the above relationship into (53) leads to

$$ \left \{ \textstyle\begin{array}{l} v_{c}^{1} = -\dot{q}_{1} + R (\mathrm{s}_{q_{4}}\mathrm{c}_{q_{5}}\dot{q}_{4} + \mathrm{c}_{q_{4}}\mathrm{s}_{q_{5}}\dot{q}_{5} + \mathrm{s}_{q_{4}}\dot {q}_{6} ),\\ v_{c}^{2}= - \dot{q}_{2} - R (\mathrm{c}_{q_{4}}\mathrm{c}_{q_{5}}\dot{q}_{4} - \mathrm{s}_{q_{4}}\mathrm{s}_{q_{5}} \dot{q}_{5} + \mathrm{c}_{q_{4}}\dot {q}_{6} ),\\ v_{c}^{3} = - \dot{q}_{3} + R\mathrm{c}_{q_{5}}\dot{q}_{5}. \end{array}\displaystyle \right . $$
(54)

In terms of Eq. (11), namely, \(\frac{d(\vec {r}_{2}(t)-\vec{r}_{1}(t))}{dt} = 0\), this identity has the following equivalent form:

$$ v_{c}^{1}\mathbf{i} + v_{c}^{2}\mathbf{j} + v_{c}^{3}\mathbf{k} + \bigl[\dot{\eta_{1}}^{*}(t) + R\mathrm{s}_{q_{4}}\dot{\xi}^{*} \bigr]\mathbf{i} + \bigl[\dot{\eta}_{2}^{*}(t)- R\mathrm{c}_{q_{4}} \dot{\xi}^{*} \bigr]\mathbf{j} =0, $$
(55)

where the contact conditions \(s_{\beta^{*}}=0\) and \(\mathrm{c}_{\beta ^{*}}=1\) are employed in obtaining (55).

It is clear from (55) that we have \(v_{c}^{3} =0\). Based on the last equation in Eq. (54), the expression \(v_{c}^{3} =0\) is exactly the derivative of the geometric constraint equation given by (51). This point agrees with the statement in Proposition 3, where the GCs in a point contact can be equivalently expressed in first order differential forms.

As \(v_{c}^{1}=v_{c}^{2}=0\), we can get, from (55), the equations that should be satisfied by the location parameters:

$$ \left \{ \textstyle\begin{array}{l} \dot{\eta_{1}}^{*}(t) = -R \mathrm{s}_{q_{4}}\dot{\xi}^{*}, \\ \dot{\eta}_{2}^{*}(t) = R\mathrm{c}_{q_{4}} \dot{\xi}^{*}. \end{array}\displaystyle \right . $$
(56)

Note that \(R \dot{\xi}^{*} = \dot{s}_{\mathrm{1}}\) is related to the time rate of the circular arc length of the disk. Denote by \(\dot{s}_{2} = \sqrt {\dot{\eta_{1}}^{* 2}(t) + \dot{\eta}_{2}^{* 2}(t)}\) the speed of the moving contact point along its trajectory on the horizontal plane. We easily find \(\dot{s}_{1} = \dot{s}_{2}\). This agrees with the conclusions given by Proposition 5, and is a well-known geometric condition for a rolling disk [4].

6.4 Dynamical equations

Suppose that the disk about its geometric center \(B\) has an inertial tensor \(\mathrm{\varTheta}_{C}\) expressed in frame \(\mathbf{R}_{B}\) as \(\mathrm {\varTheta}_{C} = \hbox{diag}\{J_{1}, J_{2}, J_{3}\}\), where \(J_{1}=J_{2}=\frac {1}{4}mr^{2}\), and \(J_{3}=\frac{1}{2}mr^{2}\). The disk under gravity moves with an absolute angular velocity \(\mathrm{\varOmega}\) with components \((\omega_{1}, \omega_{2}, \omega_{3})\) in the frame \(\mathbf{R}_{B}\). They are related with the three Euler’s parameters as follows:

$$ \left \{ \textstyle\begin{array}{l} \omega_{1}= \dot{q}_{5}, \\ \omega_{2}= \dot{q}_{4} s_{q_{5}},\\ \omega_{3}= \dot{q}_{4} c_{q_{5}} +\dot{q}_{6}. \end{array}\displaystyle \right . $$
(57)

Designate the horizontal plane of the table as the zero-value surface of gravitational potential energy. The Lagrangian function of the disk is written as:

$$ L=\frac{1}{2}m\bigl(\dot{q}_{1}^{2}+ \dot{q}_{2}^{2}+\dot{q}_{3}^{2}\bigr) + \frac {1}{2}\bigl(J_{1}\omega_{1}^{2}+J_{2} \omega_{2}^{2}+J_{3}\omega_{3}^{2} \bigr) - mg q_{3}, $$
(58)

where \({g}\) is the acceleration of gravity.

Since \(\mathrm{F}_{c}\) in this case is an orthogonal coordinate system with three constant unit vectors \(\mathbf{i}\), \(\mathbf{j}\) and \(\mathbf{k}\), the bases of the dual coordinate system \(\overline{\mathrm{F}}_{c}\) agree with, respectively, those unit vectors. Therefore, the contact force \({\vec{F}}\) can be decomposed as follows:

$$ {\vec{F}} = F_{1}\mathbf{i} + F_{2}\mathbf{j} + F_{3}\mathbf{k}. $$
(59)

In terms of Eq. (31) or Eq. (29), the dynamics of such a system is governed by equations

$$ \mathbf{M}\ddot{\mathbf{q}} = \mathbf{H} + \mathbf{v}_{,\dot{\mathbf {q}}} \mathrm{\varLambda}, $$
(60)

where \(\mathrm{\varLambda}= [F_{1}, F_{2}, F_{3} ]^{T}\),

$$\begin{aligned} \mathbf{M} =&\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c@{\quad}c@{\quad}c@{\quad}c} m & 0 & 0 & 0 & 0 & 0\\ 0 & m & 0 & 0 & 0 & 0\\ 0 & 0 & m & 0 & 0 & 0\\ 0 & 0 & 0 & J_{3} \mathrm{c}_{q_{5}}^{2} + J_{1} \mathrm{s}_{q_{5}}^{2} & 0 & J_{3} \mathrm{c}_{q_{5}} \\ 0 & 0 & 0 & 0 & J_{1} & 0\\ 0 & 0 & 0 & J_{3} \mathrm{c}_{q_{5}} & 0 & J_{3}\\ \end{array}\displaystyle \right ], \\ \mathbf{H} =&\left [ \textstyle\begin{array}{c} 0 \\ 0 \\ -mg \\ J_{3} \dot{ q_{4}} \dot{q_{5}} \mathrm{s}_{2 q_{5}} - J_{1}\dot{ q_{4}} \dot{ q_{5}} \mathrm{s}_{2 q_{5}} + J_{3}\dot{ q_{6}} \dot{ q_{5}} \mathrm{s}_{q_{5}}\\ \frac{1}{2}J_{1} \dot{ q_{4}}^{2} \mathrm{s}_{2 q_{5}} - \frac{1}{2} J_{3} \dot{ q_{4}}^{2} \mathrm{s}_{2q_{5}} - J_{3} \dot{ q_{6}} \dot{ q_{4}} \mathrm{s}_{q_{5}}\\ J_{3}{\dot{q}_{4}}{\dot{q}_{5}}\mathrm{s}_{q_{5}} \end{array}\displaystyle \right ], \end{aligned}$$

and

$$\begin{aligned} \mathbf{v}_{,\dot{\mathbf {q}}}= \biggl[ \frac{\partial v_{c}^{j}}{\partial\dot{q}_{i}} \biggr]_{(i, j)} = \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1\\ R\mathrm{s}_{q_{4}}\mathrm{c}_{q_{5}} & -R\mathrm{c}_{q_{4}}\mathrm{c}_{q_{5}} & 0 \\ R \mathrm{c}_{q_{4}}\mathrm{s}_{q_{5}} & R \mathrm{s}_{q_{4}}\mathrm{s}_{q_{5}} & R\mathrm{c}_{q_{5}}\\ R\mathrm{s}_{q_{4}} & -R\mathrm{c}_{q_{4}} & 0\\ \end{array}\displaystyle \right ]. \end{aligned}$$

The constraints induced by the contact interactions are as follows:

  1. (i)

    GC in a first order differential form is given by

    $$ \begin{aligned} v_{c}^{3} = \dot{q}_{3} - R\mathrm{c}_{q_{5}}\dot{q}_{5} =0, \end{aligned} $$
    (61)

    which always holds in a persistent contact point.

  2. (ii)

    Two nonholonomic VCs appear in a stick state of friction:

    $$ \left \{ \textstyle\begin{array}{l} v_{c}^{1}= \dot{q}_{1} - R (\mathrm{s}_{q_{4}}\mathrm{c}_{q_{5}} \dot{q}_{4} + \mathrm{c}_{q_{4}}\mathrm{s}_{q_{5}} \dot{q}_{5} + \mathrm{s}_{q_{4}}\dot {q}_{6} )=0, \\ v_{c}^{2} =\dot{q}_{2} + R ( \mathrm{c}_{q_{4}}\mathrm{c}_{q_{5}}\dot{q}_{4} - \mathrm{s}_{q_{4}}\mathrm{s}_{q_{5}} \dot{q}_{5} + \mathrm{c}_{q_{4}}\dot {q}_{6} )=0. \end{array}\displaystyle \right . $$
    (62)
  3. (iii)

    The above VCs are destroyed when the contact is in a sliding state of friction, and they should be replaced by the FCs defined as follows:

    $$\begin{aligned} \mathrm{F}_{r}^{\tau} = F_{1} \mathbf{i} + F_{2} \mathbf{j} = -\mu|F_{3}| \frac {\mathbf{v}_{r}^{\tau}}{\|\mathbf{v}_{r}^{\tau}\|}. \end{aligned}$$
    (63)

Clearly, the obtained equations of the constraints and the dynamical equations agree with the existing results in many textbooks of classical mechanics [5, 6].

7 Conclusions

This paper has presented a general method for formulating the constraints involved in the point contact interaction between two bodies within a multibody system, as well as the dynamical equations of the system. To formulate the contact-induced constraints, one needs to take into account the evolution of location parameters. To treat the dynamics of a nonholonomic system with friction, the correlations between the Lagrangian multipliers and the components of the real contact force should be clarified.

Compared with existing theory in analyzing the contact kinematics and dynamics, our method has achieved developments in the following aspects: (i) both location parameters and generalized coordinates are involved in the analysis of the contact motion; (ii) both GCs and VCs are defined uniformly in the first order differential forms relating to the relative velocity decomposed in a well-defined contact frame. The expressions make clear the physical meanings underlying the contact-induced constraints; (iii) the evolution of the location parameters affects the mathematical properties of the VCs, (iv) the Appell–Chetaev’s rule is fulfilled naturally, at least in the kinematic constraints of a persistent point contact; (v) the Lagrange multipliers just correspond to the components of the real contact force decomposed in the dual frame of the contact frame.

The present theory can be programmed in a uniform way to handle the contact kinematics and dynamics of a multibody system subject to a persistent point contact, and thereby they may find various applications in the field of mechanical systems.