Untethered quadrupedal hopping and bounding on a trampoline

For quadruped robots with springy legs, a successful jump usually requires both suitable elastic parts and well-designed control algorithms. However, these two problems are mutually restricted and hard to solve at the same time. In this study, we attempt to solve the problem of controller design with the help of a robot without any elastic mounted parts, in which the untethered robot is made to jump on a trampoline. The differences between jumping on hard surfaces with springy legs and jumping on springy surfaces with rigid legs are briefly discussed. An intuitive control law is proposed to balance foot contact forces; in this manner, excessive pitch oscillation during hopping or bounding can be avoided. Hopping height is controlled by tuning the time delay of the leg stretch. Together with other motion generators based on kinematic law, the robot can perform translational and rotational movements while hopping or bounding on the trampoline. Experiments are conducted to validate the effectiveness of the proposed control framework.


Introduction
Hopping or bounding, which is one of the fundamental abilities of quadruped robots, can help these robots overcome obstacles and increase movement speed. WildCat, Spot, and Spotmini, which were developed by Boston Dynamics, demonstrated how robots can attain remarkable agility from dynamic bounding or running. MIT Cheetah 1 and 2 took advantage of bounding gait to achieve high-speed movement and obstacle clearance jumping [1][2][3]. StarlETH [4] and ANYmal [5] with pronking gaits are other exemplary results of the advancements made in quadrupedal robotic systems.
Various approaches have been proposed to achieve stable hopping or bounding. From the perspective of theoretical analysis, Blickhan [6] proposed the idea of using a spring-mass model to describe the interdependency of mechanical parameters from which human running and hopping can be characterized. Berkemeier [7] analyzed the stability of quadrupedal bounding and pronking (hopping) through a simplified spring-damper model and proved that the linearized bound of the unperturbed model is always neutrally stable if the dimensionless body inertia is greater than 1. Ahmadi et al. [8] analyzed the limit cycles of a oneleg hopping robot and proposed an approach that would force the system trajectory to converge to the reference limit cycle. As for controlling real robots, Zabihi and Alasty [9] used fuzzy logic control to achieve a stable limit cycle for a hopping robot with two springs on the two sides. Hale et al. [10] proposed adaptive algorithms to adjust the hopping height of a one-leg robot, in which the algorithms were based on information obtained from previous hops or steps. Park et al. [1,2] proposed a variable-speed quadrupedal bounding method based on simple impulse planning. Experiments showed that the algorithm enabled the MIT Cheetah 2 to successfully achieve 3D running. Liu et al. [11] proposed a control approach by converting the time-dependent limit cycle motions into time-invariant virtual constraints; thus, the robot could be controlled to converge to a specific state of bounding. Apart from model-based methods, biologically inspired methods can offer other perspectives on efficient jumping. Khoramshahi et al. [12,13] and Buchli et al. [14,15] proposed different frequency adaptive oscillators to automatically converge to the resonance frequency of a hopping system with springy legs, and their proposed scheme resulted in reduced energy cost. However, majority of existing proposed controllers are designed for torquecontrolled robots, which are unsuitable for small-sized prototype tests. Moreover, in small-sized prototype tests, position-controlled motors are usually used.
A position-controlled robot may be able to jump by mounting elastic elements, subsequently reducing energy loss during touchdown impact. Among different methods, serial elastic actuation [16][17][18] has been widely used. A serial elastic actuator contains an elastic element in series and a mechanical energy source. Thus, torque control can be achieved through end-effector feedback, and then algorithms based on torque control can be transplanted. Unlike in typical serial elastic actuation, a passive springloaded leg mechanism with multiple segments was proposed by Spröwitz et al. [19] to increase the robustness of a quadruped robot during trotting and stepping down events. Nevertheless, regardless of whether active-control springs or passive-control springs are used, the value of the spring stiffness and the manner of mounting elastic components can affect system dynamics. A suitable control algorithm cannot be determined until compliant elements are adequately chosen and mounted.
In this study, we attempt to solve the above problems by proposing a control framework that can achieve stable quadrupedal hopping, bounding, and translational/rotational motion control on a trampoline (Fig. 1). The proposed framework, which is based on position control, does not rely on the explicit dynamic model. We choose trampoline tests because, from the perspective of energy utilization, a robot cannot possibly realize off-ground jumping if it fails to jump on a trampoline. Jumping on a trampoline requires a simplified model similar to that of regular jumping, and this similarity allows us to ignore the problem of choosing and mounting springs. Here, the control algorithms can be designed initially for the trampoline tests and then used to select and mount the suitable elastic components. To the best of our knowledge, although some researchers have addressed the problem of balance control for robots standing on compliant surfaces [20], while other researchers have addressed the problem of stabilizing the periodic orbits of 1-degree of freedom (1-DOF) hopping robots over compliant surfaces [21], the problem of quadrupedal jumping control on a trampoline has not been addressed.
This paper is presented as follows. In Section 2, an analysis of the simplified model of jumping on a trampoline is discussed. A comparison between regular springy leg experiments and trampoline experiments is presented. In Section 3, the controller for stable hopping and bounding is introduced in detail. In Section 4, the experimental results are presented and then used to validate the proposed controller. In Section 5, drawbacks and future work are discussed.

Simplified sagittal plane model
Hopping or bounding on a trampoline can be represented as a two-legged sagittal plane model, as shown in Fig. 2(a). The robot modeled in this study is a homogeneous link with two massless legs. The origin of the coordinate is set on the surface of the trampoline, in which the x and y axes represent the horizontal and the vertical directions. ðx c ,y c Þ, ðx h ,y h Þ and ðx f ,y f Þ are the positions of the center of mass (CoM), the hind leg foot-end and the foreleg foot-end, respectively. is the pitch angle of the robot. L b is half the length of the body. L f and L h represent the lengths of the foreleg and the hind leg, respectively. β f and β h represent the hip joint angles of the foreleg and the hind leg, respectively. For simplicity, we assume Ground reaction forces are used to describe the dynamics of the model.
where f x h and f y h represent the ground reaction forces along the x and y axes of the hind legs, f x f and f y f represent the ground reaction forces of the forelegs, I is the inertia of the body, m is the mass of the body, and g is gravity acceleration.
Assume that the dynamics of the trampoline can be modeled as separate springs. Then, f y f ,h can be calculated as Fig. 1 Overview of the trampoline and the quadruped robot.
where k s is the spring stiffness, which is a positive constant. However, for f x f ,h , which correspond to the static friction at the toes (no slips are assumed here), they are governed by friction laws and the kinematic state of the body.
If a robot with springy legs jumps on a hard surface, as shown in Fig. 2 where ðx # f ,y # f Þ and ðx # h ,y # h Þ represent the rest points of the forelegs and the hind legs. A comparison of Eqs. (6)-(9) with Eqs. (4) and (5) indicates that when a robot has a perfect vertical hopping (€ x c ¼ 0 and x # f,h ¼ x f ,h ), choosing between a trampoline or springy legs will lead to the same results. Nonetheless, using a trampoline has the advantage of storing all the kinetic energy of a falling robot. As for springy legs, elastic elements must be kept strictly vertical to avoid energy loss during touchdown impact, but this scenario is difficult to achieve for legs with rotational joints. When a robot bounds on a trampoline, the difference between Eqs. (6)- (9) and Eqs. (4) and (5) indicates that the robot may not easily achieve a stable bounding pattern. A robot with springy legs bounding on a hard surface can be modeled with f x f,h and f y f,h to decrease the amplitude of the pitch oscillation and control the bounding period [1,2]. Stable bounding can also be automatically achieved by using passive springy legs [22][23][24]. However, in the trampoline tests, we found that a stable bounding gait could not be easily achieved because the robot would start to tip over after a few seconds.

