Project - Bounding Gait Controler on a Quadruped Robot with Flexible Back Spine Architecture

Author: Utku Çulha

This web page consists of information about the project research conducted on developing a bounding gait controller on a quadruped robot with flexible back spine architecture. This project is also related with my thesis research, therefore you can find detailed information in my research page. The topic of locomotion control for dynamic systems such as legged robots require additional context in feedback control, therefore this web page tries to summarize the research on this subject within the context of course boundaries as well the feedback control theory.

The content of the web page is indexed as below:

Index Subject
1 Introduction
2 Definition of the Problem
3 Robot Structure
4 Platform & Simulation Environment
5 Stiff Backed Robot Control
6 Stiff Backed Experiment Results
7 Flexible Backed Robot Control
8 Flexible Backed Experiment Results
9 Comparison & Discussion
10 References


With respect to the development of legged robots who are able to balance during process of gaits, the interest has passed from wheeled robots to legged ones. Depending on the simple design of a single leg [1] to be used in robots, many variations of legged robots which have different number of legs have been developed [2]-[6]

Inspiring from nature, the robots with legs achieved a peak in dynamics of locomotion in rough terrains. Considering the quadruped and hexapod robots that have been developed, it is noticeable that the body architecture of these robots has a general concept: A stiff torso and actuated legs. It is a natural fact that this kind of architecture was necessary in order to solve the leg dynamics at the first place. Although there exists a research on development of an articulated back spine in a quadruped robot [4], most research has been dedicated to stiff backed robots. This research proposes the design of a quadruped robot with an articulated back spine and a control system on the process of a bounding gait.

1.1 General Concept

The general concept in the problem space I am interested in is to achieve a bounding gait with a quadruped robot. A quadruped robot is actually a 4 legged robot whose legs depend on the design proposed by Raibert in his SLIP model [1]. The idea is to apply a control over these legs, which all have the same structure and control system eventually, and achieve a desired behavior.

Figure 1.1 – Concept of quadruped robots with stiff back and with an articulated spine

The concept shown in figure 1.1 depends on the idea of planarization of a quadruped in a 3D environment. The robot on the right has two virtual legs [1] constituted of spring mechanisms and a rotational spring on the midpoint of torso playing the role of the articulated back spine. Having an actuator for each of these mechanisms, the main goal is to apply a control system to control these actuators to achieve a bounding gait.

1.2 Bounding Gait

The bounding gait is a running behavior seen in mammals with 4 legs. The gait behavior consists of several states in which the animal moves his parallel front and back legs at the same time in a consecutive order [5]. The gait can be modeled with the model shown in Figure 2.1 as below:

Figure 1.2 – Figure adapted from Talebi showing the bounding bait of a quadruped robot [5]

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Figure 1.3 - The video above shows an impala performing the bounding gait.

1.3 PID Controller

Depending on the structure of the robot mentioned in the previous section, controllers will be active on the actuators found on the torso of the robot. Those actuators are the leg position actuators and the spine position actuator. PID controllers are used in the project to maintain the required locomotion control. For the sake of clear explanation, the following PID controller definition is extracted from the given reference [13]

"The PID controllers are the standard tool for industrial automation. The flexibility of the controller makes it possible to use PID controller in many situations. ... Many simple control problems can be handled very well by PID control, provided that the performance requirements are not too high. The PID algorithm is packaged in the form of standard regulators for process control and is also the basis of mant tailor-made control systems. ... The algorithm is:

where u is the control variable , e is the error defined as e = uc - y where uc is the reference value and y is the process output."

With respect to the given definition, PID controller is formed of 3 parts. First part is the "Proportional" error part where the error is mutliplied with a Kp constant gain. The second part is the "Integral" error part where the cumulative sum of error is multiplied with a Ki gain. ( It should be expressed that Ki term will be used instead of Kp/Ti term as in the given formula) And the last part is the "Derivative" error part where the derivative of the error is multiplied with a Kd gain. ( Same as Ki, Kd term will be used instead of Kp.Td term as in the given formula)

