Hexapod Modelling, Path Planning and Control

My Final Year Dissertation Project - Awarded with a First Class Degree

Similar projects worth following
This is the project that I have undertaken on my final year at the University of Manchester.

As a result of exponentially developing science and technology, tremendous amount of research is being undertaken on mobile robots which are commonly used in both domestic and industrial applications. Hexapod robot is a type of legged mobile robot that is autonomous and omni-directional. The aim of this project was to build a hexapod robot in the MapleSim simulation platform to test different path planning and control strategies for the hexapod robot.

Please use the Table of Contents below to navigate the relevant subject.

Table of Contents



2.1.Statements of Aims, Objectives, and Motivation

2.2.Literature Review

2.3.Advantages of Hexapod over Wheeled Vehicles

2.4.Disadvantages of Hexapod over Wheeled Vehicles

3.Fundamentals of Hexapod Robot

3.1.Walking Gaits

3.1.1.Swing and Stance phases of a Hexapod

3.1.2.Tripod Gait, Wave Gait, Ripple Gait

3.2.Stability of Hexapod Robots

3.3.Kinematics of Hexapod Robot

3.3.1.Forward Kinematics

3.3.2.Inverse Kinematics

3.4.Dynamics of Hexapod Robot

3.4.1.Dynamic Model of the Leg Mechanism

3.5.Contact Force Estimation

4.Hierarchical Control Architecture

4.1.High Level Planner

4.1.1.Body Path Planner

4.1.2.Footstep Planner

4.2.Low Level Planner

4.2.1.Foot Trajectory Planner

4.2.2.Body Trajectory Planner

4.3.Low Level Controller

4.3.1.Inverse Dynamics

4.3.2.Stability Detection and Recovery

5.Simulation Results

6.Further Work Required



8.1.Additional Visuals

8.2.Additional Equations

