Slipping–rolling transitions of a body with two contact points

In this paper, the general kinematics and dynamics of a rigid body is analysed, which is in contact with two rigid surfaces in the presence of dry friction. Due to the rolling or slipping state at each contact point, four kinematic scenarios occur. In the two-point rolling case, the contact forces are undetermined; consequently, the condition of the static friction forces cannot be checked from the Coulomb model to decide whether two-point rolling is possible. However, this issue can be resolved within the scope of rigid body dynamics by analysing the nonsmooth vector field of the system at the possible transitions between slipping and rolling. Based on the concept of limit directions of codimension-2 discontinuities, a method is presented to determine the conditions when the two-point rolling is realizable without slipping.


Introduction
In modelling and analysis of mechanical systems, one of the most challenging issues is the contact problem between the bodies, which leads to nonsmooth effects. The nonsmoothness originates from two physical sources, from the unilateral property of the normal contact forces, and from the dry friction characteristics of the tangential contact forces.
At the tangential contact of rigid bodies, we distinguish a slipping contact state and a static contact state which includes sticking or rolling. By assuming deformations at the contact, these states are defined locally, and the cumulated friction effect can be computed numerically or can be interpreted by different contact models [13,14]. However, when the stiffnesses of the contacting bodies are large enough, the rigid body model is an acceptable assumption, and at the contact state of the discrete contact point, we can sharply distinguish the slipping and rolling-sticking cases. Then, the Coulomb model and similar dry friction models include both a constraint of rolling-sticking and a force law of slipping (see [16], [17], or [21] for an overview). These models include the conditions of the transitions between the two states, as well; these transitions change not just the equations but also the dimension of the resulting dynamical systems.
As constraints are included in the friction models, the presence of multiple contact points brings out many issues related to multiple contacts, including the indeterminacy of contact forces. This scenario occurs already at a single three-dimensional rigid body with two contact points, which is the main topic of this paper.
When a rigid body is in contact with two rigid surfaces, four different contact states are possible from the combination of rolling and slipping at each contact point. It can be shown that at two-point rolling, the contact forces are undetermined, which makes it impossible to check the limitations of friction forces, and thus, to determine the transition into slipping. It seems that the problem is beyond the available tools of rigid body mechanics, and one should include models with elastic deformation to resolve the indeterminacy and to get a complete description of the problem. However, the indeterminacy can be avoided within the rigid body model: by careful analysis of the vector field of the resulting dynamical system, it is possible to find the trajectories of slipping-rolling transitions without calculating the missing contact forces. For this approach, we use the tools of analysis of codimension-2 discontinuities of vector fields, which was presented in [3] and [4].
The scenario of a rigid body with two contact points can be found in several mechanical applications, such as the railway wheelsets [2,11,19], the rolling elements of bearings [10,20,29], the compressed elements of the tensegrity structures [24], or in the rotating ball flowmeter [7,23], which was analysed by the authors in [1]. The example of a ball with two contact points has been recently used for demonstrating a new approach of friction models [26].
The paper is organized as follows: in Sect. 2, the mechanical model is presented containing the rigid body with two contact points, and the necessary formulation is derived for the subsequent analysis. In Sect. 3, the nonsmooth behaviour is presented in the state space, and we demonstrate that the direct description of the transitions is not possible due to the indeterminacy of contact forces. In Sect. 4, the concepts of possible and realizable rolling states are presented in the case of a single contact point. This approach is extended to the body with two contact points in Sect. 5, and the conditions of the realizable rolling states are determined. In Sect. 6, the results are demonstrated on a mechanical example with closed form calculations.

Mechanical model of a rigid body with two contact points
Consider the motion of a rigid body which is in normal contact with two fixed, rigid surfaces at the points P + and P − , respectively. Assume that the external forces and the geometry of the surfaces ensure that the contact points persist continuously during the motion, and no other contact points appear. It is assumed that the normal contact persists in a regular state and compilations of the Painleve paradox [6] do not occur.

Geometry
At a certain configuration of the body, let n + , n − denote the normal unit vectors of the surfaces at P + and P − . Let C denote the centre of gravity of the moving body, and let the locations of the contact points are r + = −−→ C P + and r − = −−→ C P − (see Fig. 1). For the convenient kinematic description of friction effects, we introduce orthonormal bases at the contact points. First, let us consider the vector r + − r − pointing from P − to P + , and define the corresponding unit Then, two tangential unit vectors can be defined at each contact point: We exclude the degenerate cases when the two contact points coincide, or, r + − r − is parallel to n + or n − . Then, (1)-(3) provide the orthonormal bases

