
Following the development of the balancing and jumping mechanisms in the previous chapters, a planar monopedal jumping robot, able to perform high and continuous jumps, is introduced in this chapter by combining the jumper and the balancer. This chapter covers the theoretic basis for robotic jumping locomotion as well as simulation studies to analyse the performance of such robot. 


\section{Theoretic basis for robotic jumping}

The standard dynamic model used for jumping and hopping robots is usually the SLIP (Spring-loaded Inverted Pendulum) model \cite{hamzaccebi2015enlarging}. In this model, the robot is seen as a point mass with a massless leg underneath it; the leg can contract and extend linearly and exert force in a elastic manner, hence the name. This section will cover the mathematical model of the SLIP dynamics and control strategies to achieve continuous robotic jumping and locomotion \cite{arslan2009approximate}.

\subsection{The SLIP model}

When robot jumps, it inevitably has a stance phase (when leg is touching the ground) and a flight phase (when robot is in mid-air); robot in a SLIP context is no exception. when the robot is locomoting through jumping, it transitions between the two phases. The transition from flight to stance is called a touch-down and that from stance to flight is called take-off.

\figref{slip_stance} shows the SLIP dynamics during the stance phase. The robot centre of mass (CoM) travels at the velocity of \(v_{td}\) (``td" stands for touch-down) with a angle of \(\phi_{td}\) relative to the upright position. Assume the leg orientation is collinear to the direction of \(v_{td}\), the leg makes contact with the ground at point \((x_{c},0)\) (``c" stands for contact) with attach angle \(\phi_{td}\). The CoM then moves forward as the leg spring first compresses and expands. Eventually, the robot takes off at the velocity \(v_{tf}\) with leg orientation \(\phi_{tf}\). 

\begin{figure}
    \centering
    \includegraphics[width=0.75\linewidth]{pics/SLIP_model_stance.png}
    \caption{The SLIP model during stance phase. \(v_{td}\) is the touch-down velocity and \(v_{tf}\) is the take-off velocity. $k$ is the spring constant of the leg whose length is represented by $l$.}
    \label{slip_stance}
\end{figure}

Assume at the moment of touch-down, the position of the CoM is \((x,y)\), have the equations:
\begin{equation}
    \begin{split}
        y - l_{0}\cos{\phi} & = 0 \\
        x + l_{0}\sin{\phi} & = x_{c}
    \end{split}
\end{equation}
where \(l_{0}\) is the resting length of the leg. The force exerted by the leg spring ($F$) is calculated from:
\[F = k(l-l_{0})\]
where $k$ is the spring constant, $l$ and $l_{0}$ are the current and resting lengths of the leg. Take-off happens when the ground reaction force of the robot drops to zero. In this case, the ground reaction force is equal to leg spring force $F$, thus the robot takes off when \(l=l_{0}\). We can have the relation:
\begin{equation} \label{eq_l}
    l = \sqrt{(x-x_{c})^{2}+(y-0)^{2}}
\end{equation}
where $x$ and $y$ are now the instant position of the CoM. Then, we can begin to obtain the equations of motion (EoM) using Lagrangian dynamics:
\begin{equation} \label{lagrangian}
    \frac{d}{dt}(\frac{\partial L}{\partial\boldsymbol{\dot{q}_{j}}})-\frac{\partial L}{\partial\boldsymbol{q_{j}}}=\boldsymbol{Q_{i}}.
\end{equation}
where $\dot{q_{j}}$, $q_{j}$ and $Q_{j}$ are the velocity, position and external forces in the vector form. The Lagrangian is \(L=T-V\) where $T$ is the kinetic energy and $V$ is the potential energy. They can be expressed as:
\begin{equation} \label{eq_T}
    \begin{split}
        T & = \frac{1}{2}mv^{2} = \frac{m}{2}(\dot{x}^{2} + \dot{y}^{2} ) \\ 
        V & = mgy + \frac{1}{2}k(l-l_{0})^{2}
    \end{split}
\end{equation}
where $m$ is the mass of the robot, $g$ is gravity, \(\dot{x}\) and \(\dot{y}\) are the horizontal and vertical components of the velocity $v$. Since $l$ can be further expanded using \eqref{eq_l}, $V$ can be alse written as: 
\begin{equation} \label{eq_V}
     V = mgy + \frac{1}{2}k(\sqrt{(x-x_{c})^{2}+y^{2}}-l_{0})^{2}.
