Feedback Control for Autonomous Riding of Hovershoes by a Cassie Bipedal Robot

by   Jonathan Rogers, et al.
berkeley college

Motivated towards achieving multi-modal locomotion, in this paper, we develop a framework for a bipedal robot to dynamically ride a pair of Hovershoes over various terrain. Our developed control strategy enables the Cassie bipedal robot to interact with the Hovershoes to balance, regulate forward and rotational velocity, achieve fast turns, and move over flat terrain, slopes, stairs, and rough outdoor terrain. Our sensor suite comprising of VIO and depth sensors for visual SLAM as well as our Dijkstra-based global planner and timed elastic band based local planning framework enables us to achieve autonomous riding on the Hovershoes while navigating an obstacle course. We present numerical and experimental validations of our work.



There are no comments yet.


page 1

page 6

page 7

page 8


Bruce – Design and Development of a Dynamic Hexapod Robot

This paper introduces Bruce, the CSIRO Dynamic Hexapod Robot capable of ...

Optimal Motion Planning for Multi-Modal Hybrid Locomotion

Hybrid locomotion, which combines multiple modalities of locomotion with...

Heuristic Planning for Rough Terrain Locomotion in Presence of External Disturbances and Variable Perception Quality

The quality of the visual feedback can vary significantly on a legged ro...

The Autonomous Siemens Tram

This paper presents the Autonomous Siemens Tram that was publicly demons...

PATHoBot: A Robot for Glasshouse Crop Phenotyping and Intervention

We present PATHoBot an autonomous crop surveying and intervention robot ...

Multi-Modal Legged Locomotion Framework with Automated Residual Reinforcement Learning

While quadruped robots usually have good stability and load capacity, bi...

Autonomous Control of a Tendon-driven Robotic Limb with Elastic Elements Reveals that Added Elasticity can Enhance Learning

Passive elastic elements can contribute to stability, energetic efficien...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

While locomotion using legs is efficient when traveling over rough and discrete terrain, wheeled locomotion is more efficient when traveling over flat continuous terrain [1]. Humans are able to optimize locomotion efficiency by using multiple locomotion modalities that comprise of not only being able to walk and run, but also being able to ride various micro-mobility platforms, such as Segways and Hovershoes. Enabling legged robots to autonomously ride on various personal mobility platforms will offer multi-modal locomotion capabilities, improving the efficiency of locomotion over various terrains.

Autonomous robots with multi-modal locomotion capabilities can have a big impact in the real-world from package delivery to security and surveillance to search and rescue missions [2]. In order to address this problem, we use the Cassie bipedal robot developed by Agility Robotics to autonomously ride Hovershoes, see Fig. 1.

Fig. 1: Snapshot of an experiment of the bipedal robot Cassie autonomously riding on Hovershoes. Experimental videos are at

I-a Challenges

There are multiple challenges in developing an autonomous framework for Cassie to ride Hovershoes. First, Cassie is a complex, underactuated robot with degrees-of-freedom (DOFs), making it a difficult system to control. Second, the Hovershoes are a sensitive and highly dynamic platform that serve as two decoupled moving platforms under each of Cassie’s feet and are hard to coordinate. Third, the algorithms we can develop neither have access to the internal states of the Hovershoes nor can they directly specify the torque inputs on the Hovershoes, since Cassie can only indirectly interact with the Hovershoes through the contact forces. Fourth, the Cassie-Hovershoes system needs to be robust to kinematic and dynamic variances arising from (i) manual initialization of the Hovershoes that result in an initial relative translation and orientation between the Hovershoes; (ii) manual placement of Cassie’s feet on the Hovershoes resulting in off-center foot placement; and (iii) differences in the dynamic characteristics between the Hovershoes due to manufacturing. Fifth, the Cassie-Hovershoes system needs to be able to autonomously avoid obstacles, resulting in fast perception and planning demands.