Kinematics
At the contact points, the velocities of the moving body are denoted by respectively. These velocities are not independent, but they are related by the reduction formula of rigid body kinematics, where is the angular velocity vector of the body and × denotes cross product. The scalar product of the right-hand side of (5) by a vanishes. Thus, we can introduce the variable which is the common velocity component of P + and P − in the direction of a. From (4) and (6), we get Then, the velocities (4) become The cross product of (5) by a gives Then, by using the notation a := a, (10) for the angular velocity component parallel to a, the angular velocity vector can be expressed in the form Consequently, (8) and (11) show that in a given configuration, the velocity state of the body can be described uniquely by the four variables u + 1 , u − 1 , u a and a .
The rolling of the body at P + is characterized by v + = 0, which is equivalent to u + 1 = u a = 0. Similarly, the rolling at P − is characterized by v − = 0, which is equivalent to u − 1 = u a = 0.

Newton-Euler equations
At the contact points P + and P − , the contact forces are denoted by F + and F − , respectively (see Fig. 2). They are expressed in the form where N + > 0 and N − > 0 are the normal force components, and the tangential forces are given by All other external loads are reduced into the centre of gravity C of the body, leading to the resultant external force F e and the resultant external torque M e . Then, the Newton-Euler equations of the rigid body become where J is the mass moment of inertia of the body, is the velocity of the centre of gravity of the body, and the dot denotes differentiation with respect to the time.

Coulomb friction model
To complete our model, we assume the simple Coulomb friction model between the bodies. That is, the point P + can be either in slipping state characterized by v + > 0, or, in rolling state characterized by v + = 0, Similarly, the slipping and rolling states of P − are given by and v − = 0, respectively.
To simplify the notations, we implicitly assumed, that the friction coefficient μ is the same at the two contact points, which restriction can be released if necessary. We also assume that the static and dynamic friction coefficients are the same, which can be generalized for a class of friction models presented in Sect. 4.1. Note that instead of the presented basic description, the contact laws could be alternatively interpreted as set-valued force laws (see [8] and [28]).

Kinematic cases
The slipping or rolling states of the two contact points lead to four different kinematic cases of the body. Throughout the paper, these cases are referred to by the following acronyms: -Case SS: slipping-slipping case, the body is slipping at both P + and P − , -Case SR: slipping-rolling case, the body is slipping at P + and rolling at P − , -Case RS: rolling-slipping case, the body is rolling at P + and slipping at P − , -Case RR: rolling-rolling case, the body is rolling at both P + and P − .
Note that we assume a permanent normal contact where there is no separation or impacts between the surfaces. When the analysis is extended to the cases with dynamic effects from normal contact, several other kinematic cases appear at two contact points already in problems in two dimensions [15,18,27]. With the loss of contact in spatial problems with two contact points, we obtain at least nine kinematic cases [1]. In this paper, we assume that the normal contact is ensured, leading to the four kinematic cases listed above.

State space
The six degrees of freedom of a free rigid body are reduced by two because of the two normal contact constraints. Thus, at least in the vicinity of an initial configuration, the configuration space of contacting body can be parametrized by generalized coordinates in the form We parametrize the velocity state of the body by the vector which quantities are called the quasi-velocities (see [9], p. 217) of the system. The vectors r + , r − , n + and n − depend on the generalized coordinates q, and the moment of inertia tensor J depends on q, as well. Moreover, we assume that the external loads F e and M e depends only on q and s. In addition, all these dependencies are assumed to be smooth.
Then, dynamics of the moving body is determined in a state space X composed from the generalized coordinates (24) and the quasi-velocities (25), The dynamics in X is governed by a set of first-order ordinary differential equations. As the velocity state depends linearly on the first derivatives of the generalized coordinates, these derivatives can be expressed in the forṁ where K (q) is a four-by-four matrix depending smoothly on q. The dynamics of s is written in the forṁ where the function f (s, q) can be derived from the Newton-Euler equations by selecting the appropriate contact state equations from (16)- (23). Finally, the full dynamics of the state space is formally given bẏ 3.2 The different types of dynamics in the state space in the state space. This is the subspace where -the rolling condition (18) is satisfied, -the friction law (17) has a discontinuity.
Similarly, the set contains the states where -the rolling condition (22) is satisfied, -the friction law (21) has a discontinuity.
These sets (30) and (31) are codimension-2 subspaces of the state space X . Their intersection is the codimension-3 subspace Purely from kinematic point of view, the location of the different types of dynamics is the following: -Case RR (rolling-rolling) is located at # . -Case RS (rolling-slipping) is located at + \ # .
The properties of the four kinematic cases can be found in Table 1.
It can be shown that from the Newton-Euler equations (14) and the appropriate conditions from (16)-(23), we can derive the differential equation in the form (29). (Alternatively to the Newton-Euler equations, the kinematic constraints could be directly included to the rolling cases by the Gibbs-Appell equation from [9], p. 254.) Then, we get the vector field F(x) for each kinematic case, which we denote by F SS (x), F SR (x), F RS (x) and F RR (x).