\end{equation}
It is assumed that there is no external forces or energy lost, thus \(Q_{i}=0\). By plugging \eqref{eq_T} and \eqref{eq_V} into \eqref{lagrangian}, we get the EoMs of the system:
\begin{equation}
    \begin{split}
        m\Ddot{x} & = k(\sqrt{(x-x_{c})^{2}+y^{2}} - l_{0})\frac{(x-x_{c})}{l} \\
        m\Ddot{y} & = k(\sqrt{(x-x_{c})^{2}+y^{2}} - l_{0})\frac{y}{l} - mg
    \end{split}
\end{equation}
during the stance phase. As for the flight phase, the robot is simply in free fall. Thus the flight EoMs are \(m\Ddot{x}=0, m\Ddot{y}=g\).

In this classic SLIP model, as long as the direction of $v_{td}$ is collinear with the leg orientation, the stance dynamics is symmetrical about \((x_{c},0)\), meaning:
\begin{equation} \label{symmetry}
    \begin{split}
         \phi_{tf} & = -\phi_{td} \\
         \dot{x}_{tf} & = \dot{x}_{td} \\
         \dot{y}_{tf} & = -\dot{y}_{td}
    \end{split}
\end{equation}
and if we make sure the leg attack angle during touch-down equals to that of the last jump, the horizontal take-off velocity of every jump thus the speed of locomotion theoretically remains constant. However, the assumption about leg orientation is not always true; when this condition is not met, the stance dynamics becomes asymmetrical. This will be discussed in detail in the next section. 


\subsection{Foot placement control}

We have established the basic robot jumping dynamics according to the SLIP model, the logical next step is to figure out how to manipulate the speed and height of the jumps. \figref{slip_foot} proposes an alternative scenario to the standard SLIP model in which the foot (contact point between the leg and the ground) is placed behind or in front of the original symmetry point. This is due to a mismatch between the direction of touch-down velocity $\phi_{td}$ and the leg orientation $\phi_{l}$. The symmetrical nature of the stance phase dynamics is only maintained by the condition \(\phi_{td} = \phi_{l}\). The direct result of the mismatch is that the take-off velocity and its angle differs from the touch-down one. When the foot is place behind the symmetry point, it is called underrun; when it is in front of the symmetry point, it is called overrun. An underrun causes $\phi_{tf}$ to be larger than $\phi_{td}$ and an overrun leads to the opposite; more specifically, underrun causes \( \dot{x}_{tf} > \dot{x}_{td}\) and overrun leads to \( \dot{x}_{tf} < \dot{x}_{td}\). Therefore, foot placement can enable the robot to accelerate or decelerate. 

\begin{figure}
    \centering
    \includegraphics[width=0.99\linewidth]{pics/SLIP_foot_placement.png}
    \caption{This is a demonstration of what the foot placement affect the take-off angle.}
    \label{slip_foot}
\end{figure}

This idea is used in the Raibert's controller in which the control loops for height and speed are separate and leg orientation during touch-down is manipulated to control the horizontal velocity of take-off thus the locomotion speed \cite{schwind1995control}. The Raibert's controller utilises a simplified version of the SLIP model which introduces the oscillation period \(T_{p}\) as a constant. Since robot mass $m$ and leg spring constant $k$ are known, the robot during stance phase can indeed be seen as a spring-mass system whose period can be calculated as:
\begin{equation}
    T_{p} = 2\pi\sqrt{\frac{m}{k}}.
\end{equation}
Raibert then made an assumption stating the time interval from touch-down to take-off is roughly half of the oscillation period $T_{p}$: 
\begin{equation}
    \Delta T_{p} = \pi\sqrt{\frac{m}{k}}
\end{equation}
where \(\Delta T_{p}\) is the stance duration. From here, an equation can be written based on the horizontal distance travelled by the CoM during stance: 
\begin{equation}
    2l\sin{\phi_{td}} = \dot{x}_{td}\Delta T_{p}
\end{equation}
assuming symmetrical behaviour. This means the touch-down angle can be expressed as a function of the horizontal velocity:
\begin{equation} \label{simple_slip}
    \begin{split}
        \phi_{td} & = \sin^{-1}(\frac{\dot{x}_{td}\Delta T_{p}}{2l}) \\
        & = \sin^{-1}(\frac{\dot{x}_{td}\pi}{2l}\sqrt{\frac{m}{k}}).
    \end{split}
\end{equation}
As mentioned before, the locomotion speed control can be achieve by manipulating the leg orientation during touch-down, thus the controller can be written as:
\begin{equation}
    \phi_{l,i} = \phi_{td,i} + \phi_{correction}
