Abstract

This paper presents development and control of a disc-typed one-wheel mobile robot, called GYROBO. Several models of the one-wheel mobile robot are designed, developed, and controlled. The current version of GYROBO is successfully balanced and controlled to follow the straight line. GYROBO has three actuators to balance and move. Two actuators are used for balancing control by virtue of gyro effect and one actuator for driving movements. Since the space is limited and weight balance is an important factor for the successful balancing control, careful mechanical design is considered. To compensate for uncertainties in robot dynamics, a neural network is added to the nonmodel-based PD-controlled system. The reference compensation technique (RCT) is used for the neural network controller to help GYROBO to improve balancing and tracking performances. Experimental studies of a self-balancing task and a line tracking task are conducted to demonstrate the control performances of GYROBO.

1. Introduction

Mobile robots are considered as quite a useful robot system for conducting conveying objects, conducting surveillance, and carrying objects to the desired destination. Service robots must have the mobility to serve human beings in many aspects. Most of mobile robots have a two-actuated wheel structure with three- or four-point contact on the ground to maintain stable pose on the plane.

Recently, the balancing mechanism becomes an important issue in the mobile robot research. Evolving from the inverted pendulum system, the mobile-inverted pendulum system (MIPS) has a combined structure of two systems: an inverted pendulum system and a mobile robot system. Relying on the balancing mechanism of the MIPS, a personal transportation vehicle has been introduced [1]. The MIPS has two-point contact to stabilize itself. Advantages of the MIPS include robust balancing against small obstacles on the ground and possible narrow turns while three- or four-point contact mobile robots are not able to do so.

In research on balancing robots, two-point contact mobile robots are designed and controlled [1–5]. A series of balancing robots has been implemented and demonstrated their performances [3–5]. Currently, successful navigation and balancing control performances with carrying a human operator as a transportation vehicle have been reported [5].

More challengingly, one-wheel mobile robots are developed. A one-wheel robot is a rolling disk that requires balancing while running on the ground [6]. Gyrover is a typical disc-typed mobile robot that has been developed and presented for many years [7–11]. Gyrover is a gyroscopically stabilized system that uses the gyroscopic motion to balance the lean angle against falling as shown in Figure 1. Three actuators are required to make Gyrover stable. Two actuators are used for balancing and one actuator for driving. Experimental results as well as dynamical modeling analysis on Gyrover are well summarized in the literature [12].

In other researches on one-wheel robots, different approaches of modelling dynamics of a one-wheel robot have been presented [13, 14]. Simulation studies of controlling a Gyrobot along with design and fabrication are presented [15, 16]. An interesting design of a single spherical-wheel robot has been presented [17–19]. Successful balancing control of the spherical-wheel robot has been demonstrated.

In this paper, a one-wheel robot called GYROBO is designed, implemented, and controlled. GYROBO has three actuators to move forward and backward and to balance itself. Although aforementioned research results provide dynamics models for the one-wheel robot, in real physical system, it is quite difficult to control GYROBO based on dynamic models due to several reasons. First, modeling the system is not accurate. Second, it is hard to describe coupling effects between the body wheel and the flywheel since the system is nonlinearly coupled. Third, it is a nonholonomic system.

Therefore, we focus on optimal mechanical design rather than modeling the system since the dynamic model is quite complicated. Although we have dynamic models, other effects from uncertainties and nonmodel dynamics should be considered as well for the better performance.

After several modifications of the design, the successful design and control of GYROBO are achieved. Since all of actuators have to be housed inside the one wheel, design and placement of each part become the most difficult problem.

After careful design of the system, a neural network control scheme is applied to the model-free-controlled system to improve balancing performance achieved by linear controllers. First, a simple PD control method is applied to the system and then a neural network controller is added to help the PD controller to improve tracking performance. Neural network has been known for its capabilities of learning and adaptation for model-free dynamical systems in online fashion [2, 20].

Experimental studies of a self-balancing task and a straight line tracking task are conducted. Performances by a PD controller and a neural controller are compared.

2. GYROBO Modelling