PID control gains will be playing important role in the process of stabilizing a system's output. The user of the controller selects the gains with respect to the importance and the rate of effectiveness of the 3 parts mentioned.

2.Definition of the Problem

The problem proposed in this research is to find a control system to actuate the leg and spine actuators of a quadruped robot with a back spine in order to achieve a bounding gait.

Figure 2.1 – Concept of the robot that is used in the project

Considering the design shown in Figure 2.1, the controller will try to apply necessary torques T1, T2 and T3 on the actuators to achieve the states of a bounding gait.

Figure 2.2 – Design of the PID control system. The controller takes in the desired angles for each motor and produces the required torque value for that motor

First of all, a bounding gait with a normal PID controller will be defined. In order to achieve consecutive states of the predefined gait, controller will be fed with the desired angular position of each virtual leg and the role of the spine point. The controller will then be expected to solve dynamic equations considering the overall motion of each rotary joint and come up with torques that will manage the desired angular position. The controller here will be in the form of a multi output controller as the system requires the solution for each joint with given a single behavior. Although having a different dynamics than the legs, the spine joint solution will be found together with the legs.

The observer will play the role of observing the results of the applied torques on the rotary joints in means of leg and spine joint positions. What is more, observer will follow the horizontal velocity of the robot body. Reporting back to the controller, the observer will complete the feedback system loop in the whole architecture. With the assumption of the initial state of the robot, that is robot has a predefined non zero initial velocity and position, the controller will perform torque calculations at each state step of the whole gait in order to convert this initial motion into a bounding gait.

In order to show the effect of having an active control on the spine of the robot, two experiment sets will be prepared. In the first set, the robot will behave like a normal stiff backed quadruped robot. In order to manage this behaviour, the spine motor of the robot will be acting to keep the relative body angles in 0 radians. In this way, the 2 parts of the robot body will be placed as a single body unit. A PID controller will be active on all of the motors with this simulated stiff backed robot and the resultant bounding gait with performance criteria such as horizontal body velocity and hopping height will be observed.

In the second experiment set, the spine motor will be given differing desired angles to imitate the spine motion performed in 4 legged animals. Same as the first set, performance criteria values will be found for further comparison.

3.Robot Structure

The general design of the quadruped robot I will be using depends on the concept that was mentioned in the previous chapters. As mentioned before, similar robots have been designed and implemented before [1], [2], [4] and therefore I have investigated their structures and parameters set. What is more I have investigated the biological research on the physiology of cats (especially cheetah) and horses. Following section shows the biological side of the research.

3.1 Biological Correspondence

The motivation behind this project is to be able to step closer to natural talents of animals which perform great capabilities on differing terrains. The idea of a quadruped with a back spine structure is therefore assumed to be the next step in achieving successful locomotion gaits like 4 legged animals like gazelles, cheetahs and horses. As nature shows us, those animals are very successful in achieving stable and dexterous gaits during their motion.

The base reference animal for this project is the cheetah or acinonyx jubatus as defined in the classification jargon. Those animals are known as the fastest land mammals on earth by achieving 120 km/h maximum speed during their hunt. [11] One of the most striking features of these animals as well as other animals running at high speeds is the highly flexible back spine. Even through observation, the help of this flexible back spine could be seen on their increased stride length and sprint speed.

Figure 3.1 – Cheetah’s flexible back spine during locomotion

By the help of this spine system, cheetah increases its stride length per locomotion gait. This increase results in higher jumps and faster sprints. Depending on this fact, I have decided to add a spine model on the general quadruped robot concept. The structural parameters of cheetah are also important as well as the spine structure. Upon different research conducted upon these animals, scientists have gathered similar data showing the size and mass of cheetah. Below is the table showing this information:

Body Mass
Fore Leg Length
Back Leg Length
Height up to Shoulder
Tail Length
Body Length
48±6 kg
67±5 cm
82±5 cm
90±5 cm
100±10 cm
85±2 cm

Table 3.1 – Table showing data collected from numerous cheetahs. [10] [11]