\end{equation}
where $i$ is the "jump index"; here it simply means the current jump. Plugging in \eqref{simple_slip} we get:
\begin{equation} \label{raibert}
    \phi_{l,i} = \sin^{-1}(\frac{\dot{x}_{td}\pi}{2l}\sqrt{\frac{m}{k}}) + K(\dot{x}_{des}-\dot{x}_{td})
\end{equation}
where \(\dot{x}_{des}\) is the desired horizontal velocity and $K$ is the control gain. 


\section{Simulation study}

In this section, a comparative simulation study involving a planar monopedal jumping robot is introduced. There will be cross comparisons between the performances of C-SEA, SEA, AeroTail, and RWs as the jumping and balancing mechanisms respectively. The main purpose of the simulation study is to demonstrate the compatibility and functionality of a jumping robot that combines the aforementioned jumpers and balancers that were introduced as separate devices in the previous chapters. At the same time, the simulation also serves as the validation and visualisation for the advantages of AeroTail and C-SEA leg over their conventional counterparts. 

\subsubsection{Simulation Environment selection}

The integrated simulation environment is implemented in PyBullet, a real-time rigid-body physics engine with native URDF support. Compared to block-diagram-based multi-domain environments such as Simulink/Simscape Multibody, a URDF-described articulated rigid-body framework enables more direct specification of inertial properties, joint constraints, and actuator structure in a format closely aligned with robotic system descriptions. The separation between physical and visual representations, together with script-based parameter control, facilitates rapid design iteration, transparent debugging, and efficient modification of mass distribution and joint configuration. PyBullet further provides stable contact handling and collision resolution, which are essential for modelling impulsive ground contact during jumping.

However, PyBullet does not include native aerodynamic or fluid-dynamics modelling. As a result, aerodynamic effects are represented through equivalent torque terms rather than direct flow simulation. While this abstraction is sufficient for evaluating rotational stabilisation trends, it does not capture full fluid–structure interaction or translational aerodynamic effects. Higher-fidelity alternatives, such as CFD–rigid-body co-simulation using ANSYS Fluent or OpenFOAM, fluid–structure interaction modelling in COMSOL Multiphysics, or robotics simulators extended with aerodynamic plugins (e.g., Gazebo or MuJoCo with external aerodynamic modelling), could be explored in future work to more accurately capture coupled aero-mechanical behaviour.


\subsection{Assumptions regarding aerodynamics}

It should be noted that the integrated PyBullet model does not explicitly simulate fluid dynamics. Since PyBullet does not provide native aerodynamic modelling, the effect of the AeroTail is represented using an equivalent aerodynamic torque $\tau(\omega_t)$ applied about the body pivot, expressed as a function of the tail angular velocity. This formulation captures the dominant rotational drag-induced moment used for stabilisation, while avoiding computationally expensive flow simulation. Forward translational aerodynamic effects on the robot body and tail are not explicitly included in the model. As a result, the simulation focuses on rotational stabilisation and reorientation dynamics and provides an approximate representation of the aerodynamic contribution rather than a full fluid–structure interaction model.

\subsubsection{Effects of forward translation}

When forward body translation is considered, the aerodynamic torque can be
intuitively approximated using a blended velocity term of the form \(\tau \approx \frac{1}{2}\rho\, C_d(Re)\, A\, (\omega r \pm V_{\text{forward}})^2 r,\) which suggests that forward velocity effectively augments or reduces the local relative airspeed depending on the direction of motion. While this indicative expression is useful for conceptual reasoning, the actual aerodynamic interaction is more complex. In practice, when the drag-inducing (DI) frontal area faces the direction of body translation, a drag force acts on the tail centre, whereas when the tail is parallel to the translational direction, the frontal exposure is minimal. As the tail rotates, this produces a periodic, orientation-dependent force component acting on the centre of mass, whose magnitude scales with the forward velocity. 

This behaviour introduces a potential DI design trade-off: minimising frontal area reduces unwanted translational drag forces and associated oscillatory disturbances, while maximising aerodynamic torque favours larger effective area and moment arm. Similarly, although increased effective relative velocity may imply higher torque at a given angular speed, implementing a tail-position-dependent controller gain would be impractical at the high rotational speeds typically used. Instead, control strategies should aim to ensure robustness against the velocity-induced oscillatory disturbance rather than attempting real-time gain modulation.The coupled influence of forward body speed and the corresponding mitigation strategies represent a non-trivial, multi-parameter problem and constitute a research topic in their own right. A comprehensive treatment of these effects is therefore beyond the scope of the present simulation study and is identified as part of future work.


