This paper proposed a control algorithm that guarantees gait tracking performance for quadruped robots. During dynamic gait motion, such as trotting, the quadruped robot is unstable. In addition to uncertainties of parameters and unmodeled dynamics, the quadruped robot always faces some disturbances. The uncertainties and disturbances contribute significant perturbation to the dynamic gait motion control of the quadruped robot. Failing to track the gait pattern properly propagates instability to the whole system and can cause the robot to fall. To overcome the uncertainties and disturbances, structured specified mixed sensitivity robust controller was proposed to control the quadruped robot legs’ joint angle positions. Before application to the real hardware, the proposed controller was tested on the quadruped robot’s leg planar dynamic model using MATLAB. The proposed controller can control the robot’s legs efficiently even under uncertainties from a set of model parameter variations. The robot was also able to maintain its stability even when it was tested under several terrain disturbances.

1. Introduction

Legged robot has the advantage over wheeled robot in motion when the surface of workplace is not well structured [1]. Furthermore, the leg locomotion has a unique capability of obstacles avoiding or surmounting compared to the wheeled locomotion [2]. Therefore, the research of legged robot still attracts interest of many researchers worldwide [3]. The movement of the legged robot relies on the gait pattern being implemented. Interlimb coordination manages the footfall pattern that forms the gait pattern [4, 5]. BigDog from Boston Dynamics applied robust trotting gait to manage the robot to walk or trot on any terrains [6]. Good gait tracking has significant contribution to maintaining the center of mass (CoM) of the trunk to stay inside the stability margin. In trotting gait, when the stance or swing diagonal legs do not follow the gait trajectory, the trunk becomes unstable. The trunk depends upon the robot’s pitch and roll angles. Body pitch and roll angle significantly affect the motion control and overall stability [7]. Golubovic and Hu improved quadruped robot’s gait through an evolutionary algorithm [8]. Chung et al. proved that their gait design method enabled a steady hexapod walking even on a rugged terrain [9]. Ugurlu et al. [10] state that, according to some experiments with their HyQ quadruped robot, considering only sagittal motion is enough to achieve stable trot walk. Therefore it does not have to sway in lateral direction following Yoneda and Hirose method [11] to stabilize the trot. Since it only incorporates joints in sagittal planar motion then it is clear that the gait tracking performance is important. Some planar motion studies in sagittal plane to control quadruped robot have been conducted also in [12, 13], but no real hardware implementation has been reported.

This research proposes a robust gait tracking trajectory control that guarantees robust performance and robust stability under uncertainties, such as model dynamics or external disturbance. The algorithm is then implemented and verified on AIT quadruped robot.

2. Quadruped Robot Mechanical Structure

The quadruped robot is made of steel and aluminium frame. It has 12 degrees of freedom, where there is 3 degrees of freedom on each leg. The overall specification is given in Table 1.

AIT quadruped robot and its mechanical frame design are shown in Figure 1. The detail of the kinematic design and the D-H parameters of the leg is shown in Figure 2.

Based on the reference frames embedded at the joints of the robot, the D-H parameters are given in Table 2.

The homogenous transformation matrices of the quadruped robot are obtained:Therefore, the homogeneous transformation matrix is represented byand is the foot position vector, whereInverse kinematics of the robot’s leg are analyzed to determine joint angles based on foot position [2]. Multiply (3) with , multiply (4) with , and then subtract them:Thus,From (3), (4), andhenceFrom (5),Substitute and from (9) and (10) into (8) to getwhereFrom (11) [14],Then, Equation (11) can be written asFrom (8),Thus,Substitute the value of and in (14):There are two solutions. The valid solution depends on the mechanical constraints.

From (9) and (10),

3. Quadruped Robot Control Architecture

The quadruped robot control architecture is divided into two levels: high level control and low level control. The high level control manages the behavior of the robot including the gait generation and balancing control. The low level control is dedicated to controlling the leg’s joint position control. The low level controller receives commands from the high level controller to manage the legs positions. The low level controller is required to track the commanded gait trajectory. The proposed robust controller will be implemented in the low level control. The overall control strategy for the quadruped can be seen in Figure 3.

3.1. Balancing Control

Quadruped robot is supported by only two legs in some part or whole phase while walking in dynamic trot gait. The robot starts to fall sideways when the diagonally paired swinging legs rise. When the quadruped trots it can be modeled as biped [15]. Figure 4 shows in detail how it can be modeled as biped. As the diagonally paired leg always moves at the same time with the same trajectory then it acts as one of the biped’s legs. The center of mass of the quadruped trunk becomes the point mass of the biped model.

