<<

Motion Planning and Feedback Control for Bipedal Riding a

Jonathan Anglingdarma, Ayush Agrawal, Joshua Morey and Koushil Sreenath

Abstract— This paper formulates a methodology to plan and control flat-terrain motions of an underactuated bipedal riding a snakeboard, which is a steerable variant of the . We use tools from non-holonomic motion planning to study snakeboard and develop feedback control strategies that enable bipedal robots to produce the desired gaits while maintaining balance, regulating the magnitude and direction of the velocity of the snakeboard, achieving sharp turns, and avoiding obstacles.

I.INTRODUCTION Legged robots are highly versatile machines that exhibit Fig. 1: Cassie Riding a snakeboard along a sinusoidal path. a wide variety of locomotion modes like , A video of the simulation results can be found here: https: and which enable them to traverse over extremely //youtu.be/fapcnAvYbko rough terrain unlike wheeled robots. On flat terrain however, wheeled robots outperform their legged counterparts in both, speed and efficiency. This paper attempts to bridge and thus, being able to balance on them is challenging. this performance gap by introducing a faster and efficient Second, Cassie can only control the snakeboard motion alternative to legged locomotion on flat terrain - riding a when the contact between its feet and the board is sustained passive wheeled platform. With this research, we hope to and no slip occurs. Therefore motion plans and control optimize the ability of legged robots by offering them a design should provide these additional guarantees. Third, medium where they could use a wheeled platform to rapid modulation of torso yaw momentum is a critical faster on smooth terrains while also having the option to component in snakeboard propulsion. Since Cassie is arm- walk or run in more challenging terrain. In particular, we less, this ability is severely constrained. These limitations develop control strategies for a high degree-of-freedom and restrict the range of feasible gaits for riding the snakeboard. underactuated bipedal robot, Cassie1 to autonomously ride Cassie is also a high degree-of-freedom, under-actuated robot an unpowered wheeled platform known as the snakeboard making the system challenging to control. In addition, riding as illustrated in Fig. 1. a snakeboard also requires achieving multiple tasks such The snakeboard is composed of a central bar that connects as oscillating the hip joints, leaning the body forwards two rotating pads where the rider places their feet. These or sideways, and maintaining stable balance. In order to rotating foot-pads are connected to the axles of the address these challenges and successfully execute dynamic and allow the rider to independently steer the wheels. Unlike flat-terrain motion plans, we propose an operational space a skateboard, the snakeboard allows the users to propel controller that allows Cassie to achieve multiple tasks, while themselves by rotating their body and the foot-pads, without also maintaining friction constraints between the foot and the the need for placing their feet on the ground. By interacting snakeboard pads. with the snakeboard pads through different patterns, the B. Related works rider can achieve various motions in the inertial frame. Multi-modal locomotion, and in particular, combining A. Challenges wheeled and legged locomotion is an active area of research. Enabling a bipedal robot to safely ride a snakeboard There is a great variety in the types of systems that are paired, involves many challenges. First, are highly the control methodologies used, and how contact between dynamic platforms that are sensitive to the input forces legs and wheels is enforced. For instance, the authors in [1] integrated and successfully demonstrated wheeled This work is supported in part by National Science Foundation Grant locomotion of Cassie with hovershoes and with segways in CMMI-1944722. The authors are with Department of Mechanical Engineering, University [2]. The work with ANYmal in [3], is another example of of California at Berkeley jonathan [email protected], multi-modal locomotion which combines the advantages of [email protected], both walking and using wheels at its feet. Ascento [4], is also [email protected], [email protected] 1Cassie is a bipedal robotic platform developed by Agility Robotics a mobility robot that uses a combination of legs and wheels https://www.agilityrobotics.com/robots#cassie. to maneuver quickly on flat terrain while also being able to jump and avoid obstacles. Quattroped [5] is a quadruped TABLE I: Physical parameters of the snakeboard. robot that can transform its legs to wheels which can be Symbol Description utilized for better performance and efficiency for different ms mass of the snakeboard mr mass of the rotor ground locomotion platforms. J inertia of the snakeboard With regards to combining legged locomotion with passive Jr inertia of the rotor wheeled devices, [6] considers the problem of stabilizing a Jw inertia of the wheels planar bipedal robot on a ball. In [7], the authors present l length from the snakeboard’s center-of-mass to the wheels an MPC framework to manipulate a ball using a quadruped robot to follow desired trajectories. The work in [8] develops Front foot-pad a framework for a 3D to ride a passive skateboard. Rotor The snakeboard considered in this paper is a dynamical system with non-holonomic constraints and motion planning for such systems has been extensively studied in prior work, beginning with [9] that considered various sinusoidal gaits O for the snakeboard joints which was later extended to an optimal control framework in [10]. The work in [11], [12] Back foot-pad formulated the motion planning problem of the (a) (b) snakeboard to a desired goal location by considering various Fig. 2: Simplified model of a snakeboard. (a) Snakeboard as kinematic trajectories. In [13], the authors propose a gait viewed from top. (b) Rotor lean angle in the lateral direction generation technique to achieve displacement along a given of the snakeboard. direction and present an analytical framework in [14] for the joint configurations to follow desired trajectories in the task space. In [15], the authors consider the problem of of the snakeboard. Section V presents results from numerical trajectory planning by considering only the local curvature simulations for various scenarios such as obstacle avoidance, of the desired path and in [16] analyze the snakeboard with achieving sharp turns and tracking desired velocities. Section viscous friction. In [17], the authors analyze riders VII summarizes the work explored in this paper and on a waveboard, which is another form of a system with describes future directions. non-holonomic constraints. C. Primary Contributions II.DYNAMICAL MODELOF CASSIEONA SNAKEBOARD Our work draws motivation primarily from the studies With the challenges described above, this section made in the non-holonomic motion planning for snakeboards investigates the dynamical model of Cassie, snakeboard and [9] and a force balance control strategy for bipedal robots how they interact with one another. [18]. In this paper, we modify gaits so that Cassie could achieve some desired features for trajectory planning and A. Dynamical Model of Cassie compute the desired center-of-mass for Cassie to still be able to maintain its balance while riding on the snakeboard. Cassie is a 20-dimensional bipedal robot with 10 degrees Distinct from prior work in [3], [4], [5] which consider of actuation and the dynamics can be expressed as the wheels to be fixed to the legs or [1], [2] which T T consider combining powered wheeled devices with legged Dq¨c +Cq˙c + G = Bτ + Js τs + Jc fc, (1) robots, we present a trajectory planning and optimization- 20 20×20 where qc ∈ R is the configuration of the robot, D ∈ R based feedback controller for a bipedal robot, Cassie to × is the inertia matrix, C ∈ R20 20 is the Coriolis matrix, ride a passive wheeled platform, the snakeboard. Through × G ∈ R20 is the generalized gravity vector, B ∈ R20 10 is the our proposed framework, the combined Cassie-snakeboard 4 actuation distribution matrix, τs ∈ R are the spring torques, system is able to follow desired trajectories in the task-space, 10 Js is the jacobian of the spring deflections, τ ∈ R are achieve sharp turns and avoid obstacles, while maintaining 12 the input joint torques, fc ∈ R are the contact forces and balance and friction constraints.  T T T 12×20 Jc := Jc,1 ···Jc,4 ∈ R is the jacobian of the contact D. Organization ¯  T T T positions. For later use, we define Jc := Jc,1B···Jc,4B ∈ × The rest of the paper is organized as follows. Section R12 10. The configuration variables q consist of the position  T II describes the dynamical model of Cassie integrated with of the robot, the orientation ε := θc ψc φc of the pelvis the snakeboard. Section III discusses different approaches represented in Z-Y-X euler angles and the joint angles. These for generating various gaits to propel the snakeboard along are detailed in [19]. In later sections, we will particularly different desired trajectories. Section IV presents a balance use the yaw of the pelvis θc and the hip yaw angles denoted  T control strategy for Cassie to be able to achieve the different by qhip := qhip,b qhip, f corresponding to the legs on the gaits and regulate the center-of-mass and angular velocities back and front foot-pads of the snakeboard. B. Simplified Dynamical Model of Snakeboard

