Top Banner
1 The Ballbot: An Omnidirectional Balancing Mobile Robot Umashankar Nagarajan, George Kantor, and Ralph Hollis 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. More- over, its dynamic stability enables it to be physically interac- tive. 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. I. I NTRODUCTION There are a number of challenges in building wheeled mobile robots that will operate and interact in human environments. One of the fundamental challenges is in locomotion and navigation. Traditionally, wheeled robots have been statically stable, while recently, more groups have been interested in developing dynamically stable wheeled robots that actively balance. The work presented in this paper aims at exploring the feasibility of developing dynamically stable mobile robots that are human-sized, dynamically agile, slender enough to easily maneuver cluttered environments and readily yield when pushed. This paper presents the ballbot, shown in Fig. 1, which is the first successful single-wheeled, omnidirectional balancing mobile robot to the best of our knowledge (Lauwers et al. 2005). The ballbot was developed as a simple test bed to study locomotion and physical interaction characteristics of balancing mobile robots 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 properties that can be exploited in order to carry out agile, efficient motion. Balancing robots can be tall enough to interact with people at eye level, narrow enough to easily ne- gotiate cluttered environments, and they can move with speed and agility comparable to that of humans. They are also capable of safe and gentle physical interaction. To understand why balancing robots offer a revolu- tionary departure from traditional statically stable mobile robots one must consider that statically stable (non- balancing) robots of the traditional variety generally have multiple wheels or treads. When at rest, the gravitational vector from the robot’s center of mass must pass through the base of support. When the robot accelerates, the vector sum of its acceleration and gravity vectors must be encompassed by the base to avoid tipping. If the statically stable robot is tall, has heavy arms, or carries a heavy payload it becomes much more difficult to avoid potentially disastrous tipping. In 2005, we introduced the ballbot, a dynamically stable mobile robot moving on a single spherical wheel (Lauwers et al. 2005), and it was popularized in (Hollis 2006; Lauwers et al. 2006). Unlike its two-wheeled counterparts, the single spherical wheel provides om- nidirectional motion making the ballbot more suitable for navigation in human environments with constrained spaces. Moreover, the ballbot is tall and narrow, which enhances its ability to interact with human environments. Fig. 1. Ballbot balancing. To appear in the International Journal of Robotics Research (IJRR)
15
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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)