Gyroscopically Stabilized Robot: Balance and Tracking

The single wheel, gyroscopically stabilized robot - Gyrover, is a dynamically stable but statically unstable, underactuated system. In this paper, based on the dynamic model of the robot, we investigate two classes of nonholonomic constraints associated with the system. Then, based on the backstepping technology, we propose a control law for balance control of Gyrover. Next, through transferring the systems states from Cartesian coordinate to polar coordinate, control laws for point-to-point control and line tracking in Cartesian space are provided.


Introduction
Recently, there has been growing interest in the design of feedback control laws for nonholonomic systems (Kolmanovsky, I. & McClamroch, N. H. (1995)). Due to Brockett's theorem in (Zabczyk, J. (1989)), it is well known that a nonholonomic control system cannot be asymptotically stabilized to a resting configuration by smooth time-invariant control laws (Bloch, A. M.; Reyhanoglu, M. & McClamroch, N. H. (1992)). Despite this, several discontinuous or time-variant approaches have been proposed for stabilizing such systems in (Bloch, A. M.;Reyhanoglu, M. & McClamroch, N. H. (1992)), (Indiveri, G. (1999)), (Tayebi, A. & Rachid, A. (1997)), (Lee, T. C.; Song, K.T.; Lee, C.H. & Teng, C. C. (2001)) and (Kolmanovsky, I. & McClamroch, N. H. (1995)). The references above refer to systems with firstorder nonholonomic constraints, which can usually be expressed in terms of nonintegrable linear velocity relationships. However, there is another kind of mobile robot systems, which possess both first-order and secondorder nonholonomic constraints, such as our robot --Gyrover, bicycles and motorcycles. Mobile robots have their inherent nonholonomic features, which can be described as first-order nonholonomic constraints among joint velocities and Cartesian space velocities. These arise when robots roll on the ground without slipping. Because no actuators can be used directly for stabilization in the lateral direction, these systems are underactuated nonlinear systems. This induces another nonholonomic constraint of robots. Thus, to compare with these above research works, our mobile robot systems --Gyrover, is more challenging to be controlled. This paper can provide some ideas for that class of problems. In this paper, we want to control an underactuated mobile robot system --Gyrover. There are two control inputs: one is the steering torque (or rate) and the other is the driving torque (or speed). However, we have four independent generalized coordinates to control: (1) the lean angle, (2) the heading angle, (3) the Cartesian space X axis, (4) the Cartesian space Y axis. Our previous papers (Au, K. W. & Xu, Y. (1999)) and (Au, K. W. & Y. Xu, (2000)) assume that the robot remains around the vertical position, which simplify this nonlinear system to a linear one. Therefore validation of the results can be limited. Some work has been on the tracking of a rolling disk, such as in (Rui, C. & McClamroch, N. H. (1995)), which assumed three control inputs in the direction of steering, leaning and rolling, where no unactuated joint and no second-order constraint is presented. In (Getz, N. H. (1995)), the author simplified the bicycle dynamic model, and used velocities as control inputs to enable the lean angle (called "roll-angle" in that paper) to track trajectories, which have continuous differentials. However, the controller could not guarantee that the bicycle would not topple over, i.e. the lean angle was out of range, before convergence. In this paper, we focus on three control problems that have not yet been solved for this robot. The first problem is the balance of the robot while standing. The second problem is concerned with point to point control. The third problem relates to following a straight line. These three problems are of significance in controlling a system with both first-order and second-order nonholonomic constraints.