I have taken the information provided above while constructing the simulation robot. It is noticeable that fore legs of cheetahs are shorter than their hind legs. What is more, researches also reveal that hind legs are more powerful than fore legs. It is also taken notice that that spine does not only bends animal’s body for stride length increase but also provides a vertical and horizontal thrust during locomotion as well as a energy transfer system between fore and hind legs. [4],[11]

For the sake of simplicity, I will ignore the length and power differences between legs at this stage of the project. Those differences and their affects shall be investigated for further research.

3.2 Simulation Robot

Figure 3.2 – Robot structure used in the simulations

Above is the robot structure that is being used in the simulations during the course of the project. The robot can be defined as a 4 chain body configuration. As the simulation environment is Working Model 2D, the robot’s configuration dimension is 2.

The fore and hind legs of the robot consist of 2 rigid rods and a spring-damper mechanism in the middle. 2 fixed feet are attached at the end of each leg which are perfect circles with high friction constants. The legs are attached to the main body parts with a rotary motor. These motors are the focus of the PID controller during the locomotion cycle.

The spine architecture is modeled with another rotary motor placed in between two main body parts. Those body parts are independent of each other but this motor connection, therefore a rotating motion is acquired in the middle of the robot, which simulates the spine architecture. As defined before, for the sake of simplicity the each part of the robot is symmetric. For further research the widths of main body parts may be differing as well as the parameters belong to the legs. Below is the table showing the parameters set for the robot.

Main Body Mass ( Sum of 2 parts )
20 kg
Mass of Each Leg
1 kg
Leg Spring Constant
3500 N/m
Leg Spring Damping Constant
55 N-s/m
Body Length
1 m
Leg Length (Including Spring Length)
0.85 m
Spring Rest Length
0.50 m

Table 3.2 – Parameter set for the robot

4.Platform & Simulation Environment

For the project I have used Working Model 2D[7] as the simulation environment. This tool helps to simulate many mechanisms in a 2 dimensional world. Because of problems with interfacing this modelling tool with MATLAB, I have developed the controller algorithm with a Basic based programming language embedded in the modelling tool.

5. Stiff Backed Robot Control

The bounding gait for stiff backed quadrupeds is defined in 4 states in a cycle. Following figure, adopted from Poulakakis et al [12] shows these 4 states.

Figure 5.1 – Bounding gait states defined by Poulakakis. These states will be used as a reference for flexible bounding gait cycle

It is noticable that each of these states is ignited by the detection of some specific events. According to Poulakakis, those specific events are only detected by the touching of feet on the ground and leaving it. Following these states, each leg can be in 3 differing states during the locomotion cycle. These states are shown below adapted from Talebi et al[5]

Figure 5.2 – States of each leg

In each of these phases a different PID controller is applied to the motor. Below are the details about these controllers as well as the controller for the spine motor.

5.1 Flight Phase

In this phase, the main aim is to control the leg so that a desired touchdown angle is satisfied. The controller for the touchdown angle is as follows:

The controller gains are Kpf, Kif and Kdf where θtd is the desired touchdown leg angle and θy is the current leg angle.

5.2 Stance Retraction Phase

In this phase the rotational speed of the leg is controlled with the same PID controller. The controller is given a fixed  (rotational speed ) and the required  is found for that unit time. The control is as follows:

This phase ends when the current leg angle reaches the desired sweep limit angle.

5.3 Stance Brake Phase

In this phase, legs are applied a PID controller to hold the leg at the desired sweep limit angle. The controller is as follows:

The controller gains are Kps, Kis and Kds where θsw is the desired sweep limit leg angle and θy is the current leg angle. 

5.4 Spine Motor Control

The spine motor is controlled with the same PID controller for this part of the project. As mentioned before, I am applying a stiff backed quadruped robot bounding gait. Therefore, the main aim of the spine controller for now is to hold the relative angle between main body parts at 0 radians. The PID controller is as follows:

The controller gains are, and  where  is the desired interrelative body angle  is the current intermittent body angle. 

It is noticable that the gains are all different for leg phases and spine motor. The reason for this is to obtain a different control for each of the phases. The main idea for the flight phase is to achieve the desired angle as quick as possible. Therefore the proportional gain for this specific phase is larger than the stance break phase.