Indeterminacy of the contact forces
If we want to determine the rolling-slipping transitions between the different cases (see Fig. 3), we have to consider the restrictions (19) and (23) of the friction forces, as well. In each kinematic case, Equations (14) and (16)-(23) form a differential-algebraic equation (DAE), where the unknowns are the contact forces F + , F − , and derivativesṡ of the quasi-velocities. If we count the independent scalar equations and unknowns (see Table 2), we get that in the cases SS, SR, and RS, all unknowns are determined including the contact forces. However, in Case RR, we do not have enough equations, which causes the central issue of this paper.
The problem is the following: the rolling constraints (18) and (22) are not independent, and thus, we get only 3 kinematic constraints, while 4 unknowns appear when we replace (17) and (21) with (19) and (23). Consequently, the contact forces are undetermined. Without the value of the contact forces, the conditions of the In the cases containing rolling, the dimension of the problem is reduced by the rolling constraints (18) and (22). The number of the independent equations from the rolling constraints gives the codimension of the rolling subspaces in the state space, which is an important property of the discontinuous property of the dynamics caused by the Coulomb friction model In Cases SS, SR and RS, the Newton-Euler equations and the contact conditions completely determine both the differential equations and the contact forces. In Case RR, the rolling constraints at the two contact points are not independent. Thus, although the differential equation is still can be computed, a scalar equation is missing for determining the contact forces. This indeterminacy can be resolved within the scope of rigid body dynamics by using the method presented in the paper transition between Case RR and the other cases cannot be determined from the inequalities (19) and (23). It seems that the complete dynamical description of the model is not possible within the framework of the rigid body dynamics and Coulomb friction model. However, by exploiting an internal consistency of the Coulomb model, we can avoid the problem and make the transitions well defined.
For doing that, let us focus on the behaviour of the vector field of the slipping cases in the vicinity of the subspace containing the rolling-rolling case. We will do this in Sect. 5, while the necessary tools are presented step by step in Sect. 4.

The basic ideas of slipping directions and realizable sticking
Consider the trivial example of a block freely slipping on a vertical line, which can be seen in the left panel of Fig. 4. The notation is the following: m is the Fig. 3 Possible transitions between the four kinematic cases. The downward arrows denote slipping of the body at one or both contact points. The upward arrows correspond to the transition from sticking to rolling. At Case RR, the corresponding arrows are dashed, denoting the fact that these transitions cannot be checked by directly using the Coulomb friction law, because the contact forces are undetermined mass of the block, u is the velocity of the block, g is the gravitational acceleration, and L is the loading force. We consider the Stribeck extension of the Coulomb model in the form of velocity-dependent friction coefficient μ(|u|). In the limiting cases, the monotonically decreasing friction coefficient provides the static friction coefficient μ s = lim |u|→0 μ(|u|) and the dynamic friction coefficient μ d = lim |u|→∞ μ(|u|) (see the right panel of Fig. 4).
According to the Coulomb model with this extension, the slipping contact state is described by the differential equatioṅ The static (sticking) contact state is given by u ≡ 0 and the 'dynamics' is given by the static equation where T s is the static friction force. Consider an initial sticking state and push the block by a force L. Our question is whether the block keeps its slipping state or not. Consider the following two different approaches, which we call the possibility and realizability of the sticking state. First, we can use the direct condition from the Coulomb friction model which restrict the value of the static friction force: Second, we can consider the infinitesimal slipping perturbations u → 0 + , and u → 0 − , which correspond to the right and left directions of slip, respectively. The sticking state is realizable if both of these perturbations are eliminated by the dynamics (33), and thus, sticking is regained. In other words, the acceleration and velocity should not have the same direction: It can be checked by direct calculation that the conditions (35) and (36) are equivalent, and thus, the possible and realizable sticking coincides in this example. It is important to show that the two conditions are conceptionally rather different: when checking possibility, we used the condition (35), which is an additional piece of empirical information from the Coulomb model, which complements the formula T d = −μmgu/|u| of the dynamic friction force T d . However, the condition (36) does not contain this additional information, but it is purely based on some qualitative assumptions of the slipping dynamics (33).
The example demonstrates that the Coulomb or the Coulomb-Stribeck models contain some internal consistency: the restriction of the maximal contact forces is given in such way which is consistent with the direction of the surrounding vector field in the state space.
In Sect. 4.2, this property is shown for general rigid body in the planar and spatial cases of the single-point contact, which has been analysed throughout in [4]. Then, in Sect. 5, we can show how the concept of realizability can be applied even in the two-point contact case when the possibility cannot be checked due to the indeterminacy of the contact forces.