We solve these challenges by designing controllers that assume the dynamics are decoupled along various degrees-of-freedom, strategically choosing a minimalist sensor suite for state estimation, and assuming kinematics is sufficient for path planning. This motivates the simplest approach to solving the problem - using PD controllers on decoupled dynamics, using a VIO and depth sensor for state estimation and object detection, and simple global and local kinematic planners. In the future, we will look at more complex controllers, estimators and planners.

I-B Related Work

I-B1 Multi-Modal Locomotion

There are some examples of multi-modal locomotion. For instance, DRC-HUBO+ is a bipedal robot that can have wheeled attachments at the knee joint of each leg [3], enabling both legged and wheeled locomotion. Boston Dynamics’ Handle robot—designed for box handling in warehouses—is another legged robot with wheels for feet [4]. ANYmal is yet other wheeled-legged robot used for traveling on irregular terrain [5]. While these robots can offer multi-modal locomotion, the integrated leg-wheel design is neither optimized for legged nor for wheeled mobility, resulting in complex and heavy feet.

Micro-mobility platforms—such as Segways and Hoverboards—allow legged robots without wheeled feet to also have multi-modal locomotion capabilities. This is advantageous since it keeps the legs lighter for faster motions during legged movement, while also having the option of wheeled mobility by riding on these platforms when needed. Segways and Hoverboards are relatively easy to ride since the platforms for either foot are connected for increased stability and turning is accomplished through simply leaning on a bar or differentially actuating the two connected platforms. However, these micro-mobility systems have limited abilities since they have a single platform for the user’s feet, as discussed next.

Hovershoes offer more versatile movements since each of the user’s feet can move independently. However, Hovershoes increase the riding complexity as they are significantly more sensitive and have no internal controller for turning. Though the Hovershoes are the most complex to ride, they offer the greatest versatility as each foot can move independently to avoid obstacles and go on uneven terrain, which is why we selected this platform for our research. We illustrate the degree of complexity of riding these products in Fig. 2.

I-B2 Controls

There has been research on developing controls for balancing on unstable environments such as seesaws and Bongo Boards with robust lateral stabilization [6]. However, these environments do not translate; but rather, they only tilt. There has been recent work on balancing on platforms that both tilts and translates, a Hoverboard, through sequential online learning control [7]. Additionally, a balancing controller for Cassie worked in riding a Segway by regulating the center-of-mass (COM) position [8]. However, these control strategies, though, are only for rigidly connected wheeled platforms and do not work on Hovershoes, which are not connected and add additional degrees-of-freedom for more versatility. Our research aims to develop a control algorithm for a bipedal robot to balance on a highly dynamic and decoupled platform under each foot.

Fig. 2: Segway, Hoverboard, and Hovershoes are shown from left to right. The complexity in terms of user control increases along the arrow head direction.

I-B3 Planning

Generic planning algorithms are primarily categorized into sampling-based and search-based methods. Sampling-based planning methods are computationally economical and offer high update rates. Nevertheless, feasible trajectories are not always guaranteed and there is some stochasticity in the choice of the plan with the same environmental layout potentially resulting in different plans [9]. In contrast, search-based methods produce deterministic solutions, however, they may incur redundant computation due to their iterative searches [10].

I-B4 Vision

An accurate odometry source is of vital importance to robot movements and velocity tracking. As a benchmark study reveals, VINS-Mono, a monocular VIO algorithm, with loop-closure detection offers decent accuracy and robustness and so does OKVIS, a stereo algorithm [11, 12]. Besides, there are also mature back-end mapping solutions to collaborate with the front-end VIO, e.g. ORB-SLAM2 which introduces a lightweight framework and RTAB-Map that uses OctoMap to achieve good memory management [13, 14, 15].

For walking tasks on legged robots, there has been research on utilizing the contact between the feet and the static environment to optimize for odometry [16]. However, since in our case the feet are always in contact with the Hovershoes and the motion is relatively smooth, some standard robust VIO and SLAM solutions are sufficient for our scenario [17].

I-C Contribution

The contributions of our work thus are:

I-C1 Dynamics

We developed a dynamical model of the integrated Cassie-Hovershoes system for numerical validation.

I-C2 Controls

We designed a control strategy for bipedal robots to robustly balance on independently mobile and decoupled wheeled platforms.

I-C3 Autonomy

We developed a framework comprising of a vision system for odometry and obstacle detection, a path planner for online trajectory generation, and a control strategy for the Cassie bipedal robot to autonomously ride the Hovershoes and avoid obstacles.

I-C4 Real-world Experiments

We demonstrated the robustness of our controller for Cassie to robustly ride on Hovershoes subject to external perturbations on real-world terrain (flat and rough ground as well as stairs), track commanded translational and rotational velocities, perform turning maneuvers, and ride the Hovershoes in a wave pattern.

I-C5 Simplicity

We presented a solution that uses PD controllers designed assuming decoupled dynamics, an almost minimal sensor-suite for pose estimation and object detection, and kinematic planners to successfully solve the complex problem of making a bipedal robot autonomously ride a pair of Hovershoes.

I-D Organization

The rest of the paper is organized as follows. Section II presents the dynamical model of the Cassie-Hovershoes system. Section III describes our proposed controller design. Section IV presents the simulation results. The perception and planning are described in Section V. Section VI demonstrates experimental results with discussion. Section VII discusses shortcomings of our work. Finally, Section VIII summarizes the work and provides thoughts on future work.

Ii Dynamical Model of Cassie on Hovershoes

Having established the need for multi-modal locomotion, described the challenges, and outlined our solution, we now present a dynamical model of Cassie and Hovershoes that also captures the interaction between each other.

Ii-a Dynamical Model of Cassie

Cassie is a highly dynamic, under-actuated bipedal robot. Cassie has twenty DOFs as listed in (1):


where, and are the Cartesian coordinates of the pelvis and the Euler Angles in the Z-Y-X order, and , are the generalized coordinates of the left and right legs, respectively. These correspond to the DOFs for each leg and are defined in (2).


Fig. 2(a) shows the generalized coordinates of Cassie’s pelvis and right leg. The generalized coordinates of Cassie’s left leg are similar to the right leg states. Each of Cassie’s legs has seven DOFs with five of them being actuated: , , , , and . The corresponding motor torques are , , , , and . The other two DOFs, and , are passive, corresponding to stiff springs.

The dynamics of Cassie can then be expressed in the following Euler-Lagrange dynamics:



is the generalized coordinate vector as defined in (

1), is the mass matrix, contains the centripetal, Coriolis, and gravitation terms, is the motor torque matrix, is the motor torque vector of dimension corresponding to the actuators on the two legs, is the Jacobian for the spring torques, is the spring torque vector, is the Jacobian for the ground contact forces, and is the ground contact force vector.

Fig. 3: (a) Kinematic model of Cassie showing the robot’s generalized coordinates in the body frame. (b) Hovershoe model where and change the pitch and yaw of the Hovershoe in the X-Y-Z body frame, respectively.

Ii-B Dynamical Model of Hovershoes

The Hovershoes is a highly sensitive wheeled platform. It has an internal controller that regulates the pitch to zero when there is no external force. The internal parameters and states of the hovershoe are unknown. Here, we develop a closed-loop dynamical model of the Hovershoe. We consider , , , to be the pitch and yaw angles and torques in the body X-Y-Z frame, and , , to be the x, y position and scalar speed in the global X-Y frame. Our dynamical model then is,


Here, the parameters () correspond to the Hovershoe internal controller, and corresponds to the contact model between the Hovershoe and the ground. The same dynamics is used for the left and right Hovershoes.

The Hovershoe pitch dynamics is given by (4), where

is the moment of inertia of the Hovershoe about the y-axis,

is the coefficient for the stiffness term, is the coefficient for the damping term, and is the input torque from a rider’s toe about the y-axis. The “feedback” with and terms in this equation account for the Hovershoe’s internal stabilization controller that drives to zero when is zero.

The yaw dynamics of the Hovershoe is described by (5), where is the moment of inertia of the Hovershoe about the z-axis, is the coefficient for the ground contact damping term, and is the input torque from the rider’s toe about the z-axis. Here, we only have a term since there is no internal Hovershoe controller driving to zero when is zero. Figure 2(b) shows and on the Hovershoes.