GYROBO is described as shown in Figure 2. Three angles such as spin, lean, and tilt angle are generated by three corresponding actuators. The gyro effect is created by the combination of two angle rotations, flywheel spin and tilt motion.

The dynamics of one-wheel robot system has been presented in [7, 11, 13]. Table 1 lists parameters of GYROBO. This paper is focused on the implementation and control of GYROBO rather than analyzing the dynamics model of the system since the modeling has been well presented in the literature [11].

Since the GYROBO is a nonholonomic system, there are kinematic constraints such that the robot cannot move in the lateral direction. GYROBO is an underactuated system that has three actuators to drive more states.

We follow the dynamic equation of the GYROBO described in [11]:𝑀(π‘ž)Μˆπ‘ž+𝐹(π‘ž,Μ‡π‘ž)=π΄π‘‡πœ†+𝐡𝑒,(1) whereβŽ‘βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ£π‘€(π‘ž)=π‘š000000π‘š000000𝑀330𝐼𝑧𝑀𝑆𝛽0000𝐼π‘₯𝑀+𝐼π‘₯𝑓+π‘šπ‘…2𝑆2𝛽0𝐼π‘₯𝑓00𝐼𝑧𝑀𝑆𝛽0𝐼𝑧𝑀0000𝐼π‘₯𝑓0𝐼π‘₯π‘“βŽ€βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯⎦,𝑀33=𝐼𝑦𝑀𝐢2𝛽+𝐼𝑧𝑀𝑆2𝛽+𝐼𝑦𝑓𝐢2𝛽+𝛽𝑓+𝐼𝑧𝑓𝑆2𝛽+𝛽𝑓,⎑⎒⎒⎒⎒⎒⎒⎒⎒⎒⎒⎒⎣00𝐹𝐹(π‘ž,Μ‡π‘ž)=3𝐹4𝐼𝑧𝑀̇𝛽𝐹𝐢𝛽̇𝛼6⎀βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯⎦,(2)where 𝐹3𝐼=2π‘§π‘€βˆ’πΌπ‘¦π‘€ξ€ΈΜ‡πΆπ›½π‘†π›½Μ‡π›Όπ›½+𝐼𝑧𝑀̇𝐼𝐢𝛽𝛽̇𝛾+2π‘§π‘“βˆ’πΌπ‘¦π‘“ξ€ΈπΆξ€·π›½+𝛽𝑓𝑆𝛽+𝛽𝑓̇̇𝛽𝛽+𝑓̇𝛼+𝐼𝑧𝑓𝐢𝛽+𝛽𝑓̇̇𝛽𝛽+𝑓𝛾𝑓,𝐹4=π‘šπ‘…2̇𝛽𝑆𝛽𝐢𝛽2+ξ€·πΌπ‘¦π‘€βˆ’πΌπ‘§π‘€ξ€ΈΜ‡π›ΌπΆπ›½π‘†π›½2βˆ’πΌπ‘§π‘€+ξ€·πΌπΆπ›½Μ‡π›ΎΜ‡π›Όπ‘¦π‘“βˆ’πΌπ‘§π‘“ξ€ΈπΆξ€·π›½+𝛽𝑓𝑆𝛽+𝛽𝑓̇𝛼2βˆ’πΌπ‘§π‘“πΆξ€·π›½+π›½π‘“ξ€ΈΜ‡π›Ύπ‘“πΉΜ‡π›Όβˆ’π‘šπ‘”π‘…π‘†π›½,6=ξ€·πΌπ‘¦π‘“βˆ’πΌπ‘§π‘“ξ€ΈπΆξ€·π›½+𝛽𝑓𝑆𝛽+𝛽𝑓̇𝛼2βˆ’πΌπ‘§π‘“πΆξ€·π›½+π›½π‘“ξ€ΈΜ‡π›Ύπ‘“βŽ‘βŽ’βŽ’βŽ£βŽ€βŽ₯βŽ₯βŽ¦βŽ‘βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ£π‘‹π‘Œπ›Όπ›½π›Ύπ›½Μ‡π›Ό,(3)𝐴=10βˆ’π‘…πΆπ›ΌπΆπ›½π‘…π‘†π›Όπ‘†π›½βˆ’π‘…πΆπ›Ό001βˆ’π‘…πΆπ›½πΆπ›Όβˆ’π‘…πΆπ›ΌπΆπ›½βˆ’π‘…π‘†π›Ό0,(4)π‘ž=π‘“βŽ€βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ¦βŽ‘βŽ’βŽ’βŽ£πœ†,πœ†=1πœ†2⎀βŽ₯βŽ₯βŽ¦βŽ‘βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ’βŽ£π‘˜,𝐡=0000000010⎀βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ₯βŽ¦βŽ‘βŽ’βŽ’βŽ£π‘’01,𝑒=1𝑒2⎀βŽ₯βŽ₯⎦,(5) where 𝐢𝛼=cos(𝛼), and 𝑆𝛼=sin(𝛼).