For the purpose of path planning, we derive a simplified X-Y Control (Section IV-B) dynamical model of the snakeboard from [9]. Figure 2 Velocity Control Low-Level depicts this model which consists of a rotor at the center (Section IV-C) Joint Torque Controller (Section IV-A) of the snakeboard to model a rider rotating their body. The Turning Control (Section IV-D) configuration variables of the snakeboard qs include the inertial position xs, ys, orientation θs, the angles of the front and back foot-pads φ f and φb, and the relative angle of the rotor with the snakeboard ψ. The various physical parameters Fig. 3: Feedback control diagram. Here q represents Cassie’s of the snakeboard are mentioned in Table I. Assuming wheels c states and q represents the snakeboard’s states do not slip sideways, non-holonomic constraints (2), (3) are s imposed on the snakeboard, 0.1 0

-0.5 0.05 −sin(φ + θ )x˙ + cos(φ + θ )y˙ − lθ˙ cosφ = 0, (2) 0.05 b s s b s s s b -1 0 0 −sin( + )x˙ + cos( + )y˙ − l ˙ cos = 0. (3) -1.5 φ f θs s φ f θs s θs φ f -0.05 -0.05 -2 -0.1 -2.5 With the motion of the snakeboard restricted to level 0 5 10 -0.4 -0.2 0 -0.2 -0.1 0 ground, the potential energy of the snakeboard remains constant and the Lagrangian dynamics for the snakeboard are Fig. 4: Trajectory of the center-of-mass of the simplified based solely on the . The equations of motion snakeboard model for various gaits, all with 0 initial velocity. of the snakeboard [9] are then obtained as