Gyrover
We have developed a single wheel, gyroscopically stabilized robot, Gyrover, over several generations, each one more sophisticated, reliable and capable of better performance (Brown, H. B. & Xu, Y. (1996)). Figure 1 shows a photograph of Gyrover. Gyrover is a novel, single wheel gyroscopically stabilized robot. Figure 2 shows a schematic representation of the mechanism design. In brief, the robot is a sharp-edged wheel, inside of which an actuation mechanism is fitted. The actuation mechanism consists of three separate actuators: (1) a spin motor, which spins a suspended flywheel at a high rate, imparting dynamic stability to the robot; (2) a tilt motor, which controls the steering of the robot; and (3) a drive motor, which causes forward and/or backward acceleration, by driving the single wheel directly. The behavior of Gyrover is based on the principle of gyroscopic precession as exhibited in the stability of a rolling wheel. Because of its angular momentum, a spinning wheel tends to precess at right angles to an applied torque, according to the fundamental equation of gyroscopic precession: where ω is the angular speed of the wheel, Ω is the wheel's precession rate, normal to the spin axis, J is the wheel polar moment of inertia about the spin axis, and T is the applied torque, normal to the spin and precession axes. Therefore, when a rolling wheel leans to one side, rather than falling over, the gravitationally induced torque causes the wheel to precess so that it turns in the direction that it is leaning. The robot supplements this basic concept with the addition of an internal gyroscope --the spinning flywheel --nominally aligned with the wheel and spinning in the direction of forward motion. The flywheel's angular momentum produces lateral stability when the wheel is stopped or moving slowly. Gyrover has a number of potential advantages over multi-wheeled vehicles: 1. The entire system can be enclosed within the wheel to provide mechanical and environmental protection for equipment and mechanisms. 2. Gyrover is resistant to getting stuck on obstacles because it has no body to hang up, no exposed appendages, and the entire exposed surface is live (driven). 3. The tiltable flywheel can be used to right the vehicle from its statically stable, rest position (on its side). The wheel has no "backside" on which to get stuck. 4. Gyrover can turn in place by simply leaning and precessing in the desired direction, with no special steering mechanism, enhancing maneuverability. 5. Single-point contact with the ground eliminates the need to accommodate uneven surfaces and simplifies control. 6. Full drive traction is available because all the weight is on the single drive wheel. 7. A large pneumatic tire may have very low groundcontact pressure, resulting in minimal disturbance to the surface and minimum rolling resistance. The tire may be suitable for traveling on soft soils, sand, snow or ice; riding over brush or other vegetation; or, with adequate buoyancy, for traveling on water.
Potential applications for Gyrover are numerous. Because it can travel on both land and water, it may find amphibious use on beaches or swampy areas, for general transportation, exploration, rescue or recreation. Similarly, with appropriate tread, it should travel well over soft snow with good traction and minimal rolling resistance. As a surveillance robot, Gyrover's slim profile enables it to pass through doorways and narrow passages, and its ability to turn in place to maneuver in tight quarters. Another potential application is as a high-speed lunar vehicle, where the absence of aerodynamic disturbances and low gravity would permit efficient, high-speed mobility. As Gyrover's development progresses, we anticipate that other more specific uses will become evident.

Inertia Matrix and Nonholonomic Constraints
The kinematics and dynamics of Gyrover are different from those of unicycles, such as in (Aicardi, M.;Casalino, G.;Balestrino, A. & Bicchi, A. (1994)). The difference lies in the assumption that the unicycle always remains vertical. On the contrary, Gyrover can be considered as a rolling disk which is not constrained to the vertical position and is connected to a high speed spinning flywheel. This model can serve well as a simplification for the study of a model of Gyrover. Consider a disk rolling without slipping on a horizontal plane as shown in Figure 3 , and ∑ c z y x , , be the inertial frame whose y x − plane is anchored to the flat surface and the body coordinate frame whose origin is located at a center of the rolling disk,  (1999)) and letting ), sin( : x S x = ), cos( : x C x = the dynamic model is as follows.
, is the robot's center of mass coordinate with respect to the inertial frame as shown in Figure 3.
are the inertial matrix and nonlinear terms, respectively. Equations (1) and (2) form the dynamic model and first-order nonholonomic constraints in the form of velocity. In order to simplify the control design, we will transform the inertia matrix of the model to a diagonal matrix and reduce the nonlinear terms of the dynamic model. We first intend to cancel some nonlinear terms by letting Substituting Equation (3) into Equation (1)  From the first and third equations in Equation (4) solving with respect to α and γ one obtains Due to its "shell" structure, even when Gyrover topples over, the lean angle is not zero, so that for all t . Then, we let Equation (2) 1999)). Hence, it is the firstorder nonholonomic constraint of the robot system. Moreover, we note that no control input is available for actuating directly on lean angle β . This forms a constraint in form of accelerations. G. Oriolo in (Oriolo, G. & Nakamura, Y. (1991)) proposed some necessary conditions for the partial integrability of second-order nonholonomic constraints, one of the conditions is the gravitational term u G is constant. In Equation (5), the gravitational term varies along β , thus it is a nonintegrable, second-order nonholonomic constraint.