3. Linear Control Schemes

The most important aspect of controlling GYROBO is the stabilization that prevents from falling in the lateral direction. Stabilization can be achieved by controlling the lean angle𝛽. The lean angle in the 𝑦-axis can be separately controlled by controlling the flywheel while the flywheel rotates at a high constant speed. Spinning and tilting velocities of the flywheel induce the precession angle rate that enables GYROBO to stand up. Therefore, a linear controller is designed for the lean angle separately to generate suitable flywheel tilting motions.

3.1. PD Control for Balancing

The PD control method is used for balancing of GYROBO. The lean angle error is defined as𝑒𝛽=π›½π‘‘βˆ’π›½,(6) where 𝛽𝑑is the desired lean angle value which is 0 for the balancing purpose and 𝛽is the actual lean angle. The angle error passes through the PD controller and generates the tilt torque 𝑒𝛽 for the flywheel:𝑒𝛽=π‘˜π‘π›½π‘’π›½+π‘˜π‘‘π›½Μ‡π‘’π›½,(7) where π‘˜π‘π›½ and π‘˜π‘‘π›½are controller gains. Figure 3 shows the PD control block diagram.

3.2. Straight Line Tracking Control

For the GYROBO to follow the straight line, a torque for the body wheel and a torque for the flywheel should be separately controlled. The body wheel rotates to follow the straight line while the lean angle is controlled to maintain balancing.

The position error detected by an encoder is defined by𝑒𝑝=π‘₯π‘‘βˆ’π‘₯,(8) where π‘₯𝑑 is the desired position value and π‘₯is the actual position. The detailed PID controller output becomes𝑒π‘₯=π‘˜π‘π‘₯𝑒π‘₯+π‘˜π‘‘π‘₯̇𝑒π‘₯+π‘˜π‘–π‘₯ξ€œπ‘’π‘₯𝑑𝑑,(9) where π‘˜π‘π‘₯,π‘˜π‘‘π‘₯, and π‘˜π‘–π‘₯are controller gains.

Thus line tracking control requires both position control and angle control. The detailed control block diagram for the straight line following is shown in Figure 4.

4. Neural Control Schemes

4.1. RBF Neural Network Structure

The purpose of using a neural network is to improve the performance controlled by linear controllers. Linear controllers for controlling GYROBO may have limited performances since GYROBO is a highly nonlinear and coupled system.

Neural networks have been known for their capabilities of learning and adaptation of nonlinear functions and used for nonlinear system control [20]. Successful balancing control performances of a two-wheel mobile robot have been presented [2].

One of the advantages of using a neural network as an auxiliary controller is that the dynamic model of the system is not required. The neural network can take care of nonlinear uncertainties in the system by an iterative adaptation process of internal weights.

Here the radial basis function (RBF) network is used for an auxiliary controller to compensate for uncertainties caused by nonlinear dynamics of GYROBO. Figure 5 shows the structure of the radial basis function.

The Gaussian function used in the hidden layer isπœ“π‘—ξƒ©βˆ’||(𝑒)=expπ‘’βˆ’πœ‡π‘—||22𝜎2𝑗ξƒͺ,(10) where 𝑒 is the input vector, 𝑒=[𝑒1𝑒2⋯𝑒𝑁𝐼]𝑇, πœ‡π‘—is the center value vector of the 𝑗th hidden unit, and πœŽπ‘—is the width of the 𝑗th hidden unit.