Many researchers conduct balancing control of biped using linear inverted pendulum model (LIPM) [1618]. In this research we also use LIPM to balance the quadruped after being simplified into biped model by employing ZMP concept.

Suppose Center of Gravity (CG) of a massless legs compass biped travels horizontally, and a force F and a moment M act on the CG. According to Yoneda and Hirose [11], if the friction between the leg and the ground is high, ZMP is the point on the ground at which the moment M and the force L acting on the CG can be resisted by applying a force only without moment. They also introduce ZMP balancing for quadruped robot by applying dynamic -directional translation of the body [19]. They tried to keep the ZMP staying in the supporting line made by the diagonally paired legs.

ZMP general equations arewhere and are the coordinates for the ZMP and , and denote the gravity, mass, and the position of link, respectively. The equations of simplified model to single mass inverted pendulum arewhere and denote the center of gravity position of the pendulum single mass. In our case the trunk of the robot is maintained with constant height all the time; then the equation becomes

ZMP criterion is based on its position in a supporting polygon. In real application of quadruped trot gait, the supporting line from the diagonally paired legs is not a perfect thin line segment but a supporting stripe because the foot that touches the ground has area [20]. The geometry of the AIT quadruped foot is shown in Figure 5. The width of the shoe is 30 mm and the round surface allows the foot to make wider contact with the ground along its rotation while walking to about 8 mm.

From the geometry of the foot, dimension of the robot, and trot gait parameters, the supporting stripe of the paired diagonal legs and the ZMP reference trajectory can be designed. The detail of the ZMP reference trajectory and the supporting stripes can be shown in Figure 6.

With the foot stepping area of 30 mm × 8 mm, it forms a significant supporting stripe as the supporting polygon for the ZMP. With stride length of 30 mm we can design the ZMP trajectory to stay on a straight line along the -axis, where is the axis along the direction of moving and is the axis parallel to the lateral motion.

Overall balancing is decoupled into transverse and sagittal plane control. The CoM of the robot will be moved in - plane of the robot to the predefined trajectory. For the lateral motion in the transverse plane the robot is modeled as compass biped model.

3.2. Robust Control

As previously stated, trotting control of a quadruped robot can be done by considering its sagittal motion only because the diagonally paired legs equally balance the trunk while walking [10]. Therefore, only joints on the sagittal plane, that is, hip and knee joints for flexion/extension, will be considered. Therefore, the robot trotting motion is done by controlling each foot to form a certain planar gait trajectory. Hip joint for abduction/adduction is not included because it is responsible for lateral motion only, for example, while balancing and turning. Control of two-degrees-of-freedom leg with hip and knee joints to follow such planar gait trajectory is considered as a two-link manipulator control. Figure 7 shows two-link kinematic configuration and example trajectory of half-sinusoidal gait pattern.

Lagrange equation of the two-link manipulator is expressed in (23) with , , and as the mass, Coriolis, and gravity matrix, respectively, and is the torque:wherewith , , and are the mass, length, and angular position of link th.

The two-link manipulator that represents the planar leg in sagittal plane consists of two DC motors with potentiometers as the position sensors. The motors are controlled using Arduino UNO microcontroller and VNH30SP DC motor driver Arduino shield circuit. The detailed diagram of the system is shown in Figure 8(a). Overall electronic circuit diagram of the quadruped robot is shown in Figure 8(b).

The system is a nonlinear and coupled dynamic system. It needs to be linearized in order that linear robust controller can be applied. Feedback linearization using Computed Torque Control method is applied. Computed Torque Control is a traditional technique for manipulator control [14, 2123]. This method transforms a multivariable nonlinear plant into a set of decoupled linear systems and provides good control performance when there are no uncertainties from external disturbance and unmodeled dynamics [24]. Block diagram of the feedback linearization of the quadruped robot is shown in Figure 9. The linear robust controller is in the outer loop, while the coupled nonlinear system is in the inner loop [23].

is an optimal controller that works based on the optimal condition among the bonded uncertainties that may happen. In an ideal condition, a simple PD controller may have better performance than the robust controller. However, in reality the robot does not always work in ideal condition. In other words, the robust controller does not provide the best performance of the system but provides the optimal performance in the range of uncertainties [25].

4. Structure Specified Mixed Sensitivity Robust Control