The global translational dynamics of the Hovershoe are captured by (6)-(7), where is the speed of the Hovershoe. Finally, the acceleration dynamics of the Hovershoe is captured by (8) as a function of Hovershoe pitch angle.

Note that we did not conduct system identification to determine the parameters of the model. Since computing the tilt angle and applied torque on an accelerating Hovershoe was hard, we instead focused on capturing the structure of the Hovershoe model for use in our control design.

Ii-C Contact Model between Cassie and the Hovershoes

The Cassie robot interacts with the Hovershoes through feet contacts. The contact force is in (3) corresponding to the four contacts (front and back contact locations for either foot) with each having an x, y, and z components in the local Hovershoe frame, applied on Cassie.

The two torques and , with respect to y-axis and z-axis, respectively are computed as,


where, is the relative position of the contact locations with respect to each Hovershoe position, and i = {1,2} for left hovershoe and i = {3,4} for right hovershoe. The contact forces are themselves determined through a compliant ground model with stick-slip friction and are then used in in (3), while from (9) are used in (4)-(5).

Iii Control Design

Having presented the dynamical model of the Cassie with Hovershoes system in Section II, we now proceed to discuss our control strategy that will be implemented on Cassie in order to achieve our goal of driving the Hovershoes to desired locations or at desired speeds while Cassie still balances on them. It must be noted that we can neither directly measure the Hovershoes internal states nor can we directly command input torques on the Hovershoe. Our only means of interaction between the Cassie and Hovershoe are through the contact forces. Fig. 4 illustrates our autonomy framework detailing the interactions between the vision, planner, controller, and the Cassie with Hovershoes system.

Our proposed control strategy includes a Hovershoe X-Y controller, a velocity controller, and a turning controller, all integrated with a balancing controller. The X-Y controller regulates the relative position of each Hovershoe with respect to Cassie. The velocity controller tracks a desired translational velocity and the turning controller maintains a desired rotational velocity. The balancing controller incorporates the output of the three controllers and regulates the position of Cassie’s COM.

Fig. 4: Autonomy framework where is yaw rate of change estimated from VIO, is the estimated velocity from VIO, is the desired yaw rate of change given from the path planner, and is the desired velocity given from the path planner. The user provides a goal location as input.

Iii-a Hovershoe X-Y Controller

Each Hovershoe serves as a highly dynamic, moving platform for each foot of Cassie. A low-level controller that regulates the relative x-y position of each Hovershoe was designed for Cassie to keep the Hovershoes together. In the absence of this controller, the Hovershoes drift apart resulting in Cassie falling off of the moving Hovershoes.

The Hovershoe X-Y controller is also critical since it makes the system robust to variances that occur when the Hovershoes are initialized with a non-zero relative translation or orientation, any off-center placement of Cassie’s feet on the Hovershoes, and any dynamic variances between the Hovershoes.

The x-axis controller keeps the relative x-coordinate of the Hovershoes at zero in the local Cassie frame. If one of the Hovershoes is ahead of the other, then Cassie needs to bring one Hovershoe back and the other forward by pitching the Hovershoe accordingly with its toe (recall from (8) that increasing the pitch of the Hovershoe results in forward motion). This is accomplished through an inner-outer loop controller. The outer loop computes the desired difference in the pitch of either toe, see (10)-(11), while the inner loop computes the desired toe pitch torque to realize the toe pitch difference, see (12)-(13). Here and are the left foot x-position and toe pitch angles respectively. A similar notation is used for the right leg. The computed toe pitch torque gets added to the left and subtracted from the right toe torques that will be specified by the nominal balancing controller.


The y-axis controller is designed to keep the y-coordinate of the left and right toe at and , respectively. Due to the Hovershoes’ nonholonomic constraint, the Hovershoe can not move sideways directly along the y-axis. The y-coordinate can only be changed when the Hovershoes yaw and move forward, so that the legs can come closer or move apart depending on the yaw angle of each Hovershoe. The y-axis controller has an inner-outer loop as well. The outer loop determines each hip’s desired yaw angle through the difference between each toe’s y-coordinate and desired , see (14)-(15). The hip yaw is used since the toe does not have an individual motor for toe yaw. In the inner loop, the desired hip yaw angle is converted into hip yaw motor torque, see (16).


