On the Dynamics of a Ball Rolling on a Tipping Plane

The model of a ball rolling on an inclined plane is derived using screw theory and Lie algebra. The plane is supported by a gimbal and the inclination can be controlled in two orthogonal directions. The model includes effects due gravity, Coriolis and centripetal torques.


Introduction
The analysis of a ball roll on an inclined plane is a familiar example in dynamics [4]. What seems to be lacking is a dynamic model of a ball rolling on plane that can tip. This is curious because there are many internet videos showing a modified Gough-Stewart platform supporting a touch screen with a ball rolling on it, its motion controlled by tipping the platform. However, literature on the subject seems scarce. Either the plane can be inclined in only one direction [1] or the model is extremely simplified to disregard the Coriolis and centripetal effects [7].
The availability of inexpensive hardware makes possible the assembly of experiments in control theory at a low cost. Using, for instance, an Arduino microcontroller, it is possible to create a control system with sensors and actuators. The experiment addressed in this paper can be assembled using servomotors originally intended for remote control, a resistive type touch screw and gimbal made from 3D printed parts. Two types of control are possible: torque and position. In torque control the servomotor applies the desired amount of torque to the system. In position control, the servomotor, itself a closed-loop control system, seeks the desired position. The availability of inexpensive position servomotors directs the model development towards the position type. Including torque is, however, straightforward, but would require more expensive servomotor for a practical application.
In this work we present a dynamic model that can be used in simulation to develop linear or non-linear control under the following assumptions: 1) the ball is free to roll on plane due to its own weight and it rolls without slipping; 2) the ball never loses contact with the plane; and 3) the motors that the move plane produces enough torque at all times.
The first assumption requires that no external force other than the ball's weight is applied to the system. Further, the plane is never excessively inclined so the component of the frictional force acting on the plane is always sufficient to prevent slipping. The controller never generates extreme torque so the ball is never launched off the plane. However, the torque produced by the motor is always enough to produce the desired motion.
We begin with a neat description of the dynamics formulated using screw theory and Lie algebra [8] and work through a complete model using scalar variables suitable for simulation. Inertial effects due to Coriolis and centripetal torques are included. Friction is disregard for brevity.
The model is developed in Section 2 starting with the kinematic equations in Section 2.1. The equation of motion is introduced in Section 2.2. In Section 2.3, the contact constrains, i.e., the mutual screw actions between the ball and the plane are presented. The rolling constrains, i.e., the relationship between the angular and linear speeds on the plane, is imposed in Section 2.1. The final equations and a remarks on singularity are presented in Section 2.4. In Section 3, the use of the model is demonstrated both in open loop (path execution) and closed loop (trajectory tracking).

A Lie Theoretic Approach to the Dynamics
A plane is mounted on a gimbal so that the plane can roll and pitch as shown in Fig. 1. Assume the centre of the plane is fixed, and use this as the origin of a fixed coordinate frame with the z-axis pointing directly upwards and the x and y-axes aligned with the gimbal axes when the plane is parallel to the ground, also called the home position (see Fig.1a).

The Kinematic Equations
The position of the ball will be described by a rigid displacement G (t). This will be taken with respect to a standard reference position that we will refer to as the home position (see Fig.1a). The home position we use will be where the plane is parallel to the ground and the ball contacts the plane at the origin of our fixed coordinate system. We should really also specify a starting orientation of the ball, but we assume the orientation of the ball is not measured.
The velocity of the ball is given by a twist, that is, a combination of angular velocity ω and a characteristic linear velocity v. This characteristic velocity is the velocity of a point on the rigid body instantaneously coincident with the origin. The twist can be represented as a six component vector, (1) So, Ω = ad ( ω) is the 3 × 3 anti-symmetric matrix obtained from ω. In terms of the rigid displacement specifying the pose of the ball, the twist is given by the kinematic equation, The gimbal controlling the plane also has kinematics, however, we will assume it has no dynamics. That is we will assume that the motors driving the gimbal are powerful enough that the moment caused by the ball is a small or even negligible disturbance. So, the normaln to the plane will be controlled by the angle of the gimbal's motors,n where the rotation matrices can be expanded to give, The ball makes contact with the plane at point x y 0 T in a coordinate frame attached to the plane. In Fig.1b and 1c this coordinate frame is denoted by a prime after the corresponding axes. It is these coordinates that can be measured using a resistive touchscreen. In the global coordinate frame, the contact point is given by The centre of the ball is at x y r T where r is the ball radius and, in the global coordinate frame, Plane Motion The plane rotates about the origin in two different directions controlled by the gimbal. So, there is no characteristic linear velocity. The first 3 rotation is about y-axis and can be describe by twist is the time derivative of s 1 .
The second rotation is about an axis which, in the home position, would be coincident with x-axis and it is affected by the first rotation, so, it is given by R (φ)î . This motion is describe by twist is the time derivative of s 2 .