Feedback linearization is applied to decouple the system. The leg in planar motion acts as a two-link manipulator system. Each link is actuated by a DC motor. Total inertia of the DC motor system is the combination of inertia from the rotor and load attached to the motor shaft. Likewise, model uncertainties of the hip motor and the knee motor are also different. The hip joint has more load as it carries the whole leg and foot as its load. Therefore, the two joints have different transfer functions. Figure 10 shows the equivalent electrical and mechanical model of a DC motor.

The motor torque is proportional to the armature current:The back emf is proportional to the angular velocity of the rotor:From Figure 10 and by considering (25) and (26), transfer function of the DC motor can be derived as where is motor torque, is motor constant, is motor current, is back constant, is armature resistance, is armature inductance, is rotor inertia, is viscous friction constant, is rotor angular position, is rotor angular velocity, and is input voltage.

The transfers function of the system with input voltage and output angular position becomesAfter substitution of hip motor parameters into (28), the nominal transfer function of the hip motor attached with thigh structure, shank structure, and knee motor as the load is obtained asAfter substitution of knee motor parameters into (28), the nominal transfer function of the knee motor attached with the shank structure as the load is obtained as

4.1. Model Uncertainty

Figure 11 shows multiplicative uncertainty affecting a single-input single-output system. is the nominal system, is the system perturbation, is the controller, is the reference input, is the tracking error, is the external disturbance, and is the output of the system.

The perturbed system is expressed byThus, the multiplicative system perturbation is determined fromModel uncertainty exists due to inaccuracy and variation of inertial and noninertial matrices of the manipulator model during system identification process [24]. The controller synthesis includes ±30% of load inertia and motor armature resistance variation as the model uncertainties in the form of multiplicative perturbation. Singular plot of model uncertainty for the hip joint control is depicted in Figure 12, while singular plot of model uncertainty for the knee joint control is shown in Figure 13.

4.2. Mixed Sensitivity Control

If a controller, , is designed so that the nominal closed loop system ( and ) is asymptotically stable, the robust stability performance against external disturbance satisfies the following inequality [25]:A known stable function is used to attenuate external disturbance. The multiplicative perturbation is upper bounded by a known stable function :The robust stability against system perturbation satisfies the following inequality:where is sensitivity weight, is transmissibility or the complementary sensitivity weight, is the sensitivity function, and is the complementary sensitivity function. Structure of the controlled system is shown in Figure 14.

Following Skogestad’s method [25], after parameters substitution, the sensitivity weights for the hip and knee motors areSingular value plot of inverse of the sensitivity weight is shown in Figure 15.

The plot of the complementary sensitivity weight and the system uncertainty singular value is shown in Figure 16. The complementary sensitivity weight of the hip control system is obtained asMeanwhile complementary sensitivity weight of the knee control system is obtained asThe plot of the complementary sensitivity weight and the system uncertainty singular value is shown in Figure 17.

Figures 18 and 19 show that the singular values of the inverse of the weight functions on the hip and the knee joints are larger than the sensitivity and the complementary sensitivity singular values which confirm < 1 and < 1.

In this research, a PID controller structure is selected as the structure of the proposed controller:where is proportional constant,   is integral constant, and   is derivative constant.

4.3. Differential Evolution

Differential Evolution (DE) is an evolutionary based optimization algorithm [26]. The optimal controller gains for the structure specified controller are obtained by using DE [27]. Parameters of DE are set as follows: number of population = 20, differential weight = 0.8, and crossover probability = 0.7. Figures 20 and 21 show the evolution of the hip and knee controller parameters during the optimization of and by using DE.

Derived from the result, equation of controller for the hip motor is expressed byDerived from the result, equation of controller for the knee motor is expressed by

5. Simulation and Experimental Results

Figure 22 shows the simulation result of the hip joint controlled by the proposed controller with a step input under uncertainty. The controller provided efficient control of the system. Settling times of the system response under uncertainty were still admissible even though almost half of the responses have overshoot. The maximum overshoots are around 10%. The magnitude of the overshoots and the settling times are small compared to the gait cycle period.

As previously explained, without uncertainty, even a PD controller can be optimally set to obtain better response than any robust controllers. Figure 23 shows the response of the hip nominal model without uncertainty controlled by a well-tuned PID controller. It shows that the system is able to follow the step input much better than the robust controller. However, Figure 24 shows various responses of the system with a well-tuned PID controller under uncertainty. Some graphs show better responses than the proposed controller. However, in some conditions, the system has significant steady-state error. For the worst condition, the well-tuned PID controller cannot handle the uncertainty.