In the above equations, refers to addition to one leg and subtraction for the other. To achieve a wave pattern with the Hovershoes, we can specify a time-varying .

Iii-B Velocity Controller

Once Cassie can balance on the Hovershoes and maintain a relative position between the Hovershoes while they are moving, we can then design higher-level controllers for Cassie to perform speed regulation and turning maneuvers. These high-level controllers are required for interfacing with the path planner in the autonomous system.

The velocity controller maintains the velocity of Cassie on the Hovershoes at a specified set point given either by an operator or by the path planner. Velocity control is accomplished through regulating the -COM position of Cassie, where the desired -COM position is proportional to the error in velocity:


Here, is the actual velocity of Cassie computed from our vision system.

Iii-C Turning Controller

The turning controller maintains a desired yaw rate for Cassie’s pelvis that is specified either by an operator or by the path planner. For the two Hovershoes to turn along a curve, the Hovershoes not only need to constantly yaw but the outer Hovershoe needs to go faster than the inner Hovershoe. Furthermore, for fast turns, Cassie will also need to bank by leaning into the turn. Leaning into a turn ensures Cassie remains balanced on the Hovershoes during fast turning maneuvers and does not tip over. This is accomplished by a three-part controller. The Hovershoes are turned by yawing Cassie’s hips proportional to the yaw rate error, see (18)-(19). The outer Hovershoe is made to go faster than the inner Hovershoe by differentially actuating Cassie’s toes, see (20) where the computed toe difference torque will be added to one toe and subtracted from the other in the balancing controller. Finally, Cassie is made to lean into the turn by changing the desired COM position along the y-axis when there is a large angular and/or tangential velocity, see (21)-(22). Note that is the distance of Cassie’s COM to the Hovershoe platform plane.


Iii-D Integrating with a Nominal Balancing Controller

Our proposed controller is based on a nominal balancing controller for Cassie from [8]. The nominal balancing controller works by regulating the COM position error and the torso orientation. In order to move the COM along the x-axis, the controller modules the toe pitch torque. In order to move the COM along the y-axis, the controller changes the leg length difference between the left and right legs. We modify the nominal torque from the nominal balancing controller as follows:

Fig. 5: Simulation visualization with Cassie on the Hovershoes. This is a static balancing task demonstration.
Fig. 6: Simulation results for the Hovershoes (left column) and Cassie-Hovershoe system (right column) for (a,b) forward velocity tracking, (c,d) going around in a circle, and (e,f) following a wave pattern.

In particular, the hip yaw torque in (24) comprises of the yaw torque from the nominal balancing controller , as well as torques from the y-axis controller , and turning controller . The toe torque in (27) comprises of the nominal balancing controller toe torque as well as the toe pitch difference torque from the x-axis controller, the turning controller torque , and a damping controller that suppresses the oscillation of the toe pitch joint. As mentioned earlier, refers to a torque that is added to one leg and subtracted from the other.

Iv Simulation Results

In order to verify the proposed controller design presented in Section III on the dynamical model from Section II, we ran two numerical simulations. First, we considered two Hovershoes (without Cassie) and provided the controllers full state knowledge of the Hovershoes and allowed the controllers to directly actuate the Hovershoes. In the next simulation, we considered the Cassie-Hovershoe integrated system where the controller did not have access to the Hovershoe state and could only indirectly actuate the Hovershoes through Cassie. We discuss these simulation results in the following subsections. The simulations ran in MATLAB 2018a installed on a laptop (Intel Core i5, RAM 8GB).

Fig. 7: The left picture shows the real scene and the right demonstrates the segmented ground and obstacles.

Iv-a Hovershoe Simulation

We modeled each Hovershoe in Matlab with the dynamics specified in (4)-(8). In the simulation, we assumed perfect state knowledge of the Hovershoes, and the controllers would provide the input torques: and .

