0% found this document useful (0 votes)
14 views14 pages

Ballbot 1

The document describes the ballbot, an omnidirectional balancing mobile robot that balances on a single ball. It has evolved over time, and this paper presents an improved design with a four-wheel drive mechanism to actuate the ball and enable unlimited rotation. The paper also details the ballbot's control architecture, demonstrates its balancing and locomotion capabilities through experiments, and presents a trajectory planning algorithm to allow rest-to-rest motions. Finally, it illustrates how the ballbot's dynamic stability enables safe physical interaction with humans.

Uploaded by

Kawthar Zaidan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views14 pages

Ballbot 1

The document describes the ballbot, an omnidirectional balancing mobile robot that balances on a single ball. It has evolved over time, and this paper presents an improved design with a four-wheel drive mechanism to actuate the ball and enable unlimited rotation. The paper also details the ballbot's control architecture, demonstrates its balancing and locomotion capabilities through experiments, and presents a trajectory planning algorithm to allow rest-to-rest motions. Finally, it illustrates how the ballbot's dynamic stability enables safe physical interaction with humans.

Uploaded by

Kawthar Zaidan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Article

The International Journal of


Robotics Research
The ballbot: An omnidirectional 2014, Vol. 33(6) 917–930
© The Author(s) 2013
balancing mobile robot Reprints and permissions:
sagepub.co.uk/journalsPermissions.nav
DOI: 10.1177/0278364913509126
ijr.sagepub.com

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. Moreover, its dynamic stability
enables it to be physically interactive. These characteristics make it better suited to navigate and interact in cluttered
human environments. This paper presents the evolved hardware design of the ballbot with a four-wheel inverse mouse-ball
drive to actuate the ball, and a yaw drive mechanism that enables unlimited rotation about its vertical axis. The ballbot
also has a triad of legs that provide static stability when powered down. This paper presents a detailed description of the
ballbot’s control architecture, and it presents several experimental results that demonstrate its balancing and locomotion
capabilities. This paper also presents a trajectory planning algorithm that plans for body lean motions, which, when
tracked, result in the desired rest-to-rest motions of the robot. Finally, the paper illustrates some interesting human–robot
physical interaction behaviors that can be achieved as a result of the ballbot’s dynamic stability.

Keywords
Balancing robots, underactuated systems, dynamics and control, human-robot physical interaction

1. Introduction To understand why balancing robots offer a revolutionary