1  the contact forces between the foot and the snakeboard pads x¨s = λ1 sin(φb + θs) + λ2 sin(φ f + θs) , (4) ms + mr as 1    4 c i y¨s = − λ1 cos(φb + θs) + λ2 cos(φ f + θs) , (5) u1 = 0 0 1 Σi=1ri × − fc, (10) ms + mr   2 f p i 1  u2 = 0 0 1 Σi=1ri × − fc, (11) θ¨s = −u − u − u + λ l cosφ − λ l cosφ f , (6) J 1 2 3 1 b 2   4 f p i u3 = 0 0 1 Σi=3ri × − fc, (12) 1 ¨  ψ¨ = u1 − Jrθs , (7) f p th Jr where ri represents the i location of the contact point c th 1  with respect to the foot-pads, ri denotes the i location φ¨b = u2 − Jwθ¨s , (8) Jw of the contact point with respect to center-of-mass of the snakeboard, f i denotes the contact forces at the ith contact ¨ 1 ¨  c φ f = u3 − Jwθs , (9) i = , Jw point, with 1 2 representing the back foot-pads and i = 3,4 representing the front foot-pads of the snakeboard. where u1, u2 and u3 are the input torques at the joints III.PATH PLANINGAND GAIT GENERATION corresponding to the configuration variables ψ, φb and φ f respectively, and λ1 and λ2 are Lagrange multipliers that As mentioned in Remark 1, a desired net change in arise due to the non-holonomic constraints in (2) and (3). the global position and orientation of the snakeboard can The particular solution for λ1 and λ2 can be found in [9]. be achieved by regulating the local coordinates of the snakeboard and the problem of trajectory planning of the Remark 1. The variables , and correspond to the ψ φb φ f snakeboard turns into a problem of gait generation of the local configuration of the snakeboard that the rider has shape variables. We define a trajectory of the snakeboard in control over. The variables x , y and θ correspond to the s s s the global frame as the tuple (x (t),y (t),θ (t)) denoting the configuration of the snakeboard in the inertial frame. Due to s s s global positions and orientation of the snakeboard, and a gait the non-holonomic constraints in (2) and (3), by modulating as the tuple (ψ(t),φ (t),φ (t)) denoting the shape variables the local configuration variables, the rider can cause a b f at time t ∈ [0,T] for T > 0. desired net change in the inertial frame. For the sake of completeness, we present below the results in [9] and illustrate the effects of different gaits on the C. Contact Model between Cassie and the Snakeboard trajectories in the global frame. Consider the following In Section II, we used a model of the snakeboard where the time-varying sinusoidal inputs for the simplified model rotor was used as a simplification of the dynamics of the rider snakeboard in (7), (8), (9) [9]. While this simplified model is useful for path planning of u = a sin(w t), i ∈ {1,2,3}, (13) the snakeboard, it does not capture the true dynamics of the i i i rider. In particular, the dynamics of the rider (here, Cassie) where the parameters of the sinusoids for various trajectories are given by the robot dynamics in Section II-A and the are presented in Table II. The drive gait (Fig. 4a) propels the inputs to the snakeboard u j, j ∈ {1,2,3} are determined by snakeboard forward or backward depending on the phase TABLE II: Gait parameters for different gaits from [9].