6. Stiff Backed Experiment Results

In this part, the stiff backed bounding controller will be tested and its results will be posted. As stated before the robot has an initial height and acceleration. A total of 200N/m force is continuously applied to give a thrust for 0.07 seconds. The COM ( Center of Mass ) of the robot is initially at 0.875m above the surface and the feet of the robot are 0.1 m above. The simulation takes 20 seconds where robot stabilizes its gait motion and performs bounding.

PID Parameters are due to change with respect to the on going thesis research and will be presented when bested. At this point it can be said that the PID controller parameters are same for both legs in each phase. However, the parameters change when phases change. What is more, desired touch down angles and sweep limit angles are different for each leg to increase the performance. As said before spine motor PID control tries to keep the interrelative body angle at 0 radian in this experiment to simulate the stiff backed bounding.

Below are the figures showing the performance of stiff backed bounding gait with defined PID controls.

Figure 6.1 - Horizontal body velocity of the robot.

It can be seen that, by the effect of initial thrust, robot tries to stabilize the running gait. After approximately 5 seconds, robot stabilizes the bounding gait and manages successful locomotion. Also it can be observed that robot performs correct bounding cycles as defined in previous sections. The periodic patterns show the 4 state cycles being visited in proper order. From the figure, the maximum speed can be extracted as ~1.1 m/s.

Figure 6.2 - Detail from the horizontal body velocity of the robot between 17th and 20th seconds where robot has already stabilized its bounding gait.

Figure 6.3 - The horizontal displacement of COM ( center of mass ) of the robot

The figure shows the horizontal displacement of COM of the robot in the bounding gait cycle. It can be seen that, this figure also shows that robot stabilizes the gait motion after 5 seconds. One of the most important performance criteria is extacted from this figure. By applying the chosen PID controller on a stiff backed robot, the average horizontal speed of the robot becomes 0.7 m/s

Figure 6.4 - Hopping height of COM of the robot

The figure above shows the hopping height of the robot's center of mass. After being thrown from the initial position the robot oscillates between 0.71 m and 0.78 m.

Figure 6.5 - Hopping height of the fore foot of the robot

This figure shows the second most important performance criteria of the stiff backed bounding gait. In order to perform the gait, robot jumps up to 0.08 m in each cycle. This fact will be supportive to show that robot's hopping height changes with respect to its horizontal speed.

Following is the video showing the sitff backed bounding experiment. The video is shot between 0 - 10 seconds of the experiment. It should be expressed that video length is longer than 10 seconds. The reason is that simulation environment has very small integration step in order to increase the accuracy of calculations. Therefore it takes more than 10 seconds to simulate the robot's actions in 1 second.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Figure 6.6 - Video showing the stiff backed bounding gait

7. Flexible Backed Robot Controller

Depending on the structure expressed in the previous PID Gait Controller section, I have designed a unique gait controller for a robot with flexible spine architecture. The main difference form the stiff backed quadruped gait controller is the active PID controller applied on the spine actuator in order to actuate the spine position different than 0 degrees. Below is the state transition figure showing the 4 states of bounding gait with active spine control.

Figure 7.1 – Flexible Backed Bounding States

8. Flexible Backed Experiment Results

In this part, the flexible backed bounding controller will be tested and its results will be posted. All of the conditions are same with the stiff backed gait controller. The only difference between the flexible and stiff backed bounding gait controllers is that desired spine angle for spine motor is differing in the flexible backed gait. The rest of the parameters in PID controllers are also the same. Below are the figures showing the experiment results.

Figure 8.1 - Horizontal body velocity of the robot

The figure above shows that robot needs more time to stabilize its bounding gait locomotion. However it can be seen that robot manages a succesful bounding gait cycle with higher speeds. Rejecting the initial stabilizing moments, robot has a maximum 1.5 m/s horizontal speed.

Figure 8.2 - Detail from the horizontal speed of the robot

Figure 8.3 - Horizontal displacement of COM of the robot

