1 Introduction

Quadruped animals in nature show excellent locomotive capabilities and walk rapidly over most of natural terrains in a highly adaptive manner. Thus, many researchers have focused on developing quadruped robots by mimicking the body structure and gait patterns of animals to replicate their outstanding locomotive behaviors. The core capability for realizing outstanding locomotion is to adjust gait patterns according to current environmental conditions, that is called gait transition.

Gait transition algorithms are largely classified into two major groups such as those based on central pattern generators (CPG) and those using common position methods. CPG algorithms are based on the locomotive behaviors of animals. To understand the control of animal locomotion, biologists performed experiments with cats on treadmills [1]. They found that rhythmic motions such as flying, swimming, running, or even human walking are controlled by a part of the spinal cord called the CPG. Inspired by that, robotic researchers have developed artificial CPG using artificial neural networks [2]. Matsuoka studied a network of neurons with the ability mutually inhibit one another [3, 4]. Fukuoka and Kimura successfully controlled a quadruped robot named “Tekken” over several types of terrain using a network of four Matsuoka oscillators [5, 6]. Bailey studied controlling insect locomotion [7] and Liu et al. studied controlling an AIBO robot [8]. A network similar to Hopf oscillators was presented by Sousa et al. to control the posture of an AIBO robot [9]. In addition, they presented extended work on omnidirectional control and gait transition with an AIBO robot [1012]. Aoi and Tsuchiya introduced phase oscillators to control a biped robot and quadruped robots performing several locomotion tasks, including dynamic walking and gait transition [13, 14]. The best traits of CPG algorithms are that they generate rhythmic patterns and reject outside perturbation using biological neural networks that mimic animals. However, CPG algorithms require complicated equations to generate rhythmic patterns, and an additional tool to set the parameters.

Other researchers have studied gait transition algorithms based on common positions. Ma et al. studied a gait transition method to realize omnidirectional static walking [15]. Their method achieved gait transition within the least possible number of steps by designing the feet to have common positions before and after gait transition. Similarly, Masakado et al. proposed a gait transition method similar to the common foot position [16]. They improved Ma’s method and could start from any leg arrangement in a standard gait such as crawl or rotation gait.

In this study, we introduce a new gait transition algorithm to overcome the drawbacks of existing ones. In the first, we propose a quasi-dynamic walking gait, named the Hybrid Walking Gait(abbreviated with HW gait in this paper), because its purpose is to incorporate the characteristics of the static and the dynamic gait. The core idea of the HW gait is to reduce the number of steps in the generic static walking gait, which has 6 steps to move forward by combining the moving phase of the body with the swinging phase of the legs [28]. Thus, the HW gait achieves faster locomotion, smoother trajectory of the body’s center of mass (COM) and less complexity to plan the trajectory than the generic static walking gait. Moreover, we develop a gait transition algorithm that shares the improved properties of the HW gait. The main achievements of proposed gait transition algorithm are much simpler equations to generate the gait transition pattern, shorter transition time to change the gait pattern, and being easier to write codes than previous ones. Finally, we perform experiments with a quadruped robot called “AiDIN-III”, and validate the effectiveness of our proposed gait patterns over several types of terrains.

This paper is organized as follows. Section 2 introduces the basic foot trajectory used for all the gaits in this paper. Section 3 proposes the main ideas of the HW gait and Sect. 4 describes the robust gait transition (abbreviated with GT in this paper) algorithm based on the HW gait. Section 5 shows the experimental results with HW gait and GT algorithm on the real quadruped walking robot to validate their effectiveness. Finally, conclusions are given in Sect. 6.

2 Foot trajectory generation

In this section, we introduce the foot trajectory algorithm used for the gait patterns mentioned in this paper. To explain it, we first show the hardware structure of the quadruped walking robot used in this research, called Artificial Digitigrade for Natural Environments Version III (AiDIN-III) as shown in Fig. 1. Then, the foot trajectory used for all the gaits considering \(S_{\mathrm{SM}}\)(stability margin) is introduced. In addition, the definitions used in this paper can be found in Table. 1.

Fig. 1
figure 1

Quadruped walking robot, AiDIN-III

Table 1 Definition of terms

2.1 Trajectory planning