Parameter Drive Gait Parking Gait Rotate Gait 0.2 a1 0.3 rad 1 rad 1 rad w1 1 rad/s 3 rad/s 2 rad/s 0.1 a2,−a3 0.3 rad 1 rad 1 rad w2,w3 1 rad/s 2 rad/s 1 rad/s 0 0 10 20 30 40 difference between the foot-pads and the rotor. The parking gait (Fig. 4b) results in a net displacement along the lateral 0.2 direction. The rotate gait (Fig. 4c) results in a net change in 0 orientation of the snakeboard with very small displacement in both, x and y directions. -0.2 0 10 20 30 40 Remark 2. The distinguishing factor of the drive gait from other gaits is the equal frequencies for both, the foot-pads and the rotor. In the following sections, we will particularly make use of the drive gait presented here on the simplified snakeboard model to formulate a gait planner for Cassie to follow various trajectories. Fig. 5: Results for velocity tracking simulation in Section V-A. Top: Velocity tracking results with the Cassie- snakeboard system initially at rest. Middle: Foot-pad angles IV. CONTROL DESIGN of the snakeboard. Bottom: Center-of-mass position of the Having presented the gait generation technique for the snakeboard follows a nearly straight line. snakeboard using the simplified model, in this section, we discuss the low-level control strategy implemented on Cassie d in order to achieve the desired trajectory while still being able wrench basis W as, Fcom = GcW fc , where the wrench basis d to balance on the snakeboard. W is required to transform a force fc,i at a contact point i  d T T T A. Low-Level Joint Controller to an equivalent wrench Fc = fc,i 03×1 . The desired contact forces can then be obtained by finding the minimizer Our low-level feedback controller is derived from [18] d 2 of kFcom − GcW fc k . However, in order to oscillate the which presents an optimization-based framework to obtain foot-pads of the snakeboard as in (13), we require the legs d  d T d T T 12 desired forces fc = fc,1 ··· fc,4 ∈ R at the four of Cassie to follow a sinusoidal trajectory, in addition to contact points that stabilizes the center-of-mass position rc ∈ maintaining a desired center-of-mass position and orientation 3 R and velocityr ˙c of the robot as well as the orientation ε of the pelvis. We also require that the feet do not slip on d and rotational velocity ε˙ of the pelvis to desired values rc , the foot-pads. We achieve this by formulating the feedback d d d r˙c , ε and ε˙ . This is achieved by considering a fictitious control as the following optimization problem, 6 wrench Fcom ∈ R at a frame coincident with the center-of- d 2 d 2 ¯T d 2 minkFcom−GcW fc kW + kτhip − τ kW + kτ + Jc fc kW mass of the robot and parallel to the orientation of the pelvis, d F hip τ δ fc ,τ d " d d # s.t. fc ∈ K f ric, (15) mcge3 − Kp(rc − r ) − Dp(r˙c − r˙ ) c c − ¯ ≤ ≤ ¯, Fcom =   ˆ d , (14) τ τ τ R −2 δI + ξ Krξ − Dr ω − ω 2 10 where τhip ∈ R are the torques at the hip yaw joints, τ¯ ∈ R  T where e3 = 0 0 1 , R is the equivalent rotation matrix denotes the joint torque limits on Cassie, K f ric corresponds d representation of the orientation of the pelvis given by R = to the linearized friction cone constraints [20] and τhip is Rz(θc)Ry(γc)Rx(φc), with Rz, Ry and Rx denoting the rotations given by the linear feedback term, about the Z, Y and X axes respectively. The rotation matrix τd = −K (q − qd ) − D (q˙ − q˙d ), (16) Rd corresponding to the desired orientation can be similarly hip hip hip hip hip hip hip T obtained. The terms ξ and δ denote the vector and scalar d h d d i 2 d where q = qhip, f qhip,b ∈ R andq ˙ are desired part of the quaternion corresponding to the orientation error hip hip sinusoidal trajectories for the hip joint angles and velocities RdT R. Additionally, ω and ωd denote the actual and desired on the front and the rear foot-pads, K and D are body angular velocities of the pelvis respectively, which can hip hip appropriate feedback gains. The term kτ + J¯T f dk2 in be obtained from the euler angles and their velocities. The c c Wδ the cost function captures the quasi-static relationship τ = desired height rd with respect to the snakeboard is kept at a c −J¯T f d between the joint torques and the contact forces. constant value and the desired yaw of the robot’s pelvis with c c respect to the snakeboard is a sinusoidal function as in (13). Remark 3. As mentioned earlier, due to the lack of arms The center-of-mass wrench Fcom can be transformed to and an upper torso, Cassie has limited control over the d equivalent contact forces fc through the grasp Gc and yaw momentum which limits the types of trajectories and 2.5 2 1.5 1 0.5 -4 -2 0 2 behaviors that Cassie can execute with the snakeboard. In 0.4 the following sections, we will specifically use the gait drive 0.2 presented in Section III. In addition, while (13) considers 0 sinusoids for the input torques ui of the simplified snakeboard -0.2 dynamics, in the next sections, we will instead consider -0.4 d sinusoidal trajectories for the desired hip angles qhip(t) and 0 10 20 30 40 d desired pelvis yaw θc (t). We also make an assumption that the feet do not slip on the snakeboard foot-pads. With this (a) assumption, the foot-pads follow the hip joint trajectories. B. Snakeboard X-Y controller To achieve a desired displacement in the XY plane, we consider a modified version of the drive gait. In particular, we consider the following desired trajectories for the hip joints and pelvis yaw, d d qhip, f (t) = c + asin(wt), qhip,b(t) = −asin(wt), (17) d θc (t) = asin(wt), (18) d d d with c = −Kx(xs −xs )−Dx(x˙s −x˙s ), where xs represents the desired x location. This controller prevents the board from (b) drifting too far from the desired x-direction. Fig. 6: Results for tracking a circular path in Section V-B. C. Velocity Controller (a) Foot-pad angles of the snakeboard. (b) Center-of-mass Velocity control is accomplished by regulating the position of the snakeboard. amplitude of the sinusoids in (17)-(18) given by the proportional feedback law, d d about point O in Fig. 2 the desired lean angle θ for Cassie a = −Kv(vs − v ), (19) l s is given by p 2 2 2 where vs = x˙s + y˙s represents the magnitude of the velocity v θ = arctan . (23) of the snakeboard. l gR

