1 Introduction

The legged robot research field has been an important investigating topic in mobile robots. With the behavior acted by animals and mankind, Karssen et al. [1] hypothesized that the swing-leg retraction could advance body stability and performance of disturbance rejection. With some experiments of simple running robotic models, the authors found that swing-leg retraction had positive effects on the performance of legged robots. Based on this work, Kim et al. [2] proposed the equilibrium-point foot motion trajectory for MIT Cheetah I.MIT Cheetah I was able to run with gallop gait at speed of 14.9 m·s−1. Inspired by biological systems, Hutter et al. [3] proposed to implement large compliances on each joint, to store energy and enhance stability. A series compliant articulated robotic leg was devised to minimize energy consumption and keep stable movement for legged robots, which was verified in planar running.

The motion characteristics of human walking on flat ground are the optimal energy efficiency and stable pattern of motion. The mechanical energy consumption of muscles when people walk probably occurs in a substantial metabolic cost [4], but it is one parameter for the cost of performing work. The mechanical energy of muscles manifests diverse efficiency curves, which relies on the duty and velocity of contraction [5]. Umberger et al. [6] proposed that the mechanical power can be integrated into underlie the metabolic response. The difficulty in how to compute the total mechanical power of muscles emerges. The work efficiency of muscles is hard to describe. The authors proposed a complex approach to assess the positive and negative work based on the joint moments and angular velocities. It was close to the real muscular sources and sinks of mechanical power in human motion. The kinematics of the human body were collected through an SVHS video camera, working at 60 Hz.

Based on the bionic robotic research, Raibert et al. [7] designed a three-dimensional hoping prototype, which introduced the Spring-Loaded-Inverted-Pendulum (SLIP) model into the control of legged robots. Boston Dynamics released the initial version of the BigDog robot in 2014, and its improved version in 2008 [8]. The SLIP model was implemented on controlling the joint torques of the quadruped robot. The hydraulic actuated quadruped robot implemented both the jumping and trot gaits with the SLIP based controller [9]. Gehring proposed a control method based on trajectory optimization for the ANYmal robot. This method introduced a special rough model into the quadruped robot system, with which the ANYmal robot could find new movement plans within seconds and achieve gait transitions [10]. Kim et al. introduced the Bezier curve and the conservation of momentum into achieving high speed galloping gait for MIT Cheetah 2 [11].

For quadruped robots, they mostly adopt walking modes from insects or mammals. Bai et al. introduced a kinematograph experiment on the moving pattern of an insect, the cockroach, investigating the behavior of cockroach walking over different terrain [12]. Liao et al. designed and implemented a quadruped robot insect named robot-K which can imitate the gait of cockroaches and can walk on a rugged and tilted terrain at a low speed [13]. In addition, Li et al. focused on the mammal bionic quadruped robots and developed a hydraulic quadruped robot [14].

Compared to the above walking modes, human walking has larger tolerance of disturbances. Wisse et al. [15] presumed that the control strategy of human walking on flat terrain was composed of a series of simple, modular control schemes. Based on the SLIP model, the authors observed that impact costs could be reduced by maintaining zero tangential speed during the period of the foot touching the ground. Karssen et al. [16] proposed that the swing-leg retraction could tackle much larger disturbances and minimize the energy consumption. It was regarded as the behavior acted by mankind and animals when the swing leg performed retraction at the moment of touchdown. The influence of the swing-leg retraction on limit cycle walking was a popular research field of bipedal robot and had been introduced to decrease energy consumption and improve disturbance resistance capacity [17].

For electrical quadruped robots, the joints are usually composed of DC torque motors and actuators. The energy model of electrical quadruped robots can be obtained from the model of each motor. Lapshin [18] proposed a method to calculate the energy consumption when robots performed walking locomotion, and to upgrade energy efficiency of the walking robots. Orin et al. [19] proposed an approach to compute the joint actuation torques of the linkage mechanisms including closed kinematic chains based on the Newton–Euler criterion. Nahon et al. [20] proposed a simplified computation model for DC motors to obtain the total mechanical power consumption.

This work mainly concentrates on the locomotion control strategy from inspirations of human walking for the electrical quadruped robot which aims to run at high speed in flying-trot gait. To achieve stable and fast locomotion, an efficient humanoid power redistribution approach and a bionic foot movement trajectory are proposed for the quadruped robot. A dynamic simulation model which runs in Webots simulation platform for quadruped robots is developed to verify the stability and energy efficiency of the proposed approach.

In Section 2, the efficient humanoid power redistribution approach for the electrical quadruped robot is developed, and the kinematic model for the leg prototype is formulated. Section 3 introduces the mathematical formulation of the bionic foot motion trajectory based on the research of human walking pattern and the overall locomotion control strategy. Section 4 shows the simulation and experiment results. We compare the proposed approach with our previous work [21], in which an efficient controller composed of Stochastic Linear Complementarity Problem (SLCP) and quasi-elliptic foot motion trajectory is implemented on an electrical quadruped robot. Section 5 states the conclusion.

