Planning in High-dimensional Shape Space for a Single-wheeled

advertisement
IEEE Int’l Conf. on Robotics and Automation (ICRA), May 14-18, 2012
Planning in High-dimensional Shape Space for a Single-wheeled
Balancing Mobile Robot with Arms
Umashankar Nagarajan, Byungjun Kim and Ralph Hollis
Abstract— The ballbot with arms is an underactuated balancing mobile robot that moves on a single ball. Achieving desired
motions in position space is a challenging task for such systems
due to their unstable zero dynamics. This paper presents a novel
approach that uses the dynamic constraint equations to plan
shape trajectories, which when tracked will result in optimal
tracking of desired position trajectories. The ballbot with arms
has shape space of higher dimension than its position space
and therefore, the procedure uses a user-defined weight matrix
to choose between the infinite number of possible combinations
of shape trajectories to achieve a particular desired trajectory
in position space. Experimental results are shown on the real
robot where different motions in position space are achieved
by tracking motions of either the body lean angles, or the arm
angles or combinations of both.
I. I NTRODUCTION
Balancing, dynamically stable mobile robots can be effective personal robots and are a welcome departure from their
statically stable counterparts. They can be tall enough to have
eye-level interactions and can be narrow enough to navigate
cluttered human environments. They are also capable of safe,
gentle physical interaction and have the dynamic capabilities
to move with speed and grace comparable to that of humans.
The last decade has seen growing interest in two-wheeled
balancing robots ([1], [2], [3]); a lot of them inspired
by the Segway Robotic Mobility Platform [4]. Our group
introduced the ballbot [5], a balancing mobile robot that
moves on a single ball. The single, spherical wheel enables
the robot to achieve omni-directional motion overcoming
the limitations associated with the kinematic constraints of
two-wheeled robots. Recently, other groups have also been
exploring single-wheeled balancing robot designs [6], [7]. In
the present work, we have added a pair of 2-DOF arms to the
ballbot making it, as far as we know, the first omnidirectional
single-wheeled balancing mobile robot having arms.
Balancing mobile robots, by virtue of underactuation, have
constraints on their dynamics that restrict the family of trajectories their configurations can follow. These constraints are
second-order nonholonomic constraints, i.e., non-integrable
acceleration or dynamic constraints. The configuration space
of any dynamic system can be divided into position space
and shape space. Position variables describe the position of
the system in world coordinates, whereas shape variables
are those that affect the inertia matrix of the system. The
dynamics of most mechanical systems, especially mobile
This work is supported by NSF Grants IIS-0308067 and IIS-0535183.
U. Nagarajan, B. Kim and R. Hollis are with The Robotics
Institute, Carnegie Mellon University, Pittsburgh PA 15213, USA
umashankar@cmu.edu, byungjun@cmu.edu and
rhollis@cs.cmu.edu
robots, are independent of the position variables and for the
balancing mobile robots, the overall dynamics is dominated
by the shape dynamics. The strong coupling between the
dynamics of the position and shape variables makes tracking
desired position space motions with zero shape change an
impossible task. Any attempt to do so will result in jerky
motions or drive the system unstable.
Given an accurate model, a variety of nonlinear inversionbased approaches are available in nonlinear control literature to approximately track desired position trajectories [8],
[9]. Modeling uncertainties, unmodeled dynamics, nonlinear
friction effects and disturbances can make these techniques
ineffective on real robots. For balancing mobile robots like
the ballbot, the uncertainties arise primarily from the actuator
mechanisms and nonlinear friction effects of the soft ball
rolling on the floor. However, having a model provides us
valuable information like the dynamic constraints that help
us exploit the dynamic coupling between the shape and the
position configurations.
In [10], we presented a planning procedure for balancing
mobile robots like the ballbot that plans shape trajectories,
which when tracked will result in approximate tracking of
the desired position trajectories. However, this work dealt
only with the case where there are an equal number of
position and shape variables. The ballbot with arms has a
shape space of higher dimension than its position space since
the arm configurations are also shape variables. This paper
extends the planning procedure presented in [10] to plan in
higher dimensional shape space to achieve desired motions
in position space and also presents experimental results on
the real robot.
la
mb
ma
lb
r
(a)
(b)
Fig. 1.
(a) The ballbot with a pair of 2-DOF arms; and (b) Planar
configurations shown in a planar model of the ballbot with a single arm.
II. T HE BALLBOT WITH A RMS
The ballbot [5] is a balancing mobile robot that moves on
a single ball. It has a cylindrical body that is about 1.5 m tall
and weighs about 55 kg. The ball is driven using an inverse
mouse-ball drive mechanism with four DC servomotors. An
inertial measurement unit (IMU) provides the body lean
angles. A more detailed system description of the ballbot
without the arms is available in [11].
Recently, a pair of 2-DOF arms were added to the robot
[Fig. 1(a)]. Each arm is an aluminium tube that is 0.457 m
long and 0.89 mm thick with a changeable dummy weight
(up to 2 kg) at its end. The arm attaches to its drive unit
through a shoulder structure shown in Fig. 2.
Differential
Arm Encoder
Bevel Gears
Gear Box
Helical Spring
DC Motor
Motor Encoder
Arm
Dummy Weight
Fig. 2.
2-DOF arm with series-elastic actuators.
Each arm is actuated by a pair of series-elastic actuators,
each of which consists of a custom designed helical spring
with a torsion coefficient of 16.37 Nm/rad, a brush DC motor
with a torque of 0.12 Nm at 3000 RPM, a 91:1 planetary gear
train, and a 2000 CPR encoder. Each actuator connects with
a pair of bevel gears of gear ratio 1:2 and a 1024 CPR optical
encoder is attached to the end of the bevel gear shaft. The
differential with three miter gears combines the torque from
each actuator. The entire drive unit is fixed to a deck on the
ballbot body.
A. Dynamic Model
The ballbot with arms is modeled as a rigid cylinder on top
of a rigid sphere with a pair of massless arms having weights
at their ends. The model makes the following assumptions:
(i) there is no slip between the ball and the floor; and (ii)
there is no yaw/spinning motion for either the ball or the
body or the arms, i.e., they have two degrees of freedom
each. A planar version of the model along with the planar
configurations is shown in Fig. 1(b).
There are eight configuration variables for the 3D ballbot
model with arms represented by q = [θ, αl , αr , φ], where,
θ = [θx , θy ]T are configurations of the ball, αl = [αlx , αly ]T
are configurations of the left arm, αr = [αrx , αry ]T are
configurations of the right arm, and φ = [φx , φy ]T are configurations of the body. The forced Euler-Lagrange equations
of motion of the ballbot with arms can be written in matrix
form as follows:
M (q)q̈ + C(q, q̇)q̇ + G(q) =
τ
,
0
(1)
where, M (q) ∈ R8×8 is the mass/inertia matrix, C(q, q̇) ∈
R8×8 is the matrix of Coriolis and centrifugal terms,
G(q) ∈ R8×1 is the vector of gravitational forces and
τ = [τθ , ταl , ταr ]T ∈ R6×1 is the vector of generalized
forces. The body configurations φ are unactuated, whereas
the rest of the configurations are actuated. Equation 1 shows
that the ballbot with arms is an underactuated system [12]
because there are fewer independent control inputs than there
are configuration variables.
The configuration variables that appear in the inertia matrix are called shape variables (qs ), whereas the configuration
variables that do not appear in the inertia matrix are called
external/position variables (qx ). For the 3D ballbot model
with arms, qx = θ and qs = [αl , αr , φ]T . Here, all position
configurations are actuated, whereas shape configurations
have both actuated and unactuated variables. The matrices
in Eq. 1 are of the form:


Mθθ
Mθαl (qs ) Mθαr (qs ) Mθφ (qs )
 Mαl θ (qs ) Mαl αl (qs ) Mαl αr (qs ) Mαl φ (qs ) 

M (q)=
 Mαr θ (qs ) Mαr αl (qs ) Mαr αr (qs ) Mαr φ (qs )  ,
Mφθ (qs ) Mφαl (qs ) Mφαr (qs ) Mφφ (qs )
(2)


0 Cθαl (qs , q̇s ) Cθαr (qs , q̇s ) Cθφ (qs , q̇s )
 0 Cαl αl (qs , q̇s )
0
Cαl φ (qs , q̇s ) 
,
C(q, q̇)=
0
0
Cαr αr (qs , q̇s ) Cαr φ (qs , q̇s ) 
0 Cφαl (qs , q̇s ) Cφαr (qs , q̇s ) Cφφ (qs , q̇s )
(3)


0
 Gαl (qs ) 

(4)
G(q)=
 Gαr (qs )  ,
Gφ (qs )
where, each Mij ∈ R2×2 , each Cij ∈ R2×2 and each Gi ∈
R2×1 . The elements of the above matrices are not presented
here due to space constraints. Equations 1− 4 show that the
dynamics of the system is independent of both position and
velocity of the position variables, i.e., (θ, θ̇).
The last two equations of motion corresponding to the
unactuated shape variables φ form the dynamic constraint
equations. These are second-order nonholonomic constraints
as they are not even partially integrable [13]. The dynamic
constraint equations in Eq. 1 are given by
Mφθ (qs )θ̈ + Mφαl (qs )α̈l + Mφαr (qs )α̈r + Mφφ (qs )φ̈
+Cφαl (qs , q̇s )α̇l + Cφαr (qs , q̇s )α̇r + Cφφ (qs , q̇s )φ̇
+Gφ (qs ) = 0.
(5)
III. P LANNING IN S HAPE S PACE
Our objective here is to use the dynamic constraint equations to plan shape trajectories, which when tracked will
result in approximate tracking of desired position trajectories. Eq. 5 shows that non-zero shape changes can result
in acceleration in position space. Such systems are called
shape-accelerated underactuated balancing systems [10].
The dynamic constraint equations help us understand the
relationship between shape configurations and acceleration
in position space. Let’s first discuss a simple case where the
robot sticks to a constant, non-zero shape configuration.
A constant, non-zero shape configuration qs with q̇s = 0
and q̈s = 0 reduces the dynamic constraints equations in
Eq. 5 to:
Mφθ (qs )θ̈ + Gφ (qs ) = 0.
(6)
Since Mφθ is invertible in the neighborhood of the origin
[10], one gets
θ̈
=
−Mφθ (qs )−1 Gφ (qs )
=
Γ′ (qs ).
(7)
If the system tracks a constant shape configuration, the
nonlinear map Γ′ (qs ) ∈ R2×6 provides the constant acceleration the system will achieve in position space. Equation 7 is
also valid for cases where the non-zero shape configurations
cancel each other’s effect to produce zero acceleration in
position space. However, the nonlinear map Γ′ (qs ) is not
invertible as the shape space is of higher dimension than the
position space. Therefore, given a desired constant acceleration in position space, there is no unique constant shape
configuration that will achieve it. In fact, there are an infinite
number of constant shape configurations that will achieve
the desired motion. Here, we present ways to find such
configurations. Jacobian linearization of Eq. 7 w.r.t. qs at
qs = 0 gives
∂Γ′ ∂ θ̈ =
∂qs qs =0
∂qs qs =0
∂Γ′ ∂Γ′ ∂Γ′ ,
,
=
∂αl ∂αr ∂φ qs =0
qs =0
q =0
0 s 0
Kαl , Kαr , Kφ0
=
=
Kq0s .
(8)
where,
W
Kθ0