Planar contact case
Now, we generalize the case of the previous example. Consider a rigid body with a single contact point with a rigid surface. In the planar (two-dimensional) case, the slipping velocity at the contact point is described purely by a single component u, and the static (rolling or sticking) case is characterized by u = 0. In the presence of Coulomb friction, the dynamics of such body often leads to a Filippov-system, which can be defined in the following way: Assume that (37) has the following properties: Sketch of a state space of a Filippov system, related to the dynamics of a rigid body with a single planar contact. The rolling or sticking dynamics is located in the discontinuity set , and the slipping dynamics is located outside. The pointx with the red limit vectors represents a attracting sliding point, where both limit vectors point towards , and thus, the rolling motion is realizable. The pointx with the blue vectors corresponds to the crossing case when the rolling motion is not realizable 2. For allx ∈ the limits . Then, we call (37) a Filippov system.

In Definition 3,
is the codimension-1 discontinuity set (also called switching surface), n 1 and n 2 are the unit normal vectors of , -F * 1 (x), F * 2 (x) are called limit vectors at a point x ∈ (see Fig. 5).
The normal component of F * 1 and F * 2 with respect to express whether the trajectories approach or leave the discontinuity set . This distinction leads to the following categorization: Definition 4 Consider a pointx of the discontinuity set .
-The pointx is called an attracting sliding point of For more details about Filippov systems and about the more general class of piecewise smooth systems, see [5] and [12].
When the motion of the rigid body leads to a Filippov system in the state space, the static contact states are located in the discontinuity set (see Fig. 5). Following our assumptions from the block example presented above, we would like to ensure that all possible perturbations in the slipping velocity are eliminated by the dynamics. That is, the static (rolling or sticking) contact state of the body is realizable when the vector field point towards from both sides: Definition 5 (Realizable rolling or sticking in 2D) Consider the rigid body with a single planar contact where the slipping velocity is denoted by u, and the static contact state corresponds to u = 0. Assume that the motion of the body can be described by a Filippov system (37) where x 1 = u. We say that a rolling or sticking statex of the body is realizable if and only if the given state in the state space is an attracting sliding point of .
We expect that this realizability of the static contact case is equivalent to the possibility required by the Coulomb model and its generalizations. This coincidence can be proved as a special case of Theorem 4 in [4].
Unfortunately, the term 'sliding region', which has become usual in the literature, is a bit misleading in mechanical applications: in the state space, there is no slipping in the sliding region, but it is the location of the static (rolling or sticking) behaviour. Thus, we avoid the term 'sliding' in the mechanical sense and use the term 'slipping' instead.

Spatial contact case
Now, let us consider the spatial (three-dimensional) variant of the previous scenario, when the slipping velocity at the single contact point has two components u 1 and u 2 , and the static state is characterized by u 1 = u 2 = 0. When Coulomb friction is assumed at the contact, the dynamics often leads to an extended Filippov system. Definition 6 (Extended Filippov system) Consider a systeṁ Assume that (40) has the following properties: 2. For allx ∈ and φ ∈ [0, 2π) the limit Then, we call (40) an extended Filippov system.
Unlike in the codimension-1 case, a pointx ∈ has now continuously many normal directions φ ∈ [0, π). We can find certain special limit directions. In the normal space, the limit directions are the asymptotes of the trajectories connected to the discontinuity set. First, let us define the quantities which are the radial and circumferential component of the limit vector field atx. A limit direction φ 1 and the corresponding normal vector n(φ 1 ) are an asymptote of at least one trajectory atx ∈ in the normal plane if the circumferential component V vanishes: Fig. 6 Sketch of a state space of an extended Filippov system, related to the dynamics of a rigid body with a single spatial contact. The rolling or sticking dynamics is located in the discontinuity set , and the slipping dynamics is located outside. At a pointx ∈ , there are continuously many normal vectors n(φ), which generates the limit vector field F * (x, φ) containing the possible directional limits of the vector field. The green vector shows the projection of F * onto the normal space ofx. The polar components of these projection gives the functions R(φ) and V (φ), which are used to determine whether the rolling motion is realizable Definition 7 (Limit direction) Assume that the direction φ 1 ∈ [0, 2π) satisfies V (x, φ 1 ) = 0. Then, φ 1 is called a limit direction of F atx ∈ . This limit direction is called That is, the attracting and repelling limit directions correspond to the trajectories which reachx in forward or backward direction of time. By using the concept of limit directions, the sliding and crossing points of can be defined analogously to those of the classical Filippov systems: Definition 8 Assume that F possesses at least one limit direction atx ∈ . In the spatial (3D) case, the realizability of the static (rolling or sticking) contact case requires that no solutions can escape along repelling limit directions: Definition 9 (Realizable rolling or sticking in 3D) Consider the rigid body with a single spatial contact where the components of the slipping velocity are denoted by u 1 and u 2 , and the static contact state corresponds to u 1 = u 2 = 0. Assume that the motion of the body can be described by an extended Filippov system (40) where x 1 = u 1 and x 2 = u 2 . We say that a rolling or sticking statex of the body is realizable if and only if the given state in the state space is an attracting sliding point of .
It can be shown that this realizable property of rolling is equivalent to the possibility of rolling prescribed by the Coulomb model. This proof can be found in Theorem 4 of [4], although the term 'realizable' is still not mentioned there.