Rolling Constraints
The constraint that demands that the ball rolls on the plane without slipping implies that the ball is instantaneously rotating about a line through the contact point between the ball and the plane. As a basis for the direction of the twists we can use the x and y-directions, but rotated with the plane, Note that both are unit vectors. Since the ball rolls without slipping, the angular speeds, i.e., the magnitude of ω 3 and ω 4 , are related to the linear speeds in each direction. For the ball to translate in the positive x-direction it needs to roll around an axis parallel to y-axis with angular speedẋ/r, and in the ydirection it must roll around an axis parallel to x-axis with angular speed −ẏ/r, i.e., effectively the instantaneous axis is parallel to −x-axis. The angular speed normal to plane isγ.
The velocity twist of the ball relative to the plane is then, with and s 5 = n p ×n.
where p is the contact point andn is normal to the plane. (see Section 2.1). Notice that, when these quantities are substituted into the equation (21) we will have to differentiate s and this will involve the derivatives of the gimbal angles θ and φ. That is, and y sin θ +θ y cos θ φ y cos θ sin φ −ẏ cos φ cos θ +θ y cos φ sin θ The time derivative ofγ s 5 is obtained in the same way.
The total velocity twist that describes the ball motion is

Equation of Motion
The momentum of a rigid body can be expressed as a six-component vector called a co-twist [8]. This is a combination of the angular and linear momenta of the body and is given by multiplying the body's twist by its inertia matrix. The rate of change of momentum gives the wrench applied to the body, we have, Here G is the wrench due to gravity and R the reaction wrench caused by the contact between the ball and the plane. The matrix N is the 6 × 6 inertia matrix of the body. In general this matrix has the shape, where I is the usual 3 × 3 inertia matrix of the body, m its mass and C the antisymmetric matrix corresponding to the position vector of its centre of mass. For a ball of mass m and radius r in the home position described above the inertia matrix will be, Notice here that the ball's centre of mass is a distance r above the contact point with the plane. The inertia matrix changes as the body moves, in general if the body is subject to displacement G the 6 × 6 inertia matrix will change from N 0 in its original position to, where Ad (G) denotes the adjoint representation of the group of rigid body displacements. In partitioned form we have, with R = R (φ) Rî (θ) the 3 × 3 rotation matrix of the displacement and T the 3 × 3 anti-symmetric matrix corresponding to the translational part of the displacement, T = ad ( p). Hence we get, Evaluating the derivatives gives the equation of motion as [8],

Contact Constraints
If we assume that the ball remains in contact with the plane the forces perpendicular to the plane must cancel. That is the applied wrench, G − R must consist of forces parallel to the plane. This allows us to find the reaction wrench R. First the gravity wrench is given by, where c is the position vector of the centre of mass of the ball. Now the reaction wrench is given in general by, with λ the intensity of the wrench. Usually we think of the reaction wrench as passing through the point of contact between the ball and plane, but any point on the line of action of the force will do here. For the wrench, the last three components specify the direction of the force while the first three components give the moment of the force. In the direction of the normal to the planen we have −m g cos θ cos φ − λ = 0 (24) So λ = −m g cos θ cos φ and so the wrench on the right-hand side of the equation (21) can be written, where