Wαl
0
0
0  ∈ R6×6 ,
Wαr
=  0
0
0
Wφ


0 −1
(Kαl )
=  (Kα0 r )−1  ∈ R6×2 .
(Kφ0 )−1

(10)
(11)
Here, the matrices (Kα0 l )−1 , (Kα0 r )−1 and (Kφ0 )−1 are all
diagonal matrices and hence, the weight matrix W is chosen
such that Wαl + Wαr + Wφ = I2 , a 2 × 2 identity matrix.
The weight matrix W allows the user to relatively weigh the
contribution each group of shape variables make in achieving
the desired acceleration in position space θ̈d . For example,
the user can choose from either a pure body lean motion or
a pure arm motion or any combination of the two.
In this paper, we do not use the conventional pseudoinverse approach as the pseudo-inverse of Kq0s will return
only a single set of shape configurations qs , whereas, the
decoupled inverse approach using the weight matrix W offers
more flexibility and allows us to explore the space of infinite
possible shape configurations. This is particularly useful
when certain physically meaningful behaviors are desired,
for example, constrained arm motions for carrying objects,
no arm motion while moving between narrow walls, etc.
A. Optimal Shape Trajectory Planner
When the desired acceleration in position space is a nonconstant, time-varying trajectory θ̈d (t), the corresponding
shape trajectories qsp (t) will also be time-varying. The dynamic constraint equations in Eq. 5 can be re-written as:
−1
Mφαl (qs )α̈l + Mφαr (qs )α̈r +
θ̈ = −Mφθ (qs )
Mφφ (qs )φ̈ + Cφαl (qs , q̇s )α̇l + Cφαr (qs , q̇s )α̇r +
Cφφ (qs , q̇s )φ̇ + Gφ (qs )
=
Γ(qs , q̇s , q̈s ).
(12)
2×6
Kq0s
∈ R
is not invertible, whereas its
The matrix
constituent submatrices Kα0 l ∈ R2×2 , Kα0 r ∈ R2×2 , Kφ0 ∈
R2×2 are all invertible. The matrix Kq0s and in turn, its
constituent submatrices are functions of only the system
parameters, and hence are constant matrices. These constant
submatrices quantitatively represent the contribution each
group of shape variables have on the acceleration of the
system in position space, i.e., Kα0 l , Kα0 r and Kφ0 represent
the contribution the left arm angles, right arm angles and
body angles have on the acceleration of the ball respectively.
Therefore, their inverses let us derive shape configurations,
which when tracked will result in desired acceleration in
position space. However, the individual inverses assume that
the other shape configurations are zero.
Therefore, given a desired constant acceleration in position
space θ̈d , the constant shape configurations that must be
tracked to achieve θ̈d can be written as:
qsp
=
W Kθ0 θ̈d ,
(9)
In this paper, we extend the shape trajectory planner
presented in [10] to plan in high dimensional shape space
to achieve optimal tracking of desired position trajectories
θ̈d (t). Inspired by Eq. 9, given a desired acceleration trajectory in position space θ̈d (t) and a weight matrix W ,
we propose to find a constant linear map Kθ such that the
planned shape trajectory
qsp (t)
=
W Kθ θ̈d (t),
(13)
when tracked will result in an acceleration trajectory θ̈p (t)
that approximates the desired acceleration trajectory θ̈d (t).
Here, W and Kθ have the same structure as in Eq. 10 and
Eq. 11 respectively.
The shape trajectory planning procedure can now be
formulated as an optimization problem, where the elements
of Kθ are determined with the objective of minimizing
2
Z p
d
(14)
J = θ̈ (t) − θ̈ (t)
,
t
2
...d
....d
where, θ̈p (t) = Γ(W Kθ θ̈d (t), W Kθ θ (t), W Kθ θ (t)).
Any optimization algorithm that solves nonlinear leastsquares problems can be used. Kθ = Kθ0 ensures optimality
for a constant desired acceleration trajectory, whereas it may
not necessarily ensure optimality for a general θ̈d (t) but will
act as a good initial guess for the optimization process.
The shape trajectory planning procedure presented above
talks only about tracking desired acceleration trajectories
θ̈d (t) but not desired position trajectories θd (t). Desired
position trajectories θd (t) can be tracked by tracking the corresponding acceleration trajectories θ̈d (t) only if the system
starts at the correct initial conditions, i.e., θp (0) = θd (0) and
θ̇p (0) = θ̇d (0). When the initial conditions match, approximate tracking of the desired acceleration trajectories result
in approximate tracking of the desired position trajectories.
B. Control Architecture
The shape planner assumes that there exists controllers
that can accurately track the planned shape trajectories. For
the 3D ballbot model with arms, the shape configurations
include actuated arm configurations and unactuated body
configurations. We use the balancing controller described in
[11] to track the planned body angle trajectories. In order to
track the planned arm angle trajectories, we use the computed
torque method [14] that provides open-loop control values
and a PID position controller for closed-loop control.
We can observe that the tracking of desired position
trajectories θd (t) by tracking planned shape trajectories qsp (t)
is open-loop with no feedback on the position configurations.
This procedure cannot ensure approximate tracking when the
system starts at wrong initial conditions. Moreover, while
testing on real robots, there are more issues such as modeling
uncertainties, unmodeled dynamics, nonlinear friction effects
and noise that will prevent good tracking of desired position
trajectories. To overcome these issues, we use a feedback
position trajectory tracking controller, similar to the one
in [15], that adds compensation shape trajectories qsc (t)
to the planned shape trajectories qsp (t), thereby producing
the desired shape trajectories qsd (t) that are tracked by the
balancing and arm controllers as shown in Fig. 3.
C. Choosing Desired Position Trajectories
Since the planned shape trajectories qsp (t) depend on the
desired acceleration trajectories θ̈d (t), the shape trajectory
planner requires that the desired position trajectories θd (t)
must be at least of differentiability class C 2 , i.e., the first two
derivatives exist and are continuous. However, it is preferred
to have θd (t) be of differentiability class C 4 so that the
planned shape trajectories qsp (t) and their first two derivatives
(q̇sp (t), q̈sp (t)) that depend on them exist and are continuous.
The desired position trajectories θd (t) must also satisfy
acceleration bounds that depend on the shape variables used
to achieve these motions. For the results presented in Sec. IV,
the acceleration bounds are set to 1 m/s2 and 0.082 m/s2 for
using the body angles and arm angles respectively. These
values correspond to a 5◦ body lean and a 55◦ arm angle
(for a 1 kg end mass) respectively. These bounds represent
fd- f
q
d
s
+
- αd-α
Balancing
Controller
Arm
Controller
tθ
t
tα
-
c
qs
+
θ
qs
Ballbot
with Arms
Tracking
Controller
+
θ
d
+
p
qs
Optimal Shape
Trajectory Planner
Fig. 3.
Control Architecture
the neighborhood around the origin where the linear proportionality between shape change and ball acceleration is valid.
Since the ballbot’s body has a larger moment of inertia than
its arm, there is a larger acceleration bound for the body
angles than the arm angles.
D. Choosing Weight Matrices
The shape trajectory planner assumes that a valid weight
matrix W is chosen. The conditions that determine its
validity are as follows. Each element wij of the weight
matrix W must be non-negative, i.e., wij ≥ 0. The weight
matrix W must be of the form shown in Eq. 10 and its
constituent submatrices must sum to a 2 × 2 identity matrix,
i.e., Wαl + Wαr + Wφ = I2 .
The weight matrix can also be used to account for selfcollision constraints. Its elements can be chosen such that
the arm motions do not collide with the body. Let’s consider
the case of the ballbot achieving a lateral ball motion using
just the arms. Here, a single arm cannot produce the whole
motion as it will result in collision with the body. So, one
arm must be used for the “acceleration-phase” and the other
arm must be used for the “deceleration-phase”. This can be
achieved by using a different weight matrix for each phase.
Such a case is experimentally demonstrated in Sec. IV-B.
E. Real-Time Planning
For the results presented in Sec. IV, the optimization
tolerance values for both the residual norm and the parameter
values were set to < 10−3 . On a standard Intel Core-2
Duo processor, the optimization implementation in MATLAB converges in < 9 seconds. A well optimized C/C++
implementation can provide the results an order of magnitude
faster, which allows real-time planning on the ballbot.
IV. E XPERIMENTAL R ESULTS
This section presents the experimental results of the ballbot with arms achieving desired position space motions using
the optimal shape trajectory planner and the control architecture described in Sec. III. User-defined weight matrices are
used to choose between the body and the arm motions. For
all the results presented in this paper, the ballbot arms have
1 kg dummy weights at their ends. The companion video,
“Shape Space Planning for Ballbot with Arms”, shows the
ballbot with arms perform the motions presented here.
5
10
Time (s)
(a)
0
0
−0.1
−1
−0.2
15
−2
Tracking
Error (◦ )
0.2
Body (◦ )
Angle
1
−0.2
0
5
−0.4
15
10
Time (s)
(b)
20
0.2
30
10
0
0
2
0
1
0
5
10
Time (s)
(a)
Arm (◦ )
Angle
60
Tracking
Error (m)
Ball (m)
Position
0.4
−0.2
−30
−0.4
15
−60
Tracking
Error (◦ )
Tracking forward straight line ball motion using only body motion: (a) ball position trajectory; (b) body angle trajectory.
0
−10
5
0
−20
15
10
Time (s)
(b)
10
0.1
0.5
0.2
15
5
0
0
2
0
1
0
5
10
Time (s)
(a)
0
−0.1
−0.5
−0.2
15
−1
0
0
5
10
Time (s)
(b)
Arm (◦ )
Angle
30
Tracking
Error (◦ )
0.4
Body (◦ )
Angle
1
Tracking
Error (m)
0.2
−0.2
−15
−0.4
15
−30
Tracking
Error (◦ )
Tracking forward straight line ball motion using only arm motion: (a) ball position trajectory; (b) left arm angle trajectory.
3
Ball (m)
Position
0.1
0
3
0
0.4
1
0
Fig. 5.
2
2
0
Fig. 4.
0.2
Tracking
Error (m)
Ball (m)
Position
3
−5
0
5
10
Time (s)
(c)
−10
15
Fig. 6. Tracking forward ball motion using both arm and body motions: (a) ball position trajectory; (b) body angle trajectory; (c) right arm angle trajectory.
A. Forward Ball Motion
Here, we present the results of the ballbot with arms
tracking a desired straight line ball motion of 2 m in
the forward direction using three different shape motions:
(i) pure body motion; (ii) pure arm motion; and (iii) a
combination of both body and arm motions.
1) Pure Body Motion: Figure 4(a) shows the real ballbot
with arms tracking the desired ball motion by tracking just
the desired body angle trajectory, which is a sum of the
planned body angle trajectory given by the shape trajectory
planning procedure and the compensation trajectory obtained
through feedback. The arms were maintained at zero angles
for this experiment. The experimental body angle trajectory
along with its tracking error is shown in Fig. 4(b). The
planner’s effectiveness is demonstrated by the small compensation body angles, which remained within ±0.08◦ .
2) Pure Arm Motion: The ball position tracking performance while using just the arms to achieve the 2 m motion is
shown in Fig. 5(a). The left arm angle trajectory is shown in
Fig. 5(b) and a similar result was obtained for the right arm.
The compensation arm angles remained within ±5◦ , while
the body angles were maintained within ±0.05◦ . Compared
to the results in Fig. 4(a), Fig. 5(a) shows that there is larger
ball position tracking error while using just the arms. This
is due to the relatively poor trajectory tracking performance
of the arm controller as shown in Fig. 5(b), which in turn is
due to some excessive backlash in the arm gears. We plan
to improve this design in the future.
3) Body and Arm Motion: Here, the body and the arm
motions equally share (50-50) the effort of tracking the desired ball motion as shown in Fig. 6(a). Resulting trajectories
for the body and the right arm are shown in Fig. 6(b) and
Fig. 6(c) respectively. A similar result was obtained for the
left arm. The compensation body and arm angles remained
within ±0.06◦ and ±5◦ respectively.
B. Lateral Ball Motion
Here, we present the results of the ballbot with arms
tracking a desired straight line ball motion of 1 m in the
lateral direction using just the arm motions. The resulting
ball motion and the tracking error are shown in Fig. 7(a).
The arms are moved sideways and the right arm is used
during the “acceleration-phase” to initiate the motion as
shown in Fig. 7(b), whereas the left arm is used during the
“deceleration-phase” to bring the system to rest as shown in
Fig. 7(c). As discussed in Sec. III-D, two different weight
matrices were used for the two phases in order to avoid
20
0.1
30
10
30
10
0
0
0
0
1
0
0.5
0
5
0
−30
−0.2
15
−60
0
5
10
Time (s)
(b)
−10
−30
−20
15
−60
−10
0
5
−20
15
10
Time (s)
(c)
Body (◦ )
Angle
Y Position (m)
1
0.5
0
0.4
1
0.4
0.5
0.2
0.5
0.2
0
0
−0.5
−0.5
−1.5 −1 −0.5 0 0.5
X Position (m)
(a)
Fig. 8.
1
−1
0
5
10
Time (s)
(b)
Body (◦ )
Angle
Desired
Actual
1.5
0
−0.2
−0.5
−0.4
15
−1
0
Tracking
Error (◦ )
Tracking lateral ball motion using only arm motion: (a) ball position trajectory; (b) right arm angle trajectory; (c) left arm angle trajectory.
Tracking
Error (◦ )
Fig. 7.
10
Time (s)
(a)
−0.1
Tracking
Error (◦ )
60
Arm (◦ )
Angle
20
Tracking
Error (◦ )
60
Arm (◦ )
Angle
0.2
Tracking
Error (m)
Ball (m)
Position
1.5
−0.2
0
5
10
Time (s)
(c)
−0.4
15
Tracking curvilinear ball motion using only body motion: (a) XY ball position; (b) X body angle trajectory; (c) Y body angle trajectory.
self-collision. The compensation arm angles remained within
±5◦ , while the body angles remained within ±0.05◦ .
C. Curvilinear Ball Motion
The ballbot with arms tracking a curvilinear ball motion
using just the body motion is shown in Fig. 8(a). The
body angle trajectories and the tracking errors are shown
in Fig. 8(b) and Fig. 8(c). The compensation body angles
remained within ±0.15◦ for this experiment.
V. C ONCLUSIONS
This paper presents an optimal shape trajectory planner
that uses dynamic constraint equations to plan trajectories
in high-dimensional shape space, which when tracked will
result in optimal tracking of desired position trajectories. The
planner uses a user-defined weight matrix that determines
the contribution of each shape variable in achieving the
desired position space motion. A feedback position trajectory
tracking controller was used to achieve better tracking. This
paper also successfully demonstrated the effectiveness of the
shape planner and the control architecture in tracking desired
motions on the real ballbot with arms by choosing between
pure body motions, pure arm motions and their combinations.
VI. F UTURE W ORK
We will test the shape planning procedure with heavier
weights at the end of the arms in order to achieve faster
and more dynamic motions. The work presented must be
extended to include cases where some shape configurations
are constrained and non-zero, e.g., carrying an object with
the arm; and still achieve desired motions in position space.
The problem of handling disturbances will also be addressed.
In this paper, the weight matrices were chosen by the user
and we will explore ways to automatically choose these
weight matrices depending on the desired navigation task.
R EFERENCES
[1] Y. Takahashi, S. Ogawa, and S. Machida, “Step climbing using power
assist wheel chair robot with inverse pendulum control,” in Proc. IEEE
Intl. Conf. on Robotics and Automation, 2000, pp. 1360–65.
[2] P. Deegan, B. Thibodeau, and R. Grupen, “Designing a self-stabilizing
robot for dynamic mobile manipulation,” Robotics: Science and Systems - Workshop on Manipulation for Human Environments, 2006.
[3] M. Stilman, J. Olson, and W. Gloss, “Golem Krang: Dynamically
stable humanoid robot for mobile manipulation,” in IEEE Int’l Conf.
on Robotics and Automation, 2010, pp. 3304–3309.
[4] 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.
[5] R. Hollis, “Ballbots,” Scientific American, pp. 72–78, October 2006.
[6] L. Havasi, “ERROSphere: an equilibrator robot,” Intl. Conf. on Control
and Automation, pp. 971–976, June 27-29 2005.
[7] M. Kumagai and T. Ochiai, “Development of a robot balancing on a
ball,” Intl. Conf. on Control, Automation and Systems, 2008.
[8] N. Getz and J. K. Hedrick, “An internal equilibrium manifold method
of tracking for nonlinear nonminimum phase systems,” in in 1995
American Control Conference, (Seattle), American Automatic Control
Council, 1995, pp. 2241–2245.
[9] S. Devasia, D. Chen, and B. Paden, “Nonlinear inversioon-based
output tracking,” in IEEE Transactions on Automatic Control, vol. 41,
no. 7, 1996, pp. 930–942.
[10] U. Nagarajan, “Dynamic constraint-based optimal shape trajectory
planner for shape-accelerated underactuated balancing systems,” in
Proceedings of Robotics: Science and Systems, Zaragoza, Spain, 2010.
[11] U. Nagarajan, A. Mampetta, G. Kantor, and R. Hollis, “State transition,
balancing, station keeping, and yaw control for a dynamically stable
single spherical wheel mobile robot,” Proc. IEEE Int’l. Conf. on
Robotics and Automation, pp. 998–1003, 2009.
[12] M. W. Spong, “The control of underactuated mechanical systems,” in
First International Conference on Mechatronics, Mexico City, 1994.
[13] G. Oriolo and Y. Nakamura, “Control of mechanical systems with
second-order nonholonomic constraints: Underactuated manipulators,”
in Proc. IEEE Conf. on Decision and Control, 1991, pp. 2398–2403.
[14] R. M. Murray, Z. Li, and S. S. Sastry, A Mathematical Introduction
to Robotic Manipulation. Berkeley: CRC Press, 1994.
[15] U. Nagarajan, G. Kantor, and R. Hollis, “Trajectory planning and control of an underactuated dynamically stable single spherical wheeled
mobile robot,” Proc. IEEE Int’l. Conf. on Robotics and Automation,
pp. 3743–3748, 2009.
Download