Analysis of realizable rolling states at two-point contact
In the single-point contact case, we recognized that for the Coulomb and Coulomb-Stribeck models, the condition of possibility of the static contact state does not add further information to that we know from the realizability based on the vector field of the system. Consequently, if we can establish the realizability for the two-point contact state, then we do not need the information from the condition of the maximum values of static friction force. Thus, the problem of the undetermined contact forces can be resolved.

Nonsmooth dynamics in Case SS
Based on the concepts shown above, let us continue the analysis from the end of Sect. 3.2. In the two-point slipping case (Case SS), the equations (17) and (21) can be written into the form where These quantities satisfy (λ + 1 ) 2 +(λ + 2 ) 2 = 1 and (λ − 1 ) 2 + (λ − 2 ) 2 = 1, and they formally contain the nonsmooth dependence on the quasi-velocities u + 1 , u − 1 , u a of (25). (Note that u + 2 = c + u a and u − 2 = c − u a , see (7).) Let us use the notation λ = (λ + 1 , λ + 2 , λ − 1 , λ − 2 ). Then, the Newton-Euler equations (14) can be decomposed into algebraic and differential parts in the form anḋ where -the matrices A N and A s depend smoothly on s and q, and they depend linearly on λ; -the vectors b N and f smooth depend smoothly on s and q.
Assume that (46) provides strictly positive values for the normal forces N + and N − . Then, the combination of (46) and (47) leads tȯ where f nonsmooth = A s A −1 N b N . We can conclude that in general, the components of f nonsmooth are rational functions in λ with a quadratic numerator and denominator.
By adding the (smooth) kinematic part of the vector field from (27), we get the differential equation (29) in the forṁ for the two-point slipping case. The sets + and − from (30)-(31) are exactly the codimension-2 discontinuity sets of (49), where the auxiliary variables (45) and the contact forces (44) are not defined. The discontinuity sets are intersecting each other at # (see (32)), which is the location of the two-point rolling case. The structure of the state space can be seen in Fig. 7. Let us consider the angles The two codimension-2 subspaces + and − are the discontinuity sets of the two-point slipping dynamics (Case SS), and these are the loci of the mixed rolling slipping cases (SR and RS), respectively. The intersection # of these sets corresponds to the two-point rolling case (Case RR). The possible directions of slipping in Cases RS and SR correspond to unit circles parametrized by φ + and φ − . The possible directions of two-point slipping in Case RR correspond to a unit sphere, which can be parametrized by φ + and φ − (see Fig. 8) Then, we get Let us denote the normal vectors of the discontinuity sets by At a pointx ∈ + \ # , we can take the limit Similarly, atx ∈ − \ # , we can take the limit  49), we can check that the limit (53)-(54) satisfy the conditions of Definition 6. That is, (49) can be considered an extended Filippov system with two intersecting discontinuity sets. By calculating the limit directions of the vector field from (53) and (54), we could determine the realizability of the mixed rolling-slipping cases (RS and SR), and thus, the conditions of their transition to the twopoint slipping case (see the continuous arrows in Fig.  3). However, we do not focus on these transitions, but instead, we try to determine the realizability of the twopoint rolling (RR) case.