departure from traditional statically stable mobile robots
There are a number of challenges in building wheeled
one must consider that statically stable (non-balancing)
mobile robots that will operate and interact in human envi-
robots of the traditional variety generally have multiple
ronments. One of the fundamental challenges is in loco-
wheels or treads. When at rest, the gravitational vector from
motion and navigation. Traditionally, wheeled robots have
the robot’s center of mass must pass through the base of
been statically stable, while recently, more groups have been
support. When the robot accelerates, the vector sum of its
interested in developing dynamically stable wheeled robots
acceleration and gravity vectors must be encompassed by
that actively balance. The work presented in this paper aims
the base to avoid tipping. If the statically stable robot is tall,
at exploring the feasibility of developing dynamically sta-
has heavy arms, or carries a heavy payload it becomes much
ble mobile robots that are human-sized, dynamically agile,
more difficult to avoid potentially disastrous tipping.
slender enough to easily maneuver cluttered environments
In 2005, we introduced the ballbot, a dynamically stable
and readily yield when pushed. This paper presents the
mobile robot moving on a single spherical wheel (Lauw-
ballbot, shown in Figure 1, which is the first successful
ers et al., 2005), and it was popularized in Hollis (2006)
single-wheeled, omnidirectional balancing mobile robot to
and Lauwers et al. (2006). Unlike its two-wheeled counter-
the best of our knowledge (Lauwers et al., 2005). The ball-
parts, the single spherical wheel provides omnidirectional
bot was developed as a simple test bed to study locomotion
motion making the ballbot more suitable for navigation in
and physical interaction characteristics of balancing mobile
human environments with constrained spaces. Moreover,
robots in human environments.
the ballbot is tall and narrow, which enhances its ability to
Balancing robots have underlying dynamic properties
interact with human environments. In Lauwers et al. (2005,
that can be exploited in order to carry out agile, efficient
motion. Balancing robots can be tall enough to interact The Robotics Institute, Carnegie Mellon University, USA
with people at eye level, narrow enough to easily negotiate
Corresponding author:
cluttered environments, and they can move with speed and Umashankar Nagarajan, The Robotics Institute, Carnegie Mellon
agility comparable to that of humans. They are also capable University, Pittsburgh, PA 15213, USA.
of safe and gentle physical interaction. Email: [email protected]
918 The International Journal of Robotics Research 33(6)

to a dynamically stable state (DSS) and vice versa. Unlike in


Lauwers et al. (2005, 2006) and Hollis (2006), the balanc-
ing controller presented here enables the ballbot to be robust
to large disturbances, including shoves and kicks, and also
collisions against walls and tables.
This paper also presents an offline trajectory planning
algorithm that plans body lean trajectories so as to move the
robot to a desired position on the floor while satisfying the
dynamic constraints associated with balancing. The trajec-
tory planner and the control architecture enable the ballbot
to achieve good tracking of desired ball motions, and do not
produce jerky motions as was observed in Lauwers et al.
(2005, 2006) and Hollis (2006). This paper presents exper-
imental results of the ballbot achieving smooth rest-to-rest
motions on the floor. Finally, the paper demonstrates how
properties of dynamic stability naturally provide for safe,
useful human–robot physical interactions with balancing
robots like the ballbot. This paper is an improved version
of the work presented in Nagarajan et al. (2009a, b, c).

Fig. 1. Ballbot balancing. 2. Related work


2.1. Balancing mobile robots
2006) and Hollis (2006), we presented the first version of The idea of balancing with wheeled robots has been around
the ballbot with preliminary results of its balancing behav- for some time. Of course the cart-pendulum system has
ior. It used an inverse mouse-ball drive with only two active long been considered as a canonical problem in the controls
motors to drive the ball, which resulted in an undesirable literature, but one of the first real two-wheeled inverted-
“hopping motion.” Although its controller was capable of pendulum type mobile robots was designed and controlled
balancing the robot reasonably well, it was not robust to in Ha and Yuta (1997). Two-wheeled balancing robots
large disturbances. Moreover, it produced jerky motions became popular especially after the introduction of the Seg-
while tracking desired ball motions. way RMP (Nguyen et al., 2004). Dean Kamen introduced
iBot (iBOT, 2003), a two-wheeled balancing wheelchair,
and Anybots introduced a balancing tele-presence robot on
1.1. Contributions two wheels (Anybots, 2010). Rod Grupen and his group
This paper exclusively deals with the design and operation introduced uBot (Deegan et al., 2006), a two-wheeled
of the ballbot, which is the first successful ball balanc- dynamic mobile manipulation platform and showed that
ing robot to the best of our knowledge. The ballbot was balancing robots can be effective mobile manipulators
designed as a simple test bed to study locomotion and inter- (Deegan et al., 2008). Mike Stilman introduced Golem
action characteristics of balancing mobile robots in human Krang (Stilman et al., 2010), a two-wheeled balancing
environments. This paper demonstrates the feasibility of mobile manipulator that can autonomously stand and sit.
developing such simple balancing platforms, and highlights Such two-wheeled balancing platforms have dominated the
the advantages of balancing robots. It also discusses the field of dynamically stable mobile robots, but they have
drawbacks and the challenges that need to be addressed in kinematic constraints (i.e. wheels that cannot slip sideways)
developing balancing mobile robots. that restrict their direction of motion. Moreover, they bal-
This paper presents an evolved version of the ball- ance in only one vertical plane and are statically stable in
bot with a four-motor inverse mouse-ball drive, wherein the other. On the contrary, single-wheeled balancing mobile
all four rollers driving the ball are active. This arrange- robots like the ballbot (Hollis, 2006) balance in both the
ment overcame the undesirable “hopping motion” that was vertical planes and are omnidirectional in motion.
observed in Lauwers et al. (2005, 2006) and Hollis (2006).
This evolved version included a yaw drive mechanism that 2.2. Single-wheeled omnidirectional balancing
enabled the ballbot to rotate about its vertical axis. This
paper presents a detailed description of the entire improved
robots
control architecture of the ballbot, including balancing con- Since the introduction of the ballbot at Carnegie Mellon
trol, stationkeeping and velocity control, leg control, and University in 2005, several other groups around the world
yaw control. It presents controllers that enable the ballbot have also begun to explore and build single-wheel omni-
to successfully transition from a statically stable state (SSS) directional balancers (Havasi, 2005; Kumagai and Ochiai,
Nagarajan et al. 919

2008, 2009; Rezero, 2010). In 2005, Laszlo Havasi from In Rosas et al. (2001), the trajectory planning problem
Hungary independently developed another ball balancing of an underactuated planar 2R manipulator is solved
robot called ERROSphere (Havasi, 2005). However, the using offline planned trajectories, which are constructed
robot did not balance reliably and no further work was with smooth sinusoids. In Rosas et al. (2002), a class of
presented. In 2008, Masaaki Kumagai developed a ball bal- parametric trajectories is proposed for the actuated joint
ancing robot called BallIP (Kumagai and Ochiai, 2008) of the 2R underactuated manipulator with zero gravity in
at Tohoku Gakuin University, and his group demonstrated order to achieve desired configurations of the system. In
its capability to carry loads and achieve cooperative trans- this paper, we use a similar class of parametric trajectories
portation (Kumagai and Ochiai, 2009). In 2010, a group of for the unactuated joint of the ballbot as will be described
mechanical engineering students at ETH Zurich developed in Section 6.
a ball balancing robot called Rezero (2010).
The fundamental difference between the ballbot (Hol-
lis, 2006) and the other successful ball balancing
robots (Kumagai and Ochiai, 2008; Rezero, 2010) is in the 3. The ballbot platform
actuator mechanism for the ball. The ballbot (Hollis, 2006) The ballbot, shown in Figure 1, is a reconfigurable cylin-
uses an inverse mouse-ball drive with four motors (see drical platform resting atop a ball. The body is 1.41 m tall,
Section 3.1), whereas both BallIP (Kumagai and Ochiai, weighs 55 kg and has an outer diameter of 0.37 m. The ball-
2008) and Rezero (2010) use omniwheels with three motors bot was intentionally built to be of human size so that it
to drive the ball. Ordinary omniwheels produce unsteady can interact with human environments similar to the way
rolling, and hence a complex and expensive omniwheel humans do. Three aluminium channels, held together by
with continuous circumferential contact line was used for circular decks, define the structure of the ballbot’s body.
BallIP (Kumagai and Ochiai, 2008). The same omniwheel Three retractable legs are attached to the lower part of these
design was adopted later in Rezero. Unlike the ballbot that channels and are deployed to provide static stability when
needs a slip-ring assembly and a separate motor for unlim- powered down. The ball is a 0.185 m diameter hollow alu-
ited yaw rotation (see Section 3.2), the omniwheel balancers minium sphere coated with a 13.5 mm thick layer of ure-
like BallIP and Rezero can move and yaw using just the thane. The body hosts a 48V lead acid battery, its charger
three motors. A detailed analysis and comparison of the and a single board computer on its top decks. An inertial
inverse mouse-ball drive and tri-omniwheel drive mecha- measurement unit (IMU) sits on top of the ball drive unit
nisms is yet to be done. In terms of control, BallIP uses and provides Kalman-filtered body angles and rates w.r.t.
a velocity control strategy on their omniwheels instead of gravity.
torque control. This is due to two reasons: one is that they
use stepper motors to actuate the omniwheels, and the other
is that the velocity control strategy better handles the case 3.1. Inverse mouse-ball drive
where the omniwheel loses contact with the ball. The ballbot uses an inverse mouse-ball drive to actuate the
ball. Figure 2(a) shows the ball drive mechanism, which is
essentially the inverse of a computer mouse. In a traditional
2.3. Underactuated systems computer mouse, the rolling ball drives rollers to produce
Balancing robots are underactuated systems, i.e. systems computer input, whereas here, the rollers drive the ball to
with fewer independent control inputs than the number of produce motion. Our previous version of the inverse mouse-
degrees of freedom (Spong, 1998). Underactuated balanc- ball drive (IMB) (Lauwers et al., 2006) had a pair of drive
ing systems have constraints on their dynamics that restrict and opposing passive rollers for each of the orthogonal
the family of configuration trajectories that they can follow. motion directions. This setup caused the rollers to produce
These constraints are called second-order nonholonomic an upward or downward force on the ball in addition to the
(non-integrable) constraints (Ray, 1966) or dynamic con- torque, which resulted in an undesirable “hopping motion.”
straints. The past few decades have seen a lot of interest in The present design circumvents this problem by actuating
trajectory planning and control for such systems. all four rollers with individual DC servomotors that exert
Underactuated systems with dynamic constraints have pure torques on the ball. The motors have 1024 cpr encoders
been approached from the controls perspective (e.g. acrobot attached to their shafts that measure ball rotation.
swing-up (Spong, 1995)) as well as from the planning per-
spective (e.g. airship path planning (Kim and Ostrowski,
2003)). A detailed analysis of underactuated manipulators
3.2. Yaw mechanism
with passive joints is presented in Oriolo and Nakamura A large thin-section bearing attaches the ball drive mech-
(1991). Olfati-Saber presented explicit cascade normal anism to the body and allows yaw rotation. The yaw drive
forms for different classes of underactuated mechanical consists of a DC servomotor with planetary gears driving
systems and also presented partial feedback linearization a pulley assembly at the center as shown in Figure 2(b).
techniques for controlling them (Olfati-Saber, 2001). The orientation of the body frame w.r.t. the ball drive unit is
920 The International Journal of Robotics Research 33(6)

