-
1The Ballbot: An Omnidirectional BalancingMobile Robot
Umashankar Nagarajan, George Kantor, and Ralph Hollis
AbstractThe ballbot is a human-sized dynamicallystable mobile
robot that balances on a single ball. Unlikestatically stable
mobile robots, the ballbot is tall and narrowwith a high center of
gravity and a small footprint. More-over, its dynamic stability
enables it to be physically interac-tive. These characteristics
make it better suited to navigateand interact in cluttered human
environments. This paperpresents the evolved hardware design of the
ballbot witha four-wheel inverse mouse-ball drive to actuate the
ball,and a yaw drive mechanism that enables unlimited rotationabout
its vertical axis. The ballbot also has a triad of legsthat provide
static stability when powered down. This paperpresents a detailed
description of the ballbots controlarchitecture, and it presents
several experimental resultsthat demonstrate its balancing and
locomotion capabilities.This paper also presents a trajectory
planning algorithmthat plans for body lean motions, which when
tracked resultin the desired rest-to-rest motions of the robot.
Finally,the paper illustrates some interesting human-robot
physicalinteraction behaviors that can be achieved as a result
ofthe ballbots dynamic stability.
I. INTRODUCTION
There are a number of challenges in building wheeledmobile
robots that will operate and interact in humanenvironments. One of
the fundamental challenges isin locomotion and navigation.
Traditionally, wheeledrobots have been statically stable, while
recently, moregroups have been interested in developing
dynamicallystable wheeled robots that actively balance. The
workpresented in this paper aims at exploring the feasibilityof
developing dynamically stable mobile robots thatare human-sized,
dynamically agile, slender enough toeasily maneuver cluttered
environments and readily yieldwhen pushed. This paper presents the
ballbot, shownin Fig. 1, which is the first successful
single-wheeled,omnidirectional balancing mobile robot to the best
ofour knowledge (Lauwers et al. 2005). The ballbot wasdeveloped as
a simple test bed to study locomotion andphysical interaction
characteristics of balancing mobilerobots in human
environments.
U. Nagarajan, G. Kantor and R. Hollis are with The Robotics
Insti-tute, Carnegie Mellon University, Pittsburgh, PA 15213, USA.
email:[email protected], [email protected],
[email protected].
Balancing robots have underlying dynamic propertiesthat can be
exploited in order to carry out agile, efficientmotion. Balancing
robots can be tall enough to interactwith people at eye level,
narrow enough to easily ne-gotiate cluttered environments, and they
can move withspeed and agility comparable to that of humans.
Theyare also capable of safe and gentle physical interaction.
To understand why balancing robots offer a revolu-tionary
departure from traditional statically stable mobilerobots one must
consider that statically stable (non-balancing) robots of the
traditional variety generally havemultiple wheels or treads. When
at rest, the gravitationalvector from the robots center of mass
must pass throughthe base of support. When the robot accelerates,
thevector sum of its acceleration and gravity vectors mustbe
encompassed by the base to avoid tipping. If thestatically stable
robot is tall, has heavy arms, or carries aheavy payload it becomes
much more difficult to avoidpotentially disastrous tipping.
In 2005, we introduced the ballbot, a dynamicallystable mobile
robot moving on a single spherical wheel(Lauwers et al. 2005), and
it was popularized in (Hollis2006; Lauwers et al. 2006). Unlike its
two-wheeledcounterparts, the single spherical wheel provides
om-nidirectional motion making the ballbot more suitablefor
navigation in human environments with constrainedspaces. Moreover,
the ballbot is tall and narrow, whichenhances its ability to
interact with human environments.
Fig. 1. Ballbot balancing.
To appear in the International Journal of Robotics Research
(IJRR)
-
In (Hollis 2006; Lauwers et al. 2006, 2005), we pre-sented the
first version of the ballbot with preliminaryresults of its
balancing behavior. It used an inversemouse-ball drive with only
two active motors to drivethe ball, which resulted in an
undesirable hopping mo-tion. Although its controller was capable of
balancingthe robot reasonably well, it was not robust to
largedisturbances. Moreover, it produced jerky motions
whiletracking desired ball motions.
A. ContributionsThis paper exclusively deals with the design
and
operation of the ballbot, which is the first successful
ballbalancing robot to the best of our knowledge. The ballbotwas
designed as a simple test bed to study locomotionand interaction
characteristics of balancing mobile robotsin human environments.
This paper demonstrates the fea-sibility of developing such simple
balancing platforms,and highlights the advantages of balancing
robots. It alsodiscusses the drawbacks and the challenges that need
tobe addressed in developing balancing mobile robots.
This paper presents an evolved version of the ballbotwith a
four-motor inverse mouse-ball drive, wherein allfour rollers
driving the ball are active. This arrangementovercame the
undesirable hopping motion that wasobserved in (Hollis 2006;
Lauwers et al. 2006, 2005).This evolved version included a yaw
drive mechanismthat enabled the ballbot to rotate about its
vertical axis.This paper presents a detailed description of the
entireimproved control architecture of the ballbot,
includingbalancing control, stationkeeping and velocity control,leg
control, and yaw control. It presents controllersthat enable the
ballbot to successfully transition from astatically stable state
(SSS) to a dynamically stable state(DSS) and vice versa. Unlike in
(Hollis 2006; Lauwerset al. 2006, 2005), the balancing controller
presentedhere enables the ballbot to be robust to large
distur-bances, including shoves and kicks, and also
collisionsagainst walls and tables.
This paper also presents an offline trajectory planningalgorithm
that plans body lean trajectories so as to movethe robot to a
desired position on the floor while satis-fying the dynamic
constraints associated with balancing.The trajectory planner and
the control architecture enablethe ballbot to achieve good tracking
of desired ball mo-tions, and do not produce jerky motions as was
observedin (Hollis 2006; Lauwers et al. 2006, 2005). This
paperpresents experimental results of the ballbot achievingsmooth
rest-to-rest motions on the floor. Finally, thepaper demonstrates
how properties of dynamic stabilitynaturally provide for safe,
useful human-robot physical
interactions with balancing robots like the ballbot. Thispaper
is an improved version of the work presented in(Nagarajan et al.
2009a,b,c).
II. RELATED WORKA. Balancing Mobile Robots
The idea of balancing with wheeled robots has beenaround for
some time. Of course the cart-pendulumsystem has long been
considered as a canonical prob-lem in the controls literature, but
one of the first realtwo-wheeled inverted-pendulum type mobile
robot wasdesigned and controlled in (Ha and Yuta 1997). Two-wheeled
balancing robots became popular especiallyafter the introduction of
the Segway RMP (Nguyen et al.2004). Dean Kamen introduced iBot
(iBOT 2003), a two-wheeled balancing wheelchair, and Anybots
introduceda balancing tele-presence robot on two wheels
(Anybots2010). Rod Grupen and his group introduced uBot (Dee-gan et
al. 2006), a two-wheeled dynamic mobile manipu-lation platform and
showed that balancing robots can beeffective mobile manipulators
(Deegan et al. 2008). MikeStilman introduced Golem Krang (Stilman
et al. 2010),a two-wheeled balancing mobile manipulator that
canautonomously stand and sit. Such two-wheeled balancingplatforms
have dominated the field of dynamically stablemobile robots, but
they have kinematic constraints (i.e.,wheels that cannot slip
sideways) that restrict theirdirection of motion. Moreover, they
balance in only onevertical plane and are statically stable in the
other. On thecontrary, single-wheeled balancing mobile robots like
theballbot (Hollis 2006) balance in both the vertical planesand are
omnidirectional in motion.
B. Single-wheeled Omnidirectional Balancing RobotsSince the
introduction of the ballbot at Carnegie
Mellon University in 2005, several other groups aroundthe world
have also begun to explore and build single-wheel omnidirectional
balancers (Havasi 2005; Kumagaiand Ochiai 2008, 2009; Rezero 2010).
In 2005, LaszloHavasi from Hungary independently developed
anotherball balancing robot called ERROSphere (Havasi
2005).However, the robot did not balance reliably and there wasno
further work presented. In 2008, Masaaki Kumagaideveloped a ball
balancing robot called BallIP (Kumagaiand Ochiai 2008) at Tohoku
Gakuin University, and hisgroup demonstrated its capability to
carry loads andachieve cooperative transportation (Kumagai and
Ochiai2009). In 2010, a group of mechanical engineeringstudents at
ETH Zurich developed a ball balancing robotcalled Rezero (Rezero
2010).
2
To appear in the International Journal of Robotics Research
(IJRR)
-
The fundamental difference between the ballbot (Hol-lis 2006),
and the other successful ball balancingrobots (Kumagai and Ochiai
2008; Rezero 2010) is inthe actuator mechanism for the ball. The
ballbot (Hollis2006) uses an inverse mouse-ball drive with four
motors(see Sec. III-A), whereas both BallIP (Kumagai andOchiai
2008) and Rezero (Rezero 2010) use omniwheelswith three motors to
drive the ball. Ordinary omniwheelsproduce unsteady rolling and
hence, a complex andexpensive omniwheel with continuous
circumferentialcontact line was used for BallIP (Kumagai and
Ochiai2008). The same omniwheel design was adopted laterin Rezero.
Unlike the ballbot that needs a slip-ringassembly and a separate
motor for unlimited yaw rotation(see Sec. III-B), the omniwheel
balancers like BallIP andRezero can move and yaw using just the
three motors. Adetailed analysis and comparison of the inverse
mouse-ball drive and tri-omniwheel drive mechanisms is yetto be
done. In terms of control, BallIP uses a velocitycontrol strategy
on their omniwheels instead of torquecontrol. This is due to two
reasons, one is that they usestepper motors to actuate the
omniwheels, and the otheris that the velocity control strategy
better handles thecase where the omniwheel loses contact with the
ball.
C. Underactuated SystemsBalancing robots are underactuated
systems, i.e., sys-
tems with fewer independent control inputs than thenumber of
degrees of freedom (Spong 1998). Underactu-ated balancing systems
have constraints on their dynam-ics that restrict the family of
configuration trajectoriesthat they can follow. These constraints
are called second-order nonholonomic (non-integrable) constraints
(Ray1966) or dynamic constraints. The past few decades haveseen a
lot of interest in trajectory planning and controlfor such
systems.
Underactuated systems with dynamic constraints havebeen
approached from the controls perspective (e.g.,acrobot swing-up
(Spong 1995)) as well as from theplanning perspective (e.g.,
airship path planning (Kimand Ostrowski 2003)). A detailed analysis
of under-actuated manipulators with passive joints is presentedin
(Oriolo and Nakamura 1991). Olfati-Saber presentedexplicit cascade
normal forms for different classes ofunderactuated mechanical
systems and also presentedpartial feedback linearization techniques
for controllingthem (Olfati-Saber 2001). In (Rosas et al. 2001),
thetrajectory planning problem of an underactuated planar2R
manipulator is solved using offline planned trajec-tories, which
are constructed with smooth sinusoids.In (Rosas et al. 2002), a
class of parametric trajectories is
proposed for the actuated joint of the 2R
underactuatedmanipulator with zero gravity in order to achieve
desiredconfigurations of the system. In this paper, we use asimilar
class of parametric trajectories for the unactuatedjoint of the
ballbot as will be described in Sec. VI.
III. THE BALLBOT PLATFORMThe ballbot, shown in Fig. 1, is a
reconfigurable cylin-
drical platform resting atop a ball. The body is 1.41 mtall,
weighs 55 kg and has an outer diameter of 0.37 m.The ballbot was
intentionally built to be of human sizeso that it can interact with
human environments similarto the way humans do. Three aluminium
channels, heldtogether by circular decks, define the structure of
theballbots body. Three retractable legs are attached tothe lower
part of these channels and are deployed toprovide static stability
when powered down. The ballis a 0.185 m diameter hollow aluminium
sphere coatedwith a 13.5 mm thick layer of urethane. The body
hostsa 48V lead acid battery, its charger and a single
boardcomputer on its top decks. An inertial measurement unit(IMU)
sits on top of the ball drive unit and providesKalman-filtered body
angles and rates w.r.t. gravity.
A. Inverse Mouse-ball DriveThe 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 atraditional
computer mouse, the rolling ball drives rollersto produce computer
input, whereas here, the rollersdrive the ball to produce motion.
Our previous versionof the inverse mouse-ball drive (IMB) (Lauwers
et al.2006) had a pair of drive and opposing passive rollersfor
each of the orthogonal motion directions. This setupcaused the
rollers to produce an upward or downwardforce on the ball in
addition to the torque, which resultedin an undesirable hopping
motion. The present designcircumvents this problem by actuating all
four rollerswith individual DC servomotors that exert pure
torqueson the ball. The motors have 1024 cpr encoders attachedto
their shafts that measure ball rotation. A detailed paperdescribing
the IMB is in preparation (Hollis et al.).
B. Yaw MechanismA large thin-section bearing attaches the ball
drive
mechanism to the body and allows yaw rotation. Theyaw drive
consists of a DC servomotor with planetarygears driving a pulley
assembly at the center as shown inFig. 2(b). The orientation of the
body frame with respectto the ball drive unit is given by an
absolute encoder
3
To appear in the International Journal of Robotics Research
(IJRR)
-
Ball
Balltransfer
Drivemotor Yaw
bearing
Encoder BelttensionerDrivebelt
Driveroller
( )a
Yawabsoluteencoder
Yawmotor
Yawdrivebelt
Yawencoderbelt
Slipringassembly
PWMamplifier
( )b
Fig. 2. Inverse mouse-ball drive and yaw drive: (a) view
showingball drive mechanism, (b) view showing yaw drive
mechanism.
attached to the pulley assembly. A slip ring assemblyused for
drive motor currents and encoder signals permitsunlimited yaw
rotation.
C. LegsEach leg is 0.48 m long and is attached to a linear
screw drive with a ratio of 1.6 mm/revolution. The legsare
independently driven by three DC servomotors with500 cpr encoders.
Each leg has a hoof switch and a ballcastor at its tip. The hoof
switches are spring loadedand are used to detect contact with the
floor, whereasthe ball castors allow the legs to slide on a smooth
floor.
Legmotor
Bodyframe
HoofswitchBallcastor
Intermediatelink
Leg
Leadscrew
Nut
( )c( )b( )a
Fig. 3. Leg drive: (a) Various components of the leg drive
mechanism,(b) legs completely retracted, and (c) legs completely
deployed.
Different stages of operation of the leg drive mechanismalong
with its components are shown in Fig. 3.
IV. DYNAMIC MODELThe ballbot is modeled as a rigid cylinder on
top of a
rigid sphere. A simplified planar model of the ballbotis used
for both control and trajectory planning. Theplanar model assumes
that: (i) there is no slip betweenthe spherical wheel and the
floor, (ii) the motion in themedian sagital plane and the median
coronal plane isdecoupled, (iii) the equations of motion in these
twoplanes are identical, and (iv) the floor is assumed to beflat
and level. With these assumptions, we design twodecoupled,
independent planar controllers and trajectoryplanners for the 3D
system.
The stabilizing controllers for the ballbot presented inSec. V
are designed as linear controllers. The linearizeddynamics of the
full 3D ballbot system about the origin isdecoupled between the two
orthogonal planes of motion,which validates the use of decoupled
planar modelsfor linear control design. In the full 3D ballbot
model,the coupling terms between the two orthogonal planesof motion
contain products of sine of the body leanangles, and hence, for
small lean angles, the dynamicsof two decoupled planar models well
approximate thedynamics of the full 3D model. The trajectory
plannerpresented in Sec. VI uses the nonlinear dynamics ofthe
planar ballbot model to plan body lean motions thatachieve desired
rest-to-rest motions. In this work, we areinterested only in simple
planar rest-to-rest motions, andhence, the planar ballbot model is
sufficient to capturethe dynamics of the system. A detailed
presentation ofmore sophisticated planning approaches that use the
3Dballbot model is in review (Nagarajan and Hollis 2013).
A. Planar Ballbot ModelA ball rolling on a plane has five
configurations, two
configurations for the ball position and three configu-rations
for the ball orientation. However, in this work,we are interested
only in the position of the ball andnot in its orientation. Figure
4 shows the planar modelof the ballbot used in this work along with
this planarconfigurations. The origin of the world frame is fixed
tothe initial position of the center of the ball. Since we
haveassumed a flat and level floor, the horizontal position ofthe
center of the ball xw matches the horizontal positionof the balls
contact point on the floor. The body axis ofthe robot is given by
the line connecting the center of theball to the center of mass
(CM) of the body. The bodyangle is defined as the angle between the
vertical andthe body axis, and it is directly measured by the
IMU.
4
To appear in the International Journal of Robotics Research
(IJRR)
-
mb
r
l
f
XW
ZW
xw
Fig. 4. Planar ballbot model with body angle and ball position
xw .The ball angular configuration is chosen such that xw =
rw(+).
The angular configuration of the ball is chosen suchthat the
horizontal position of the ball xw w.r.t. the worldframe is given
by xw = rw(+), where rw is the radiusof the ball and the ball
configuration [,].There are two advantages in choosing this
coordinate forthe ball configuration: one is that the ball
configuration directly corresponds to the encoder readings on
theball motors, and the other is that this coordinate choiceallows
one to remove the input coupling between the balland the body from
the equations of motion.
The dynamic equations of motion of the planar ball-bot model1,
shown in Fig. 4, are derived using Euler-Lagrange equations. The
equations of motion can bewritten in matrix form as follows:
M(q)q + C(q, q) +G(q) +D(q) =
[0
], (1)
where q = [, ]T is the generalized coordinate vector,M(q) is the
mass/inertia matrix, C(q, q) is the vectorof coriolis and
centrifugal forces, G(q) is the vector ofgravitational forces, D(q)
is the frictional torque vectorand is the torque applied between
the ball and the bodyin the direction normal to the plane. The
expressions forthe above mentioned terms are given below:
M(q) =
[ + cos
+ cos + + 2 cos
], (2)
C(q, q) =
[ sin2
sin2
], (3)
G(q) =
[0
g sin
r
], (4)
D(q) =
[Dcsgn() +Dv
0
], (5)
where = Iw + (mw + mb)r2w, = mbrwb, =Ib +mb
2
b , Dc and Dv are the coulomb friction torque
1It is to be noted that the model described below uses a
coordinatescheme different from the one described in (Lauwers et
al. 2006).
and the viscous damping friction coefficient respectively.Please
refer to Table I for the other symbols.
As described in Sec. III-A, a pair of active opposingrollers
drive the ball in each of the orthogonal motiondirections. For each
orthogonal motion direction, the balltorque is given by:
=rwrr
(m1 + m2), (6)
where rr is the radius of the roller, rw is the radius ofthe
ball, and m1, m2 are the torques on the opposingmotors. In the
current setup, the amplifiers that drive theopposing motors are
hardwired to command the sametorque, i.e., m1 = m2.
B. Parameter EstimationIn order to facilitate the mathematical
model to better
represent the robot dynamics, various offline experimentswere
conducted to determine the principal system param-eters. Compared
to (Nagarajan et al. 2009c), this paperpresents a more detailed
description of the parameterestimation experiments and the results
obtained.
1) Inertia Measurement: The moments of inertia ofthe ballbots
body were determined experimentally usinga torsional pendulum setup
(Wang et al. 2007). Thebody was suspended perpendicular to its
length aboutits center of mass using a torsional spring as shown
inFig. 5, and the oscillations were observed after an
initialdisturbance.
The resulting angular velocity trajectories from theIMU shown in
Fig. 6 were used to find the naturalfrequency of oscillation. The
spring constant of thetorsional pendulum was obtained by performing
the sameexperiment with an I-beam whose inertia was calculatedfrom
its shape and material density. The torsional springconstant K is
given by
K = I2n, (7)where I is the inertia of the suspended object and
nis the natural frequency of oscillation. The moment of
Torsionwire
IMUSmallgap
Supportframe
Fig. 5. Torsional pendulum setup with the ballbot suspended
perpen-dicular to its length.
5
To appear in the International Journal of Robotics Research
(IJRR)
-
Ang
ular
Velo
city
(rad/s
)
Time (s)0 20 40 60 80 100
2
1
0
1
2
Fig. 6. Damped sinusoidal oscillation used to determine the
ballbotsmoments of inertia.
inertia of the body about its center of mass is given by
Ib = IIbeam2Ibeam
2b. (8)
The moment of inertia about the vertical axis Izzbwas determined
by a similar experiment with the bodysuspended vertically. The
measured moment of inertiavalues are shown in Table I.
2) Friction Modeling: The coulomb friction torqueand the viscous
friction coefficient were experimentallydetermined using the setup
shown in Fig. 7, where theballbot stood on a roller ball with its
body constrainedvertically. A ramp current input of slope m was
given tothe ball drive motors and the angular velocity of the
ballwas recorded. The minimum current required to start theball
rolling is called the breakaway current, which whenmultiplied by
the torque constant Ki of the drive unitgives the coulomb friction
torque Dc. The experimentwas repeated with the current vector at 5
intervals.
After breakaway, the equation of motion of the ballcan be
written as
Iw = (t) v Dc, > 0 (9)= KimtDv Dc, (10)
where v is the viscous friction torque. The plot ofball angular
velocity vs. time after breakaway canbe approximated by a line of
constant slope c (Kellyet al. 2000) as shown in Fig. 8. Hence, the
ball angularvelocity and angular acceleration can be written as
= ct d, > 0 (11) = c. (12)
Ballbotball
Ballcastor
Fig. 7. Ball rolling on the roller during friction tests.
-d
slope m
slope cLinear Fit
Time (s)
Inpu
tCu
rrent
(A)
Bal
lAng
ular
Velo
city
(rad/s
)
0 5 10 15 200 5 10 15 202
0
2
4
2
0
2
4
Fig. 8. Ball response to the ramp current inputs to the ball
drivemotors used for determing coulomb and viscous friction
terms.
0180
330
150
300
120
270
90
240
60
210
304321
(a)
0180
330
150
300
120
270
90
240
60
210
30
43
21
(b)
Fig. 9. Radial plots as functions of drive directions: (a)
Coulomb fric-tion torque Dc (Nm); (b) Viscous friction coefficient
Dv (Nms/rad).
The ball angular velocity was measured using theencoders on the
ball motors. The viscous friction co-efficient Dv can be obtained
by solving (1012), and isgiven by
Dv =Kim
c. (13)
The radial plots of coulomb friction torque and vis-cous
friction coefficient in different drive directions areshown in Fig.
9. Table I presents the average coulombfriction torque and viscous
friction coefficient values thatare used in simulation.
TABLE ISYSTEM PARAMETERS
Parameter Symbol ValueBall radius rw 0.1058 mRoller radius rr
0.006335 mBall mass mw 2.44 kgBall inertia Iw 0.0174 kgm2Body
center of mass height b 0.69 mRoll moment of inertia Ixx
b12.59 kgm2
Pitch moment of inertia Iyyb
12.48 kgm2Yaw moment of inertia Izz
b0.66 kgm2
Body mass mb 51.66 kgCoulomb friction torque Dc 3.82 NmViscous
friction coefficient Dv 3.68 Nms/radBall drive torque constant Ki
2.128 Nm/A
6
To appear in the International Journal of Robotics Research
(IJRR)
-
V. CONTROL ARCHITECTURE
This section describes the various controllers used onthe
ballbot. For all experimental results presented in thispaper, the
ball position and velocity data are obtainedfrom the encoders of
the ball motors, while the bodyangles are obtained from the
IMU.
A. Balancing Control
The objective of the balancing controller is to balancethe body
about the desired angles, i.e., roll and pitchangles. The desired
body angles will be zero for a purebalancing operation, i.e.,
standing still and non-zero inorder to move around (Nagarajan et
al. 2009a). Thebalancing controller consists of two independent
con-trollers, one for each of the vertical planes. Each one is
aProportional-Integral-Derivative (PID) controller whosegains were
tuned manually. The balancing controller,shown in the shaded part
of Fig. 10, attempts to trackthe desired center of mass projection
on the floor.
While balancing, the body angles remain within 0.1as shown in
the plot for the pitch angle in Fig. 11(a).Similar results were
obtained for the roll angle. TheXY plot of the ball position on a
carpeted floor underthe action of just the balancing controller is
shown inFig. 11(b). The ball position was obtained using the
datafrom the encoders on the ball motors. Even though thebalancing
controller does not attempt to maintain its ballposition, the ball
remains within 20 mm of its startingpoint on the floor. However, it
is to be noted that therobot was not disturbed during this
operation.
B. Outer Loop Control
The balancing controller is good at balancing aboutthe desired
body angles but does not achieve any desiredball position or
velocity on the floor. This is achievedby using an outer control
loop around the balancingcontroller, as shown for the
stationkeeping controller inFig. 10. The outer loop controller
provides the desiredbody angles to the balancing controller.
+
sd +
++
BalancingController
sr
Stationkeeping
PD
BalancingPID
l sin()
.Ballbot
f
fd f
f
q
q.
.
t
Fig. 10. Block diagram for the stationkeeping controller with
thebalancing control block.
ExperimentalSimulation
Pitc
h(
)
Time (s)0 20 40 60
0.1
0
0.1
(a)
YLi
near
Posit
ion
(m)
X Linear Position (m)0.020.01 0 0.01 0.02
0.02
0.01
0
0.01
0.02
(b)
Fig. 11. Balancing about zero body angles: (a) Pitch angle
trajectory,(b) Ball position on the carpet when the robot is not
disturbed.
Stop
Start
Push
YLi
near
Posit
ion
(m)
X Linear Position (m)0.20.1 0 0.1 0.2
0.1
0
0.1
0.2
0.3
(a)
Start
Push
Push
Push
Push
YLi
near
Posit
ion
(m)
X Linear Position (m)0.20.1 0 0.1 0.2
0.2
0.1
0
0.1
0.2
(b)
Fig. 12. XY ball position when the ballbot is pushed with
about20 N force for 0.5 s under the action of: (a) balancing
controller, (b)stationkeeping controller.
1) Stationkeeping Control: Stationkeeping is the actof balancing
at a desired ball position sd even whendisturbed. The position of
the ball on the floor is givenby s = rw( + ). The stationkeeping
controller isa Proportional-Derivative (PD) controller that
outputsdesired body angles depending on the error between theballs
current and desired positions. The PD controllersangle outputs are
saturated to avoid large lean anglesand its gains were tuned
manually. The XY plot of therobots ball position under the action
of balancing andstationkeeping controllers are shown in Fig. 12(a)
andFig. 12(b) respectively. Here, the ballbot was pushedby a human
with about 20 N force for 0.5 s. Whileusing the balancing
controller, the ballbot comes torest about 0.2 m from its initial
position (Fig. 12(a)),whereas the stationkeeping controller
successfully bringsthe robot to rest at its initial position even
when disturbed(Fig. 12(b)). The ball position was obtained from
theencoders on the ball motors. The companion video (Ex-tension 1)
shows the ballbot successfully stationkeepingwhen subjected to
human pushes.
2) Velocity Control: The velocity controller is a man-ually
tuned Proportional-Integral (PI) controller that out-puts desired
body angles depending on the error betweenthe balls current and
desired velocities. The velocity
7
To appear in the International Journal of Robotics Research
(IJRR)
-
VelocitycontrolPI
Ballbotyawdrive
currenti+
+
+Positioncontrol
PD
IMU y
yd
y. y.
yd.
Fig. 13. Block diagram of the yaw controller.
PSfrag
ExperimentalReference
Yaw
()
Time (s)0 5 10 15 20 25
0
100
200
300
400
Fig. 14. 360 yaw maneuver while balancing.
controller is concerned only with the ball velocity s andnot its
position s. The velocity controller has two majorapplications, one
as a stopping controller that enables theballbot to slow down and
come to rest when subjectedto large disturbances; and the other for
teleoperationwherein the user can provide velocity commands using
ajoystick. The angle outputs from the velocity controllerare
saturated to avoid large lean angles.
C. Yaw ControlThe yaw controller, shown in Fig. 13, is
decoupled
from the balancing controller and consists of two loops:an inner
Proportional-Integral (PI) control loop that feedsback the yaw
angular velocity and an outer PD controlloop that feeds back both
the yaw angle and theyaw angular velocity . The yaw angle is
obtainedby integrating the yaw angular velocity data fromthe IMU.
The output from the outer-loop PD controlleris saturated to avoid
high desired angular velocities.The PI loop also relies on output
saturation and doesnot use anti-windup logic. When the body yaws,
theIMU attached to the body frame rotates, whereas theball drive
unit does not. Hence, the body angles aretransformed from the body
frame to the drive unit frameusing the angle offset provided by the
absolute yawencoder. A successful 360 yaw rotation of the
ballbotwhile balancing is shown in Fig. 14, and its video canbe
found in Extension 1.
D. Leg ControlThe three legs have independent controllers for
both
up and down motions. The legs-up controller is a PIvelocity
controller that stops when the legs hit the body,i.e., when the leg
velocity is less than a threshold. The
LegsadjustPID
currenti+
+
+
Ballbotlegdrive
IMU
Legencoders
+
Kleg
f
fd
x
xddxd
Fig. 15. Block diagram for the legs-adjust controller.
legs-down controller has an inner PI control loop thatfeeds back
the leg velocity and an outer PD control loopthat feeds back both
position and velocity of the legsimilar to that of the yaw
controller in Fig. 13. The legson the ballbot were not designed to
snap up and down,and they are not strong enough to hold a falling
robot.A combination of PI and PD control loops are used toregulate
their velocities in order to minimize damagefrom hitting the body
and the ground from legs-up andlegs-down operations respectively.
The three legs haveindependent controllers so that they can handle
caseswhere the ballbot balances on a non-level floor.
The ballbot is in a dynamically stable state (DSS)when it is
balancing on the ball and it is in a staticallystable state (SSS)
when it rests on its three legs. In orderto be autonomous, the
ballbot must have the capabilityto automatically transition between
SSS and DSS. Theballbot must simultaneously use the legs-up
controllerand the balancing controller to automatically
transitionfrom SSS to DSS. This can create large,
undesirabletransients if the body angles are large when in SSS.
Thebody angles will not be close to zero especially when therobot
is on a non-level floor. In order to avoid this, weuse a
legs-adjust controller, shown in Fig. 15, to adjustthe position of
the legs tilting the body close to verticalwhen in SSS.
When the three legs are down and remain down, theballbot forms
an overconstrained spatial linkage. Theballbots top view with all
the legs deployed, shown inFig. 16(a), suggests that the motion of
leg 1 will onlyaffect the pitch angle and not the roll angle,
whereas themotion of legs 2 and 3 will affect both. Figure
16(b)
x
y
Leg1
Leg3
Leg2
120
(a)
Leg
Posit
ion
(m)
Pitch ()6 4 2 0
0.18
0.16
0.14
(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.
8
To appear in the International Journal of Robotics Research
(IJRR)
-
With Legs AdjustNo Legs Adjust
DSSSSSBody
Ang
le(
)
Time (s)0 5 10 15
0.4
0
0.4
0.8
(a)
With Legs AdjustNo Legs Adjust
Velo
city
(m/s)
DSSSSS
Time (s)0 5 10 15
0.2
0
0.2
0.4
(b)
Fig. 17. Effect of Legs Adjust Controller: (a) Roll; (b) Ball
Velocity.
shows a graph of the leg 1 position as a function of thebody
pitch angle. Similar graphs hold for legs 2 and 3.The relationship
between leg position and body angle is approximately linear of the
form = Kleg+ cleg .
The legs-adjust controller uses the linear relationshipbetween
body angles and leg positions to achieve bodyangles close to zero
when the ballbot is in SSS. Aftersuch an operation, the legs-up
controller and the bal-ancing controller can be simultaneously used
to achievesmoother automatic transition from SSS to DSS.
Thetransition is said to be smooth if the discontinuity inthe body
angle trajectory is small and the resulting ballvelocity upon
transition is also small.
Figure 17 shows experimental results on the ballbotwith and
without the use of legs adjust controller beforetransitioning from
SSS to DSS. It can be seen fromFig. 17(a) that the use of legs
adjust controller movedthe body angle close to zero before
transition and hence,the discontinuity in the body angle trajectory
was sig-nificantly smaller than the case where the legs
adjustcontroller was not used. Similarly, Fig. 17(b) showsthat the
ball velocity upon transition is significantlysmaller when the legs
adjust controller was used, therebyresulting in a smoother
transition from SSS to DSS.
The transition from DSS to SSS is achieved by per-forming the
legs-down operation while balancing, andby turning off balancing
when the hoof switches hit thefloor. Selected frames of the
automatic transition fromSSS to DSS and vice versa are shown in
Fig. 18.
VI. TRAJECTORY PLANNING BETWEEN STATICCONFIGURATIONS
The balancing controller presented in Sec. V-A iscapable of
keeping the ballbot upright, while the sta-tionkeeping controller
presented in Sec. V-B is capableof making the ballbot stick to its
position on the floor.However, any attempt to use the
stationkeeping con-troller to track a desired ball motion on the
floor willresult in jerky motions as the controllers fight
againstthe dynamics of the system to achieve this motion.This is
because the ballbot is an underactuated system
0 5 10 15 20Time(s)
SSS DSS DSS DSS SSS
Fig. 18. Selected frames of automatic transition from SSS to
DSSand vice versa.
with no direct actuation on the body angle . Thissection
presents a trajectory planning algorithm thatexploits the natural
dynamics of the system to plan bodyangle trajectories, which when
tracked by the balancingcontroller enable the ballbot to achieve
desired rest-to-rest motions on the floor.
From (1), the equation of motion corresponding to theunactuated
joint is given by
(+cosp)+(++2 cosp)p
sinp2
pg sinp
rw= 0, (14)
which forms a constraint on the system dynamics, andhence
restricts the family of configuration trajectoriesthat the system
can follow. It is a second-order nonholo-nomic constraint as it is
not even partially integrable(Oriolo and Nakamura 1991), and it is
referred to asa dynamic constraint. Any ballbot motion must
satisfythe dynamic constraint, and hence the trajectory
plannerpresented here uses the dynamic constraint equation toplan a
body angle trajectory, which when tracked willresult in the desired
rest-to-rest motion on the floor.
The dynamic constraint in (14) can be re-written as = f(, ,
)
=
g sinrw
+ sin2(++2 cos)
+ cos. (15)
Equation (15) shows that changes in the body anglecan result in
acceleration of the ball. Though it is notintegrable, one can
numerically solve the equation to findthe ball angle trajectory
that will result from trackingany given body angle trajectory.
Given the initial ballangle 0 and the desired final ball angle df ,
a body angletrajectory p(t) for t [t0, tf ] is planned, which
whentracked will result in a ball angle trajectory p(t) suchthat
p(tf ) = df .
A class of parametric trajectories is proposed for thebody angle
that enables the robot to move betweenstatic configurations, i.e.,
rest-to-rest motions. The ball-bot must lean forward in order to
move forward and
9
To appear in the International Journal of Robotics Research
(IJRR)
-
Bod
yA
ngle
Time t
a2p
a1p
tftmt00
Fig. 19. Proposed parametric trajectory for body angle.
lean backward in order to come to a stop. Using thisphysical
understanding of the ballbot motion, we follow2(Rosas et al. 2002)
to propose the following parametrictrajectory for the body angle
shown in Fig. 19:
p(t)=a1p sech(k
2ttmt0tmt0
)+a2p sech(k2ttftmtftm
)+0p ,
(16)where a1p , a2p are the amplitudes of the hyperbolicsecant
functions, tm = (t0+ tf )/2, k = 9 is a constantscalar and 0p is
chosen such that p(t0) = 0 andp(tf ) = 0. Positive values for a1p
and a2p will result ina body lean trajectory that represents a lean
forward andlean backward motion of the body, which is necessaryfor
the robot to achieve a rest-to-rest motion.
Given a1p , a2p , t0 and tf , a smaller k value resultsin a
wider peak, whereas a larger k value results in anarrower peak. The
effect of varying k was significantlysmaller than the effect of
varying other parameters, andhence it was kept constant. Similarly,
with no loss ofgenerality t0 = 0 was used. Therefore, the body
angletrajectory p(t) depends only on three parameters a1p ,a2p and
tf whose values have to be found such that theresulting ball angle
trajectory p(t) reaches the desiredball angle df at t = tf . For
any set of parameters a1p ,a2p and tf , the planned body angle
trajectory p(t) isgiven by (16) and the planned ball angle
trajectory p(t)is obtained by numerically solving (15) with the
initialconditions (p(t0), p(t0)) = (0, 0).
The trajectory planning procedure can now be formu-lated as an
optimization problem. The goal is to findparameters a1p , a2p and
tf of the body angle trajectoryp(t) in (16) such that the objective
function
J=w1((tf )df )
2+w22(tf )+
tf0
(w3t+w42)dt (17)
has a minimum subject to the dynamic constraint in (14).Large
values are chosen for the weights w1 and w2 inorder to ensure that
the goal configuration is reached,i.e., (tf ) =
df and (tf ) = 0. The weights w3 and
w4 determine the relative cost between time and control
2In (Rosas et al. 2002), the proposed trajectory was used for
theactuated joint and not for the unactuated joint as it is done
here.
effort. The constraints (tf ) = 0 and (tf ) = 0 are
notexplicitly mentioned as they are automatically satisfiedwhen
tracks p(t). In this paper, the optimization isperformed using
Nelder-Mead simplex method (Nelderand Mead 1964), which is a direct
search method thatfinds an optimal solution with just functional
evaluations.
The planned body angle trajectory p(t) is obtainedby
substituting the optimal parameters in (16). Theplanned ball
trajectory p(t) is determined by numeri-cally solving the dynamic
constraint equation (14) usingp(t), p(t) and p(t). The optimization
process finds abody angle trajectory p(t) given by (16), which
whentracked will enable the robot to reach the desired ballposition
df at time t = tf . It is to be noted that theoptimal parameters
a1p , a2p and tf obtained by theoptimization process are sensitive
to the initial parametervalues. The trajectory planner presented
here was the firstsuccessful planning algorithm on the ballbot.
Since then,we have explored more sophisticated trajectory
planningapproaches that can generate body lean trajectories
forarbitrary desired ball motions on the floor. However,
anexclusive, detailed presentation of these approaches is inreview
(Nagarajan and Hollis 2013).A. Feedback Trajectory Tracking
Controller
Given p(t) and p(t), the open-loop torque inputrequired to track
the trajectories is obtained from theequations of motion in (1).
However, this open-loopcontrol input fails on the real robot due to
modelingerrors, nonlinear friction effects, perturbations and
wronginitial conditions. In order to ensure accurate trackingof the
planned ball angle trajectory p(t), a feedbacktrajectory tracking
controller is used as an outer loopcontroller, similar to the ones
described in Sec. V-B,around the balancing controller.
The feedback trajectory tracking controller is a PIDcontroller
whose gains were manually tuned. It feedsback ball angle and
outputs a compensation bodyangle c to correct for the deviation of
the ball positionfrom its desired trajectory p(t). The balancing
controllertracks the desired body angle trajectory d(t), whichis a
sum of the planned body angle trajectory p(t)and the compensation
body angle trajectory c(t), i.e.,d(t)=p(t)+c(t). The feedback
compensation terms
l sin() BalancingPID
Ballbotfd
fqt
+
FeedbackCompensationPID
qp
+
fp+ +fc
Fig. 20. Feedback Trajectory Tracking Controller
10
To appear in the International Journal of Robotics Research
(IJRR)
-
DesiredCompensationPlanned
Bod
yA
ngle
()
Time (s)0 5 10 15 20 25
0.8
0.4
0
0.4
0.8
(a)
DesiredCompensationPlanned
Bod
yA
ngle
()
Time (s)0 5 10 15 20 25
0.8
0.4
0
0.4
0.8
(b)
Fig. 21. Desired body angle trajectories using feedback
compensationfrom experiments on the ballbot: (a) Pitch; (b)
Roll.
ExperimentalDesired
Bod
yA
ngle
()
Time (s)0 5 10 15 20 25
0.8
0.4
0
0.4
0.8
(a)
ExperimentalDesired
Bod
yA
ngle
()
Time (s)0 5 10 15 20 25
0.8
0.4
0
0.4
0.8
(b)
Fig. 22. Body angle trajectory tracking: (a) Pitch; (b)
Roll.
are saturated to avoid large values that might drive thesystem
unstable.
B. Experimental ResultsThe trajectory planning and tracking
framework pre-
sented in this section was experimentally validated onthe real
ballbot. The trajectory planning and optimizationwas done offline
using MATLAB. The dynamic con-straint equations were numerically
solved using ode45in MATLAB and the Nelder-Mead simplex method
wasimplemented using fminsearch in MATLAB.
The planned body angle trajectories for a diagonalmotion of the
ballbot along the floor moving 1.414 m at adirection 20 from the
body X-axis are shown in Fig. 21.The feedback compensation
trajectories and desired bodyangle trajectories are also shown in
Fig. 21. A video ofthis motion can be found in Extension 1. The
ballbotssuccessful tracking of the desired body and ball
angletrajectories are shown in Figs. 2224. The body angledata was
obtained from the IMU, and the ball position onthe floor was
calculated using the odometry informationfrom the ball motor
encoders.
VII. HUMANBALLBOT PHYSICAL INTERACTIONThe objective of the work
presented in this paper is to
explore the feasibility of developing dynamically stablemobile
robots that are human-sized, dynamically agile,slender enough to
easily maneuver cluttered environ-ments and readily yield when
pushed. The ballbot wasdeveloped as a simple test bed to study
locomotion and
ExperimentalDesired
Bal
lAng
le(ra
d)
Time (s)0 5 10 15 20 25
0
5
10
15
(a)
ExperimentalDesired
Bal
lAng
le(ra
d)
Time (s)0 5 10 15 20 25
0
5
10
15
(b)
Fig. 23. Ball angle trajectory tracking: (a) X; (b) Y.
ExperimentalDesired
YLi
near
Posit
ion
(m)
X Linear Position (m)0 0.5 1 1.5
0
0.5
1
1.5
Fig. 24. Experimental trajectory tracking on the floor.
physical interaction characteristics of balancing mobilerobots
in human environments. Sections V and VI pre-sented the control
architecture and the trajectory plannerthat enabled the ballbot to
balance, stationkeep, yawand achieve rest-to-rest motions. This
section presentsexperimental results that demonstrate the
robustness ofthe ballbot to physical disturbances that are
inevitablewhile operating in human environments. Moreover,
thedynamic stability of balancing mobile robots naturallyenable
them to be physically interactive (Nagarajan et al.2009b). This
section also presents several interestingphysically interactive
behaviors that were developed.
A. Ease of MobilityIt is desirable for robots operating in human
environ-
ments to yield when pushed. Balancing mobile robotsreact to a
disturbing force to regain balance. Only a smallcontinuous applied
force is required to move the robotfrom one place to another, a
behavior that is intrinsicallydifferent from that of a statically
stable robot. When theballbot is balancing, a continuous force as
small as 3 Nis enough to keep the ballbot moving in any
direction,which implies that the ballbot can be moved aroundwith
just a single finger as shown in the companionvideo (Extension 1).
Figure 25(a) presents the linearvelocity trajectories of the
ballbot when pushed withthree different constant forces. For a 5 s
constant push,a 4.6 N force moved the robot from 0 to 0.23 m/s,
whilea 11.5 N force moved it from 0 to 0.5 m/s, and a 20.4 Nforce
moved it from 0 to 0.82 m/s.
11
To appear in the International Journal of Robotics Research
(IJRR)
-
20.4 N
11.5 N
4.6 N
Velo
city
(m/s)
Time (s)0 1 2 3 4 5
0
0.2
0.4
0.6
0.8
(a)
(2.8 s)24.7 N
(1.2 s)38 N
Velo
city
(m/s)
Time (s)0 1 2 3
0
0.2
0.4
0.6
0.8
(b)
Fig. 25. Ball velocity trajectories: (a) when the ballbot is
pushedwith a constant force, and (b) when the ballbot is physically
stoppedwhile in motion.
Similarly, a balancing mobile robot can also be phys-ically
stopped with a small force when it is in motion.This is a key
feature for a robot operating in humanenvironments as it provides a
natural way for humans tophysically control the movement of the
robot and stop itfrom running them over. Figure 25(b) shows the
velocitytrajectories of the ballbot when it was physically
stoppedwhile moving at 0.7 m/s and 0.75 m/s. A resisting forceof 38
N applied for 1.2 s brought the ballbot to rest from0.7 m/s, while
a smaller force of 24.7 N applied for alonger time of 2.8 s brought
the ballbot to rest from0.75 m/s.
The companion video (Extension 1) demonstrates thebalancing
capabilities of the ballbot and also presentsvideos of physically
moving and stopping the robot withjust a single finger. It is
important to note that the easeof mobility of a balancing mobile
robot like the ballbotcomes naturally from its dynamic stability
characteris-tics, and is not a programmed behavior. Moreover, it
doesnot require any extra sensing to achieve these
physicallyinteractive behaviors. However, a statically stable
mobilerobot needs other sensors, like cameras or tactile sensorsto
detect human disturbances, and also needs speciallyprogrammed
behaviors to handle different scenarios.
B. Robustness to Large DisturbancesAs shown in Sec. VII-A, the
ballbot can be physically
moved with small forces. However, it is also importantfor robots
operating in human environments to be ro-bust to large disturbances
as well. While balancing, theballbot can successfully handle
collisions with stationaryobjects in the environment like furniture
and walls, andbounce back as shown in Fig. 26(a).
In case of large disturbances like a kick, the ballbotis able to
maintain balance, but under the action of onlythe balancing
controller, the robot will continue to movein the direction of the
push for a long time until thedamping friction of the floor slows
it down and brings itto rest. However, in cluttered environments,
this behavioris not desired as the robot will most likely
collide
Collision
Velo
city
(m/s)
Time (s)0 1 2 3
0.1
0
0.1
0.2
0.3
(a)
Kick (310 N, 0.4 s)
Velo
city
(m/s)
Time (s)0 5 10 15 20
0.2
0
0.2
0.4
0.6
0.8
(b)
Fig. 26. Ball velocity trajectories: (a) when the ballbot
collides witha rigid object; (b) when the ballbot is kicked.
with other objects in the environment while recoveringfrom the
kick. Therefore, the ballbot uses a stoppingcontroller, which is
essentially the velocity controllerdescribed in Sec. V-B with zero
desired velocity, tobring the robot to rest in a shorter distance.
Figure 26(b)shows the ball velocity trajectory under the action
ofthe stopping controller when the ballbot was kickedwith about 310
N force for 0.4 s. Figure 27 shows thecomposite frames from the
companion video (Extension1), wherein the ballbot successfully
recovers from a kickusing the stopping controller.
C. Human Intent DetectionHumans are physically interactive with
the objects in
their environments, and hence, the robots operating inhuman
environments will inevitably have physical in-teractions with them.
These physical interactions can beused to encode interesting robot
behaviors. For example,a soft push to the robot can be considered
unintentional,whereas a hard push to the robot can be consideredas
a command to move away from its current location.This section
describes an approach to detect this humanintention and act
accordingly.
The force exerted by a human on the ballbot directlycorresponds
to its acceleration, which can be used todifferentiate a soft push
from a hard push. The ball-bots response to such human intentions
is shown inFig. 28. The ballbot continues to stationkeep at its
Fig. 27. Composite frames from a video of the ballbot
successfullyrecovering from a kick.
12
To appear in the International Journal of Robotics Research
(IJRR)
-
1
2
YLi
near
Posit
ion
(m)
X Linear Position (m)
HardPush
SoftPush
SoftPush
SoftPush
0.5 0 0.5
0.5
0
0.5
Fig. 28. The XY motion of the ball on the floor during human
intentdetection behavior.
current position 1 when given a soft push, whereasgiven a hard
push, it moves away and stationkeeps ata different position 2 . In
this experiment, any pushthat produces a ball acceleration greater
than 0.5 m/s2 isconsidered a hard push. The companion video
(Extension1) demonstrates the ballbot successfully achieving
thisbehavior.
D. Ballbot Interface and TeleoperationThe ballbot has a highly
interactive graphical user
interface that allows wireless teleoperation of the robotusing a
joystick. The joystick commands desired veloc-ities to the velocity
controller presented in Sec. V-B.The ballbot has been reliably
teleoperated at fast walkingspeeds for hundreds of meters over
surfaces ranging fromvinyl tile to carpet to rough concrete to
metal gratings.The ballbot was successfully teleoperated on ramps
withangles up to about 4 as shown in Fig. 29(a) and alsoover
Ethernet cables on the floor as shown in Fig. 29(b).The videos of
successful teleoperation of the ballbotcan be found in Extension 1.
The ballbot was able todrive into and out of elevators and over the
cracks andmisalignment between elevator cars and floors with
ease.
VIII. DRAWBACKS AND CHALLENGESIn the above sections, we have
experimentally demon-
strated both the feasibility and the advantages of bal-
(a) (b)
Fig. 29. Teleoperation with a joystick: (a) climbing a ramp of
4;(b) driving over wires on the floor.
ancing mobile robots like the ballbot over traditionalstatically
stable mobile robots. However, there are anumber of challenges that
remain to be addressed. Oneof the fundamental challenges is in the
safety of suchrobots in human environments. The ballbot can fall
downdue to hardware and software problems. Therefore, thedesign,
verification and guarantee of safety procedures isa necessity for
such systems before they can be reliablydeployed in human
environments.
In the case of the ballbot, the legs are neither strongenough to
stop the falling robot, nor fast enough to berapidly deployed. The
design of better leg mechanismswith rapid deployments can be
explored. Moreover, theleg design should also guarantee that the
dynamics ofthe falling robot would not tip the robot over whenthe
legs are deployed. Redundant sensing and actuatormechanisms like in
the Segway (Nguyen et al. 2004) canalso be used to increase the
safety margin.
IX. CONCLUSIONS
The control implementations and their successful androbust
operation on the ballbot were demonstrated.Planning body lean
trajectories to achieve desired ballpositions was also
demonstrated. Successful trajectorytracking between static
configurations was experimen-tally verified. Several interesting
physical interactionbehaviors with the ballbot were also
presented.
X. FUTURE WORK
Future work include developing high-level motionplanning
strategies to enable the ballbot to navigate inhuman environments.
This would require the additionof extrinsic sensors to enable
localization and objectdetection in the environment to further
enhance ballbotslocomotion and interaction capabilities. The work
todate opens up a wide range of possibilities for ballbotsactions.
With these considerations, it is reasonable tobelieve that the
ballbot represents a new class of wheeledmobile robots capable of
agile, omnidirectional motion.
ACKNOWLEDGMENTS
We wish to thank Eric Schearer, Kathryn Rivard,Suresh Nidhiry,
Jun Xian Leong, Jared Goerner and TomLauwers for their great
efforts on the ballbot project.This work was supported in part by
NSF grants IIS-0308067 and IIS-0535183.
13
To appear in the International Journal of Robotics Research
(IJRR)
-
REFERENCES
Anybots. http://anybots.com, 2010.P. Deegan, B. Thibodeau, and
R. Grupen. Designing a
self-stabilizing robot for dynamic mobile manipula-tion.
Robotics: Science and Systems - Workshop onManipulation for Human
Environments, 2006.
P. Deegan, R. Grupen, A. Hanson, E. Horrell, S. Ou,E. Riseman,
S. Sen, B. Thibodeau, A. Williams, andD. Xie. Mobile manipulators
for assisted living inresidential settings. Autonomous Robots,
Special Issueon Socially Assistive Robotics, 24(2):179192,
2008.
Y.S. Ha and S. Yuta. Indoor navigation of an in-verse pendulum
type autonomous mobile robot withadaptive stabilization control
system. In Intl. Symp.Experimental Robotics IV, pages 52937,
1997.
L. Havasi. ERROSphere: an equilibrator robot. IntlConf. on
Control and Automation, pages 971976,2005.
R.L. Hollis. Ballbots. Scientific American, pages 7278,Oct
2006.
R.L. Hollis, Y. Luo, and U. Nagarajan. An inversemouse-ball
drive mechanism for a dynamically stablesingle wheel mobile robot.
In Preparation.
iBOT. http://www.ibotnow.com, 2003.R. Kelly, J. Llamas, and R.
Campa. A measurement
procedure for viscous and coulomb friction. IEEETrans. on
Instrumentation and Measurement, 49(4):857861, 2000.
J. Kim and J.P. Ostrowski. Motion planning a aerial robotusing
rapidly-exploring random trees with dynamicconstraints. Proc. IEEE
Intl Conf. on Robotics andAutomation, 2:22002205, 2003.
M. Kumagai and T. Ochiai. Development of a robotbalancing on a
ball. Intl. Conf. on Control, Automationand Systems, pages 433438,
2008.
M. Kumagai and T. Ochiai. Development of a robotbalancing on a
ball - application of passive motion totransport. In Proc. IEEE
Intl. Conf. on Robotics andAutomation, pages 41064111, 2009.
T. B. Lauwers, G. Kantor, and R.L. Hollis. A dynami-cally stable
single-wheeled mobile robot with inversemouse-ball drive. In Proc.
Intl. Conf. on Roboticsand Automation, May 15-19 2006.
T.B. Lauwers, G. Kantor, and R.L. Hollis. One isenough! In Proc.
Intl. Symp. for Robotics Research,October 12-15 2005.
U. Nagarajan and R. Hollis. Shape space plannerfor
shape-accelerated balancing mobile robots. IntlJournal of Robotics
Research, 2013. (Under Review).
U. Nagarajan, G. Kantor, and R.L. Hollis. Trajectoryplanning and
control of an underactuated dynamically
stable single spherical wheeled mobile robot. Proc.IEEE Intl.
Conf. on Robotics and Automation, pages37433748, 2009a.
U. Nagarajan, G. Kantor, and R.L. Hollis. Human-robotphysical
interaction with dynamically stable mobilerobots. ACM/IEEE Intl.
Conf. on Human-RobotInteraction, 2009b. (Short paper and
video).
U. Nagarajan, A.K. Mampetta, G. Kantor, and R.L.Hollis. State
transition, balancing, station keeping, andyaw control for a
dynamically stable single sphericalwheel mobile robot. Proc. IEEE
Intl. Conf. onRobotics and Automation, pages 9981003, 2009c.
J.A. Nelder and R. Mead. A simplex method for
functionminimization. Computer Journal, 7:308313, 1964.
H. G. Nguyen, J. Morrell, K. Mullens, A. Burmeister,S. Miles, N.
Farrington, K. Thomas, and D. Gage.Segway robotic mobility
platform. In SPIE Proc.5609: Mobile Robots XVII, October 2004.
R. Olfati-Saber. Nonlinear control of underactuatedmechanical
systems with application to robotics andaerospace vehicles. PhD
thesis, Massachusetts Insti-tute of Technology, 2001.
G. Oriolo and Y. Nakamura. Control of mechanicalsystems with
second-order nonholonomic constraints:underactuated manipulators.
Proc. IEEE Conf. onDecision and Control, 3:23982403, 1991.
J.R. Ray. Nonholonomic constraints. American Journalof Physics,
34:406408, 1966.
Rezero. http://www.rezero.ethz.ch, 2010.J.A. Rosas, J. Alvarez,
and R. Castro. Trajectory
planning and control of an underactuated planar 2Rmanipulator.
In Proc. IEEE Intl Conf. on ControlApplications, pages 548552,
2001.
J.A. Rosas, J. Alvarez, and R. Castro. Control of
anunderactuated planar 2R manipulator: Experimentalresults. In
Proc. 15th IFAC World Congress, 2002.
M.W. Spong. The swing up control problem for theacrobot. Control
Systems Magazine, IEEE, 15(1):4955, 1995.
M.W. Spong. Underactuated mechanical systems.In Control Problems
in Robotics and Automation.Springer-Verlag, 1998.
M. Stilman, J. Olson, and W. Gloss. Golem Krang:Dynamically
stable humanoid robot for mobile ma-nipulation. In Proc. IEEE Intl
Conf. on Robotics andAutomation, pages 33043309, 2010.
H. Wang, G.G. Grindle, S. Connor, and R.A. Cooper.An
experimental method for measuring the momentof inertia of an
electric power wheelchair. In Proc.IEEE Conf. on Eng. Med. Biol.
Soc., pages 47984801, 2007.
14
To appear in the International Journal of Robotics Research
(IJRR)
-
APPENDIX A: INDEX TO MULTIMEDIA EXTENSIONSThe multimedia
extensions to this article are at:
www.ijrr.org.Extension Media Type Description
1 Video Demonstrates the capabilities of theballbot and its
robustness, along withplanning and physical
interactionexperiments
15
To appear in the International Journal of Robotics Research
(IJRR)