This figure shows the most important performance criteria of bounding comparisons. It can be noticed that the average velocity of the robot has increased effectively when flexible back spine architecture is used. The figure shows us that the average velocity of the robot is now ~1.2 m/s

Figure 8.4 - Hopping heigth of robot COM

The figure above shows the hopping height of the robot's center of mass. After being thrown from the initial position the robot oscillates between 0.71 m and 0.84 m.

Figure 8.5 - Hopping height of fore foot of the robot

This figure shows the second most important performance criteria of the flexible backed bounding gait. It can be seen that the hopping height of the robot has increased as well as its speed. In flexible backed bounding robot now jumps up to 0.21 m in each cycle.

Following is the video showing the flexible backed bounding experiment. Similar to the stiff backed bounding video, the video shows the first 10 seconds of the bounding gait. Again same as the former video, as the accuracy of the simulation environment is increased, each 10 seconds correspond the 1 second of robot motion.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Figure 8.6 - Video showing the flexible backed bounding gait

9. Comparison and Discussion

When both of the experiments are investigated it can be seen that a controllable flexible back spine architecture increases the performance of the stiff backed quadruped robot. When we compare the horizontal speed of both robots, we see that stiff backed robot has an average of 0.72 m/s where the flexible backed robot has 1.2 m/s. This shows that the suggested architecture increases the horizontal speed by 71%.

What is more when we compare the hopping height of the robots we see that stiff backed robot jumps up to 0.08 m during its cycles where the flexible backed robot can jump up to 0.21 m. This difference shows a 162% increase in the hopping heights.

We can say that following the performance shown in the nature, the abilities of robots can be increased dramatically. The increase in performance by only adding a back spine architecture shows this belief can be true. However it must be stated that, although experiments show succesful results, the control of the flexible robot is also became harder with respect to the former one.

10. References

[1] M.H. Raibert. "Legged Robots That Balance". The MIT Press, Cambridge, 1985

[2] M. Buehler et al. "SCOUT: A Simple Quadruped That Walks, Climbs and Runs". International Conference on Robotics and Automation. 2:1707-1712, 1998

[3] Saranlı et al. "RHex: A Simple and Highly Mobile Hexapod Robot".The International Journal Robotics Research. 20: 616-631, 2001

[4] K.F. Leeser. "Locomotion Experiments on a Planar Quadruped Robot with Articulated Spine". Master’s Thesis. MIT, Department of Mechanical Engineering, Feb 1996

[5] Talebi et al. "Quadruped Robot Running With a Bounding Gait". Proceedings of the Seventh International Symposium on Experimental Robotics, 2000

[6] M. Buehler, R. Playter, and M. Raibert. "Robots Step Outside". International Symposium Adaptive Motion of Animals and Machines. Sep 2005

[7] Working Model 2D

[8] I.Poulakakis, J.A. Smith, M.Buehler. "Modeling and Experiments of Untethered Quadrupedal Running with a Bounding Gait: The Scout II Robot". The International Journal of Robotics Research. 24:44, 239-256, 4/2005

[9] S. Talebi. "Compliant Running and Step Climbing of the Scout II Platform". Master’s Thesis. McGill University, Department of Electrical and Computer Engineering, Nov 2000

[10] C.R.Taylor et al. "Energetics and Mechanics of Terrestrial Locomotion. 1: Metabolic Energy Consumption as a Function of Speed and Body Size in Birds and Mammals". Journal of Experimental Biology. 97,1-21, 1982

[11] Lisa M. Day and Bruce C. Jayne. "Interspecific Scaling of the Morphology and Posture of the Limbs During the Locomotion of Cats (Felidae)". The Journal of Experimental Biology 210, 642-654, 2007

[12] I. Poulakakis, J.A. Smith, M. Buehler. "On the Dynamics of Bounding and Extensions Towards the Half-Bound and the Gallop Gaits". Adaptive Motion of Animals and Machines. 2006

[13] Karl J. Astrom, Bjorn Wittenmark. "Adaptive Control" Dover Publications Inc., New York, 2008

back to top
author's webpage
back to assignments page

Utku Çulha - Bilkent University

Computer Engineering Department