detect contact with the floor, whereas the ball castors allow
the legs to slide on a smooth floor. Different stages of oper-
ation of the leg drive mechanism along with its components
Drive are shown in Figure 3.
motor Yaw
bearing
Encoder Belt 4. Dynamic model
tensioner
The ballbot is modeled as a rigid cylinder on top of a rigid
Ball sphere. A simplified planar model of the ballbot is used
transfer for both control and trajectory planning. The planar model
Ball
assumes that: (a) there is no slip between the spherical
(a) wheel and the floor, (b) the motion in the median sagital
plane and the median coronal plane is decoupled, (c) the
belt equations of motion in these two planes are identical and
encoder (d) the floor is assumed to be flat and level. With these
assumptions, we design two decoupled, independent planar
controllers and trajectory planners for the 3D system.
assembly The stabilizing controllers for the ballbot presented in
Yaw Section 5 are designed as linear controllers. The linearized
encoder dynamics of the full 3D ballbot system about the origin is
belt PWM
amplifier decoupled between the two orthogonal planes of motion,
which validates the use of decoupled planar models for
linear control design. In the full 3D ballbot model, the cou-
(b) pling terms between the two orthogonal planes of motion
contain products of sine of the body lean angles, and hence,
Fig. 2. Inverse mouse-ball drive and yaw drive: (a) View showing
for small lean angles, the dynamics of two decoupled pla-
ball drive mechanism, (b) view showing yaw drive mechanism.
nar models well approximate the dynamics of the full 3D
model. The trajectory planner presented in Section 6 uses
the nonlinear dynamics of the planar ballbot model to plan
Lead
screw
body lean motions that achieve desired rest-to-rest motions.
Leg In this work, we are interested only in simple planar rest-
motor
Nut
to-rest motions, and hence, the planar ballbot model is suf-
Body ficient to capture the dynamics of the system. A detailed
frame Leg presentation of more sophisticated planning approaches that
Intermediate use the 3D ballbot model can be found in (Nagarajan and
link Hollis, 2013).

Hoof switch
Balll castor 4.1. Planar ballbot model
(a) (b) (c) A ball rolling on a plane has five configurations, two con-
Fig. 3. Leg drive: (a) Various components of the leg drive mech-
figurations for the ball position and three configurations for
anism, (b) legs completely retracted and (c) legs completely
the ball orientation. However, in this work, we are interested
deployed.
only in the position of the ball and not in its orientation.
Figure 4 shows the planar model of the ballbot used in this
work along with this planar configurations. The origin of
given by an absolute encoder attached to the pulley assem- the world frame is fixed to the initial position of the center
bly. A slip ring assembly used for drive motor currents and of the ball. Since we have assumed a flat and level floor, the
encoder signals permits unlimited yaw rotation. horizontal position of the center of the ball xw matches the
horizontal position of the ball’s contact point on the floor.
The body axis of the robot is given by the line connecting
3.3. Legs the center of the ball to the center of mass (CM) of the body.
Each leg is 0.48 m long and is attached to a linear screw The body angle φ is defined as the angle between the ver-
drive with a ratio of 1.6 mm/revolution. The legs are inde- tical and the body axis, and it is directly measured by the
pendently driven by three DC servomotors with 500 cpr IMU. The angular configuration θ of the ball is chosen such
encoders. Each leg has a hoof switch and a ball castor at that the horizontal position of the ball xw w.r.t. the world
its tip. The hoof switches are spring loaded and are used to frame is given by xw = rw ( θ + φ), where rw is the radius
Nagarajan et al. 921

Table 1. System parameters.

Parameter Symbol Value

Ball radius rw 0.1058 m


Roller radius rr 0.006335 m
Ball mass mw 2.44 kg
Ball inertia Iw 0.0174 kg·m2
Body center of mass height b 0.69 m
Roll moment of inertia Ibxx 12.59 kg·m2
yy
Pitch moment of inertia Ib 12.48 kg·m2
Yaw moment of inertia Ibzz 0.66 kg·m2
Body mass mb 51.66 kg
Coulomb friction torque Dc 3.82 N·m
Viscous friction coefficient Dv 3.68 N·m·s/rad
Ball drive torque constant Ki 2.128 N·m/A

Fig. 4. Planar ballbot model with body angle φ and ball position
xw . The ball angular configuration θ is chosen such that xw =
rw ( θ + φ). As described in Section 3.1, a pair of active opposing
rollers drive the ball in each of the orthogonal motion direc-
tions. For each orthogonal motion direction, the ball torque
of the ball and the ball configuration θ ∈ [−∞, ∞]. There τ is given by:
are two advantages in choosing this coordinate for the ball rw
τ = ( τm1 + τm2 ) , (6)
configuration: one is that the ball configuration θ directly rr
corresponds to the encoder readings on the ball motors, and where rr is the radius of the roller, rw is the radius of the ball,
the other is that this coordinate choice allows one to remove and τm1 , τm2 are the torques on the opposing motors. In the
the input coupling between the ball and the body from the current setup, the amplifiers that drive the opposing motors
equations of motion. are hardwired to command the same torque, i.e. τm1 = τm2 .
The dynamic equations of motion of the planar ball-
bot model,1 shown in Figure 4, are derived using Euler– 4.2. Parameter estimation
Lagrange equations. The equations of motion can be written
in matrix form as follows: In order to facilitate the mathematical model to better rep-
  resent the robot dynamics, various offline experiments were
τ conducted to determine the principal system parameters.
M( q) q̈ + C( q, q̇) +G( q) +D( q̇) = (1)
0 Compared to Nagarajan et al. (2009c), this paper presents
a more detailed description of the parameter estimation
where q = [θ , φ]T is the generalized coordinate vector, experiments and the results obtained.
M( q) is the mass/inertia matrix, C( q, q̇) is the vector of
coriolis and centrifugal forces, G( q) is the vector of grav-
4.2.1. Inertia measurement The moments of inertia of the
itational forces, D( q̇) is the frictional torque vector and τ
ballbot’s body were determined experimentally using a tor-
is the torque applied between the ball and the body in the
sional pendulum setup (Wang et al., 2007). The body was
direction normal to the plane. The expressions for the above
suspended perpendicular to its length about its center of
mentioned terms are given below:
mass using a torsional spring as shown in Figure 5, and the
  oscillations were observed after an initial disturbance.