Figure 25 shows the simulation result of the proposed controller in controlling knee joint. The result shows better performance in terms of settling time and overshoot compared to the hip joint because of lower value of the shank load compared to the hip load. However, similar to the hip system, Figure 26 shows that the well-tuned PID controller obtains better performance than the proposed controller on the nominal model. However, Figure 27 shows that, under the same range of uncertainty, the proposed controller performs better than the well-tuned PID. Similar to the hip joint, it has steady-state error under some model uncertainty.

To verify the simulation result, we conducted three experiments:(1)In the first experiment, individual leg was tested using both the proposed controller and well-tuned PID controller following a step trajectory input. To observe robustness to model uncertainty, inertia of the leg was varied.(2)In the second experiment, hip and knee joint angles were measured while trotting forward to see the performance of the proposed controller tracking the gait trajectory pattern. To observe robustness to the environment uncertainty, walking surface for the quadruped was varied.(3)To see the contribution of the gait improvement control to the overall robot stability, the third experiment was conducted by measuring the trunk behavior when the quadruped trotted using the proposed controller combined with the balancing algorithm. The measurements were done using Inertial Measurement Unit (IMU) and visual inspection using camera recorder. The quadruped robot walked in three different surfaces during the test.

Inertia parameter as one of the system model parameters was varied into three values: nominal, minimum, and maximum value. For the maximum value, the tip of the shank or the shoe was added with a point mass so the inertia will increase around 30% similar to the value on the simulation test. The additional inertia on the tip is considered as a point mass inertia with amount of . The minimum inertia cannot be set similar to the simulation which is reduction of 30% inertia. Minimum inertia was set by replacing the metal shoe with light nonmetal shoe to get the mass reduction. By assuming inertia reduction of a point mass on the tip of the shank, 10% reduction was set on the leg. Nominal inertia means that there is no addition or reduction of mass to the leg. To limit the consideration just to the mass addition and reduction uncertainty only, the individual leg tests were conducted on the leg maximum stretch position. This fixed orientation was chosen because, during the trot, different configuration of thigh and shank along the trajectory will generate inertia variation to the hip.

Figures 28 and 29 show the comparison of the proposed controller and well-tuned PID controller performance controlling hip and knee joint position, respectively. Reference signal was set as a step function with the amount of 30 degrees’ angle. The experiment was conducted under three different values of leg inertia. Both Figures 28 and 29 consist of three subparts. Part (a), part (b), and part (c) represent the experiment test on the nominal leg inertia value, minimum leg inertia value, and maximum leg inertia value, respectively.

Figure 28 shows system responses of hip joint control using the proposed controller and well-tuned PID controller. Figure 28(a) shows that, on the nominal model, well-tuned PID controller provides a good response as it has no overshoot, short settling time, and no steady-state error. It even has better response than the proposed controller. In this case, the well-tuned PID controller works better because the controller constants have been properly tuned with the nominal model (without uncertainties). Figure 28(b) shows that the well-tuned PID controller has higher overshoot but better settling time than the proposed controller. It might be because the 10% of mass reducing did not significantly disturb the system as it happened on the simulation where there was 30% of mass reducing. However, Figure 28(c) shows that addition of 30% of inertia made the well-tuned PID have lower settling time than the proposed controller. We can see from the three graphs that there are no big variances, for example, on the rise time and overshoot in the proposed controller output response. The settling time became longer when the leg inertia was in the maximum value. However, there were no steady state errors in all of the three inertia variation experiments.

Figure 29 shows system responses of knee joint control using the proposed controller and well-tuned PID controller. Figure 29(a) shows that, on the nominal model, well-tuned PID controller and the proposed algorithm both perform well and only the well-tuned PID slightly has smaller settling time. Figure 29(b) shows that in the second case, where the system has the minimum value of inertia, well-tuned PID and the proposed controller have almost the same settling time. However, the proposed controller has smaller overshoot. Figure 29(c) shows that the knee joint control system of the well-tuned PID has steady-state error when the inertia is in the maximum value. The proposed controller gives a satisfactory result where there is no steady-state error, short rise time without overshoot, and short settling time.

Overall experiment shows that the proposed controller has less response fluctuation compared to the well-tuned PID controller and always gives satisfactory result in all conditions of model parameter change.

Hip and knee joint angles as the inverse kinematic result of half-sinusoidal foot trajectory pattern were sent to the controller to achieve trotting gait of the quadruped. Trot gait parameters were set as follows: duty factor set at 50% with stride length of 30 mm, CG height constant set at 220 mm, swing height 30 mm, and trot frequency at 2 Hz. Besides inertia uncertainty from the dynamics of the body, external disturbance also arises from three different walking surfaces which are hard tiles floor, medium soft carpet, and grass. Hard tile floor provides hard landing impact on the legs. Grass floor provides more damping to the legs while trotting but more friction while swinging. Carpet floor is softer and has more friction compared to the tile floor.