D. Turning Controller To achieve the desired lean angle θl, we consider the The turning controller maintains a desired heading angle following desired center-of-mass position with respect to the d d θs of the snakeboard. We consider the following gait for the snakeboard rc for Cassie in (14) as, d desired hip angles qhip,   sinθl cosθs d d rd = z sin sin , (24) qhip, f = c + asin(wt), qhip,b = −c − asin(wt), (20) c ∆  θl θs  cosθl d ˙ ˙ d where c = −Kθ (θs − θs ) − Dθ (θs − θs ). To account for sharp turns, Cassie would need to lean in where ∆z is the difference between a nominal desired height the direction of the turn to ensure stability and balance on the of Cassie from the ground and the height of the snakeboard’s snakeboard. To further analyze this, we consider an inverted foot-pads from the ground. pendulum model in Fig. 2 that represents Cassie’s center- of-mass. Here, Fs and Fn denote the tangential and normal V. SIMULATION RESULTS 2 forces acting at the contact points, and F = mv denotes the c R Having presented the dynamics of the Cassie-snakeboard centripetal force at the center-of-mass. system and a feedback controller for regulating the inertial Using a comparable model to the snakeboard studied by position and orientation, we now present results from R [21], the radius of curvature of the trajectory can be numerical simulation for various scenarios. calculated as, 2l A. Velocity Tracking R = , (21) −  tanφ f tanφb cosω In this section, we consider regulating the velocity of tanφ + tanφ f ω = arctan b , (22) the Cassie-snakeboard system while following a straight 2 line. This is achieved by the control strategies presented in where ω represents the slip angle at the center-of-mass of Section IV-B and Section IV-C. Fig. 5 illustrates the results the board and l represent the length of the center-of-mass of velocity tracking of the forward velocity of the Cassie- of the snakeboard to the foot-pad. Summing up the moment snakeboard system. 23 0.02 2 1 1 0.01 1

0 0