Transition from Case RR to Case SS
The two-point rolling case (RR) is located at the intersection of + and − , where a codimension-3 discontinuity set # appears in the phase space (see Fig. 7). The possible directions normal to # can be visualized by a 2-sphere.
We would like to parametrize this sphere by using the angles φ + and φ − . Thus, consider the normal vector n(φ + , φ − ) in the form where the parameter range of the angles is (φ 1 , φ 2 ) ∈ = (0, π) × (0, π)∪(π, 2π)×(π, 2π). (56) The graph of (56) is an unit sphere spanned by the components u + 1 , u − 1 and u 2 (see Fig. 8). The vector (55) is a unit vector satisfying and it satisfies the normality conditions The formulae 58 express that the projections of the normal vector n(φ + , φ − ) onto the normal spaces of + and − are perpendicular to n + (φ+) and n − (φ − ), respectively (see Fig. 7). The parametrization (55) is singular at sin φ + = sin φ − = 0. For the nonsingular parameter region (φ 1 , φ 2 ) ∈ (see (56)), we can define the limit Then, the radial and circumferential components of the vector field can be defined analogously to (43): The singularity of the parametrization at sin φ + = sin φ − behaves the following way: -Consider the four parameter combinations given by (cos φ + , cos φ − ) = (±1, ±1). Each of them is a single point in the parameter plane (excluding periodicity, see the number 1-4 in the right panel of Fig. 8). In the same time, each of this combination covers a quarter arc on the unit sphere of normal directions (see the left panel of Fig. 8), which corresponds to continuously many slipping directions with the same tangential forces. -Consider the parameter combinations cos φ + = ±1, cos φ − = ±1 or cos φ − = ±1, cos φ + = ±1. These values cover the edges of the square regions in the parameter plane. In the same time, they correspond to the discrete points where the unit sphere intersects the codimension-2 discontinuity sets of Cases SR and RS. Thus, these states should be excluded from the analysis, because they correspond to the single-point slipping.
Thus, we denote the singular parameter set by and the corresponding normal vectors bỹ By the formula (62), the normal vectors correspond to the middle points of the four quarter arcs of the "equator" of the unit sphere (see Fig. 8). Then, the domain of the limit (59) can be extended to ∪˜ . The functions (60) can be applied to˜ , as well, but V + and V − coincide in this case because n + is then parallel to n − . Thus, we require a further vector for the following definition: Now, we have all the formulation to define the limit directions of the transitions between Cases RR and SS.

Definition 10 (Limit directions at the intersection)
Consider a pointx in the intersection # of the discontinuity sets + and − . Assume that the pair If a pointx possesses a repelling limit direction, then the two-point rolling state is not realizable because trajectories can escape from Case RR into Case SS through this direction. That is, all limit directions at x ∈ # must be attracting to avoid the two-point slipping, which condition is analogous to that of an attracting sliding point in Definition 8. However, we should also check the possibility of transitions when the body starts slipping at only one of the contact points.

Transition from Case RR into Cases RS and SR
In the rolling-slipping case (Case RS), the rolling constraint (18) leads to u + 1 = u 2 = 0. Then, the tangential forces at P − are given by In a similar way we did in (46)-(47), a system of algebraic equations can be solved for N + , N − , T + 1 and T + 2 , and then, we can express the time derivatives of the nonconstrained quasi-velocitiesu − 1 and˙ a . It can be shown that the resulting differential equatioṅ is a Filippov system, where # is embedded into + as a codimension-1 discontinuity set given by u − 1 = 0. The slipping-rolling case (Case SR) leads to a similar scenario: Then, the contact forces at P + are given by and the resulting differential equatioṅ is a Filippov system where # is a codimension-1 discontinuity set at u + 1 = 0. At a pointx ∈ , a transition from Case RR into Cases RS or SR can occur along a trajectory of F RS (x) or F SR (x) pointing away from the discontinuity set # . Thus, to avoid single-point slipping at P + or P − , the statex ∈ # must be an attracting sliding point of F RS (x) or F SR (x), respectively.