2 The Humanoid Power Redistribution Model for Quadruped Robots

2.1 Mechanical Power of Human Walking

In the field of bionic research, the mechanical power calculation of human walking is difficult. It is complex to estimate the storage and release of the mechanical energy of leg muscles. It is essential for bionic robots to describe their accurate power changing trend like that of human walking.

Prilutsky [22] described the energy efficiency of positive work as,

$$\begin{array}{*{20}l} {P_{e } = \frac{{\text{W}_{p} }}{{\text{E}_{m} \text{W}_{n} }}} \hfill \\ \end{array} ,$$
(1)

where \(\text{W}_{p}\) is the positive work produced by the joint torque, \(\text{W}_{n}\) is the negative work produced by the joint torque, and \(\text{E}_{m}\) is the metabolic energy consumption. The negative work represents the elastic potential energy of muscles.

Umberger et al. [6] proposed the algebraic approach to evaluate the mechanical power consumption and energy efficiency when people walked on a treadmill. The momentary power of each joint was computed by the product of the joint torque and angular velocity. The positive work \((\text{W}_{pi} )\) and negative work \((\text{W}_{ni} )\) done by each joint were computed separately by obtaining the integrated value of the momentary positive and negative powers during the whole period of gait cycle. The average joint power could be defined as the ratio of the total joint power and the gait period. The sum of the average positive joint powers of hip and knee joints is described as,

$$\begin{array}{*{20}l} {\text{W}_{p}^\text{a} = \sum\limits_{i = 1}^{2} \text{W}_{pi}^\text{a} } \hfill \\ \end{array} ,$$
(2)

where \(\text{W}_{pi}^\text{a}\) is the average positive power of hip and knee joints. The average negative power is described as,

$$\begin{array}{*{20}l} {\text{W}_{n}^\text{a} = \sum\limits_{i = 1}^{2} \text{W}_{ni}^\text{a} } \hfill \\ \end{array} ,$$
(3)

where \(\text{W}_{ni}^\text{a}\) is the average negative power of hip and knee joints.

Umberger et al. [6] utilized the above approach to perform experiments when human walked on a treadmill. According to the conclusion of experiments, the sum of average mechanical power of hip and knee joints was approximately equivalent, and the torque curves of hip and knee joints in one gait cycle were close to the sine curve. Based on the fact that the structure of the current electrical quadruped robots is very simple compared with the human body and each robot leg performs the symmetrically periodic movement during a whole gait cycle, we introduce the work into the quadruped robot through mimicing the torque curves using the curves of sine and cosine. Based on the results from human walking, we propose the power redistribution approach for the electrical quadruped robot.

2.2 Kinematics and Dynamic Calculation for the Electrical Quadruped Robot

This work mainly concentrates on special movements that the electrical quadruped robot performs a high-speed trot motion in sagittal plane. The energy redistribution approach is introduced into the hip and knee joints at each leg of the electrical quadruped robot. As shown in Fig. 1, the original coordinate \(O_{0}\) locates at the center of the hip joint. A straight distance from the center for the pitch joint to the center of the knee joint is regarded as \(l_{1}\). The distance between the center of the knee joint and the foot end is defined as \(l_{2}\). \(\theta_{i} \:(i = 1,2)\) represents the joint angles of the hip joint and the knee joint. Joint torques at each joint are expressed by \(\tau_{i} \:(i = 1,2)\). X-axis points to the front of the leg and z-axis is vertical to the ground pointing upwards. \(m_{i} \:(i = 1,2)\) stands for the masses of the thigh portion and the shank portion. \(I_{i} \: (i = 1,2)\) is the inertia tensor of the thigh portion and the shank portion. \(l_{o1}\) and \(l_{o2}\) stand for the distances from the Center of Mass (CoM) to the center of the hip joint \(O_{1}\) and the center of the knee \(O_{2}\), respectively.

Fig. 1
figure 1

Kinematic model of the leg

The detailed position of foot end in the reference coordinate frame is defined as \((x_{0} ,z_{0} )\), and can be computed as,