To generate effective and robust trajectories for varied terrains, robotic researchers have studied animals’ ones, because they have been optimized and evolved in nature for long time [22]. However, animals have different shapes of trajectories according to their types of locomotion and the trajectory differs between fore and hind limbs according to their different roles. Therefore, the parameters of a robot, such as its length, mass, and location of the body and legs should be carefully considered when adopting an animal’s ones [23, 24].

In this work, we applied a trajectory generation method developed by Trong et al. [21] such as a general equation form which can apply any trajectory. The proposed trajectory is designed in the xz plane of the frame \(\sum _{L}\) as shown in Fig. 2. The foot moves in a desired constant velocity from A to B, which is the same as the desired velocity of the robot. The foot is accelerated from B to C and then decelerated from C to A, repeatedly. The desired velocity of the gait can be controlled by the following equation.

$$\begin{aligned} v=\frac{2L}{\beta T}. \end{aligned}$$

The offset of the whole trajectory is controlled by the vector \({\mathbf {R}}_{i}\) which is the position vector of the neutral point \(O_{i}\) of the trajectory with respect to COM described in frame \(\sum _{L}\).

$$\begin{aligned} {\mathbf {R}}_{i} = {\mathbf {D}}_{i} + {\mathbf {P}}_{i}, \quad (i\text { is the number of the leg)} \end{aligned}$$
Fig. 2
figure 2

Designed trajectory in the local \(\sum _{L}\) and the global frame \(\sum _{G}\)

The vector \(\mathbf {D}_{i}\) is the distance vector from COM to the hip frame and the vector \(\mathbf {P}_{i}\) is the foot trajectory vector with respect to the hip frame. The mathematical equation to calculate the vector \(\mathbf {P}_{i}\) is given as

$$\begin{aligned} \mathbf {P}_{i}= & {} \biggl [ p_{xi} \quad p_{yi}\quad p_{zi} \biggl ]^{T}. \end{aligned}$$

For the walk gait, \(p_{xi}\), \(p_{yi}\) and \(p_{zi}\) are calculated by