We verified the velocity controller by setting a desired velocity of and verifying the tracking as shown in Fig. 5(a). We verified the turning controller by setting a desired rotational velocity and ensuring the Hovershoes turned in a circle as shown in Fig. 5(c). Finally, we verified the wave pattern controller by setting the to a sinusoidal wave, resulting in Fig. 5(e).

Iv-B Cassie-Hovershoe System Simulation

We next simulated the Cassie-Hovershoe integrated system dynamics (3)-(8), with our designed controller. Fig. 5 shows the visualization of Cassie and the Hovershoes balancing in the simulation. We used the same set points as the previous Hovershoe simulation to test our velocity, turning, and wave pattern controller and obtained a similar performance, see Figs. 5(b), 5(d), and 5(f).

Fig. 8: Hardware infrastructure diagram for the autonomous Cassie system. The vision and path planning computer and the controller computer are onboard Cassie, while the monitoring computer is connected wirelessly and used to see signals and tune parameters.

V Perception and Planning

Having numerically validated our control strategy, we will next pave the path for experiments by presenting our perception and path planning strategies and also detailing the communication between perception, planning, and control.

V-a Perception

In order to modularize our set-up to be simple and easy to manage, and at the same time decrease the computational load, we opted for an integrated VIO sensor, the Intel RealSense T265, which is comprised of a pair of fish-eye lenses is combined with an on-board implementation and extension of an algorithm utilizing stereo VIO with loop-closure detection to produce reliable odometry [17]. Additionally, a rigidly attached depth camera, Intel RealSense D435i, was used for the obstacle mapping. The D435i camera processed and matched the stereo images using dedicated on-board hardware. By designing the vision set-up as above, we are able to incorporate the entire perception, planning, and control pipeline using the CPUs on Cassie, and avoid the need of power-hungry GPUs.

The transformation between the two cameras was known and published internally via ROS. The depth camera was slightly tilted towards the ground to cover more ground space near Cassie. The depth maps were converted to point clouds, which were then filtered and voxelized to a horizontal resolution of 5cm and vertical resolution of to reduce the memory usage and accelerate the computation. After transforming the point clouds to the base frame of the Hovershoes, a ground segmentation with a tuned tolerance to noise was applied to remove the ground plane and register the obstacles onto an global occupancy map. Fig. 7 shows an example of our segmentation. The map registration was achieved by using the RTAB-Map ROS package, but the built-in appearance-based loop closure detector was turned off. In order to increase the refresh rate for the local costmap, the segmented 3-D obstacles were further converted and merged to a pseudo-laser scan to decrease the data rate. Based on the above perception infrastructure, we next detail how we can achieve real-time planning in order to circumvent obstacles.

V-B Motion Planning

To create real-time motion plans for the Cassie Hovershoe system, we require the planner to be reliable and kinematically feasible. For the global planner, we employed a search-based method, Dijkstra’s algorithm, for its guarantee of a solution. The costmap decay rate was tuned to confine the Dijkstra’s behavior to follow a path that stays in the middle of two potentially incoming obstacles.

For the local planner, the optimization-based Timed Elastic Band (TEB) planner was applied on top of the Dijkstra’s algorithm as the TEB planner looks ahead of the current position and generates a short-term, kinematically feasible path for Cassie. In order to emulate the forward non-holonomic property of the Hovershoes, customized car-like optimization weights were used to encourage forward motion. The optimization process was adjusted to adapt the computing power of Cassie and the resulting planner frequency could reach up to slightly less than 50Hz. However, 10Hz proved to be sufficient for Cassie to autonomously navigate through a narrow corridor with obstacles.

V-C Communication between Perception, Planning & Control

Fig. 8 shows a diagram of the communication setup and hardware infrastructure. Please note that the router can be replaced with a Wi-Fi hotspot. In addition, between the real-time controller and vision system, we use the UDP to communicate to each other. Finally, the vision and path planning have a separate computer other than the controller because only the controller requires a real-time computer. We use a gantry during experiments for safety purposes only.