$$\left\{ {\begin{array}{*{20}l} {x_{0} = - l_{1} \sin \theta_{1} - l_{2} \sin (\theta_{1} + \theta_{2} )} \hfill & {} \hfill \\ {z_{0} = - l_{1} \cos \theta_{1} - l_{2} \cos (\theta_{1} + \theta_{2} )} \hfill & {} \hfill \\ \end{array} } \right.,$$
(4)

\(\theta_{1}\) and \(\theta_{2}\) in the leg model can be computed by inverse kinematic formula as,

$$\left\{ {\begin{array}{*{20}l} \begin{gathered} \theta _{1} = \psi - \arctan \left( {\frac{x}{z}} \right) \hfill \\ \hfill \\ \end{gathered} \hfill & {} \hfill \\ {\theta _{2} = \arccos \left( {\frac{{l_{1}^{2} + l_{2}^{2} - l_{{12}}^{2} }}{{2l_{1} l_{2} }}} \right) -\uppi } \hfill & {} \hfill \\ \end{array} } \right..$$
(5)

The Jacobian matrix of the leg can be calculated through Eq. (4), as,

$$\varvec J = \left[ {\begin{array}{*{20}c} {l_{1} \cos \theta_{1} + l_{2} \cos (\theta_{1} + \theta_{2} )} & {l_{2} \cos (\theta_{1} + \theta_{2} )} \\ {l_{1} \sin \theta_{1} + l_{2} \sin (\theta_{1} + \theta_{2} )} & {l_{2} \sin (\theta_{1} + \theta_{2} )} \\ \end{array} } \right].$$
(6)

For further power decoupling problems of each leg, the dynamic equation is formulated for the electrical quadruped robot. Based on the dynamic model, joint torques and energy consumption can be calculated. The Lagrangian formulation is established as follows:

$$\begin{array}{*{20}l} {\varvec{Q} = \frac{d}{dt}\frac{\partial L}{{\partial \dot{\theta }_{i} }} - \frac{\partial L}{{\partial \theta_{i} }}\quad \quad for\quad i = 1,2} \hfill \\ \end{array} ,$$
(7)

where

$$\begin{array}{*{20}l} {L = K - P} \hfill \\ \end{array} .$$
(8)

In the above formulas, L represents the Lagrangian function for the electrical leg, and it is regarded as the difference between the kinetic energy \(K\) and the potential energy \(P\) of the mechanical system. The generalized force vector which is marked as \(\varvec{Q}\) with respect to the reference coordinate {\(O_{0}\)} can be defined as

$$\begin{array}{*{20}l} {\varvec{Q} = \varvec{\uptau} - \varvec{J}^{\text{T}} \varvec{F}} \hfill \\ \end{array} ,$$
(9)

where the joint torque vector is named as \({\varvec{\tau}}\), the transposed matrix of the Jacobian is defined as JT, and the ground reaction force vector in the generalized frame \(O_{0}\) is called F.

There is no contact between the foot endpoint and the ground when the electrical quadruped robot performs the swing phase of gait cycle, and the ground reaction force F equals to zero. The dynamic model mainly takes effects in the stance phase, and we find it is difficult to obtain an accurate analytical solution. Thus, a humanoid power redistribution approach is proposed in the following section.

Based on the above equations which are used to calculate the leg dynamic model, the dynamic equation can be redefined as follows.

$$\begin{array}{*{20}l} {\varvec{\uptau} - \varvec{J}^{\text{T}} \varvec{F} = \varvec{M}(\varvec{\theta} )\ddot{\varvec{\theta} } + \varvec{C}(\varvec{\theta} ,\dot{\varvec{\theta} })\dot{\varvec{\theta} } + \varvec{G}(\varvec{\theta} )} \hfill \\ \end{array} ,$$
(10)

where the symmetric and positive definite inertia matrix is defined as \(\varvec{M}(\varvec{\theta} )\) for the electrically mechanical leg, and the vector of the Coriolis and centrifugal forces is defined as \(\varvec{C}(\varvec{\theta} ,\dot{\varvec{\theta} })\). The gravity matrix is described as \(\varvec{G}(\varvec{\theta} )\) for each leg. The calculations of these matrixes and vectors are derived in the following part, where the angular velocity and angular acceleration are the differential of joint position and angular velocity, respectively.

The mass vector \(\varvec{M}(\varvec{\theta} )\) can be calculated as,

$$\varvec{M}(\varvec{\theta} ) = \left[ {\begin{array}{*{20}c} {\varvec{M}_{11} (\varvec{\theta} )} & {\varvec{M}_{12} (\varvec{\theta} )} \\ {\varvec{M}_{21} (\varvec{\theta} )} & {\varvec{M}_{22} (\varvec{\theta} )} \\ \end{array} } \right],$$
(11)

where

$$\left\{ {\begin{array}{*{20}l} {\varvec{M}_{11} (\varvec{\theta} ) = m_{1} l_{o1}^{2} + m_{2} (l_{1}^{2} + l_{c2}^{2} + 2l_{1} l_{o2} \cos \theta_{2} ) + I_{1} + I_{2} } \hfill & {} \hfill \\ {\varvec{M}_{12} (\varvec{\theta} ) = \varvec{M}_{21} (\varvec{\theta} ) = m_{2} l_{1} l_{o2} \cos \theta_{2} + m_{2} l_{o2} + I_{2} } \hfill & {} \hfill \\ {\varvec{M}_{22} (\varvec{\theta} ) = m_{2} l_{o2}^{2} + I_{2} } \hfill & {} \hfill \\ \end{array} } \right..$$
(12)

The Coriolis and centripetal forces matrix \(\varvec{C}(\varvec{\theta} ,\dot{\varvec{\theta} })\) as,

$$\varvec{C}(\varvec{\theta} ,\dot{\varvec{\theta} }) = \left[ {\begin{array}{*{20}c} { - m_{2} l_{1} l_{o2} \sin \theta_{2} (2\dot{\theta }_{1} \dot{\theta }_{2} + \dot{\theta }_{2} )} \\ {m_{2} l_{1} l_{o2} \sin \theta_{2} (\dot{\theta }_{1}^{2} + \dot{\theta }_{1} \dot{\theta }_{2} )} \\ \end{array} } \right],$$
(13)

and \(\varvec{G}(\varvec{\theta} )\) containing the gravitational torques can by expressed by,

$$\varvec{G}(\varvec{\theta} ) = \left[ {\begin{array}{*{20}c} {m_{1} gl_{o1} \sin \theta_{1} + m_{2} g(l_{1} \sin \theta_{1} + l_{o2} \sin (\theta_{1} + \theta_{2} ))} \\ {m_{2} gl_{o2} \sin (\theta_{1} + \theta_{2} )} \\ \end{array} } \right].$$
(14)

2.3 Humanoid Power Redistribution Approach at Each Leg

The main components of electrical quadruped robots are the electrical actuation systems at each joint. A DC torque motor and a first stage planetary reducer are integrated into each electrical actuation system of the robot. The whole mechanical power of the quadruped robot can be computed by integrating the mechanical power of each joint. The mechanical power of each electrical joint prototype is defined as an integral function of the joint torque and angular speed.

The instantaneous power of each joint can be defined as,

$$\left\{ {\begin{array}{*{20}l} {P_{t} = \frac{{\Delta E_{s} }}{\Delta t}} \hfill & {} \hfill \\ {P_{t} = u_{t} i_{t} } \hfill & {} \hfill \\ \end{array} } \right.,$$
(15)

where \(\Delta E_{s}\) is the instantaneous energy consumption at each joint. \(u_{t}\) is the instantaneous voltage of the DC motor, and \(i_{t}\) is the armature current of the DC motor.

The characteristics of the joint can be expressed by,

$$\left\{ {\begin{array}{*{20}l} {\tau_{r} = C_{t} i_{t} } \hfill & {} \hfill \\ {u_{a} = C_{v} \dot{\theta }_{r} } \hfill & {} \hfill \\ {u_{t} = u_{a} + Ri_{t} + L_{c} \frac{{{\text{d}}{i}_{t} }}{\text{d}{t}}} \hfill & {} \hfill \\ {\tau_{r} = \tau G_{r} } \hfill & {} \hfill \\ {\dot{\theta } = \dot{\theta }_{r} G_{r} } \hfill & {} \hfill \\ \end{array} } \right.,$$
(16)

where \(\tau_{r}\) is the torque performed by the rotor of the DC motor, \(C_{t}\) is the torque constant, which can be obtained by measuring the current when the DC motor actuates a variety of mass blocks. \(C_{v}\) is the voltage constant of the DC motor. \(\dot{\theta }_{r}\) is the motor speed. \(u_{a}\) is the armature voltage of the DC motor. \(R\) is the armature resistance of the whole circuit. \(L_{c}\) is the armature inductance of the whole circuit. \(G_{r}\) is the reduction gear ratio of the DC torque motor.

Based on Eq. (16), the instantaneous energy consumption of each joint can be described as follows:

$$\begin{array}{*{20}l} {\Delta E_{s} = f(\tau \dot{\theta })\Delta t + \frac{{RG_{r}^{2} }}{{C_{v}^{2} }}\tau^{2} \Delta t} \hfill \\ \end{array} ,$$
(17)
$$\quad f(\tau \dot{\theta }) = \left\{ {\begin{array}{*{20}l} {\tau \dot{\theta },\,\,\,\,\,\,\,{\text{if}}\,\tau \dot{\theta } > 0} \hfill \\ {0,\,\,\,\,\,\,\,\,\,{\text{if}}\,\tau \dot{\theta } \le 0} \hfill \\ \end{array} } \right..$$
(18)

The mechanical actuation system of the electrical quadruped robot has no spring rigging. The negative work done by the single-leg prototype cannot be stored. When \(\tau \dot{\theta } \le 0\), \(f(\tau \dot{\theta })\) can be considered as zero. Through the kinematic and power formulas, the following equation is established:

$$\begin{array}{*{20}l} {P_{t} = f(\tau \dot{\theta }) + \frac{{RG_{r}^{2} }}{{C_{v}^{2} }}\tau^{2} } \hfill \\ {} \hfill \\ \end{array} .$$
(19)

The flying trot gait of the quadruped robot is implemented, as shown in Fig. 2. This work introduces flying trot gait to achieve high speed movement of the quadruped robot, in which the diagonal legs perform periodically synchronous motions. Thus, the flying trot gait that performed by four legs in two pairs can be regarded as an equivalent bipedal gait. As shown in Fig. 2, when a pair of legs operate in stance phase, the other pair of legs are in the period of swing phase. A fundamental theory comes from Sutherland’s work on building up a six legged walking machine [23]. To devise the hydraulic circuits to impose the load burden of the machine, Sutherland proposed the concept of a virtual leg. He believed that two or more physical legs that behaved same motions could be regarded as an equivalent virtual single leg. For example, when a pair of legs move toward the ground directly to rise the robot, every leg suffers the equivalent gravity of the robot as a parallel hydraulic circuit equaling to the pressure of oil. The pair of physical legs behave like one virtual leg situated in the middle of them. As shown in Fig. 3, the quadruped robot running in flight trot gait can be virtualized as the biped robot. The forces and torques implemented on the quadruped robot by a series of legs or by a virtual leg are equivalent, thus the actions of the robot are the same in the two conditions. Based on the concept of the virtual leg, the paper proposes to control and analyze the compound actions of a robot with four legs by simpler terms. In Fig. 3, the diagonal two legs performing flying trot gait can be regarded as a virtual leg locates between them. The movement of the biped robot is same to the motion acted by human, so many early works stay focus on making the movement of the biped robot more similar to the motions of human, such as the Zero Moment Position (ZMP) theory. In this paper, we propose a new approach about how to control the quadruped robot in the power and torque aspects, which is based on the power research of the running pattern of mankind. A humanoid power redistribution method is proposed into which the Bezier curve is introduced to describe the power planning trend for the electrical quadruped robot. As shown in Eq. (19), the energy consumption of one leg is directly related to the torque of each joint of the leg. Based on the work of Umberger et al. [6], we propose to regulate the torques of the quadruped robot by mimicking the torque trend of human when they walk on the flat terrain. As shown in Fig. 4, this work introduces the mixture of sine curve and Bezier curve to generate the torque curve at each joint.

$$\left\{ {\begin{array}{*{20}c} {\tau _{\text{st}} (t) = \left[ {\begin{array}{*{20}c} 1 & {t_{{su}} } & {t_{{su}}^{2} } & {t_{{su}}^{3} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 \\ { - 3} & 3 & 0 & 0 \\ 3 & { - 6} & 3 & 0 \\ { - 1} & 3 & { - 3} & 1 \\ \end{array} } \right]\,\,\left[ {\begin{array}{*{20}c} {p_{0} } \\ {p_{1} } \\ {p_{2} } \\ {p_{3} } \\ \end{array} } \right]} \\ {t_{{su}} = \frac{{t_{r} }}{{T_{\text{st}} }}} \\ {\tau _{\text{sw}} (t) = \left[ {\begin{array}{*{20}c} 1 & {t_{{sf}} } & {t_{{sf}}^{2} } & {t_{{sf}}^{3} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 \\ { - 3} & 3 & 0 & 0 \\ 3 & { - 6} & 3 & 0 \\ { - 1} & 3 & { - 3} & 1 \\ \end{array} } \right]\,\,\left[ {\begin{array}{*{20}c} {p_{4} } \\ {p_{5} } \\ {p_{6} } \\ {p_{7} } \\ \end{array} } \right]} \\ {t_{{sf}} = \frac{{t_{r} - T_{\text{st}} }}{{T_{\text{sw}} }}} \\ \end{array} } \right.,$$
(20)
Fig. 2
figure 2

Phase state of flying trot gait

Fig. 3
figure 3

Transition from quadruped robot into bipeds

Fig. 4
figure 4

Humanoid power planning curve

where \(\tau_{\text{st}} (t)\) and \(\tau_{\text{sw}} (t)\) are defined as the real torque during the stance phase and swing phase with the change of \(t_{r}\). \(t_{r}\) represents the total duration of the gait cycle. \(p_{i}\; (i = 0,1,2,3,4,5,6,7)\) are the parameters of the third-order Bezier curve. During the stance phase, the parameters \(p_{i} \;(i = 0,1,2,3)\) can be calculated as follows. (i) \(p_{0} = (t_{0} ,\tau_{t0} )\) is the origin point of cartesian coordinate axis. So \(t_{0} = \tau_{t0} = 0\); (ii) When \(t = 0.5T_\text{st}\), the leg is located at the center of the stance phase, in other words, it is in a relatively static state with respect to the reference frame. Meanwhile, the velocity and acceleration of the leg are both equal to zero. The ground reaction force is equal to the gravity of the leg at this moment; (iii) \(p_{3} = (t_{3} ,\tau_{t3} )\) is attached to the x-axis. \(t_{3}\) is equal to \(0.11{\text{s}}\). \({\tau}_{t3}\) is equal to zero.

Between the stance phase and swing phase, the leg compresses to the lowest point and the work combines the conservation of momentum as well as mechanical energy to calculate the force for the bottom point.

$$\left\{ {\begin{array}{*{20}c} {E_{p} = mgh} \\ {E_{k} = \frac{1}{2}m\nu^{2} } \\ {E_{m} = E_{p} + E_{k} } \\ {E_{t} = E_{m} + E_{l} } \\ \end{array} } \right.,$$
(21)
$$mgT = \int_{0}^{{T_{{{\text{st}}}} }} F(t)\text{d}t,$$
(22)

where \(E_{p}\) is the potential energy of the quadruped robot. \(m\) is the total mass of the quadruped robot. \(g\) is the gravitational acceleration. \(h\) is defined as the distance from the base frame origin \(O_{0}\) to the ground. \(E_{k}\) is the kinetic energy. \(v\) represents the velocity of the robot. \(E_{m}\) is regarded as the mechanical energy of the quadruped robot. \(E_{t}\) is the total energy of the quadruped robot. \(E_{l}\) is the heat energy loss caused by the contact between the foot of the quadruped robot and ground. Compared with the magnitude of mechanical power, the heat loss can be neglected due to the high power efficiency feature of the DC torque motor. \(F(t)\) is the ground reaction force of the quadruped robot. \(\text{T}_\text{st}\) is the duration of the stance phase. Integrating the Jacobian matrix into the formula between the joint force and torque, the classical robot equation is obtained as,

$$\varvec{\tau}_{i} = \varvec{J}^{\text{T}} \varvec{F}_{i} \quad \quad i = (1,2),$$
(23)

where \({\varvec{\tau}}_{i}\) and \({\varvec{F}}_{i}\) are the joint torques and ground reaction forces of each leg at the peak and the bottom positions of the power curve. Based on Eqs. (21), (22) and (23), the positive and negative peak values of the humanoid torque curve can be calculated, so that the torque curve in the swing phase can be described easily. Based on the above terms, \(p_{1} = (t_{1} ,\tau_{t1} )\), \(p_{2} = (t_{2} ,\tau_{t2} )\), \(p_{5} = (t_{5} ,\tau_{t5} )\) and \(p_{6} = (t_{6} ,\tau_{t6} )\) can be calculated with the relations that \(\tau_{t1} = \tau_{t2}\) and \(\tau_{t5} = \tau_{t6}\). \(p_{4} = (t_{4} ,\tau_{t4} )\) is the point that locates at the horizontal axis of the cartesian frame, so \(t_{4} = 0.11s\) and \(\tau_{t4} = 0\). When \(t = 0.5T_\text{sw} + T_\text{st}\), the leg is at the center of the swing phase, and it has the maximal potential energy and the minimal kinetic energy. Similar to the case in the stance phase, the velocity \(v(t)\) and acceleration \(\alpha\) of the leg are both equal to zero. The ground reaction force is equal to zero as the foot endpoint has no contact with the ground. \(p_{7} = (t_{7} ,\tau_{t7} )\) is attached to the horizontal axis of the reference frame. \(t_{7}\) is equal to \(0.25{\text{s}}\). \(\tau_{t7}\) is equal to zero.

3 Trajectory and Control Strategy

3.1 The Humanoid Motion Trajectory

This work pays attention to the research about how to apply the effective humanoid control approach to the quadruped robot, and we focus on the humanoid motion trajectory in this section. A huge amount of early work is done in the field of motion trajectory planning for quadruped robots, but little work mentions the approach of introducing the motion mode of human into planning the motion trajectory of the quadruped robot. Mankind chooses the most effective and flexible motion trajectory for themselves with natural selection.

Karssen et al. [16] concentrated on investigating the fact that swing leg retraction was able to promote the power efficiency and dynamic stability by introducing simple mechanical humanoid prototype. As shown in Fig. 5, \(\theta_{t}\) is the swing retraction angle and it contributes to reduce and prevent stumbles and energy loss of touchdown. Detailed descriptions about the benefits of swing leg retraction are as follows. (i) The angle \(\theta_{t}\) is able to reduce the energy loss of contact, while its influence on efficiency is weak, as tested by mechanical power; (ii) It can reduce the impact force and improve dynamic stability, as measured by touchdown impulses. (iii) The optimal swing leg retraction angle relies on the detail motion trajectory.

Fig. 5
figure 5

Human motion trajectory

This work holds the view that the dynamic stability of the human motion can be affected by the the manner in which the foot endpoint of human leaves or touches the ground. Especially, allowing the tangential velocity of swing leg retraction to become zero can lead to the optimal energy consumption and stability of human motions. The detailed equation can be shown as,

$$\varvec{\omega} = \frac{{\varvec{\nu} \sin (\theta_{t} )\cos (\theta_{t} )}}{{l_{t} }},$$
(24)

where \(\varvec{\omega}\) is defined as the angular velocity when the foot of human leaves and touches the ground. \(l_{t}\) is the length of the footstep.

Based on the research about the human motion trajectory, this paper introduces the Bezier curve to generate the humanoid motion trajectory for the quadruped robot. As shown in Figs. 2 and 5, the overall period of the gait cycle includes two main parts, the swing phase and the stance phase. With the description of Fig. 2, the duration of swing phase is composed of several small parts, so the 11th-order Bezier curve is applied in describing the motion trajectory. As shown in Fig. 5, the motion trajectory during the stance phase looks like a simple sine curve and it can be approximated by the second order Bernstein curve. Relative equations are shown as follows:

$$\left\{ {\begin{array}{*{20}c} {P_{{{\text{sw}}}} (t) = \left[ {\begin{array}{*{20}c} 1 & t & {...} & {t^{n} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {( - 1)^{{n - 1}} \left( {\begin{array}{*{20}c} n \\ n \\ \end{array} } \right)\left( {\begin{array}{*{20}c} n \\ 1 \\ \end{array} } \right)} & {( - 1)^{{n - 1}} \left( {\begin{array}{*{20}c} n \\ n \\ \end{array} } \right)\left( {\begin{array}{*{20}c} n \\ 1 \\ \end{array} } \right)} & \ldots & {( - 1)^{0} \left( {\begin{array}{*{20}c} n \\ n \\ \end{array} } \right)\left( {\begin{array}{*{20}c} n \\ n \\ \end{array} } \right)} \\ {( - 1)^{{n - 1}} \left( {\begin{array}{*{20}c} n \\ {n - 1} \\ \end{array} } \right)\left( {\begin{array}{*{20}c} n \\ 0 \\ \end{array} } \right)} & {( - 1)^{{n - 2}} \left( {\begin{array}{*{20}c} n \\ {n - 1} \\ \end{array} } \right)\left( {\begin{array}{*{20}c} {n - 1} \\ 1 \\ \end{array} } \right)} & \ldots & 0 \\ \vdots & \cdots & \ddots & \vdots \\ {( - 1)^{0} \left( {\begin{array}{*{20}c} n \\ 0 \\ \end{array} } \right)\left( {\begin{array}{*{20}c} 0 \\ 0 \\ \end{array} } \right)} & 0 & \cdots & 0 \\ \end{array} } \right]} \\ {P_{{{\text{st}}}} (t) = c_{{14}} t^{2} + 2c_{{13}} t(1 - t) + c_{{12}} (1 - t)^{2} } \\ \end{array} } \right.\left[ {\begin{array}{*{20}c} {c_{0} } \\ {c_{1} } \\ {...} \\ {c_{n} } \\ \end{array} } \right],$$
(25)

where n is equal to 11.

$$\left\{ {\begin{array}{*{20}c} {c_{i} = (x_{i} ,z_{i} )\quad \quad \quad i = (0,1, \ldots ,14)} \\ {t = \frac{{t_{j} }}{T}\quad \quad \quad j = LF,LH,RF,RH} \\ {P_{k} (t) = (x_{k} (t),z_{k} (t))\quad \quad k = 1,2} \\ \end{array} } \right.,$$
(26)

where \(t_{j}\) is the passed time of the current gait cycle.

Detailed parameters in Eq. (25) can be acquired from characteristics of the human motion trajectory in Fig. 5. During the swing phase, two control points of the curve, \(c_{0}\) and \(c_{11}\) have the same value in the vertical direction. Similarly, the other two points, \(c_{8}\) and \(c_{9}\) are equivalent. \(c_{2}\), \(c_{3}\), and \(c_{4}\) have the same value in both the horizontal and vertical directions. Both \(c_{1}\) and \(c_{2}\) are essential to the humanoid approach as they lead to the swing leg retraction. Based on the above descriptions and Eq. (24), these control points can be caluculated. The points \(c_{0}\) and \(c_{7}\) have the same value of horizontal velocity and equal to zero in the vertical aspect. The vertical difference between them can be set as a constant that decides the height of a stride for the leg. At the midst of the swing phase, the acceleration and the velocity equal to zero in vertical direction, and the velocity is zero in horizontal direction. The figure for points \(c_{8}\) and \(c_{9}\) are the same in the vertical direction. In addition, \(a_{5}\) and \(a_{6}\) are equivalent in all directions. On the peak of this trajectory, \(c_{4}\) and \(c_{5}\) are the same in the whole duration of the swing phase.

During the stance phase, the control points \(c_{14}\) and \(c_{12}\) are equivalent in the aspect of acceleration in the vertical direction, and the velocities of the foot endpoint are identical in the horizontal direction when it leaves and touches the ground. During the stance phase, the value of the acceleration is zero in the horizontal direction. Both the acceleration and the velocity equal to zero in the vertical direction.

As shown in Fig. 6, the humanoid motion trajectory can be described as the following figure by MATLAB [24].

Fig. 6
figure 6

Humanoid motion trajectory

3.2 Overall Control Frame

This paper integrates above approaches into an overall humanoid power redistribution and motion trajectory controller for the electrically actuated quadruped robot, which runs on the Webots simulation platform.

As the description of Fig. 7, \(T\) is the whole duration of the flying trot gait cycle for the quadruped robot. \(l_{{{{tl}}}}\) is defined as the length of one stride and it can be gained by user-defined parameters. \(l_{{{{vl}}}}\) is described as the vertical difference between the top point and bottom point of the humanoid motion trajectory. \(\Delta t\) is the servo cycle of the controller. The main control strategies in Fig. 7, such as the humanoid motion trajectory, the humanoid power redistribution approach, and the kinematic generator, are described in the sections above. The two parameters, the vertical distance \(h\) and the velocity \(\upsilon\), calculated by the humanoid motion trajectory are treated as the Eq. (21) of the humanoid power redistribution approach. The controller executes the kinematic calculation by the kinematic generator. Through combining these input parameters with detailed equations of the humanoid power redistribution approach, the controller is capable of calculating the desired joint torques for each leg.

Fig. 7
figure 7

Humanoid controller for the robot

Additionally, the above three controller units are all implemented on the mainboard of computers which is a type of embedded micro-computers with a forth generation Intel Core i7 CPU, whose frequency reaches up to 3.1 GHz. The realtime hardware control system composes of the mainboard, the Elmo divers, and the EtherCAT communication unit. The communication protocol between the mainboard and the Elmo diver reaches to 4 kHz. The torques calculated by the humanoid power redistribution approach are encoded to be sent to the Elmo drivers based on the EtherCAT communication protocol. In this paper, we construct a centralized control system in which the main high-level control board directly linked to the drivers, so it is clear and easy to understand the overall control framework.

4 Simulation and Trials

Based on the above approaches and hardware structure, this work conducts the simulation in terms of the electrical quadruped robot model that is built in the webots software. For the convenience and flexiblity of coding programs, we propose that detailed control codes are packaged into a large number of classes in C++ coding language to realize various control projects implementing on the leg prototype and the quadruped robot model. To verify the feasibility and efficiency of the proposed approach for the electrical quadruped robot, this work implements a jump motion on the leg prototype and a high-speed running movement on the quadruped model. Detailed parameters for the leg prototype and the quadruped robot model are described in Table 1. The servo cycle \(\Delta t = 0.001\text{s}\).

Table 1 Parameters of the leg and the quadruped robot model

4.1 Quadruped Simulation Platform

The proposed control method for the quadruped robot is simulated with the Webots simulator. We use two different approaches to testify and compare the energy consumption of the quadruped robot. One approach is our early work which proposes an efficient approach composed of SLCP, the sinusoidal pulse force and a quasi-elliptic foot motion trajectory. The other one is the method presented in this work based on the humanoid power redistribution approach and the humanoid motion trajectory. The speed of the quadruped robot can reach up to 5 m·s−1.

As the description of Fig. 8, the overall energy consumption per gait cycle of the early SLCP method reaches \(137.61\text{J}\), and the total energy consumption based on humanoid control approach (HPRA) is \(114.14\text{J}\). Obviously, the energy consumption of the robot with the humanoid power redistribution approach is decreased greatly by \(17.06\%\).

Fig. 8
figure 8

The total energy consumption of the quadruped robot per gait cycle

4.2 The Leg Prototype Experiment

Although the jumping trial of the leg prototype is only a simple periodical movement, it is sufficient to verify many features of our humanoid power redistribution approach, such as feasibility and stability. The proposed control approach is compared with the early work in which Li et al. [18] introduce the Stochastic Linear Complementarity Problem into reducing the impact loss of the leg. We recode the two approaches to perform on the same leg prototype. As shown in Fig. 9, the process of jumping can be divided into three parts: compress, lift up, and flight.

Fig. 9
figure 9

Jump process of the leg

Integrating data from encoder into the kinematic and dynamic formula, we describe torque and power curves by MATLAB, as shown in Figs. 10 and 11. As the description of Fig. 10, the torque distributed by the humanoid power redistribution approach which aims to mimic the torque curve of human walking on a treadmill is stable and similar to that of the early work of the human movements. The Fig. 11a shows the energy consumption of the quadruped robot with the approach of SLCP, and the Fig. 11b describes the energy consumption of the quadruped robot based on HPRA. In one jump cycle, the energy consumption for the SLCP is \(189.62\text{J}\), and the one for the HPRA is \(159.88\text{J}\). The proposed HPRA shows a decrease of \(15.68\%\).

Fig. 10
figure 10

Torque of the leg for the humanoid power redistribution approach

Fig. 11
figure 11

The energy consumption of the leg prototype

5 Conclusion

According to the simulations and experiments of the quadruped robot and the leg prototype, our humanoid power redistribution approach successfully achieves torque and power features similar to human motions. This work finds out that if the control approach for the quadruped robot aims to reasonably redistribute joint torques, the quadruped robot can perform energy efficient jumping motions. Compared with a logically mathematical method, such as the Stochastic Linear Complementarity Problem, this work only concentrates on robot motions mimicing human motions, especially in power and torque aspects, prone to realize stable and effective motions, including high-speed movements. Furtherly, based on the finding of this work, we believe that the controller of quadruped robots can discard the traditional or classical Spring Loaded Inverted Pendulum model and pay more attention to power redistribution. Of course, introducing joint power researches of human movements into legged robots is just one aspect, and others can take advantage of artificial intelligence to gain an optimal efficient movement.