\subsection{Robot model integration}

The integrated jumper-balancer robot consists of a robot body, a leg link underneath it connected by a prismatic joint and a balancer link on its side connected by a revolute joint. This can be easily expressed by a kinematic tree in the URDF file. The first step of preparing for the simulation is transferring usable simulation setups from MATLAB to Pybullet. Unlike MATLAB, Pybullet has its own physics engine, which makes the CVT gearbox modelling difficult since the built-in tools for mechanical system design are not powerful enough to generate realistic results. Thus, a method called "severed robot" is introduced to tackle this issue. We modeled the robot into two "bodies" (kinematic trees): one for the internal system and the other for the external one. The internal system modelling is done using a software block bypassing Pybullet's built-in physics engine, while the external system calculations are done using the physics engine-based functions. For the AeroTail, a major challenge facing the robot modelling needs to be solved as well, namely, Pybullet cannot simulate fluid dynamics. The solution is that we see the aerodynamic effect as a single equivalent torque acting on the mid-point of the tail (also on the CoM of the robot) and the equivalent torque is a function of the tail's angular velocity. Additionally, since the default simulation setting for Pybullet is a 3D GUI and we are simulating a planar jumping robot, the robot's motion needs to be restricted into the 2D plane. This is done by using dummy links and extra joints between the robot body and the "world" link, which confines the robot to a 3 DoF plane.

\subsection{Controller}

Following the introduction to the SLIP dynamic model and the SLIP model-based controller, we have designed our own jumping speed controller that is suitable for our robot model. One critical different between the SLIP model and realistic robotic jumping is that a robot cannot be actuated by only springs, it requires constant energy input to maintain continuous jumping. In our case, the leg spring can be seen as the elastic element in a SEA powertrain and the full dynamic model of the leg mechanism is different from and significantly more complex than the basic SLIP model, but it can be simplified. If look at the equation for the Raibert's controller \eqref{raibert}, the first term on the right hand side (RHS) is a prediction of the touch-down angle estimated from the horizontal velocity; since the only external force during the flight phase is gravity, the touch-down angle should also be the opposite of the last take-off angle: 
\begin{equation}
    \phi_{td,i} = -\phi_{tf,i-1} 
\end{equation}
where $i-1$ simply means the last jump. In this case, equation \eqref{raibert} can be simplified to: \
\begin{equation}
    \phi_{l,i} = -\phi_{tf,i-1} + K_{h}(\dot{x}_{des}-\dot{x}_{td})
\end{equation}
where \(\phi_{tf,i-1}\) is measured at take-off of every jump. However, this controller only works under this condition: the stance dynamics is indeed symmetrical. This required the robot to be only actuated by a spring assuming no energy loss, which is, as we discussed, unrealistic. Through testing, we found that if the leg is actuated by a SEA or C-SEA, the robot always experiences a deceleration after each jump even if the condition \(\phi_{l}=\phi_{td}\) is fulfilled. Therefore, the stance dynamics is not symmetrical about the foot contact point. To compensate for this, the ideal touch-angle should be a little larger than \(\phi_{tf,i-1}\) to create a underrun. Now the controller's expression can be written as:
\begin{equation}\label{velo_control}
    \phi_{l,i} = -\phi_{tf,i-1}\cdot \sigma_{\phi} + K_{h}(\dot{x}_{des}-\dot{x}_{td})
\end{equation}
where \(\sigma_{\phi}\) is called the symmetry factor which "manually" make the stance dynamics symmetrical. In this case, the relation
\begin{equation} \label{constant_speed}
    \phi_{tf,i} = -\phi_{td,i}
\end{equation}
holds true and the horizontal velocity is theoretically maintained; then, any error can be fixed by the second term thus achieving jumping speed control. To derive the analytical answer for \(\sigma_{\phi}\) would be impractical due to the complexity of the forcing pattern. Instead, the value can be obtained by testing. When the forcing pattern stays constant, a single \(\sigma_{\phi}\) can make relation \eqref{constant_speed} true for all initial tilt angle. 


\subsection{Simulation setup}