Algorithms for balance control
As observed in our experiments, algorithms for balance control are necessary regardless whether the robot hops or bounds on a trampoline; that is, regardless of hopping or bounding, the body pitch angle could not be maintained naturally to an acceptable range. Any unsynchronized touchdown event of the forelegs and hind legs would induce pitch oscillation due to the springiness of the surface. Without balance control, the robot would either tip over or move chaotically.
In terms of hopping, f y f,h is effective in suppressing the oscillation of during the stance phase. The corresponding control law is where Δy f and Δy h are the output positional increments for the forelegs and the hind legs, and k py is a positive constant. According to Eqs. (4) and (5), positional increments will affect f y f,h . Thus, a torque can be applied to maintain the value of . Equation (10) differs from the common negativefeedback control law and can offset . By taking Fig. 2(a) as an example (where > 0), the common offset law becomes This control law attempts to reduce the pitch angle by decreasing the length of hind legs and increasing the length of forelegs, which is simply based on kinematic relations. According to Eqs. (3)-(5), assuming sin % , the resultant dynamics of is where However, Eq. (10) entails a strategy opposite to the common offset law. The resultant dynamics can be expressed as Usually, L b > L and f x f,h have sufficiently small values and can be ignored in hopping. Thus, -2k s ðy c L þ L 2 b -L 2 Þ < 0 and D % 0. Moreover, without the balance control (k py ¼ 0 in Eq. (11)), the trampoline will turn any disturbance of into an oscillation. A comparison of Eq. (11) with Eq. (12) indicates that the common negative-feedback control law can increase the amplitude of the oscillation, a scenario that hinders the stabilization of the robot. Equation (10) can then be used to reduce the amplitude of the oscillation by neutralizing the item -2k s ðy c Lþ L 2 b -L 2 Þ; in this manner, the amplitude of the oscillation can be contained.
In terms of bounding, a control law similar to Eq. (10) is used to stabilize the robot during the stance phase.
where k px and k py are positive constants. Output positional increments can only be applied to the supporting legs. Equation (13), unlike Eq. (10), is designed to more radically reduce f y f ,h and f x f ,h caused by the trampoline. First, the equation uses _ instead of to generate the output. Thus, the robot can react much more quickly. Second, the use of _ , Δ_ x f , and Δ_ y f enables the affected leg to hold its length even when the pitch angle returns to zero or stops increasing. Given that Δ_ x f will reduce the relative movement trends between the foot-end and the trampoline, f x f,h can be reduced by Eq. (13). The experiments show that Eq. (13) is more effective than Eq. (10) in stabilizing the bounding robot.