Model
Using the twist in equation (14), its time derivative and the inertia matrix it is possible to obtain the left-hand side of equation (21). This contains some very lengthy terms. Compact equations can be obtained pairing both sides equation (21) with s 3 , s 4 and s 5 . This has the effect of projecting the wrenches on these particular directions. Therefore, three of the possible equations are: where the common factor m r can be cancelled. Equation (27) gives three scalar equations that relate the two input (or control) variables φ and θ with the tree output (or controlled) variables x, y and γ, or more exactly their second time derivatives.
The first two terms of equation (27) relate the gimbal angular acceleration with the acceleration of the ball on the plane. For the purpose of controlling the ball, it is interesting to note thatθ cannot influenceẍ, butφ can influenceÿ if θ = 0. The third term is the centripetal effect and the fourth is the Coriolis effect. Recall that the angular speeds about the contact point are expressed in terms of the linear velocity of the ball, so, the Coriolis term includesẋ andẏ. The right-hand side of equation (27) is the projection of the ball's weight on the plane in x and y-directions.
Equation (27) can be used to simulate the ball's motion on the plane given the functions φ (t) and θ (t) and their first two time derivatives. It can also be used in feed-back linearisation control that synthesizes φ and θ to control the position on the plane. In this case, the controller is singular if 7 r cos θ + 5 y sin θ = 0 (28) this can happen in two cases: when y = 0 and cos θ = 0 (which is unlikely since the system is expected to operate with small values of θ and φ); and if which, again, is unlikely in practice because it demands a high value for θ or y.
Assuming, for instance, that the plane extends from its centre twenty times the radius of the ball and the ball reaches the edge; θ should be approximately 4 • to get near the singularity and this is a large slope for such a system. Nevertheless, the singularity requires special attention since the controller performance will be affected. Equation (29) impliesφ cannot influenceẍ if the distance between the contact point and the y-axis measured perpendicular to s 3 is equal to 7 r/5. In this case, the ball's mass and inertia counter balance the accelerationφ.
Initially, the gimbal is at a position similar to Fig. 1b, but inclined at only 0.01 rad. The ball's mass is unimportant. Applying the above functions and initial condition in equation (27) leads to second order system of equations in x and y. Numerically integrating these equations produces the desired result. Fig. 27 shows the first 10 s. Equation (27) can also be used to simulate a system under control. Several control structures can be employed to synthesise suitable values forφ andθ in order to follow a desire trajectory. One of the simplest structures is a PD control given by φ where x d and y d are the desire position on the plane,ẋ d andẏ d are the desire speed and k v and k p are the controller constants (scalar or 2 × 2 matrices). No attempt to control the angular speed perpendicular to plane,γ, were made. Fig. 2b illustrates the path followed by the ball attempting to track a path given by which is a 10 cm-diameter circle and should be completed in approximately 21 seconds. The constants were set to k v = 100 rad /s m and k p = 0.1 rad /s 2 m. The maximum angular speed and inclination were 0.1547 rad /s and 0.03 rad, respectively. In practical applications, if these values exceed the actuator operational limits, the constants will need to be adjusted.  (27), that correspond to effect of gravity, is the principal component since the ball and plane dimension should be small. Thus, a gravity compensator would seem to be appropriate. Non-linear control techniques [5], normally employed in Robotics [3,9], may be useful. Methods that inject passivity into the system may also be applicable [2,6].

Conclusion
A complete model for a ball rolling on a tipping plane has been developed using screw theory and Lie algebra. Other approaches, like Lagrange multipliers, can be proven problematic since the constrains in this case are non-holonomic. The model includes inertia, gravity, centripetal and Coriolis effects. This reveals an interesting singularity that prevents the production of acceleration in x-direction.
The model, represented by equation ((27)), can be applied as a case study in non-linear control theory. It can be employed in controller synthesis and validation and also to determine the operational parameters of actuators.
In future work some more practical considerations can be included such as axes misalignment, constant offsets, and so forth. Also, a torque model that includes the inertia of the gimbal could be devised.