Balance Control
Our first control problem is to enable the robot to stand vertically, i.e., to stabilize the lean angle β to 2 π and β , β , α and γ to zero. Based on the previous considerations, we are now able to specify more clearly the aforementioned closed loop steering problem in the following general terms. Let the robot system defined in Equation (5) (6), we have ( ) Proposition 1 Consider the system (6) with the feedback control laws 5 u and 6 u , where V is defined in Equation (10) and 2 k is a positive number, which can be designed, and are defined as in Equation (7).
starting from the domain D , which is defined as To present the proof, we need a lemma. Lemma 1 Consider a mechanical system with a constraint among a number of states .
One of these state variables is uniquely determined by the other states; i.e., and all of the other states be asymptotically stabilizable to some real values. If all of the states are continuous and bounded, for all of t , then, n x is also asymptotically stabilized to its limit, which is decided by the other states. Proof : Because n x is uniquely decided by the other states and has a limit as time goes to infinity, n x will converge to the limit decided by the other states. Then, we address the proof for Proposition 1. Proof : First, to prove the subsystem asymptotically stabilized, we consider the following positive definite Lyapunov function candidateV , defined on D , We need to solve two more problems before we can prove the subsystem is asymptotically stable. One is whether α is not zero in any finite time; the other is whether the controllers guarantee β is constrained in ( ) π , 0 . We will address the first problem later. We prove the second problem by replacing 6 u into Equation (6). We have ( ) By solving this linear differential equation, we obtain From 2 π σ < , we know that π β < < 0 for all t . Then, from Equation (10) From Equations (10) and (12), we have We can use the following Lyapunov function to prove α converging to zero.
By substituting Equations (8) and (13) into it, we have Then we prove that the condition 0 = α cannot ever be approached in any finite time. Without losing generality, we assume ( ) 0 0 > α and let 2 k be 1.
If we let ( ) 0 0 V V = , from Equation (13), and by solving the differential equation, we obtain does not become zero for all t and from Equation (15), γ is continuous. We will prove that the limit of γ exists and is zero, as time goes to infinity. From Lemma 1, if we asymptotically stabilize α β β , , and guarantee that all of these states are continuous and bounded, γ will asymptotically converge to zero. Since α will never be zero, there are two problems left. One is can be stabilized and the other is whether we can guarantee π β < (15) As V and α reach very small values, V is the higher is the higher order small of α , and so as to β and β . Using a Taylor series expansion, β C is a higher order small of α . Thus, from Lemma 1 and the above equation, γ asymptotically converges to zero.

Position Control
Here, we propose a controller that drives the robot to the Cartesian space origin to study the point to point control problem. This is extremely important, for it serves as the basis for Cartesian space tracking.
Since the origin of the frame XYZO ( ) Figure 3 is fixed on the ground, for the purposes of tracking problems, it is more direct to use the point of contact A on the ground to describe the position of the robot, instead of the center of mass. Let ( ) α α y x , be the coordinates of the contact point A on the ground that coincides with a point of contact P of the robot in Figure  3. a x and a y can be expressed as Differentiating Equation (16) with respect to time, we obtain There are two kinds of input control commands for Gyrover: one set of control commands are torques and the other set of commands are velocities. The velocity commands α u and γ u control α and γ , respectively.
Thus, Equations (2) and (5)  On the basis of the previous considerations, we are now ready to address the aforementioned closed loop steering problem in the following general terms. Let the robot system be initially located at any non-zero distance from the inertial frame and assume that all state variables required are directly measurable.  x if Let 2 3 > k be a positive scalar constant, which can be designed and should be less then max α . Let The time derivative V is given by (22) and (20) into Equation (18), we obtain

Thus 1
V is positive definite and 1 V is negative definite. The remaining problem concerns why β will not reach 0 or π during the entire process.
In these cases . 0 2 = V Equation (24) presents two possible solutions for the system.