Effects of leg stretch delay on hopping height
The robot will lose its mechanical energy at each jumping period due to the touchdown impact and the damping characteristics of a real trampoline. Thus, the supporting legs will stretch at a specific time instant during the stance phase to sustain a stable jumping pattern. This time instant is expressed as the time delay from the touchdown event, and it is called leg stretch delay in this study.
Given a certain leg stretch delay, the hopping height will naturally converge to a steady-state value that can be illustrated by a simplified model. As shown in Fig. 3(a), the hopping robot in the model can be simplified as a mass block with a single stretchable leg, and energy loss can be described by the velocity scaling factor k v during touchdown events. The origin of the coordinate is set on the surface of the trampoline. The dynamics of this model is where l c is the leg length, t * is the time instant when the robot touches the compliant surface, k v is a positive number with an absolute value not larger than 1, and f y is the foot contact force. Figure 3(b) illustrates a single hopping cycle of the simplified model, as described in Eq. (14), in which the leg stretch event is not considered (l c is kept to zero). In this study, hopping cycle is defined as the period between the time instant of _ y c ¼ 0, y c > 0 to the next instant. The dashed line in Fig. 3(b) is taken as an example. Hopping cycle starts from _ y c ¼ 0, y c > 0 to _ y c ¼ 0, y c < 0 and then back to _ y c ¼ 0, y c > 0. When k v ¼ 1, as shown by the dashed line, no energy is lost at touchdown impact. The trajectory is a closed curve, which means that the robot can reach its initial vertical position after hopping on a compliant surface. However, when k v ¼ 0:8, _ y c will be reduced to 0:8_ y c at the touchdown impact (y c ¼ 0). As shown by the solid line, the robot will not be able to reach its initial position due to energy loss.
By using y c to represent the initial point of a hopping cycle (also the highest point reached by the robot in the hopping cycle), the robot vertical position y c ðtÞ during the stance phase can be solved by Eq. (14): where t starts from the moment when the robot touches the compliant surface. Leg stretch is not considered in Eq. (15). Then, by using t d to represent the preset time delay, the spring compression (which is a non-negative length variable) at t d isŷ whereŷ s is the spring compression at t d .
For simplicity, we assume that the leg stretch is completed immediately at t d , where l c is changed from zero to -Δl (Δl > 0). Then, the energy injected by the leg stretch is Energy loss during touchdown impact is Thus, in the next hopping cycle, the highest point that can be reached by the robot is where y c ½N represents the highest jumping point of the Nth hopping cycle, and y c ½N þ1 represents the one of the next hopping cycle. As indicated by Eq. (19), y c will converge to a stable value y c ð1Þ when where The definitions imply that B 2 -4AC > B 2 > 0 because A > 0 and C < 0. Thus, a reasonable solution will always exist for ΔE " ¼ ΔE # . Figure 4(a) is plotted to explain comprehensively the convergence process of y c . According to Eqs. (17) and (18), ΔE " is a line function while ΔE # is a quadratic function with respect to ffiffiffiffi ffi y c p . Both equations have an intersection point at ffiffiffiffi ffi y c p ¼ ffiffiffiffiffiffiffiffiffiffiffiffiffi y c ð1Þ p , as indicated by Eq. (20). In Fig. 4(a) . Figure  4(b) illustrates the evaluation of _ y c and y c with the leg stretch enabled and with k v set to a value smaller than 1.
The values of parameters are as follows: m ¼ 5, ffiffiffiffiffiffiffiffiffi ffi k s =m p % 0:020. As illustrated by Fig. 4(b), the trajectory becomes much denser when the hopping cycle increases. Thus, the trajectory tends to form a closed curve, in which y c is unchanged.
In conclusion, y c will always converge to a single y c ð1Þ. Thus, stabilizing the hopping height y c by adjusting leg stretch length or by using other parameters is unnecessary, and y c will reach y c ð1Þ naturally after sometime.
Nevertheless, the stable value of y c can be adjusted with Δl and t d . According to Eq. (20), Δl is positively correlated with y c ð1Þ. However, the relation between t d and the stable value of y c ð1Þ is somewhat complex. Figure 5(a) illustrates how Δl and t d affect y c ð1Þ. The values of the other parameters are as follows: m ¼ 5, k s ¼ 5000, and k v ¼ 0:7. y c ð1Þ increases as Δl increases when a specific value of t d is selected. However, when Δl is fixed, t d can be used to ensure the largest value of y c ð1Þ. Figure 5 If the time consumed by the first and third parts is relatively short, then t d ¼ 0:25$2π=ω n leadsŷ s to move close to its maximum value. Therefore, according to Eq. (17), this scheme enables ΔE " to reach its maximum value, thus leading to the largest y c ð1Þ. Increasing the values of k s shortens the time consumed by the first and third parts; thus, t d associated with the largest y c ð1Þ is at approximately 25% of 2π=ω n . The plot in Fig. 5(b) also indicates that a larger k s would result in a larger y c ð1Þ. The figure is plotted with the same amplitude of Δl. Thus, according to Eq. (17), the energy injected into the system grows as k s increases. Therefore, the largest value of y c ð1Þ also increases. For researchers who can set the value of k s in real experiments, k s can be used to adjust the largest value of y c ð1Þ. However, a large k s will reduce the value of the leg stretch delay to reach the largest y c ð1Þ. That means more responsive actuators are required.