Figure 30 shows performance of the proposed controller to control hip and knee joint angles in the presence of those uncertainties. Set points are set of angles generated from the gait generator block that the joints should follow. Hip joint control has better performance in terms of response time in tracking the trajectory compared to knee joint control. It is because they have different set point pattern. Hip has fewer sudden changes of the angle command unlike on the knee set point. Yet, the knee joint settling time actually is still considerably small because the gait frequency is 2 Hz. It means that completing one single gait needs 0.5 seconds; then the longest settling time is around 0.2 seconds. However, the knee joint control responses have better tracking result as the graphs stay close to each other along the trajectory. Overall, the output angle patterns are consistent along the repetition; it means that the gait pattern tracking is also consistent. The graphs also show that the three outputs from three different walking surface tests have almost the same trajectories. It indicates that the gait trajectory tracking is well maintained by the proposed controller even in the presence of previously mentioned uncertainties.

The last experiment is to test the gait tracking control combined with the balancing algorithm when the quadruped also trots in different types of terrain including hard tile floor, grass, and carpet floor. Figures 3133 show the experimental results of trunk attitude when the quadruped robot walks on different types of terrain. The result shows that the trunk attitude is not affected much by the variation of the terrains. Figure 31 shows that the fluctuation of the pitch and roll angle is around ±5 and ±6.5 degrees, respectively. But, on the grass, the robot has smaller fluctuation both of pitch and of roll angle of the trunk. Figure 32 shows around ±4 and ±5 degrees’ angle fluctuation of pitch and roll angle, respectively, when the robot trots on the grass. Figure 33 shows different case when the quadruped trots on carpet surface. It has ±4.5 degrees of pitch angle fluctuation and around ±5.5 degrees of roll angle fluctuation. When the surface is hard such as tiles, the leg landing impact force is propagated through the entire structure that caused bigger disturbance to the robot. Grass damped the vibration from the leg landing impact and stance legs transition during the trot. In between those characteristics is the carpet, which is soft but the floor underneath is also hard. Considering those surface characteristics and resulting behavior, the quadruped is considered to be able to walk stably using the proposed robust gait controller combined with the balancing algorithm.

Figure 34 shows snapshot images of the trunk attitude when the robot was trotting on the hard tile floor. A cross mark was placed on the trunk. The robot was recorded by a camera to get a fixed height of the reference cross mark as indicated by a solid line in the images. The dashed line shows the trunk attitude in vertical direction monitored from the cross mark position. Here we did not have magnitude of the tracking error. However, it was shown visually that there is no significant oscilation on the trunk during the trot.

6. Conclusion

The proposed structure specified mixed sensitivity controller was able to track the gait trajectory of the quadruped robot with unmodeled dynamics, uncertainty, and disturbance. MATLAB simulation showed that the system controlled by the proposed controller could be tracked following the step input without steady-state error with satisfactory rise time and settling time. Most of the responses had less than 0.5 s settling time and less than 10% overshoot. The settling times and the overshoots periods were considerably short compared to the gait cycle period.

Individual leg test with inertia variation of 10% reduction (minimum inertia), nominal value, and 30% addition (maximum inertia) showed that, on the nominal cases, both controllers provided satisfactory performances. When the inertia was set to minimum, the well-tuned PID controller had longer settling time compared to the proposed controller, while, in the maximum inertia experiment, the well-tuned PID had 5% of steady-state error while the proposed controller performed satisfactorily with small rise time but no overshoot and short settling time without steady-state error.

Furthermore, the proposed controller also worked well to control the legs when the quadruped robot trotted on different terrains, such as hard tile floor, grass, and carpet. The proposed controller was able to track the gait trajectory over the three types of those walking surfaces. The trunk attitude was maintained in small range of variation. With roll angle variation in average around ±5 degrees, the quadruped robot still could perform a good shape of trotting and was far from the critical angle that made the robot tip over. The variation of the quadruped robot’s trunk pitch angle was less than that in the trunk roll angle.

It was proved that the structure specified controller is a good controller especially for industrial usage because it simplifies the high order controller into familiar controller structure, such as PID, but still provides its robust characteristic.

Competing Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.


The authors would like to acknowledge the support from Ministry of Research, Technology, and Higher Education of the Republic of Indonesia (RISTEKDIKTI).