Kinematic Analysis and Control Algorithm For The Ballbot
Kinematic Analysis and Control Algorithm For The Ballbot
ABSTRACT The ballbot is a dynamically stable mobile robot designed to balance on a single ball, whose
dynamic stability enables improved navigability in narrow, crowded, and dynamic environments. Through its
single contact point with the ground, ballbot is omnidirectional and exceptionally agile, maneuverable, and
organic in motion compared to other ground vehicles. For dealing with the challenging and imperative issues
about ballbot, such as balancing, yaw, position control algorithms as well as the mathematical kinematic
model, a novel model employing the Lagrange Equation is derived and control algorithm based on the similar
principle as the second-order inverted pendulum is proposed, which is used for tackling the balancing, yaw,
and position control. A cascade fuzzy proportional derivative (PD) controller and another controller with
proportional integral (PI) control and PD feedback are designed for position and speed, respectively. Yaw
control is presented, including head-hold mode and head-free mode. Some experiments are carried out to
validate the effectiveness of the mathematical model and control algorithm.
(i)The mechanical structure is completely symmetric, and of the motor, so the kinetic energy of the system can ignore the
the motion of the xoz plane and the yoz plane is uncoupled. kinetic energy generated by the rotation of the drive wheel.
(ii)There is rolling, no sliding and spin between the sup- Using the Euler Lagrange equations, the dynamic equations
porting ball and the ground. of the planar motion of the ballbot can be written in matrix
form, as follows.
0
M (q)q̈ + C(q, q̇) + G(q) + D(q̇) = (7)
τ
Define the system configuration vector q = [θ, ψ]T , M (q)
is the mass matrix, (q, q̇) is the Coriolis force vector. G(q) rep-
resents gravity vector, D(q̇) is the friction torque, τ is the
torque between the body and the support ball in the direction
normal to the plane. The expressions of the above terms are
as follows.
M11 M12
M (q) = (8)
M21 M22
M11 = Ib + IB + mb rb2 + mB (rb2 + l 2 ) (9)
M12 = M11 + mB rb l cos(θ + ψ) (10)
FIGURE 3. The plane model of the ballbot.
M21 = M12 (11)
The ballbot has 5 degrees of freedom, including 2 degrees M22 = M11 + 2mB rb l cos(θ + ψ) + mB l + IB (12) 2
TABLE 1. Attitude control fuzzy rule. ëyaw is the difference between the current sampling value
ėyaw and the last sampling value. It is worth noting that in
head-hold mode, the desired angle of balancing control is
affected by the yaw angle. The specific steps are to rotate
the desired angle and transform the geographic coordinate
system into its own coordinate system by using the rotation
matrix R ∈ SO(2).
θRoll θRoll
∗ ∗
cos eYaw − sin eYaw
= (24)
θPitch
∗ sin eYaw cos eYaw θPitch
∗
C. POSITION CONTROL
The ballbot will move erratically at equilibrium despite the
balancing controller, which is still incomplete to a robot used
for people. Position control and balancing control are mutu-
ally coupled because the ballbot tilts the body to move in the
floor just like balancing robot. As shown in Fig. 8, position
FIGURE 7. The block diagram of yaw control.
cascade controller includes outer-loop position controller and
inner-loop speed controller. the outer-loop position controller
B. YAW CONTROL is PI controller that outputs the desired speed which depend-
The biggest innovation of the ballbot is that there is no turning ing on the error between desired position and real position.
radius, which is closely related to the control of the yaw angle. The PI controller effectively reduces the difference of the
Yaw control is an independent control, decoupling of balanc- position point during the movement. The inner-loop speed
ing control. Yaw control includes head-hold mode and head- controller is a manually tuned PD controller that can reach
free mode and the control block diagram is shown in Fig. 7. the desired speed quickly. The output of the speed controller
In the head-free mode, the ballbot’s reference coordinate is desired angle determined by the error between the output of
system is the geographic coordinate system. When initialized, the position controller and the actual speed. The actual speed
the ballbot will calculate an initial yaw angle Yawinit through of the robot is measured by the encoder, and the equations for
a magnetic sensor, then the yaw angle is controlled by PD calculation are as follows.
controller.
vx = speedm1 − 0.5speedm2 − 0.5speedm3
Fyaw = kpfree · eyaw + kdfree · ėyaw (22) vy = 0.86(speedm2 − speedm3 ) (25)
The error eyaw is the difference between the yaw angle and
To decrease the error caused by the mechanical gap of
the initial yaw angle during the movement. ėyaw represents
encoder, the real speed is determined by converging the
the yaw angle rate measured by IMU. The output is limited to
speeds in Equations (21) and (25). Limiting the output ampli-
avoid excessive output. In the head-hold mode, the ballbot’s
tude of position control prevents the ballbot from falling
reference coordinate system is its body coordinate system.
due to excessive tilt. The size of the limit determines the
The desired yaw angle of the robot is artificially locked in the
maximum speed of ballbot movement. When the desired
positive direction of the x, the control equation is as follows.
position is (0,0), the ballbot keeps the station by position
Fyaw = kpfree · ėyaw + kdfree · ëyaw (23) controller.
IV. RESULT
Fig. 9 is the first version of ballbot, we used hollow cup
reducer as drive motor. After the system modeling analy-
sis and the design of the control system, the ballbot was
debugged and the dynamic balance was reached. Meanwhile,
when we tested the anti-interference, the ballbot body was
easy to fall from the support ball. Then, the ballbot can
only balance in situ, be unable to move. At the same time,
the driven wheel of rubber material is easy to be damaged,
and it cannot ensure that there is no sliding friction when the
omnidirectional wheels rotate parallel to the center axis of the
motor. We make the second version. The supporting ball is
changed into a basketball, so there is enough friction between
the wheel and the ball and between the ball and the floor.
We carry out several experiments to verify the stability and
robustness of revision of the ballbot. Firstly, we only retain
the balancing control and set the desired attitude angle to FIGURE 12. The roll, roll rate. pitch and pitch rate of the ballbot smashed
by volleyball.
(0◦ , 0◦ ). Attitude angle of the ballbot is updated with the
frequency of 400Hz. The balancing control period is 10ms.
As shown in the Fig. 10, the roll and pitch of the ballbot can
volleyball. Obviously, the whole process is divided into three
be kept in the range of (−0.4◦ ∼ 0.4◦ ). Due to the lack of
stages. The first stage is that before the impact, the roll of
feedback on the position, the ballbot moves wildly.
the ballbot is balanced near 0 deg, the roll rate is between
(-4deg/s,4deg/s); The second is that the roll rate becomes
15deg and the roll rate reaches 93.5deg/s drastically at the
impact moment; Finally the roll and roll rate is restored to
the same level as the first stage after about 4 seconds.
FIGURE 10. The attitude angle of the ballbot under balancing control.
and the ball contacted with the ground through is a very small the position tracking has little hysteresis. After reaching the
plane. Therefore, the range of motion error is acceptable. desired position, the ballbot balances within a narrow range
When keeping the original station, the range of attitude angle of oscillations. The biggest error between desired and actual
is (−0.7◦ ∼ 0.6◦ ), which is slightly larger than −0.4◦ ∼ 0.4◦ trajectory is 10.8cm. Yaw angle shown in Fig. 15, we rotate
under the balancing control. The reason is that the desired the desired yaw angle by -90deg after each vertex of the
angle is the output of the position control, and is no longer square is reached. Overshoot is the key factor of large error
the 0 under the balancing control. at the vertex of the final trajectory.
Table 2 shows the comparison of the position and attitude
angle error with other control methods when the ballbot is
keeping station, which are currently the state-of-the-art LQR
control method respectively [19]. The red numbers in the
table represent that our method is superior to LQR. Our posi-
tion control method makes the ballbot dynamically balance
in a smaller range.
TABLE 2. The comparison of the position and attitude angle error with
other control methods. FIGURE 15. Yaw angle of the ballbot where the preset trajectory is a
square of 150cm.
FIGURE 16. position of the ballbot where the preset trajectory is a circle
The trajectory of the ballbot is as shown in the case where with a radius of 100cm.
the preset trajectory is a square of 150cm. Because of the
omnidirectionality of the ballbot, there are two methods to The position of the ballbot is shown in Fig. 16 where the
move along the preset trajectory: one is to set the desired preset trajectory is a circle with a radius of 100cm. The head-
values of positionX and positionY in headless mode; the hold mode is used in yaw control as above. The ballbot starts
other is to set the expected values of yaw and positionX in from (0,100) at a speed of 0.15m/s and returns to the end
headless mode. Because experiments show that instability (0,100). Throughout the process, the expected yaw angle is
sometimes occurs when the first method is used, the yaw always 0, so the maximum error is less than the case where
control is in the head-hold mode during the entire process, the preset trajectory is square.
which means that the ballbot always moves in the direction of
its head. The ballbot is instructed to move to the desired posi-
tion (150cm, 0), (150cm,150cm), (0,150cm), (0,0) at a speed
of 0.15m/s under position control and yaw control. As shown
in Fig. 14, Because PI controller is used for position control,
FIGURE 17. Reverse movement of the ballbot when starts and stops.
the ballbot starts and stops. The recoil movement will cause [14] B. Vaidya et al., ‘‘Operation of the ballbot on slopes and with center-of-
instability of the ballbot. We reduce the parameter Kp and the mass offsets,’’ in Proc. IEEE Int. Conf. Robot. Automat. (ICRA), May 2015,
pp. 2383–2388.
integral time appropriately to reduce overshoot, the overshoot [15] S. Li et al., ‘‘Event-trigger heterogeneous nonlinear filter for wide-area
of system decreases by strengthening the integral function. measurement systems in power grid,’’ IEEE Trans. Smart Grid, to be
published.
[16] A. Bonci et al., ‘‘Embedded system for a Ballbot robot,’’ in Proc. Int.
V. CONCLUSIONS Workshop Intell. Solutions Embedded Syst., Oct. 2015, pp. 157–161.
Cascade fuzzy control method is designed to solve the bal- [17] H. Zabihi, H. A. Talebi, and A. A. Suratgar, ‘‘Open-loop trajectory plan-
ning and nonlinear control for underactuated spherical wheel mobile robot
ance of the ballbot which moves in any direction flexibly (Ballbot),’’ in Proc. 24th Iranian Conf. Elect. Eng. (ICEE), May 2016,
and turn more efficiently than traditional wheel-supported pp. 1–6.
robot. Position control uses cascade PI and PD controller [18] G. Seyfarth et al., ‘‘Initial results for a ballbot driven with a spherical
induction motor,’’ in Proc. IEEE Int. Conf. Robot. Automat., May 2016,
and yaw control divided into head-hold and head-free modes pp. 3771–3776.
are proposed. The ballbot is completed according to the [19] C. C. Tsai, C. K. Chan, and L. C. Kuo, ‘‘LQR motion control of a
mathematical model and the designed controller. Using the ball-riding robot,’’ in Proc. IEEE/ASME Int. Conf. Adv. Intell. Mechatron.,
Jul. 2012, pp. 861–866.
cascade fuzzy control, the ballbot achieves a dynamic balance
of −0.4◦ ∼ 0.4◦ and completes anti-interference experi-
ments with amazing performance. The ballbot walking along
the preset trajectory with an error of 7.2% under the joint
operation of position control and yaw control. Due to the
excellent omnidirectional movement of the ballbot, it moves
freely in a narrow environment. An interesting topic for future CHENGTAO CAI received the Ph.D. degree from
Harbin Engineering University, Harbin, China,
research would be to improve control accuracy by applying in 2008, where he was a Postdoctoral Research
deep learning to control methods. Scientist in shipbuilding and oceanography engi-
neering, from 2009 to 2011. From 2006 to 2007,
he was a Visiting Scholar with the National
REFERENCES Research Council Canada. He is currently a Pro-
[1] U. Nagarajan, G. Kantor, and R. L. Hollis, ‘‘Trajectory planning and fessor with the College of Automation, Harbin
control of an underactuated dynamically stable single spherical wheeled Engineering University. His research interests
mobile robot,’’ in Proc. IEEE Int. Conf. Robot. Automat., May 2009, include robot intelligent control and panoramic
pp. 3743–3748. vision applications.
[2] H. G. Nguyen et al., ‘‘Segway robotic mobility platform,’’ Proc. SPIE,
vol. 5609, pp. 207–220, Dec. 2004.
[3] A. Lotfiani, M. Keshmiri, and M. Danesh, ‘‘Dynamic analysis and control
synthesis of a spherical wheeled robot (Ballbot),’’ in Proc. 1st RSI/ISM Int.
Conf. Robot. Mechatron. (ICRoM), Feb. 2013, pp. 481–486.
[4] U. Nagarajan et al., ‘‘State transition, balancing, station keeping, and yaw
control for a dynamically stable single spherical wheel mobile robot,’’ in
Proc. IEEE Int. Conf. Robot. Automat., May 2009, pp. 998–1003. JIAXIN LU was born in Inner Mongolia, China,
[5] M. Shomin and R. Hollis, ‘‘Fast, dynamic trajectory planning for a dynami- in 1996. He received the B.S. degree in engineer-
cally stable mobile robot,’’ in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., ing from Harbin Engineering University, in 2017,
Sep. 2014, pp. 3636–3641. where he is currently pursuing the M.S. degree
[6] A. Mampetta, ‘‘Automatic transition of ballbot from statically stable in control science and engineering. His research
state to dynamically stable state,’’ Robot. Inst., Carnegie Mellon Univ., interests include robot and computer vision.
Pittsburgh, PA, USA, Tech. Rep. CMU-RI-TR-06-41, Sep. 2006.
[7] L. Hertig, D. Schindler, M. Bloesch, C. D. Remy, and R. Siegwart,
‘‘Unified state estimation for a ballbot,’’ in Proc. IEEE Int. Conf. Robot.
Automat., May 2013, pp. 2471–2476.
[8] G. Seyfarth, A. Bhatia, O. Sassnick, M. Shomin, M. Kumagai, and
R. Hollis, ‘‘Initial results for a ballbot driven with a spherical induc-
tion motor,’’ in Proc. IEEE Int. Conf. Robot. Automat., May 2016,
pp. 3771–3776.
[9] T. B. Lauwers, G. A. Kantor, and R. L. Hollis, ‘‘A dynamically stable
single-wheeled mobile robot with inverse mouse-ball drive,’’ in Proc. IEEE
Int. Conf. Robot. Automat., May 2006, pp. 2884–2889. ZUOYONG LI received the B.S. and M.S. degrees
[10] M. Kumaga and T. Ochiai, ‘‘Development of a robot balanced on a ball— in computer science and technology from Fuzhou
Application of passive motion to transport–,’’ in Proc. IEEE Int. Conf. University, Fuzhou, China, in 2002 and 2006,
Robot. Automat., May 2009, pp. 916–921. respectively, and the Ph.D. degree from the School
[11] P. Asgari et al., ‘‘Dynamics modelling and stable motion control of a of Computer Science and Technology, Nanjing
Ballbot equipped with a manipulator,’’ in Proc. 1st RSI/ISM Int. Conf. University of Science and Technology (NUST),
Robot. Mechatron., Feb. 2013, pp. 21–36. Nanjing, China, in 2010. He is currently a Pro-
[12] A. C. Satici, F. Ruggiero, and V. Lippiello, ‘‘Intrinsic Euler-Lagrange fessor with the College of Computer and Control
dynamics and control analysis of the ballbot,’’ in Proc. IEEE Amer. Control Engineering, Minjiang University, Fuzhou. He has
Conf., Jul. 2016, pp. 5685–5690. published over 60 papers in international/national
[13] J. Jian et al., ‘‘Standing-up control and ramp-climbing control of a spher- journals. His current research interests include image processing, pattern
ical wheeled robot,’’ in Proc. Int. Conf. Control Automat. Robot. Vis., recognition, and machine learning.
Dec. 2014, pp. 1386–1391.