Controller structure
The proposed controller consists of the following three parts: Balance-keeping motion generator, translational and rotational motion generator, and basic-jumping pattern generator. These three types of motions are added to derive the final foot-end positions. We choose this parallel motion generation structure because it is easy to deploy for online multitask switching while keeping the robot balanced [25,26]. Figure 6 illustrates the general structure of the proposed controller. is the pitch angle of the robot. TD i represents a touchdown event. LO i represents a liftoff event. Matrix P is the controller output, which contains four 3D foot-end position vectors p i with respect to the body coordinate (Fig. 1). The index i represents the leg number, including LF (left foreleg), RF (right foreleg), LH (left hind leg), and RH (right hind leg).
The basic-jumping pattern generator initiates primitive leg motions to achieve hopping and bounding, and disturbances are not induced. In this condition, legs can simply stretch when they are on the ground, and they contract when they are off the ground. The motions generated by this module are defined as where y d is the output 1D trajectory along the vertical direction, l A is the amplitude of the trajectory and is used to define the leg stretch amplitude, which corresponds to Δl in Section 2, T is the trajectory period, f co is the endpoint of the leg-contracting process, and f st is the endpoint of the leg-stretching process. Equations (21) and (22) form a simple phase oscillator that generates periodic signals. (See Refs. [27,28] for additional information on oscillators with arbitrarily defined limit cycles.) As shown in Fig. 7, within one period, the leg first contracts with amplitude l A and then holds the position until f ¼ π. When π < f < f st , the leg stretches and keeps its maximum stretch length to the end. Each of the four legs is assigned such a predefined trajectory.
In hopping, touchdown and liftoff events are induced to reset f and enable the predefined period to adapt to the real jumping period.
where f off , which equals 2πt d =T , is set to delay the leg stretch after the TD event; this variable has a predefined constant value. TD all and LO all are used to synchronize the stretches and contractions of the four legs. TD all or LO all represents the event in which all four legs have touched or left the ground. As illustrated in Fig. 5, the value of f off or t d will affect y c ð1Þ. However, controlling the hopping height is not one of the objectives of this study. Thus, the value of f off is chosen through trial and error to attain the most stable hopping state. Nonetheless, we also present the results of the different hopping heights with varying f off in the experiment section. In bounding, the forelegs and hind legs alternatively support the robot. The phase reset law is where _ l and _ u are the lower and upper limits of the triggered _ , respectively. These variables have small values (near zero). As the pitch angle oscillates at a specific period in the bounding gait, Eq. (24) can be used to control or stretch the supporting forelegs or hind legs without explicitly affecting the amplitude of the pitch oscillation.
The subscript "f,h" indicates that forelegs and hind legs are controlled in pairs. f off is no longer considered because _ already represents the triggered moment.
Translational and rotational motions are generated through simple kinematic laws: where p t and p r are the output foot-end positional increments of the translational and rotational motions, respectively, v dx is the desired body velocity along the heading direction, v dz is the desired velocity along the lateral direction, and Ω d is the desired body angular velocity. Furthermore, for the fixed set point control for the yaw angle, the following equation is used: where ψ m and ψ d are the measured and desired body yaw angles, respectively, and k yaw is a tunable positive parameter.
Balance-keeping motions are generated according to Eqs. (10) and (13). For hopping, ½0, 1, 0 T k py for hindlegs: ( For bounding, where _ is coerced into ½ -1, 0 for the forelegs and ½0, þ 1 for the hind legs. Equations (25)-(29) are only applied to supporting legs, their values will be cleared when the corresponding leg enters the swing phase.

Experiments
Experiments are performed on a untethered servo-actuated quadruped robot and a commercial adult-used trampoline (Fig. 1). The quadruped robot (Fig. 8) weighs approximately 4.5 kg and has a length of 450 mm, width of 180 mm, and height of 270 mm. Each of its legs has three servos that can drive the foot-end to move in the sagittal plane and rotate in the horizontal axis. The three servo axes are depicted by arrows in Fig. 8. 3D foot-end position control can be achieved within the workspace. Four tactile switches are mounted on the foot-ends to detect touchdown and liftoff events. An onboard inertial measurement unit (IMU) is used to detect the attitude angle of the robot. As for the trampoline, the diameter of the jumping cloth is approximately 92 cm. Elastic ropes are used to tie the jumping cloth to the outer metal frame. An overview of the successful hopping and bounding is shown in Fig. 9. The experimental video of the performed tests can be found from the Electronic Supplementary Material.

Hopping
The parameters used in the hopping tests are listed in Table 1. Notably, T is not the period of real hopping. According to Eq. (23), the predefined period T will be adjusted automatically when T is greater than the actual period. The robot can automatically start the hopping without being dropped from a specific height. Because the predefined trajectory (Fig. 7) will make the leg contract first, and this scheme is faster than free-fall dropping. Thus, the initial height equals l A , and it will converge to a stable value, as illustrated in Fig. 4(a). Moreover, l A is set to be as large as possible to increase the maximum jumping height. However, given that the vertical workspace of the robot is limited to 55 mm, the value of 30 mm can be chosen to leave enough margin for balance-keeping motions. Figure 10(a) presents the recorded pitch angle data of successful (solid line) and failed (dashed line) hopping. In the failed hopping test, in which the balance-keeping motion generator was turned off, the pitch angle rapidly accumulated. After two or three jumps, the pitch angle became excessively large that the robot dropped onto the trampoline only with two forelegs or hind legs, while the other side fell due to gravity. Thus, as shown by the dashed line in the figure, stable periodic hopping cannot be achieved without balance-keeping motions.
As a mean to fully understand successful hopping, Fig. 10(b) is presented to show the stable pattern achieved in this study. The dashed square wave in Fig. 10(b) represents the periods when at least three foot-ends have touched the trampoline. The periodic appearance of the higher value of the square wave indicates that the hopping motion has reached a stable state. In our experiments, the time in which the robot stayed on the ground was approximately 0.10 s, and the time in which the robot stayed on air was approximately 0.25 s.
Rotational and translational motions induced disturbances to the pitch angle. Within the proposed control framework, the translational or rotational velocity was limited to a small value to guarantee stability. For lateral motion, the desired velocity v dz was set to 0.6 m/s. For forward or backward motion, the desired velocity v dx was set to 0.15 m/s. As an example, the recorded attitude angle data with rotation motions are obtained, as shown in Fig. 11. Equation (27) was used, but the integration period (100 ms) was set to 20 times of the control period (5 ms) to ensure that the over-frequent yaw angle adjustments could be avoided. From 38 to 42 s, as shown by the dashed line, rotational motions were added, and a 45°turn was successfully achieved. Disturbances were observed in both pitch and roll angles, but they diminished after the rotational motions were conducted. Thus, the proposed controller could stabilize the robot after limited interference.   Unlike the pitch angle, the roll angle could be naturally stabilized into a small range near zero. The difference could be attributed to the ratio of the body length and the body width. As indicated in Eq. (12), when the roll angle is considered, 2L b should correspond to the width rather than the length of the robot. Normally, the body width is much smaller than the length. Thus, the dynamics could be changed. However, a comprehensive exploration of this problem is beyond the scope of this study.
The recorded flight and stance phase durations with different t d is plotted to verify the relation between t d and y c ð1Þ, as shown in Fig. 12. The values of the other parameters are as follows: T ¼ 2 s, f co ¼ 0:08π, f st ¼ 0:02π, and A ¼ 30 mm. At a specific value of t d , the flight or stance phase duration fluctuated, even after dozens of hopping cycles; hence, we calculated the mean value within a time period, particularly when the fluctuation was relatively small. y c ð1Þ was derived by considering the flight phase duration and by assuming a robot with perfect free-fall movements. As shown in Fig. 12, a maximum y c ð1Þ of 7.5 cm could be achieved at approximately t d ¼ 0:03 s. Other values of t d would lead to a much smaller y c ð1Þ. When t d > 0:04 s, y c ð1Þ was drastically reduced. Unlike the unit in Fig. 5, the horizontal axis unit of Fig. 12 falls second, but the value is not presented as the percentage of 2π=ω n because ω n cannot be precisely estimated in our experiments. However, given that the stance phase duration is mainly composed of π=ω n , the short stance phase duration of 0.106 s may be used as a rough estimation for π=ω n . Thus, on the basis of Fig. 5, the largest y c ð1Þ can be achieved at approximately 25% of 2π=ω n , but this finding conflicts with the result presented in Fig. 12. In particular, in Fig. 12, the largest y c ð1Þ was achieved at approximately 0.03 s, which was only 14% of the rough estimation of 2π=ω n . This deviation may be explained by the robot needing some time to stretch its leg, whereas in mathematical analysis, the leg stretch can be completed immediately. In our test, f st was set to 0:02π in that the predefined leg stretch should be finished within 0.02 s. If this time is considered, then the "real" t d should be approximately 0.05 s, which is approximately 25% of the rough estimation of 2π=ω n . Thus, the experiment results match the theoretical prediction.

Bounding
The parameters of the bounding tests are listed in Table 2. We also set a range limit to the final p b output in Eq. (29);   in this manner, the leg stretch will not be completely ignored. For the above parameters, the range limit is ½ -15, 15 mm. Figure 13 presents the recorded pitch angle data in successful (solid line) and failed (dashed line) bounding. For the proposed controller, the bounding must start with a side lift. As observed in our experiments, a passively stable bounding on the trampoline was not easy to achieve. The robot either stopped swinging quickly (with a small value of l A ) or tipped over after a few seconds (with a big value of l A ). The dashed line in Fig. 13 provides an example of the tip-over situation when no balance-keeping motions are induced.
With the help of balance-keeping motions, the pitch angle can be stabilized into periodic oscillation, as shown by the solid line in Fig. 13. However, unlike in stable hopping, the moments in which all four legs are on air have not been observed in stable bounding. The two square waves in Fig. 14 represent the periods when the forelegs or hind legs have supported the robot. The squares spread over the timeline without any gaps; thus, a flight phase did not occur in stable bounding. The overlaid parts of the two square waves indicate that moments have occurred when all four legs supported the robot. In our experiments, these moments lasted approximately 0.04 s, and the bounding period was approximately 0.60 s.
According to the literature [20][21][22], stable bounding at moments in which four legs are on air can be naturally achieved. However, in our experiments, extra methods (Eq. (13)) were initially needed to stabilize the bounding gait; additionally, stable bounding at moments in which four legs are on air was impossible to achieve. As depicted by our sagittal plane models, the problem can be explained by the different horizontal contact force generating mechanisms between the two types of jumping. For jumping with springy legs, these legs could provide elastic forces along both vertical and horizontal directions. The horizontal elastic forces generated by the legs could reduce the maximum horizontal contact forces. However, for jumping with stiff legs on a trampoline, the trampoline could only generate vertical elastic forces. Thus, the horizontal contact forces were governed by friction laws and the relative motion trend between the robot and the contact surface. The resultant horizontal contact forces could be much larger and result in a much easier tipping over of the robot. In other words, dynamic bounding gait at moments in which four legs are on air is hard to achieve when jumping on a trampoline. Figure 15 illustrates the recorded altitude angle of the lateral and rotational motion tests. In these tests, Eq. (27) was used to control the yaw angle. Similar to the hopping tests, we set the integration period (100 ms) of Eq. (27) to be 20 times of the control period (5 ms). In this manner, over-frequent yaw adjustments could be avoided. In the present lateral test result ( Fig. 15(a)), we set the desired lateral velocity v dz to be 0.4 m/s from 75 to 78 s after the robot entered a stable bounding state. The amplitude of the pitch oscillation slightly decreased, the frequency of the roll oscillation increased, but the amplitude stayed nearly the same. Thus, the stability of the robot was proven during lateral motion. The yaw angle drifted from -7°to -3°. This drift was in line with expectations, considering that the value of k yaw was tuned to allow a small range of yaw angle deviation (precise control of the yaw angle was not needed). As for forward or backward movement, the maximum value of v dx could be set to 0.2 m/s. Similar to the lateral motion tests, the changes in the amplitude or frequency of the pitch or roll angle oscillation were not apparent.  In the present rotational motion test result ( Fig. 15(b)), we set the desired yaw angle from 0°to 45°between 34 and 44.5 s and then reverted to 0°after 44.5 s. The yaw angle could converge to the newly desired value within 5 s. During the converging process, the amplitude and frequency of the pitch and roll angle oscillation did not show obvious differences compared with those in the norotation motion state. This result differed from the findings generated by the hopping tests in which large disturbances appeared in the pitch and roll angle during rotational motions (Fig. 11). By contrast, in the bounding tests, disturbances were generated when the robot started to rotate. As shown in Fig. 15(b), perturbations of the pitch and roll angle were observed at 34 and 44.5 s, particularly when the robot started rotational motion. According to Eq. (27), the perturbations can be attributed to the maximum difference between the measured and desired yaw angles when a new desired yaw angle was eventually set. At that moment, the resultant angular velocity is also at its maximum.

Conclusions
In this study, we proposed a control framework to achieve stable quadrupedal hopping and bounding on a trampoline. An intuitive approach based on contact-force balance was used to stabilize both the hopping and the bounding. Together with other parallel modules, the robot could perform translation and rotation motions. The control framework did not require any calculation of complex dynamics, indicating its suitability for small servo-driven quadruped robots. However, ignoring the dynamics may limit the performance of the robot and reduce its final translation and rotational speed. In the future, we plan to mount suitable elastic parts to a robot to further test the proposed control framework on hard surfaces with springy legs. For bounding in particular, detailed model analysis and comparative experiments shall be conducted.