$$\begin{aligned} p_{xi}= & {} \left\{ \begin{array}{l@{\quad }l} \mathbf {a}_{x}^{T} \cdot \mathbf {t}_{s}, \qquad &{} t_{s} < \beta T\\ -v(\mathbf {t}_{s} - \beta T) + L, \qquad &{} t_{s} \ge \beta T \end{array} \right. \\ p_{zi}= & {} \left\{ \begin{array}{l@{\quad }l} \mathbf {a}_{z}^{T} \cdot \mathbf {t}_{s}, \qquad &{} t_{s} < \beta T\\ 0, \qquad &{} t_{s} \ge \beta T \end{array} \right. \end{aligned}$$

where \(\mathbf {t}_{s} = \biggl [1 \quad t_{s} \quad t_{s}^{2} \quad t_{s}^{3} \quad t_{s}^{4} \quad t_{s}^{5} \biggl ]^{T}\) and \(v = \frac{2L}{\beta T}\).

The two vectors \(\mathbf {a}_{x}\) and \(\mathbf {a}_{z}\) are

$$\begin{aligned} \mathbf {a}_{x}= & {} \biggl [ -L, -\frac{8L}{3T}, \frac{640L}{3T^{2}}, -\frac{5120L}{3T^{3}}, \frac{20480L}{3T^{4}}, -\frac{32768L}{3T^{5}} \biggl ]^{T} \\ \mathbf {a}_{z}= & {} \biggl [ 0, 0, \frac{256H}{T^{2}}, -\frac{2048H}{T^{3}}, \frac{4096H}{T^{4}}, \quad 0 \biggl ]^{T} \end{aligned}$$

It is important to note that the designed foot pattern (is a 2D curve) in xz plane and the desired y pattern is a continuous sine wave function calculated by

$$\begin{aligned} p_{yi} = \biggl [ -w \cdot sin(2 \pi \frac{t_ {s}-T}{T}) \biggl ] \end{aligned}$$

where L, H and T are the half of the stride length, the maximum height of the foot motion as shown in Fig. 3 and the cycle time of gait, respectively. The parameter v is the desired gait velocity and \(t_{s}\) is the scaled time calculated as follows.

$$\begin{aligned} t_{s} = t \;\; \text{ mod } \;\; T, \end{aligned}$$

where mod means the modulus operator.

Moreover, \(p_{zi}\), \(\mathbf {a}_{x}\) and \(\mathbf {a}_{z}\) for the trot gait are calculated follows.

$$\begin{aligned} p_{zi}= & {} \left\{ \begin{array}{l@{\quad }l} \mathbf {a}_{z}^{T} \cdot \mathbf {t}_{s}, \qquad &{} t_{s} < \beta T\\ \beta H (1 - cos(2 \pi \cdot \frac{t_{s}-\beta T}{\beta T})), \qquad &{} t_ {s} \ge \beta T \end{array} \right. \\ \mathbf {a}_{x}= & {} \biggl [ -L, -\frac{4L}{T}, \frac{80L}{T^{2}}, -\frac{320L}{T^{3}}, \frac{640L}{T^{4}}, -\frac{512L}{T^{5}} \biggl ]^{T} \\ \mathbf {a}_{z}= & {} \biggl [ 0, 0, \frac{64H}{T^{2}}, -\frac{256H}{T^{3}}, \frac{256H}{T^{4}}, \quad 0 \biggl ]^{T} \end{aligned}$$

The \(p_{zi}\) shows the rising path of the trot gait to compensate the ground reaction from the ground. Finally, the foot trajectory vector of the gait transition pattern is calculated by the 6th order polynomial equation form described as

$$\begin{aligned} \mathbf {P}_{i} = f (t_{s}, T, x_ {1}, x_{2}, \dot{x_{1}}, \dot{x_{2}}, H) \end{aligned}$$

where \(x_{1}, \dot{x_{1}}, x_{2}, \dot{x_{2}}\) and H are the starting position / velocity, the end position / velocity, and the height of the foot trajectory for the gait transition pattern respectively. This function is the general equation form to calculate any trajectory between the starting point and the end point with the position, velocity and the height.

3 Hybrid walking gait

In this section, we introduce the quasi-dynamic HW gait, which improves the generic walking gait. We first generate the generic walking gait with 6 steps, widely used for various quadruped walking robots and then, introduce core ideas of HW gait.

3.1 Generic walking gait

The generic walking gait for the robot mimics that of the animal. One cycle of the generic walking gait consists of six steps and goes forward two stride lengths as shown in Fig. 3. For consistency, the front left, front right, hind left, and hind right legs are denoted by FL, FR, HL, and HR, respectively. Each step of one cycle can be described as follows:

  • 1st step Supporting (FL, FR, HL), Swinging (HR).

  • 2nd step Supporting (FL, HL, HR), Swinging (FR).

  • 3rd step Moving the body to the right forward side.

  • 4th step Supporting (FL, FR, HR), Swinging (HL).

  • 5th step Supporting (FR, HL, HR), Swinging (FL).

  • 6th step Moving the body to the left forward side.

In every step, the vertical projection of the center of mass (abbreviated as COM from now on) should be in the support polygon to prevent the robot from falling. The duty factor (\(\beta \)) is usually set to 0.75 similar to the animal’s. However, the drawbacks of this gait are low mobility and the discrete motion of the body, which makes it complicated to plan the trajectory. Thus, an improved quasi-dynamic walking gait is proposed in this section.

Fig. 3
figure 3

Sequences of generic walking gait and HW gait in single cycle. The generic walking gait has totally four leg steps and two body motions. On the other hand, the HW gait has four leg steps (1, 2, 3 and 4 \(_{\mathrm{leg}}\)) incorporated with body motions (1, 2, 3 and 4 \(_{\mathrm{body}}\)) to improve the performance of locomotion

3.2 Hybrid Walking Gait

The core idea of HW gait is to reduce the number of steps in each cycle of the generic walking gait. The generic walking gait includes two steps (3rd and 6th) to move the body forward two stride lengths (2 L). In the HW gait, the two steps moving the body forward are incorporated into four swinging leg steps as shown in Fig. 3. Thus, a robot using the HW gait pattern can swing its legs and move its body simultaneously. The HW gait consists of four steps as follows:

  • 1st Step Supporting (FL, FR, HL), Swinging (HR),

    Moving the body to the left forward side.

  • 2nd Step Supporting (FL, HL, HR), Swinging (FR),

    Moving the body to the right forward side.

  • 3rd Step

    Supporting (FL, FR, HR), Swinging (HL),

    Moving the body to the right forward side.

  • 4th Step Supporting (FR, HL, HR), Swinging (FL),

    Moving the body to the left forward side.

The body motion and leg swing can be performed simultaneously in the HW gait. Thus it has great properties such as maintaining stability, smooth behavior, and fast mobility. The assumed advantages can be proved using Fig. 4. The x and y axes show the forward and side direction of the robot, respectively. On the left side, (a)–(e) show the COM trajectory in top view, x position and velocity, and y position and velocity of the generic walking gait, respectively. On the other hand, (f)–(j) show the COM trajectory in top view, x position and velocity, and y position and velocity of the HW gait. Here, L is the stride length, T is the period of one cycle of the gait, the sectors between the vertical dotted lines represent one step of the gait, and the sectors between the vertical bold dotted lines represent single cycle (or T) of each gait. Figure 4a, f shows that the generic walking gait moves forward less in 6 steps than HW gait moves in four. As shown in Fig. 4b, g, the HW gait takes less time to move the same 4 L and x position in the HW gait tends to increase linearly over time. However, the value of x in the generic walking gait increases only in the body moving step. Figure 4c, h shows the velocity of the body in the x axis. The velocity is maintained in (h), but not in (c). Also (e) and (j) shows similarity to (c) and (h). The HW gait shows better mobility than the generic walking gait through Fig. 4f, g. We can confirm that its mobility is better by comparing the velocities as follows:

$$\begin{aligned}&V_{\mathrm{gw}} = \frac{\text {Stride Length}}{T_{\mathrm{cycle}}} = \frac{2L}{6\,\mathrm{step}}\\&V_{\mathrm{hw}} = \frac{\text {Stride Length}}{T_{\mathrm{cycle}}} = \frac{2L}{4\,\mathrm{step}}\\&\frac{V_{\mathrm{hw}}-V_{\mathrm{gw}}}{V_{\mathrm{gw}}} = \frac{\frac{2L}{4\,\mathrm{step}}-\frac{2L}{6\,\mathrm{step}}}{\frac{2L}{6\,\mathrm{step}}}= \frac{1}{2} = 50\,\% \end{aligned}$$

where \(V_{\mathrm{gw}}\) is the velocity of the generic walking gait and \(V_{\mathrm{hw}}\) the velocity of the HW gait. From the trajectory planning point of view, the velocity and acceleration in the generic walking gait change continuously. However, in the HW gait, the velocity is maintained. Thus the HW gait shows less complexity, and shows a smoother motion.

Fig. 4
figure 4

Comparison to COM trajectory of generic vs HW gait

4 Proposed gait transition algorithm

4.1 Gait transition of quadrupedal animals

To develop the GT pattern, we first observe the GT methods of quadrupedal animals. Quadrupedal animals do the gait transition when they face a change in environment or want to change their speed/gait. The gait transition gives them high adaptability and mobility in various environments. Moreover, it also allows them to minimize their energy consumption.

GT combinations come in many forms such as walk–trot, trot–pace, trot–gallop and so on. In this paper, we focus on a walk–trot GT algorithm, which is widely used to exploit the advantages of static and dynamic gaits. The walk gait is static and it is the most stable gait with high adaptability in various terrains (the average speed is about 6.4 km/h). The trot gait is dynamic and faster than static walk gaits (the average speed is about 13 km/h) [27]. The walk–trot GT combination is the most general GT method in quadrupedal animals. As shown in Fig. 5, the walk–trot transition of horses occurs in a very short moment by consistently changing the cycle period and locomotion frequency of each leg.

Fig. 5
figure 5

Horse’s gait transition from walk to trot [20]

For decades, robotic researchers have tried to realize the smooth GT pattern for the walking robots. The most cases are to use the CPG-based algorithms. However, they require complicated equations to generate rhythmic patterns, and need additional tools to set the parameters. Thus, it takes time to transit from one gait to another. Therefore, this work proposes simple but robust GT algorithm between walk–trot based on the observation of quadrupedal animals.

4.2 Idea of gait transition algorithm

To develop a GT algorithm for the quadruped robot, the GT pattern of animal locomotion is analyzed and simplified based on the HW gait as shown in Fig. 6. We use the general trot gait with the duty factor usually set 0.5. The period of single cycle of the trot gait includes only 2 steps with diagonal legs as pairs. To move forward by the trot gait, one pair contacts the ground while the other pair swings. For ease of explanation, only the GT pattern based on the HL leg is shown, but in a real robot, the GT timing can be selected by the user. The robot goes forward using the HW gait up to the HL step. The proposed GT algorithm is executed immediately after the end of the HL swing. After that, the robot moves forward with faster speed by the trot gait as illustrated in Fig. 7. Here, we can add explanations for each step such as

Fig. 6
figure 6

Sequences of proposed GT algorithm between HW gait and trot gait. Red and gray circle depict the swinging leg and the supporting leg, respectively. The below gray and white pattern display the footfall contacted with the ground or not. The gray square means contact with the ground (color figure online)

Fig. 7
figure 7

a One step of the HW gait divided into four parts which include three parts in supporting phase and a part in swinging phase. The required time for each parts is equivalent. In addition, the trajectory of the trot gait includes a rising path which is manually tuned for making robot compensate the ground reaction force in supporting phase. it is useful to maintain the stable motion in trot gait. b It shows the trajectory of the GT pattern between the HW gait and the trot gait. In figures 1, 2, 3 and 4, the black dotted line is the trajectory of the HW gait and red dotted line is the trajectory of the trot gait. The stride length of the trot gait is shorter than the HW gait because the stride length for the each gait is calculated by \(L= v \beta T/2\). Also, the stride length of the hind leg in the trot gait was set shorter than the front leg because the role of each leg is different. The theoretical reason for setting different stride length of each legs and front/hind is described in [26, 29]. a Simple form of the trajectory for HW gait and the trot gait. b Trajectory of four legs for GT pattern between HW–trot gait during 1.5 s (color figure online)

0–0.5 s

  • FL: Swing from \(-1.5\cdot L_{\mathrm{hw}}\) to \(L_{\mathrm{trot}\_f}\).

  • FR: Accelerate from \(0.5\cdot L_{\mathrm{hw}}\) starting at the velocity of walk to trot.

  • HL: Accelerate from \(1.5\cdot L_{\mathrm{hw}}\) starting at the velocity of walk to trot.

  • HR: Accelerate from \(-0.5\cdot L_{\mathrm{hw}}\) starting at the velocity of walk to trot.

0.5–1.0 s

  • FL: Swing from \(-1.5\cdot L_{\mathrm{hw}}\) to \(L_{\mathrm{trot}\_f}\) (continuous).

  • FR: Accelerate from \(0.5\cdot L_{\mathrm{hw}}\) starting at the velocity of walk to trot (continuous).

  • HL: Accelerate from \(1.5\cdot L_{\mathrm{hw}}\) starting at the velocity of walk to trot (continuous).

  • HR: Swing from \(0.5\cdot L_{hw}\) to \(L_{\mathrm{trot}\_h}\).

1.0–1.5 s

  • FL: Move with the desired velocity and the trajectory of the trot gait.

  • FR: Swing current position to \(L_{\mathrm{trot}\_f}\).

  • HL: Swing current position to \(L_{\mathrm{trot}\_h}\).

  • HR: Move with the desired velocity and the trajectory of the trot gait.

where the \(L_{\mathrm{hw}}\), \(L_{\mathrm{trot}\_f}\) and \(L_{\mathrm{trot}\_h}\) are the half of total length of the HW gait, the half of total length of the trot gait for the front leg and the hind leg, respectively. The proposed GT algorithm has body motion on the y-axis along the side direction of the robot body while changing the gaits from the HW to trot gait in 1.5 s. Thus, the HW gait and the trot gait can be synchronized by these steps, as shown in Fig. 6.

In addition, the reason for the differences between the trajectory of the HW gait and the trot gait is to increase the speed of the robot with the limitation of the robot hardware. The differences are the cycle time (T), the duty factor (\(\beta \)), the desired velocity (v) and the trajectory (\({\mathbf {P}}\)), too. The trot gait is the faster gait than HW gait. To increase the speed of the robot, we have two options. One is to increase the stride length with the same cycle time, and another is to reduce the cycle time with the same trajectory. However, to increase the stride length with the same cycle is difficult to our robot, AiDIN-III, because the hardware performance is limited. Thus, we change the stride length little bit shorter for the trot gait and reduce the cycle time. That is, we have 4 s for HW gait and 1 s for the trot gait. The stride length for each gait is calculated by \(L = v \beta T/2\) (where v, \(\beta \) and T are the desired velocity, the duty factor and the cycle time for the desired gait, respectively).

Besides, the trot gait has different trajectories among four legs because of its role of the legs. The hind legs play a role to propel the body of the robot but the front legs play an opposite role for the body. In fact, we can use the same stride length for both sides. However, we scale down the stride length of the hind legs to 0.75 times of the front legs to make the motion of the robot more stable. Also, to contribute to the stability of the motion, the rising path which is manually tuned by some of parameters is added into the trot trajectory. It is useful to compensate the ground reaction force (abbreviated with GRF from now on).

Furthermore, the proposed GT algorithm can be extended between other gaits using the simple predefined trajectory for the four legs. To evaluate the algorithm, we performed experiments by implementing the GT algorithm in several environments.

5 Experiments

In this section, we describe experimental procedures and results with the quadruped walking robot AiDIN-III to validate the HW gait and GT algorithm.

5.1 Outline of quadruped robot AiDIN-III

The robot, named AiDIN-III as depicted in Fig. 1, was developed in our group. AiDIN-III has 16 degree of freedoms (DOFs), and each leg has 3 actuated rotary joints and 1 passive linear spring-damper joint. Each rotary joint is controlled by a DC motor with an encoder to measure joint angle. In addition, an inertial measurement unit (IMU) is attached to the robot body to measure the orientation, body linear acceleration, and rotational velocity. Furthermore, each leg is equipped with a load cell sensor to measure the linear force acting on the linear passive joint. For communication, we set up a Xenomai-based single board computer (SBC) on the robot. Each motor is controlled by a dsPIC driver. These drivers communicate with the SBC via CAN protocol. The calculation process in the SBC is done every 4 ms (250 Hz). The dsPIC runs at 1 kHz frequency to control the motor via PWM signals. The detailed description of the hardware setting and the control strategy can be found in [25, 26], respectively. The motion command is done in a separate computer that connects to the SBC via Xbee-pro (MaxStream), which is a wireless network module. For user control of the robot, a control panel was developed using microsoft foundation class library. The commands we sent to the SBC are listed below and shown in Fig. 8.

Fig. 8
figure 8

Gait transition strategy by user commands via Xbee Pro module

Command list

  • Logging into SBC.

  • Running walk, trot and standing trot gait.

  • Walk to trot gait transition.

  • Turning to the right/left (10\(^{\circ }\)/1 click).

  • Walk to trot (not using GT pattern).

  • Trot to walk (not using GT pattern).

  • Increasing/decreasing the velocity of walk gait.

  • Increasing/decreasing the velocity of trot gait.

  • Pausing motion while walking/trot gait.

  • Entering to wait phase.

5.2 Experiments for hybrid walking gait

To evaluate the HW gait, the generic walking gait and the HW gait were tested with the same trajectory for the foot but different T (cycle time). The cycle time for the HW gait and generic walking gait were set 4 and 6 s, respectively. The generic walking gait is slow than generic walking gait because the generic walking gait has 2 more steps.

5.2.1 Generic vs. HW gait

We performed tests on the flat terrain as shown in Fig. 9a. The robot executed each gait for 100 s. The robot driven by the generic walking gait moved forward about 1.60 m during 100 s. The experimental results of the generic walking gait are shown in Fig. 9b. The hip to foot position vector with respect to the local frame is in the center of the body of the robot. The x and y data show the discrete trajectory of the foot by time. To compare performances, we also tested the robot driven by the HW gait in the same environment and conditions. The robot moved forward about 2.42 m during 100 s as shown in Fig. 9c, d clearly shows that the foot trajectories according to the x and y axes are a continuous wave. This waveform is advantageous when the controller generates a periodic motion. By the difference in distance traveled using each gait during the same time, we can confirm an improved mobility of 152  %.

Fig. 9
figure 9

Motion of quadruped robot and its position vector data (\({\mathbf {P}}\)) of both generic and HW gait. a It shows the motion of generic walking gait during 100 s and the total distance is 159.25 cm. c The total distance of HW gait is 242.67 cm with same condition. b, d show the position vectors of generic walking gait and the position vectors of HW gait with respect to the local frame, respectively. a Indoor experiments of generic walking gait. b Position vector (\(\mathbf {P}\)) of generic walking gait. c Indoor experiments of HW gait. d Position vectors (\(\mathbf {P}\)) of HW Gait

To evaluate the smoothness of the motion of the COM, we drew the trajectory of the COM for both gaits in Fig.10a. It shows the COM location approximated using a position vector with respect to the local frame according to time. The trajectory of the HW gait is smoother than that of the generic walking gait and moves continuously. To show the practical motion in the global frame, we attached a red patch on the COM of the body as shown in Fig. 10b and performed experiments similarly. The patch in the generic walking gait first moves diagonally and stays still as the legs swing. Then it moves discretely in the opposite diagonal direction, as shown in Fig. 10c. However, in the HW gait, the COM continuously follows the desired trajectory, as seen in Fig. 10d, though we have the problem of moving the back in the middle of the figure due to the backlash in the gear system. Thus, we could prove that the HW gait produces better mobility, less complexity, and smoother body motion than the generic walking gait while maintaining stability.

Fig. 10
figure 10

Comparison of the COM movements for both gaits. The red circle patch was attached on COM of robot body and tracked after taking the video using a camera fixed in top view. a Both of COM trajectories with respect to the global frame. b Attached red patch. c Motion of patch in generic walking gait. d Motion of patch in HW gait (color figure online)

To prove that the proposed gait is stable, we depicted the figure of the stability margin in Fig. 11a. The stability margin for the proposed gait barely goes under zero at the end of each front leg landing. This transient moment occurs in extremely short time, that is around 0.0225 s (control frequency is 400 Hz, 0.0025 s) before the front legś landing. The landing of the forward swing leg also does not break the stability of the robot because the whole legs support the robot at that moment. In case of the roll angle, the maximum difference of the roll angle of the HW and generic walking gait in the indoor experiments was around 3.5\(^{\circ }\) as shown in Fig. 11b. By contrast, the HW gait increases the speed of the robot 150  % without falling, and thus, we could say that the HW gait has the smoother motion and the faster mobility while keeping the stability.

Fig. 11
figure 11

a A measure of static stability \(S_{\mathrm{SM}}\) of the proposed HW gait for the indoor environment. The stability is measured as the shortest distance of the horizontally projected COG from the edge of a support polygon. The stability margin barely goes under zero at the end of each front leg landing. This transient moment occurs while 0.0225 s (control frequency is 400 Hz, 0.0025 s) before front legs’ landing. b The difference of the roll angle of the HW and generic walking gait in the indoor experiments is around 3.5\(^{\circ }\). a A measure of static stability \(S_{\mathrm{SM}}\). b Roll and pitch angles of generic and HW gait

5.2.2 Outdoor experiments for HW Gait

To test the improvements and robustness of the HW gait, we drove the robot in two kinds of outdoor environments. The first experiment was the HW gait on rocky terrain during 100 s, and the result is as shown in Fig. 12a. The robot walked with a velocity of 0.03 m/s, and the average rock size was about 10 % of the robot’s total leg height. The graphs in Fig. 12c show the data of roll/pitch angles measured by IMU, the position vector of the four legs, and single axis force data from the load cell, respectively, while the robot walked in the rocky terrain. The RP angle data measured from the IMU show that the HW gait is as stable as the generic static walking gait and strictly maintains the supporting margin, even though the given conditions are unfavorable. In the middle of Fig. 12c, the FL position vectors are depicted. Solid lines represent the desired position, and dotted lines show the real position data from an incremental encoder attached on each of the shafts. In addition, the bottom data of Fig. 12c are measured by single axis load cell sensor used to sense the contact state with the ground as an ON/OFF state and also as a feedback signal for the CPG-based control system in the trot gait. In the next experiments, we tested the robot on grassy terrain with the same conditions similar to the first experiment as shown in Fig. 12b. This terrain had high-frictional surfaces and some wet surfaces. Nonetheless, the robot driven by the HW gait moved successfully. Both outdoor experiments show that the robot could walk with the proposed gait as stable as that of the generic walking gait.

Fig. 12
figure 12

The robot performed with the HW gait to prove the capability which can overcome the adverse condition environments without any reflex motion. The rocky and grass terrains were used as the test terrains. a The height of rocks is 10 % of the total height of the leg and the terrain was very rugged, and b the surface condition of the grass terrain was very rough and wet. c The RP angles show the stability of the robot close to generic static gait. a Motion of HW gait on a rocky terrain. b Motion of HW gait on a grass terrain. c Experimental data of HW gait on a rocky terrain

5.3 Experiments for proposed gait transition

To evaluate the performance of the proposed GT algorithm, we performed several experiments in indoor and outdoor terrains.

5.3.1 Indoor experiments for GT pattern with slow motion

We tested the robot on a treadmill to evaluate the performance of the GT algorithm based on the HW gait. In this experiment, we focused on the transition between the HW and trot gaits. Those phases ranged from 55 to 90 s. The number of 1 in Fig. 13a is the period of executing the HW gait. The number 10 shows the beginning of the trot gait. The other numbers show GT phases in details. The swinging legs are highlighted in red circles. We started with the HW gait and executed the GT algorithm after the HL leg swing.

Fig. 13
figure 13

Experimental procedure and data of GT algorithm on a treadmill. a Procedure of GT algorithm from number 1 to 10 (HW gait: 1–2, GT pattern: 3–9, trot gait: 10). b Experimental data of position vectors(\({\mathbf {P}}\)) with respect to hip frame. c Experimental data of RP angles measured from IMU. d Experimental data of load cell attached on foot

After that, the HW gait pattern changed to the trot gait pattern by controlling the trajectories of each leg as shown in Fig. 13a from photos of 3 to 9. The robot started to perform the trot gait normally from the photo 10. The position vectors of the four legs in Fig. 13b show the procedure of the transition in details. In particular, all the legs’ periods from the HW gait were changed to a trot gait after the HL leg swing. In addition, the experimental data from the IMU also show the change of gait pattern around 72 s. The frequency and magnitude of the body motion also changed around 72 s, as shown in Fig. 13c. By the experimental data from the load cell, we can see the period of the gait and the change to the trot gait after the transition: FR/HL and FL/HR contact the ground as pairs.

5.3.2 Outdoor experiments for GT pattern

After the indoor tests, we tested the robot in outdoor environments such as block, rocky, and flat terrain as shown in Fig. 14. The velocity of the HW gait and the trot gait were set 0.03 and 0.12 m/s, respectively. The robot used the HW gait until 48 s, at which time the GT pattern occurred for 1.5 s. Then the robot trotted to a total time of 100 s. The HW gait did not include a reflexive motion to maintain stability, but the robot could still stably perform the GT algorithm. By these three experiments, we confirmed that the robot achieved stable locomotion with the GT algorithm based on the HW gait in various natural terrains.

Fig. 14
figure 14

Overview of GT algorithm (HW gait–trot gait) of robot on three kinds of terrains. a Motion of GT algorithm on block terrain. b Motion of GT algorithm on rocky terrain. c Motion of GT algorithm on flat terrain

6 Conclusions

In this paper, we proposed a GT algorithm that can simply change a robot’s gait from static to dynamic and vice versa. We also proposed the HW gait, which improved mobility with high stability. The HW gait is 1.5 times faster than the generic static walking gait, and has a smoother trajectory of the body while keeping the stability of locomotion. It is less complex to generate the trajectory pattern by incorporating the two body moving steps into four leg swinging steps. Therefore, the GT algorithm based on the HW gait inherits those features and can adaptably change gait to a trot. To evaluate the proposed idea, the mobility and motion were predicted using numerical approaches. Then the proposed algorithms were tested with the AiDIN-III robot indoors and outdoors. The robot successfully performed the GT algorithm in indoor experiments, and stably executed the GT algorithm based on the HW gait in varied outdoor terrain such as rocky, block, and flat terrains. As a result, our proposed GT method can change the gait HW gait to trot immediately maintaining stability. The resultant data of the duty factor, the position vector, and the speed of the robot are summarized in Fig. 15 (included video: ISR VIDEO f.mp4).

Fig. 15
figure 15

Changes of duty factor, position vector and speed while GT algorithm occurs in 1.5 s

Thus, we can conclude the progressive features of the proposed GT algorithm based on the HW gait such as short transition time (1.5 s), simple calculation process to do the GT algorithm, and less complexity to plan the trajectory for the transition. The robot also keeps dynamic stability while it executes a GT algorithm, which is another advantage of the proposed algorithm compared with previous approaches.