-1 0.5 0.5 -0.01 -2 -0.02 0 0.5 1 1.5 -10 -5 0 0 0 0 5 10 15 0 2 4 Fig. 7: Numerical simulation results for the simplified snakeboard model moving (a) uphill and (b) downhill. 5 2 B. Turning Controller - Circular Path 0 0 The turning controller utilizes both, the velocity and the turning controllers. Fig. 6 illustrates the results from -2 a numerical simulation of the turning controller. In this -5 particular case, we consider the desired heading angle to be 0 5 10 15 0 2 4 d θs (t) = 0.2t + θ0, t > 15s where θ0 = π/2. For t ≤ 15 we use the velocity controller to follow a straight path and build Fig. 8: Simulation results for sinusoidal trajectory in Sec. up speed. V-C with (left column) and without (right column) leaning C. Turning Controller - Sinusoidal Path into sharp turns. We consider a sinusoidal trajectory that requires Cassie to make sharp turns without slipping and illustrate the importance of leaning during sharp turns. In this example, we consider an initial velocity of 0.8m/s for the Cassie- d snakeboard system and a desired heading angle θs = Fig. 9: Center-of-mass position of the snakeboard while 0.8sint + θ0 where θ0 = π/2. For the case without leaning into a turn, Cassie slips avoiding obstacles (in red). within a few seconds as can be seen in Fig. 8 (top-right), which shows that the ratio between the sum of the horizontal forces over the normal force exceeded the coefficient of static of achievable motions. Another potential future direction is friction. However, for the case where the robot was able to to analyze the problem of negotiating inclines. Towards this lean, Cassie is able to maneuver itself into sharp turns while goal, we analyzed the dynamics of the simplified model of still ensuring the friction constraints are satisfied, as shown the snakeboard on surfaces of a constant incline angles. With in Fig. 8 (top-left). the assumption that the ground makes a constant angle α with the x−axis, the Lagrangian of the snakeboard can be D. Obstacle Avoidance written as For avoiding obstacles in the task-space, we begin by 1 1 1 2 defining a path that geometrically avoids the obstacles. Then, L = (m + m )x˙ 2 + y˙ 2 + Jθ˙ 2 + J ψ˙ + θ˙  + 2 s r s s 2 s 2 r s by utilizing the XY controller, we can follow the trajectory 1  2 2 to avoid obstacles. Fig. 9 shows a simulation of the Cassie- J φ˙ + θ˙  + φ˙ + θ˙  − (m + m )gx sinα, (26) 2 w b s f s s r s snakeboard system avoiding two different obstacles in the shape of a sphere with a radius of 0.2m. To achieve this, we where g denotes the acceleration due to gravity. Fig. 7 consider the piece-wise function for the desired x position illustrates the drive gait from Section III for going up and as a function of y, downhill with the simplified snakeboard dynamics. As part d of future work, we plan to investigate navigation on severe xs = 0.3sin(ys − y0), (25) inclines and dynamic hybrid motions like flips and jumps where the particular values of y0 are obtained by considering with the snakeboard. the position of the obstacles. In this particular case, Cassie’s initial velocity is equal to 0.2m/s. VII.CONCLUSION