The simulation will see robots with different configurations (combinations of different mechanisms as the leg and the balancer) complete the same task. The task is locomotion by jumping with constant horizontal velocity towards the same direction for $20$ seconds. The time duration $20$s is chosen because it is long enough for most systems in this scenario to stabilise but too long to avoid redundant data. The internal mechanism and robot parameters remain unchanged for the simulation, only the leg and balancer differ. Like previous chapters, the robot body weighs $100$g with a $10$g leg and its full extension is $0.2$m. The motor model and CVT parameter are identical to the values in \chapref{chap_jump}. There are $4$ combinations: ``SEA-RW", ``CSEA-RW", ``SEA-Aero", and ``CSEA-Aero"; and for RW there are two mass tiers: $10$g and $20$g (assuming the inertia is proportional to mass). The performances of each combination is recorded and compared in $3$ comparative studies to fully demonstrate the advantages of drawbacks of every mechanisms individually and when they are used in combination. 
\begin{itemize}
    \item Study 1: When both robots use RW as the balancer, their performances from using the SEA and C-SEA as the leg mechanism are compared.
    \item Study 2: When both robots use traditional SEA as the leg mechanism, their performances from using the RW and AeroTail as the balancer are compared.
    \item Study 3: A through comparison between a robot combining SEA and RW and a robot integrating C-SEA and AeroTail is conducted. This study also includes a discussion of the specific advantages of using the C-SEA and AeroTail in combination over individually in a jumping locomotion scenario. 
\end{itemize}
The 2-tier system is introduced for the RW because of their inertial nature making their mass values significantly affect the performance of the robot. In this case, it is scientifically meaningful to compare their performances. In the past robot designs, the RW is usually between $10\%$ to $20\%$ of the body mass \cite{ambrose2022creating}\cite{haldane2016robotic}. Therefore, for a $100$g robot, we took a upper and lower bound for the value. For every combination, the motor pre-retraction, \(\sigma_{\phi}\), and \(K_{h}\) that gives stable performances are obtained by trials. The simulation results are demonstrated in the next section. 


\subsection{Simulation results}

In this section, the results from each of the $3$ studies are illustrated. \figref{full_robot_pic} show screenshots of the simulation in which robots equipped with RW and AeroTail completing a single jump (flight plus stance phase).


\begin{figure}
    \centering
    \includegraphics[width=0.99\linewidth]{pics/Full_robot_pic.png}
    \caption{This figure include screenshots from the full robot simulations. They show the robot starting with the first jump, completing a flight phase, landing, and completing a stance phase to the second jump. The RW is shown in red and the AeroTail is shown in green.}
    \label{full_robot_pic}
\end{figure}


\subsubsection{Study 1}

In study 1, we compare the SEA and C-SEA leg mechanism with the choice of RW balancer as the controller variable thus no AeroTail is examined. However, we do have $2$ mass tiers for the RW and they will be compared in this study. First of all, a straightforward comparison between the ground reaction forces (GRF) experienced by the SEA and C-SEA robots are shown in \figref{study1_ground}. Comparisons are made within their own mass tiers. We can easily see the difference peak ground reaction forces when CVT is included. In a single jump, the shape of the GRF curve for the SEA leg is "shape" and has a high peak value while that of the C-SEA is more evened out forming a little "plateau" at the peak. The average peak GRF can be found in \tabref{tab_chap6_sim}. For the $10$g tier, SEA have a average peak GRF of $9.514$N, C-SEA has $5.156$N which roughly halves the former value. The same observation can be made for $20$g tier. 

\begin{figure}
    \centering
    \includegraphics[width=0.9\linewidth]{pics/Ground_reaction_force_compare1.png}
    \caption{Ground reaction force comparisons between SEA and C-SEA leg mechanisms from the $10$g tier are shown in top plot and those from the $20$g tier are shown in the bottom plot.}
    \label{study1_ground}
\end{figure}

The jumping heights for some of the configurations are shown in \figref{study1_height}. The height reached by the C-SEA during the run time roughly matches that of the SEA which is slightly advantageous towards the end. In the previous chapter, we have established that the C-SEA can reach higher vertical jumps with fully charged leg than SEA. This observation still holds true here since in the first jump, the height reached by C-SEA is still better. However, this advantage does not carry over to continuous jumping. The reason is likely the imperfection (used to avoid mathematical invalidity) in the pitch curve of the NC gear set, which induces a small energy loss. That being said, the average apex height for C-SEA is $0.776$m, only $4.1\%$ smaller than the $0.809$m of the SEA. This sacrifice is worthwhile for the $45.8\%$ reduction of the peak GRF. As expected, robot with the same leg mechanism jumps higher when equipped with the $10$g RW since the overall mass of the robot is lower. For C-SEA, the average apex is $0.677$ for the $20$g tier, $16.3\%$ lower than the $10$g tier. 