α α + β cos φ
M( q) = (2) The resulting angular velocity trajectories from the IMU
α + β cos φ α + γ + 2β cos φ
shown in Figure 6 were used to find the natural frequency
 
−β sin φ φ̇ 2 of oscillation. The spring constant of the torsional pendu-
C( q, q̇) = (3)
−β sin φ φ̇ 2 lum was obtained by performing the same experiment with
  an I-beam whose inertia was calculated from its shape and
0 material density. The torsional spring constant K is given by
G( q) = (4)
− βg sin
r
φ

  K = Iωn2 (7)
Dc sgn( θ̇ ) +Dv θ̇
D( q̇) = (5) where I is the inertia of the suspended object and ωn is the
0
natural frequency of oscillation. The moment of inertia of
where α = Iw + ( mw +mb ) rw2 , β = mb rw b , γ = Ib +mb 2b , the body about its center of mass is given by
Dc and Dv are the coulomb friction torque and the vis-
cous damping friction coefficient respectively. Please refer ωI−beam
2
Ib = II−beam (8)
to Table 1 for the other symbols. ωb2
922 The International Journal of Robotics Research 33(6)

Fig. 8. Ball response to the ramp current inputs to the ball drive
motors used for determing coulomb and viscous friction terms.
Fig. 5. Torsional pendulum setup with the ballbot suspended
perpendicular to its length.

(a) (b)

Fig. 9. Radial plots as functions of drive directions: (a) Coulomb


friction torque Dc (N·m); (b) viscous friction coefficient Dv
(N·m·s/rad).
Fig. 6. Damped sinusoidal oscillation used to determine the
ballbot’s moments of inertia. friction torque Dc . The experiment was repeated with the
current vector at 5◦ intervals.
After breakaway, the equation of motion of the ball can
be written as
Iw θ̈ = τ ( t) −τv − Dc , θ̇ > 0 (9)
= Ki mt − Dv θ̇ − Dc (10)
where τv is the viscous friction torque. The plot of ball
angular velocity θ̇ vs. time after breakaway can be approx-
imated by a line of constant slope c (Kelly et al., 2000) as
shown in Figure 8. Hence, the ball angular velocity θ̇ and
angular acceleration θ̈ can be written as
θ̇ = ct − d, θ̇ > 0 (11)
Fig. 7. Ball rolling on the roller during friction tests.
θ̈ = c (12)
The ball angular velocity θ̇ was measured using the
The moment of inertia about the vertical axis Ibzz was deter- encoders on the ball motors. The viscous friction coefficient
mined by a similar experiment with the body suspended ver- Dv can be obtained by solving (10)–(12), and is given by
tically. The measured moment of inertia values are shown in
Ki m
Table 1. Dv = (13)
c
The radial plots of coulomb friction torque and viscous
4.2.2. Friction modeling The coulomb friction torque and friction coefficient in different drive directions are shown
the viscous friction coefficient were experimentally deter- in Figure 9. Table 1 presents the average coulomb friction
mined using the setup shown in Figure 7, where the ballbot torque and viscous friction coefficient values that are used
stood on a roller ball with its body constrained vertically. A in simulation.
ramp current input of slope m was given to the ball drive
motors and the angular velocity of the ball was recorded.
The minimum current required to start the ball rolling is
5. Control architecture
called the breakaway current, which when multiplied by This section describes the various controllers used on the
the torque constant Ki of the drive unit gives the coulomb ballbot. For all experimental results presented in this paper,
Nagarajan et al. 923

Fig. 10. Block diagram for the stationkeeping controller with the (a) (b)
balancing control block.
Fig. 11. Balancing about zero body angles: (a) Pitch angle tra-
jectory, (b) ball position on the carpet when the robot is not
the ball position and velocity data are obtained from the disturbed.
encoders of the ball motors, while the body angles are
obtained from the IMU.

5.1. Balancing control


The objective of the balancing controller is to balance the
body about the desired angles, i.e. roll and pitch angles. The
desired body angles will be zero for a pure balancing opera-
tion, i.e. standing still and non-zero in order to move around
(Nagarajan et al., 2009b). The balancing controller consists
of two independent controllers, one for each of the vertical (a) (b)
planes. Each one is a proportional-integral-derivative (PID)
Fig. 12. XY ball position when the ballbot is pushed with about
controller whose gains were tuned manually. The balancing
20 N force for 0.5 s under the action of: (a) balancing controller,
controller, shown in the shaded part of Figure 10, attempts
(b) stationkeeping controller.
to track the desired center of mass projection on the floor.
While balancing, the body angles remain within ±0.1◦ as
shown in the plot for the pitch angle in Figure 11(a). Similar
depending on the error between the ball’s current and
results were obtained for the roll angle. The XY plot of the
desired positions. The PD controller’s angle outputs are sat-
ball position on a carpeted floor under the action of just
urated to avoid large lean angles and its gains were tuned
the balancing controller is shown in Figure 11(b). The ball
manually. The XY plot of the robot’s ball position under
position was obtained using the data from the encoders on
the action of balancing and stationkeeping controllers are
the ball motors. Even though the balancing controller does
shown in Figure 12(a) and Figure 12(b) respectively. Here,
not attempt to maintain its ball position, the ball remains
the ballbot was pushed by a human with about 20 N force
within ±20 mm of its starting point on the floor. However,
for 0.5 s. While using the balancing controller, the ballbot
it is to be noted that the robot was not disturbed during this
comes to rest about 0.2 m from its initial position (Fig-
operation.
ure 12(a)), whereas the stationkeeping controller success-
fully brings the robot to rest at its initial position even when
disturbed (Figure 12(b)). The ball position was obtained
5.2. Outer loop control from the encoders on the ball motors. The companion video
(Extension 1) shows the ballbot successfully stationkeeping
The balancing controller is good at balancing about the
when subjected to human pushes.
desired body angles but does not achieve any desired ball
position or velocity on the floor. This is achieved by using
an outer control loop around the balancing controller, as 5.2.2. Velocity control The velocity controller is a man-
shown for the stationkeeping controller in Figure 10. The ually tuned Proportional-Integral (PI) controller that out-
outer loop controller provides the desired body angles to puts desired body angles depending on the error between
the balancing controller. the ball’s current and desired velocities. The velocity con-
troller is concerned only with the ball velocity ṡ and not its
5.2.1. Stationkeeping control Stationkeeping is the act of position s. The velocity controller has two major applica-
balancing at a desired ball position sd even when disturbed. tions, one as a stopping controller that enables the ballbot
The position of the ball on the floor is given by s = to slow down and come to rest when subjected to large dis-
rw ( θ + φ). The stationkeeping controller is a proportional- turbances; and the other for teleoperation wherein the user
derivative (PD) controller that outputs desired body angles can provide velocity commands using a joystick. The angle
924 The International Journal of Robotics Research 33(6)

