Optimized Kalman Filter based State Estimation and Height Control in Hopping Robots
Abstract
Rotor-based hopping locomotion significantly improves efficiency and operation time as compared to purely flying systems; where most hopping robots use the liftoff states and an assumed ballistic trajectory to determine the hopping height. However, significant aerial phase force (e.g., thrust and drag) can invalidate this assumption and lead to poor estimation performance. To combat this issue, a group has implemented multiple sensors (active and passive optical, inertial, and contact) and significant computational power to achieve full state estimation. This, however, poses a significant challenge to the development of light-weight, high-performance, low observable, jamming and electronic interference resistant hopping systems; especially in perceptually degraded environments (e.g., dust, smoke). Here we show a training procedure for a coupled hopping phase and Kalman filter-based vertical state estimator, requiring only inertial measurements, which is able to learn the characteristics of the target system, sensors, locomotion behaviors, environment, and acceleration measurement aliasing conditions. The resulting estimator, given hop heights up to 4 m and velocities up to m/s, achieves a mean absolute percent error in the hop apex height of 12.5% with an aerial trajectory average normalized mean absolute error in position and velocity of 19% and 16.5%, respectively; while operating at 840 Hz, on a dual-core 240 MHz processor, with a total robot mass of 672 g. Due to the low mass and computational power, the presented estimator could also be used as a degraded operational mode in cases of sensor damage, malfunction, or occlusion in more complex robots.
Index Terms:
Hopping, Jumping, Robot, Control, State Estimation, Kalman FilterI Introduction
Hopping robots combine the agility of aerial systems with the efficiency of terrestrial systems [1, 2, 3]; where the focus has been placed on predicting the vertical states for control, from the liftoff characteristics [4, 5]. However, this method is not applicable to the recent generation of rotor-based hopping robots that may not follow strictly ballistic trajectories in the aerial phase [1, 6, 3, 7, 2]. Therefore, a new method for continuous state estimation is necessary. This is particularly challenging in light-weight hopping robots, without the payload for significant increases in sensors, processing, and power; furthermore high-performance hopping robots, where aliasing of sensors measurements can be significant, especially during the impacts associated with hopping. The challenge is further compounded in perceptually degraded environments (e.g., dust, smoke, darkness), in contested environments in which active jamming may be present, and where sensing modalities that radiate energy into the environment may lead to detection and destruction. Currently, robot rotational state estimation can be achieved through inertial measurement units (IMUs), and translational state estimation can be achieved through GPS and combined optical flow and range finder senors; however, range finder sensors radiate energy into the environment for sensing, and can have difficultly operating in perceptually degraded environments. As IMUs are ubiquitous in robots and small in size, this work seeks to develop an IMU-based vertical state estimation methodology for hopping height control that could be extended to horizontal states in the future; fully replacing the optical flow sensor for operation in highly perceptually degraded environments.
To date numerous non-continuous jumping and hopping robots have been developed including miniature jumping robots [8, 9, 10, 11, 12, 13, 14], high specific energy robots [15, 16], soft jumping robots [17, 18], multimodal robots [19], with wings for gliding [20, 21, 22, 23, 24, 25, 26, 27, 28], and inertial tails or reaction wheels for orientation control [29, 30, 31, 32, 33]. These robots have also used a wide variety of hopping leg designs including: linkage [34, 35, 36, 37], and linear [38, 39, 40, 41] legs. These robots represent a highly diverse range of characteristics and constraints. However, given the minimal impact of an IMU integration, the addition of the proposed method is highly feasible for any system.
Currently, five untethered continuous hopping robots exist: MultiMo-MHR (our system) [1], PogoDrone [6], Hopcopter [2], Salto/Salto-1P [42, 43, 36, 44, 30, 31, 32, 33], and PogoX [3, 7] and one tethered continuous insect-scale hopping robot [45]. While PogoDrone and the insect-scale hopping robot shows no form of state estimation, both the Hopcopter and Salto robots use the estimated or measured liftoff states and an assumed ballistic aerial trajectory to estimate the hopping height. However, the ballistic trajectory assumption invalids this technique for robots with applied aerial phase forces. PogoX (robot mass = 3.65 kg) displays the most thorough state estimation to date, using an extended Kalman filter, moving horizon estimation, and visual inertial odometry, requiring multiple sensors, advanced computational hardware, large weight budget, and direct measurement of both vertical position and acceleration to estimate vertical velocity; thus posing a challenge to broad applicability. This work seeks to estimate both position and velocity using only direct acceleration measurements allowing for a broader integration across platforms while also being used in a degraded operational mode when primary sensors are damaged or malfunction in more complex systems; such as PogoX.
This paper is organized as follows. Section 1 introduces the topic, and Section 2 briefly covers the robot design with focus on the changes from previous work [1]. Section 3 discusses the hopping phase estimator, and Section 4 presents the hopping state estimator with associated training procedure and results. Section 5 explores the effects of the sensing frequency on measurement aliasing and ultimately state estimation. Section 6 presents the experiential procedure and results of the deployed state estimation technique on the MultiMo-MHR, and Section 7 summarizes the work.
II Robot Design
The MultiMo-MHR, developed in previous work [1], is a monopedal hopping robot that utilizes rotors for orientation control and energy input (Fig. 1a, Appendix Robot Parameters). The robot consists of two bodies where a single unactuated prismatic joint, with the motion-axis aligned to the leg-axis, connects the body to the leg. At touchdown the body’s momentum causes it to move down the leg, extending the main power springs. The springs consist of multiple rubber bands that are able to store a maximum usable locomotion energy of approximately 34 J resulting in a maximum hopping height of over 5 meters; where additional bands can increase the height.
The MultiMo-MHR uses an on-board microcontroller (ESP32-WROOM-32, two Tensilica Xtensa LX6 cores at 240MHz) for real-time control (Fig. 1a). Given the significant difference in the accelerations experienced during ground contact and the aerial phases, the platform has two inertial measurement units (IMUs), including a low-g (MPU-6050: g, 2000 deg/s, 1000 Hz) and high-g (H3LIS331DL: g, 1000Hz), ensuring accurate measurements tailored to the varying magnitudes of forces encountered; where the static measurement noises are (MPU-6050) and (H3LIS331DL). A data logger (Sparkfun OpenLog) is used to store both the sensor data and calculated values during operation. The robot is powered by a 14.7v battery pack (two 7.4v, 2s, 2200 mAh, 35C batteries in series) to provide sufficient power to the four electronic speed controllers (ESC, 20 Amp) and motors (SpeedyBee 1404 4500 kv). Finally, a radio frequency transceiver (nRF24L01) receives data from an external PC which is used to simulate additional sensors, via a motion capture system (Vicon vantage V5), while focusing on hopping height control (e.g. PMW3901 Optical Flow Sensor [horizontal positions] and WT901 [orientation]).
The previously developed controller, composed of the horizontal [X,Y], orientation [roll,pitch,yaw], and locomotion energy (LE) input [Z or height] control, is augmented with a vertical state estimator and a new LE input controller for hopping height control (Fig. 2). Due to the highly damped nature of the vertical states, a proportional controller is used for the LE input control. The P-controller output is mapped to a thrust-to-weight ratio (TWR) of between 0% and 83.7% (i.e., 100% equates to the same thrust required for hover); where the minimum motor command is set to 5% duty-cycle to increase the motor’s responsiveness while producing almost no thrust. The controller operates as a sliding mode control at ranges greater than 0.33 m from the desired height.
III Hopping Phase Estimator (HPE)
A hopping phase estimator (HPE) is developed (Fig. 3) where the operational phases (green), phase transition criteria (red), and transitions (blue) are shown. The HPE determines the drop, stance down, stance up, and rebound phases through identification of the four transitions; touchdown (TD), maximum squat (MS), liftoff (LO), and hop apex (HA). Previous work in hopping robots has indicated the TD and LO transitions can be determined from the states [4], with two specific methods including leg motion through the use of a leg encoder [42, 30, 31, 32, 33] and ground contact through a force sensor on the foot [3, 7]. However, both methods require an additional sensor with complex mounting requirements beyond the typical 9-axis inertial measurement unit (IMU) required for aerial phase control. Instead, inspired by work in inertial pedestrian navigation or pedestrian dead-reckoning [46, 47, 48, 49], multiple acceleration measurements (IMU) are used to calculate the slope (jerk) and a set positive threshold determines TD. This same measurement is then used to determine MS as the point at which the jerk becomes negative. LO is determined by a single filtered acceleration measurement that is less than zero; indicating gravity is the dominant acceleration. Finally, previous works have predicted the HA from measured liftoff states and an assumed ballistic trajectory. However, as hopping height increases so to will drag, resulting in increased deviation from gravity-based ballistic motion. Furthermore, rotor-based hopping robots can significantly alter their aerial trajectory from that of ballistic motion; due to thrust produced in the aerial phase. While range finding sensors can directly measure the height and thus the HA, they significantly increase the observability of the system, provide and opening for external interference, and increased height can degrade the measurement. As proprioceptive sensors are unable to directly or indirectly detect it, the transition criteria for the HA requires an accurate estimation of the vertical velocity.
Filter | Filter Equations | Filter Parameters | IMUPTs | Errors |
Type | (Phase/Transition) | (998 hops) | ||
KF - Prediction | ||||
KF1 | Position (TD, LO) Velocity (MS, LO) | |||
KF - Meas. Update | ||||
KF2 | Position (TD, LO) Velocity (MS, LO) Accel. Bias (Aerial Phases) | |||
ESKF - Nominal State Prediction | ||||
ESKF1 | ESKF - Prediction | Position (TD, LO) Velocity (MS) | ||
ESKF - Meas. Update | ||||
ESKF2 | Position (TD, LO) Velocity (MS) Accel. Bias (Aerial Phases) |
-
•
Parameters: state transition matrix, , control matrix, , estimated covariance, , process noise covariance, , observation matrix, , measurement noise covariance, , Kalman gain, , input, , and measurements, . Abbreviations and descriptions: Measurement (Meas.), Acceleration (Accel.), Kalman Filter (KF), Error State Kalman Filter (ESKF), true state ().
IV State Estimation Methodology
Two common approaches involve a Kalman filter (KF) with states () or an error state Kalman filter (ESKF) with error states () and nominal states (); where, the subscript is the time step, is the position, is the velocity, is attitude, is the accelerometer bias, is the gyroscope bias, and indicates the error between the true and estimated states. The inertial measurement unit (IMU) and accelerometer provide both the linear acceleration and rotational velocity as,
(1) | ||||
(2) |
where, is the true acceleration, is the accelerometer noise, is the accelerometer aliasing, is the true rotational rate, and is the gyroscope noise. As with [50], neglecting the Coriolis forces and curvature of the earth, the state transition equations are as follows,
(3) | |||
(4) | |||
(5) | |||
(6) | |||
(7) |
where, the superscript indicates the world frame, is the rotation matrix from the body to the world frame, is the first-order Taylor expansion of Rodrigues’ rotation formula, is the measured acceleration in the IMU frame, is the measured rotation rate in the IMU frame, the subscript indicates the cross-product operator matrix for the bias compensated angular rate measurement, and is the gravity vector.
Developing a KF from the state transition equations 3-7, shows that measurement updates impact only the measured state and its time integrals and derivatives; thereby allowing for extraction and independent development of the KF for the vertical states. Extending this to an ESKF, it does show a small amount of coupling between non-integral and non-derivative states, due to the attitude error impacting the velocity error [47]. However, assuming small attitude errors and therefore limited coupling, this isolation and development can be applied to both KFs and ESKFs. This allows for a focused study on managing significant and variable aliasing in acceleration measurements (MultiMo-MHR: Nyquist frequency 420 Hz). The challenge is further compounded by the fact that the most significant aliasing occurs at the regions of maximum energy transfer during TD and LO; as seen in the previously developed model (Fig. 1b) and experimental testing [1].
IV-A Hopping Vertical State Estimator (HVSE)
Differing from [6, 2], with thrust-to-weight ratios (TWRs) 1, the MultiMo-MHR operates with a maximum TWR limited to 83.7%. Operating at TWR 1 poses an additional challenge as the true drop phase transition is determined by the dynamic behavior and not the controller; where an early estimated drop phase transition reduces the maximum performance while a late drop phase transition reduces hopping efficiency. Vertical state estimation at a TWR of 90% has been shown, however, the work required both position and acceleration to estimate vertical velocity [3, 7].
Previous studies in pedestrian tracking employing Kalman Filters (KF) to estimate both position and velocity, have shown that assuming zero velocity of the foot during ground contact can allow for inferred velocity measurements, termed zero-velocity updates (ZUPTs), which can significantly reduce drift in the state estimation [49, 46]. Further studies have added zero-altitude updates [47] to reduce the drift in the vertical axis as well. Expanding on the concept for vertical state estimation in high-performance hopping robots, three of the four phase transitions including touchdown (TD), max squat (MS), and liftoff (LO) as well as the motor drive commands allow for inferred-measurements updates (IMUPTs) including:
- IMUPT-position (TD,LO)
-
at TD and LO where the vertical position is inferred from the known distance between the robot’s center-of-mass and the foot () without spring extension.
- IMUPT-velocity (MS)
-
at MS where the vertical velocity is inferred from the body’s change in direction.
- IMUPT-velocity (LO)
-
at LO where the vertical velocity is inferred from an understanding of the system losses, momentum transfer, and inherent acceleration aliasing at liftoff. The scaling factor ; where, liftoff velocity estimate, , and preset commanded height for the subsequent hop, , determine the velocity adjustment (Fig. 7b.1 2.06% mark). The , and are the and fit coefficients respectively, and account for estimation errors during the stance and subsequent rebound phases.
- IMUPT-acceleration (Aerial Phases)
-
during the aerial phase where the acceleration is inferred from the total commanded motor thrust, ; where are the fit coefficients to convert from duty-cycle to thrust, are the commanded motor duty-cycles, is the overall robot mass.
where, Appendix Robot Parameters shows the variables.
Based on the identified IMUPTs, two Kalman filters (KF1, KF2) and two error state Kalman filters (ESKF1, ESKF2) are developed (Table I). The vertical acceleration input is composed of the world frame acceleration measurement . These filters required both a process and measure noise covariance matrix containing up to four additional parameters including the standard deviation of the acceleration (), position (), velocity (), and bias () measurements. Additional adaptability is included in the state estimation, by first low pass filtering the accelerometer measurements resulting in two cutoff frequency parameters, and , for the HVSE and HPE, respectively. Finally, as two accelerometers are used, the switching g-force parameter, , is included to determine at which point to switch from the low-g to high-g accelerometer measurements. The total Kalman filter parameters are presented in Table II; highlighting the challenge to hand tuning these filters.
IV-B HPE and HVSE Training
Initial experimental trials (n=998 hops using the true state for control) were conducted at hopping heights between 1 and 4 meters; where the acceleration readings from both the low-g and high-g accelerometers were captured (robot approx. 840 Hz) along with the true state data from a motion capture system (Vicon Vantage, 600 Hz). Implementing in simulation (MATLAB) a particular HPE and HVSE on the captured experimental data, allows for an exact recreation of what the robot would experience and the associated state estimation, without the risks and time associated with testing on the real robot. Therefore, assuming the initial experiments span the complete range of desired robot operational characteristics, this allows for a complete understanding of the HVSE error including all environmental (e.g. wind, substrate properties), locomotion (e.g., hopping heights, traveling speeds), control (e.g., controller driven behaviors), and sensor (e.g., noise, positioning) characteristics.
The ability to capture large amounts of experimental data and exactly simulate the HVSE errors, suggests that the Kalman filter parameters can be learned from the data. Therefore, due to the challenging parameter space with significant local minima, a genetic algorithm was developed to optimize the HPE and HVSE parameters listed in Table II. To control the hopping height of the robot, the most important parameter is the hop apex height, . Therefore, the cost function () is set as the mean-absolute-percentage-error (MAPE, ) in the apex height as,
(8) | |||
(9) | |||
(10) |
where, the ground true values [] of the hop apex height, , vertical position, , and vertical velocity, , are as shown respectively. The RMSE in both vertical position, , and velocity, , are used to maintain a gradient in the event that the estimation does not capture the correct number of hops. The number of estimated hop apexes, , the true hop apexes, , vertical heights, , and vertical velocities, , are represented accordingly. Finally, the weights are as follows, .
The genetic algorithm is initialized as follows: individuals = 15 parameters (Table II), initial population = 1000 randomly generated individuals, maximum generations = 20, elites carried over to the subsequent generation = 5%, crossover fraction = 80%, and the mutation fraction = 15%. Stochastic universal sampling is used to select two parents and the children are created through a uniform scattering crossover; where each optimization parameter is given a random one (parent-1) or zero (parent-2), determining which parent provides the parameter for the child. Finally, a constraint-aware adaptive mutation algorithm is used that creates the child as follows, ; where the direction vector, , is a random vector in which each component is drawn from a normal distribution . The is the current generation number, and is the initial step size that can be reduced if the constrains are violated. Finally, as stated previously, learning the parameters requires that the training data covers all desired robot operational characteristics. However, initial testing has shown that a much more limited set of data than that collected sufficiently well cover the operating range allowing for more efficient optimization on a reduced set containing 111 hops spread across the [1,2,3,4] m hop trials. This results in a reduction from multiple days per optimization cycle, to approximately 5 hours of parallel processing across eight cores; where code optimization could improve this further.
Parm. | Description | Opt. Value | Bounds | Units |
---|---|---|---|---|
Cutoff Freq. (HVSE) | 7 | [400,5] | Hz | |
Cutoff Freq. (HPE) | 8 | [400,5] | Hz | |
Accel. Switching g-force | 14.24 | [14.5,12] | g-force | |
Accel. Meas. STD | 9.9857 | [10,0.0001] | m/s2 | |
Accel. Bias Meas. STD | NA | [10,0.0001] | m/s2 | |
Velocity Meas. STD | 9.5722 | [10,0.0001] | m/s | |
Position Meas. STD | 0.0091 | [10,0.0001] | m | |
Fit Constant Coef. vel2 | -1.1246 | [10,-10] | ||
Fit Constant Coef. vel1 | 5.9203 | [10,-10] | ||
Fit Constant Coef. vel0 | 6.7054 | [10,-10] | ||
Fit Constant Coef. ch1 | 6.2138 | [10,-10] | ||
Fit Constant Coef. ch0 | 8.4355 | [10,-10] | ||
Fit Constant Coef. | NA | [10,-10] | ||
Fit Constant Coef. | NA | [10,-10] |
-
•
Abbreviations: Measurement (Meas.), Acceleration (Accel.), standard deviation (STD), coefficient (Coef.).
IV-C Training Results
Optimizing across the four filters (KF1, KF2, ESKF1, ESKF2) for the MAPE in the apex height () results in KF1 with the lowest error parameters (Table I Error column). The addition of the accelerometer bias measurement (IMUPT-Accel. Bias (Aerial Phase)) to KF2 results in increased errors. This suggests that the measurement adds more uncertainty than useful information; likely due to the delay between motor command and thrust production. Shifting to ESKF1 and ESKF2, IMUPT-Velocity(LO) was removed because of an observed instability suggesting that the short-term significant change in the error, cause by the aliasing at TD and LO, is not well managed by the ESKF.
Selecting KF1, the optimized parameter values can be seen in Table II, which result in a MAPE in the apex height of 10.77% (n=998 hops) over the complete set of training data. Analyzing the optimized values in more detail, we can further understand the system’s characteristics. First, the cutoff frequencies for both the HVSE and HPE show a trend towards low values, causing significant phase lag and smoothing of the acceleration measurements. This suggests a preference towards removing the inherently arbitrary aliasing of the acceleration measurements over phase accuracy for both the HVSE and HPE; where the colored dots in Fig. 8 show the HPE’s transitions during the subsequent experimental trials. Second, the liftoff velocity and commanded height show a correlation with the HVSE error as the exponential coefficients (, , ) are not equal to zero. Third, as expected, the smoothing does show an increase in the average error as evident by the non-unity constant coefficient values (, ). Finally, arbitrary initialization of the estimated covariance matrix, , yielded poor initial state estimations at the first TD. Therefore, to improve the initial state estimation and accelerate convergence of the KF, the is initialized to an average after convergence; yielding a much closer estimation of the real value for the first TD (MultiMo-MHR: initial ).
Figure 4 shows the sensitivity of the optimized parameters to variation, where the cutoff frequencies (, ) and the switching g-force parameter () are the most sensitive; resulting in larger percent changes to the cost function than the percent change to the parameter. Furthermore, the significant change caused by increasing the , suggests that the low-g accelerometer’s noise characteristics change abruptly as its limits are approached, and that the optimization methodology can learn the sensor characteristic from the data.
As can be seen in [47], zeroing altitude (IMUPT-position) removes drift but also the ability to track absolute height in environments where the ground is not flat; resulting in an error relative to the previous contact surface of approximately 0.05 m per step. Absolute height can be recovered through summing the change in height of each stepping or hopping cycle prior to the zeroing. The change in the ground height between cycles can be calculated in two ways including,
(11) | ||||
(12) |
where the estimated height at the hop apex () and TD () are represented accordingly, and indicates the hop number. The difference between them () gives a measure of the drop height, and the difference between subsequent drop heights, provides a measure of the change in the ground height (). Second, the estimated TD height () provides a direct measure of the change in the ground height (). Taking the average of these two measures,
(13) |
yields an estimate of the change in the ground height for the subsequent hop or step (). Comparing the estimated ground height error of KF1 (Figure 5) to that of an untrained KF [47], shows that not only can drift be significantly reduced but that the absolute ground height can be accurately tracked. With an overall average ground height error of 0.018 m after 30 hops of up to 4 meters, the trained KF1 can achieve a 64% improvement on the single step error and significantly better than the sum over the same 30 steps. This is due to the optimization tending towards zero mean error with minimum standard deviation; resulting in a minimum error with an equal chance to be positive or negative for each hop.
V Sensing Frequency
The previously developed dynamic model in [1] can be used to understand the impact of the sensing frequency on the HVSE; which fundamentally controls the aliasing of the accelerometer measurements. Specifically, the state estimation error boundedness and growth as a function of the limiting frequency; that being sensor read speeds or state estimation frequency. To explore the estimation error behavior, the measurement and estimation frequencies are varied over 12 values including [3360, 1680, 840, 700, 600, 500, 400, 300, 200, 100, 50, 10] Hz; where the MultiMo-MHR’s HVSE is optimized to, and operates at, 840 Hz. The simulation (MATLAB) results are shown in Fig. 6 with a control frequency of 400Hz, commanded height, , of 3 m, and the robot parameters in Appendix Robot Parameters. The results are shown for simulations both with and without sensor noise, and the controller is using the true state data, at the measurement frequency, as reference for control. The simulation without sensor noise (mean (w/o Noise)) can highlight effects of aliasing alone while the simulation with noise (mean and STD. (w/ Noise)) can provide an understanding of the true error growth characteristics.
As can be seen in Fig. 6a,b, frequencies from 10 to 100 Hz show an unbounded state estimation error with significant growth rate in the standard deviation as indicated by the large monotonic increase over time (Fig. 6a,b STD. (w/ Noise)); at 7 seconds both the 10 and 50 Hz trials are unable to sustain hopping and simply remain stationary on the ground. This unboundedness is similar to the drift associated with direct accelerometer integration (DAI) and therefore, provides no improvement in state estimation over DAI.
Frequencies from 200 to 400 Hz show a bound error characteristic in which the standard deviation in the error is not increasing monotonically (Fig. 6a,b STD. (w/ Noise)). However, both mean and standard deviation remain sufficiently large so as to cause variation in the subsequent hops (Fig. 6a,b mean and STD. (w/ Noise)).
Frequencies from 600 to 3360 Hz show both a bound mean error and a significant reduction in the standard deviation of the error, in both position and velocity, within each hop cycle (Fig. 6c,d mean and STD. (w/ Noise)); creating a deterministic starting point for the subsequent hop. Additionally, from Fig. 6c,d, we see both a low sensitivity to minor changes in frequency and diminishing returns as the frequency is increased. This suggests that the impact of accelerometer aliasing is saturating, and that the HVSE, trained at 840 Hz, is robust to frequency changes in the range of 600 to 3360 Hz. Interestingly, as seen in Fig. 6d, it is not required that the mean error in velocity be reduced; only that the standard deviation be reduced as the velocity scaling factor () accounts for mean errors in velocity.
VI Hopping Height Control Experiments
Hopping experiments were conducted with the MultiMo-MHR (Fig. 1a) at target heights of 1, 2, 3, and 4 m. Trials had two possible measurement inputs for vertical control; true state (GT, motion capture system, n = 70 hops) or the HVSE position and velocity (n = 121 hops). The HVSE is recorded in all scenarios to identify if the HVSE and vertical controller are decoupled and to evaluate the estimator performance.
The experimental procedure begins with zeroing of the accelerometers and motion capture system with the robot positioned vertically on the ground. The robot is then flown to the set initial height with a separate controller (only used in the startup procedure) before entering the first drop state, beginning the hop cycle and activating the hopping height controller. For a complete breakdown of the hop cycle and corresponding HPE and HVSE see Fig. 3; where, Fig. 1 and 7 provide a visual reference of the hop cycle and HVSE.
VI-A Results
Figure 8 shows the experimental results of the vertical position and velocity estimation using the HVSE. Table III compares the HVSE to other vertical position and velocity estimation techniques used in hopping robots across five error metrics (Appendix: Error Metrics) including: the mean of the normalized MAE in the vertical position (M1), the mean of the normalized MAE in the vertical velocity (M2), mean absolute percent error (MAPE) in the apex height (M3), mean absolute error (MAE) in the apex time (M4), and MAE in the desired apex height (M5). The table compares three vertical state estimation techniques to the HVSE. These include a Newtonian approach that assumes a ballistic aerial trajectory where the LO state is determined by a leg encoder (BA1) [4, 33, 2]. However, as rotor based hopping robots may not follow a ballistic trajectory, a natural extension is to dead-reckoning the accelerometer measurements (LO to TD) to improve the overall estimates (DR1). Finally, as shown in [49, 46, 47], a Kalman filter with a zero altitude update at TD can be employed to further improve the state estimation (KF3 = KF1 with only IMUPT-position(TD)). Four variations of the HVSE are shown including HVSE1, using the true state (GT) for control, and HVSE2, using the estimated state (SE) for control; where HVSE3 and HVSE4 only include the aerial phase errors. The controller for each technique can use either the true state (GT), focusing on the estimation characteristic, or the estimated state (SE), focusing on the overall hop height control performance.
Validating the simulation (Sim.) data, the experimental (Exp.) results show a similar reduction in both the error mean and standard deviation in position estimation at TD; as a result of the IMUPT-Position(TD) ((Sim.) Fig. 6c, (Exp.) Fig. 8a, a.1). The IMUPT-Velocity(MS) in both cases reduces the velocity mean error growth rate but with limited impact on the standard deviation ((Sim.) Fig. 6d, (Exp.) Fig. 8f). Finally, in both cases at LO (IMUPT-Position(LO), Velocity(LO)), a significant reduction in the velocity error’s mean and standard deviation is observed ((Sim.) Fig. 6d, (Exp.) Fig. 8g.1). The significant reductions in both the mean and standard deviations in the position and velocity errors creates a deterministic starting point for the subsequent hop cycle estimation; minimizing the error cause by the significant aliasing of the accelerometer measurements.
Table III highlights a number of key concepts. First, comparing the common hopping robot vertical state estimation technique (BA1) to its natural extension for rotor based hopping (DR1), suggests that the ballistic trajectory assumption may not be valid. Second, comparing DR1 to the Kalman filter based pedestrian navigation technique (KF3), suggests that a leg encoder can achieve similar results to that of a zeroing altitude condition at TD in a Kalman filter based approach. Third, comparing KF3 to the HVSE, suggests that a trained Kalman filter with the specified IMUPTs can improve the state estimation under significant aliasing conditions. Fourth, comparing HVSE1 to HVSE2 only shows a significant different in M5, suggesting that the controller and HVSE are independent; however, as expected M5 does show a significant difference, suggesting that the HVSE does introduce error beyond that caused by the controller itself. Fifth, comparing HVSE1 and HVSE2 to HVSE3 and HVSE4, suggests that the estimation of the stance phase states is more challenging; however, as the vast majority of the motion of the robot occurs in the aerial phase this will have a minimal overall impact. Sixth, from basic optics, the M1 metric is shown to be good approximation of the error in the horizontal state estimation, given that an optical flow sensor’s range finder (height measurement) is replaced with the HVSE (Appendix: Optical Flow Error). Seventh, given the MultiMo-MHR travels up to meters at velocities that range between m/s in 2.6 seconds coupled with the significant and stochastic nature of aliasing, a certain amount of error is inherent without further direct measurements of the states. Finally, using experimental data, a KF or ESKF can be trained to extract as much information as possible from a highly aliased signal, and be incorporated back into a full state KF or ESKF.
Metric | Est. | Meas. | 1-4m | Units | Statistics 333 |
(M1) Mean | BA1 | GT | 196.8 | % | t(138)=30.97, p=0.00 |
nMAE Traj | DR1 | GT | 44.05 | % | t(138)=5.62, p=0.00 |
Pos. | KF3 | GT | 60.45 | % | t(138)=7.49, p=0.00 |
HVSE1 | GT | 21.24 | % | t(189)=0.99, p=0.32 | |
HVSE2 | SE | 19.46 | % | Comparison | |
HVSE3† | GT | 20.21 | % | ||
HVSE4† | SE | 18.97 | % | ||
(M2) Mean | BA1 | GT | 179.9 | % | t(138)=24.15, p=0.00 |
nMAE Traj | DR1 | GT | 28.15 | % | t(138)=3.17, p=0.00 |
Velo. | KF3 | GT | 37.84 | % | t(138)=5.24, p=0.00 |
HVSE1 | GT | 19.58 | % | t(189)=0.31, p=0.76 | |
HVSE2 | SE | 19.11 | % | Comparison | |
HVSE3† | GT | 17.08 | % | ||
HVSE4† | SE | 16.50 | % | ||
(M3) | BA1 | GT | 53.85 | % | t(138)=32.01, p=0.00 |
MAPE | DR1 | GT | 43.36 | % | t(138)=5.90, p=0.00 |
Apex | KF3 | GT | 50.11 | % | t(138)=7.38, p=0.00 |
Height | HVSE1 | GT | 13.77 | % | t(189)=0.83, p=0.41 |
HVSE2 | SE | 12.49 | % | Comparison | |
(M4) | BA1 | GT | 0.7140 | s | t(138)=16.83, p=0.00 |
MAE | DR1 | GT | 0.1323 | s | t(138)=2.66, p=0.00 |
Apex Time | KF3 | GT | 0.1388 | s | t(138)=4.18, p=0.00 |
HVSE1 | GT | 0.0641 | s | t(189)=0.96, p=0.34 | |
HVSE2 | SE | 0.0588 | s | Comparison | |
(M5) MAE | HVSE1 | GT | 0.0912 | m | t(170)=5.87, p=0.00 |
Apex Height | HVSE2 | SE | 0.2597 | m | Comparison |
(desired) |
-
•
Error metrics M1-M5 (n=191 hops, Appendix Error Metrics); where Meas. column indicates the measurement used for control (true state (GT), estimated state (SE)). * Values indicate the mean of the RMSE value for a complete hop cycle; TD to subsequent TD. † Data uses only the aerial phase as detected by the robot for analysis. 333 Comparing the 1-4 m data to the HVSE2 using a two-tailed t-test given the null hypothesis with a 95% confidence interval. Related works, BA1 [4, 33, 2], KF3 [49, 46, 47].
VI-B Agility Metric
The commonly used hopping performance metric, vertical jumping agility (), defined as an average climb speed in a gravitational environment, allows for quantifying and comparing jumping and hopping robot’s approximate average locomotion speed [42]. The metric is defined as follows, where, the apex height, , stance through apex time, , stance time, , and rebound time, , define the metric. However, being focused on climb rate, the is unable to account for the drop phase time of continuous hopping robots. A subsequent group amended this metric to the hopping agility metric () adding the drop phase time, , to quantify the overall average locomotion speed of continuous hoppers. The metric is defined as follows [2], where, the total cycle time is . However, the base metric, , was developed to quantify existing systems’ performance from videos, and not as a robot design tool. Therefore, while increasing height and decreasing cycle time can increase both metrics, little can be said about control schemes, system losses, and non-constant hopping heights.
The similarity between the metrics allows for their unification, and a mathematical re-derivation allows for a deeper understanding of the effect of system design and operation parameters (Appendix: Hopping Agility). The unified hopping agility (UHA) metric is as follows:
(14) | ||||
(15) | ||||
(16) |
where, the previous hop height, , and gravitational acceleration, , are represented accordingly. The average rebound phase acceleration, , and the average drop phase acceleration, , are composed of both energy input, , representing average thrust forces in rebound and drop, and energy loss, , representing average drag forces in rebound and drop; where positive indicates upward thrust and are always opposite the velocity vector. The change in stance phase velocity between TD and LO, , can capture energy lost, , no energy change, , and energy gained, in the stance phase. The previous vertical jumping agility metric () can be derived from whereas, the hopping agility metric () can be derived from , thus unifying the two metrics within a mathematical framework to inform future hopping robot design. Comparing the MultiMo-MHR to existing hopping robots (Table IV) shows that it is able to outperform not only all existing robots but the Galago animal as well.
Platform | Hop | ||||
---|---|---|---|---|---|
Height(m) | (s) | (s) | (m/s) [42] | (m/s) [2] | |
Salto[42] | 1.008 | 0.58111 | 1.03111 | 1.75 | 1.96 |
Salto-1P[30] | 1.252 | 0.68111 | 1.15111 | 1.83 | 2.18 |
Galago[42] | 1.742 | 0.78111 | 1.55111 | 2.24 | 2.24 |
PogoDrone[6] | 0.7 | 4.18222 | 8.25222 | 0.17 | 0.17 |
PogoX[3] | 0.6 | 0.44222 | 0.88222 | 1.37 | 1.37 |
HopCopter[2] | 1.63 | 0.71333 | 1.37333 | 2.30 | 2.37 |
MultiMo-MHR444 | 3.92 | 1.58 | 2.60 | 2.47 | 3.01 |
MultiMo-MHR555 | 4.02 | 1.85 | 2.86 | 2.18 | 2.81 |
VII Summary
Here we have shown a light-weight, low computational load, IMU only, Kalman filter-based hopping vertical state estimator (position, velocity) coupled to a hopping phase estimator (drop, stance down, stance up, rebound) and the training procedure to learn the specific characteristics of the target system, including significant aliasing of the acceleration measurements. As discussed in the paper, the resulting filter can be reincorporated into a full state Kalman filter and error state Kalman filter. Finally, unlike previous works that trade absolute for relative height estimation to remove drift, the characteristics of the learned filter result in both an absolute height estimation and a significantly reduced drift (average ground height drift of 0.018 m after 30 hops of up to 4 m). The filter was experimentally validated on the MultiMo-MHR with hops up to 4.02 m, 2.47x greater than the next highest continuous hopping robot, at velocities approaching m/s. This results in a mean absolute percent error in hop apex height (M3) of 12.5% with an aerial trajectory average normalized mean absolute error in position (M1) and velocity (M2) of 19% and 16.5%, respectively.
Appendix
Hopping Agility
Expanding upon the Vertical Jumping Agility ()[42] and Hopping Agility ()[2] metrics, we developed a unified agility metric (UHA: Unified Hopping Agility). Using plots from [42], the hopping cycle for the agility metric proceeds from the prior HA to current HA. While this is irrelevant for constant hopping height cycles, it can create a critical difference in agility for non-constant hopping height cycles.
Using fundamental Newtonian equations and starting with the sequence of prior HA to TD, the fundamental equations are,
(S1) | ||||
(S2) | ||||
(S3) |
where we have a control input in the drop phase of and accompanying loss shown as . The system starts at an initial height and velocity () proceeds to a touchdown position and velocity of () over a drop phase time window (). In the stance phase, between TD and the subsequent LO, the total energy may change do to loss or addition,
(S4) |
over a time period (). The last segment is the rebound phase, between LO and the current HA, in which the equations are as follows,
(S5) | ||||
(S6) | ||||
(S7) |
where we have a control input in the rebound phase of with accompanying loss shown as . The system starts at LO with an initial height and velocity () and continues to an ultimate height and velocity of () over a rebound time window ().
Solving for the drop phase time, , from Eq. S3 and S2 and the rebound phase time, , from Eq. S6 and S7, assuming results in,
(S8) | ||||
(S9) |
Using a switching parameters, , the two agility metrics, and , can then be combined as,
(S10) |
where, gives the vertical jumping agility metric and gives the hopping agility metric, thus unifying the two metrics within a mathematical framework to inform future hopping robot design. To include changes in energy during the stance phase (), first solve eq. S2 and S6 for their time and substitute them into eq. S3 and S7, respectively. Solve each of these for their respective velocity at TD () or LO (), substitute those into eq. S4, and solve for resulting in,
(S11) |
where, the previous hop height, , and gravitational acceleration, , are represented accordingly. The average rebound phase acceleration, , and the average drop phase acceleration, , are composed of both energy input, , representing average thrust forces in rebound and drop, and energy loss, , representing average drag forces in rebound and drop; where positive indicates upward thrust and are always opposite the velocity vector. The change in stance phase velocity between TD and LO, , can capture energy lost, , no energy change, , and energy gained, in the stance phase. Comparing the MultiMo-MHR at differing hopping heights highlights how the hopping height affects the metrics (Table S1); where an increase is observed at lower heights and a saturation appears to occur at higher heights.
Analysis of the metric can highlight key characteristics for enhancing robot agility. First, given Eq. 15, assuming ballistic hopping at a constant height with no inputs or losses, and zero stance time (), the resulting equation, , shows the metric will increase with increasing gravity or hopping height. Moreover, as the metric switching parameter, , cancels out, the two metrics are equivalent under these conditions.
Second, given Eq. 15, it is clear that increasing the metric requires decreasing the denominator time parameters for the specified heights. The is inversely related to the robot’s natural frequency (); where, the spring constant, , and body mass, are represented accordingly. Therefore, the stance time () can be minimized by increasing and decrease . The drop and rebound phase times () can be minimized by maximizing the acceleration magnitudes (); thus requiring maximum aerial forces. As the MultiMo-MHR can only generate thrust in the positive vertical direction, , the metric can be maximized by minimizing , and maximizing the rebound loss . This will inherently result in non-constant hopping height unless energy is added in stance; the amount of which can be determined by solving Eq. 16 for the velocity ratio between TD and LO, . This does highlight an additional important consideration of the metric. The metric can be increased with a higher previous hop, , followed by a lower hop, . However, this would reduce the hopping height with each cycle, and therefore could be used to increase agility for individual hops at the expense of long-term agility.
Meas. | Hop | |||||
---|---|---|---|---|---|---|
(n=hop num.) | Height(m) | (s) | (s) | (s) | (m/s) [42] | (m/s) [2] |
GT (n=16) | 1.03 0.05 | 0.059 0.001 | 0.68 0.04 | 1.18 0.04 | 1.52 | 1.74 |
HVSE (n=18) | 1.00 0.00 | 0.058 0.002 | 0.69 0.06 | 1.19 0.08 | 1.45 | 1.68 |
GT (n=19) | 2.02 0.02 | 0.067 0.001 | 0.98 0.02 | 1.68 0.01 | 2.05 | 2.41 |
HVSE (n=28) | 1.97 0.11 | 0.07 0.001 | 0.96 0.11 | 1.65 0.13 | 2.04 | 2.39 |
GT (n=16) | 3.03 0.06 | 0.069 0.001 | 1.26 0.03 | 2.14 0.04 | 2.40 | 2.84 |
HVSE (n=39) | 2.85 0.15 | 0.07 0.001 | 1.29 0.11 | 2.13 0.13 | 2.20 | 2.68 |
GT (n=19) | 3.78 0.13 | 0.071 0.001 | 1.71 0.07 | 2.72 0.08 | 2.21 | 2.78 |
HVSE (n=36) | 3.41 0.29 | 0.071 0.001 | 1.64 0.19 | 2.59 0.24 | 2.08 | 2.63 |
GT (max) | 3.92 | 0.071 | 1.58 | 2.60 | 2.47 | 3.01 |
HVSE (max) | 4.02 | 0.072 | 1.85 | 2.86 | 2.18 | 2.81 |
Parm. | Description | Value | Units |
---|---|---|---|
Body Mass | 0.5619 | kg | |
Leg Mass | 0.0981 | kg | |
Body Rotational Inertia | 0.0012 | kg m2 | |
Leg Rotational Inertia | 0.0019 | kg m2 | |
Main Power Spring Const. | 704 | N/m | |
Leg-Body Spring Const. | N/m | ||
Leg-Body Damping Coef. | 100 | N s/m | |
Leg Top to CML | 0.1053 | m | |
Leg Bottom to CML | 0.2821 | m | |
Body CMB from Top Leg | 0.1191 | m | |
Motor Offset from Body CM | 0.0820 | m | |
Motor Offset from Body CM | 0 | m |
-
•
Full schematic diagram shown in [1].
Robot Parameters
Error Metrics
Five error metrics are shown in Table S3 including:
(S12) | ||||
(S13) | ||||
(S14) | ||||
(S15) | ||||
(S16) |
where, is the number of hops, is the number of points per hop (TD to subsequent TD), is the number of hop apexes, and represent the estimated and true vertical position, velocity, hop apex height, and hop apex time, accordingly. Finally, represents the desired hop apex height.
Set Height (m) | |||||||||
Metric | Est. | Meas. | 1 | 2 | 3 | 4 | 1-4m | Units | Comparison333 to |
Description | Type | HVSE | |||||||
(M1) Mean | BA1 | GT | 171.9 | 157.7 | 193.5 | 248.8 | 196.8 | % | t(138) = 30.97, p = 0.00 |
nMAE Traj Pos. | DR1 | GT | 39.10 | 30.06 | 29.10 | 74.01 | 44.05 | % | t(138) = 5.62, p = 0.00 |
KF3 | GT | 50.02 | 44.12 | 51.64 | 89.64 | 60.45 | % | t(138) = 7.49, p = 0.00 | |
HVSE1 | GT | 24.64 | 20.29 | 13.81 | 25.60 | 21.24 | % | t(189) = 0.99, p = 0.32 | |
HVSE2 | SE | 25.18 | 22.48 | 13.88 | 19.79 | 19.46 | % | Statistical Comparison | |
HVSE3† | GT | 21.36 | 19.71 | 13.51 | 25.38 | 20.21 | % | ||
HVSE4† | SE | 25.17 | 21.91 | 13.48 | 19.52 | 18.97 | % | ||
(M2) Mean | BA1 | GT | 143.1 | 136.5 | 174.7 | 245.0 | 179.9 | % | t(138) = 24.15, p = 0.00 |
nMAE Traj Velo. | DR1 | GT | 24.24 | 19.14 | 17.97 | 48.46 | 28.15 | % | t(138) = 3.17, p = 0.00 |
KF3 | GT | 30.91 | 27.19 | 31.70 | 57.35 | 37.84 | % | t(138) = 5.24, p = 0.00 | |
HVSE1 | GT | 28.52 | 21.52 | 12.44 | 16.13 | 19.58 | % | t(189) = 0.31, p = 0.76 | |
HVSE2 | SE | 25.53 | 21.95 | 15.73 | 17.36 | 19.11 | % | Statistical Comparison | |
HVSE3† | GT | 24.88 | 18.78 | 11.37 | 13.63 | 17.08 | % | ||
HVSE4† | SE | 21.98 | 19.59 | 13.35 | 14.78 | 16.50 | % | ||
(M3) | BA1 | GT | 57.34 | 51.72 | 54.53 | 53.23 | 53.85 | % | t(138) = 32.01, p = 0.00 |
MAPE | DR1 | GT | 29.04 | 22.13 | 22.47 | 73.30 | 43.36 | % | t(138) = 5.90, p = 0.00 |
Apex Height | KF3 | GT | 37.28 | 33.24 | 40.75 | 81.82 | 50.11 | % | t(138) = 7.38, p = 0.00 |
HVSE1 | GT | 13.50 | 12.25 | 8.81 | 19.68 | 13.77 | % | t(189) = 0.83, p = 0.41 | |
HVSE2 | SE | 14.79 | 14.36 | 8.11 | 14.62 | 12.49 | % | Statistical Comparison | |
(M4) | BA1 | GT | 0.3305 | 0.4653 | 0.6987 | 0.9950 | 0.7140 | s | t(138) = 16.83, p = 0.00 |
MAE | DR1 | GT | 0.0554 | 0.0583 | 0.0659 | 0.2430 | 0.1323 | s | t(138) = 2.66, p = 0.00 |
Apex Time | KF3 | GT | 0.0726 | 0.0830 | 0.1178 | 0.2483 | 0.1388 | s | t(138) = 4.17, p = 0.00 |
HVSE1 | GT | 0.0611 | 0.0581 | 0.0369 | 0.0956 | 0.0641 | s | t(189) = 0.96, p = 0.34 | |
HVSE2 | SE | 0.0524 | 0.0611 | 0.0505 | 0.0695 | 0.0588 | s | Statistical Comparison | |
(M5) MAE Apex | HVSE1 | GT | 0.0477 | 0.0294 | 0.0562 | 0.2190 | 0.0912 | m | t(170) = 5.87, p = 0.00 |
Height (desired) | HVSE2 | SE | 0.0353 | 0.0959 | 0.1773 | 0.5885 | 0.2597 | m | Statistical Comparison |
-
•
Error metrics M1-M5 (n=191 hops, Appendix Error Metrics); where Meas. column indicates the measurement used for control (true state (GT), estimated state (SE)). * Values indicate the mean of the RMSE value for a complete hop cycle; TD to subsequent TD. † Data uses only the aerial phase as detected by the robot for analysis. 333 Comparing the 1-4 m data to the HVSE2 using a two-tailed t-test given the null hypothesis with a 95% confidence interval. Related works, BA1 [4, 33, 2], KF3 [49, 46, 47].
Optical Flow Error
To determine the potential error in the horizontal distance traveled, measured by optical flow. From basic optics, assuming the sensor is traveling parallel to a surface in a single direction, we know the the ratio between the distance an object moves on a camera’s image plane, , divided by the focal distance, , is equal to the distance the object moves in the world, , divided by the distance to the surface, , as follows . If the measurement of the distance to the object includes error, , then, so too will the distance traveled, . Substituting this into the previous equation results in,
(S17) |
where, the represents the true value, represents the error, and the height error is converted to a percent of the true height, . The can be approximated as the mean of the normalized mean-absolute-error (nMAE) in the height measurement (Table S3, M1); defined as the mean of the mean-absolute-error in the height divided by the mean of the true height per hop cycle. The error as a percent of the distance traveled can therefore be determined from the ratio of the horizontal distance both with and without the error as,
(S18) |
where, it can be seen that also represents the horizontal error, as a percent of the distance traveled, that would be incurred by replacing an optical flow sensor’s range finder with the HVSE.
References
- [1] S. Burns and M. Woodward, “Design and Control of a High-Performance Hopping Robot,” IEEE Robotics and Automation Letters, vol. 10, no. 6, pp. 5641–5648, Jun. 2025.
- [2] S. Bai, Q. Pan, R. Ding, H. Jia, Z. Yang, and P. Chirarattananon, “An agile monopedal hopping quadcopter with synergistic hybrid locomotion,” Science Robotics, vol. 9, no. 89, 2024.
- [3] Y. Wang, J. Kang, Z. Chen, and X. Xiong, “Terrestrial Locomotion of PogoX: From Hardware Design to Energy Shaping and Step-to-step Dynamics Based Control,” arXiv, 2023, arXiv: 2309.13737.
- [4] M. H. Raibert, “Hopping in Legged Systems—Modeling and Simulation for the Two-Dimensional One-Legged Case,” IEEE Transactions on Systems, Man and Cybernetics, vol. SMC-14, no. 3, pp. 451–463, 1984.
- [5] M. H. Raibert, H. B. Brown, and M. Chepponis, “Experiments in Balance with a 3D One-Legged Hopping Machine,” The International Journal of Robotics Research, vol. 3, no. 2, pp. 75–92, 1984.
- [6] B. Zhu, J. Xu, A. Charway, and D. Saldana, “PogoDrone: Design, Model, and Control of a Jumping Quadrotor,” Proceedings - IEEE International Conference on Robotics and Automation, pp. 2031–2037, 2022, arXiv: 2204.00207 Publisher: IEEE ISBN: 9781728196817.
- [7] J. Kang, Y. Wang, and X. Xiong, “Fast Decentralized State Estimation for Legged Robot Locomotion via EKF and MHE,” May 2024, arXiv:2405.20567 [cs].
- [8] M. Kovač, M. Fuchs, A. Guignard, J. C. Zufferey, and D. Floreano, “A miniature 7g jumping robot,” Proceedings - IEEE International Conference on Robotics and Automation, no. c, pp. 373–378, 2008, iSBN: 9781424416479.
- [9] V. Zaitsev, O. Gvirsman, U. Ben Hanan, A. Weiss, A. Ayali, and G. Kosa, “A locust-inspired miniature jumping robot,” Bioinspiration & Biomimetics, vol. 10, no. 6, p. 066012, Nov. 2015.
- [10] B. Shin, H.-Y. Kim, and K.-J. Cho, “Towards a biologically inspired small-scale water jumping robot,” in 2008 2nd IEEE RAS & EMBS International Conference on Biomedical Robotics and Biomechatronics, Oct. 2008, pp. 127–131, iSSN: 2155-1782.
- [11] W. a. Churaman, A. P. Gerratt, and S. Bergbreiter, “First leaps toward jumping microrobots,” IEEE/RSJ International Conference on Intelligent Robots and Systems, vol. 2, no. 2, pp. 1680–1686, sep 2011.
- [12] M. Noh, S. W. Kim, S. An, J. S. Koh, and K. J. Cho, “Flea-inspired catapult mechanism for miniature jumping robots,” IEEE Transactions on Robotics, vol. 28, no. 5, pp. 1007–1018, 2012, publisher: IEEE.
- [13] W. A. Churaman, L. J. Currano, C. J. Morris, J. E. Rajkowski, and S. Bergbreiter, “The First Launch of an Autonomous Thrust-Driven Microrobot Using Nanoporous Energetic Silicon,” Journal of Microelectromechanical Systems, vol. 21, no. 1, pp. 198–205, Feb. 2012, conference Name: Journal of Microelectromechanical Systems.
- [14] J. S. Koh, S. P. Jung, M. Noh, S. W. Kim, and K. J. Cho, “Flea inspired catapult mechanism with active energy storage and release for small scale jumping robot,” Proceedings - IEEE International Conference on Robotics and Automation, pp. 26–31, 2013, iSBN: 9781467356411.
- [15] E. W. Hawkes, C. Xiao, R.-a. Peloquin, C. Keeley, M. R. Begley, M. T. Pope, and G. Niemeyer, “Engineered jumpers overcome biological limits via work multiplication,” Nature, vol. 604, no. December 2020, 2022, publisher: Springer US.
- [16] Boston Dynamics, “Sandflea,” 2013.
- [17] M. T. Tolley, R. F. Shepherd, M. Karpelson, N. W. Bartlett, K. C. Galloway, M. Wehner, R. Nunes, G. M. Whitesides, and R. J. Wood, “An untethered jumping soft robot,” IEEE International Conference on Intelligent Robots and Systems, no. Iros, pp. 561–566, 2014, publisher: IEEE ISBN: 9781479969340.
- [18] N. W. Bartlett, M. T. Tolley, J. T. B. Overvelde, J. C. Weaver, B. Mosadegh, K. Bertoldi, G. M. Whitesides, and R. J. Wood, “A 3D-printed, functionally graded soft robot powered by combustion,” Science, vol. 349, no. 6244, pp. 161–165, Jul. 2015, publisher: American Association for the Advancement of Science.
- [19] Y. Pan, G. Tang, S. Liu, D. Mei, L. He, S. Zhu, and Y. Wang, “Tumro: A Tunable Multimodal Wheeled Jumping Robot Based on the Bionic Mechanism of Jumping Beetles,” Advanced Intelligent Systems, p. 2400024, May 2024.
- [20] M. A. Woodward and M. Sitti, “Design of a miniature integrated multi-modal jumping and gliding robot,” IEEE International Conference on Intelligent Robots and Systems, pp. 556–561, 2011, publisher: IEEE ISBN: 9781612844541.
- [21] M. Kovač, Wassim-Hraiz, O. Fauria, J.-C. Zufferey, and D. Floreano, “The EPFL jumpglider: A hybrid jumping and gliding robot with rigid or folding wings,” in 2011 IEEE International Conference on Robotics and Biomimetics, Dec. 2011, pp. 1503–1508.
- [22] M. A. Woodward and M. Sitti, “MultiMo-Bat: A biologically inspired integrated jumping-gliding robot,” International Journal of Robotics Research, vol. 33, no. 12, pp. 1511–1529, 2014, iSBN: 0278364914541.
- [23] A. L. Desbiens, M. Pope, F. Berg, Z. E. Teoh, J. Lee, and M. Cutkosky, “Efficient jumpgliding: Theory and design considerations,” in 2013 IEEE International Conference on Robotics and Automation. Karlsruhe, Germany: IEEE, May 2013, pp. 4451–4458.
- [24] A. L. Desbiens, M. T. Pope, D. L. Christensen, E. W. Hawkes, and M. R. Cutkosky, “Design principles for efficient, repeated jumpgliding,” Bioinspiration & Biomimetics, vol. 9, no. 2, p. 025009, May 2014.
- [25] A. Beck, V. Zaitsev, U. B. Hanan, G. Kosa, A. Ayali, and A. Weiss, “Jump stabilization and landing control by wing-spreading of a locust-inspired jumper,” Bioinspiration & Biomimetics, vol. 12, no. 6, p. 066006, Oct. 2017.
- [26] M. A. Woodward and M. Sitti, “Universal Custom Complex Magnetic Spring Design Methodology,” IEEE Transactions on Magnetics, vol. 54, no. 1, 2018.
- [27] M. A. Woodward and M. Sitti, “Morphological intelligence counters foot slipping in the desert locust and dynamic robots,” Proceedings of the National Academy of Sciences, p. 201804239, 2018.
- [28] M. A. Woodward and M. Sitti, “Tailored Magnetic Springs for Shape-Memory Alloy Actuated Mechanisms in Miniature Robots,” IEEE Transactions on Robotics, vol. 35, no. 3, pp. 589–601, 2019, publisher: IEEE.
- [29] J. Zhao, T. Zhao, N. Xi, M. W. Mutka, and L. Xiao, “MSU Tailbot: Controlling Aerial Maneuver of a Miniature-Tailed Jumping Robot,” IEEE/ASME Transactions on Mechatronics, vol. 20, no. 6, pp. 2903–2914, 2015.
- [30] D. W. Haldane, J. K. Yim, and R. S. Fearing, “Repetitive extreme-acceleration (14-g) spatial jumping with Salto-1P,” in 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Vancouver, BC: IEEE, Sep. 2017, pp. 3345–3351.
- [31] J. K. Yim and R. S. Fearing, “Precision Jumping Limits from Flight-phase Control in Salto-1P,” in 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Madrid: IEEE, Oct. 2018, pp. 2229–2236.
- [32] J. K. Yim, E. K. Wang, and R. S. Fearing, “Drift-free roll and pitch estimation for high-acceleration hopping,” Proceedings - IEEE International Conference on Robotics and Automation, vol. 2019-May, pp. 8986–8992, 2019, iSBN: 9781538660263.
- [33] J. K. Yim, B. R. P. Singh, E. K. Wang, R. Featherstone, and R. S. Fearing, “Precision robotic leaping and landing using stance-phase balance,” IEEE Robotics and Automation Letters, vol. 5, no. 2, pp. 3422–3429, 2020.
- [34] F. Li, G. Bonsignori, U. Scarfogliero, D. Chen, C. Stefanini, W. Liu, P. Dario, and X. Fu, “Jumping mini-robot with bio-inspired legs,” in 2008 IEEE International Conference on Robotics and Biomimetics, Feb. 2009, pp. 933–938.
- [35] J. Zhao, J. Xu, B. Gao, N. Xi, F. J. Cintron, M. W. Mutka, and L. Xiao, “MSU jumper: A single-motor-actuated miniature steerable jumping robot,” IEEE Transactions on Robotics, vol. 29, no. 3, pp. 602–614, 2013.
- [36] M. M. Plecnik, D. W. Haldane, J. K. Yim, and R. S. Fearing, “Design exploration and kinematic tuning of a power modulating jumping monopod,” Journal of Mechanisms and Robotics, vol. 9, no. 1, pp. 1–13, 2017.
- [37] P. Fiorini and J. Burdick, “The Development of Hopping Capabilities for Small Robots,” Autonomous Robots, vol. 14, no. 2, pp. 239–254, Mar. 2003.
- [38] J. Zhao, R. Yang, N. Xi, B. Gao, X. Fan, M. W. Mutka, and L. Xiao, “Development of a miniature self-stabilization jumping robot,” in 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems, Oct. 2009, pp. 2217–2222, iSSN: 2153-0866.
- [39] U. Scarfogliero, C. Stefanini, and P. Dario, “Design and Development of the Long-Jumping ”Grillo” Mini Robot,” in Proceedings 2007 IEEE International Conference on Robotics and Automation, Apr. 2007, pp. 467–472, iSSN: 1050-4729.
- [40] T. Ho and S. Lee, “A novel design of a robot that can jump and roll with a single actuator,” in 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, Oct. 2012, pp. 908–913, iSSN: 2153-0866.
- [41] J. Aguilar and D. I. Goldman, “Robophysical study of jumping dynamics on granular media,” Nature Physics, vol. 12, no. 3, pp. 278–283, Mar. 2016.
- [42] D. W. Haldane, M. M. Plecnik, J. K. Yim, and R. S. Fearing, “Robotic vertical jumping agility via Series-Elastic power modulation,” Science Robotics, vol. 1, no. 1, 2016.
- [43] D. W. Haldane, M. Plecnik, J. K. Yim, and R. S. Fearing, “A power modulating leg mechanism for monopedal hopping,” in 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Daejeon, South Korea: IEEE, Oct. 2016, pp. 4757–4764.
- [44] J. S. Lee, M. Plecnik, J.-H. Yang, and R. S. Fearing, “Self-Engaging Spined Gripper with Dynamic Penetration and Release for Steep Jumps,” in 2018 IEEE International Conference on Robotics and Automation (ICRA). Brisbane, QLD: IEEE, May 2018, pp. 1–8.
- [45] H. Hsiao, S. Bai, Z. Guan, S. Kim, Z. Ren, P. Chirarattananon, and Y. Chen, “Hybrid locomotion at the insect scale: Combined flying and jumping for enhanced efficiency and versatility,” S c i e n c e A d v a n c e s, 2025.
- [46] Z. Wang, H. Zhao, S. Qiu, and Q. Gao, “Stance-Phase Detection for ZUPT-Aided Foot-Mounted Pedestrian Navigation System,” IEEE/ASME Transactions on Mechatronics, vol. 20, no. 6, pp. 3170–3181, Dec. 2015.
- [47] A. Norrdine, Z. Kasmi, and J. Blankenbach, “Step Detection for ZUPT-Aided Inertial Pedestrian Navigation System Using Foot-Mounted Permanent Magnet,” IEEE Sensors Journal, vol. 16, no. 17, pp. 6766–6773, Sep. 2016.
- [48] H. Ju, M. S. Lee, S. Y. Park, J. W. Song, and C. G. Park, “A pedestrian dead-reckoning system that considers the heel-strike and toe-off phases when using a foot-mounted IMU,” Measurement Science and Technology, vol. 27, no. 1, p. 015702, Jan. 2016.
- [49] E. Foxlin, “Pedestrian Tracking with Shoe-Mounted Inertial Sensors,” IEEE Computer Graphics and Applications, vol. 25, no. 6, pp. 38–46, Nov. 2005.
- [50] W. Liu, D. Caruso, E. Ilg, J. Dong, A. I. Mourikis, K. Daniilidis, V. Kumar, and J. Engel, “TLIO: Tight Learned Inertial Odometry,” IEEE Robotics and Automation Letters, vol. 5, no. 4, pp. 5653–5660, Oct. 2020.