\begin{figure}
    \centering
    \includegraphics[width=0.9\linewidth]{pics/Jump_height_compare1.png}
    \caption{The top plot compares the jump height of robots with different leg mechanism but from the same mass tier. The bottom plot compares the two mass tiers but both use C-SEA legs.}
    \label{study1_height}
\end{figure}

The next metric to compare is the energy consumption. When the robots use the same motor with same voltage input, a lighter robot naturally achieves a better take-off velocity and thus higher jumps. Another pro for a lighter robot is that less energy is required to reach the same jump height. One source for this weight reduction is the RW which required inertia to function. In this part of the study, we examine the effects of this attempted mass reduction by reducing the weight of the RW. \figref{study1_power} demonstrates the mechanical power output from the leg and balancer motors. The total energy consumed can be calculated from the area under the plots. For the leg mechanism, the $10$g tier costs $6.763$J of energy during the run time, which is expectedly lower than the $6.860$J for the $20$g tier. However, the energy consumption for the balancer rises from $0.403$J to $0.608$J, a $50.9\%$ increment. This is due to the fact that lighter RWs experience higher acceleration when providing the same correcting torque, giving them a higher angular velocity during the run time. In this case, the overall energy consumed by the $20$g tier robot is $7.263$J, outperforming the $7.371$J of the $10$g tier even though the latter has smaller mass. 

\begin{figure}
    \centering
    \includegraphics[width=0.9\linewidth]{pics/Energy_consumed_compare1.png}
    \caption{The power output comparison between the mass tiers for leg motor and balancer motor are shown in the top and bottom plots respectively. Only the C-SEA is used in this figure.}
    \label{study1_power}
\end{figure}


\subsubsection{Study 2}

Study 2 introduces comparisons between the RW and AeroTail as individual devices in a jumping locomotion scenario. Therefore, the leg mechanism is the controlled variable and only SEA are used. The first observation we made is that the AeroTail requires less motor effort for the same task. An average torque input of only $1.578\times10^{-3}$Nm is observed for the AeroTail compared to the $1.728\times10^{-3}$Nm and $1.699\times10^{-3}$Nm for the RWs ($10$g tier and $20$g tier respectively).

\begin{table} %[t]
\centering
\caption{The average balancer torque input comparison}
%\vspace{3mm}
\begin{adjustbox}{max width=\linewidth}
\begin{tabular}{lccccl}
\toprule
\vspace{1mm}
Robot Config. & SEA \& RW10g \quad & SEA \& RW20g \quad & SEA \& AeroTail \\
\hline 
Balancer effort (Nm) \rule{0pt}{2.6ex} & $1.728\times10^{-3}$ & $1.699\times10^{-3}$ & $1.578\times10^{-3}$ \\
%
\bottomrule
\end{tabular}
\end{adjustbox}
\label{tab_stability}
% \vspace{-2mm}
\end{table}

The power output of the motors are compared in \ref{study2_power}. Again, from the power plot we can calculate the total energy consumption of the motors during run time. We found that the AeroTail consumes more energy ($0.967$J for AeroTail and $0.950$J for the $10$g RW) yet the leg motor on the robot with the AeroTail has lower energy consumption then the RW ($5.739$J for AeroTail and $6.117$J for the $10$g RW). The extra energy required for the AeroTail is from the acceleration process before reaching the target angular velocity since the AeroTail's torque generation depends on its speed unlike the instantaneous impulse of the RWs. In previous chapters, we have established that the AeroTail can be energy efficient when the correction angle is large or constant torque needs to be maintained; because in that case, having a dependent angular velocity mean lower average speed thus less energy requirement. This advantage does not carry over to the continuous jumping robot scenario. That being said, the lightweight AeroTails reduces the overall mass compared to the RW and the leg motor energy consumption decreases. This leads to the overall energy consumed by the AeroTail robot being $6.706$J, outperforming the $7.07$J of RW by $5.4\%$.

\begin{figure}
    \centering
    \includegraphics[width=0.9\linewidth]{pics/Energy_consumed_compare2.png}
    \caption{The power output comparison between the AeroTail robot and RW $10$g robot for balancer motor and leg motor are shown in the top and bottom plots respectively.}
    \label{study2_power}
\end{figure}