Line Tracking Control
For a mobile robot, such as Gyrover, most traveling tasks can be realized by following connected segments of straight lines. For example, Figure 5 shows a mobile robot's travel path along a series of connected corridors. How to realize the straight line following while keeping the robot vertical is our control problem. As depicted in Figure 6, where ( ) 2 2 , y x is the coordinate of the second point, let us consider Gyrover initially positioned at a neighborhood of the origin (i.e., the start point) and standing almost vertically, about to take a straight line so as to approach the second point. Let us define e r, and d , which are nonnegative, as the distances from A to origin, the line and the second point, respectively. θ and φ are defined as in Figure 6. Then, we have the following equations where 2 f is defined in Equation (27 (21) and (22). Let Θ (.) be a sign function described as follows: We let )) ( ( where 5 k is a positive scalar constant which can be designed and should be less then .
The time derivative V is given by . This means that the first term e is always non-increasing in time and consequence. If 0 = d is maintained, e is also zero. Moreover, from Figure 6 . By omitting them, V is negative semi-definite. As with the previous process, it is trivial to prove that the only solution of the system, for Thus, we prove the proposition.

Experiment
An on-board 100-MHZ 486 computer was installed in Gyrover to deal with on-board sensing and control. A flash PCMCIA card is used as the computer's hard disk and communicates with a stationary PC via a pair of wireless modems. Based on this communication system, we can download the sensor data file from the onboard computer, send supervising commands to Gyrover, and manually control Gyrover through the stationary PC. Moreover, a radio transmitter is installed for a human operator to remotely control Gyrover via the transmitter's two joysticks. One operator uses the transmitter to control the drive speed and tilt angle of Gyrover. Hence, we can record the operator's driving data. Numerous sensors are installed in Gyrover to measure state variables.Two pulse encoders were installed to measure the spinning rate of the flywheel and the wheel. Furthermore, we have two gyros and an accelerometer to detect the angular velocity of yaw, pitch, roll, and acceleration respectively. A 2-axis tilt sensor was developed and installed for directly measuring the lean angle and pitch angle of Gyrover. A gyro tilt potentiometer is used to calculate the tilt angle of the flywheel and its rate change. The on-board computer runs on an OS, called QNX, which is a real-time micro-kernel OS developed by QNX Software System Limited. Gyrover's software system is divided into three main programs: (1) communication server, (2) sensor server, and (3) controller. The communication server is used to communicate between the on-board computer and a stationary personal computer (PC) via an RS232, while the sensor server is used to handle all the sensors and actuators. The controller program implements the control algorithm and communicates among these servers. All programs are run independently in order to allow real-time control of Gyrover. To compensate for the frictions at the joints, we adopt the following approximate mathematical model: is the viscous friction coefficient; is the dynamic friction coefficient;

Balance Control
The purpose of this set of experiments is to keep Gyrover balance. Some experimental results are shown in Figure 7 and Figure 8. Despite several successful examples, control laws sometimes failed. We believe this is because the initial condition already went out to the domain D in Proposition 1. With regard to balance control, the initial condition seems to be too narrow for the constraint, . 2 / π σ < If we make a small modification to 6 u as follows, the controller can be used in a wider range of initial conditions. β β π β k is a positive number, which can be designed.
To prove the subsystem β β β , , is asymptotically stabilized, we consider the following Lyapunov function . In order to communicate the data, an interface board (digital I/O) is installed in a PC and there are wireless modems to connect the PC and Gyrover. The first problem experienced was that the system states exhibited highly oscillatory behavior and the second was that control inputs sometimes needed to switch too sharply and fast. Both will cause difficulties for real time control and result in worse performance. To solve these problems, we propose to replace the sign functions in the controllers with tanh functions. Let (.) Tanh be a bipolar function described as follows: where 6 k is a positive scalar constant, which can be designed. Let (.) Uanh be a unipolar function described as follows: where 7 k is a positive scalar constant, which can be designed. We substitute (.) Sgn and (.) Θ with (.) Tanh and, respectively. However, that they have different values is a problem, if 0 = x . In a real time experiment, 0 = x very seldom appears and can not be maintained, because there is too much noise. Thus, it is safe to perform the suggested substitution from this point of view. The trajectory that Gyrover had traveled is shown in Figure 9. A number of sensor reading results are shown in Figure10.

Line Tracking
In this experiment, Gyrover is required to travel a straight path which is about 5 m long. The trajectory that Gyrover traveled is shown in Figure 12. A number of sensor reading results are shown in Figure 13.

Conclusion
In this paper, we studied control problems for a single wheel, gyroscopically stabilized robot. We investigated the dynamics of the robot system, and analyzed the two classes of nonholonomic constraints of the robot. We proposed three control laws for balance, point-to-point control and line tracking. The three problems considered are fundamental tasks for Gyrover control.