The forward π‘˜th output in the output layer can be calculated as a sum of outputs from the hidden layer:π‘¦π‘˜=𝑁𝐻𝑗=1πœ“π‘—π‘€π‘—π‘˜+π‘π‘˜,(11) where πœ“π‘—is 𝑗th output of the hidden layer in (11), π‘€π‘—π‘˜ is the weight between the 𝑗th hidden unit and π‘˜th output, and π‘π‘˜is the bias weight.

4.2. Neural Network Control

Neural network is utilized to generate compensating signals to help linear controllers by minimizing the output errors. Initial stability can be achieved by linear controllers and further tracking improvement can be done by neural network in online fashion.

Different compensation location of neural network yields different neural network control schemes, but they eventually perform the same goal to minimize the output error. The reference compensation technique (RCT) is known as one of neural network control schemes that provides a structural advantage of not interrupting the predesigned control structure [3, 4]. Since the output of neural network is added to the input trajectories of PD controllers as in Figure 4, tracking performance can be improved. This forms the totally separable control structure as an auxiliary controller shown in Figure 6:𝑒𝛽=π‘˜π‘π›½ξ€·π‘’π›½+πœ™1ξ€Έ+π‘˜π‘‘π›½ξ€·Μ‡π‘’π›½+πœ™2ξ€Έ,(12) where πœ™1 and πœ™2are neural network outputs.

Here, the training signal 𝑣is selected as a function of tracking errors such as a form of PD controller outputs:𝑣=π‘˜π‘π›½π‘’π›½+π‘˜π‘‘π›½Μ‡π‘’π›½.(13) Then (12) becomes𝑣=π‘’π›½βˆ’ξ€·π‘˜π‘π›½πœ™1+π‘˜π‘‘π›½πœ™2ξ€Έ.(14)

To achieve the inverse dynamic control in (14) such as satisfying the relationship 𝑒𝛽=𝜏where 𝜏is the dynamics of GYROBO, we need to drive the training signal of neural network to satisfy that 𝑣→0. Then the neural network outputs become equal to the dynamics of the GYROBO in the ideal condition. This is known as an inverse dynamics control scheme. Therefore learning algorithm is developed for the neural network to minimize output errors in the next section.

4.3. Neural Network Learning

Here neural network does not require any offline learning process. As an adaptive controller, internal weights in neural network are updated at each sampling time to minimize errors. Therefore, the selection of an appropriate training signal for the neural network becomes an important issue in the neural network control, even it determines the ultimate control performance.

The objective function is defined as1𝐸=2𝑣2.(15)

Differentiating (15) and combining with (14) yield the gradient function required in the back-propagation algorithm:πœ•πΈπœ•π‘€=π‘£πœ•π‘£ξ‚΅π‘˜πœ•π‘€=βˆ’π‘£π‘π›½πœ•πœ™1πœ•π‘€+π‘˜π‘‘π›½πœ•πœ™2ξ‚Άπœ•π‘€.(16) The weights are updated asξ‚΅π‘˜π‘€(𝑑+1)=𝑀(𝑑)+πœ‚π‘£π‘π›½πœ•πœ™1πœ•π‘€+π‘˜π‘‘π›½πœ•πœ™2ξ‚Άπœ•π‘€,(17) where πœ‚ is the learning rate.

5. Design of One-Wheel Robot

Design of the one-wheel robot becomes the most important issue due to the limitation of space. Our first model is shown in Figure 7. The original idea was to balance and control the sphere robot by differing rotating speeds of two links. Thus, two rotational links inside the sphere are supposed to balance itself but failed due to the irregular momentum induced by two links.

After that, the balancing concept has been changed to use a flywheel instead of links to generate gyro effect as shown in Figure 8. Controlling spin and tilt angles of the flywheel yields gyro effects to make the robot keep upright position.

We have designed and built several models as shown in Figure 8. However, all of models are not able to balance itself long enough. Through trial and error processes of designing models, we have a current version of GYROBO I and II as shown in Figures 9 and 10. Since the GYROBO I in Figure 9 has a limited space for housing, the second model of GYROBO has been redesigned as shown in Figure 11.