Fig. 9: Cassie riding the Hovershoes on (a) different heights, (b) rough terrain, (c) up a incline, and (d) down a incline.
Fig. 10: Cassie robustly descending three stairs with heights of the wheel radius respectively.
Fig. 11: Top: velocity response to three successive step inputs; Bottom: yaw rate of change response to two successive step inputs.

Vi Experimental Results

After developing our control strategy, path planning algorithm, and perception system, we now present the results of our autonomous framework. First, we demonstrate the robustness of our controller. Then, we show the performance of our velocity and turning maneuver. Last, we demonstrate that Cassie successfully navigating an obstacle course autonomously while riding the Hovershoes. Experimental videos are at

Vi-a Robustness

Once Cassie could balance and perform the tasks in simulation, we transferred the controller to Cassie and checked the robustness of the controller subject to disturbances that could cause Cassie to fall. Robustness was checked by kicking the Hovershoes and pushing Cassie’s pelvis and tarsus while it was riding the Hovershoes. In addition, Cassie successfully traversed over rough terrain with cracks and bumps, as well as riding on up and down slopes with and inclines respectively, and riding with Hovershoes at different heights (see Fig. 9). A challenge task was to go down a variety of steps. Cassie successfully went down single stairs that were and of the Hovershoe wheel radius and a sequence of three stairs that were , , of the Hovershoe wheel radius, respectively. As can be seen in Fig. 10, Cassie remains balanced and the Hovershoes remain level after descending each step.

Vi-B Vision-based Velocity Tracking

We tested the performance of our vision-based velocity controller by providing a step input change in desired velocity. We found that it can track a desired velocity with a small steady-state error. As can be see in Fig. 11, the desired velocity step inputs of , , and , were tracked with small steady-state errors with the root mean square error (RMSE) being .

Vi-C Fast Turning

A similar step input for turning yaw rotational velocity of and produced the response shown in Fig. 11. Clearly, the tracking is not perfect and has a steady-state tracking error with RMSE is about . This can be improved with better choice of gains or incorporating an integral feedback. Furthermore, Fig. 12 shows Cassie performing a high-speed turn. It is clear from the center graphic of Fig. 12 that Cassie successfully leans into the turn by shifting its COM position along the y-axis in order to prevent from tipping over during the turn.

Vi-D Wave Pattern with Feet for Obstacle Avoidance

Certain obstacles are short enough where Cassie does not need to circumnavigate them in order to avoid collision. With the Hovershoes, Cassie can split around the obstacle using the wave pattern controller. Fig. 13 shows that Cassie successfully avoids an obstacle by doing a wave pattern maneuver with its feet. The decision making of splitting its feet was made by a human operator.

Vi-E Obstacle Avoidance

Finally, combining our controllers with the computer vision obstacle detection system and path planner, we achieved autonomous locomotion through an obstacle course. The leftmost graphic of Fig. 

14 shows the obstacle course and the rest show Cassie autonomously navigating through the obstacle course.

Fig. 12: Cassie executing a fast turn by leaning, with the lean angle directly dependent on the forward and rotational velocities.
Fig. 13: Cassie showing wave pattern with feet task by avoiding an obstacle without going around it. For certain obstacles, Cassie can stay on a straight trajectory while still missing the obstacle.

Vii Shortcomings of our Proposed Work

Our proposed method is the simplest control and autonomy package for achieving the task of riding Hovershoes. In particular, our controller decouples the system dynamics into several simple sub-components, our planner only considers a kinematical model of the system, and our vision system only uses the stereo camera and IMU without using the additional sensors on the robot. By considering a fully coupled dynamical system and incorporating the dynamics into the planner and taking all available sensing into account, we can further improve our state estimation, controller and planner performance significantly. Finally, our proposed solution assumes Cassie is somehow initialized on the Hovershoes, which is currently done manually and does not truly offer multi-modal locomotion capabilities yet.

Viii Conclusions

In this paper, we have presented a framework for autonomous locomotion of a Cassie bipedal robot over Hovershoes. Our developed framework enables the Cassie bipedal robot to interact with the Hovershoes to balance, regulate forward and rotational velocity, achieve fast turns, and move over flat terrain, slopes, stairs, and rough outdoor terrain, as well as autonomously navigate an obstacle course.