Fig. 13. Block diagram of the yaw controller. Fig. 15. Block diagram for the legs-adjust controller.

(a) (b)

Fig. 16. (a) Top view of the ballbot with all three legs deployed;
(b) position of leg 1 as a function of body pitch.

Fig. 14. 360◦ yaw maneuver while balancing.


snap up and down, and they are not strong enough to hold
outputs from the velocity controller are saturated to avoid a falling robot. A combination of PI and PD control loops
large lean angles. are used to regulate their velocities in order to minimize
damage from hitting the body and the ground from legs-up
and legs-down operations respectively. The three legs have
5.3. Yaw control independent controllers so that they can handle cases where
The yaw controller, shown in Figure 13, is decoupled from the ballbot balances on a non-level floor.
the balancing controller and consists of two loops: an inner The ballbot is in a dynamically stable state (DSS) when
proportional-integral (PI) control loop that feeds back the it is balancing on the ball and it is in a statically stable
yaw angular velocity ψ̇ and an outer PD control loop that state (SSS) when it rests on its three legs. In order to be
feeds back both the yaw angle ψ and the yaw angular veloc- autonomous, the ballbot must have the capability to auto-
ity ψ̇. The yaw angle ψ is obtained by integrating the yaw matically transition between SSS and DSS. The ballbot
angular velocity ψ̇ data from the IMU. The output from the must simultaneously use the legs-up controller and the bal-
outer-loop PD controller is saturated to avoid high desired ancing controller to automatically transition from SSS to
angular velocities. The PI loop also relies on output satu- DSS. This can create large, undesirable transients if the
ration and does not use anti-windup logic. When the body body angles are large when in SSS. The body angles will not
yaws, the IMU attached to the body frame rotates, whereas be close to zero especially when the robot is on a non-level
the ball drive unit does not. Hence, the body angles are floor. In order to avoid this, we use a legs-adjust controller,
transformed from the body frame to the drive unit frame shown in Figure 15, to adjust the position of the legs tilting
using the angle offset provided by the absolute yaw encoder. the body close to vertical when in SSS.
A successful 360◦ yaw rotation of the ballbot while balanc- When the three legs are down and remain down, the ball-
ing is shown in Figure 14, and its video can be found in bot forms an overconstrained spatial linkage. The ballbot’s
Extension 1. top view with all the legs deployed, shown in Figure 16(a),
suggests that the motion of leg 1 will only affect the pitch
angle and not the roll angle, whereas the motion of legs 2
5.4. Leg control and 3 will affect both. Figure 16(b) shows a graph of the
The three legs have independent controllers for both up and leg 1 position as a function of the body pitch angle. Similar
down motions. The legs-up controller is a PI velocity con- graphs hold for legs 2 and 3. The relationship between leg
troller that stops when the legs hit the body, i.e. when the leg position ξ and body angle φ is approximately linear of the
velocity is less than a threshold. The legs-down controller form ξ = Kleg φ + cleg .
has an inner PI control loop that feeds back the leg velocity The legs-adjust controller uses the linear relationship
and an outer PD control loop that feeds back both position between body angles and leg positions to achieve body
and velocity of the leg similar to that of the yaw controller angles close to zero when the ballbot is in SSS. After
in Figure 13. The legs on the ballbot were not designed to such an operation, the legs-up controller and the balancing
Nagarajan et al. 925

(a) (b)

Fig. 17. Effect of legs adjust controller: (a) Roll; (b) ball velocity.

controller can be simultaneously used to achieve smoother


automatic transition from SSS to DSS. The transition is said
Fig. 18. Selected frames of automatic transition from SSS to DSS
to be smooth if the discontinuity in the body angle trajec-
and vice versa.
tory is small and the resulting ball velocity upon transition
is also small.
Figure 17 shows experimental results on the ballbot with which forms a constraint on the system dynamics, and
and without the use of legs adjust controller before transi- hence restricts the family of configuration trajectories that
tioning from SSS to DSS. It can be seen from Figure 17(a) the system can follow. It is a second-order nonholonomic
that the use of legs adjust controller moved the body angle constraint as it is not even partially integrable (Oriolo and
close to zero before transition, and, hence, the discontinuity Nakamura, 1991), and it is referred to as a dynamic con-
in the body angle trajectory was significantly smaller than straint. Any ballbot motion must satisfy the dynamic con-
in the case where the legs adjust controller was not used. straint, and hence the trajectory planner presented here
Similarly, Figure 17(b) shows that the ball velocity upon uses the dynamic constraint equation to plan a body angle
transition is significantly smaller when the legs adjust con- trajectory, which when tracked will result in the desired
troller was used, thereby resulting in a smoother transition rest-to-rest motion on the floor.
from SSS to DSS. The dynamic constraint in (14) can be re-written as
The transition from DSS to SSS is achieved by perform-
ing the legs-down operation while balancing, and by turning θ̈ = f ( φ, φ̇, φ̈)
off balancing when the hoof switches hit the floor. Selected βg sin φ
rw
+ β sin φ φ̇ 2 − ( α + γ + 2β cos φ) φ̈
frames of the automatic transition from SSS to DSS and = (15)
vice versa are shown in Figure 18. α + β cos φ

Equation (15) shows that changes in the body angle can


6. Trajectory planning between static result in acceleration of the ball. Though it is not inte-
grable, one can numerically solve the equation to find the
configurations
ball angle trajectory that will result from tracking any given
The balancing controller presented in Section 5.1 is capa- body angle trajectory. Given the initial ball angle θ0 and the
ble of keeping the ballbot upright, while the stationkeep- desired final ball angle θfd , a body angle trajectory φp ( t) for
ing controller presented in Section 5.2 is capable of mak- t ∈ [t0 , tf ] is planned, which, when tracked, will result in a
ing the ballbot stick to its position on the floor. However, ball angle trajectory θp ( t) such that θp ( tf ) = θfd .
any attempt to use the stationkeeping controller to track a A class of parametric trajectories is proposed for the body
desired ball motion on the floor will result in jerky motions angle that enables the robot to move between static con-
as the controllers fight against the dynamics of the system figurations, i.e. rest-to-rest motions. The ballbot must lean
to achieve this motion. This is because the ballbot is an forward in order to move forward and lean backward in
underactuated system with no direct actuation on the body order to come to a stop. Using this physical understanding
angle φ. This section presents a trajectory planning algo- of the ballbot motion, we follow (Rosas et al., 2002) to pro-
rithm that exploits the natural dynamics of the system to pose the following parametric trajectory for the body angle
plan body angle trajectories, which when tracked by the shown in Figure 19:2
balancing controller enable the ballbot to achieve desired    
rest-to-rest motions on the floor. 2t−tm−t0 2t−tf −tm
φp( t) = φp sech k
a1
+φp sech k
a2
+φp0
From (1), the equation of motion corresponding to the tm −t0 tf −tm
unactuated joint φ is given by (16)
where φpa1 , φpa2 are the amplitudes of the hyperbolic secant
( α + β cos φp ) θ̈ + ( α + γ + 2β cos φp ) φ̈p functions, tm = ( t0 + tf ) /2, k = 9 is a constant scalar and
βg sin φp φp0 is chosen such that φp ( t0 ) = 0 and φp ( tf ) = 0. Positive
−β sin φp φ̇p2 − = 0 (14) values for φpa1 and φpa2 will result in a body lean trajectory
rw
926 The International Journal of Robotics Research 33(6)