6. GYROBO Design

Figure 10 shows the CAD design of the GYROBO II. The real design consists of motors, a flywheel, and necessary hardware as shown in Figure 11.

GYROBO II is redesigned with several criteria. Locating motors appropriately in the limited space becomes quite an important problem to satisfy the mass balance. Thus the size of the body wheel is increased.

The placement of a flywheel effects the location of the center of gravity as well. The size of the flywheel is also critical in the design to generate enough force to make the whole body upright position. The size of the flywheel is increased. The frame of the flywheel system is redesigned and located at the center of the body wheel.

The drive motor is attached to the wheel so that it directly controls the movement of the wheel. A tilt motor is mounted on the center line to change the precession angle of the gyro effect. A high-speed spin motor is located to rotate the flywheel through a timing belt.

Control hardware includes a DSP2812 and an AVR as main processors. The AVR controls drive and spin motors while DSP controls a tilt motor. The detailed layout is shown in Figure 12. To detect the lean angle, a gyro sensor is used. Interface between hardware is shown in Figure 13.

7. Experimental Studies

7.1. Balancing Test at One Point
7.1.1. Scheme  1: PD Control

The speed of the flywheel is set to 7,000 rpm. The control frequency is 10 ms. When the PD controller is used, the GYROBO is able to balance itself as shown in Figure 14. However, the heading angle also rotates as it balances. Figures 14(d), 14(e), and 14(f) show the deviation of the heading angle controlled by a PD controller whose gains are selected as π‘˜π‘π›½=10,andπ‘˜π‘‘π›½=15. PD gains are selected by empirical studies.

7.1.2. Scheme  2: Neural Network Compensation

The same balancing test is conducted with the help of the neural network controller. The learning rate is set to 0.0005, and 3 inputs, 4 hidden units, and 2 outputs are used for the neural network structure. Neural network parameters are found by empirical studies. The GYROBO balances itself and does not rotate much comparing with Figure 14. It stays still as shown in Figure 15. The heading angle is not changed much when neural network control is applied while it deviates for PD control. The larger heading angle error means rotation of GYROBO while balancing which is not desired.

Further clear comparisons of performances between PD control and neural network control are shown in Figures 16 and 17, which are the corresponding plots of Figures 14 and 15. We clearly see that the heading angle of GYROBO is deviating in the PD control case. We clearly see the larger oscillation of PD control than that of RCT control.

7.2. Line Tracking Test
7.2.1. Scheme  1: PD Control

Next test is to follow the desired straight line. Figure 18 shows the line tracking performance by the PD controller. GYROBO moves forward about 2 m and then stops.

7.2.2. Scheme  2: Neural Network Compensation

Figure 19 shows the line tracking performance by the neural network controller.

We see that the GYROBO moves forward while balancing. Since the GYROBO has to carry a power line, navigation is stopped within a short distance about 2 m.

Clear distinctions between PD control and neural network control are shown in Figures 20 and 21. Both controllers maintain balance successfully. GYROBO controlled by a PD control method deviates from the desired straight line trajectory further as described in Figure 20. In addition, the oscillatory behaviour is reduced much by the neural network controller as shown in Figure 21.

8. Conclusion

A one-wheel robot GYROBO is designed and implemented. After several trial errors of body design, successful design is presented. An important key issue is the design to package all materials in one wheel. One important tip in controlling GYROBO is to reduce the weight so that the flywheel can generate enough gyro effect because it is not easy to find suitable motors. Although balancing and line tracking tasks are successful in this paper, one major problem has to be solved in the future. The power supply for the GYROBO should be independent. Since the stand-alone type of GYROBO is preferred, a battery should be mounted inside the wheel. Then a room for a battery requires modification of the body design again.

Acknowledgments

This work was financially supported by the basic research program (R01-2008-000-10992-0) of the Ministry of Education, Science and Technology (MEST) and by Center for Autonomous Intelligent Manipulation (AIM) under Human Resources Development Program for Convergence Robot Specialists (Ministry of Knowledge Economy), Republic of Korea.