As we have mentioned that the AeroTail takes time to accelerate to the target speed in order to generate correction torque, the delay in AeroTail's response could theoretically compromise the performance stability. However, this is not true in the robot jumping locomotion scenario and we have found a straightforward to quantify the stability of locomotion. Because of the nature of serial-elastic jumping, the take-off angle and thus horizontal velocity of the robot can differ a lot if the touch-down angle is off due to the balancer not converging in time. Therefore, an underperforming balancer could lead to the horizontal velocity varying significantly from one jump to another. In \tabref{tab_SD}, we calculated the standard deviations($\sigma$) of the horizontal velocity for all robot configurations. We found that the AeroTail robot actually has a smaller $\sigma=0.084$ than its RW counterparts who have $0.114$ (for $10$g tier) and $0.137$ (for $20$g tier). This proves that the AeroTail's response delay is negligible for the task. It is more than capable of re-orient the robot body in time of the touch-down and is a complete viable replacement for the RW in this scenario in terms of stability. 


\subsubsection{Study 3}

\begin{table}
\centering
\caption{Simulation results: averages and sums of the plotted values.}
%\vspace{3mm}
\begin{adjustbox}{max width=\linewidth}
\begin{tabular}{lccccl}
\toprule
\vspace{1mm}
Robot Config. & GRF (N) \quad & Apex Height (m) \quad & Leg energy (J) \quad & Balancer energy (J)\\
\hline 
SEA \& RW10g \rule{0pt}{2.6ex} & $9.514$ & $0.809$ & $6.117$ & $0.950$ \\
%
SEA \& RW20g & $9.504$ & $0.712$ & $6.507$ & $0.629$ \\
%
C-SEA \& RW10g & $5.156$ & $0.776$ & $6.763$ & $0.608$ \\
%
C-SEA \& RW20g & $5.185$ & $0.677$ & $6.860$ & $0.403$ \\
%
SEA \& AeroTail & $9.795$ & $0.864$ & $5.739$ & $0.967$ \\
%
C-SEA \& AeroTail & $5.114$ & $0.860$ & $5.703$ & $1.017$ \\
\bottomrule
\end{tabular}
\end{adjustbox}
\label{tab_chap6_sim}
% \vspace{-2mm}
\end{table}

\begin{table}
\centering
\caption{Stability: average velocity and standard deviation.}
%\vspace{3mm}
\begin{adjustbox}{max width=\linewidth}
\begin{tabular}{lccccl}
\toprule
\vspace{1mm}
Robot Config. & Horizontal velocity (m/s) \quad & Standard Deviation ($\sigma$) \\
\hline 
SEA \& RW10g \rule{0pt}{2.6ex} & $0.606$ & $0.114$ \\
%
SEA \& RW20g & $0.555$ & $0.137$ \\
%
C-SEA \& RW10g & $0.634$ & $0.247$ \\
%
C-SEA \& RW20g & $0.620$ & $0.172$  \\
%
SEA \& AeroTail & $0.550$ & $0.084$  \\
%
C-SEA \& AeroTail & $0.606$ & $0.205$  \\
\bottomrule
\end{tabular}
\end{adjustbox}
\label{tab_SD}
% \vspace{-2mm}
\end{table}


In the final study, we compare Robot-A with SEA and RW ($20$g tier) to Robot-B with C-SEA and AeroTail in term of all relevant metrics mentioned before to examine the general advantages of using the C-SEA and AeroTail in combination. In \figref{study3_full}, the plots for ground reaction force, jump height, leg motor and balancer motor power output are shown. As expected, the average peak GRF of Robot-B is $5.114$N, halving the $9.504$N of Robot-A. The average apex height for Robot-B is $0.860$m, which outperforms the $0.712$m for Robot-A. Even though the C-SEA has a slight height disadvantage during repetitive jumping, the robot being overall lighter helps to improve the jump height. For energy consumption, having the AeroTail increases the balancer's own consumed from $0.629$J to $1.017$J but also manages to cut down the leg motor consumption from $6.507$J to $5.703$J. Overall, the energy consumed by Robot-B is $6.72$J, which outperforms the $7.136$J of Robot-A by $6.2\%$. Further ablation that compare the performance of all other jumper-balancer combinations can be found in \secref{full_sim_supp_figures} in Appendix.\ref{app_supp}.

The results in study 3 reveals the advantages of using AeroTail and C-SEA in combination that are not clear in previous studies. For example, the reduced mass due to the lightweight nature of the AeroTail overwrites the jump height disadvantage of the C-SEA. Furthermore, when the robot's overall energy consumption is in question, the extra energy consumed by the AeroTail alone can be overlooked. To summarise, the Robot-B that is equipped with C-SEA and AeroTail have significant advantages in terms of jump height, ground reaction forces and energy consumption. 