Fig. 20. Feedback Trajectory Tracking Controller

Fig. 19. Proposed parametric trajectory for body angle.


Since then, we have explored more sophisticated trajectory
planning approaches that can generate body lean trajecto-
that represents a lean forward and lean backward motion ries for arbitrary desired ball motions on the floor. However,
of the body, which is necessary for the robot to achieve a an exclusive, detailed presentation of these approaches is in
rest-to-rest motion. review (Nagarajan and Hollis, 2013).
Given φpa1 , φpa2 , t0 and tf , a smaller k value results in a
wider peak, whereas a larger k value results in a narrower
peak. The effect of varying k was significantly smaller than 6.1. Feedback trajectory tracking controller
the effect of varying other parameters, and hence it was kept Given φp ( t) and θp ( t), the open-loop torque input required
constant. Similarly, with no loss of generality t0 = 0 was to track the trajectories is obtained from the equations of
used. Therefore, the body angle trajectory φp ( t) depends motion in (1). However, this open-loop control input fails
only on three parameters φpa1 , φpa2 and tf whose values have on the real robot due to modeling errors, nonlinear friction
to be found such that the resulting ball angle trajectory θp ( t) effects, perturbations and wrong initial conditions. In order
reaches the desired ball angle θfd at t = tf . For any set to ensure accurate tracking of the planned ball angle trajec-
of parameters φpa1 , φpa2 and tf , the planned body angle tra- tory θp ( t), a feedback trajectory tracking controller is used
jectory φp ( t) is given by (16) and the planned ball angle as an outer loop controller, similar to the ones described in
trajectory θp ( t) is obtained by numerically solving (15) with Section 5.2, around the balancing controller.
the initial conditions ( θp ( t0 ) , θ̇p ( t0 ) ) = ( θ0 , 0). The feedback trajectory tracking controller is a PID con-
The trajectory planning procedure can now be formu- troller whose gains were manually tuned. It feeds back ball
lated as an optimization problem. The goal is to find param- angle θ and outputs a compensation body angle φc to cor-
eters φpa1 , φpa2 and tf of the body angle trajectory φp ( t) in rect for the deviation of the ball position from its desired
(16) such that the objective function trajectory θp ( t). The balancing controller tracks the desired
 tf body angle trajectory φd ( t), which is a sum of the planned
J = w1 ( θ ( tf ) −θfd )2 +w2 θ̇ 2 ( tf ) + ( w3 t + w4 τ 2 ) dt (17) body angle trajectory φp ( t) and the compensation body
0
angle trajectory φc ( t), i.e. φd ( t)= φp ( t)+φc ( t). The feed-
has a minimum subject to the dynamic constraint in (14). back compensation terms are saturated to avoid large values
Large values are chosen for the weights w1 and w2 in order that might drive the system unstable.
to ensure that the goal configuration is reached, i.e. θ ( tf ) =
θfd and θ̇ ( tf ) = 0. The weights w3 and w4 determine the rel-
6.2. Experimental results
ative cost between time and control effort. The constraints The trajectory planning and tracking framework presented
φ( tf ) = 0 and φ̇( tf ) = 0 are not explicitly mentioned as in this section was experimentally validated on the real ball-
they are automatically satisfied when φ tracks φp ( t). In bot. The trajectory planning and optimization was done
this paper, the optimization is performed using Nelder– offline using MATLAB. The dynamic constraint equations
Mead simplex method (Nelder and Mead, 1964), which is were numerically solved using ode45 in MATLAB and
a direct search method that finds an optimal solution with the Nelder–Mead simplex method was implemented using
just functional evaluations. fminsearch in MATLAB.
The planned body angle trajectory φp ( t) is obtained by The planned body angle trajectories for a diagonal
substituting the optimal parameters in (16). The planned motion of the ballbot along the floor moving 1.414 m at a
ball trajectory θp ( t) is determined by numerically solving direction 20◦ from the body x-axis are shown in Figure 21.
the dynamic constraint equation (14) using φp ( t), φ̇p ( t) and The feedback compensation trajectories and desired body
φ̈p ( t). The optimization process finds a body angle trajec- angle trajectories are also shown in Figure 21. A video
tory φp ( t) given by (16), which, when tracked, will enable of this motion can be found in Extension 1. The ballbot’s
the robot to reach the desired ball position θfd at time t = tf . successful tracking of the desired body and ball angle tra-
It is to be noted that the optimal parameters φpa1 , φpa2 and tf jectories are shown in Figures 22–24. The body angle data
obtained by the optimization process are sensitive to the ini- was obtained from the IMU, and the ball position on the
tial parameter values. The trajectory planner presented here floor was calculated using the odometry information from
was the first successful planning algorithm on the ballbot. the ball motor encoders.
Nagarajan et al. 927

(a) (b) (a) (b)

Fig. 21. Desired body angle trajectories using feedback compen- Fig. 25. Ball velocity trajectories: (a) when the ballbot is pushed
sation from experiments on the ballbot: (a) Pitch; (b) roll. with a constant force, and (b) when the ballbot is physically
stopped while in motion.

the ballbot to balance, stationkeep, yaw and achieve rest-


to-rest motions. This section presents experimental results
that demonstrate the robustness of the ballbot to physical
disturbances that are inevitable while operating in human
environments. Moreover, the dynamic stability of balanc-
(a) (b)
ing mobile robots naturally enable them to be physically
interactive (Nagarajan et al., 2009a). This section also
Fig. 22. Body angle trajectory tracking: (a) Pitch; (b) roll. presents several interesting physically interactive behaviors
that were developed.

7.1. Ease of mobility


