Table of Contents
My Final Year Dissertation Project - Awarded with a First Class Degree
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.
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 . 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 
Figure 5.1 Omni-directional Locomotion Types, adapted from 
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.
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 . 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  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
The simulation recording shows how this method works in action...
Hierarchical control architecture operates based on the sense-plan-act robot control methodology . 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 . 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
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 . 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 
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 
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.  For the computation, the occupancy grid is represented as a multidimensional matrix where 0 denotes free space, Qfree, and 1 denotes obstacle, Qobs .
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 . 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  . 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 . 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 »
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.
In this section, the phases in a leg cycle are introduced, then different gaits are covered and simulations results are represented.
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 
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 . 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 
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 . 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 . 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 , 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 »
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 . Nevertheless, according to the US Army, it is estimated that half of Earth’s surface cannot be accessed by wheeled locomotion . 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 . For this reason legged robots have been the focus of countless researches in the last two decades . 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 . Furthermore, some legged robot are developed for the exploration and mapping of unknown environments, demining tasks, and agricultural tasks .
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.
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:
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.
As it was mentioned in the Introduction, one of the applications of legged-robots is demining; Nonami  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 . 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 . It was developed...Read more »
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