The future work will focus on combining Cassie walking to achieve multi-modal locomotion. Currently human operators are needed to initialize Cassie on the Hovershoes. We would like to develop a method for Cassie to step up on the Hovershoes without the need of operators.

Fig. 14: Cassie performing obstacle avoidance. The leftmost figure is a picture of the obstacle course. The rest of the pictures are sequential snapshots of the path planner and 3-D map while the robot is autonomously navigating through the course.


  • [1] Hashimoto, Kenji, et al. “Realization by biped leg-wheeled robot of biped walking and wheel-driven locomotion.” Proceedings of the 2005 IEEE Int. Conf. on Robotics and Automation, 2005.
  • [2] Waharte, Sonia, and Niki Trigoni. “Supporting search and rescue operations with UAVs.” 2010 International Conference on Emerging Security Technologies. IEEE, 2010.
  • [3] Lim, Jeongsoo, et al. “Robot system of DRCHUBO+ and control strategy of team KAIST in DARPA robotics challenge finals.” Journal of Field Robotics 34.4 (2017): 802-829.
  • [4] Handle: Mobile Box Handling Robots for Logistics. Accessed: 2019-06-06.
  • [5] Bjelonic, Marko, et al. “Keep rollin’whole-body motion control and planning for wheeled quadrupedal robots.” IEEE Robotics and Automation Letters 4.2 (2019): 2116-2123.
  • [6] Nagarajan, Umashankar, and Katsu Yamane. “Balancing in Dynamic, Unstable Environments Without Direct Feedback of Environment Information.” IEEE Transactions on Robotics 30.5 (2014): 1234-1241.
  • [7] Kimura, Kohei, et al. “Riding and Speed Governing for Parallel Two-Wheeled Scooter Based on Sequential Online Learning Control by Humanoid Robot.” Int. Conf. on Intelligent Robots and Systems, 2018.
  • [8] Gong, Yukai, et al. “Feedback Control of a Cassie Bipedal Robot: Walking, Standing, and Riding a Segway.” 2019 Annual American Control Conference (ACC). IEEE, 2019.
  • [9] Karaman, Sertac, and Emilio Frazzoli. “Sampling-based algorithms for optimal motion planning.” The Int. J. of Robotics Research 30.7 (2011): 846-894.
  • [10] Dijkstra, Edsger W. “A note on two problems in connexion with graphs.” Numerische mathematik 1.1 (1959): 269-271.
  • [11] Delmerico, Jeffrey, and Davide Scaramuzza. “A benchmark comparison of monocular visual-inertial odometry algorithms for flying robots.” IEEE Int. Conf. on Robotics and Automation, 2018.
  • [12] Qin, Tong, Peiliang Li, and Shaojie Shen. “Vins-mono: A robust and versatile monocular visual-inertial state estimator.” IEEE Trans. on Robotics 34.4 (2018): 1004-1020.
  • [13] Mur-Artal, Raul, and Juan D. Tardós. ”Orb-slam2: An open-source slam system for monocular, stereo, and rgb-d cameras.” IEEE Transactions on Robotics 33.5 (2017): 1255-1262.
  • [14] Labbé, Mathieu, and François Michaud. “RTAB‐Map as an open‐source lidar and visual simultaneous localization and mapping library for large‐scale and long‐term online operation.” Journal of Field Robotics 36.2 (2019): 416-446.
  • [15] Hornung, Armin, et al. “OctoMap: An efficient probabilistic 3D mapping framework based on octrees.” Autonomous robots 34.3 (2013): 189-206.
  • [16] Hartley, Ross, et al. “Legged robot state-estimation through combined forward kinematic and preintegrated contact factors.” IEEE Int. Conf. on Robotics and Automation, 2018.
  • [17] Jones, Eagle S., and Stefano Soatto. “Visual-inertial navigation, mapping and localization: A scalable real-time causal approach.” The Int. J. of Robotics Research 30.4 (2011): 407-430.