1. Introduction
The forms and functions of robots have become diverse due to the continuous iteration of their structures and control algorithms [Reference Chen, Peng, Wang, Tu, Hu, Wang, Cheng and Zhu1–Reference Chen, Han, Li, Shen, Tu, Yu, Zhang, Cheng, Zhu and Dong4]. The robots have become lighter, stronger, and more intelligent, which has improved their agility. In addition, the robots’ ability to adapt to the terrain was further enhanced through the use of deep reinforcement learning [Reference Bledt, Powell, Katz, Di Carlo, Wensing and Kim5–Reference Yang, Jiang, He, Na, Li and Xu7]. However, when a robot is confronted with a large and discontinuous terrain, it must resort to jumping to achieve spatial movement [Reference Li, Cong, Yang and Yang8–Reference Yin, Yan, Wen and Zhang14]. Imitating the behavior of animals during the jumping process can also yield certain effects [Reference He, Meng, Liu, Fan, Liu, Sato, Ming and Huang15–Reference Sato, Miyamoto, Sato, Ming and Shimojo18]. During the jumping process, the robot’s body experiences high energy demands in a short time. The primary factors that hinder quadruped robots from successfully navigating vertical obstacles in natural environments are the need to increase joint burst torque during the jumping process and to reduce the torque output pressure.
Optimizing the trajectory to achieve the optimal joint torque for the jumping process is an attractive option. Park et al. [Reference Park, Wensing and Kim19] propose an optimization-based jumping method for a quadruped robot with elasticity. They plan the optimal launching area and the positions of the center of mass (CoM) and feet using Bézier curves. Zhang et al. [Reference Zhong, Luo, Fan and Zhao20] optimize the efficiency of the jump by minimizing the ground reaction forces (GRF) in the area of the CoM space and the joint torques in the joint space.
Other approaches, such as reducing the weight and improving the efficiency of the joint motor, can increase the efficiency of the jump. A low-cost, lightweight quadruped robot capable of a 41 cm vertical jump has been proposed [Reference Grimminger, Meduri, Khadiv, Viereck, Wüthrich, Naveau, Berenz, Heim, Widmaier and Flayols21]. The structure has been optimized, and materials have been changed to reduce the pressure exerted on the joint during jumping.
Additional energy storage components were incorporated to enhance joint torque during jumping. Jumping behavior is ubiquitous in the natural world, and grasshoppers are particularly notable for their ability to jump, relying on their unique energy storage mechanism to increase their power output during the jumping phase [Reference Chen and Hao22,Reference Bennet-Clark23]. Based on this, promising jumping performance has been demonstrated by small jumping robots with energy storage components [Reference Burdick and Fiorini24–Reference Zhao, Xi, Gao, Mutka and Xiao27]. Haldane and Yim et al. [Reference Haldane, Yim and Fearing28,Reference Yim and Fearing29] demonstrated the jumping capability of the Salto robot, which weighed 100 g and achieved a maximum jump height of approximately 1.007 m. They subsequently proposed the Salto-1P, which increased the jumping capability by approximately 25% with almost no change in weight. The jumping performance of the Salto-1P robot was further enhanced [Reference Yim, Wang and Fearing30]. The application of elastic energy storage components in small robots is already well established. In the case of legged robots, the assistance of elastic energy storage components in jumping can effectively increase the explosive power of the legged robot launch, resulting in better jumping performance.
Although the jumping algorithm has improved the efficiency of jumping through trajectory planning, weight reduction, and increased hardware performance, there has been little optimization in terms of hardware structure. The algorithm cannot provide additional power beyond the motors for the robot’s jumping. Here, we developed a parallel-legged robot with elastic energy storage components and established the robot’s control system. To achieve higher jumping efficiency and energy utilization, we optimized the stiffness coefficient of the energy storage components, taking into account stability, and determined the optimal stiffness coefficient for the energy storage spring. Furthermore, we analyzed the energy changes of the quadruped robot during the jumping process, validating, and quantifying the energy storage effect of the elastic energy storage components.
The remainder of this article is organized as follows. Sect. 2 introduces the overall energy storage structure design and control system construction of the quadruped robot. Sect. 3 presents the dynamic model of the quadruped robot, including the modeling and parameter optimization of the elastic energy storage components. Sect. 4 describes the simulation experimental results and comparative analysis. Sect. 5 concludes and suggests potential research trajectories.
2. Structure design
2.1. Energy storage structure
The quadruped robot utilizes an energy storage structure to enhance its jumping ability. To achieve this, an elastic energy storage structure, as depicted in Fig. 1, is designed based on leg bending and energy storage, which is driven by dual motors.
The installation position is shown in Fig. 1(a). The hind legs of the robot adopt a diamond-shaped parallel structure. The length of the spring in the compressed leg changes from its original length when the robot transitions from free-standing to the energy storage state, as shown in Fig. 1(b). The initial spring length is maintained when the robot’s legs are in the initial state. Replace the original leg structure of the standard quadruped robot with the structure in Fig. 1.
2.2. Dynamics
The dynamic equations are established using the general form of the Lagrange dynamic equations, as the rear leg has a parallel leg structure.
As shown in Fig. 2(a), a coordinate system is established using the left leg as an example, with the hip joint as the origin. The center of mass of each rod should be considered at the center of its form. The velocities of the center of mass of the four rods are:
where $\dot{x}_{Oi}$ (i = 1 to 4) and $\dot{z}_{Oi}$ are the velocities along the x-axis and z-axis. The four rear leg rods have lengths a, b, c, and d, respectively. $\theta _{1}$ represents the angle between the rod 1 and the vertical direction, typically with a positive value. Similarly, $\theta _{2}$ represents the angle between rod 2 and the vertical direction, typically with a negative value. The system’s total translational kinetic energy is
The angular velocity of the four rods $\omega _{Oi}$ can be expressed as
The system’s total rotational kinetic energy is
where $I_{i}$ is the moment of inertia of the $i$ -th rod about the y-axis with respect to the Centroid frame, the Centroid frame represents a coordinate system with the robot’s center of mass as the origin, where the y-axis aligns with the {H} coordinate system, and the x-axis follows a right-handed orientation along the rod. $m_{i}$ is the mass of the $i$ -th rod, and $\omega _{Oi}$ is the angular velocity of the $i$ -th rod with respect to the frame{H}.
The gravitational potential energy of the system is calculated with respect to the z = 0 plane of the frame{H}, which is taken as the point of zero potential energy.
Set the coefficient of elasticity of the spring to be $k$ , and establish the relationship between the spring length and the angle of the joint.
The elastic potential energy of a spring in a system can be calculated using the following formula.
where l is the length of the spring, and l 0 is the original length of the spring. The Lagrangian equations with a nonpotential force are expressed as
The GRF is transformed into a nonpotential force.
where F x and F y are the horizontal and vertical components of the foot force calculated from the single rigid body model, respectively.
By substituting Equations (6), (11)–(15) into the general form of the Lagrange equation, we can obtain
The solution provides the joint torques
where
2.3. Overall structure
The quadruped robot has a total of eight degrees of freedom. Each leg has two degrees of freedom. The front legs have a series of segments with a concave elbow design, while the hind legs have a parallel leg structure. The hind legs have a larger number of links, which shifts the overall center of mass rearward. As a result, the front legs require relatively lower torque. The quadruped robot’s front legs use a synchronous belt drive, while the hind legs utilize energy storage springs and a pulley drive with a reduction ratio to increase their maximum torque output. Figure 3 illustrates the overall structure of the robot.
2.4. Jump controller
This paper focuses on the role of the energy storage element in the jumping process and briefly describes the control framework depicted in Fig. 4. The motion scheduler receives input velocity instructions, schedules joint positions and velocities, and determines the contact time of each foot. The model predictive control utilizes a three-dimensional single rigid body model to calculate ground reaction forces, and the simplified model enhances computational efficiency. The leg dynamics model calculates feedforward torques for the joints, which are then combined with PD (Proportional-Differential) control to achieve motor control for the joints. The orientation of the body is estimated using readings from the IMU (Inertial Measurement Unit) gyroscope and accelerometer. Additionally, the velocity and position of the body are estimated using a linear Kalman filter.
3. Dynamics model
After determining the structure of the quadruped robot, the single rigid body dynamics model of the quadruped robot was established using model predictive control to generate the corresponding GRF. The mapping torque of each joint was calculated from the kinetic models of the front and back legs.
3.1. Model predictive control
Figure 5 shows the global coordinate {W} and body coordinate {B}. The translational and rotational acceleration of the rigid body are obtained using Newton’s Euler equations [Reference Kim, Di Carlo, Katz, Bledt and Kim31]
where ${}^{W}{\ddot{\boldsymbol{p}}}{_{com}^{}}$ and ${}^{W}{\boldsymbol{f}}{_{n}^{}}$ (n = 0 to 3) are three-dimensional vectors representing the robot’s acceleration and GRF with respect to the global frame. W g is the gravitational acceleration. $\boldsymbol{I}\in \boldsymbol{R}^{3\times 3}$ is the rotational inertia tensor and ${}^{W}{\boldsymbol{\omega }}{_{WB}^{}}$ is the angular velocity of the body with respect to the global frame. ${}^{W}{\boldsymbol{r}}{_{i}^{}}$ is the position of $i$ -th contact point with respect to the CoM of the robot. $m_{\textit{total}}$ is the robot’s body mass.
The conversion of the moment of inertia of rotation from the body frame to the oriented body frame {P} is as follows.
The oriented body frame aligns with the world coordinate system in direction, with the origin coinciding with the body coordinate system. $^{W}\boldsymbol{R}_{B}$ is a rotation matrix. Set the system state variables $x$ :
where $\boldsymbol{\varTheta }$ is the Euler angle to represent body orientation. ${}^{W}{\boldsymbol{p}}{_{com}^{}}$ and ${}^{W}{\dot{\boldsymbol{p}}}{_{com}^{}}$ are the robot’s position and robot’s velocity with respect to the global frame. We have made some assumptions because the jump process is a two-dimensional plane. Since the yaw and roll angles vary very little, we can assume that the differential of Euler angles maps to angular velocity as follows:
where $\dot{\phi }, \dot{\Phi }$ and $\dot{\psi }$ represent the yaw, pitch, and roll of the body orientation. The dynamics of the system can be expressed as
where
where $\Pi$ 3∈R3 is the identity matrix.
Discretize the process:
Using a discretized equation of state, the GRF is predicted for the subsequent n cycles of the jumping phase:
We construct a QP that minimizes
where
$\boldsymbol{D}$ is the desired state of the system. The following constraints are presented below. The limits of the friction cone are as follows:
S i denotes the contact of leg i. The contacted constraints are expressed as
Quadratic programming can be utilized to calculate the optimal sequence of foot end forces. The first set of foot end forces that are optimized to produce this sequence should be used as the desired foot end forces.
The method for joint control is as follows:
where $\tau _{ff}$ is the feedforward torque and $k_{p}$ and $k_{d}$ represent the position stiffness and the velocity stiffness. The simulation controls the motor using five parameters: $\tau _{ff}, k_{p}, k_{d}, q_{ref}, \dot{q}_{ref}$ .
The command for the acceleration of the center of mass of a quadruped robot involves the stiffness coefficient and damping coefficient. This command is given by the following equations:
where $\hat{\boldsymbol{\omega }}\theta$ is the exponential coordinate of the rotation matrix.
3.2. Optimization of the spring coefficient
The spring coefficient k of the rear leg joint has a significant impact on the joint torque. A larger spring constant results in greater energy being stored in the system, but it also demands more torque from the motor for energy storage. During the energy storage phase, the reverse torque required by the motor increases with the spring constant k. It is important to ensure that the reverse torque of a single motor does not exceed the rated torque. When the energy storage state of the system reaches a predetermined maximum state, the maximum torque of the motor should not exceed the maximum torque of the motor without springs.
In the energy storage state, the elongation of the spring is determined without considering the velocities and accelerations of the system’s various components.
The dynamic model of the hind leg is used to determine the maximum torque. It represents the state of maximum energy storage during the energy storage phase.
The variables Fx and Fy represent the horizontal and vertical components of the force on the foot end of the back leg when the robot is at rest. Additionally, $\theta$ represents the joint angles after the energy storage in the energy storage phase. All moments must satisfy the following constraints.
where $\tau _{1-std\max }$ and $\tau _{2-std\max }$ represent the maximum torque of joint 1 and joint 2 during the storage energy and jumping process without the elastic energy storage component (k = 0). $T_{\max }$ stands for the peak torque of the joint motor.
The Equations (48–51) show that $\tau _{1}$ and $\tau _{2}$ should be less than the maximum moment of the quadruped robot during the process of completing the predetermined jumping target velocity, including the energy storage phase and the jumping phase.
To determine the optimal spring coefficient, in the case where the quadrupedal robot is in the state of maximum stored energy and the constraints of Equations (48) and (49) are satisfied, and the relevant parameters are brought into the Equaions (47). We then solved for the optimal spring coefficient.
3.3. Analysis of system energy efficiency
After determining the optimal spring coefficient for the motor, the hardware parameters for the entire system can be established. Next, an energy analysis of the entire quadruped robot system is conducted.
During the energy storage phase, the quadruped robot transitions from a freely standing state to the posture where energy is stored. The velocity of the CoM of the robot is very slow during this process, and the total energy of the system does not account for the robot’s kinetic energy. The ground where the robot is located is taken as the zero potential energy point. The system’s total energy is given as
where h 1 is the height of the center of mass during the energy storage phase. The energy output of the motor is :
where τ j denotes the moment of the j-th joint. During the jumping phase, the quadruped robot initiates a jump from a posture where energy is stored, resulting in both feet leaving the ground. After this phase, the robot’s total energy can be calculated.
where h 2 is the height of the center of mass during the jumping phase. The energy output of the motor is as follows:
Similarly, the energy for each phase of the system can be calculated without the presence of a stored energy spring ( $k=0$ ). Details are given below.
To describe torque optimization more objectively, we use the Equation (60) to define the torque saving factor.
The maximum torque of the two motors in the back leg (k = 600) is $\tau _{1-\textit{sprmax}}$ and $\tau _{2-\textit{sprmax}}$ . Additionally, the energy-saving factor can be determined as
The motor’s energy outputs at standard state ( $k=0$ ) are represented by $W_{1\_ std}$ and $W_{2\_ std}$ , while they are represented by $W_{1\_ spr}$ and $W_{2\_ spr}$ at the added spring state ( $k=k_{op}$ ). This allows the calculation of the robot’s energy change over time.
4. Experiment and analysis
4.1. Parameter determination
The simulation experiment for this robot was conducted on the Webots platform using a self-designed quadruped robot model. The simulation parameters are detailed in Table I. The stiffness coefficient and damping coefficient of centroid position, angle, and eight motors are detailed in Table II.
4.2. Jumping process
The quadruped robot stores energy through downward pressure, as shown in Fig. 6. Once the center of mass reaches the predetermined position, it initiates the jumping phase. The quadruped robot undergoes a power accumulation phase (0–300 ms), followed by a takeoff phase (300 ms–400 ms), and finally an air phase (400 ms–720 ms).
4.3. Results
To compare the subsequent addition of an elastic energy storage component, we first tested the quadruped robot without the energy storage component (i.e. k = 0) during both the downward pressure and jumping phases. To reduce the impact of jumping velocity on the elastic energy stored during jumping, we used a target velocity of 2.5 m/s vertically in this study. Figure 7 illustrates the variation in joint torque during the takeoff phase for the hind limb joints. The feedforward torques, τ1,ff and τ2,ff, were calculated based on the dynamic model of the energy storage structure mentioned earlier for joints 1 to 2, while τ1 and τ2 represent the actual torque changes for the corresponding joints. The same applies to joints 3 and 4. The graph indicates that each joint exhibits a peak in output torque at approximately 310 ms. Figure 8 displays the angular variation of the hind limb-driven joints during the takeoff phase. The desired joint angles for joints 1 to 4 are represented by θ 1,des to θ 4,des, while the actual joint angles are represented by θ 1 to θ 4. Both graphs demonstrate that the error between the actual joint torques and angles is less than 10%, thus validating the correctness of the hind limb dynamics.
Figure 9 shows the variation of joint torque over time under different elastic coefficients at the same target velocity. It has been observed that within a certain range, increasing the elastic coefficient k results in a relatively smaller overall torque sequence for the hind leg motors, without considering the motor torque limit. However, a large elastic coefficient leads to significant torque fluctuations, indicating an unstable system state.
The relationship between joint motor torque and various elastic coefficients is derived by transforming Equation (47), as shown in Fig. 10. τ 1,ff and τ 2,ff represent the relationship between the actual feedforward torques of joint 1 and joint 2 under maximum energy storage conditions and the stiffness coefficient of the spring. As the stiffness coefficient increases, the required torque to drive the joint decreases, as shown in Fig 9. To ensure that the maximum torque of the motor is smaller than the maximum torque without the energy storage structure installed, the optimal elasticity coefficient is calculated as
According to Fig. 7, the maximum torques of the motor are 15 Nm and –17 Nm, respectively. To ensure system stability, minimize spring torque fluctuation, and maintain a sufficient safety margin, the optimal elastic coefficient is set at 600 while meeting this condition. Figure 11 shows the variation in motor joint torque from the energy storage phase to the jumping phase. During the transition from the energy storage phase to the takeoff phase, there is a sudden surge in motor torque. Figure 12 depicts the variation in the robot’s CoM height and velocity. The energy storage phase is represented by the period from 0 to 300 ms, during which the robot’s center of mass height decreases from 0 ms and reaches the predetermined height by 300 ms, marking the end of the energy storage phase. At 301 ms, the robot’s joint torque sharply increases, initiating the jumping phase. The jumping phase concludes at 400 ms when the robot reaches the predetermined center of mass velocity, signifying the end of the jumping phase. Figure 13 illustrates the variation in spring length. The spring length gradually increases during the energy storage phase and reaches its maximum length upon completion of this phase. During the jumping phase, the length of the spring decreases rapidly, providing an additional explosive force for the jumping process of the robot.
Equations (48)–(55) can be used to calculate the energy variation of the robot at different times. Figure 14 illustrates the total energy variation of the quadruped robot without elastic energy storage. The change in gravitation potential energy while crouching is stored by the springs as elastic potential energy, and this energy in turn is used in the jumping phase. This increases additional output power.
Equation (60) shows that at the target velocity, the torque reduction factors for the left and right hind legs of the robot are 0.1821 and 0.1978, respectively. The addition of elastic energy storage components enables the robot to significantly reduce motor torque output pressure during energy storage and jumping phases. Calculations based on Equation (61) demonstrate that the energy storage components enhance the energy utilization of the robot by collecting the reduced gravitational potential energy during the energy storage phase. Also, this validates the feasibility and efficiency of installing energy storage components by reducing the robot’s energy output by approximately 13%.
5. Conclusion
Here we present a storage structure and jumping algorithm for quadruped robots based on elastic energy storage components. The storage structure adopts a parallel mechanism with added energy storage elements, completing the construction of a quadruped robot with a storage structure by replacing the original hind leg structure. The jumping algorithm is based on model predictive control of a single rigid body, to optimize the elastic coefficient. This reduces the torque required by the hind leg joints by 19% while meeting the same jumping requirements, resulting in a saving of approximately 13% of energy output. The study confirms that the robot system can collect and release gravitational potential energy by adding elastic energy storage components before the jumping phase. This leads to an additional burst of torque during the jumping phase through energy release. The feasibility and effectiveness of the storage structure under the balanced jumping algorithm framework were verified through calculation and simulation.
This study investigates the use of elastic energy storage devices in high-performance jumping of quadruped robots. The research demonstrates that this strategy can offer supplementary energy in extreme jumping scenarios, enhance energy utilization during the jumping process, and increase the maximum jumping height under the same torque conditions. Based on prior research, this study presents a practical approach for future scenarios involving modular elastic energy storage components.
Author contributions
J.L. Zhao and T. Y. Zhang conceived and designed the study. T. Y. Zhang conducted data gathering and analyses of the results and wrote the article. C. Y. Zhang, Q. N., and S. Z. Yan reviewed the first draft of the manuscript.
Financial support
This work was supported by the National Science and Technology Major Project of China (SKS-2022031), the National Key R&D Program of China (2021YFB3400200), the National Natural Science Foundation of China (grant 52075038 and 52375282), the Beijing Nova Program(20230484377), and the BIT Teli Young Fellow Recruitment Program (RCPT-20220005).
Competing interests
All authors declare that no competing interests exists.
Ethical approval
None.
Data availability
The datasets generated and analyzed during the current study are available from the corresponding author on reasonable request.