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.