It is desirable for robots operating in human environments
to yield when pushed. Balancing mobile robots react to a
disturbing force to regain balance. Only a small continuous
applied force is required to move the robot from one place
(a) (b)
to another, a behavior that is intrinsically different from that
Fig. 23. Ball angle trajectory tracking: (a) X ; (b) Y . of a statically stable robot. When the ballbot is balancing, a
continuous force as small as 3 N is enough to keep the ball-
bot moving in any direction, which implies that the ballbot
can be moved around with just a single finger as shown in
the companion video (Extension 1). Figure 25(a) presents
the linear velocity trajectories of the ballbot when pushed
with three different constant forces. For a 5 s constant push,
a 4.6 N force moved the robot from 0 to 0.23 m/s, while a
11.5 N force moved it from 0 to 0.5 m/s, and a 20.4 N force
moved it from 0 to 0.82 m/s.
Similarly, a balancing mobile robot can also be physically
stopped with a small force when it is in motion. This is a key
feature for a robot operating in human environments as it
Fig. 24. Experimental trajectory tracking on the floor. provides a natural way for humans to physically control the
movement of the robot and stop it from running them over.
Figure 25(b) shows the velocity trajectories of the ballbot
7. Human–ballbot physical interaction when it was physically stopped while moving at 0.7 m/s and
The objective of the work presented in this paper is to 0.75 m/s. A resisting force of 38 N applied for 1.2 s brought
explore the feasibility of developing dynamically stable the ballbot to rest from 0.7 m/s, while a smaller force of
mobile robots that are human-sized, dynamically agile, 24.7 N applied for a longer time of 2.8 s brought the ballbot
slender enough to easily maneuver cluttered environments to rest from 0.75 m/s.
and readily yield when pushed. The ballbot was devel- The companion video (Extension 1) demonstrates the
oped as a simple test bed to study locomotion and phys- balancing capabilities of the ballbot and also presents
ical interaction characteristics of balancing mobile robots videos of physically moving and stopping the robot with
in human environments. Sections 5 and 6 presented the just a single finger. It is important to note that the ease
control architecture and the trajectory planner that enabled of mobility of a balancing mobile robot like the ballbot
928 The International Journal of Robotics Research 33(6)

(a) (b)

Fig. 26. Ball velocity trajectories: (a) when the ballbot collides
with a rigid object; (b) when the ballbot is kicked.

comes naturally from its dynamic stability characteristics,


and is not a programmed behavior. Moreover, it does not Fig. 27. Composite frames from a video of the ballbot success-
require any extra sensing to achieve these physically inter- fully recovering from a kick.
active behaviors. However, a statically stable mobile robot
needs other sensors, like cameras or tactile sensors to detect
human disturbances, and also needs specially programmed
behaviors to handle different scenarios.

7.2. Robustness to large disturbances


As shown in Section 7.1, the ballbot can be physically
moved with small forces. However, it is also important for
robots operating in human environments to be robust to
large disturbances as well. While balancing, the ballbot can Fig. 28. The XY motion of the ball on the floor during human
successfully handle collisions with stationary objects in the intent detection behavior.
environment like furniture and walls, and bounce back as
shown in Figure 26(a).
In case of large disturbances like a kick, the ballbot is away from its current location. This section describes an
able to maintain balance, but under the action of only the approach to detect this human intention and act accordingly.
balancing controller, the robot will continue to move in the The force exerted by a human on the ballbot directly
direction of the push for a long time until the damping corresponds to its acceleration, which can be used to differ-
friction of the floor slows it down and brings it to rest. How- entiate a soft push from a hard push. The ballbot’s response
ever, in cluttered environments, this behavior is not desired to such human intentions is shown in Figure 28. The ball-
as the robot will most likely collide with other objects in bot continues to stationkeep at its current position 1 when
the environment while recovering from the kick. Therefore, given a soft push, whereas, given a hard push, it moves away
the ballbot uses a stopping controller, which is essentially and stationkeeps at a different position 2 . In this exper-
the velocity controller described in Section 5.2 with zero iment, any push that produces a ball acceleration greater
desired velocity, to bring the robot to rest in a shorter dis- than 0.5 m/s2 is considered a hard push. The companion
tance. Figure 26(b) shows the ball velocity trajectory under video (Extension 1) demonstrates the ballbot successfully
the action of the stopping controller when the ballbot was achieving this behavior.
kicked with about 310 N force for 0.4 s. Figure 27 shows the
composite frames from the companion video (Extension 1),
wherein the ballbot successfully recovers from a kick using 7.4. Ballbot interface and teleoperation
the stopping controller. The ballbot has a highly interactive graphical user inter-
face that allows wireless teleoperation of the robot using
a joystick. The joystick commands desired velocities to the
7.3. Human intent detection velocity controller presented in Section 5.2. The ballbot has
Humans are physically interactive with the objects in their been reliably teleoperated at fast walking speeds for hun-
environments, and, hence, the robots operating in human dreds of meters over surfaces ranging from vinyl tile to
environments will inevitably have physical interactions with carpet to rough concrete to metal gratings. The ballbot was
them. These physical interactions can be used to encode successfully teleoperated on ramps with angles up to about
interesting robot behaviors. For example, a soft push to 4◦ as shown in Figure 29(a) and also over Ethernet cables on
the robot can be considered unintentional, whereas a hard the floor as shown in Figure 29(b). The videos of success-
push to the robot can be considered as a command to move ful teleoperation of the ballbot can be found in Extension 1.
Nagarajan et al. 929

environments. This would require the addition of extrin-


sic sensors to enable localization and object detection in
the environment to further enhance ballbot’s locomotion
and interaction capabilities. The work to date opens up a
wide range of possibilities for ballbot’s actions. With these
considerations, it is reasonable to believe that the ballbot
represents a new class of wheeled mobile robots capable of
agile, omnidirectional motion.

Acknowledgments
We wish to thank Eric Schearer, Kathryn Rivard, Suresh Nidhiry,
(a) (b) Jun Xian Leong, Jared Goerner and Tom Lauwers for their great
Fig. 29. Teleoperation with a joystick: (a) climbing a ramp of 4◦ ; efforts on the ballbot project.
(b) driving over wires on the floor.
Funding
The ballbot was able to drive into and out of elevators and
over the cracks and misalignment between elevator cars and This work was supported by the National Science Foundation
floors with ease. (grant numbers IIS-0308067 and IIS-0535183).

8. Drawbacks and challenges