Realizability of the two-point rolling case
Now we can formulate the main consequence of the analysis. In the state space, the dynamics of Case RR (located in # ) is surrounded by domains of the slipping cases (Cases SS, RS and SR). When any slipping transition occurs between Case RR and a slipping case, at least a trajectory of the slipping vector fields F SS (x), F RS (x) or F SR (x) at # needs to leave # at the given point. Thus, the two-point rolling case is realizable when all slipping trajectories point towards the discontinuity set # . Then, the effect of small perturbations is eliminated by the slipping vector fields from all directions, and the two-point rolling state is recovered. Based on our results presented in the paper, our final consequence can be formulated: Definition 11 (Realizable two-point rolling) Let us consider the rigid body with two spatial contacts  6): a ball rolling in a horizontal right angle trough. By using the method developed in the paper, we can determine the conditions for the constant loading torque when the two-point rolling is realizable. Due to the undetermined contact forces, this process cannot be done by the usual techniques of rigid body mechanics described in Sects. 2 and 3. We say that a rolling or sticking statex ∈ # of the body is realizable if and only if -atx, all limit directions of F SS (x) are attracting, -x is an attracting sliding point of # with respect to F RS (x), -andx is an attracting sliding point of # with respect to F SR (x).

Application example-ball in a trough
The practical testing of the realizability conditions of Definition 11 often requires numerical techniques, because (60) leads to nonlinear equations in the sine and cosine of the angles φ + and φ − . In this last section, we demonstrate the method on a simple example where the conditions can be calculated analytically. Consider a homogeneous ball moving in a horizontal V-shaped trough (see Fig. 9). A general constant loading torque vector M e is acting on the ball. Our goal is to calculate the conditions when the two-point rolling of the ball is realizable. We assume a friction coefficient μ = μ s = μ d at both contact points.
In this example, the location of the contact points and the normal vectors are independent of the configuration, and they are given by r + = −r j, r − = −r i, n + = j, n − = i, (68) where r is the radius of the ball and i, j, k are the basis vectors fixed to the trough (see Fig. 9). Then, (1)-(3) become From (7), we get c + = c − = 1/ √ 2. Thus, we can use the notation u 2 = u + 2 = u − 2 = u a / √ 2, and the velocities of the contact points become For the homogeneous ball, the centre of the gravity C is the geometric centre. Let v denote the velocity of C along the trough, and the velocity vector iṡ v C =vk.
From (70) and (71), the angular velocity of the ball can be expressed, In this simple case, we replace (25) by a new set of quasi-velocities, which choice simplifies the form of the equations. The transformation ⎛ between (25) and (73) is just a rescaling of some components, which does not modify the general description presented above. The external force system consists of the resultant force F e = −mg/ √ 2(i + j) from the gravity g and the resultant torque M e = M ex i + M ey j + M ez k. From the Newton-Euler equations (14), we get and where m is the mass of the ball, an jmr 2 is the mass moment of inertia, where j = 2/5 for a homogeneous sphere.
The right-hand sides of (28) and the algebraic equations (29) are fully determined by the variables u + 1 , u − 1 and u 2 , and they do not depend on either v or an arbitrary set of q describing the configuration of the ball.
(Note that the system is symmetric with respect to the rotation of the ball around its centre and to the translation of the ball along the trough.) Consequently, the nonsmooth dynamics can be reduced to the space of quasi-velocities, The discontinuity sets are given by the variables (0, u − 1 , 0, v) ∈ + , (u + 1 , 0, 0, v) ∈ − , and (0, 0, 0, v) ∈ # = + ∩ − . According to (75)-(76), the two-point rolling in # is given by ⎛ ⎜ ⎜ ⎝u and the components N + , N − , T + 2 and T − 2 of the contact forces are undefined.
At a pointx = (0, 0, 0,v) ∈ # , we want to determine the conditions, where the two-point rolling motion of the realizable two-point motion. As the variable v does not directly affect the dynamics, the same result is expected independently from the choice ofx. Thus, instead of varying the statex, we investigate the dependence on the external torque components M ex , M ey and M ez as parameters.
For the simplicity of the formulae, we consider the dimensionless form of the torque components, and the realizable rolling states are explored in the parameter space (m x , m y , m z ).

Transition from Case RR to Cases RS and SR
In Case RS, the vector field F RS can be derived from (75)-(47) by considering the rolling constraint u + 1 = u 2 = 0 and the slipping friction force (64). Then, from the normal vectors n 1 = (0, 0, 1, 0) and n 2 = (0, 0, −1, 0) the limits (39) of the vector field become From Definitions (11) and 4, a realizable rolling states needs to satisfy F * SR1 , n 1 < 0 and F * SR2 , n 2 < 0. By using direct calculation from (80)-(81), the boundary cases F * SR1 , n 1 = 0 and F * SR2 , n 2 = 0 leads to respectively. Due to the symmetry of the mechanical system, a very similar calculation can be applied to Case SR, and in the boundary case, we get the equations In the parameter space (m x , m y , m z ) of the dimensionless components of the external torque, (35)-(36) describe four planes, which encompass a tetrahedron  (88), which is related to the two-point slipping. The body inside of these surfaces gives the region where the twopoint rolling is realizable (see Fig. 11) (see Fig. 10). Inside this tetrahedron, there is no onepoint slip transition to Cases RS and SR. However, we have to check the two-point slip transition, as well.

Transition from Case RR to Case SS
As we changed u a into u 2 in the transformation (74), we can redefine the angles (50) by Then, (51) simplifies to λ + 1 = cos φ + , λ + 2 = sin φ + , λ − 1 = cos φ − and λ − 2 = sin φ − . Then, by using (75)-(76) with the friction forces from (44), the limit vector field (59) can be written into the form where the normal forces are given by The limit vector field (85) can be used to calculate the conditions of the transition from Case RR to Case SS.
Slipping initiates simultaneously at both contact points, when an attracting limit direction appears at # according to Definition 10. In boundary case between and attracting and repelling limit direction, needs to be satisfied. From the three equations (87), the dimensionless moments m x , m y and m z can be expressed as a function of the angles φ + and φ − characterizing the direction of the slip transition: The expressions (88) form a parametric representation of a surface in the parameter space (m x , m y , m z ). This surface can be seen in Fig. 10, where the upper and lower branches of the curved surface are related to the two regions of the domain of directions in (56) and in Fig. 8.

Realizable two-point rolling
In the parameter space, the realizable region of twopoint rolling is determined by the interplay between the surfaces of one-point and two-point slipping transitions (see (82)-(83) and (88), respectively). Then, we got a three-dimensional region in the parameter space of the dimensionless torques m x , m y and , m z (see Fig.  11). The resulting "body" in the parameter space has four planar faces (denoted by solid grey), where the two-point rolling (Case RR) motion turns into onepoint slipping (Cases RS and SR); and two curved faces (denoted by the coloured parameter lines) where twopoint slipping (Case SS) appears.
When we analyse the effect of the torque component M ez , let us consider the special values (89) Fig. 11 The region in the parameter space of the dimensionless torques m 1 , m 2 , and m 3 , where the two-point rolling motion is realizable. This three-dimensional region is determined by the surfaces in Fig. 10. The grey planar surfaces correspond to onepoint slipping, and the coloured curved surfaces correspond to two-point slipping. The special points (90) are denoted by small circles, squares and triangles. The edge highlighted by red shows the parameter values where the maximum acceleration of the ball can be achieved in (78) with a realizable two-point rolling It can be shown from (82)-(83) and (88)  By analysing the region of the realizable rolling states, we can obtain a following interesting result: the maximal magnitude of accelerationv of the centre of the ball can be determined (see (78)). By direct calculation, it can be shown that this maximal acceleration with realizable two-point rolling is given bẏ and this acceleration is achieved by the torque vectors corresponding to the red coloured edge in Fig. 11.

Conclusion
In this paper, we analysed the motion of a rigid body that is in contact with two rigid surfaces in the presence of dry friction. When the normal contacts are maintained at both contact points, the slipping or rolling at each contact point results in four kinematic cases. It was shown that in the presence of Coulomb model or similar dry friction models, the state space of the two-point slipping system contains two codimension-2 discontinuity sets. These subspaces correspond to the two mixed rolling-slipping cases, and they intersect each other in the codimension-3 discontinuity set of the two-point rolling case. The nonsmooth dynamics of the body contains transitions between these cases in the corresponding subspaces. It can be shown that the kinematic constraints of rolling at the two contact points are not fully independent, which makes the contact forces undetermined in the two-point rolling case. Thus, the transitions from two-point rolling to the slipping cases cannot be determined directly from the limits of the static friction forces prescribed by the Coulomb model. We showed that the indeterminacy can be resolved by the qualitative analysis of the vector field at the discontinuity, which procedure is based on the consistency of the dry friction models. The analytical tools of nonsmooth systems were utilized to find the possible directions where trajectories are connected to the intersection of the two codimension-2 discontinuity sets, and thus, the possible rolling-slipping transitions can be explored without knowing the undetermined contact forces. Finally, we presented the dynamic conditions which ensure that the two-point rolling is realizable without slipping. Then, the method was demonstrated with analytical calculations for a ball rolling in a trough. It was proven that its maximal realizable acceleration without slipping is √ 2μg. The method can be applied to mechanical engineering problems containing two-point contact parts like railway wheelsets [11,19], where the qualitative behaviour of the dynamics could be explored in the parameter space. Another application of the method is to create analytical solutions of reference examples to test the capabilities of numerical methods of multibody software packages in cases of multiple contact points with dry friction.
A possible generalization of the analysis would be to consider more advanced friction models, including dynamical effects or pre-sliding displacement (see [16,21] for an overview), or the assumption of finite contact region creating spinning torques (see e.g. [14]).
It would be interesting to include frictional contacts applied though kinematic joints. For the analysis of theses system, the assumptions about of the friction should be reconsidered according to the energetic issues of the normal contact models [22,25].
Furthermore, it would be useful to check whether the formulation presented in the paper could help to improve numerical integration of mechanical systems with two or more contact points. The existence of limit directions provide some preliminary qualitative information about the solutions, which can be possibly exploited at numerical simulation.