Ballbot 1
Ballbot 1
Abstract
The ballbot is a human-sized dynamically stable mobile robot that balances on a single ball. Unlike statically stable mobile
robots, the ballbot is tall and narrow with a high center of gravity and a small footprint. Moreover, its dynamic stability
enables it to be physically interactive. These characteristics make it better suited to navigate and interact in cluttered
human environments. This paper presents the evolved hardware design 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. The ballbot
also has a triad of legs that provide static stability when powered down. This paper presents a detailed description of the
ballbot’s control architecture, and it presents several experimental results that demonstrate its balancing and locomotion
capabilities. This paper also presents a trajectory planning algorithm that plans for body lean motions, which, when
tracked, result in the desired rest-to-rest motions of the robot. Finally, the paper illustrates some interesting human–robot
physical interaction behaviors that can be achieved as a result of the ballbot’s dynamic stability.
Keywords
Balancing robots, underactuated systems, dynamics and control, human-robot physical interaction
2008, 2009; Rezero, 2010). In 2005, Laszlo Havasi from In Rosas et al. (2001), the trajectory planning problem
Hungary independently developed another ball balancing of an underactuated planar 2R manipulator is solved
robot called ERROSphere (Havasi, 2005). However, the using offline planned trajectories, which are constructed
robot did not balance reliably and no further work was with smooth sinusoids. In Rosas et al. (2002), a class of
presented. In 2008, Masaaki Kumagai developed a ball bal- parametric trajectories is proposed for the actuated joint
ancing robot called BallIP (Kumagai and Ochiai, 2008) of the 2R underactuated manipulator with zero gravity in
at Tohoku Gakuin University, and his group demonstrated order to achieve desired configurations of the system. In
its capability to carry loads and achieve cooperative trans- this paper, we use a similar class of parametric trajectories
portation (Kumagai and Ochiai, 2009). In 2010, a group of for the unactuated joint of the ballbot as will be described
mechanical engineering students at ETH Zurich developed in Section 6.
a ball balancing robot called Rezero (2010).
The fundamental difference between the ballbot (Hol-
lis, 2006) and the other successful ball balancing
robots (Kumagai and Ochiai, 2008; Rezero, 2010) is in the 3. The ballbot platform
actuator mechanism for the ball. The ballbot (Hollis, 2006) The ballbot, shown in Figure 1, is a reconfigurable cylin-
uses an inverse mouse-ball drive with four motors (see drical platform resting atop a ball. The body is 1.41 m tall,
Section 3.1), whereas both BallIP (Kumagai and Ochiai, weighs 55 kg and has an outer diameter of 0.37 m. The ball-
2008) and Rezero (2010) use omniwheels with three motors bot was intentionally built to be of human size so that it
to drive the ball. Ordinary omniwheels produce unsteady can interact with human environments similar to the way
rolling, and hence a complex and expensive omniwheel humans do. Three aluminium channels, held together by
with continuous circumferential contact line was used for circular decks, define the structure of the ballbot’s body.
BallIP (Kumagai and Ochiai, 2008). The same omniwheel Three retractable legs are attached to the lower part of these
design was adopted later in Rezero. Unlike the ballbot that channels and are deployed to provide static stability when
needs a slip-ring assembly and a separate motor for unlim- powered down. The ball is a 0.185 m diameter hollow alu-
ited yaw rotation (see Section 3.2), the omniwheel balancers minium sphere coated with a 13.5 mm thick layer of ure-
like BallIP and Rezero can move and yaw using just the thane. The body hosts a 48V lead acid battery, its charger
three motors. A detailed analysis and comparison of the and a single board computer on its top decks. An inertial
inverse mouse-ball drive and tri-omniwheel drive mecha- measurement unit (IMU) sits on top of the ball drive unit
nisms is yet to be done. In terms of control, BallIP uses and provides Kalman-filtered body angles and rates w.r.t.
a velocity control strategy on their omniwheels instead of gravity.
torque control. This is due to two reasons: one is that they
use stepper motors to actuate the omniwheels, and the other
is that the velocity control strategy better handles the case 3.1. Inverse mouse-ball drive
where the omniwheel loses contact with the ball. The ballbot uses an inverse mouse-ball drive to actuate the
ball. Figure 2(a) shows the ball drive mechanism, which is
essentially the inverse of a computer mouse. In a traditional
2.3. Underactuated systems computer mouse, the rolling ball drives rollers to produce
Balancing robots are underactuated systems, i.e. systems computer input, whereas here, the rollers drive the ball to
with fewer independent control inputs than the number of produce motion. Our previous version of the inverse mouse-
degrees of freedom (Spong, 1998). Underactuated balanc- ball drive (IMB) (Lauwers et al., 2006) had a pair of drive
ing systems have constraints on their dynamics that restrict and opposing passive rollers for each of the orthogonal
the family of configuration trajectories that they can follow. motion directions. This setup caused the rollers to produce
These constraints are called second-order nonholonomic an upward or downward force on the ball in addition to the
(non-integrable) constraints (Ray, 1966) or dynamic con- torque, which resulted in an undesirable “hopping motion.”
straints. The past few decades have seen a lot of interest in The present design circumvents this problem by actuating
trajectory planning and control for such systems. all four rollers with individual DC servomotors that exert
Underactuated systems with dynamic constraints have pure torques on the ball. The motors have 1024 cpr encoders
been approached from the controls perspective (e.g. acrobot attached to their shafts that measure ball rotation.
swing-up (Spong, 1995)) as well as from the planning per-
spective (e.g. airship path planning (Kim and Ostrowski,
2003)). A detailed analysis of underactuated manipulators
3.2. Yaw mechanism
with passive joints is presented in Oriolo and Nakamura A large thin-section bearing attaches the ball drive mech-
(1991). Olfati-Saber presented explicit cascade normal anism to the body and allows yaw rotation. The yaw drive
forms for different classes of underactuated mechanical consists of a DC servomotor with planetary gears driving
systems and also presented partial feedback linearization a pulley assembly at the center as shown in Figure 2(b).
techniques for controlling them (Olfati-Saber, 2001). The orientation of the body frame w.r.t. the ball drive unit is
920 The International Journal of Robotics Research 33(6)
detect contact with the floor, whereas the ball castors allow
the legs to slide on a smooth floor. Different stages of oper-
ation of the leg drive mechanism along with its components
Drive are shown in Figure 3.
motor Yaw
bearing
Encoder Belt 4. Dynamic model
tensioner
The ballbot is modeled as a rigid cylinder on top of a rigid
Ball sphere. A simplified planar model of the ballbot is used
transfer for both control and trajectory planning. The planar model
Ball
assumes that: (a) there is no slip between the spherical
(a) wheel and the floor, (b) the motion in the median sagital
plane and the median coronal plane is decoupled, (c) the
belt equations of motion in these two planes are identical and
encoder (d) the floor is assumed to be flat and level. With these
assumptions, we design two decoupled, independent planar
controllers and trajectory planners for the 3D system.
assembly The stabilizing controllers for the ballbot presented in
Yaw Section 5 are designed as linear controllers. The linearized
encoder dynamics of the full 3D ballbot system about the origin is
belt PWM
amplifier decoupled between the two orthogonal planes of motion,
which validates the use of decoupled planar models for
linear control design. In the full 3D ballbot model, the cou-
(b) pling terms between the two orthogonal planes of motion
contain products of sine of the body lean angles, and hence,
Fig. 2. Inverse mouse-ball drive and yaw drive: (a) View showing
for small lean angles, the dynamics of two decoupled pla-
ball drive mechanism, (b) view showing yaw drive mechanism.
nar models well approximate the dynamics of the full 3D
model. The trajectory planner presented in Section 6 uses
the nonlinear dynamics of the planar ballbot model to plan
Lead
screw
body lean motions that achieve desired rest-to-rest motions.
Leg In this work, we are interested only in simple planar rest-
motor
Nut
to-rest motions, and hence, the planar ballbot model is suf-
Body ficient to capture the dynamics of the system. A detailed
frame Leg presentation of more sophisticated planning approaches that
Intermediate use the 3D ballbot model can be found in (Nagarajan and
link Hollis, 2013).
Hoof switch
Balll castor 4.1. Planar ballbot model
(a) (b) (c) A ball rolling on a plane has five configurations, two con-
Fig. 3. Leg drive: (a) Various components of the leg drive mech-
figurations for the ball position and three configurations for
anism, (b) legs completely retracted and (c) legs completely
the ball orientation. However, in this work, we are interested
deployed.
only in the position of the ball and not in its orientation.
Figure 4 shows the planar model of the ballbot used in this
work along with this planar configurations. The origin of
given by an absolute encoder attached to the pulley assem- the world frame is fixed to the initial position of the center
bly. A slip ring assembly used for drive motor currents and of the ball. Since we have assumed a flat and level floor, the
encoder signals permits unlimited yaw rotation. horizontal position of the center of the ball xw matches the
horizontal position of the ball’s contact point on the floor.
The body axis of the robot is given by the line connecting
3.3. Legs the center of the ball to the center of mass (CM) of the body.
Each leg is 0.48 m long and is attached to a linear screw The body angle φ is defined as the angle between the ver-
drive with a ratio of 1.6 mm/revolution. The legs are inde- tical and the body axis, and it is directly measured by the
pendently driven by three DC servomotors with 500 cpr IMU. The angular configuration θ of the ball is chosen such
encoders. Each leg has a hoof switch and a ball castor at that the horizontal position of the ball xw w.r.t. the world
its tip. The hoof switches are spring loaded and are used to frame is given by xw = rw ( θ + φ), where rw is the radius
Nagarajan et al. 921
Fig. 4. Planar ballbot model with body angle φ and ball position
xw . The ball angular configuration θ is chosen such that xw =
rw ( θ + φ). As described in Section 3.1, a pair of active opposing
rollers drive the ball in each of the orthogonal motion direc-
tions. For each orthogonal motion direction, the ball torque
of the ball and the ball configuration θ ∈ [−∞, ∞]. There τ is given by:
are two advantages in choosing this coordinate for the ball rw
τ = ( τm1 + τm2 ) , (6)
configuration: one is that the ball configuration θ directly rr
corresponds to the encoder readings on the ball motors, and where rr is the radius of the roller, rw is the radius of the ball,
the other is that this coordinate choice allows one to remove and τm1 , τm2 are the torques on the opposing motors. In the
the input coupling between the ball and the body from the current setup, the amplifiers that drive the opposing motors
equations of motion. are hardwired to command the same torque, i.e. τm1 = τm2 .
The dynamic equations of motion of the planar ball-
bot model,1 shown in Figure 4, are derived using Euler– 4.2. Parameter estimation
Lagrange equations. The equations of motion can be written
in matrix form as follows: In order to facilitate the mathematical model to better rep-
resent the robot dynamics, various offline experiments were
τ conducted to determine the principal system parameters.
M( q) q̈ + C( q, q̇) +G( q) +D( q̇) = (1)
0 Compared to Nagarajan et al. (2009c), this paper presents
a more detailed description of the parameter estimation
where q = [θ , φ]T is the generalized coordinate vector, experiments and the results obtained.
M( q) is the mass/inertia matrix, C( q, q̇) is the vector of
coriolis and centrifugal forces, G( q) is the vector of grav-
4.2.1. Inertia measurement The moments of inertia of the
itational forces, D( q̇) is the frictional torque vector and τ
ballbot’s body were determined experimentally using a tor-
is the torque applied between the ball and the body in the
sional pendulum setup (Wang et al., 2007). The body was
direction normal to the plane. The expressions for the above
suspended perpendicular to its length about its center of
mentioned terms are given below:
mass using a torsional spring as shown in Figure 5, and the
oscillations were observed after an initial disturbance.
α α + β cos φ
M( q) = (2) The resulting angular velocity trajectories from the IMU
α + β cos φ α + γ + 2β cos φ
shown in Figure 6 were used to find the natural frequency
−β sin φ φ̇ 2 of oscillation. The spring constant of the torsional pendu-
C( q, q̇) = (3)
−β sin φ φ̇ 2 lum was obtained by performing the same experiment with
an I-beam whose inertia was calculated from its shape and
0 material density. The torsional spring constant K is given by
G( q) = (4)
− βg sin
r
φ
K = Iωn2 (7)
Dc sgn( θ̇ ) +Dv θ̇
D( q̇) = (5) where I is the inertia of the suspended object and ωn is the
0
natural frequency of oscillation. The moment of inertia of
where α = Iw + ( mw +mb ) rw2 , β = mb rw b , γ = Ib +mb 2b , the body about its center of mass is given by
Dc and Dv are the coulomb friction torque and the vis-
cous damping friction coefficient respectively. Please refer ωI−beam
2
Ib = II−beam (8)
to Table 1 for the other symbols. ωb2
922 The International Journal of Robotics Research 33(6)
Fig. 8. Ball response to the ramp current inputs to the ball drive
motors used for determing coulomb and viscous friction terms.
Fig. 5. Torsional pendulum setup with the ballbot suspended
perpendicular to its length.
(a) (b)
Fig. 10. Block diagram for the stationkeeping controller with the (a) (b)
balancing control block.
Fig. 11. Balancing about zero body angles: (a) Pitch angle tra-
jectory, (b) ball position on the carpet when the robot is not
the ball position and velocity data are obtained from the disturbed.
encoders of the ball motors, while the body angles are
obtained from the IMU.
Fig. 13. Block diagram of the yaw controller. Fig. 15. Block diagram for the legs-adjust controller.
(a) (b)
Fig. 16. (a) Top view of the ballbot with all three legs deployed;
(b) position of leg 1 as a function of body pitch.
(a) (b)
Fig. 17. Effect of legs adjust controller: (a) Roll; (b) ball velocity.
Fig. 21. Desired body angle trajectories using feedback compen- Fig. 25. Ball velocity trajectories: (a) when the ballbot is pushed
sation from experiments on the ballbot: (a) Pitch; (b) roll. with a constant force, and (b) when the ballbot is physically
stopped while in motion.
(a) (b)
Fig. 26. Ball velocity trajectories: (a) when the ballbot collides
with a rigid object; (b) when the ballbot is kicked.
Acknowledgments
We wish to thank Eric Schearer, Kathryn Rivard, Suresh Nidhiry,
(a) (b) Jun Xian Leong, Jared Goerner and Tom Lauwers for their great
Fig. 29. Teleoperation with a joystick: (a) climbing a ramp of 4◦ ; efforts on the ballbot project.
(b) driving over wires on the floor.
Funding
The ballbot was able to drive into and out of elevators and
over the cracks and misalignment between elevator cars and This work was supported by the National Science Foundation
floors with ease. (grant numbers IIS-0308067 and IIS-0535183).
Kumagai M and Ochiai T (2008) Development of a robot balanc- Oriolo G and Nakamura Y (1991) Control of mechanical sys-
ing on a ball. International conference on control, automation tems with second-order nonholonomic constraints: Under-
and systems, Seoul, 14–17 October, pp. 433–438. actuated manipulators. Proceedings of IEEE conference on
Kumagai M and Ochiai T (2009) Development of a robot bal- decision and control, Brighton, UK, 11–13 December 1991,
ancing on a ball—Application of passive motion to transport. Vol. 3, pp. 2398–2403.
In: Proceedings IEEE international conference on robotics and Ray J (1966) Nonholonomic constraints. American Journal of
automation, Kobe, Japan, 12–17 May 2009, pp. 4106–4111. Physics 34: 406–408.
Lauwers T, Kantor G and Hollis R (2005) One is enough! In: Rezero (2010) Available at: http://www.rezero.ethz.ch.
Proceedings of the international symposium for robotics Rosas J, Alvarez J and Castro R (2001) Trajectory planning and
research, San Francisco, CA, USA, 12-15 October 2005, control of an underactuated planar 2R manipulator. In: Pro-
pp. 327–336. ceedings of IEEE International conference on control applica-
Lauwers TB, Kantor G and Hollis R (2006) A dynamically tions, Mexico City, 5–7 September, pp. 548–552.
stable single-wheeled mobile robot with inverse mouse-ball Rosas J, Alvarez J and Castro R (2002) Control of an underactu-
drive. In: Proceedings International conference on robotics and ated planar 2R manipulator: Experimental results. In: Proceed-
automation, Orlando, FL, 15–19 May 2006, pp. 2884–2889. ings of 15th IFAC World Congress, Barcelona, Spain, 21–26
Nagarajan U and Hollis R (2013) Shape space planner for shape- July 2002, Vol. 15, Part 1, p. 854.
accelerated balancing mobile robots. International Journal of Spong M (1995) The swing up control problem for the acrobot.
Robotics Research 32(11): 1323–1341. Control Systems Magazine, IEEE 15(1): 49–55.
Nagarajan U, Kantor G and Hollis R (2009a) Human–robot Spong M (1998) Underactuated mechanical systems. In: Siciliano
physical interaction with dynamically stable mobile robots. B and Valavanis K (eds) Control Problems in Robotics and
ACM/IEEE International conference on human–robot Interac- Automation. London, New York: Springer-Verlag, pp. 135–150.
tion, La Jolla, CA, 11–13 March 2009, pp. 281–289. (Short Stilman M, Olson J and Gloss W (2010) Golem Krang: Dynami-
paper and video.) cally stable humanoid robot for mobile manipulation. In: Pro-
Nagarajan U, Kantor G and Hollis R (2009b) Trajectory plan- ceedings of IEEE International conference on robotics and
ning and control of an underactuated dynamically stable single automation, Anchorage, AK, 3–7 May 2010, pp. 3304–3309.
spherical wheeled mobile robot. Proceedings of IEEE Inter- Wang H, Grindle G, Connor S and Cooper R (2007) An exper-
national conference on robotics and automation, Kobe, Japan, imental method for measuring the moment of inertia of an
12–17 May 2009, pp. 3743–3748. electric power wheelchair. In: Proceedings IEEE conference
Nagarajan U, Mampetta A, Kantor G and Hollis R (2009c) State on engineering in medicine and biology society, Buenos Aires,
transition, balancing, station keeping, and yaw control for a Argentina, 31 August–4 September, pp. 4798–4801.
dynamically stable single spherical wheel mobile robot. Pro-
ceedings of IEEE International conference on robotics and
automation, Kobe, Japan, 12–17 May 2009, pp. 998–1003.
Appendix A: Index to Multimedia Extension
Nelder J and Mead R (1964) A simplex method for function The multimedia page is found at: www.ijrr.org
minimization. Computer Journal 7: 308–313.
Nguyen HG, Morrell J, Mullens K, Burmeister A, Miles S, Far- Table of Multimedia Extension
rington N, Thomas K and Gage D (2004) Segway robotic
mobility platform. In: SPIE proceedings 5609: Mobile robots Extension Media type Description
XVII, Philadelphia, PA, USA, 25 October 2004.
Olfati-Saber R (2001) Nonlinear control of underactuated 1 Video Demonstrates the capabilities
mechanical systems with application to robotics and aerospace of the ballbot and its robustness,
vehicles. PhD Thesis, Massachusetts Institute of Technology, along with planning and physical
USA. interaction experiments