Notes
In the above sections, we have experimentally demon-
1. It is to be noted that the ballbot dynamic model described in
strated both the feasibility and the advantages of balanc-
this paper uses a coordinate scheme different from the one
ing mobile robots like the ballbot over traditional statically described in Lauwers et al. (2006).
stable mobile robots. However, there are a number of chal- 2. In Rosas et al. (2002), the proposed trajectory was used for
lenges that remain to be addressed. One of the fundamen- the actuated joint and not for the unactuated joint as it is done
tal challenges is in the safety of such robots in human in this paper.
environments. The ballbot can fall down due to hardware
and software problems. Therefore, the design, verification
and guarantee of safety procedures is a necessity for such References
systems before they can be reliably deployed in human Anybots (2010) Available at: http://anybots.com.
environments. Deegan P, Grupen R, Hanson A, Horrell E, Ou S, Riseman E, Sen
In the case of the ballbot, the legs are neither strong S, Thibodeau B, Williams A and Xie D (2008) Mobile manip-
enough to stop the falling robot, nor fast enough to be ulators for assisted living in residential settings. Autonomous
rapidly deployed. The design of better leg mechanisms Robots, Special Issue on Socially Assistive Robotics 24(2):
179–192.
with rapid deployments can be explored. Moreover, the
Deegan P, Thibodeau B and Grupen R (2006) Designing a self-
leg design should also guarantee that the dynamics of the
stabilizing robot for dynamic mobile manipulation. Robotics:
falling robot would not tip the robot over when the legs are Science and systems—Workshop on manipulation for human
deployed. Redundant sensing and actuator mechanisms like environments, Philadelphia, PA, USA, 19 August 2006.
those in the Segway (Nguyen et al., 2004) can also be used Ha Y and Yuta S (1997) Indoor navigation of an inverse pendu-
to increase the safety margin. lum type autonomous mobile robot with adaptive stabilization
control system. In: International symposium on experimental
9. Conclusions robotics IV, Stanford, CA, 30 June–2 July 1997, pp. 529–537.
Havasi L (2005) ERROSphere: An equilibrator robot. Interna-
The control implementations and their successful and tional conference on control and automation, Budapest, 26–29
robust operation on the ballbot were demonstrated. Plan- June 2005, pp. 971–976.
ning body lean trajectories to achieve desired ball posi- Hollis R (2006) Ballbots. Scientific American, 18 September
tions was also demonstrated. Successful trajectory tracking 2006, pp. 72–78.
between static configurations was experimentally verified. iBOT (2003) Available at: http://www.ibotnow.com.
Several interesting physical interaction behaviors with the Kelly R, Llamas J and Campa R (2000) A measurement proce-
ballbot were also presented. dure for viscous and coulomb friction. IEEE Transactions on
Instrumentation and Measurement 49(4): 857–861.
Kim J and Ostrowski J (2003) Motion planning a aerial robot
10. Future Work using rapidly-exploring random trees with dynamic constraints.
Proceedings of IEEE International conference on robotics and
Future work include developing high-level motion plan- automation, Taipei, Taiwan, 14–19 September 2003, Vol 2,
ning strategies to enable the ballbot to navigate in human pp. 2200–2205.
930 The International Journal of Robotics Research

Kumagai M and Ochiai T (2008) Development of a robot balanc- Oriolo G and Nakamura Y (1991) Control of mechanical sys-
ing on a ball. International conference on control, automation tems with second-order nonholonomic constraints: Under-
and systems, Seoul, 14–17 October, pp. 433–438. actuated manipulators. Proceedings of IEEE conference on
Kumagai M and Ochiai T (2009) Development of a robot bal- decision and control, Brighton, UK, 11–13 December 1991,
ancing on a ball—Application of passive motion to transport. Vol. 3, pp. 2398–2403.
In: Proceedings IEEE international conference on robotics and Ray J (1966) Nonholonomic constraints. American Journal of
automation, Kobe, Japan, 12–17 May 2009, pp. 4106–4111. Physics 34: 406–408.
Lauwers T, Kantor G and Hollis R (2005) One is enough! In: Rezero (2010) Available at: http://www.rezero.ethz.ch.
Proceedings of the international symposium for robotics Rosas J, Alvarez J and Castro R (2001) Trajectory planning and
research, San Francisco, CA, USA, 12-15 October 2005, control of an underactuated planar 2R manipulator. In: Pro-
pp. 327–336. ceedings of IEEE International conference on control applica-
Lauwers TB, Kantor G and Hollis R (2006) A dynamically tions, Mexico City, 5–7 September, pp. 548–552.
stable single-wheeled mobile robot with inverse mouse-ball Rosas J, Alvarez J and Castro R (2002) Control of an underactu-
drive. In: Proceedings International conference on robotics and ated planar 2R manipulator: Experimental results. In: Proceed-
automation, Orlando, FL, 15–19 May 2006, pp. 2884–2889. ings of 15th IFAC World Congress, Barcelona, Spain, 21–26
Nagarajan U and Hollis R (2013) Shape space planner for shape- July 2002, Vol. 15, Part 1, p. 854.
accelerated balancing mobile robots. International Journal of Spong M (1995) The swing up control problem for the acrobot.
Robotics Research 32(11): 1323–1341. Control Systems Magazine, IEEE 15(1): 49–55.
Nagarajan U, Kantor G and Hollis R (2009a) Human–robot Spong M (1998) Underactuated mechanical systems. In: Siciliano
physical interaction with dynamically stable mobile robots. B and Valavanis K (eds) Control Problems in Robotics and
ACM/IEEE International conference on human–robot Interac- Automation. London, New York: Springer-Verlag, pp. 135–150.
tion, La Jolla, CA, 11–13 March 2009, pp. 281–289. (Short Stilman M, Olson J and Gloss W (2010) Golem Krang: Dynami-
paper and video.) cally stable humanoid robot for mobile manipulation. In: Pro-
Nagarajan U, Kantor G and Hollis R (2009b) Trajectory plan- ceedings of IEEE International conference on robotics and
ning and control of an underactuated dynamically stable single automation, Anchorage, AK, 3–7 May 2010, pp. 3304–3309.
spherical wheeled mobile robot. Proceedings of IEEE Inter- Wang H, Grindle G, Connor S and Cooper R (2007) An exper-
national conference on robotics and automation, Kobe, Japan, imental method for measuring the moment of inertia of an
12–17 May 2009, pp. 3743–3748. electric power wheelchair. In: Proceedings IEEE conference
Nagarajan U, Mampetta A, Kantor G and Hollis R (2009c) State on engineering in medicine and biology society, Buenos Aires,
transition, balancing, station keeping, and yaw control for a Argentina, 31 August–4 September, pp. 4798–4801.
dynamically stable single spherical wheel mobile robot. Pro-
ceedings of IEEE International conference on robotics and
automation, Kobe, Japan, 12–17 May 2009, pp. 998–1003.
Appendix A: Index to Multimedia Extension
Nelder J and Mead R (1964) A simplex method for function The multimedia page is found at: www.ijrr.org
minimization. Computer Journal 7: 308–313.
Nguyen HG, Morrell J, Mullens K, Burmeister A, Miles S, Far- Table of Multimedia Extension
rington N, Thomas K and Gage D (2004) Segway robotic
mobility platform. In: SPIE proceedings 5609: Mobile robots Extension Media type Description
XVII, Philadelphia, PA, USA, 25 October 2004.
Olfati-Saber R (2001) Nonlinear control of underactuated 1 Video Demonstrates the capabilities
mechanical systems with application to robotics and aerospace of the ballbot and its robustness,
vehicles. PhD Thesis, Massachusetts Institute of Technology, along with planning and physical
USA. interaction experiments

You might also like