\begin{figure}[h]
    \centering
    \includegraphics[width=0.9\linewidth]{pics/Full_comparison_3_1.png}
    \caption{The ground reaction forces, jump heights, leg motor and balancer motor power outputs are compared in this figure between Robot-A and Robot-B. Note that Robot-A is with SEA and RW $20$g and Robot-B is with C-SEA and AeroTail.}
    \label{study3_full}
\end{figure}


\subsection{Monte-Carlo sensitivity study}

\subsubsection{Setup}

A light Monte Carlo analysis ($N \approx 200$ per case) was conducted to assess parametric sensitivity of the closed-loop hopping system under bounded uncertainty. Three perturbation scenarios were considered:

\begin{enumerate}
    \item \textbf{All parameters scaled:} aerodynamic coefficients ($C_d$, air density $\rho$, DI area $A$) and controller gains ($K_p$, $K_d$, $K_h$) simultaneously scaled by $\pm 10\%$. Note that $K_p$ and $K_d$ are the gains for body angle re-orientation and $K_h$ is the velocity gain in \eqref{velo_control}.
    \item \textbf{Aerodynamic-only scaling:} $C_d$, $\rho$, and $A$ scaled by $\pm 10\%$ while controller gains remained nominal.
    \item \textbf{Controller-only scaling:} $K_p$, $K_d$, and $K_h$ scaled by $\pm 10\%$ while aerodynamic parameters remained nominal.
\end{enumerate}

For each trial, simulation was executed for a fixed horizon and classified as successful if these following conditions are met during run time.

\begin{itemize}
    \item The robot does not tip over or fall to the ground.
    \item The jumping is continuous and does not terminate prematurely.
    \item Only forward translation occurs with no backward jumping or hovering.  
\end{itemize}

This Monte-Carlo study uses the (C-SEA \& AeroTail) combination and it has two outputs: the success rate according to the criteria above, and $\bar{\sigma}$, which is the standard deviation of jumping velocity taken average across all the samples. 


%To quantify gait consistency, the forward velocity metric was defined as:

%\[\sigma_{v_x}=\mathrm{std}\left(\bar v_x^{(1)}, \bar v_x^{(2)}, \dots, \bar v_x^{(M)}\right),\]

%where $\bar v_x^{(j)}$ denotes the mean forward velocity during the $j$-th flight phase. This definition isolates cycle-to-cycle variability of the hybrid limit cycle rather than instantaneous timestep fluctuations.

\subsubsection{Results}


\begin{table}[h]
\centering
\caption{Monte Carlo results under $\pm 10\%$ parameter scaling.}
\vspace{3mm}
\label{tab_mc}
\begin{tabular}{lcc}
\toprule
\textbf{Scaling Scenario} & Success Rate (\%) & $\bar{\sigma}$(m/s) \\
\midrule
All parameters scaled      & 78.5 & 0.229 \\
Aerodynamic only           & 86.0 & 0.240 \\
Controller gains only      & 84.5 & 0.238 \\
\bottomrule
\end{tabular}
\end{table}

The results for $\pm 10\%$ scaling are summarised in \tabref{tab_mc}. Several observations can be made. First, success rates remain above $75\%$ in all cases, indicating that the closed-loop system retains a substantial practical region of attraction under moderate parametric variation. This confirms that the controller achieves reliable task execution in the neighbourhood of the nominal design point.

Second, aerodynamic-only and controller-only perturbations yield comparable performance, with only modest changes in $\bar{\sigma}$. This suggests that neither aerodynamic uncertainty nor gain variation alone dominates the closed-loop behaviour at the $\pm 10\%$ level. Instead, performance depends on the coupling between aerodynamic drag torque magnitude and feedback gain selection.

Third, simultaneous scaling of both aerodynamic parameters and controller gains results in a slightly reduced success rate compared to individual perturbations. This reflects the non-linear interaction inherent in the hybrid flight–impact dynamics: scaling gains modifies the effort of attitude regulation, while scaling aerodynamic parameters alters flight-phase damping and torque generation. The combined effect shifts the closed-loop limit cycle and reduces the effective basin of attraction relative to the isolated perturbations.

Importantly, the controller was tuned for nominal task execution, namely, sustained forward hopping with attitude regulation, rather than worst-case robust stability. The Monte Carlo analysis therefore characterises sensitivity rather than guaranteeing global parametric robustness. The observed reduction in success rate with increasing uncertainty is consistent with a non-linear underactuated hybrid system possessing a finite region of attraction rather than global stability margins. Enhancing robustness through gain scheduling, adaptive estimation of aerodynamic coefficients, or structured robust control synthesis remains an avenue for future work.