VI.FUTURE WORK In this paper, we presented a gait generation technique and As part of future work, we plan to implement the proposed feedback controller for a bipedal robot to autonomously ride controller on hardware. We also seek to explore robots with an unpowered wheeled platform called Snakeboard, which is an upper torso and arms, like Digit 2, to broaden the range a steerable variant of a Skateboard. Our proposed controller is able to achieve sharp turns, navigate around an obstacle 2https://www.agilityrobotics.com/meet-digit course and follow desired trajectories in the task space. REFERENCES Transactions on Robotics and Automation, vol. 17, no. 4, pp. 402– 412, 2001. [1] S. Chen, J. Rogers, B. Zhang, and K. Sreenath, “Feedback control [12] F. Bullo and A. D. Lewis, “Kinematic controllability and motion for autonomous riding of hovershoes by a cassie bipedal robot,” in planning for the snakeboard,” IEEE Transactions on Robotics and 2019 IEEE-RAS 19th International Conference on Humanoid Robots Automation, vol. 19, no. 3, pp. 494–498, 2003. (Humanoids), 2019, pp. 1–8. [13] E. A. Shammas, H. Choset, and A. A. Rizzi, “Towards a unified approach to motion planning for dynamic underactuated mechanical [2] Y. Gong, R. Hartley, X. Da, A. Hereid, O. Harib, J.-K. Huang, and systems with non-holonomic constraints,” The International Journal J. Grizzle, “Feedback control of a cassie bipedal robot: Walking, of Robotics Research, vol. 26, no. 10, pp. 1075–1124, 2007. standing, and riding a segway,” in American Control Conference, 2019, [14] E. Shammas and M. De Oliveira, “Motion planning for the pp. 4559–4566. snakeboard,” The International Journal of Robotics Research, vol. 31, [3] M. Bjelonic, C. D. Bellicoso, Y. de Viragh, D. Sako, F. D. Tresoldi, no. 7, pp. 872–885, 2012. F. Jenelten, and M. Hutter, “Keep rollin’—whole-body motion control [15] T. Dear, R. L. Hatton, M. Travers, and H. Choset, “Snakeboard motion and planning for wheeled quadrupedal robots,” vol. 4, no. 2, 2019, pp. planning with local trajectory information,” in Dynamic Systems and 2116–2123. Control Conference, vol. 56130. American Society of Mechanical [4] V. Klemm, A. Morra, C. Salzmann, F. Tschopp, K. Bodie, L. Gulich, Engineers, 2013, p. V002T33A002. N. Kung,¨ D. Mannhart, C. Pfister, M. Vierneisel, F. Weber, R. Deuber, [16] T. Dear, S. D. Kelly, M. Travers, and H. Choset, “Snakeboard and R. Siegwart, “Ascento: A two-wheeled jumping robot,” in 2019 motion planning with viscous friction and skidding,” in 2015 IEEE International Conference on Robotics and Automation, 2019, pp. International Conference on Robotics and Automation (ICRA). IEEE, 7515–7521. 2015, pp. 670–675. [5] S. Chen, K. Huang, W. Chen, S. Shen, C. Li, and P. Lin, “Quattroped: [17] A. Agrawal, H. M. Zaini, T. Dear, and H. Choset, “Experimental gait A leg– transformable robot,” IEEE/ASME Transactions on analysis of waveboard locomotion,” in Dynamic Systems and Control Mechatronics, vol. 19, no. 2, pp. 730–742, 2014. Conference, vol. 50701. American Society of Mechanical Engineers, [6] Y. Zheng and K. Yamane, “Ball : A case study of humanoid 2016, p. V002T22A011. in non-stationary environments,” in 2011 IEEE [18] C. Ott, M. A. Roa, and G. Hirzinger, “Posture and balance control International Conference on Robotics and Automation, 2011, pp. for biped robots based on contact force optimization,” in IEEE-RAS 2021–2028. International Conference on Humanoid Robots, 2011, pp. 26–33. [7] C. Yang, B. Zhang, J. Zeng, A. Agrawal, and K. Sreenath, “Dynamic [19] Y. Gong, R. Hartley, X. Da, A. Hereid, O. Harib, J.-K. Huang, and legged manipulation of a ball through multi-contact optimization,” J. Grizzle, “Feedback control of a cassie bipedal robot: Walking, arXiv preprint arXiv:2008.00191, 2020. standing, and riding a segway,” in 2019 American Control Conference [8] N. Takasugi, K. Kojima, S. Nozawa, F. Sugai, K. Yohei, K. Okada, and (ACC). IEEE, 2019, pp. 4559–4566. M. Inaba, “Extended three-dimensional walking and skating motion [20] H. Dai and R. Tedrake, “Planning robust walking motion on uneven generation for multiple noncoplanar contacts with anisotropic friction: terrain via convex optimization,” in 2016 IEEE-RAS 16th International Application to walk and skateboard and roller skate,” IEEE Robotics Conference on Humanoid Robots (Humanoids). IEEE, 2016, pp. 579– and Automation Letters, vol. 4, no. 1, pp. 9–16, 2018. 586. [9] J. Ostrowski, A. Lewis, R. Murray, and J. Burdick, “Nonholonomic [21] R. Rajamani, “Lateral vehicle dynamics,” in Vehicle Dynamics and mechanics and locomotion: the snakeboard example,” in IEEE control. Springer, 2012, pp. 15–46. International Conference on Robotics and Automation, 1994, pp. 2391–2397. [10] J. P. Ostrowski, J. P. Desai, and V. Kumar, “Optimal gait selection for nonholonomic locomotion systems,” The International journal of robotics research, vol. 19, no. 3, pp. 225–237, 2000. [11] F. Bullo and K. M. Lynch, “Kinematic controllability for decoupled trajectory planning in underactuated mechanical systems,” IEEE