8.3.MATLAB Code

  • 7. Conclusion

    Canberk Suat Gurel07/05/2017 at 15:29 0 comments

    This is a simulation-based project which aimed to model a hexapod robot in the MapleSim environment and to implement different path planning algorithms and a hierarchical control architecture. This report has presented the theoretical background, design, implementation, and control of a circular body shaped hexapod robot. The simulation model has successfully navigated between a start point and a given target point on a level terrain with randomly placed obstacles. It has been discovered and confirmed with a Maplesoft employee that the Contact Library in MapleSim is not suitable for legged-locomotion on an uneven terrain whereas wheeled-locomotion on an uneven terrain can be implemented by using the Tire Library. For that reason, an uneven terrain was constructed in the MATLAB environment and it was shown that the Footstep planner has successfully worked on an uneven terrain as well as a level terrain. Since the rest of the control hierarchy remains the same, it can be said that the provided system will potentially work on an uneven terrain.

  • 6. Further Work Required

    Canberk Suat Gurel07/05/2017 at 15:22 0 comments

    In future, a biologically inspired self-configuration algorithm may be implemented for the cases where the robot losses one or more of its legs. Swarm Intelligence based robot reconfiguration (SIRR) method is delivered in [17]. An example is given in Figure 6.1 where hexapod reconfigures itself as a quadruped after losing Legs 1 and 5.

    Figure 6.1 Robot Reconfiguration, adapted from [17]

  • 5. Simulation Results

    Canberk Suat Gurel07/05/2017 at 15:12 0 comments

    Figure 5.1 Omni-directional Locomotion Types, adapted from [2]

    Figure 5.1 shows the 3 omnidirectional locomotion types that can be implemented in hexapod robots to change direction while navigating within an environment. MapleSim simulation environment was used for developing robot models for each omnidirectional locomotion type and for testing the hierarchical control architecture that has been presented in Chapter 4.

    5.1.Centroid Rotation

    Figure 5.1-a shows a hexapod robot rotating about its centre, such manoeuvrability provides a great advantage to legged robots when changing direction within a limited movement area [2]. Figure 5.2 shows the simulation results that have been generated by implementing the centroid rotation. It can be seen that hexapod robot is capable of rotating both clockwise and anticlockwise directions and it is possible to alter the step size in order to speed up the process. Notice that in Figure 5.2, the step size of the bottom hexapod is greater than the top robot.

    Figure 5.2 MapleSim implementation of centroid rotation.

    The 3 videos below show the MapleSim simulation results.


    Figure 5.1-b shows the slalom movement capability of the hexapod robots. The robot plans its motion as a combination of centroid rotation and straight walking. It divides its body path into linear lines and rotates about its centre between each linear line segment to align itself with the next linear region.

    Figure 5.3 MapleSim implementation of slalom locomotion.

    Figure 5.3 shows the slalom implementation in the MapleSim environment where the red line shows the path trace that the robot has followed. The code that was used to deduce the direction of rotation is provided in Figure 8.4 (in Appendix).

    It is seen from the graph below that the robot is slightly off from the given path which is mainly a timer issue. The robot rotates about itself for 30 seconds which corresponds to about 45 degrees of rotation. This could be altered to ensure that robot follows a closer path to the blue path. However, once the dimensions of the robot is considered the robot is not that far off from the desired path.


    Figure 5.1-c shows that the robot leg is moved diagonally depending on the direction of motion and the body maintains its initial orientation at all times. This particular locomotion type is named as pedestrian-lane-change by [2] and the results obtained from the MapleSim implementation are provided in Figures 5.4-5.6.

    Figure 5.4 Top view of the pedestrian-lane-change locomotion.

    Figure 5.5 3D view of the pedestrian-lane-change locomotion.

    Figure 5.6 3D view of the pedestrian-lane-change locomotion.

    Figure 5.7 The comparison of the variation in Y axis against time.

    Figure 5.8 The comparison of the variation in Y axis against X axis.
    Figures 5.7 and 5.8 show that the body path that the robot has followed. Considering that the wingspan of the robot is about 6 meters, the measured body path of the robot, shown in red, is almost the same as the actual body path that was calculated by body path planner, shown in blue.

    PRM Path Planning Implementation for Obstacle Avoidance

    1. Probabilistic Roadmap Method (PRM) is used to obtain a set of positions that are located on the obstacle free trajectory.
    2. The quintic polynomial trajectory generator uses these intermediate positions to generate the foot trajectory.

    The simulation recording shows how this method works in action...

  • 4. Hierarchical Control Architecture

    Canberk Suat Gurel06/30/2017 at 17:00 0 comments

    Hierarchical control architecture operates based on the sense-plan-act robot control methodology [17]. Initially, information about the surrounding environment of the robot is gathered through the sensors, then a motion plan of the next gait cycle is calculated in a goal oriented manner. Finally, the planned action is undertaken through actuators. Then the same procedure is repeated until the goal of the given task is achieved [17]. Figure 4.1 shows the block diagram of the hierarchical control architecture that is implemented in the hexapod robot. It is assumed that the terrain features are provided before the execution of the simulation.

    Figure 4.1 Hierarchical Control Architecture

    4.1.High Level Planner

    4.1.1.Body Path Planner

    For a given start point, A and a goal point, B, the shortest distance may be calculated using a map-based planning method. Note that, the shortest distance may have a higher movement cost, i.e. there might be a longer path with fewer obstacles and easier to navigate. In order to designate whether or not this is the case, the cost map of the terrain needs to be taken into account which indicates how easy the terrain is to navigate over [6]. In this report, the shortest path is assumed to be the one with the lowest movement cost.

    Figure 4.2-a Uneven terrain and the 2D representation of terrain, adapted from [15]

    Figure 4.2-a shows an uneven terrain where the regions that are higher than the reachable workspace of the robot leg, are represented as obstacles in the 2D grid that is shown on Figure 4.2-b. For example, Figure 4.3 shows a terrain height where the robot is capable of stepping over, hence in the 2D grid representation, also referred as occupancy grid, of this region is not an obstacle.

    Figure 4.3 Collision map of a foot trajectory over an obstacle, adapted from [28]

    The occupancy grid framework provides information about terrain regarding to the free spaces and obstacles where each grid is roughly equal to the size of the robot. [29] For the computation, the occupancy grid is represented as a multidimensional matrix where 0 denotes free space, Qfree, and 1 denotes obstacle, Qobs [14].

    The path planning algorithm, A* (star), that was implemented to compute the body path, runs in discrete space, however the real‐world is continuous hence the map needs to be discretised which is done by using an approximate cell decomposition method, trapezoidal decomposition [30]. Figure 4.4 shows the occupancy grid that was used in the MapleSim simulations. Using the trapezoidal decomposition approach, it can be decomposed into 7 cells. The idea is to extend a vertical line in Qfree until it touches either a Qobs or reaches the borders of occupancy grid [31] [32]. There is a harder-to-compute decomposition method, named as exact cell decomposition, which covers the exact shape of Qobs using convex polygons, i.e. this method produces cells with irregular boundaries. However, since all the obstacles are chosen to be rectangular, trapezoidal decomposition is sufficient enough in this particular example.

    Figure 4.4 Occupancy Grid Representation

    Figure 4.5 Adjacency Map of the Occupancy Grid.

    Then, an adjacency map is generated where each cell is represented as a node and the adjacent cells are connected with a line, shown in Figure 4.5. The adjacency map can be expressed in matrix form, where the adjacent cells are represented as 1 and the rest as 0, given by Equation 28.

    A* (star) path planning algorithm determines the cost of the 8 surrounding nodes by using Equation 28,

    where G is the distance from the start node and H is the estimated distance from the end node using heuristics [30]. G and H are calculated ignoring the obstacles, where the vertical and horizontal movements are counted as increments of 1 whereas the diagonal motions are counted in increments of 2. Table 3-1 shows an example of how G and H were calculated for Nodes A, B, and C that are shown on Figure 4.6. The nodes with the lowest...

    Read more »

  • 3. Fundamentals of Hexapod Robot

    Canberk Suat Gurel06/29/2017 at 15:01 4 comments

    In this chapter, the fundamental concepts of hexapod robots such as walking gaits, stability, kinematics and dynamics are covered which are essential to obtain a better understanding of the control architecture that is delivered in the next chapter.

    3.1.Walking Gaits

    In this section, the phases in a leg cycle are introduced, then different gaits are covered and simulations results are represented.

    3.1.1.Swing and Stance phases of a Hexapod

    Figure 3.1 shows the swing and stance phases of a robot leg cycle. A leg cycle is the combination of raising and placing a leg and it consists of 2 stages: the swing phase and the stance phase. During the swing phase, the leg traverses from the initial position to final position through air, shown by blue dashed line. On the other hand, during the stance phase, the leg end effector is in ground contact while the leg traverses from the final position to the initial position, moving the robot in the opposite direction to the red arrow.

    Figure 3.1 Robot leg cycle divided into swing and stance phases, adapted from [20]

    3.1.2.Tripod Gait, Wave Gait, and Ripple Gait

    There are 3 walking gaits that are commonly observed in the nature: wave gait, ripple gait, and tripod gait. The tripod gait was covered in the progress report which is provided in the Appendix 8.3. Wave gait is the slowest in terms of the locomotion speed, yet the most stable. In the wave gait, only 1 leg is in the swing phase at a time while the other 5 legs are in the stance phase. The locomotion speed of ripple gait is slower than tripod gait nevertheless it is faster than the wave gait, since 2 legs from opposite sides are in the swing phase by 180 degrees offset, at a time. These 2 walking gaits are shown in Figure 3.3 where the solid lines and dashed lines represent the swing phase and stance phase, respectively [17]. Figure 3.2 shows the numbering of the hexapod robot legs where the red arrow specifies the front of the robot that was created in the MapleSim environment.

    Figure 3.2: Top view of the robot model that was used in the simulations

    Figure 3.3 Sequence of swing and stance phases in walking gaits, taken from [17]

    3.2. Stability in Hexapod Robots

    The stability of legged robots is divided into two categories: static stability and dynamic stability. To be considered statically stable, the robot needs to be stable during its entire gait cycle, without the requirement of any force to balance the robot [20]. While the robot is statically stable, the vertical projection of its centre of mass (COM) is located within the support polygon which is formed between the legs that are in the stance phase. In the case of COM being positioned on the border or outside the support polygon, the robot falls over unless it is dynamically stable, i.e. robot is balanced while walking due to the inertia caused by the motion and is statically unstable when it stops moving [21]. Figure 3.4 demonstrates the support polygon of the MapleSim model during tripod gait where the red circle denotes the vertical projection of its COM.

    Figure 3.4 The Support Polygon that is formed During Tripod Gait.

    Figure 3.5 shows the bottom view of the hexapod robot where the support polygon is decomposed into 3 sub-triangles in order to calculate the Stability Margin.

    Figure 3.5 The Bottom View of the Support Polygon Decomposed into Sub-triangles.

    Following [22], the area of the convex pattern between Leg 1, Leg 5 and the projection of COM is calculated by Equation 1.

    S1=  1/2 |(X1-Xc)*(Y5-Yc)-(X5-Xc)*(Y1-Yc)|                             (1)
    The distance between two ground contact points of Legs 1 and 5, is calculated by Equation 2.
    |L1|=√((X5-X1)^2+(Y5-Y1)^2 )                                           (2)
    h1=(2*S1)/|L1|                                                         (3)
    Since the area of a triangle is the product of base and height divided by two, the perpendicular distance,, from the vertical projection of COM to L1 is given by Equation 3. Figure 3.6 shows the heights of the 3 sub-triangles.

    Figure 3.6 Heigths of the sub-triangles

    Then, the same process is repeated to calculate...

    Read more »

  • 2. Introduction

    Canberk Suat Gurel06/29/2017 at 14:35 0 comments

    The wheel was used for transportation for the first time in Mesopotamia around 3200 B.C. and even today the modern transportation relies on wheels [1]. Nevertheless, according to the US Army, it is estimated that half of Earth’s surface cannot be accessed by wheeled locomotion [2]. On the other hand, legged locomotion is more advantageous in terms of mobility and overcoming obstacles, hence legged animals and humans are capable of accessing the majority of Earth’s surface [3]. For this reason legged robots have been the focus of countless researches in the last two decades [4]. The legged robots are commonly used by military to transport goods over uneven terrain, nuclear power plant inspection, and in search and rescue (SAR) missions [2]. Furthermore, some legged robot are developed for the exploration and mapping of unknown environments, demining tasks, and agricultural tasks [2].

    The legged robots are categorised depending on their leg types, leg orientations and joint configurations. Figure 2.1 shows the three hexapod models that are created in MapleSim. In light of the analysis given in the progress report, circular body-shaped model, shown in Figure 2.1-c was chosen for further development.

    Figure 2.1 (a) Arachnid – Frontal, (b) Reptile – Frontal, (c) Reptile - Circular

    The structure of this report is organized as follows; in Chapter 2, a comparison between legged and wheeled robots is provided, in Chapter 3, the fundamental concepts associated with hexapod robots are given, following that, a hierarchical control architecture that may be divided as path planning and control is given in Chapter 4. Then, the simulation results that are obtained from MapleSim are presented in Chapter 5 and the report is concluded with future work and conclusion in Chapters 6 and 7, respectively.

    2.1.Statements of Aims, Objectives, and Motivation

    The aim of this project was to build a hexapod robot in the MapleSim simulation platform to test different path planning and control strategies for the hexapod robot. The steps that are taken to accomplish the aim are as follows:

    • Circular and rectangular body-shaped hexapod robots are created in the MapleSim environment.
    • Inverse kinematic equations are derived to coordinate the legged locomotion.
    • 3 different biologically inspired walking gaits, tripod, ripple, and wave are implemented in the simulations.
    • Static and dynamic stability analyses of the robot are undertaken.
    • Dynamics of hexapod robot is examined and equations of motion are derived.
    • Forces in each leg is calculated and a tilt control method is developed.
    • A* path planning algorithm is used to find the body path that traverses from the start point to the target point.
    • Probabilistic Roadmap Method (PRM) is implemented to step over obstacles within the workspace of the leg.
    • Adaptive gait selector and zero moment point (ZMP) planners are implemented which improved the stability of the robot during locomotion.
    • Inverse dynamics is implemented to improve the trajectory tracking of the robot legs.

    2.1.Literature Review

    Throughout the project, numerous resources have been studied and many different methods of implementation have been encountered and some of them are utilised to improve the project. This section is divided into 3 sub-sections which review the different legged robots, methods of path planning, and control strategies.

    2.2.1. Legged Robots

    As it was mentioned in the Introduction, one of the applications of legged-robots is demining; Nonami [2] and his colleagues designed the 4th generation of COMET, a hydraulically actuated hexapod robot, for land mine detection and demining. Figure 2.2–a shows a picture of COMET-IV which is powered by two 720cc gasoline motors, weighs 1500 kg and is capable of reaching a walking speed of 1 km/h [2]. COMET-IV uses force control for navigation on an uneven terrain. Figure 2.2–b shows ATHLETE which is a hybrid hexapod robot that is capable of both wheeled and legged locomotion [7]. It was developed...

    Read more »

  • 1. Abstract

    Canberk Suat Gurel06/29/2017 at 14:32 0 comments

    As a result of exponentially developing science and technology, tremendous amount of research is being undertaken on mobile robots which are commonly used in both domestic and industrial applications. Hexapod robot is a type of legged mobile robot that is autonomous and omni-directional.

    This report presents the hierarchical control architecture that is developed to control a six-legged robot which was modelled within the MapleSim environment. In addition, 2 different map-based path planning algorithms, A* (star) and Probabilistic Roadmap Method (PRM) are implemented to find the shortest path to a given goal and to step over obstacles, respectively. Static and dynamic analyses of the hexapod model are given and an adaptive gait selector which was implemented to improve the stability depending on the terrain slope, is presented. A geometric approach to tilt control has been developed and implemented. Moreover, a multivariable control was implemented in the low level controller of the hierarchy for position control and trajectory tracking. MATLAB and MapleSim are widely used throughout the project and the important codes are provided in the Appendix.

    The obtained results show that the hexapod robot successfully navigates between point A and point B in both of the implemented approaches: slalom and pedestrian-lane-change.

    Key words: Hexapod, MapleSim, Hierarchical Control, Path Planning

  • 3D Design

    Canberk Suat Gurel05/30/2017 at 22:43 0 comments

View all 8 project logs

Enjoy this project?



pawliw wrote 03/12/2023 at 18:32 point

This is great! Are you planning on posting the source code for this project?

  Are you sure? yes | no

JamesWillson wrote 01/28/2023 at 00:00 point

It sounds very interesting. I also write my final year dissertation, and I feel a bit nervous as it's a very hard assignment. Everything must be at the top-notch level. Fortunately, there is such a great resource as that helps to check and correct content to make it excellent. I hope that my project will be good enough and I will get my diploma. Eventually, I spend so much time on it. 

  Are you sure? yes | no

mehmetsgurel wrote 06/28/2017 at 21:34 point

A person who graduates from college, has to prepare for the new challenges waiting in the new chapter of life. Learning every day is the key to success! Someone as special as you has the ability to create a beautiful world of tomorrow

Congradulations Canberk well done !

  Are you sure? yes | no

Daevh wrote 05/17/2017 at 13:45 point

Interesting stuff, Canberk! Hope to see information posted here soon :P

  Are you sure? yes | no

Canberk Suat Gurel wrote 06/29/2017 at 14:39 point

I started posting about my project, I hope you will enjoy it!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates