Position Control of the Single Spherical Wheel Mobile Robot by Using the Fuzzy Sliding Mode Controller.
Mobile robot stability, positioning control, and navigation are essential issues in robotics and artificial intelligence. Realtime stability control and navigation are easy tasks for human beings but very difficult for robots, especially in unknown and unstructured environments. Research in those areas has employed various wheeled (e.g., differential steering, car-like, and omniwheel) [1,2] and legged (e.g., hexapods, four-legged, and humanoid) robots [3-6].
The spherical wheel robot (Ballbot) is an interesting and novel mobile robot design first introduced by Hollis . A Ballbot is a dynamically stable mobile robot moving on a single spherical wheel [8-10]. The robot sits on top of a rubber ball. The robot can control the motion of the ball below it via two or more motors. This kind of the robot is statically unstable and needs to continuously control its position.
The Ballbot has been investigated by many researchers in the past, due to its high maneuverability, ability to have a high ratio of height to width, and many other unique and desirable characteristics . Figure 1 show various generations of spherical wheel robots, which have been developed in recent years and different research centers and universities.
Robots designed to be operated in human environments should be tall. For example, this will allow an average person to look the robot in the eye/camera rather than being forced to constantly look down on the robot [7, 12]. In contrast to humanoid robots, these robots stand on only one foot . Similarly, the Segway RMP two-wheeled self-balancing mobile robot has become popular in recent years . Researchers introduced some capable two-wheeled mobile manipulators recently . The Ballbot is more suitable for navigation in human environments because of its omnidirectional drive capabilities [16, 17]. Moreover, unlike its two-wheeled counterparts, the Ballbot is as tall as an adult human, which enhances its ability to interact with human environments .
Recently, other researchers have developed similar robots [19, 20]. Since the Ballbot is unstable, it requires active positioning control [21, 22]. Otherwise the robot will simply fall over. The controller which was used in the CMU robot has two loops, one proportional-integral (PI) loop which adjusts the angular velocity of the ball and one external linear quadratic regulator (LQR) loop which creates a full-state feedback for the system . The second Ballbot has been designed and introduced by the University of Tohoku Gakuin in Japan . In this robot three stepper motors placed at an angle of 120 degrees, relative to each other, have been used. Usage of these motors increases the accuracy of the system and also removes the need for shaft encoders. Due to the direct connection of the motor's shaft and the wheel and having no belt in the transmission mechanism, there is much less backlash than in the robot from CMU. A simple PD controller has been sufficient to balance the robot . Fong et al. designed and implemented a Ballbot at the University of Adelaide, Australia . The researchers in that project tried to derive the equations of motion and design and manufacture the robot by using LEGO pieces and blocks. They improved the controller to have better stability and were able to control the robot via remote control. They designed and manufactured a human being sized robot and also developed a virtual model for the single-leg robot . By equipping the robot with two sets of accelerometers and gyroscopes, they could accurately measure the robot deflection angle and angular velocity. The system was implemented using the NXT Mindstorms system, a robotic education system developed by the LEGO Company . In this research, the robot behavior is considered in the linear range only and no solution or suggestion has been made to control the robot's motion in the nonlinear range.
The fourth Ballbot robot was designed by ETH University. The researchers use a linear controller with low pass filters and Kalman controllers which adds robustness against noise and allows the system to better deal with disturbances. The critical characteristics of some Ballbot designs are summarized in Table 1.
In 2014, Nagarajan et al. designed new hardware of the Ballbot with a four-wheel inverse mouse-ball drive to actuate the ball and a yaw drive mechanism that enables unlimited rotation about its vertical axis . For having the static stability the robot was equipped with a triad of legs.
Also, several experiments were conducted to demonstrate the robot's balancing and locomotion capabilities. They also proposed a novel trajectory planning algorithm that plans for body lean motions that presented the desired rest-to-rest motions of the robot. Chu and Sung suggested an omnidirectional mobile robot for educational robot platform . To remove the nonholonomic characteristic of conventional wheels they used omnidirectional wheels. They could make control system design much easier by proposing the aforementioned system.
In , coordinate-invariant equations of motion for the Ballbot has been proposed. Using the linearized equations of motion and excluding the rotary degree of freedom of the ball in the inertial vertical direction, authors provided a proportional-derivative type controller that locally exponentially stabilizes the upward equilibrium point as well as the translation of the ball.
This work extends the previous research in two aspects:
(i) Development of a three-dimensional model of the dynamics of the robot.
(ii) Design of a three-dimensional controller for this model using gain scheduling.
We derive the governing dynamic equations of the system using the Lagrange method [29, 30]. The nonlinear nature of the equations of motions of a spherical wheel mobile robot makes control nontrivial. The performance comparison of four different fuzzy logic controllers [31-33] has been evaluated in this research: (a) stability controller with one control, (b) stability and position controller with one control, (c) stability and position control with two controls, and (d) Fuzzy Sliding Mode Controller for stability and control with two controls. The systems will be evaluated in a realistic simulation and since the robot parameters used are based on a set of LEGO block and pieces, the designed controllers can be implemented on real experimental robots. By comparison of the results of our evaluation, the best controller for maintaining the robot's balance and position can be selected.
The paper is organized as follows. Section 2 presents the dynamics of the Ballbot robot. Section 3 describes the design of fuzzy controllers. In Section 4, we present the results of our evaluation and their discussion and finally, in Section 5, we conclude with some remarks for future work.
2. Dynamics of the Single-Leg Robot
We use the Lagrange method to derive the equations of motion for the robot . The movement of the robot is controlled by two motors. We assume that there is no or negligible slip between the wheels and the rolling ball. The analysis also includes a component for the friction between the ball and the ground. The robot's dynamic equations will be independent if only the rotational friction between the ball and the ground is ignored. The generalized coordinates, which we used to study the dynamics of the robot, are shown in Figure 2.
[theta] is the robot's absolute body angle with the vertical axis and [phi] is the absolute rotation angle of the motor. Equation (1) shows the equation of motion for robot in the x-z plane. For the y-z plane, the equation of motion is similar with x being replaced by y.
Mx (q, 'q)'q + [C.sub.x] (q, 'q) + [G.sub.x] (q, 'q) + [D.sub.x] (q, 'q) = [F.sub.x] (q, 'q, [v.sub.x]). (1)
In (1), [M.sub.x] is the mass matrix, [C.sub.x] is Coriolis matrix, [G.sub.x] is gravity matrix, [D.sub.x] is friction matrix, [F.sub.x] is force matrix, and q is a generalized coordinate's vector. Each of the parameters in (1) is given in the Appendix.
3. Designing Fuzzy Controller
In this paper, we described the design and implementation of four different fuzzy controllers. Stability analysis for the first three controllers cannot be established and they are not the main contribution of this paper. The main contribution of this paper is designing of the Fuzzy Sliding Mode Controller (FSMC) for the robot.
(i) A fuzzy controller to maintain the stability of the robot (regulation) body regardless of the robot position (tracking) with one control signal.
(ii) A fuzzy controller to maintain stability (regulation) and also control the robot position (tracking) with two control signals.
(iii) A fuzzy controller with two control signals to control the robot position (tracking) and also maintain the stability (regulation) of the single-leg robot.
(iv) A sliding mode controller with the use of fuzzy methods to maintain stability (regulation) and also control the robot position (tracking).
Due to robot's sensors and actuators, each of these controllers can be used.
3.1. Designing Fuzzy Controller to Maintain Stability with One Control Signal. The controller inputs in this case are the robot's angular position and velocity error. The fuzzy sets that are considered for angular position error, angular velocity error, and output torque are shown in Figures 3-5, respectively. The controller output is the motor torque that acts on angle <p. Around the zero angular velocity, speed variations are large and the system is very sensitive. Therefore, the middle set in Figure 4 is chosen to be very narrow. For output torque, Gaussian membership functions are used, so the output signal is smooth.
Single fuzzifier (SF), Minimum Inference Engine (MIE), and Center Average Defuzzifier (CAD) have been applied in the controller. The procedure of the controller is shown in Figure 6. The fuzzy rules for the first controller are presented in Table 2. The stability procedure cannot be established for this controller. If fuzzy sets and rules are chosen correctly, the controller performance is good enough.
3.2. Designing Fuzzy Controller for Position Control with One Control Signal. The previous fuzzy controller is suitable for maintaining the robot regulation; but the robot's position will drift over the time because of the permanent small error in the body angle. To solve this problem, we extend the previous controller by using the angular position error and angular velocity error for the controller. Thus, the fuzzy controller will have four inputs. If each input uses five fuzzy sets, a maximum of 54 = 625 laws is necessary. Handling of these many laws will increase the probability of mistakes and it is time-consuming. For solving of this problem, the system is decoupled into two fuzzy controllers. The first controller generates a reference angle. This reference angle is used as input for the second controller. The second controller balances the robot around the reference angle. Balancing around a nonzero reference angle produces movement toward the inclination angle of the robot and thusly allows us to control the position of the robot, so the robot position is controlled. The rules for controlling the robot angle are similar to the rules of Section 3.1 and rules for the position controller are consistent with the logic that is applied in Section 3.1--only the ranges of the fuzzy sets are different. The stability procedure cannot be established for this controller too and it is not the contribution of this paper.
3.3. Designing Two Fuzzy Controllers with Two Control Signals. In this section, two control signals are considered for the fuzzy controller. It is assumed that the robot has four actuators: two actuators for [theta] and [phi] in x-z plane and two others in the y-z plane. In each of the planes the system has two actuators; the first motor controls the angular position of the spherical wheel and the second one controls the body balancing. Regulation and position control of the robot can be done very well with this method; but this method needs two extra actuators. The extra actuators are attached directly to the body. These actuators must be able to generate enough torque to rotate the body. Fuzzy sets for this controller are shown in Figure 7. The stability analysis cannot be done for this type of a controller and it is not the concern of this paper.
3.4. Designing Fuzzy Sliding Mode Controller (FSMC). In this section, the controller is designed based on the sliding mode method and then it is combined with the fuzzy procedure. At first the dynamic equations of the system are written like
['x.sub.1] = [x.sub.2] ['x.sub.2] = [f.sub.1] + [g.sub.1]T ['x.sub.3] = [x.sub.4] ['x.sub.4] = [f.sub.2] + [g.sub.2]T, (2)
where [f.sub.1], [g.sub.1], [f.sub.2], and [g.sub.2] are some dynamical and geometrical unknowns that should be defined. In (2), the states are introduced as
[x.sub.1] = [[theta].sub.x] [x.sub.2] = ['[theta].sub.x] (3) [x.sub.3] = [[phi].sub.x] [x.sub.4] = ['[phi].sub.x].
In (2), the other unknowns are introduced as
[mathematical expression not reproducible] (4)
Parameters in (4) are presented in Table 4. In (4), it can be seen that
m = [M.sup.-1]. (5)
Sliding surfaces are defined as given in
[s.sub.1] = [x.sub.2] + [[lambda].sub.1][x.sub.1]; [[lambda].sub.1] > 0 (6) [s.sub.2] = [x.sub.4] + [[lambda].sub.2][x.sub.3]; [[lambda].sub.2] > 0.
The main goal of the controller is [s.sub.1] [right arrow] 0 and [s.sub.2] [right arrow] 0. In this case, all the states will lead to zero. By differentiation of (6), (7) can be achieved. Consider
['s.sub.1] = [h.sub.1] + [g.sub.1]T; [h.sub.1] = [f.sub.1] + [[lambda].sub.1][x.sub.2] ['s.sub.2] = [h.sub.2] + [g.sub.2]T; [h.sub.2] = [f.sub.2] + [[lambda].sub.2][x.sub.4]. (7)
Assume the positive definite Lyapunov function as V = 0.5 x [s.sup.2.sub.1] + 0.5 x [s.sup.2.sub.2]. Differentiation of the Lyapunov function with respect to the time is established as (8). Both of the terms in (8) should be negative to maintain the robot stability and convergence of the sliding surfaces:
[mathematical expression not reproducible] (8)
For stability requirements, some conditions should be established and only one of them will be discussed here, but in Table 3 all the conditions have been represented.
[mathematical expression not reproducible] (9)
To achieve the requirements of (9), the input is considered as (10).
If the three fuzzy sets (positive (P), zero (Z), and negative (N)) are considered for the sliding levels, the fuzzy control rules for the system are shown in Table 3.
[T.sub.l1] = -1/[g.sub.1] + [g.sub.2]([h.sub.1] + [h.sub.2]) - k; k > 0. (10)
In Table 3, k, [eta] are positive. Using fuzzy logic will lead to better performance and smooth switching between the rules that are written in Table 3. According to these rules, [??] <0 and the stability is guaranteed.
4. Results and Discussion
The results of the different controllers are considered in this section.
4.1. Fuzzy Controller to Maintain Stability with One Control Signal. In this section, the results of first fuzzy controller are presented. Using this controller, only the robot's body stability is maintained and there is no control applied over the position of the robot; therefore, in the steady state time, the robot does not come to equilibrium because of the small angular position error. The results are shown in Figure 8. According to Figure 8(a), very small angle error remains (0.003 degrees). This error will produce constant velocity for robot stability (Figure 8(b)). According to Figure 8(b), the angular velocity of robot body will become zero.
4.2. Fuzzy Controller for Position Control with One Control Signal. As can be seen, the position of the robot will not be stable given the pervious controller. To resolve this problem, two controllers are designed. The results of this controller are shown in Figure 9. In this simulation, the initial robot body position and angular velocity are set to 5 degrees and zero, respectively. The objective is robot movement 1 m in X direction (Figure 3). Existing oscillations in Figure 9(c) can be improved by tuning the fuzzy rules or fuzzy sets. According to Figure 9(c), the robot is able to control its position in contrast to the pervious controller.
4.3. Two Fuzzy Controllers with Two Control Signals. Two parallel controllers can have a better performance. In the simulation of this part, initial robot body position and angular velocity are 5 degrees and zero, respectively. The objective is robot movement 0.3 m in x direction. According to Figures 10(a) to 10(b), angle error and angular velocity error have been zero. Robot after about 2 seconds reached the desired position. Using two controllers instead of one increases costs. On the other hand this method may be impractical. Since two inputs are used in this section, better control can be exerted over the robot. Comparison with Figures 10(a) to 10(c) will show this issue.
4.4. Fuzzy Sliding Mode Controller. In Figure 11, first and second states' responses (angular body position of the robot and its angular velocity) are represented. In Figure 11(c) the control signal is illustrated. Changes in angle and angular velocity are so smooth. Using fuzzy rules for sliding mode controller will eliminate chattering phenomenon and the controller will have a very smooth operation. This signal unlike previous control signals has smooth changes. In the simulation of this part, initial robot body position and angular velocity are 15 degrees and zero, respectively.
In this research, Fuzzy Control Synthesis of Dynamically Stable Single Spherical Wheel Mobile Robot has been considered. By applying the Lagrange method, one can derive the system governing dynamic equations. Also the paper presents novel fuzzy systems used to control a Ballbot. We designed and implemented four different fuzzy logic controllers: (a) regulation with one signal, (b) regulation and position control with one signal, (c) regulation and position control with two signals, and (d) FSMC for regulation and position control with two signals. We evaluated and compared the performances of the various fuzzy logic controllers.
These comparisons between the four fuzzy controllers are presented in Figures 12 and 13. This comparison is just for stabilization of robot body. If dynamics of the trajectory are smooth, the proposed method can perform well in trajectory tracking, but, for high speed dynamic trajectories, the method is not efficient. As can be seen, the Fuzzy Sliding Mode Controller has better performance. Initial condition for each of them is equal. The fuzzy controller for position control with one control signal also converges to zero in the long run.
It is for this reason that the first controller makes reference angle and then second controller stabilizes robot body about it. However the second controller has no steady state error. But the first controller has a small steady state error. An important issue is the type of control signal. Type of control signal is torque and torque is related to DC motor current.
This signal is generated by the DC motor. Equation (11) represents this torque in the terms of DC motor parameters. Consider
T = [K.sub.t](v - [K.sub.b]['[phi].sub.x])/R. (11)
In (11), v is motor voltage, [K.sub.t] is constant for motor torque, [K.sub.b] is BEMF motor constant, R is electrical resistance of motor, ['[phi].sub.x] is angular velocity of the motor, and T is generated torque of motor.
In theappendix, onecan findthe parameters, usedin(1). Each of the parameters in (1) is also used in
[mathematical expression not reproducible] (A.1)
[mathematical expression not reproducible] (A.2)
[mathematical expression not reproducible] (A.3)
[mathematical expression not reproducible] (A.4)
[mathematical expression not reproducible] (A.5)
[mathematical expression not reproducible]. (A.6)
Parameters in (A.1) up to (A.6) have been derived from a LEGO from the main reference  and are displayed in table (A.1).
This article does not contain any studies with human or animal subjects.
The authors of this research declare that they have no conflict of interests.
The authors would like to thank the Bio-Inspired System Design Laboratory (BInSDeLa) of Amirkabir University of Technology (Tehran Polytechnic), Tehran, Iran, and also Autonomous Agents Laboratory, University of Manitoba, Winnipeg, Canada. This research has been done in collaboration of both universities under the corporation protocol, started since 2014.
 R. Damoto, W. Cheng, and S. Hirose, "Holonomic omnidirectional vehicle with new omni-wheel mechanism," in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA '01), pp. 773-778, Seoul, South Korea, May 2001.
 L. Huang, Y. Lim, D. Lee, and C. E. Teoh, "Design and analysis of a four-wheel omnidirectional mobile robot," in Proceedings of the 2nd International Conference of Autonomous Robots and Agents, pp. 425-428, 2004.
 R. Gerndt, D. Seifert, J. H. Baltes, S. Sadeghnejad, and S. Behnke, "Humanoid robots in soccer: robots versus humans in RoboCup 2050," IEEE Robotics & Automation Magazine, vol. 22, no. 3, pp. 147-154, 2015.
 J. Baltes, S. Sadeghnejad, D. Seifert, and S. Behnke, "RoboCup humanoid league rule developments 2002-2014 and future perspectives," in RoboCup 2014: Robot World Cup XVIII, pp. 649-660, Springer, Berlin, Germany, 2015.
 M. Schwarz, J. Pastrana, P. Allgeuer et al., "Humanoid teensize open platform NimbRo-OP," in Proceedings of the RoboCup 2013: Robot World Cup XVII, pp. 568-575, Springer, Eindhoven, The Netherlands, 2014.
 J. Baltes, K.-Y. Tu, S. Sadeghnejad, and J. Anderson, "HuroCup: competition for multi-event humanoid robot athletes," The Knowledge Engineering Review, 2016.
 U. Nagarajan, A. Mampetta, G. A. Kantor, and R. L. Hollis, "State transition, balancing, station keeping, and yaw control for a dynamically stable single spherical wheel mobile robot," in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA '09), pp. 998-1003, 2009.
 T. Lauwers, G. Kantor, and R. Hollis, "One is enough!," in Robotics Research, pp. 327-336, Springer, Berlin, Germany, 2007.
 T. B. Lauwers, G. A. Kantor, and R. L. Hollis, "A dynamically stable single-wheeled mobile robot with inverse mouse-ball drive," in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA '06), pp. 2884-2889, IEEE, Orlando, Fla, USA, May 2006.
 M. Kumagai and T. Ochiai, "Development of a robot balancing on a ball," in Proceedings of the International Conference on Control, Automation and Systems (ICCAS '08), pp. 433-438, Seoul, South Korea, October 2008.
 M. Shomin, B. Vaidya, R. Hollis, and J. Forlizzi, "Human-approaching trajectories for a person-sized balancing robot," in Proceedings of the 9th IEEE International Workshop on Advanced Robotics and Its Social Impacts (ARSO '14), pp. 20-25, Evanston, Ill, USA, September 2014.
 B. Su, T. Wang, S. Kuang, and J. Wang, "Effects of physical parameters on dynamic behaviour of ballbot-like robots," International Journal of Robotics and Automation, vol. 29, no. 1, pp. 105-115, 2014.
 T. A. Shangari, F. Shamshirdar, M. H. Heydari, S. Sadeghnejad, J. Baltes, and M. Bahrami, "AUT-UofM humanoid TeenSize joint team; a new step toward 2050's humanoid league long term RoadMap," in Proceedings of the 3rd International Conference on Robot Intelligence Technology and Applications, Beijing, China, 2014.
 H. G. Nguyen, J. Morrell, K. D. Mullens et al., "Segway robotic mobility platform," in Optics East, pp. 207-220, 2004.
 P. Deegan, B. J. Thibodeau, and R. Grupen, Designing a Self-Stabilizing Robot for Dynamic Mobile Manipulation, DTIC Document, 2006.
 K. Kanjanawanishkul, "Omnidirectional wheeled mobile robots: wheel types and practical applications," International Journal of Advanced Mechatronic Systems, vol. 6, no. 6, pp. 289-302, 2015.
 C. McGinn, M. Cullinan, D. Holland, and K. Kelly, "Towards the design of a new humanoid robot for domestic applications," in Proceedings of the IEEE International Conference on Technologies for Practical Robot Applications (TePRA '14), pp. 1-6, Woburn, Mass, USA, April 2014.
 M. Inaba, S. Kagami, F. Kanehiro, Y. Hoshino, and H. Inoue, "A platform for robotics research based on the remote-brained robot approach," The International Journal of Robotics Research, vol. 19, no. 10, pp. 933-954, 2000.
 L. Havasi, "ERROSphere: an equilibrator robot," in Proceedings of the International Conference on Control and Automation (ICCA '05), pp. 971-976, Budapest, Hungary, 2005.
 H. Wang, G. G. Grindle, S. Connor, and R. A. Cooper, "An experimental method for measuring the moment of inertia of an electric power wheelchair," in Proceedings of the 29th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBS '07), pp. 4798-4801, Lyon, France, 2007.
 M. Stilman, J. Wang, K. Teeyapan, and R. Marceau, "Optimized control strategies for wheeled humanoids and mobile manipulators," in Proceedings of the 9th IEEE-RAS International Conference on Humanoid Robots, pp. 568-573, Paris, France, December 2009.
 J. R. Allard, "Method and system for remote control of mobile robot," Google Patents, 2005.
 M. Kumagai and R. L. Hollis, "Development of a three-dimensional ball rotation sensing system using optical mouse sensors," in Proceedings of the IEEE International Conference on Robotics andAutomation (ICRA '11), pp. 5038-5043, Shanghai, China, May 2011.
 J. Fong, S. Uppill, and B. Cazzolato, "899: BALLBOT," 2009.
 J. Fong, S. Uppill, and B. Cazzolato, "Design and build a ballbot," Report, The University of Adelaide, Adelaide, Australia, 2009.
 U. Nagarajan, G. Kantor, and R. Hollis, "The ballbot: an omnidirectional balancing mobile robot," The International Journal of Robotics Research, vol. 33, no. 6, pp. 917-930, 2014.
 B. Chu and Y. W. Sung, "Development of educational robot platform based on omni-directional mobile mechanism," Journal of the Korean Society for Precision Engineering, vol. 30, no. 11, pp. 1161-1169, 2013.
 A. C. Satici, F. Ruggiero, V. Lippiello, and B. Siciliano, "Intrinsic Euler-Lagrange dynamics and control analysis of the ballbot," in Proceedings of the American Control Conference (ACC '16), pp. 5685-5690, Boston, Mass, USA, July 2016.
 H. Everett III, "Generalized Lagrange multiplier method for solving problems of optimum allocation of resources," Operations Research, vol. 11, pp. 399-417,1963.
 K. Sukvichai and M. Parnichkun, "Double-level ball-riding robot balancing: from system design, modeling, controller synthesis, to performance evaluation," Mechatronics, vol. 24, no. 5, pp. 519-532, 2014.
 H. R. Berenji, "Fuzzy logic controllers," in An Introduction to Fuzzy Logic Applications in Intelligent Systems, pp. 69-96, Springer, Berlin, Germany, 1992.
 E. H. Mamdani and S. Assilian, "An experiment in linguistic synthesis with a fuzzy logic controller," International Journal of Man-Machine Studies, vol. 7, no. 1, pp. 1-13,1975.
 Y. Yunong, H.-M. Ha, Y.-K. Kim, and J.-m. Lee, "Balancing and driving control of a ball robot using fuzzy control," in Proceedings of the 12th International Conference on Ubiquitous Robots and Ambient Intelligence (URAI '15), pp. 492-494, Goyang, Republic of Korea, 2015.
 C.-C. Tsai, H.-L. Wu, Y.-P. Ciou, F.-C. Tai, andS.-F. Su, "Adaptive intelligent steering control of ball-riding human transporter," in Proceedings of the 54th Annual Conference of the Society of Instrument and Control Engineers of Japan (SICE '15), pp. 636641, Hangzhou, China, July 2015.
Hamed Navabi, (1) Soroush Sadeghnejad, (1) Sepehr Ramezani, (1) Jacky Baltes (2)
(1) Mechanical Engineering Department, Amirkabir University of Technology, No. 424 Hafez Ave., P.O. Box 158754413, Tehran, Iran
(2) Department of Electrical Engineering National Taiwan Normal University, 162 Heping E Road, Sec. 1, Taipei 10610, Taiwan
Correspondence should be addressed to Soroush Sadeghnejad; firstname.lastname@example.org
Received 14 June 2016; Revised 15 September 2016; Accepted 1 November 2016; Published 12 January 2017
Academic Editor: Katsuhiro Honda
Caption: Figure 1: Various generations of spherical wheel developed recent robots.
Caption: Figure 2: Generalized coordinates used in motion dynamic analysis .
Caption: Figure 3: Fuzzy sets for angular displacement error.
Caption: Figure 4: Fuzzy sets for angular velocity error.
Caption: Figure 5: Fuzzy sets for output torque.
Caption: Figure 6: Control surface for the first controller.
Caption: Figure 7: Fuzzy sets of the third controller.
Caption: Figure 8: Fuzzy controller to maintain stability with one control signal with respect to initial condition, [theta] = 5[degrees] and '[theta] = 0.
Caption: Figure 9: Fuzzy controller for position control with one control signal with respect to initial condition, [theta] = 5[degrees], '[theta] = 0, and the referenced input [x.sub.d] = 1 m.
Caption: Figure 10: Two fuzzy controllers with two control signals with respect to initial condition, [theta] = 5[degrees], '[theta] = 0, and the referenced input [x.sub.d] = 0.3 m.
Caption: Figure 11: Fuzzy logic sliding mode controller with respect to initial condition, [theta] = 15[degrees] and '[theta] = 0.
Caption: Figure 12: Robot body angular position with respect to initial condition, [theta] = 5[degrees] and '[theta] = 0.
Caption: Figure 13: Robot body angular velocity with respect to initial condition, [theta] = 5[degrees] and '[theta] = 0.
Table 1: Comparison of characteristics of four Ballbot robots. University CMU TGU UA ETH Year 2006 2008 2009 2010 Weight (Kg) 45 11 34.5 14.5 Height (Cm) 150 50 160 80 Max deviation Less Less Less Up to 20 angle (degree) than 1 than 5 than 1 Max velocity Less Less Less Up to 2 (m/s) than 0.1 than 0.3 than 0.1 Rotation yes Yes No yes Controller LQR/PID PD LQRI LQR/gain scheduling Table 2: Fuzzy rules for first fuzzy controller. [E.sub.[theta]]/ NB NS Z PS PB [E.sub.'[theta]] NB PL PM PS PS Z NS PM PS PS Z Z Z PM PS Z NS NM PS Z Z NS NS NM PB Z NS NS NM NL Table 3: Fuzzy rules for sliding mode controller. T [s.sub.2] [s.sub.1] [T.sub.l1] = -1/[g.sub.1] + P P [g.sub.2]([h.sub.1] + [h.sub.2]) - k [T.sub.l2] = -1/[g.sub.1] + Z P [g.sub.2]([h.sub.1] + [h.sub.2] + [eta] sgn([s.sub.2])) - k If [g.sub.1] [greater than or equal to] N P [g.sub.2] [right arrow] [T.sub.l3] = [absolute value of [h.sub.1]] + [absolute value of [h.sub.2]]/[g.sub.1] - [g.sub.2] If [g.sub.1] < [g.sub.2] [right arrow] [T.sub.l3] = [absolute value of [h.sub.1]] + [absolute value of [h.sub.2]]/[g.sub.1] - [g.sub.2] + k [T.sub.l4] = -1/[g.sub.1] + P Z [g.sub.2]([h.sub.1] + [h.sub.2] + [eta] sgn([s.sub.1])) - k [T.sub.l5] = 0 Z Z [T.sub.l6] = -1/[g.sub.1] + N Z [g.sub.2]([h.sub.1] + [h.sub.2] + [eta] sgn ([s.sub.1])) + k If [g.sub.2] [greater than or equal to] P N [g.sub.1] [right arrow] [T.sub.17] = [absolute value of [h.sub.1]] + [absolute value of [h.sub.2]]/[g.sub.2] - [g.sub.1] - k If [g.sub.2] [greater than or equal to] [g.sub.1] [right arrow] [T.sub.l7] = [member of][h.sub.1]] + [absolute value of [h.sub.2]]/[g.sub.2] - [g.sub.1] + k [T.sub.l8] = -1/[g.sub.1] + [g.sub.2] Z N ([h.sub.1] + [h.sub.2] + [eta] sgn([s.sub.2])) + k [T.sub.l8] = -1/[g.sub.1] + N N [g.sub.2]([h.sub.1] + [h.sub.2]) + k Table 4: Parameters used in this research. Quantities Symbol Parameters 0.026 m [R.sub.b] Ball radius 0.132 m L Distance between ball and robots centers of gravity 0.77 kg [M.sub.B] Body mass 0.015 kg [M.sub.b] Ball mass 6.76e-6 kg [I.sub.b] Ball moment of inertia 5.4e-3 kg x [m.sup.2] [I.sub.Bx] Ball moment of inertia along x-axis 5.4e-3 kg x [m.sup.2] [I.sub.By] Ball moment of inertia along y-axis 2e-5 kg x [m.sup.2] [I.sub.M] Motors and wheels moments of inertia along the motor rotation axis -18.6/26 n Motor and ball gear ratio 0.0022 [[mu].sub.Bb] Friction coefficient between body and ball 0 [[mu].sub.Bg] Friction coefficient between body and ground
|Printer friendly Cite/link Email Feedback|
|Title Annotation:||Research Article|
|Author:||Navabi, Hamed; Sadeghnejad, Soroush; Ramezani, Sepehr; Baltes, Jacky|
|Publication:||Advances in Fuzzy Systems|
|Date:||Jan 1, 2017|
|Previous Article:||HYEI: a new hybrid evolutionary imperialist competitive algorithm for fuzzy knowledge discovery.|
|Next Article:||Mobility Load Balancing in Cellular System with Multicriteria Handoff Algorithm.|