Quick viewing(Text Mode)

Tesis Doctoral Autor: Josefina Torres Redondo Tutores

Tesis Doctoral Autor: Josefina Torres Redondo Tutores

UNIVERSIDAD POLITÉCNICA DE MADRID

ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES

Tesis Doctoral

“ANALYSIS AND OPTIMIZATION FOR A WALKING FOR PLANETARY MISSIONS ”

Autor: Josefina Torres Redondo Tutores: Dr. Gregorio Romero Rey Dr. Javier Gomez-Elvira Rodriguez

Noviembre 2015

Agradecimientos

Quisiera empezar dando las gracias a mi tutor Gregorio Romero Rey por su apoyo y paciencia a lo largo de todos estos años y a todo el departamento. También mi recuerdo para Carlos Vera Álvarez que me hizo prometer que terminaría la tesis antes de que tuviera un niño y espero cumplirlo a un mes de dar a luz.

También quiero mostrar mi agradecimiento al departamento de Instrumentación del Centro de Astrobiología. En especial a Sara Navarro, José Antonio Rodríguez Manfredi y Javier Gómez-Elvira por su ayuda, tiempo y dedicación.

A mis padres por toda su ayuda y a Joaquín, esta tesis no hubiera posible sin ellos. No me olvido tampoco de Juan Manuel y sus tardes de correcciones.

Abstract

The autonomous machines technology has undergone a major research and development during the last decades. In many activities and environments, can perform operations that are tought, dangerous or simply imposible to humans. Planetary exploration is a good example of such environment where robots are needed to perform the tasks required by the scientits. Recent exploration based on autonomous vehicles has shown us the capacity of the new technologies.

From the invention of the wheel, which is rightly regarded as the greatest invention in the history of human transportation, nearly all-planetary vehicles are based in wheeled locomotion, but new missions demand new types of machines due to the complex tasks needed to be performed. It will be proposed in this thesis a new design of a or walking machine, which may offer clear advantages in tough environments. This Thesis will show that the proposed walking machine can travel, were terrain difficulties make wheeled vehicles ineffective, making it a perfect choice for planetary mission.

A historical background of the space missions, in particular those aimed at planetary exploration will be presented. From this study the disadvantages found in the existing wheel rovers will be analysed. The legged robot designed will be introduced as an alternative were wheeled rovers could be no longer the best option for planetary exploration. This thesis introduces the mechanical design of a six-leg robot capable of withstanding high forces and moments due to the walking motion. Once the mechanical design is concluded, and in order to analyse a machine of this complexity an understanding of its movement and behaviour is mandatory. This movement equation will be validated by two methods: kinematics and dynamics.

Two Matlab® codes have been developed to solve the systems of equations and validated by a third method, a finite element model, which also verifies the mechanical design. The legged robot presented has been designed for a Mars planetary exploration. The movement behaviour of the robot will be tested in a Matlab® code developed that allows to modify the trajectories, the type of terrain, number and height of obstacles. These terrains and initial requirements have not been chosen randomly, those are based on my experience as a member of the MSL NASA team, which operates an instrument on-board of the Curiosity rover in Mars. The walking robot developed and manufactured by the Center of Astrobiology (CAB) is based in the mechanical design and analysis that will be presented in this thesis.

Resumen

La tecnología de las máquinas móviles autónomas ha sido objeto de una gran investigación y desarrollo en las últimas décadas. En muchas actividades y entornos, los robots pueden realizar operaciones que son duras, peligrosas o simplemente imposibles para los humanos. La exploración planetaria es un buen ejemplo de un entorno donde los robots son necesarios para realizar las tareas requeridas por los científicos. La reciente exploración de Marte con robots autónomos nos ha mostrado la capacidad de las nuevas tecnologías.

Desde la invención de la rueda, que esta acertadamente considerado como el mayor invento en la historia del transporte humano, casi todos los vehículos para exploración planetaria han empleado las ruedas para su desplazamiento. Las nuevas misiones planetarias demandan maquinas cada vez mas complejas. En esta Tesis se propone un nuevo diseño de un robot con patas o maquina andante que ofrecerá claras ventajas en entornos extremos. Se demostrara que puede desplazarse en los terrenos donde los robots con ruedas son ineficientes, convirtiéndolo en una elección perfecta para misiones planetarias.

Se presenta una reseña histórica de los principales misiones espaciales, en particular aquellos dirigidos a la exploración planetaria. A través de este estudio será posible analizar las desventajas de los robots con ruedas utilizados en misiones anteriores. El diseño propuesto de robot con patas será presentado como una alternativa para aquellas misiones donde los robots con ruedas puedan no ser la mejor opción.

En esta tesis se presenta el diseño mecánico de un robot de seis patas capaz de soportar las grandes fuerzas y momentos derivadas del movimiento de avance. Una vez concluido el diseño mecánico es necesario realizar un análisis que permita entender el movimiento y comportamiento de una maquina

de esta complejidad.

Las ecuaciones de movimiento del robot serán validadas por dos métodos: cinemático y dinámico. Dos códigos Matlab® han sido desarrollados para resolver dichos sistemas de ecuaciones y han sido verificados por un tercer método, un modelo de elementos finitos, que también verifica el diseño mecánico.

El robot con patas presentado, ha sido diseñado para la exploración planetaria en Marte. El comportamiento del robot durante sus desplazamientos será probado mediante un código de Matlab®, desarrollado para esta tesis, que permite modificar las trayectorias, el tipo de terreno, y el número y altura de los obstáculos. Estos terrenos y requisitos iniciales no han sido elegidos de forma aleatoria, si no que están basados en mi experiencia como miembro del equipo de MSL-NASA que opera un instrumento a bordo del rover Curiosity en Marte.

El robot con patas desarrollado y fabricado por el Centro de Astrobiología (INTA-CSIC), esta basado en el diseño mecánico y análisis presentados en esta tesis.

Index

1. INTRODUCTION ...... 1 2. OBJECTIVES ...... 5 3. MARS LANDERS AND WHEELED ROVERS ...... 7 3.1. Mars landers: Viking ...... 7 3.2. Mars landers: Pathfinder ...... 8 3.3. Mars landers: (MPL) ...... 9 3.4. Mars landers: 2 ...... 10 3.5. Mars landers: Mars Exploration Rovers Spirit and Oportunity ...... 11 3.6. Mars landers: NetLander ...... 13 3.7. Mars landers: Phoenix lander ...... 13 3.8. Mars landers: MSL rover mission (Curiosity) ...... 14 3.9. Future missions for Mars exploration ...... 15 3.9.1. ExoMars (Exobiology on Mars) ...... 15 3.9.2. InSight ...... 15 3.9.3. ...... 16 3.10. Historical background of exploring robots ...... 16 4. STATE OF THE ART OF WALKING MACHINES ...... 21 4.1. Walking machines ...... 22 4.1.1. Walking robots classified by their number of legs...... 23 4.1.2. Moving table ...... 28 4.1.3. Biomimetic robots ...... 31 5. ACTUATORS COMMONLY USED IN ...... 37 5.1. Synchronous ...... 37 5.2. Brushless DC Servo ...... 37 5.3. Stepper ...... 38 5.4. Brushed DC Servo ...... 39 5.5. Asynchronous ...... 40 5.6. AC Servo Motors ...... 40 5.7. Pneumatic ...... 40 5.8. Hydraulic ...... 40 6. A WALKING MACHINE FOR MARS ...... 43 6.1. Design requirements ...... 45 6.2. Mars Terrain limitations for a Wheeled Rover ...... 45 6.3. Mars Constraints for Designing a Better Moving Robot ...... 50 7. WALKING MACHINE DESIGN CRITERIA ...... 55 7.1. Moving Table Design ...... 55 7.2. Six legged robot design ...... 56 7.2.1. Gait selection for the hexapod ...... 57 7.2.2. Sizing of the legs ...... 61 7.2.3. Actuators for our walking machine ...... 66 8. HEXAPOD DESIGN ...... 73 8.1. Walking Robot Mechanical Design ...... 74

8.1.1. Main body Structure ...... 74 8.1.2. Leg Structure ...... 76 8.2. Leg Design and Configuration ...... 80 9. SIMULATION OF A WALKING ROBOT ...... 81 9.1. Introduction to simulation ...... 81 9.2. Ground Reactions of the Walking Robot ...... 84 9.3. Leg force analysis by Kinematics ...... 87 9.3.1. Section1 Results ...... 94 9.3.2. Section 2 Results ...... 97 9.3.3. Section 3 Results ...... 99 9.4. Leg Analysis by Nastran® ...... 100 9.5. Leg force analysis by Dynamics ...... 104 9.5.1. Mathematical Modelling of One leg ...... 105 9.5.2. Results by Dynamic Analysis ...... 111 9.6. Steps Followed for the leg design ...... 118 10. CURIOSITY TRAJECTORY AND DALILY OPERATION ON MARS ...... 119 10.1. Curiosity Wheel Capability ...... 119 10.2. Eyes and other senses ...... 121 10.3. Where to go ...... 123 10.4. Communications and Autonomous Navigation ...... 126 10.4.1. Mars- Earth Communications ...... 126 10.4.2. Mars Rovers Autonomous Navigation ...... 127 11. TRAYECTORY PLANNING OF A HEXAPOD ROBOT ...... 131 11.1. Movement in flat terrain ...... 131 11.1.1. Flat terrain mesh creation ...... 131 11.1.2. Movement of the robot in flat terrain ...... 135 11.2. Change of direction in Flat Terrain ...... 143 11.3. Movement in irregular terrain ...... 149 11.3.1. Irregular terrain mesh creation ...... 149 11.3.2. Movement of robot in irregular terrain ...... 151 11.4. Change of Direction in irregular terrain...... 163 11.5. Obstacle avoidance in trajectories ...... 169 11.5.1. Obstacle mesh creation ...... 170 11.5.2. Trajectory around the obstacle ...... 170 11.5.3. Trajectory over an obstacle ...... 172 12. FUTURE MARS ROVERS ...... 177 12.1. Hybrid Robots ...... 177 12.2. Helicopters ...... 181 13. CONCLUSIONS ...... 183 14. FUTURE WORK ...... 187 15. REFERENCES ...... 189 16. PUBLICATIONS ...... 193 ANNEX 1 ...... 195

Figures

Figure 1. Mechanical horse: L.A Rigg REF. 1 ...... 3 Figure 2. Bechtostsheim Patent ...... 3 Figure 3. Replica of a Viking Lander. REF. 3 ...... 8 Figure 4 Pathfinder. REF. 5 ...... 9 Figure 5 Mars Polar Lander. REF. 6 ...... 10 Figure 6 Mars Lander: . REF. 7 ...... 11 Figure 7 Spirit Rover. REF. 8 ...... 12 Figure 8 Net lander prototype. REF. 11 ...... 13 Figure 9 Curiosity MSL mission. REF. 12 ...... 14 Figure 10 Ambulatory Robotics Laboratory. REF. 15 ...... 23 Figure 11 MIT biped. REF. 16 ...... 24 Figure 12 ASIMO. REF. 17 ...... 25 Figure 13 MAX ...... 26 Figure 14 Katharina ...... 26 Figure 15 Lauron ...... 26 Figure 16 Polypop ...... 28 Figure 17 SILO 04 ...... 28 Figure 18 Scout I ...... 28 Figure 19. Fred II. REF. 31 ...... 29 Figure 20.Walking beam . REF. 32 ...... 29 Figure 21. Zimmer. REF. 33 ...... 29 Figure 22. Daedulus...... 30 Figure 23 ...... 32 Figure 24 Lobster ...... 32 Figure 25 Boadicea ...... 33 Figure 26 Robot II ...... 34 Figure 27 Microrobot ...... 35 Figure 28 Ioan ...... 35 Figure 29 Stepper motor ...... 39 Figure 30 Abrupt Mars terrain. REF. 50 ...... 46 Figure 31 Mars. MSL rover auto picture .Courtesy NASA. REF. 50 ...... 46 Figure 32 Test bed in JPL of MSL rover trying to go over a rock. REF. 50 ...... 47 Figure 33 Mount Sharp. Mars. REF. 50 ...... 48 Figure 34 Impact crater near equator of scientific interest. REF. 50 ...... 48 Figure 35 Areas of possible scientific interest. REF. 50 ...... 49 Figure 36 Selection of landing sites. REF. 50 ...... 49 Figure 37 Moving Table ...... 55 Figure 38 Obstacle 0.25x0.25x0.25m...... 62 Figure 39 Gait Hexapod Sequence ...... 62 Figure 40 0.3 m of depth ...... 63 Figure 41 10º Slope ...... 64 Figure 42 Hexapod Configuration with Pneumatic Actuators, Festo ...... 67 Figure 43 Dc Actuator. REF. 45 ...... 68 Figure 44 Different configurations for linear actuators...... 68

Figure 45 SKF CARR 22 Actuator. REF. 46 ...... 69 Figure 46 Actuator CARR 22x200x1 Drawing. REF. 46 ...... 70 Figure 47 Box dimension of the Design...... 73 Figure 48 Main body structure ...... 74 Figure 49 Main body aluminium panel assembly ...... 75 Figure 50 Main body structure ...... 75 Figure 51 Leg structure ...... 76 Figure 52 Detail of the bottom section 3 attachment...... 77 Figure 53 Detail of the section 3 motor attachment...... 78 Figure 54 Detail of the section 3 top attachment ...... 78 Figure 55 Detail of the section 1 top attachment ...... 79 Figure 56 Detail of the section 1 to actuator 2 attachment...... 79 Figure 57 Attachment and function of the actuators ...... 80 Figure 58 Ground Reactions ...... 85 Figure 59 First section analysis ...... 87 Figure 60 Second section analysis ...... 89 Figure 61 Third section analysis ...... 91 Figure 62 Reduction to known cases ...... 92 Figure 63 Section 1 Forces Results ...... 95 Figure 64 Section 1 Ground Reactions ...... 95 Figure 65 Section 2 Forces Results ...... 97 Figure 66 Section 3 Bearing Reactions ...... 100 Figure 67 Robot Finite Element Model...... 101 Figure 68 Robot Bar and MPC elements...... 102 Figure 69 FEM material data...... 102 Figure 70 Finite Element Validation ...... 103 Figure 71 Composition of the prototype design...... 104 Figure 72 Movement of three actuators per leg...... 105 Figure 73 Moving elements of the hexapod leg...... 106 Figure 74 Movement due to mass and gravity ...... 112 Figure 75 Movement due to 50N load in F1...... 113 Figure 76 Real movement of the instrument box ...... 114 Figure 77 Movement due to 50N load in F1 for six legs...... 115 Figure 78 Maximum movement of the legs ...... 116 Figure 79 X6 distance of Leg6 vs. Reaction ...... 116 Figure 80 Comparison of Reaction Results ...... 117 Figure 81 Curiosity Rover. REF. 47 ...... 120 Figure 82 Curiosity Reading the Rover's Tracks. REF. 48 ...... 121 Figure 83 Curiosity landing site. REF. 49 ...... 122 Figure 84 Mount Sharp. REF. 49 ...... 122 Figure 85"Point Lake". REF. 49 ...... 123 Figure 86 RSVP interface. REF. 50 ...... 124 Figure 87 Mars yard. REF. 50 ...... 124 Figure 88 RSVP Tool Close up. REF. 51 ...... 125 Figure 89 Spirit, Opportunity and Curiosity communications system...... 127 Figure 90 3-D Terrain maps generated by the rover software. REF. 52 ...... 130 Figure 91 Flat terrain creation in matlab ®with simplified robot geometry...... 132 Figure 92 Angle position per leg...... 134 Figure 93 Movement in flat terrain ...... 135

Figure 94 Flat terrain: robot standing in all its legs ...... 136 Figure 95 Step 1. Robot standing in three legs ...... 137 Figure 96 Moving leg 1, 2, and 3 gamma angles for forward motion ...... 138 Figure 97 Step 1. Max gamma displacement of the legs ...... 138 Figure 98 Step 1. Six legs in the floor ...... 139 Figure 99 Step 2. Three legs in the air ...... 140 Figure 100 Step 2. Six legs in the floor, final configuration...... 140 Figure 101 Kinematic Forces and reactions from point A to B of leg 2...... 141 Figure 102 Change from 6 leg configuration to 3 leg...... 142 Figure 103 Movement of actuators...... 143 Figure 104 Six Legs in the ground Configuration...... 144 Figure 105 Turning Sequence, three legs lift...... 144 Figure 106 Turning Sequence, 20º gamma rotation...... 145 Figure 107 Turning Sequence, resulting motion...... 146 Figure 108 Forces and Reactions on leg 1 before and after the turn...... 147 Figure 109 Forces and Reactions on leg 2 before and after the turn...... 148 Figure 110 Forces and Reactions on leg 3 before and after the turn...... 148 Figure 111 Robot in random generated mesh...... 150 Figure 112 Robot in its six legs to start the walking cadence ...... 151 Figure 113 Leg adaptation to the surface generated by the code ...... 152 Figure 114 Leg 1, Forces and reaction irregular terrain ...... 153 Figure 115 Leg 2, Forces and reaction irregular terrain ...... 154 Figure 116 Leg 3, Forces and reaction irregular terrain ...... 155 Figure 117 Leg 4, Forces and reaction irregular terrain ...... 156 Figure 118 Leg 5, Forces and reaction irregular terrain ...... 157 Figure 119 Leg 6, Forces and reaction irregular terrain...... 158 Figure 120 Robot trajectory on irregular terrain...... 159 Figure 121 Leg1. Forces and reactions for the complete trajectory...... 160 Figure 122 Leg2. Forces and reactions for the complete trajectory...... 161 Figure 123 Leg3. Forces and reactions for the complete trajectory...... 162 Figure 124 0.2 m mesh generation...... 163 Figure 125 Forces and Reactions on leg 2 before turning...... 164 Figure 126 Turning Sequence in irregular terrain...... 165 Figure 127 Turning Sequence in irregular terrain. Three legs in the ground. ... 166 Figure 128 Turning Sequence in irregular terrain. Six legs on the ground...... 166 Figure 129 Turning Sequence in irregular terrain. Robot Top view...... 167 Figure 130 Forces and Reactions on leg 2 after turning...... 168 Figure 131 Obstacle Mesh ...... 169 Figure 132 Obstacle avoidance trajectory...... 171 Figure 133 Robot trajectory over an obstacle ...... 172 Figure 134 Robot over obstacle...... 173 Figure 135 Leg 1. Forces and reactions during the planned trajectory ...... 174 Figure 136 Trajectory over a 0.25 m obstacle ...... 175 Figure 137 Leg1 trajectory over a 0.25 m obstacle ...... 175 Figure 138 Mission Terraforming. REF. 53 ...... 178 Figure 139 Athelete with lunar modules. REF. 54 ...... 178 Figure 140 Athelete second generation. REF. 54 ...... 179 Figure 141 Athelete over obstacle. REF. 55 ...... 181 Figure 142 Mars Helicopter. REF. 56 ...... 181

Figure 143 CAB-INTA Hexapod Robot...... 186

Tables

Table 1 Exploring Robots ...... 19 Table 2 Advantages of legged Vs wheeled robots. REF. 44 ...... 53 Table 3 Initial estimations due to the design requirements ...... 65 Table 4 Types of actuators selected...... 66 Table 5 CARR 22x200x1 Dimensions. REF. 46 ...... 71 Table 6 SKF CAR 22 Technical data. REF. 46 ...... 71 Table 7 Verification of equations ...... 111 Table 8 Forces and Reactions in flat terrain ...... 134 Table 9 Forces and reactions with three and six legs ...... 142 Table 10 Leg 1, Relevant forces and reactions...... 153 Table 11 Leg 2, Relevant forces and reactions...... 154 Table 12 Leg 3, Relevant forces and reactions...... 155 Table 13 Leg 4, Relevant forces and reactions...... 156 Table 14 Leg 5, Relevant forces and reactions...... 157 Table 15 Leg 6, Relevant forces and reactions...... 158

Equations

Equation 1 ...... 58 Equation 2 ...... 58 Equation 3 ...... 60 Equation 4 ...... 60 Equation 5 ...... 86 Equation 6 ...... 88 Equation 7 ...... 90 Equation 8 ...... 92 Equation 9 ...... 92 Equation 10 ...... 93 Equation 11 ...... 93 Equation 12 ...... 93 Equation 13 ...... 93 Equation 14 ...... 93 Equation 15 ...... 93 Equation 16 ...... 93 Equation 17 ...... 93 Equation 18 ...... 93 Equation 19 ...... 93 Equation 20 ...... 94 Equation 21 ...... 94 Equation 22 ...... 107 Equation 23 ...... 107 Equation 24 ...... 107 Equation 25 ...... 107 Equation 26 ...... 107 Equation 27 ...... 107 Equation 28 ...... 107 Equation 29 ...... 108 Equation 30 ...... 108 Equation 31 ...... 108 Equation 32 ...... 108 Equation 33 ...... 108 Equation 34 ...... 108 Equation 35 ...... 109 Equation 36 ...... 109 Equation 37 ...... 109 Equation 38 ...... 109 Equation 39 ...... 109 Equation 40 ...... 109 Equation 41 ...... 110 Equation 42 ...... 110

Acronyms

AC: Alternating Current. CAB: Centro de Astrobiologia. CSIC : Centro Superior de Invesitgaciones Cientificas. CW: Clockwise. DC: Direct Current. DOF: Degree of Freedom. EMI: Electromagnetic Interference. ESA : . ESS: Environmental Sensors Suite INTA : Instituto Nacional de Tecnica Aeroespacial. JPL : Jet Propulsion Laboratory. LIDAR: Light Detection and Ranging. MEMS: Microelectromechanical Systems. MER: Mars Exploration Rover. MPL: Mars Polar Lander. MSL: Mars Science Laboratory. NASA: National Aeronautics and Space Administration. PBL: Planetary Boundary Layer RPM: Revolutions per minute. RSVP: Rover Sequencing and Visualization Program. RTG: Radioisotope Thermal Generator. UHF: Ultra High Frequency. USSR: Union of Soviet Socialist Republics. USA: United States of America UV: Ultra Violet.

INTRODUCTION

1. INTRODUCTION

The etymology of robot word comes after the Czech writer Kerel Capek and means work or hard work. This meaning fits well with the idea that robots helps men in hard and repetitive works, mainly in every day tasks from which many of us would like to be freed. Robots development have created a new multidisciplinary branch of technology known as robotics (after Isaac , fiction-science writer) A robot may be defined as a self-controlled device consisting of electronic, electrical and mechanical units. More generally, it is a machine that functions in place of a living agent. Robots are especially desirable for certain work functions because, unlike humans, they never get tired; they can endure physical conditions that are uncomfortable or even dangerous, and they can operate in airless conditions. Robots are especially valuable to . Not only can they travel to environments too hostile or too distant for human explorers, but they can also enhance the work schedule of a manned space mission. Space Robotics may be classified as Orbital Robotics (Manipulation, operations and servicing) and Planetary Rovers, like for Mars and lunar exploration with mobile robots on its surfaces. The Soviet Lunokhod 1 lunar rover can be called the first to explore an extra-terrestrial body. In 1970 it rolled out onto the Moon's surface from the Luna 17 and was remotely controlled by Soviet scientists. One of its autonomous functions was the ability to sense when it was going to tip over and automatically stop and wait for signal from Earth to help it proceed. New future missions including robotic exploration will be performed on the Moon and Mars. In the last decades, outstanding developments have been achieved in Space technology providing the capability of sending robots to outer Space or landing on others Solar System bodies. The dream of stepping into the outer reaches of the Earth's atmosphere was driven by the fiction of Jules Verne and H. G. ; rocket technology was

1

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS developed to try to realize this vision. The German V2 was the first rocket to travel into space, overcoming the problems of thrust and material failure. During the final days of World War II both the Americans and Soviets, evolving to the technology that we know today, obtained this technology. The desire of mankind to improve and learn has made space exploration a reality, were we want to know the origin, evolution and future of our Earth by investigating near of the Solar System, whose evolution could tell us were our planet could evolve to. From the first successful orbital launch of the soviet unmanned Sputnik1 (satellite1) mission on October 4, 1957, and later the successful mission of taking people to the moon and returning them safely back to Earth in 1969, has opened a door for engineering; designing vehicles that can be sent today autonomously and later on work together with the .

From the invention of the wheel, which is rightly regarded as the greatest invention in the history of human transportation, at the present time, nearly all- terrestrial vehicles are based in wheeled locomotion. Wheels are so entrenched in our culture that it is difficult to think in other locomotion schemes. However, in the past and without the technology that we have today, inventors attempted to design walking machines. In 1893 L.A Rigg obtained a patent for the design of a mechanical horse. However, there is no evidence to prove that he actually built this machine.

2

INTRODUCTION

Figure 1. Mechanical horse: L.A Rigg REF. 1

More examples show the interest of designing walking machines. In 1913 Bechtostsheim obtained a patent for the design of a four-legged machine as shown below in Figure 2

Figure 2. Bechtostsheim Patent

In the mid 1950´s a number of research groups started to study and develop walking machines. The reason for such slow mainly arises from the

3

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS complexity of leg coordination control. Until the 1980´s sufficiently compact and powerful computers to perform the necessary calculations were not available due to size and cost. However with the research efforts in robotics and microcomputers major improvements have and will be made. In a book by Bekker REF. 2 explained the superior mobility of legged locomotion exhibited by animals in comparison to wheeled vehicles, that is, a wheel sinks into soft soil and produces a depression, legs create discrete footprints in which any back slip pushes up soil behind the foot which increases traction. Irregular terrain favours legged locomotion and at least five potential advantages can be found in rough terrains REF. 13.

1. Higher speed 2. Better fuel economy 3. Greater mobility 4. Better isolation from terrain irregularities 5. Less environmental damage

A walking machine, which can travel were terrain difficulties make wheeled vehicles ineffective, makes it a perfect choice for planetary exploration. Walking legged robots can be classified by their number of legs, usually ranging from eight to one. There is also a different two other concepts of walking robots called moving tables and biomimetic robots.

4

OBJECTIVES

2. OBJECTIVES

This thesis introduces the mechanical design, analysis and simulation of a hexapod-legged robot for planetary missions, it will introduce the design and analysis of a legged robot in Mars like environment analysing and comparing with the state of the art and past missions. The walking robot developed and manufactured by the Center of Astrobiology (CAB) is based in the mechanical design and analysis that will be presented in this thesis. Legged machines can be effectively used for exploration of abrupt and harsh terrains. A walking robot seems like the best option for this kind of terrain and can be the future of autonomous robots for planetary explorations as they can be more versatile. Some of the advantages are:

• They do not need a continuous terrain; • Less problems with sliding; • Greater capacity to overcome obstacles; • They produce less harm to the environment that the scientist wants to explore;

From the mechanical design point of view they present a design challenge, also there is a high complexity that has to be taken into account in the static and dynamic analysis problem. But they can represent an alternative to the existing planetary-wheeled rover designs, which have drawbacks that these legged robots could solve; this will also be deeply analysed in this thesis.

The following objectives will be addressed in this thesis;

• Introduction to space exploration history. • State of the art in walking robots and machines

5

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

• Reasons for development of the proposed walking robot: Design of the hexapod, types of actuators, number of legs, etc. • Kinematic and Dynamic analysis of the hexapod robot: Forces and Reactions. • Planetary terrain trajectory selection. • 3D trajectory modelling of the designed hexapod robot. • Future robots for space exploration: A walking machine?

6

MARS LANDERS AND WHEELED ROVERS

3. MARS LANDERS AND WHEELED ROVERS

Mars has always been of great interest to scientists as it could explain how Earth could be millions of years from now as it is a planet like Earth were once could have had a similar atmosphere and most important liquid water, were life could have been formed three thousand million years ago.

Since 1970 several missions have landed on Mars surface, they were formed by static and moving robots.

Landers can provide atmospheric information both during their descent phase (atmospheric profiles of temperature, pressure, and wind) and once on the surface, geological, biological and atmospheric data. These records help our understanding of Mars in present day, how it has evolved and what Earth could evolve to. The data records provide useful information for the planning of future missions.

These landers have been over time static or in the last decades wheeled rovers that can explore the terrain with limited mobility.

Past lander missions to the planet Mars will now be described. This will provide an overview of the state of the art in planetary missions an unmanned operations, it also shows the difficulty of such missions and the years of research needed to become a success.

3.1. Mars landers: Viking

The two Viking Landers (VL-1 and VL-2) were the first man-made craft ever to return data successfully from the surface in 1977. A photo of a Viking lander is shown in Figure 3. They were generously funded, which had several beneficial results for the mission. Firstly, their scientific instruments had been exhaustively tested and secondly, the landers were robust enough to survive for several Mars years, providing a useful long-term record of surface conditions in

7

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS all Martian seasons. VL-1 returned meteorological data for 3.3 Mars years, VL-2 for 1.7 Mars years (5.6 and 3.2 Earth years respectively).

Figure 3. Replica of a Viking Lander. REF. 3

3.2. Mars landers: Pathfinder

The first mission to include rovers, Mars Pathfinder, reached Mars in 1997. It consisted of a small six- wheeled rover and a base station which provided power and telecommunications. The base station also carried a suite of meteorological sensors measuring wind, temperature and pressure REF. 4. One great addition to Pathfinder’s meteorological package (compared with Viking data) was the inclusion of temperature sensors at different heights: at 0.25 m, 0.5 m, and 1.0 m above the lander base.

The Soujourner was a six wheeled vehicle with 10.5kg of weight and it could move 500 m from the Lander. Its maximum velocity was 1cm per second. During its 83 days of operation in the Mars surface, the Souyourner sent to Earth 550 photographs from its cameras and completed chemical analysis with its x-ray spectrometer from 16 different locations.

The rover dimensions were 65centimeters long, 48 width and 30 centimeters of height. Its weight on Earth was of 10,5kg while in mars due to the lower gravity, its weight was equivalent to 4kg. It has a suspension system that was capable of overcoming 13cm obstacles.

8

MARS LANDERS AND WHEELED ROVERS

Figure 4 Pathfinder. REF. 5

3.3. Mars landers: Mars Polar Lander (MPL)

Mars Polar Lander was a NASA-funded mission programmed to land in the Polar Region in late 1999. Unfortunately it was lost during atmospheric entry. Its meteorology package was similar to those described above, with two novel features. Firstly, atmospheric humidity was to be measured using a customized diode laser spectrometer. Secondly, temperature and wind measurements were to be made both on a primary mast above the lander, and on a secondary mast deployed downwards from the lander body.

This would have allowed more extensive determination of temperature and wind profiles. It should be noted that the primary wind sensor used on the MPL was re-used on future missions.

9

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 5 Mars Polar Lander. REF. 6

3.4. Mars landers: Beagle 2

The Beagle 2 lander, an European ESA mission launched in June 2003, is a small (landed mass ~35 kg) single lander station. The main stated aim of the lander is 'to search for life, or for environments conductive to life’ [Sims et al., 1999]. The payload includes an Environmental Sensors Suite (ESS), which will measure air temperature at two heights, atmospheric pressure, wind speed and direction, salted grain momentum, UV flux (diffuse and direct at five wavelengths), the total accumulated radiation dose and investigate the nature of the oxidizing environment. Wind and temperature sensors were mounted on the end of a jointed, motorized arm, ~ 0.9 m in length, allowing them to be positioned at several locations around the lander body. Beagle2 was lost during its entry to Mars.

10

MARS LANDERS AND WHEELED ROVERS

Figure 6 Mars Lander: BEAGLE 2. REF. 7

3.5. Mars landers: Mars Exploration Rovers Spirit and Oportunity

There are two identical Mars Exploration Rovers, MER-A and MER-B. They landed in 2004. The MER Rovers have a smaller science payload than Beagle 2, but a higher data downlink rate thanks to their on-board high-gain antennae. The science payload includes spectrometers and a microscope to examine the rocks, but no dedicated meteorology package. This is presumably because the mobile rovers were not considered a good meteorology platform (unlike Pathfinder, the MER mission will not have a ‘base station’ where a static meteorological mast could be erected, because all communications and power systems are on-board the rover). The payload does include a thermal emission spectrometer (mini-TES), which will periodically be used to take spectra of the sky.

Spirit and Opportunity completed their 90-day primary missions in late April 2004. A remarkable six years and five mission extensions later, the rovers continue exploring, gaining renown as one of the most remarkable Mars missions in space exploration history. Spirit has roved across nearly five miles (~8 km) of the Martian landscape, while Opportunity has traversed almost twelve miles (~19 km). From all cameras combined, the rovers have together returned more than 260,000 images, which have assisted in revealing many mysteries ranging from Mars's current climate to its deep geologic past. They have provided more evidence for long-ago water, photographed

11

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS dust-devils, and helped reconstruct the impacts associated with nearby craters. Even though the Spirit rover has been unable to move since January 2010, it continues to return valuable data to this day. Opportunity continues to move far beyond its originally planned path toward new and beckoning destinations.

Figure 7 Spirit Rover. REF. 8

The Mars Exploration Rovers consists of a box-like chassis mounted on six wheels. The chassis contains the warm electronics box (WEB). On top is the triangular rover equipment deck, on which is mounted the Pancam mast assembly, high gain, low gain, and UHF antennas, and a camera calibration target. Attached to the two forward sides of the equipment deck are solar arrays which are level with the deck and extend outward with the appearance of a pair of swept-back wings. Attached to the lower front is the instrument deployment device, a long hinged arm which protrudes in front of the rover.

The wheels are attached to a rocker-bogie suspension system. Each wheel has its own motor and the two front and two rear wheels are independently steerable. The rover has a top speed of 5 cm per second, but the average speed over time on flat hard ground would be 1 cm/s or less due to the hazard avoidance protocols. The rover is designed to withstand a tilt of 45 degrees without falling over, but is programmed to avoid exceeding tilts of 30 degrees. The warm electronics box, houses the computer, batteries, and other electronic components.

12

MARS LANDERS AND WHEELED ROVERS

3.6. Mars landers: NetLander

The proposed Mars NetLander European project consisted of four surface stations carrying identical scientific instruments for seismology and meteorology. Components of the meteorology package include: pressure sensors, temperature sensors at three different levels, and a humidity sensor that is much lower in mass than the MPL sensor REF. 9. A specific aim of the NetLander mission is network science, i.e. the analysis of measurements taken simultaneously at different locations. It has been shown that such a network of surface pressure measurement provides useful insight into global atmosphere REF. 10. NetLander mission was cancelled.

Figure 8 Net lander prototype. REF. 11

3.7. Mars landers: Phoenix lander

NASA landed again in Mars with a lander in 2007. Called Phoenix, it landed at high latitudes (roughly 70°N) and recaptured many of the science goals addressed by Mars Polar Lander and by another cancelled lander in 2001. It includes a digging arm, which will dig a trench up to 1 m deep. Its meteorology package will include a LIDAR instrument, which will probe the Martian atmosphere up to an altitude of 20 km. The LIDAR should be able to measure PBL depth, and return information about dust devils, clouds, and fog in the lower atmosphere. The meteorology package also includes a pressure sensor and thermocouples for temperature measurement; thermocouples are included

13

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS at several points along the arm to allow temperature profiles to be obtained.

3.8. Mars landers: MSL rover mission (Curiosity)

In August 2012 another rover mission reach Mars, as the mission name indicates MSL (Mars Science Laboratory). The large rover in size is like a small car; it is highly equipped with geological, biological and atmospheric instruments. It provides a robot arm that can dig and recover soil samples, which can later analyse in situ. It is a mission with an expected long life of 2 years as the power source is a radioactive source. The main goal of the mission is to identify if there were ever was liquid water in the planet and how it has evolved to present day.

The Center of Astrobiology and the instrumentation group which I form part of are very proud to be part of the MSL mission. My group together with different universities and Spanish companies have designed the weather station that is on board the rover, it is located in the rover mast and will be an important instrument as it will help to understand the climate change through the operation sols (mars day).

Figure 9 Curiosity MSL mission. REF. 12

14

MARS LANDERS AND WHEELED ROVERS

The mission lifetimes of today’s landers are: 83 sols for Mars Pathfinder, 90 sols proposed for Mars Polar Lander, 180 sols proposed for the Beagle2 lander (1 = 1 Martian day) This mission will have Viking’s advantage of using a radioactive source for their heat and power needs. Other missions that had to rely on solar panels provide less energy and get obscured over time by dust and degradation due to the environment.

3.9. Future missions for Mars exploration

The most relevant missions with landers to Mars, planed in the near future are:

3.9.1. ExoMars (Exobiology on Mars)

ExoMars is a large Mars mission to search for bio-signatures of Martian Life, past or present. This Astrobiology mission is currently under development by the European Space Agency (ESA) in collaboration with the Russian Federal Space Agency (), after NASA decision not to participate in the program. The programme includes several spacecraft elements to be sent to Mars on two launches. The ExoMars Trace Gas Orbiter (TGO) and an EDM stationary lander are planned for 2016. The ExoMars rover will be launched in 2018 on a Russian heavy lift Proton. The TGO will feature four instruments and will also act as the communication relay satellite for the follow up rover.

3.9.2. InSight

InSight is a robotic Mars lander planned for launch in March 2016. The name is a acronym for Interior Exploration using Seismic Investigations, Geodesy and Heat Transport.

The mission's objective is to place a stationary lander equipped with a seismometer and heat transfer probe on the surface of Mars to study its early geological evolution. This would bring new understanding of the Solar System's terrestrial planets—Mercury, Venus, Earth, Mars — and Earth’s Moon. By

15

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS reusing technology from the Mars Phoenix Lander, which successfully landed on Mars in 2008, it is expected that the cost and risk will be reduced. The launch is scheduled for Mars 2016.

3.9.3. Mars 2020

The Mars 2020 rover mission is a mission concept under study by NASA´s Mars Exploration Program with a proposed launch in 2020. It is intended to investigate an astrobiology relevant ancient environment on Mars, investigate its surface geological processes and history, including the assessment of its past habitability and potential for preservation of bio- signatures within accessible geological materials. A possible landing site for the mission is Crater located in the Syrtis Major quadrangle. Mars 2020 rover will reuse many technologies of rover Curiosity with new instruments.

3.10. Historical background of exploring robots

In many activities and environments, robots can perform operations that are tough, dangerous or simply impossible to humans. Space exploration is a good example of such.

In this section the most relevant robots sent to Space along the last decades will be reviewed. Three different periods of time can be considered: In the 60´s USA and URSS developed manned and unmanned terrestrial vehicles. In the 80´s USA created big vehicles to collect samples on Mars but they were abandoned. In the 90´s the first small rovers to investigate the Moon and Mars surfaces were developed. This has been continued in 2012 with the launched of Curiosity, MSL mission.

16

MARS LANDERS AND WHEELED ROVERS

Rover Driving System Development Picture

Rocky IV (JPL) 6 wheels with rocker bogie 7kg robot suspension system Developed in 1990- 1992

MFEX (JPL) 6 wheels with rocker bogie 9 Kg, developed 1992, suspension system launched to Mars 1996

GO-FOR (JPL) 4 articulated wheels 3 kg robot, 1990

MITy 2 (MIT) 6 wheels, Chassis with 3 10 kg, 1990. Cabinets

RATLER 4 wheels, 2 bodies 15 Kg developed on (Sandia National 80’. Laboratory)

Surveyor Lunar 6 wheels and 50 kg, developed 60’. Rover (NASA) 3 bodies

Marsokhod 6 wheels, 3 bodies in a 75 kg, with (Lavochkin/ flexible chassis Capabilities to afford TransMash) slopes of 30º. 1998

RATLER II 4 wheels, 2 bodies, 115 kg, developed (Sandia National connected by a rotary joint beginning 90’ Laboratory)

17

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Lunar Rover 6 wheels flexible chassis 300Kg, robot Test Vehicle developed No pictures found (NASDA) 90’

PW-50 4x4 crossover with 50 kg, robot (RCL Rover articulated chassis designed in the 90’. No pictures found Co.)

Lunokhod 8 wheels and 756 kg/840kg max, (Lavochkin/ rigid chassis able to afford slopes of TransMash) 30º. Used on the Moon during 1970 and 1973 by the URSS. Lunar Roving 4 wheels 650 kg, able to Vehicle (NASA) overcome slopes of 25º. Manned vehicle used Used during Apolo missions 15, 16,17 on the Moon

Robby (Jet 4 wheels and 3 2000 kg and 4 m Propulsión flexible bodies length. Robot Laboratory) experimental developed in the 80’ to collect samples on the Moon and Mars

VAP Planetary 4x4 wheels crossover 1000 kg, Robot automatic experimental Vehicle developed in the No pictures found (CNES) 90’ to collect samples on the Moon and Mars

18

MARS LANDERS AND WHEELED ROVERS

Sojourner 6 wheels with rocker bogie 10.6 kg. Sent to Mars (Mission suspension in 1996. Traversed Pathfinder) system 500m around the landing site

MSL Mission 6 wheels with rocker bogie 960 kg. Send to Mars Curiosity Rover suspension in November 2011,

(NASA) system arrived in August 2012

Exomars ESA 6 wheels with rocker bogie 310 Kg. Launch Rover () suspension scheduled by 2018 system with a Russian Rocket.

NASA Mars Based on MLS Rover Launch scheduled by 2020 Rover Curiosity. New instruments 2020. onboard

Table 1 Exploring Robots

We can note how the design and selection of wheeled rovers has been the tendency for the past decades. These designs were robust and trustworthy. During the next chapters of this thesis we will evaluate their advantages and disadvantages and will propose an alternative, a walking robot. First the state of the art of walking machines will be presented.

19

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

20

STATE OF THE ART OF WALKING MACHINES

4. STATE OF THE ART OF WALKING MACHINES

As an alternative for wheeled rovers it is proposed in this thesis the use of a legged robot. Although they have not been already used in a planetary exploration mission, different institutions during the past years have studied several designs. This type of robots is a good alternative to traditional wheeled rovers. Some of the advantages of these robots with respect to the wheeled rovers are: • They do not need a continuous terrain. • Less problems with sliding. • Less harm to the environment. • Greater movement capability. • Greater capability to overcome obstacles. • Greater velocity in irregular surfaces.

They seem well suited for unstructured environments and abrupt terrains having some drawbacks like movement coordination, speed and power consumption. In order to choose the best configuration, the state of the art in walking machines has to be reviewed. Walking rovers are usually found classified by their number of legs ranging from eight to one. Walking rovers with six legs and four legs are the more frequently built, there exists multiple designs based on the choice of actuators, dimensions and design implementations like articulated bodies giving high numbers of active degrees of freedom REF. 13. .

With new technologies advancing an increasing market has begun with micro robots, alone or in communities that can work cooperating between each other, these kind of robots have the disadvantage that they perform precise tasks that do not deal with high payload capacity. Last but not least bipeds and one- legged machines are reaching the markets specially bipeds, which simulate and perform human actions.

21

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

As it has been mentioned before walking machines look like a good option when it deals with harsh terrains, they can adapt better to abrupt terrains and be less harmful to the environment they are in, while rover wheels usually damage the terrain we want to analyse or explore. Few of the walking machines are feasible for remote exploration of harsh terrains. But the design had to avoid “mechanical complexity” which means low reliability, high power consumption and large control problems

When dealing with a robot design of this complexity, the configuration will be driven by the design requirements, These will depend on the type of scientific missions goals and these will have to be clearly specified by the scientific group for the design engineers to begin. When a design of this type starts it will vary depending on the scientific payload that needs to be carried, the type of environment that wants to be explored and the range of area that needs to be covered. These will affect the design materials, type of actuators, mechanics and power consumption that needs to be used. These will give estimate dimensions of our robot that will also help us with the decision of the robot configuration.

4.1. Walking machines

These kinds of robots are well suited for work in an unstructured environment and especially in abrupt terrain. They have some drawback like movement coordination, speed and power consumption. Nevertheless, there is a large activity in this area and many examples can be found about these vehicles.

The objective of this chapter is to review some of the walking machines developed in the past or even in on going projects to know the tendencies on this field. A wonderful tool to which helped with this study is the site REF. 14 where the design done in the past to nowadays is presented.

Their number of legs, usually ranging from eight to one, can classify the robots.

22

STATE OF THE ART OF WALKING MACHINES

There is also a different two other concepts of walking robots called moving tables and biomimetic robots.

4.1.1. Walking robots classified by their number of legs.

The walking robots can be classified by their number of legs, ranging from one to eight in mos of the cases.

4.1.1.1. Monopods

These types of robots have been designed as a dynamic design challenge and in order to study the spring loaded inverted pendulum (SLIP), Thank to this models the dynamic stability of a robot can be studied and can be applied to a multilegged vehicle.

Figure 10 Ambulatory Robotics Laboratory. REF. 15

4.1.1.2. Bipeds

MIT laboratory designed the first biped robot in 1994. It weighed around 10 kilos and was called “Spring turkey”. It measured 60 cm and could walk in very regular terrain in a continuous manner at 0.5m/s with a deviation of the hip of 3cm and an inclination of 5.2º

23

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 11 MIT biped. REF. 16

Honda began developing humanoid robots in the 1980s, including several prototypes that preceded ASIMO. It was the company's goal to create a walking robot, which could not only adapt and interact in human situations, but also included the first self-regulating humanoid walking robot with wireless movements.

Differing from its predecessors, ASIMO was the first to incorporate predicted movement control, allowing for increased joint flexibility and a smoother, more human-like walking motion. Introduced in 2000, the first version of ASIMO was designed to function in a human environment, which would enable it to better assist people in real-world situations. Since then, several updated models have been produced to improve upon its original abilities of carrying out mobility assistance tasks. A new ASIMO was introduced in 2005, with an increased running speed to 3.7 mph, which is twice as fast as the original robot

24

STATE OF THE ART OF WALKING MACHINES

Figure 12 ASIMO. REF. 17

4.1.1.3. Multilegs( 4 to 10 legs)

Two examples of the russian activity on this field are the so called “walking chassis for multipurpose” and “walking support”, both are extremely large robots,for instance is 3.4m long a 2.6m high its weight is about 1620 kg and it need a power consumption of 4 kwatts. The most interesting characteristics, is that their legs are finished on skies, which could be very useful in terrain with water and soft sediments.

In the same line of the above it is possible to find several designs, like Katharina REF. 18 from Institut Fabrikbetrieb und –automatisierung from Fraunhofer institute which has 6 leg and 18 active D.O.F. (three for each leg). Similar design has MAX form Mobile Robot Research Group from University of Salford or the LAURON REF. 19 family from the FZI Research Centre for Information Technologies from Karlsruhe University. REST is another example of 6 legged robot with 18 D.O.F., developed by the Instituto de Automática Industrial from the CSIC (Spain).

25

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 13 MAX

Figure 14 Katharina

Figure 15 Lauron

There are also special robots from research centers which combine legs and wheels like Autopod REF. 20 or more complex movements like the leg design in Polypod REF. 21 or more ambitious designs like the following ones:

• BISAM from Karlsruhe University REF. 22 with 4 legs and 21 D.O.F. actives

26

STATE OF THE ART OF WALKING MACHINES

• Collie II from the University of Tokyo REF. 23 with four legs and 12 active D.O.F. • Exploratores REF. 24 from the Institute of Mathematics and Informatics of the Hungary, with 4 legs and twelve degree o freedom • MenoREF. 25, developed by the Robotics Research Lab from USC and supported by NASA/Jet Propulsion Laboratory, which has 4 legs with 12 active D.O.F. and 4 passive D.O.F. • Rihmo REF. 26 like the Meno has 4 legs and 12 D.O.F. active and 4 passive and it has been developed by the Instituto de Automática Industrial (IAI) of Spain in collaboration with the Laboratory of Automatic Control from CIEMAT (Spain) • ROWER is another design of the IAI but 16 active D.O.F. • SIL04 has 12 active D.O.F. as is another design of IAI • S.T.I.C. Insect REF. 27 was developed by the Mechatronics Research Group from the University of Southern Queensland (Australia) and it has 12 active D.O.F. plus 12 passive D.O.F. • Thing REF. 28, belong to the Laboratory for perceptual Robotics from the University of Massachusetts and it has 12 dof with 4 legs • TITAN VIII REF. 29 from Tokyo Institute of Technology is another example with 12 D.O.F. • There are several works of institutes of robots with 8 legs most of them designed for climbing like Nero or ROBUG III or for crawling or climbing inside pipes.

Also worth mentioning are ARL Scout I and II REF. 30 , the later has 4 active D.O.F. and 4 passive ones more. Their dimensions are 0.26 x 0.4 x 0.45 m with a weight of 27 kg and power consumption of about 90 watts ( 3.3 watts/kg ). Nevertheless the problem of stability is larger in four legged than in six legged robots.

27

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 16 Polypop

Figure 17 SILO 04

Figure 18 Scout I

4.1.2. Moving table

Lets introduce first the concept of moving tables; there is usually a design of two joined bodies with different degrees of freedom each. In order to move forward, one of the bodies is stable and fixed to the ground while the other is moving to the next position, when the position is reached this body will now remain fixed to the terrain and the other one will start moving to the next position.

28

STATE OF THE ART OF WALKING MACHINES

Figure 19. Fred II. REF. 31

Figure 20.Walking beam . REF. 32

Figure 21. Zimmer. REF. 33

Three examples of this concept are shown, the first one is the robot in Figure 19 which is a development of the Institute of Computer Engineering from the Medical University of Lübeck REF. 31 called FRED II, which started in 1997 and basically is a body supported by 8 legs and ten active degrees of freedom (one to control the leg length and two more for XY movement of the body). The robot is powered by pneumatic cylinders and controlled by an on-board PC Pentium

29

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS and another located in a base station as a teleoperation station. The dimensions are 0.7 x 0.4 x 0.4 m (length, height, width), the weight 50 kg and the payload 30 kg with a speed of 100 cm/sec.

Another good example of this kind of concept is Walking Beam shown on Figure 20 a project by Martin Marietta and founded by NASA from 1989-1990. It is a 1.5 x 0.3 x 0.76 m, with a maximum speed of 3 cm/sec and a weight of 12 kg. It has seven legs, but the number of active D.O.F. are 10 with the same philosophy followed in FRED II, but in this case with 14 passive D.O.F. more. No information has been found about the passive D.O.F. but likely they should be for a good adaptation to the terrain. Zimmer, Figure 21 is another example of this kind of robot, was developed from 1994 to 1995 in the Machines, Kinematics and Robotics group of the University of Salfoord REF. 33. This design has ten legs but only two degrees of freedom. Conceptually, Zimmer is similar to the Walking Beam with the difference that the legs have a fixed length. Ambler and Daedalus could be classified in the same group, both are designed in the Robotic Institute of the Carnegie Mellon University, the former one is an old design (1988-1992) and the later started in 1993. Deadalus REF. 34 on Figure 22 is a 6 legs walking machine with a 1.8 x 2 x 1.8 m, 120 kg of weight and with load capability of 50 kg. It has 8 active dof with a power consumption of 100 watts.

Figure 22. Daedulus. 30

STATE OF THE ART OF WALKING MACHINES

4.1.3. Biomimetic robots

With few exceptions, legged robots before the year 2000 were slow and fragile - a poor combination for legged robots whose sole intention is exploring the unknown. Some machines were able to cross rough terrain, but only slowly. Other machines could go very fast, but were not capable of navigating significantly broken terrain. No machines were both fast and able to go over rough terrain. In addition, most were quite fragile, regularly requiring extensive repair. Planetary exploration called for small, fast, robust robots.

The change of the millennium saw a renewed interest in biologically inspired robotics, but with a new slant. Instead of overly complex control strategies coupled to unwieldy platforms, these new approaches took a different tack - extremely simple control strategies coupled to mechanical structures with mechanical intelligence designed in. These researchers took their inspiration from nature, but did not copy it blindly - exact mechanical duplicates are inappropriate given the limitations of available technologies. Instead, a functional mapping was employed to extract only the principles relevant to the desired performance.

The first successful biomimetic running robots to incorporate these principles were Sprawlita REF. 35 and Rhex.

A very interesting design by its mechanical simplicity is Rhex REF. 36 developed by the University of Michigan in collaboration with other USA Universities. Rhex has six legs but with only 6 D.O.F. actives; each legs rotate 360 deg at each movement, at each gait only three legs are moved simultaneously. Its dimensions are 0.53 x 0.25 x 0.52 m; the weight 7 kg with a payload capability of 7.94 kg (good payload-weight ratio) and a power consumption of 80 watts.

31

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 23 Rhex

Nevertheless there is an interesting work under development by the Marine Science Center from the Northeastern University and support by DARPA. LOBSTER REF. 37, which is the name of the project and is designed for underwater activities; it has been manufactured following the “mechanical” configuration of a lobster. The control system has been based on an extensive study of lobsters in order to implement a number of rules, which simulate their behaviour.

Figure 24 Lobster

LOBSTER has 8 legs with 24 D.O.F. (3 for each leg) with power consumption of 90 watts and a dimensions of 0.6 x 0.45 x 0.15 m.

32

STATE OF THE ART OF WALKING MACHINES

Figure 25 Boadicea

In the 6 legs group BOADICEA REF. 38 is a good example of legged robots, it was developed by the MIT Mobile Robotics Laboratory in the nineties. BOADICEA was design following a cockroach concept, with six legs; rear and front ones have three D.O.F. while the middle ones have only two. It powered by pneumatic actuator, Pneumatics seems not feasible for our design as an a umbilical connection is always needed between the rover and a support ground station.

With similar concept (cockroach concept), the Case Western Reserve University (CWRU) Bio-robotics Laboratory have several design, the Robot I,II and III series REF. 39. The difference is that the number of D.O.F. is to high, for instance Robot II has 18 dof active and six more passives and Robot III, with 6 legs, has 24 dof: 5 for front legs and 4 for middle ones and three for rear legs. In both cases are powered by pneumatic actuators, but the main drawback is its mechanical complexity.

33

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 26 Robot II

The same CWRU group is now developing a microrobot support by DARPA funds which is based on a “cricket” design. Shows the concept proposed based on micro mechanisms (MEMS). An interesting idea is that they used pneumatic actuator without any external accumulator, with this design a attempt is done to join the advantage of hydraulic and electro mechanic actuator.

The University of Illinois Urbana-Champaign REF. 40 is developing a 6 legs robot with 3 D.O.F. at each leg and powered by a pneumatic umbilical tube. The dimensions are in the same range of BOADICEA, 0.58 x 0.23 x 0.14 m and its weight is 11 kg with a payload capability of 20 kg which means a payload weight ratio of 2.

34

STATE OF THE ART OF WALKING MACHINES

!

Figure 27 Microrobot

Figure 28 Ioan

Other design implements an articulated body in order to increase its movement and terrain adaptation, like IOAN REF. 41 from the Université Libre de Bruxels which has six legs.

35

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

36

ACTUATORS COMMONLY USED IN ROBOTICS

5. ACTUATORS COMMONLY USED IN ROBOTICS

An actuator is a mechanism for activating process control equipment by converting into mechanical energy pneumatic, hydraulic, or electronic signals. The most frequently used types of actuators in robotic arms are electrical motors that can be classified as follows:

5.1. Synchronous

The motor contains a rotor that rotates in synchrony with the applied oscillating field or current. The rotor can be a permanent magnet or a series of coils placed on the rotor.

5.2. Brushless DC Servo

This synchronous electric motor features permanent magnet poles on the rotor, which are attracted to the rotating poles of the opposite magnetic polarity in the stator creating torque. It is powered by a DC current that has an electronically controlled commutation system instead of a system based on brushes. Current, torque, voltage, and speed (rpm) are linearly related. The advantages of a brushless motor include higher efficiency and reliability, reduced noise, longer lifetime (no brush erosion), elimination of ionizing sparks from the commutator, and an overall reduction of electromagnetic interference (EMI).

37

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

5.3. Stepper

A stepper is a type of brushless servo motor, this motor moves or rotates in small discrete steps. Stepper motors offer many advantages, such as dual compatibility with both analog and digital feedback signals. They can be used to easily accelerate a load because the maximum dynamic torque occurs at low pulse rates. By controling the steps number, they can be positioned at predetermined angles with high accuracy.

Stepper motors consist of a permanent magnet rotating shaft, called the rotor, and electromagnets on the stationary portion that surrounds the rotor, called the stator. Asuming a four pole motor, the rotor is beginning at the upper electromagnet, which is currently active (has voltage applied to it). To move the rotor clockwise (CW), the upper electromagnet is deactivated and the right electromagnet is activated, causing the rotor to move 90 degrees CW, aligning itself with the active magnet. This process is repeated in the same manner at the south and west electromagnets until we once again reach the starting position.

The resolution of some motors could be doubled by a process known as "half- stepping". Instead of switching the next electromagnet in the rotation on one at a time, with half stepping you turn on both electromagnets, causing an equal attraction between, thereby doubling the resolution. In the first position only the upper electromagnet is active, and the rotor is drawn completely to it. In position 2, both the top and right electromagnets are active, causing the rotor to position itself between the two active poles. Finally, in position 3, the top magnet is deactivated and the rotor is drawn all the way right. This process can then be repeated for the entire rotation.

38

ACTUATORS COMMONLY USED IN ROBOTICS

Figure 29 Stepper motor

There are several types of stepper motors. 4-wire stepper motors contain only two electromagnets, however the operation is more complicated than those with three or four magnets, because the driving circuit must be able to reverse the current after each step. Unlike our example motors which rotated 90 degrees per step, real-world motors employ a series of mini-poles on the stator and rotor to increase resolution. Although this may seem to add more complexity to the process of driving the motors, the operation is identical to the simple 90 degree motor we used in our example.

Drawbacks of their use include low efficiency; much of the energy dissipated as heat with the additional problem of the heat dissipation and the inputs must be matched to the motor and load. The load should be carefully analyzed for optimal performance. Damping may be required when load inertia is exceptionally high to prevent oscillation.

5.4. Brushed DC Servo

The classic DC motor generates an oscillating current in a rotor with a split ring commutator, and either a wound or permanent magnet stator. A coil is wound around the rotor, which is then powered by a battery. The rotational speed is proportional to the voltage applied to it and the torque is proportional to the current. The advantage to using a brushed motor over a brushless is cost. The brushless motor requires more complex electronic speed controls; however a brushed DC motor can be regulated by a simple variable resistor, such as a

39

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS potentiometer or rheostat. This is not efficient, but proves satisfactory for cost- sensitive applications.

5.5. Asynchronous

This motor is designed to slip in order to generate torque.

5.6. AC Servo Motors

Used in applications that require a rapid and accurate response, these motors are basically two-phase, reversible induction motors that are modified for servo operation. AC Servo motors have a small diameter and high resistance rotors. This design provides low inertia for fast starts, stops, and reversals. AC Servo Motors can also be classified as asynchronous or synchronous.

5.7. Pneumatic

Powered by the conversion of compressed air, these actuators are used to control processes that require a quick and accurate response, but not a large amount of force. These compact and lightweight actuators are less energy efficient than electric motors.

5.8. Hydraulic

With the ability to convert hydraulic pressure and flow into torque and rotation, these actuators can be used when a large amount of force is needed. The most common example is a piston. This motor uses hydraulic fluid under pressure to

40

ACTUATORS COMMONLY USED IN ROBOTICS drive machinery. The energy comes from the flow and pressure, not the kinetic energy of the flow.

41

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

42

A WALKING MACHINE FOR MARS

6. A WALKING MACHINE FOR MARS

Mars is the fourth planet from the Sun and the second smallest planet in the Solar System. Named after the Roman god of war, it is often described as the "Red Planet", as the oxide prevalent on its surface gives it a reddish appearance. Mars is a terrestrial planet with a thin atmosphere, having surface features reminiscent both of the impact craters of the Moon and the volcanoes, valleys, deserts, and polar ice caps of Earth. The rotational period and seasonal cycles of Mars are likewise similar to those of Earth, as is the tilt that produces the seasons. Mars is the site of , the second highest known mountain within the Solar System (the tallest on a planet), and of , one of the largest canyons. The smooth Borealis basin in the northern hemisphere covers 40% of the planet and may be a giant impact feature. Mars has two known moons, and , which are small and irregularly shaped. These may be captured , similar to , a Martian trojan .

Until the first successful in 1965 by 4, many speculated about the presence of liquid water on the planet's surface. This was based on observed periodic variations in light and dark patches, particularly in the polar latitudes, which appeared to be seas and continents; long, dark striations were interpreted by some as irrigation channels for liquid water. These straight-line features were later explained as optical illusions, though geological evidence gathered by unmanned missions suggest that Mars once had large-scale water coverage on its surface. In 2005, radar data revealed the presence of large quantities of water ice at the poles and at mid-latitudes. The Mars rover Spirit sampled chemical compounds containing water molecules in March 2007. The Phoenix lander directly sampled water ice in shallow on July 31, 2008.

43

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Mars is currently host to five functioning spacecraft: three in – the Mars Odyssey, Mars Express, and Mars Reconnaissance Orbiter; and two on the surface – Mars Exploration Rover Opportunity and the Mars Science Laboratory Curiosity. Defunct spacecraft on the surface include MER-A Spirit and several other inert landers and rovers such as the Phoenix lander, which completed its mission in 2008. Observations by the Mars Reconnaissance Orbiter have revealed possible flowing water during the warmest months on Mars.

Mars has shown a large scientific interest due to its special characteristics from a biological and geological point of view. The study of such environment, forces some exceptional instrumentation designed for the terrain and the need of autonomous designs or robots. The walking robot developed and manufactured by the department of instrumentation and planetary exploration of CAB (Center of Astrobiology), which I form part of, is based on the mechanical design and analysis presented in this thesis.

When you start thinking about the design for such a planetary mission, the starting point is the design requirements. These will depend on the type of scientific missions goals and they will have to be clearly specified by the scientific group for the design engineers to begin. The design will vary depending on the scientific payload that needs to be carried, the type of environment that wants to be explored and the range of area that needs to be covered. These factors mentioned before will affect the design materials, type of actuators, mechanics and power consumption that needs to be used. These will give an estimate of the dimensions of our robot and will help us with the decision of the robot configuration. What is required is an autonomous robot that will cover large areas of the terrain, and then the robot has to be as autonomous as possible. The aim of this thesis first chapters is to introduce the requirements needed and present the final chosen locomotion system that best adapts to this particular terrain.

44

A WALKING MACHINE FOR MARS

6.1. Design requirements

To select the best locomotion configuration for this mobile robot it is necessary to define some criteria, based on Mars environmental conditions, and the operational activities to be accomplished by the robot. This robot must be designed having in mind that it will transport a scientific payload and it should be able to cover as much terrain as possible in order to collect information of different terrain zones.

A first list of those requirements is outlined below:

• Movement in soft terrain. When the robot will be working at the canyon side or it will find soft sediment. • Non-special speed requirement. • Very stable positioning. During the scientific operation some very precise instrument will be handled, large vibrations that could affect the payload module must be reduced. The payload should be as horizontal as possible. • To minimize the weight of the locomotion power subsystem and maximize the rover operational period. • It will have to work in a very aggressive environment. Very low ranges of temperatures, and corrosive for non-treated metals, especially iron. • Minimum environment perturbation. Big wheels could not be convenient due to the fact that all the sediment could be damaged. • Mechanical robustness.

6.2. Mars Terrain limitations for a Wheeled Rover

A walking machine is a Mars rover alternative, these kind of robot are well suited for work in an unstructured environment and especially in abrupt terrain. The wheeled rovers have some limitations due to the nature of the Mars terrain and their configuration.

45

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 30 Abrupt Mars terrain. REF. 50

Figure 31 Mars. MSL rover auto picture .Courtesy NASA. REF. 50

The most important mission on Mars until now is the MSL mission, although it has been a complete success the Curiosity rover has some limitations that the engineers and scientific team have to deal with.

The MSL mission uses a wheeled rover that has a top speed on flat hard ground of 4 centimeters per second, Each day, engineers on Earth send a sequence of computer instructions for the day's activities. All software sequences are tested on Earth using surrogate rovers under similar conditions before being used on Mars. This means that you plan what the rover is going to

46

A WALKING MACHINE FOR MARS do and the speed and terrain limitations. The rover is designed to withstand a tilt of 45 degrees in any direction without overturning. However, the rover is programmed through its "fault protection limits" in its hazard avoidance software to avoid exceeding tilts of 20 degrees during its traverses.

Also it will avoid going over a rock in case it could get stuck, This also increases the difficulty of the operators that have to look for alternate paths to not go over the rock.

Figure 32 Test bed in JPL of MSL rover trying to go over a rock. REF. 50

Depending on the science requirements, each mission has a zone or ellipse, which is ideal for landing due to the flat conditions of the terrain. The performance of the rover conditions were it can land, narrows down the landing sites. If a legged rover has more operational terrains this could open the search for more interesting sites, like zones of different geological compositions were the wheeled rover can not access.

47

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 33 Mount Sharp. Mars. REF. 50

Figure 34 Impact crater near equator of scientific interest. REF. 50

In Figure 34 we can see an area of high interest were it can be photographed but not reached with a wheeled robot due to the size of the rocks.

When selecting the landing site not only the scientific goals of the mission is taken into account (Phoenix near polar areas, MSL search for life etc). But also the limitations of the rover movements narrows down significantly the areas were it can land.

48

A WALKING MACHINE FOR MARS

Figure 35 Areas of possible scientific interest. REF. 50

Figure 36 Selection of landing sites. REF. 50

49

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

6.3. Mars Constraints for Designing a Better Moving Robot

Mars is a harsh environment; the vehicle that will operate in this environment will have to withstand the difference in temperature between –120ºC and 10ºC, high ultraviolet radiation and CO2 atmosphere, there is a high exposition to dust daily for a period depending on the mission that can range from 1-5 years. As seen in the last chapters mars rovers have been a wheeled design with low power consumption but high constraints:

• Movement in harsh terrain. For the wheeled rovers the problems start with the landing site, which needs to be adequate for the rover movement capabilities. Due to the low capacity of the wheeled rovers to overcome obstacles, the obstacle height has to be less the half of the wheel radius REF. 42, it is required to find alternative routes which complicates the daily operations in Mars. The legged rovers adapt better to any type of terrain with a higher capacity of overcome obstacles. This makes a lot easier to select the landing site and the future exploration of the zone. As the legged robots are intrinsically omni- directional systems they can change direction independently of the main body, they can move and orientate its body while maintaining the footholds. The planning trajectory of the legged robot is easier because it is able of overcome obstacles just by stepping into them.

• Speed requirement. This has never been the priority in a mission. Wheeled rovers “can be” faster than legged rovers, but as they have to plan such complex trajectories to avoid obstacles, the total time to cover one trajectory may be slower than a legged robot. Wheeled robots require continuous and regular surfaces to move efficiently; when the terrain is more uneven the rover speed decreases rapidly. On the other hand legged robots do not require a regular or continuous terrain, they can move in a wide variety of terrains with the same efficiency.

50

A WALKING MACHINE FOR MARS

• Very stable positioning. During the scientific operation some very precise instrument will be handled, the legged rover will adapt better to the terrain reducing vibrations as much as possible, the ability to keep the rover deck with little inclination will make easier to the payload instruments to actuate on any terrain. A legged robot provides intrinsically active suspension by adapting the leg lengths to terrain irregularities. A legged robot can cover highly irregular terrain with the body levelled; in contrast, the body of a wheeled robot is always parallel to the terrain and adopts similar tilts to the ground, in order to overcome this problem the system for a wheeled rover needs to be very complex.

• Power consumption. Legged robots are power consuming. For the last missions and future missions to Mars RTG sources of energy have been used, minimizing the weight of the power subsystem and maximizing its longevity. The use of RTG generators is a mature technology to send to Mars and assures the operation of a legged rover. It is proven that legged systems under very irregular terrain are more efficient than wheeled systems, REF. 43.

• Minimum environment degradation. The use of large rovers able to carry heavy payloads will require the use of big wheels for a wheeled rover configuration. This is not convenient due to the fact that all the sediment could be distorted. The use of legged robots degrades less the terrain, due to the fewer contact area required. Legged vehicles require discrete contact points with the ground, while wheeled rovers use a couple of continuous paths along the ground. Therefore, legged robots touch the ground less than traditional vehicles do, causing less environmental damage.

51

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

• Mechanical robustness and viability A robust design will be needed to survive this kind of mission. Conceptually a wheeled robot is more robust than a legged one but with a good design a similar grade of robustness could be achieved for a legged one.

This limitations and constraints leads to the idea that once the problems of power and mass has been solved, MSL rover weighed 500kg and works on a nuclear RTG generator, a better concept of rover will be presented in this thesis that will try to solve the problems of mobility in this harsh environment.

The next table summarizes the advantages of the legged robots vs. wheeled rovers.

52

A WALKING MACHINE FOR MARS

Table 2 Advantages of legged Vs wheeled robots. REF. 44

53

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

54

WALKING MACHINE DESIGN CRITERIA

7. WALKING MACHINE DESIGN CRITERIA

On this chapter is going to be presented the initial design configuration, which started with a moving table concept. This design evolved to a six leg walking machine. The requirements for the design of the hexapod robot and the possible actuator configurations will be explained along this chapter.

7.1. Moving Table Design

Having reviewed the state of the art in autonomous robots for Earth and planetary missions I am ready to introduce here a first design that was thought best for the scientific goals, but later discarded. Keeping in mind that the rover will be a platform for scientific purposes with no special speed requirements, the first option was a “moving table” concept design that has already been introduced. It consists of two platforms with four legs each, the legs can move independently and the platforms slide between each other. With this selection is possible to achieve a very stable scientific platform with low power requirements as it is shown In the next figure.

Figure 37 Moving Table

Due to the large scientific payload that is going to be carried the idea was to use this very stable platforms by sliding them with linear actuators, this configuration allows precise positioning, but has less movement capacity. This configuration

55

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS had an important drawback that the bodies have to be perfectly aligned in order to move, this can be achieved in a laboratory or flat terrains but we had serious doubts with the kind of terrain that we encounter in a planetary exploration that this design will give us problems so it was discarded. This rover must be designed having in mind that it should be able to reach as much terrain as possible in order to collect information of different areas of scientific interest.

Having discarded the later design and based in the state of the art of the walking machines, the final design chosen that satisfied most of the requirements for designing a better moving robot for a planetary mission was a hexapod design, which seemed a good compromise between design and complexity. The aim of this thesis is to introduce a six legged robot design with low power consumption and maximum payload capacity.

7.2. Six legged robot design

The Design requirements obtained from 6.3 are:

• Movement in harsh terrain. • Speed requirement. • Very stable positioning. • Power consumption. • Minimum environment degradation. • Mechanical robustness and viability

Based on a design requirement of maximizing the payload capacity, and in order to minimize mechanical complexity, the final design chosen after analysing several configurations, concluded in a hexapod shaped robot. The main function of the robot body box is to carry the payload. It has to be large enough to fit the entire payload and robust to withstand the forces and moments due to the walking motion and possible collisions with objects. The design will allow more space between the legs when they perform the rowing motion. The

56

WALKING MACHINE DESIGN CRITERIA number of legs was chosen as a compromise between complexity and stability REF. 1

7.2.1. Gait selection for the hexapod

A leg is not a continuous locomotion element like a wheel, it must be lifted to the end of its effective stroke, returned and placed to begin the following stroke. This creates a phasing problem described by the term gait, which is the motion to move the body to one place to the other. We can find this movement in all animals and humans. The gait selection problem is very dependent of the terrain. The basic definitions for gait analysis will be introduced in this section and were established by Song and Waldron, REF. 1.

DEFINITION 1: The transfer phase of a leg is the period in which the foot is not in the ground.

DEFINITION 2: The support phase of a leg is the period in which the foot is on the ground.

DEFINITION 3: The cycle time, T, is the time for a complete cycle of leg locomotion of a periodic gait.

DEFINITION 4: The duty factor, Bi, is the time fraction of a cycle time in which leg i is in the support phase.

Bi= time of support phase of leg i /cycle time of leg i.

DEFINITION 5: The leg phase phi is the fraction of a cycle period in which the contact of leg I on the ground lags behind the contact of leg1.

DEFINITION 6: The leg stride lambda, is the distance the center of gravity translate during one complete locomotion cycle.

57

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

DEFINITION 7: The leg stroke, R, is the distance trough that the foot is translated relative to the body during the support phase.

DEFINITION 8: The stroke pitch, P, is the distance between strokes of adjacent legs of one side.

DEFINITION 9: The effective body length, Lb, of a 2n-legged animal or walking machine is the distance between the center of strokes of the front rear pair of legs. If all the stroke pitches are the same the body length is:

Lb= (n-1)*P Equation 1

DEFINITION 10: A gait matrix, G, is a n-column matrix whose successive rows are n binary numbers (0 or 1), corresponding to the successive leg states of a gait of an n-legged animal or machine, and the total number of rows is equal to the number of states of the legs in one cycle of locomotion.

DEFINITION 11: A gait formula, g, for a n-legged animal or machine is defined as:

g=(beta1, beta2…..betan, phi2, phi3….phin) Equation 2

DEFINITION 12: The dimensionless foot position, (Xi ,Yi), is a pair of coordinate values which specifies the position of the contact point of leg i. The X-Y coordinate system is chosen so that the origin is at the center of gravity of the vehicle body, the X axis is aligned with the direction of motion and directed forward and the Y axis is normal to X and directed toward the right side of the X axis, The Z axis is then directed downward normal to the X and Y axis.

DEFINITION 13: The dimensionless initial foot position (gammai, deltai) is the value of the pair of coordinates (Xi, Yi) of the initial contact position of leg I during any locomotion cycle.

58

WALKING MACHINE DESIGN CRITERIA

DEFINITION 14: The kinematic gait formula K, for a n-legged locomotion system is defined as:

K=(beta1, beta2…..betan, gamma1, gamman,...delta1,deltan…….phi2, phi3….phin)

DEFINITION 15: An event of a gait is the placing or lifting of a foot during locomotion. Each event is assigned a number. For an n-legged animal or machine, events i and i+n are assigned to the placing and lifting events of leg i respectively.

DEFINITION 16: A gait is singular if any two or more events occur simultaneously during a locomotion cycle.

DEFINITION 17: A regular gait is a gait with the same duty factor for all legs.

DEFINITION 18: A gait is symmetric if the motion of the legs of any right-left pair is exactly half a cycle out of phase.

DEFINITION 19: A support pattern of an animal or a walking machine is a two dimensional point set in a horizontal plane consisting of the convex hull of the vertical projection of all foot points in support phase. The contact between foot and ground is idealized to a point contact without slip. In a real, distributed foot contact, the contact point can be interpreted as the center of pressure.

DEFINITION 20: A gait is periodic if similar states of the same leg during successive strokes occur at the same interval for all legs, that interval being the cycle time. Otherwise, it is a non periodic gait.

DEFINITION 21: The stability margin Sm, is the shortest distance of the vertical projection of center of gravity to the boundaries of the support pattern in the horizontal plane.

DEFINITION 22: The front stability margin and the rear stability margin are the distances from the vertical projection of the center of gravity to the front and rear

59

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS boundaries of the support pattern, respectively, as measured in the direction of motion.

DEFINITION 23: The longitudinal gait stability margin Ss, or the gait stability margin in brief for a periodic gait, G, is the minimum of Si over an entire cycle of locomotion. A gait is statically stable if S is >0. Otherwise is statically unstable.

DEFINITION 24: The dimensionless longitudinal gait stability margin normalized to stride, S*, for a periodic gait, G, implied by a kinematic gait, K, is defined as : S*(K)=S(K)/lambda

The dimensionless longitudinal stability margin normalized to stroke pitch, Sp, for the same gait is defined as :

Sp(K)=S(K)/P Equation 3

The dimensionless longitudinal gait stability margin normalized to stroke, Sr, for the same gait is defined as:

Sr(K)=S(K)/R Equation 4

S*, Sp, Sr can be called dimensionless gait stability margin or gait stability margins if there is no ambiguity.

If we have to analyse the gait sequence of our design we can use both analytical and graphical methods. The graphical method provides a clear understanding of the gait geometry and is easy to relate to practical needs.

The gait selection for a walking robot is a very important decision as it has been chosen to not have all actuators on at the same time. This could be a real consumption solution that can solve one of the drawbacks of walking robots. The gait selection is as follows: The robot can stand in three legs in a triangular configuration meanwhile the other three legs are in the air. The three legs on the ground can perform a rowing motion forward and when they reached the maximum motion, the legs in the air can come down and the same procedure will follow, with these

60

WALKING MACHINE DESIGN CRITERIA movements we can avoid having all actuators acting at the same time. For this gait sequence we need three actuator per leg, this means that if each degree of freedom is controlled by one actuators our design will need 18 actuators.

7.2.2. Sizing of the legs

In order to size the legs, care should be taken in analysing each of the restrictions mentioned in the previous chapter based on the characteristics of the terrain that will be encountered. Simple 2-D figures have been drawn as a first approach to be able to have an idea of what leg dimensions we need for the robot. There are three auto-imposed restrictions that the robot must overcome, and they will define the size of the legs, these restrictions have not been chosen randomly but due to my experience as a MSL team member. These restrictions are: 1- Overcome and obstacle of dimensions: 0.25x0.25x0.25 m 2- Move over a 0.3 m hole. 3- Displacement on a 10º slope.

7.2.2.1. Obstacle of 0.25x0.25x0.25 m

This is the first of our auto-imposed requirements; the leg has to be able to be placed or to overcome the obstacle.

61

12

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

0.472

-5º 0.7

30º

0.7m 0.25m obstacle

Figure 38 Obstacle 0.25x0.25x0.25m.

We must have all the terrain information for the gait sequence used by the walking machine to overcome large obstacles. Hence, an obstacle crossing manoeuvre may be performed according to a pre-implemented program, which receives all the information as the obstacle width or height or from a vision system. If this manoeuvre is not possible due to the obstacle it can be decided to move around the obstacle. It is important to note that the body cannot be tilted and this is a requirement for the payload it carries, and will have implication in the design of the legs and the gait sequence cadence chosen. The motion can be categorized in three motion cycles:

1 2 3 1 2 3 1 2 3

4 5 6 4 5 6 4 5 6

Figure 39 Gait Hexapod Sequence

62

WALKING MACHINE DESIGN CRITERIA

1. The robot is standing in three legs (red dots) triangular configuration, they bring the center of gravity forward of the middle feet.

2. Movement of the rest of the three legs (blue dots) that have to over come the obstacle, when they are safely placed in the ground they can proceed to further body movement.

3. The remaining three legs accompanied with body movement.

For the leg to be able to pass with ease the top of the obstacle of the size shown, gives a minimum distance of 0.472 m for the top part of the leg. These distances still have to meet the rest of auto-imposed requirements.

7.2.2.2. Path encounters hole of 0.3m of depth

In the same manner as we have dealt the obstacle crossing, we have to deal with a 0.3 m obstacle, the robot has to be able to perform the gait sequence shown in the previous chapter keeping the payload in horizontal position.

Figure 40 0.3 m of depth

When the vehicle encounters in its path a hole of the mentioned characteristics,

it will not affect at all its initial configuration, which it’s represented in

63

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 40. The leg has to be long enough to perform the rowing motion in a more extended configuration. The minimum distance of 0.47 m for the first leg part and 0.7 m for the second half seems to satisfy this condition. It is helpful to define the foot range which is the maximum distance which the legs can be extended while the other legs remain on the ground and maintain statical stability. A general approach to definition of maximum mobility over an obstacle is to find the foot range of the legs been transferred and the corresponding foot conditions at the end of each phase. The maximum mobility is the minimum of the foot ranges calculated for the three phases provided that the legs can be placed to satisfy the corresponding foot conditions.

7.2.2.3. Slope of 10º

The robot also has to move down 10º slopes keeping its entire payload in horizontal position.

25º

-5º

Figure 41 10º Slope

The lengths studied also have to meet this requirement; the basic 2-D figures show a first approach of the lengths and angles that the legs will have to move. We have to take into consideration that the body has to avoid tilt as a design requirement. When the on board inclinometers measure such levels of inclination the hexapod has to be prepared to level its body according to the

64

WALKING MACHINE DESIGN CRITERIA loop data measured or to find another trajectory that meets all the described requirements. The chosen gait sequence of the six legs, to be well located in the ground due to the 10 º slope were analysed and the resulting angles will give a final estimate of the leg dimension. The resulting dimensions are summarized in the following table:

MINIMUM LEG DIMENSIONS

(To overcome all of the requirements)

length1 of leg >=0.7 m HOLES length2 of leg >=0.5 m

DEGREES OF FREEDOM

At least 10% SLOPE 3 D.O.F IN EACH LEG

alpha= -5 to 30º

beta=85º to 120º

gamma= -20º to 20º

OBSTACLES

Table 3 Initial estimations due to the design requirements

65

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

7.2.3. Actuators for our walking machine

It has been decided that six legs is the minimum compromise between complexity and functionality. Now the best actuator has to be chosen.

ACTUATORS CONFIGURATION SIX LEG DESIGN Pneumatic actuators DC gear motors Six leg angular configuration DC linear actuators

Table 4 Types of actuators selected.

7.2.3.1. Pneumatic actuators

At this point of the initial analysis that a walking robot with six legs seems the best option, using an angular configuration similar to the movement of reptiles, which offered three degrees of freedom for each leg. Now a very important decision is the type of actuators that the robot will use.

Pneumatics is one of our first options due to the high load capacity that is achieved with pneumatic actuators, but these traditional actuators usually are for large industrial applications and the load/size ratio is not acceptable for a walking robot. Due to the improvement in new materials we found that in pneumatics a brand new technology was emerging with the implementation of pneumatic muscles, shown in Figure 42.

66

WALKING MACHINE DESIGN CRITERIA

Figure 42 Hexapod Configuration with Pneumatic Actuators, Festo

The material withstands high air pressures and when it contracts it can be used as an actuator. The reduction in size compared to traditional pneumatic actuators is large but the stroke of the actuator still is not high enough and needed a very long pneumatic muscle of up to 1m of length to achieve the desired stroke for our resulting angles. The resulting size of the robot legs was larger that the idea that we had for our design. With these actuators the use of the pneumatic option was discarded; the next step was to go for electrical motors. Also for a planetary mission the air storage and maintenance could be a real problem.

7.2.3.2. Electrical actuators (DC)

DC motors are widely found, our best options was to use directly gear-motors in the articulations of the legs. We found that the dimensions that we were dealing with, reached the more powerful DC gear-motors of the different brands, finding ourselves with 20 cm motor plus the reduction system and six kilos of weight, as we needed three for each of the legs to control the three degrees of freedom we were reaching values of 18 kilos only in gear-motors.

67

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 43 Dc Actuator. REF. 45

7.2.3.3. Linear actuators

Linear actuators seemed to offer us the solution of weight and power needed and was the most feasible solution. In order to use the lightest of the linear actuators in the market a new configuration for the leg had to be thought. Designs like the ones shown below were studied, always keeping the number of legs to six and an angular configuration.

Figure 44 Different configurations for linear actuators.

68

WALKING MACHINE DESIGN CRITERIA

The idea is to use the linear actuator as part of the structure, achieving a very high grade of robustness in the design with less weight. Mechanical robustness and viability of the walking robot is a challenge with respect to wheel options, in this design configuration we are building a very effective and strong walking machine. The DC linear actuators of the legs were the solution selected because they can be used as structural elements due to their design and high forces that they can withstand, due to this configuration the mass of the robot is reduced

The linear actuators selected for the robot are from the company SKF, the model is the same for actuator 1 and 2, and the model is CARR 22x200x1. These actuators are based on a modular design concept that makes it easy to interchange critical components such as motors, gears, screws, attachments, etc. Custom-built actuators are easily and cost efficiently built from standard parts. The CAR range flexibility makes it suitable for an infinite number of applications. CARR 22 has been chosen due to the length of its stroke and fulfils all of the leg requirements.

Figure 45 SKF CARR 22 Actuator. REF. 46

69

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 46 shows the drawing of the CARR 22x200x21 actuator.

Figure 46 Actuator CARR 22x200x1 Drawing. REF. 46

70

WALKING MACHINE DESIGN CRITERIA

The main characteristics of the actuator are shown on Table 5

Table 5 CARR 22x200x1 Dimensions. REF. 46

The technical data corresponding to this type of actuators is shown on Table 6

Table 6 SKF CAR 22 Technical data. REF. 46

71

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

72

HEXAPOD DESIGN

8. HEXAPOD DESIGN

The final design concluded in a hexapod design with linear DC actuators except for one of the degrees of freedom, which is achieved with a regular DC gear- motor. The robot has a final design configuration like the one shown in Figure 47. The main function of the robot hexapod box is to carry the payload. It has to be large enough to fit the entire payload, and robust to withstand the forces and moments due to the walking motion and possible collisions with objects. The hexagonal design is selected to allow more space between the legs when they perform the rowing motion.

1.6 m

1m

0.6 0.6m m

Figure 47 Box dimension of the Design.

The box dimensions allows the accommodation of 40 Kg of payload. The structure has a large top surface were it could be all used as solar panel, or to fit the batteries or the RTG described on previous chapters.

73

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

8.1. Walking Robot Mechanical Design

The robot is designed as a main body structure and six legs. A description of the mechanical parts of the robot is performed in this chapter.

8.1.1. Main body Structure

The body of the robot consists on a hexagonal base surface and top surface, they are formed by aluminium square frames of 2 mm of wall thickness and both surfaces are joined together by vertical square frames. 1 mm thickness aluminium plates cover each of the faces of the body.

Figure 48 Main body structure

74

HEXAPOD DESIGN

Figure 49 Main body aluminium panel assembly

Each of the aluminium panels is stiffened by the use of two aluminium T shaped beams; these stiffeners are bolted to the main beam structure.

Figure 50 Main body structure

75

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

8.1.2. Leg Structure

As it was mentioned before six legs compose the robot structure. Each of the legs has an identical design. The leg is formed by three aluminium tubes with a diameter of 40 mm and a wall thickness of 2 mm. The Figure 51 shows the leg design.

Actuator 1

Section 3

Section 2

Actuator 2

Section 1

Figure 51 Leg structure

As shown in Figure 51 the leg is joined to the structure at section 3 (in yellow), the section is joined to the structure at the base and at the top by two interface pieces and two auto lubricated copper bushings. On the upper part of this section it is attached the motor, which is going to be used to rotate section 3.

76

HEXAPOD DESIGN

3

1 2

Figure 52 Detail of the bottom section 3 attachment.

Figure 52 shows the detail of the bottom attachment of section 3 to the structure. On point 1 it is shown the bottom interface piece, this piece supports the section 3 to the structure, there is one copper bushing to allow the rotation of section 3. The point 2 is the attachment of the actuator number 2 there is also a bushing to allow rotation. Point 3 shows the point of attachment of the section 2 of the leg to the structure, on this point there is also a bushing.

77

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 53 Detail of the section 3 motor attachment.

As mentioned before on the upper part of section 3 is attached one motor that will perform the ±20º rotation of the leg.

1

2

Figure 54 Detail of the section 3 top attachment

The Figure 54 shows the attachment at the top of the structure of the section 3, shown on point 1, and the attachment of actuator 1 to section 3, shown on point 2.

78

HEXAPOD DESIGN

Figure 55 Detail of the section 1 top attachment

Figure 55 shows the attachment of the section 1 of the leg (grey) to section 2 () and the actuator 1 (red). Section 1 and actuator 1 attach to the interface piece on section 2, both attachments mount bushings to allow the rotation of the pieces.

Figure 56 Detail of the section 1 to actuator 2 attachment.

Figure 56 shows the attachment of the actuator 2 to the section 1of the robot leg.

79

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

8.2. Leg Design and Configuration

Each of the legs has three independent degrees of freedom; the linear actuators controls two degrees of freedom but due to this configuration a DC gearmotor has been chosen to control the third degree of freedom. Below is a detailed sketch of the leg and the position of all the actuators involved.

DC LINEAR ACTUATOR: Gives the total leg a range γ of the angle alpha from – 5ºà30º.

0.5 m DC LINEAR ACTUATOR: 0.5 m Moves the lower part of the β α hexapod leg a range of the angle beta that varies from 85ºà120º.

0.7 m

DC MOTOR: Ables the hexapod to achieve the rowing motion. A gamma angle from –20ºà20º

Figure 57 Attachment and function of the actuators

The leg ends in a spherical shape nylon part. It can be assumed that due to being spherical we are going to have one vertical reaction force. Now that the final design is chosen we need to validate that the linear actuators and DC motor are correctly sized for the scientific payload that we want to carry and the weight of the structure of the robot.

80

SIMULATION OF A WALKING ROBOT

9. SIMULATION OF A WALKING ROBOT

The hexapod robot is analysed in this chapter by three different methods: Kinematic Analysis, Finite element Analysis and Dynamic Analysis. First a brief introduction of the theory of simulation is included.

9.1. Introduction to simulation

Simulation is the process to design a real system model and perform experiments with it, with the idea to understand its behaviour or evaluate new strategies, with certain limits or a list of them for the performance of the system. These experiments consist of certain types of mathematical and logical relations in order to evaluate the behaviour at long periods of time. Simulations are found in all sciences, biology and chemistry for example, allowing them to study the behaviour of the growth of populations, adapting to economy and social sciences to predict models to obtain optimal solutions.

There are different mathematical models:

Empirical: They use formulas, linear or not with one or more independent variables in order to perform the simulation

Conceptual: They reproduce with formulas and mathematical algorithms the physical process in nature

Stochastic: They use relations or statistical correlations within the independent and dependent variables. The optimization models are the one used to solve problems that are indeterminate; they present more than one solution possible. In general, the mathematical models of statistical systems that do not vary with time consist of algebraic equations, while the mathematical

81

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS representation of dynamic systems and physic laws are integrated by differential equations.

Analogic: Are based in the analogies that can be observed by the point of view of physical systems that are ruled by identical mathematical formulations.

In occasions the phenomena that is needed to study is so complex, that is not enough to study them from the mathematical point of view, there is experimental techniques needed, to obtain practical solutions: the physical model. Experimental models applied to physical models of reduced scale or of analogic type. Prototypes constructed give optimal results in terms of functionality, stability and economy taking into account all the variables that intervene in the problem.

The application of any of these models has its limitation, depending in the complexity of the model. Due to the fast development of computers, the mathematical simulation has grown over the physical and analogical simulation thanks to the efficiency of simulate complex systems in reduced time at low cost.

The design of a model and its simulation has different stages, being the first the definition of the system; it consists of studying the objectives of the problem, its modelization objectives and defines the system to modelate. Once the objectives are defined, the model its built. In the formulation of the model it is necessary to define all the variables that form part of them, its logical relations and flux diagrams that describes the complete model. Also for the adequate representation of the logic relationships and flow charts to fully describe the model. Besides, for the proper representation of the considered problem, it is important to define clear and exactly the inputs that the model is going to require to provide the desired results. With the defined model, the next step is to decide the programme language or software package to run in the computer to provide the expected results. Once the corresponding results are obtained, the verification process is executed. This task consists in verifying that the simulated model is compliant with the

82

SIMULATION OF A WALKING ROBOT stated design requirements. That is to evaluate that the model behaves according to its design. Expert’s opinion on the results of the simulation. The accuracy in the prediction of historical data. The accuracy in future predictions. The check of simulation model failure with data that drives the real model to fail. The acceptance and confidence in the model by the person who is going to use the results of the simulated experiment.

The experimentation with the model is performed once this has been validated. It implies the generation of the desired data and to perform a sensitivity analysis of the required indexes with the aim of it interpretation. In this stage of the study, the results of the simulation are evaluated and on this basis a decision is taken. The computer simulation is the reproduction in the computer of the actual behaviour of a system or process to be studied. It takes advantage of the computing capabilities of the actual computers able to solve mathematical systems at a affordable cost. Computer simulation is today one of the most polyfacetic field that a scientist or engineer can find in the professional world. It may also be one of the most relevant for a company independently of the sector involved. It is a fundamental tool to maintain and increase competitivity and profits of the production systems. The ratio cost/efficiency and the improvement in the graphics display, provides a big impulse to the computer simulation companies and then to the simulation itself. Low cost and user-friendly simulation software packages are available today, unthinkable a few decades ago. Computer simulation has increased his value in other related industries.

Computer simulation may be classified according to several criteria:

Stochastic or deterministic. In the stochastic simulation random numbers generators are used to simulate all possible events.

83

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Dynamic or static. Static models use equations defining relation among elements of the modelated system and they try to find a balanced status. This kind of system is frequently used in physical systems before performing dynamic simulation. In dynamic simulation the model is changing in response to the input variables.

Continuous or discrete. In discrete simulation, is taken into account the time assigned to each event, keeping a queue of events to be simulated, sorted by his simulation time. The simulation reads the events queue and execute s the corresponding ones. In this type of simulation is not relevant the simulation in real time. In a continuous simulation a set of algebraic differential equations are solved. The simulation periodically solves the equations and uses the results to update the system status. These types of simulations were implemented in analog computers solving the differential equations by means of electronics components.

Local or distributed. This criteria refers to a simulation with a single computer or trough several interconnected computers. To be confident with the computer simulation is necessary the validation of the simulation model. Verification and validation are fundamental aspects to keep in mind during the program development. Another aspect very important is to obtain the same results each time the simulation is executed. Although this may seem obvious, it is not in stochastic simulations where the random numbers will not be such, but semi-random. Obviously where a person is part of the simulation, results will not be the same. The rest of this chapter deals with the ground reactions of the hexapod robot designed and all the forces and movement acting.

9.2. Ground Reactions of the Walking Robot

The first step is to find out what is the reactions (R) in each of the individual legs taking into consideration all of the weights of the structure and actuators and all

84

SIMULATION OF A WALKING ROBOT

of the possible leg configurations. The procedure is to find the moments and forces about a point in the hexapod leaving a system of three equations and three unknowns, these equations are solved using Matlab®. The reactions are found in the worst case assuming that the hexapod is standing in three legs, which are performing the rowing motion. The other three legs do not have a ground load reaction but contribute with their weight and displacement configuration to the value of the reactions of the other three legs withstanding the ground load. Figure 58 explains graphically the loads involved. Weight loads are shown only at leg 6. Each leg is suffering the same weights as leg 6, this is taken into consideration in the calculations.

yd

R2 M 0

R4 ma1 mL16 ma2 mL2 6 xd R6 mL16= weight of upper leg M=Total mass mL26= weight of lower leg y/x d= y/x distance from vertical force to point 0 ma16= weight of alpha actuator in leg 6 ma2 6= weight of beta actuator in leg 6

Figure 58 Ground Reactions

The resulting equations are reduced to three due to the addition of forces and moments at point 0. Due to the direction of the vertical forces acting, z distances do not appear in the equations. This three resulting equations are a

85

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS function of the next shown variables which are calculated under a loop so all possible configurations are taken into consideration. Legs 1, 3 and 5 are kept at fixed positions so the program has enough memory to iterate the different configurations of the three legs which have ground reactions.

for alpha2 = -5:30º for alpha4 = -5:30º for alpha6 = -5:30º

for beta2 = 85:120º for beta4 = 85:120º for beta6 = 85:120º

As the three legs are rowing at the same time it can be assumed that

gamma2=gamma4 =gamma6= -20:20º

The resulting equations can be summarized to the following system of equations:

⎡ 1 1 1 ⎤ ⎡R2⎤ ⎡− WT⎤ ⎢y2 y4 y6⎥ ⎢R4⎥ ⎢ Mx ⎥ ⎢ ⎥ ⋅ ⎢ ⎥ = ⎢ ⎥ ⎣⎢x2 x4 x6⎦⎥ ⎣⎢R6⎦⎥ ⎣⎢ My ⎦⎥

Equation 5

Where:

WT = Addition of all weights, box + legs +actuators (Fz equation)

Mx = All the independent terms in the moment i equation for all of the legs acting : All vertical weight forces times their y distance to point0.

My = All the independent term in the moment j equation for all of the legs acting : All vertical weight forces times their x distance to point0.

xn = xdistance from the reaction force R2 to point 0 .

yn = ydistance from the load reaction R2 to point 0.

86

SIMULATION OF A WALKING ROBOT

9.3. Leg force analysis by Kinematics

Due to the number of unknowns the analysis of each of the robot legs has to be broken into separate sections in order to be able to calculate these unknowns, this is known as the method of sections, which is widely used in structural analysis. The calculations will be performed for leg 2, which as its illustrated in Figure 59 withstands the greatest ground reactions, varying alpha2, beta2 and gamma2. The following figure will illustrate the first cut section that will be calculated.

Figure 59 First section analysis

87

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

In Figure 59, we have reduced the number of equations and unknowns to three unknowns and three equations, with these we can begin to calculate the first reaction forces. The three equations involved are the summation of forces in x and z directions and taking moments about point 0, which is located where Rx and Rz are acting. As this is a hinge we have only two forces acting in these directions. The forces acting in the first section analysis are:

∑ Fz ⇒ Rz + R2 − mgL2 + F2 ⋅ cos⋅ (angF 2) − mga ∑ Fx ⇒ Rx + F2 ⋅sin⋅ (angF 2) ∑M ⇒ M 0 + R2 ⋅ xR2dis tance − mgL2 ⋅ xmgL2dis tance − F2 ⋅ cos⋅ (angF 2) ⋅ xF 2dis tance + F2 ⋅sin(angF 2) ⋅ zF2dis tance

⎡1 0 sin⋅ (angF 2) ⎤ ⎡Rx ⎤ ⎡ 0 ⎤ ⎢0 1 cos(angF 2) ⎥ ⎢ Rz ⎥ ⎢ mgL2 R2 mga ⎥ ⎢ ⎥ ⋅ ⎢ ⎥ = ⎢ − + ⎥ ⎣⎢0 0 sin(angF 2) − cos(angF 2)⎦⎥ ⎣⎢F2⎦⎥ ⎣⎢mgL2 ⋅ xmgL2dis tance − R2 ⋅ xR2dis tance − M 0⎦⎥

Equation 6

This will be the first matrix for the first section cut involving RX, RZ, and F2 unknowns We can continue with the second section cut, with the value of the reactions in the hinge we start solving for the next unknowns shown which can also be reduced to three equations and three unknowns that can easily be solved.

88

SIMULATION OF A WALKING ROBOT

Rz F1 M1

angF1 Lh1 mga R1z Rx M2

R1x mgL1

Lh 0 F2 angF2 M1= moment produced by weight

mga of actuator1 mga M2= moment produced by weight mga of actuator1

F1= Force that actuator1 withstands. F2= Force that actuator2 withstands calculated in first section cut

Lh=Distance between attachments Figure 60 Second section analysis

89

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

∑Fz⇒ R1z − mgL1 + F1⋅ sin ⋅ (angF1) − F2 ⋅ cos⋅ (angF2) ∑Fx ⇒ Rx + Rx1 + F1⋅ cos⋅ (angF1) − F2 ⋅ sin ⋅ (angF2) ∑M ⇒ − mgL2 ⋅ L1/ 2 ⋅ cos⋅ (α) + F1⋅ cos⋅ (angF2) ⋅ L1⋅ sin ⋅ (α) − F1⋅ sin ⋅ (angF1) ⋅ L1⋅ cos⋅ (α) + Rz ⋅ L1⋅ cos⋅ (α) + Rx ⋅ L1⋅ sin ⋅ (α) + F2 ⋅ sin ⋅ (angF2) ⋅ LH

⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎡1 0 cos⋅ (angF1) ⎤ ⎡Rx⎤ ⎢ − Rx + F2 ⋅ sin ⋅ (angF2) ⎥ ⎢ ⎥ ⎢0 1 sin (angF1) ⎥ ⎢Rz⎥ mgL1 Rz F2 cos (angF2) ⎢ ⋅ ⎥ ⋅ ⎢ ⎥ = ⎢ − + ⋅ ⋅ ⎥ ⎢0 0 cos⋅ (angF2) ⋅ L1⋅ sin ⋅ (α) − F1⋅ sin ⋅ (angF1) ⋅ L1⋅ cos⋅ (α)⎥ ⎢ F1⎥ ⎢ mgL2 ⋅ L1/ 2 ⋅ cos⋅ (α)... ⎥ ⎣ ⎦ ⎣ ⎦ ⎢ ⎥ ⎢ − Rz ⋅ L1⋅ cos⋅ (α).... ⎥ ⎢ − Rx ⋅ L1⋅ sin ⋅ (α)... ⎥ ⎢ ⎥ ⎣⎢ + F2 ⋅ sin ⋅ (angF2) ⎦⎥

Equation 7

This gives the second matrix for the second section cutof the leg involving the

unknows RX, RZ, and F1, once we solve this we can find R1Z and R1X.

90

SIMULATION OF A WALKING ROBOT

The third section cut is shown in Figure 61,

Rx2 Rz2

Xdist Zdist F1

AngF1

Rz1

Rx1

Zdist1 Rx3

Rz3

Xdist1 Figure 61 Third section analysis

As the vertical bar is attached to bearings we can assume that is simply supported for this reason it withstands the forces shown, due to the resultant number of unknowns and equations it has to be reduced to the following easily solved cases. Each of the acting forces can be reduced to a force and a moment acting at the ends of the vertical bar. The moment force appears because the attachments are displaced in the xdirection.

91

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

We can sinplify the solution by adding the following two cases:

P1 M1 P1 P2 Rc1 + Rc2

Ra1 Rb1 Ra2 Rb2

Figure 62 Reduction to known cases

This is a known case for a cantilever beam which we can solve.

0 P2 M2 Ra= P2 / L*(L-a) a Rb=P2 * a/L Rc P1 Rc=-P1

Reactions due to M Ra2= M / L Ra Rb Rb2= -Ra2 L

P2 is our F1 force, which we have solved before:

For P2= F1*sin(A) @ a=0:

Ra1= F1*sin(A) Equation 8

Rb1= 0 Equation 9

Ra2= (- F1*cos(A)*xdist)/ L3

92

SIMULATION OF A WALKING ROBOT

Equation 10

Rb2= -Ra2 Equation 11

For P1= F1*cos(A): Rc1= -F1*cos(A)

Equation 12

For P2=Rx1 @ a=l: Ra2=0

Equation 13

Rb2=Rx1

Equation 14

Ra3=(- Rx1*xdist1)/ L3

Equation 15

Rb3=-Ra2

Equation 16

For P1=Rz1

Rc2= -Rz1

Equation 17

By adding the following forces we can find the reaction forces in the vertical bar: Rz2= Rc1+Rc2

Equation 18

Rz3= Rc1+Rc2

Equation 19

Rx1= Ra1+Ra2+Ra3

93

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Equation 20

Rx2= Rb1+Rb2+Rb3

Equation 21

Now we have all the unknowns solved and we can calculate in Matlab® the resulting reactions and forces that the robot has to withstand, this will help in the material selection and the width of the legs.

9.3.1. Section1 Results

In this section it will be shown the results obtained in Matlab® for the equations presented before, this is the force that the lower part of the leg, section 1 withstands.

94

SIMULATION OF A WALKING ROBOT

Figure 63 Section 1 Forces Results

As F2 elongates the reaction in the hinge RX and RZ increases. The maximum force in the linear actuator chosen for a 200 mm stroke is 1500 N, we should have that in consideration.

Figure 64 Section 1 Ground Reactions

As we vary the alpha and beta anlges we can see how the ground reaction increases. The min and max configuration were the leg is close to the robot and far away configurations give the maximum reaction forces. I use this values to find the minimum and maximum combination of alpha, beta and gamma angle that the robot can achieve.

95

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

A reaction force higher than 500 N and depending on this limit configurations give a high F2 values, as we have mentioned before the force in F1 and F2 which are the actuators selected can not reach more than 1500 N

96

SIMULATION OF A WALKING ROBOT

9.3.2. Section 2 Results

This is section 2 analysis, as I recall we must vary our angles but care should be taken in not reaching more than 1500 N in our motors, which is their maximum operating force limit.

Rz F1 M1

angF1 Lh1 mga

R1z Rx M2

R1x mgL1

Lh 0 F2 angF2 M1= moment produced by weight mga of actuator1 mga M2 = moment produced by weight mga of actuator1 F1 = Force that actuator1 withstands. F2= Force that actuator2 withstands calculated in first section cut Lh=Distance between attachments

Figure 65 Section 2 Forces Results

97

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

The angles for alpha, beta and gamma chosen seem to be within the desired values, analysing the forces and reactions obtained. Also the hinge in R1Z and R1X has a 5000 N bearing.

98

SIMULATION OF A WALKING ROBOT

9.3.3. Section 3 Results

What should be taken into account for the analysis of this section cut is the selection of the bearing at both sides. This is an important part of the design as it has to withstand the maximum loads due to all the configurations that the robot is going to achieve. Two bronze bushings were selected of 5000 N in X and Z direction. This limit has to be also kept in mind as we vary our angles for different leg configuration.

Rx2 Rz2

Xdist Zdist F1

AngF1

Rz1

Rx1

Zdist1

Rx3 Rz3

Xdist1

99

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 66 Section 3 Bearing Reactions

From the results obtained it can be seen that we never encounter the maximum of 5000 N in the bushings.

9.4. Leg Analysis by Nastran®

A validation of the structure was performed using Finite Elements Method; the program used in this case was NASTRAN® as solver and Patran® as Pre and Post processor.

Using the results obtained from the Kinematics analysis, the structure of the robot was analysed based on the forces and reactions obtained. The structure was forced to withstand the reactions obtained for each leg.

100

SIMULATION OF A WALKING ROBOT

Figure 67 Robot Finite Element Model.

For the analysis it was selected one of the worst leg configurations, in terms of reactions, the configuration was the robot standing in three legs with the maximum gamma angle for the three of them.

The model was performed using bar elements for the structure and the legs and plate elements were used for the structure panels.

64 Nodes and 96 elements form the model. There are 58 bar elements used on the robot structure and legs, 32 Quad4 elements used for the structure panels and 6 MPC to simulate the actuators.

101

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 68 Robot Bar and MPC elements.

The material used for the elements is aluminum

Figure 69 FEM material data.

102

SIMULATION OF A WALKING ROBOT

The Figure 70 shows the results obtained for the static analysis.

Figure 70 Finite Element Validation

From the results obtained it was confirmed that for the maximum reaction on the three legs supporting the weight, that the selected materials and dimensions are withstanding their stresses and strains within their safety limits.

For the worst three legged configuration with a maximum rowing angle in each leg we can see how the maximum reaction force is 418N. This complies with the results found in 9.2

103

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

9.5. Leg force analysis by Dynamics

The set of calcultations and results which will be presented in this chapter is to verify our hexapod design behaviour by dynamic analysis.

The configuration which have three independent DC motor actuators in each leg, with a walking motion that can be performed as follows: the robot can stand in three legs in a triangular configuration meanwhile the other three legs are in the air. To obtain the normal translation movement, the three legs on the floor can perform a rowing motion forward and when they reached the maximum motion, the legs in the air can come down and the same procedure will follow. With these movements we can avoid having the 18 actuators acting at the same time.

As we can see in Figure 71, each of the legs has three independent degrees of freedom, being controlled two of them by the linear actuators controls and the other by a DC gear motor.

Figure 71 Composition of the prototype design.

Below is a detailed sketch of the leg and the minimum and maximum positions of all the actuators involved. The maximum angles and positions that it can move on will depend on collisions, large force or moments acting and unstable positions. We have studied this conflicts in our previous kinematic analysis

104

SIMULATION OF A WALKING ROBOT evaluating the maximum angles that the legs can have due to the resulting maximum forces which limits the sizing of the actuators.

Figure 72 Movement of three actuators per leg.

9.5.1. Mathematical Modelling of One leg

If we look at Figure 73 we have summarized the moving elements in one of the legs. All legs are independent but they all perform the same motions and have the same degrees of freedom if we obtain the equations for one leg, we will have the kinematic and dynamic equations of the rest.

105

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 73 Moving elements of the hexapod leg.

When faced with a complex 3D problem as the one we are analyzing you need to first simplify the problem by determining the degrees of freedom and restrictions that you have. An important point is to always take the same positive and negative criteria for the moments and translations. In this chapter we will not introduce the rowing motion of the leg, it will be based in two degrees of freedom; the third movement will be dealt in a future chapter.

Considering as restrictions the reference position the system X0,Y0, we can begin the setting of equations.

To obtain the different kinematic equations, we need to consider initially the existence of three points (A, B and C) in which exist the unique possibility of rotational movement between the extreme parts. In these points will be necessary to take information from both parts to configure the final equation:

In this way, in point A, the position of the point will be the same belonging to two different bars 1 and 0:

106

SIMULATION OF A WALKING ROBOT

! A ! A r1 = r0

Equation 22

Writing the necessary information in matrix form and choosing a system of reference parallel to the external system of reference, but moving it with the center of gravity of each bar, we can mark that:

⎡ L ⎤ ⎡x1 ⎤ ⎡ sinφ1 cosφ1 ⎤ − 1 ⎡0⎤ + ⎢ 2 ⎥ = ⎢y ⎥ ⎢ cos sin ⎥ ⎢h⎥ ⎣ 1 ⎦ ⎣− φ1 φ1 ⎦⎣⎢ 0 ⎦⎥ ⎣ ⎦

Equation 23

Finally, obtaining the equations from the above system, we would have the equations that define the behavior law of the point A:

L x 1 sin 0 1 − 2 ⋅ φ1 = Equation 24

L y 1 cos h 0 1 + 2 ⋅ φ1 − = Equation 25

Applying the same concept to the others, we would have the behavior law of points B and C:

L x 3 sin 0 3 − 2 ⋅ φ3 = Equation 26

L y 3 cos 0 3 + 2 ⋅ φ3 = Equation 27

L x 4 sin 0 4 − 2 ⋅ φ4 = Equation 28

107

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

L y 4 cos 0 4 + 2 ⋅ φ4 = Equation 29

L L x 2 sin x 3 sin 0 2 + 2 ⋅ φ2 − 3 − 2 ⋅ φ3 = Equation 30

L L y 2 cos y 3 cos 0 2 − 2 ⋅ φ2 − 3 + 2 ⋅ φ3 =

Equation 31

L L x 2 sin x 6 sin 0 2 + 2 ⋅ φ2 − 6 + 2 ⋅ φ6 = Equation 32

L L y 2 cos y 6 cos 0 2 − 2 ⋅ φ2 − 6 − 2 ⋅ φ6 = Equation 33

In previous equations, it has been taken into account that in point B, point which goes linked to main body of the hexapod robot and reference system of the leg, converge bars 3 and 4, while bars 2, 3 and 5 converge in point C.

The DC actuators, they let only a relative X movement between both extremes, being the same angle over bodies 1 and 2:

φ1 −φ2 = 0 Equation 34

In addition to the DC actuator, the necessity of being co-axial both bars, it´s necessary to satisfy that a virtual vector from one to the other must be in the same direction that their directions (φ1=φ2), which corresponds with a vector product equal to zero. If we write in matrix form the previous equation as a difference of the positions linked to the extremes:

108

SIMULATION OF A WALKING ROBOT

⎡x2 − x1 ⎤ ⎡cosφ1⎤ ⎢ ⎥× ⎢ ⎥ = 0 ⎣y2 − y1⎦ ⎣sinφ1 ⎦ Equation 35

Doing it, the necessary equation to define the relative movement between bodies 1 and 2 is the next:

(x2 − x1)⋅sinϕ1 −(y2 − y1)⋅ cosϕ1 = 0

Equation 36

In a similar way, for the actuator which actuates over bodies 4 and 5, the defining equation would be:

φ4 −φ5 = 0

Equation 37

(x5 − x4 )⋅sinφ4 − (y5 − y4 )⋅cosφ4 = 0

Equation 38

Finally, point D goes over body 6, which means that a virtual vector between the reference system of body 6 and point D5 must be parallel to the vector associated with the direction of body 6.

L ⎡⎛ x 5 sin ⎞ x ⎤ ⎜ 5 + ⋅ φ5 ⎟ − 6 cos ⎢⎝ 2 ⎠ ⎥ ⎡ φ6 ⎤ ⎢ ⎥ × ⎢ ⎥ = 0 ⎛ L5 ⎞ sinφ6 ⎢⎜ y5 − ⋅cosφ5 ⎟ − y6 ⎥ ⎣ ⎦ ⎣⎝ 2 ⎠ ⎦ Equation 39

Doing it, we would have the equation that define the behavior law of the point D:

⎛⎛ L5 ⎞ ⎞ ⎛⎛ L5 ⎞ ⎞ ⎜⎜ x5 + ⋅sinφ5 ⎟ − x6 ⎟⋅sinφ6 − ⎜⎜ y5 − ⋅cosφ5 ⎟ − y6 ⎟⋅cosφ6 = 0 [15] ⎝⎝ 2 ⎠ ⎠ ⎝⎝ 2 ⎠ ⎠

Equation 40

Once the fifteen kinematic equations have been found it is necessary to write the dynamic equations by deriving it from the Jacobean matrix.

109

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

∂ ∂ ∂ ∂ ∂ ... ∂x1 ∂y1 ∂φ1 ∂x2 ∂φn L 1 0 1 cos 0 ... 0 ϕ1 − 2 φ1 L [J m×n ]= 0 1 1 sin 0 ... 0 ϕ2 − 2 φ ϕ3 0 0 0 0 ... 0 ......

ϕm ......

Equation 41

Finally considering the reactions in each point in which we are considering each equation, and external forces as gravity, momentums due to the ground reaction, actuator forces, etc…, we could write in matrix form the dynamic equations to do the necessary simulations.

m x R F ⎡ 1 ⎤ ⎡!!1 ⎤ ⎡ AX ⎤ ⎡ 1 X ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ m1 !y!1 RA F1 ⎢ ⎥ ⎢ ⎥ ⎢ Y ⎥ ⎢ Y ⎥ !! T ⎢R ⎥ ⎢ J1 ⎥ ⋅ ⎢φ1 ⎥ + [J m×n ] ⋅ B X = ⎢M1 ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ... ⎢ ⎥ ⎢ ... ⎥ ⎢...⎥ ⎢ ⎥ ⎢ ... ⎥ ⎢ J ⎥ ⎢φ!! ⎥ ⎢RD ⎥ ⎢M ⎥ ⎣ n ⎦ ⎣ n ⎦ ⎣ ⊥ ⎦ ⎣ n ⎦

Equation 42

In Matlab® this matrix was solved with the ODE23 function, due to the large matrices involved different functions were created.

110

SIMULATION OF A WALKING ROBOT

9.5.2. Results by Dynamic Analysis

There exist the need to verify that the system of equations here presented is working correctly. The easiest way is to check the resulting position of the coordinates shown in Figure 73 for one leg. In Table 7 are shown the solution of these equations for segments 1,2,3 and for a time interval of 0.1s, g=9.8 m/s2, mass 1,2,3,4,5,6=1kg .

t 0 0.05 0.1

x1 0.2165 0.2146 0.2147

y1 0.1250 0.1283 0.1280

Ǿ1 60 59.1340 59.1962

x2 0.1083 0.1148 0.1143

y2 0.0625 0.0686 0.0879

Ǿ2 60 59.1340 56.6641

x3 0.2165 0.2193 0.2272

y3 -0.1250 -0.1201 -0.1042

Ǿ3 60 61.3003 65.3680

Table 7 Verification of equations

This position and angles of our leg segments are needed to verify that our relations between equations were performed in the correct way. This can be checked by trigonometry relations with the table shown above or it is easy to check by representing this values in a plot. To show a more realistic robot, the real dimensions of the box that carries the instrument has been added and a second leg is shown. The actuators are represented as bars also to show their position. Both legs have been resolved with the same resolution scheme. The angular velocity is shown for the right leg x1 coordinate. This represents to the movement of both legs with only mass

111

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS and gravity acting for 0.1 seconds. No damping or external force was added to the actuators.

Figure 74 Movement due to mass and gravity

9.5.2.1. Dynamic Simulations adding Forces to the Actuators.

The equations described in this chapter lets easily input and simulate forces in the actuators, with this can be obtained the position,velocity and acceleration of the leg and actuator due to the introduced force . In Figure 75 a force of 50N is making the legs fall freely, The same type of graph as the one used for the verification of the equations is shown. The angular velocity in point 1 changes compared to the previous graph which was free fall due to mass and gravity.

112

SIMULATION OF A WALKING ROBOT

Figure 75 Movement due to 50N load in F1.

To check the equations, the instrument box has been drawn as a rigid element that does not move in space and only the legs were performing the real motion, that is not the reality, when one leg is lowered the box will follow , when working with the six legs of the real hexapod, these movements shall be studied carefully as can lead to high forces on the structure that can result in deformations or malfunction of one of the actuators. For a faster simulation time in Figure 76 the actuators have not been represented. A 50N force is been forced to the top actuator in the left leg. One of our conditions is that the box will have to remain parallel to the ground, we can study the behaviour of the system equations forcing the box movement.

113

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 76 Real movement of the instrument box

Now that the equations have been verified, we will start working with the equations of the six legs. This will be a high time consuming simulation as each leg will have its independent set of equations. When the six legs are combined together care has to be taken in were you take the common origin of coordinates for all the legs. This chapter deals with two degrees of freedom in each leg but care will have to be taken with the rowing motion in further work.

114

SIMULATION OF A WALKING ROBOT

Figure 77 Movement due to 50N load in F1 for six legs.

Once the system of equations is built , the ground reaction forces equations can be included by the dynamic method code. These are important values that will be both validated by Kinematic and dynamic models.

The reactions are found in the worst case assuming that the hexapod is standing in three legs. The other three legs do not have a ground load reaction but contribute with their weight and displacement configuration.

115

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 78 Maximum movement of the legs

The Figure 79 shows the ground reaction of Leg 6 for some of the worst configuration that the six legs will achieve.

Figure 79 X6 distance of Leg6 vs. Reaction

116

SIMULATION OF A WALKING ROBOT

Figure 80 Comparison of Reaction Results

Figure 79 shows how the reaction with the ground value on leg1 changes with the distance. To validate our methods these values obtained in Figure 79 can be compared to Figure 80 which are the values obtained in the kinematic model in chapter 9.3

117

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

9.6. Steps Followed for the leg design

The steps followed are clear through the chapter:

1.- Setting a system of equations for each leg: Care has to be taken in to have a unique origin of coordinates and the same sign reference throughout all of the different simulations 2.-Validation the results of one leg: geometrically and mathematically (Dynamic and Kinematic), these results can be verified by trigonometry rules, this equations involve very large matrices that can lead to common mistakes, care has been taken in this step to verify the performance of the equations 3.-Building the system of equations: Each leg has its own degrees of freedom and does not depend on the movement of its leg close by, that is not the case of the instrument box that is dependent of all the movements. In this chapter two leg system and the complete case was analysed. A third method by finite element analysis has also been included, that also validates the design configuration. 4.- Calculation of the reactions for the worst case configuration: The reactions are key to the design, they provide the information to dimension the actuators which will be the heart of the system. It will all give important information about how the structure will suffer and how robust it will have to be. 5.-Building the complete 3D model: These system of equations provides very important information about each point evaluated, obtaining position, velocity and acceleration of the center of gravity of the different parts that form each of the hexapod legs. The system of equations can be solved in a time domain frame to observe the evolution of the movement this will help to predict the movement the robot will have before actually sending the real command, the real forces can be simulated in the actuators which is an extra benefit that these equation provides compared to other methods.

118

CURIOSITY TRAJECTORY AND DALILY OPERATION ON MARS

10. CURIOSITY TRAJECTORY AND DALILY OPERATION ON MARS

In this chapter a detailed description of the trajectory and daily operation of the Curiosity rover will be presented. This will show the limitations and difficulties of daily operation on the Mars surface of a wheeled rover. Curiosity rover belongs to the MSL mission which has been operating on Mars for the past three years and which I form part as an MSL member with the on-board REMS instrument.

10.1. Curiosity Wheel Capability

Curiosity is equipped with six wheels in a bogie suspension, which also served as landing gear for the vehicle, unlike its smaller predecessors. The wheels are significantly larger (50 cm in diameter) than those used on previous rovers. Each wheel has cleats and is independently actuated and geared, providing for climbing in soft sand and scrambling over rocks. The four corner wheels can be independently steered, allowing the vehicle to turn in place as well as execute arching turns. Each wheel has a pattern that helps it maintain traction and leaves patterned tracks in the sandy surface of Mars. That pattern is used by on-board cameras to judge the distance travelled. The pattern itself is morse code for JPL" (•−−− •−−• •−••). Based on the center of mass, the vehicle can withstand a tilt of at least 50 degrees in any direction without overturning, but automatic sensors will limit the rover from exceeding 30-degree tilt.

The Mars Science Laboratory has six wheels, each with its own individual motor.

The two front and two rear wheels also have individual steering motors (1 each). This steering capability allows the vehicle to turn in place, a full 360 degrees. The 4-wheel steering also allows the rover to swerve and curve, making arching turns.

119

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 81 Curiosity Rover. REF. 47

The design of the suspension system for the wheels is based on heritage from the "rocker-bogie" system on the Pathfinder and Mars Exploration Rover missions. The suspension system is how the wheels are connected to and interact with the rover body.

The term "bogie" comes from old railroad systems. A bogie is a train undercarriage with six wheels that can swivel to curve along a track.

The term "rocker" comes from the design of the differential, which keeps the rover body balanced, enabling it to "rock" up or down depending on the various positions of the multiple wheels. Of most importance when creating a suspension system is how to prevent the rover from suddenly and dramatically changing positions while cruising over rocky terrain. If one side of the rover were to travel over a rock, the rover body would go out of balance without a "differential" or "rocker," which helps balance the angle the rover is in at any given time. When one side of the rover goes up, the differential or rocker in the rover suspension system automatically makes the other side go down to even out the weight load on the six wheels. This system causes the rover body to go

120

CURIOSITY TRAJECTORY AND DALILY OPERATION ON MARS through only half of the range of motion that the "legs" and wheels could potentially experience without a "rocker-bogie" suspension system.

The rover is designed to withstand a tilt of 45 degrees in any direction without overturning. However, the rover is programmed through its "fault protection limits" in its hazard avoidance software to avoid exceeding tilts of 30 degrees during its traverses.

The rover rocker-bogie design allows the rover to go over obstacles (such as rocks) or through holes that are more than a wheel diameter (50 cm or about 20 inches) in size. Each wheel also has cleats, providing grip for climbing in soft sand and scrambling over rocks. The rover has a top speed on flat hard ground of 4 cm per second

Figure 82 Curiosity Reading the Rover's Tracks. REF. 48

10.2. Eyes and other senses

The rover has seventeen "eyes." Six engineering cameras aid in rover navigation and four cameras perform science investigations.

121

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Each camera has an application-specific set of optics: Mounted on the lower portion of the front and rear of the rover, these black-and-white cameras use visible light to capture three-dimensional (3-D) imagery. This imagery safeguards against the rover getting lost or inadvertently crashing into unexpected obstacles, and works in tandem with software that allows the rover make its own safety choices and to "think on its own."

Each camera has a wide field of view of about 120 degrees. The rover uses pairs of Hazcam images to map out the shape of the terrain as far as 3 meters (10 feet) in front of it, in a "wedge" shape that is over 4 meters wide (13 feet) at the farthest distance. The cameras need to see far to either side because unlike human eyes, the Hazcam cameras cannot move independently; they are mounted directly to the rover body.

Mounted on the mast (the rover "neck and head"), these black-and-white cameras use visible light to gather panoramic, three-dimensional (3D) imagery. The navigation camera unit is a stereo pair of cameras, each with a 45-degree field of view that will support ground navigation planning by scientists and engineers. They work in cooperation with the hazard avoidance cameras by providing a complementary view of the terrain.

Figure 83 Curiosity landing site. REF. 49

Figure 84 Mount Sharp. REF. 49

122

CURIOSITY TRAJECTORY AND DALILY OPERATION ON MARS

Figure 85"Point Lake". REF. 49

10.3. Where to go

To decide which navigation method to use, NASA uses the Rover Sequencing and Visualization Program (RSVP), which is basically a Mars simulator. RSVP shows Curiosity’s current position on Mars, along with surface topology, obstacles (rocks), and so on. RSVP can then be used to plot a move (go forward 10 meters, turn 30 degrees right, go forward 3 meters) — or to pick an end point, which Curiosity will dutifully, autonomously navigate to. To safely navigate Mars, Curiosity uses its Hazcams (hazard avoidance cameras) to build a stereoscopic map of its environment, identifies which objects are too large to drive over, and then plots out a course to the end point.

When Curiosity finishes its drive, it transmits a bunch of thumbnail images from its on-board cameras to NASA, which are then used to work out Curiosity’s exact location on Mars. This data is fed into RSVP, the next day’s movements are plotted, and so on and on.

123

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 86 RSVP interface. REF. 50

Curiosity has a double on Earth, difficult tasks are also are reproduced on Earth before sending the commands to Mars.

Figure 87 Mars yard. REF. 50

124

CURIOSITY TRAJECTORY AND DALILY OPERATION ON MARS

RSVP Program is used for the final generation of command sequences for the mission and the planning and validation of all mobility and manipulation activities. It is a suite consisting of two main components: RSVP-ROSE (Rover Sequence Editor) and RSVP-Hyperdrive. ROSE provides mission operations engineers with an intuitive interface for editing sequences of commands and modelling them using the multi-mission tool SEQGEN. In addition to constructing sequences for surface operations, ROSE was used to build the sequences that guided the spacecraft during the cruise phase of the mission. Hyperdrive is an immersive 3D simulation of the rover and its environment that enables operators to construct detailed rover motions and verify their safety. RSVP also provides advanced tools for visualizing.

Figure 88 RSVP Tool Close up. REF. 51

125

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

10.4. Communications and Autonomous Navigation

Besides of the robust and reliable mechanical and electrical rover design, there are two crucial issues to be implemented for the success of the mission once on the Mars surface: The communication and the autonomous navigation subsystems.

10.4.1. Mars- Earth Communications

The amount of data that has to be transmitted to Earth from the landers and robots on the mars surface, is a very important issue for the mission success. Communications are even more challenging for rovers moving on the surface. There are three scenarios:

1.- The rover links to the lander station and the lander to Earth.

2.- The rover links with a relay satellite orbiting around Mars and the orbiter to Earth.

3.- The rover links directly with the Earth station.

The figure below shows the communications system used for Spirit, Opportunity and Curiosity rovers. As it is shown, there is no lander communication station and the rover links via Mars orbiters or directly to Earth Station, but in this last scenario, at low bit rates because the RF power and the antenna gain of the rover is too limited for the budged at a so large distance, between Mars and Earth. For the uplink Earth to Mars tele-command, the required bit rate is much lower. The main difficulty to overcome is the signal delay that makes impossible the tele-commanding of the rover in real time. Autonomous navigation strategies have to be implemented in order to guide the rover on the Mars surface.

126

CURIOSITY TRAJECTORY AND DALILY OPERATION ON MARS

Figure 89 Spirit, Opportunity and Curiosity communications system.

10.4.2. Mars Rovers Autonomous Navigation

Rovers on mars surface can’t be tele-operated from Earth in real time due to the signal delay of communications. (10-20 minutes for back and forth, uplink and downlink signals). Technologies for autonomous planetary mobility enable the rovers to make decisions and avoid hazards on their own. New path-planning software has helped the rovers avoid mission barriers. When rocks are unavoidable, the inherited suspension system allows for easier manoeuvrability.

127

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

The twin rovers, Spirit and Opportunity, were designed to traverse with a fair amount of ease over the rocky Martian terrain. Sojourner's "rocker-bogie" mobility system was modified for the Mars Exploration Rover Mission.

To account for the extreme difference in weight and center of gravity from Sojourner, the mobility system on the Mars Exploration Rovers is in the back of the vehicle. The wheels are, naturally, larger and have evolved in design. Each wheel is approximately 26 cm (about 10 inches) in diameter and has a unique spiral flecture pattern that connects the external part of the wheel with the spoke to absorb shock and prevent it from transferring to other parts of the rover. The rocker-bogie design allows the rover to go over obstacles (such as rocks) or through holes that are more than a wheel diameter in size. Each wheel also has cleats, providing grip for climbing in soft sand and scrambling over rocks.

Having more physical capability than 1997's Sojourner rover, Spirit and Opportunity also needed more autonomy. Engineers improved the auto- navigational driving software to give the golf cart-sized explorers more freedom.

When the rovers are navigating themselves, they get a command telling them where to end up, and then evaluate the terrain with stereo imaging to choose the best way to get there. They must avoid any obstacles they identify. This capability has enabled longer daily drives than would have been possible by simply depending on step-by-step navigation commands from Earth. As of mid- August, 2004, Opportunity has used auto-navigation to drive for 230 meters (about 755 feet, or one-third the distance between Eagle and craters), and Spirit for over 1250 meters (about 8 tenths of a mile), mostly during the nearly 3000-meter (nearly 2 miles) drive to the

The auto-navigation system takes pictures of the nearby terrain using one of the Mars Exploration Rover stereo camera pairs (body-mounted hazard-avoidance cameras on Spirit, mast-mounted navigation cameras on Opportunity). After stereo images are taken, 3-D terrain maps are generated automatically by the rover software.

128

CURIOSITY TRAJECTORY AND DALILY OPERATION ON MARS

Traversability and safety is then determined from the height and density of rocks or steps, excessive tilts and roughness of the terrain. Dozens of possible paths are considered before the rover chooses the shortest, safest path toward the programmed geographical goal. The rover then drives between 0.5 and 2 meters (1.6 and 6.6 feet) closer to its goal, depending on how many obstacles are nearby. The whole process repeats until it either reaches its goal, or is commanded to stop.

The Mars Exploration Rover autonomous driving software is more advanced than Sojourner's in several ways. Sojourner's on-board safety system also looked for obstacles, but could only measure 20 points at each step; Spirit and Opportunity typically measure more than 16,000 points from each pair of images. The average Mars Exploration Rover obstacle-avoidance driving speed of nearly 34 meters (about 112 feet) per hour is ten times faster than Sojourner's. During its entire three-month mission, Sojourner drove just a little more than 100 meters (328 feet) total. Spirit and Opportunity each broke that record in a single day; Spirit drove 124 meters (407 feet) during sol 125, and Opportunity 141 meters (about 463 feet) during sol 82.

Another improvement over Sojourner is the Mars Exploration Rover Visual Odometry software system. As the rovers drive over sandy and rocky terrains, they can slip by unpredictable amounts - even backwards when driving up very steep slopes. But the Visual Odometry system helps by giving the rover a much better notion of how far it has actually travelled. It works by comparing pictures taken before and after a short drive, automatically finding dozens of features in the terrain (for example: rocks, rover tracks and sand ), and tracking their motion between images. Combining that with the 3-D terrain shape is more than enough information to let the rover figure how it really moved, much more precisely than simply counting how much its wheels have turned

129

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 90 3-D Terrain maps generated by the rover software. REF. 52

130

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

11. TRAYECTORY PLANNING OF A HEXAPOD ROBOT

This walking robot proposed has been designed for planetary exploration. A Matlab® code based on the equations developed to validate the robot has been developed in this thesis to test its movement capabilities in different terrains and configurations By all that has been introduced in the previous chapters different terrains have been created to learn and verify the behaviour of the legged robot movement in real trajectories. To evaluate the behaviour of our robot I have made a simplified Matlab® model of the legged configuration. The legs and body dimensions are kept real but the actuators have not been modelled for simplicity and time saving of the code. Different trajectories and terrains will be created to evaluate its behaviour in different situations.

11.1. Movement in flat terrain

First of all a flat terrain is going to be modelled to evaluate the movement of our robot. This is the simplest case and the reactions and forces can be easily checked and verified.

11.1.1. Flat terrain mesh creation

This has been modelled in Matlab® with the creation of an arbitrary mesh function were you can choose its flatness and maximum dimensions. It is flexible enough to introduce obstacles in the desired areas and make the walking motion more restrictive. The function created is shown below and is flexible to change its initial parameters.

[x,y,z]=gensuelo (min,inc,max,alturamax,xMount,yMount,zMount)

131

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

min, max: dimensions of mesh inc: mesh size alturamax: obstacle maximum size X, Y, Z mount: position of the obstacle in the mesh

The easiest configuration for our robot to start analysing its walking motion is flat terrain. The standard walking cadence presented has been chosen to optimize the movement and is independent of the terrain.

The walking cadence consists on: raise in the air three legs that form a triangle, the other three are in contact with the ground and can perform the rowing motion, moving at the same time the three actuators, to move the robot forward. This movement can alternatively be done to create the walking motion.

Figure 91 Flat terrain creation in matlab ®with simplified robot geometry.

132

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

The robot starts in its initial position with 6 legs on the floor. All weight is equally distributed to the legs just taking into account the terrain. The program initializes the six legs to 10º in alpha angle, 100º in beta angle and 0º gamma angle, this is a known configuration, which is chosen as a starting position for its low forces and reactions in the legs. Once it reads the new terrain position it recalculates the new angles, as we are evaluating flat terrain we will return to this initial position. The distance of the box to the terrain is kept fixed and recorded by the code, and are the legs that extend till they touch the surface and adapt to the new configuration. In this way we can assure that the body of the robot does not tilt, which is one of the requirements that we have imposed.

The designed Matlab® program keeps track of the following parameters as an output:

Matriz_memoria=[center, alfa1, beta1, gamma1, alfa2, beta2, gamma2, alfa3, beta3 gamma3, alfa4, beta4, gamma4, alfa5, beta5, gamma5, alfa6, beta6, gamma6 ,leg1, leg2, leg3, leg4, leg5, leg6, number of leg, x, y, z ].

Center: x, y, z position of the center of the body with respect to the ground. Alfa 1:6 : α angle of each leg. Beta 1: 6 : β angle of each leg. Gamma 1:6 γ of each leg. Nº of Leg 1: 6 x, y, z : position of the end of the leg in the ground for each leg.

Figure 92 shows the angle nomenclatures that are referenced in this chapter.

133

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

F1

F2

Figure 92 Angle position per leg.

The function also calculates the forces and reactions in each of the legs. As we obtain the new position and angles of all of the legs we can calculate the kinematics equations described in 9.3 of this thesis. We can verify the forces and reactions in different terrains and trajectories and evaluating possible restrictions of the design.

For all the different configurations and terrain the code also keeps track of the forces and reactions of each leg as an output. We will record the following:

R1 F1 F2 R3Z R2Z α1 β1 γ1

Table 8 Forces and Reactions in flat terrain

134

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

The equations of chapter 8 have been included in my code and the program will keep track of the forces and reactions for each configuration and trajectories so we can see which terrain or configuration is restricted or limited to our robot. If the maximum forces and moments are exceed the program will stop, so it can be evaluated were there is a conflict configuration.

11.1.2. Movement of the robot in flat terrain

We want to move from Point A to point B as shown in the figure below, we will analyze the steps chosen in our program to reach our desired location.

B

A

Figure 93 Movement in flat terrain

We start with the robot standing in its six legs. This is the first step of our cadence, to have all six legs in the ground.

135

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 94 Flat terrain: robot standing in all its legs

The colour code that will be used and maintained for all the configurations shown in this chapter is:

Green=leg1 Red=leg2 Blue=leg 3 Cyan=leg 4 Magenta=leg 5 Black=leg 6

The second step of our cadence is to raise the first three legs in a triangular configuration and leave three in the floor in a stable position. This angle has been forced to α= 10º, β= 100º, γ= 0º for legs 1, 2 and 3. Legs 4, 5 and 6 are lifted an α degree of α = 30º, β= 100º, γ= 0º to place them in the raised configuration.

136

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

Figure 95 Step 1. Robot standing in three legs

Legs 1, 2, and 3 (green, red, blue) are in the ground. They form a triangular configuration, which gives stability to the robot. From our previous forces and reactions calculations, we have the angles constrained so that it can never adapt a triangular configuration that could affect the stability of the center of gravity or maximize three reaction loads. This will be verified in this chapter with the different terrain and configurations calculations. Then the third step of the cadence starts, we activate the gamma motors of the legs 1, 2, and 3, and the resulting is a forward displacement force that will depend on the gamma angle moved. Due to the length of our legs the maximum horizontal displacement is shown. That occurs when we place our legs in -20º and move to our maximum of 20º, a 27 cm displacement is achieved. This movement creates very high reaction forces in the hinges see Figure 66. Care should be taken in analysing the output of Rx and Rz due to the gamma rowing motion for each leg.

Rx and Rz will be also recorded as an output of the code.

137

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Leg 2

Figure 96 Moving leg 1, 2, and 3 gamma angles for forward motion

0.5 +-20º

Max=273.6 mm

0.5

+-20º

Max=273.6 mm

0.5

+-20º

Max=273.6 mm

Figure 97 Step 1. Max gamma displacement of the legs

138

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

The maximum horizontal distance that the legs can move forward is limited by the maximum gamma angle, this angle is limited not only to avoid collision between legs but to never exceed a non stable configuration that could make the robot fall.

Figure 98 Step 1. Six legs in the floor

The final step of our cadence is when the robot lowers the three legs that had in the air and goes back to its six legs configuration α= 10º, β= 100º, γ= 0º The cadence movement will continue and start again as we lift the other three legs 4, 5, and 6.

139

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 99 Step 2. Three legs in the air

We raise the other three legs and repeat the cadence till we reach point B or the desired location.

Figure 100 Step 2. Six legs in the floor, final configuration.

The program monitors each of the legs and saves all the data as it moves through the terrain. We will focus on the behaviour of leg 2 we can evaluate its forces and movement as it follows the trajectory from A to B.

140

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

As all legs will follow the same trajectory as it is a flat terrain. Only leg 2 has been analysed, as it is alone on that side of the structure and experiences the highest loads.

3 legs

6 legs

10° 100

°

Figure 101 Kinematic Forces and reactions from point A to B of leg 2.

The Figure 101 shows the forces and reactions extracted from the Matlab® code for leg 2. We can see in the forces and moments of the robot how it changes from being in a six leg configuration with all the weight in all legs to the walking motion cadence were the robot is left standing in three legs. Leg 2 changes from being in a comfortable situation to having to withstand the forces in the robot as the vertex of the triangle.

Figure 101 shows the different forces and reactions that the robot withstands for a three leg and six leg configuration.

141

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 102 Change from 6 leg configuration to 3 leg.

The difference in forces and reactions in the robot are here summarized:

R1(N) R2 R3 R4 R5 R6

145.97 146.82 145.37 145.46 145.94 145.42

248.13 387.8 244.06 0 0 0

F1 F2 F1 F2 F1 F2 F1 F2 F1 F2 F1 F2 Leg1 Leg 1 Leg 2 Leg 2 Leg 3 Leg 3 Leg 4 Leg 4 Leg 5 Leg 5 Leg 6 Leg 6

500 750 500 750 500 750 500 750 500 750 500 750

750 850 1000 1000 750 850 0 0 0 0 0 0

Table 9 Forces and reactions with three and six legs

The forces obtained show values below the maximum levels. This kind of terrain show a very confortable situation for our robot.

142

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

F1

Movement Direction F2

Figure 103 Movement of actuators.

Due to the configuration of the legs F2 is going to experience higher force values than the upper actuator (F1). We will see this happening in all of the analysed configurations.

11.2. Change of direction in Flat Terrain

Walking in a straight line is the first goal of our robot but a very easy manoeuvre that shall be analysed is a turn or change of direction. In this chapter is going to be described how do we approach a change of direction, a 20º turn will be performed and analysed.

First we start with our normal configuration of six legs in the ground withstanding all the weight.

143

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 104 Six Legs in the ground Configuration.

We lift our first three legs in triangular configuration to start the turning sequence, in this way we will save power and have only three motors operating. By means of a color code in the lower part of each leg we can easily see with a quick glance if we are exceeding the maximum reaction, this option has been included in the code so as the movement is modelled the value can be checked in real time before the output matrix is processed.

Figure 105 Turning Sequence, three legs lift. 144

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

I have included a color code to show in a quick manner the value of the reactions that they are withstanding:

Green: <200 Blue: 200-400 Red:>400

The value of the red leg indicates more load and forces that the leg can withstand and another configuration or trajectory shall be evaluated. The program stops if more than 500 N is achieved in one leg.

Figure 106 Turning Sequence, 20º gamma rotation.

145

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 107 Turning Sequence, resulting motion.

If we want to change the trajectory that the robot faces so we can initiate the movement parallel to the trajectory chosen, we will start with six legs on the ground, lift legs 4, 5 and 6 and initiate the rowing motion by turning the gamma rowing angle the same value in the three motors that are withstanding the forces. This will be a 20º turn in all three motors.

146

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

The reactions and forces in the three legs withstanding the motion are:

Figure 108 Forces and Reactions on leg 1 before and after the turn.

147

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 109 Forces and Reactions on leg 2 before and after the turn.

Figure 110 Forces and Reactions on leg 3 before and after the turn.

148

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

From the starting position that was show in point 2, we set 20º in the three motors that are withstanding the force, the resulting motion is shown on Figure 107.

11.3. Movement in irregular terrain

Flat terrains have been a good introduction to learn the behaviour of our robot. Real trajectories do not have ideal terrains. As mentioned in 7.2.2 the robot should be able to overcome 0.25 m obstacles, to evaluate this requirement an irregular terrain is going to be created, and the performance of our walking robot on it.

11.3.1. Irregular terrain mesh creation

One of the conditions is that the robot can overcome 0.25 m obstacles for that the Matlab® program has been added a random mesh that varies from zero to 0.25 m. Here the same exercise that was performed for the flat terrain will be analysed. The design will be evaluated again to be able to apply the regular walking cadence in such terrain without exceeding the maximum forces and reactions that could cause the robot to malfunction.

149

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Color code: Black= 0 White= 0.25

Figure 111 Robot in random generated mesh.

This has been modelled in Matlab® with the creation of an arbitrary mesh function shown in the chapter 11.1.

150

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

11.3.2. Movement of robot in irregular terrain

I will follow the same steps that were presented in the previous pages with the flat terrain. Our cadence starts with six legs in the terrain. The color code for the terrain has not been filled for time calculation purposes. The output figure of the code has been simplified to this layout.

Figure 112 Robot in its six legs to start the walking cadence

The center of the body box keeps a constant height as in the flat terrain. The legs adjust to the new mesh generated by the code, by lowering the leg till it touches the surface. The function interpolates the new distance of the leg to the center of the robot and gives back the new position of the end of the leg; this is stored and shown in our output sequence.

151

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 113 Leg adaptation to the surface generated by the code

The leg angles in the program have a maximum and minimum angles and will abort if that maximum is reached.

Alfa = -5º : 30º Beta= 85º: 120º Gamma= -20º: 20º

The maximum horizontal distance that the legs can move forward, gamma angle is limited also by the maximum angles that were calculated in chapter 8. Care should be taken in this kind of terrain to keep the body of the robot that carries the payload in a horizontal position and never exceed an unstable configuration that the robot could fall or exceed the maximum forces that it can withstand.

In the flat trajectory the hexapod legs repeat their trajectory which means same forces appear, that is why I focused in leg 2 which changed from being in a six leg configuration to a three leg configuration. All legs will be analysed now as they have to adapt to the new terrain. In this first step the six legs have different angular configurations per leg.

Alfa1: 10º to 17.3º beta1: 100º to 106º Alfa2: 10º to 8.6º beta2: 100º to 98.7º Alfa3: 10º to 19.2º beta3: 100º to 107.5º Alfa4: 10º to 18.9º beta3: 100º to 107.3º

152

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

Alfa5: 10º to 6º beta3: 100º to 96.3º Alfa6: 10º to 10º beta3: 100º to 100º

On the following figures are shown the forces acting on the six legs of the robot while withstanding on it´s six legs.

Figure 114 Leg 1, Forces and reaction irregular terrain

For the color code and number of leg see Figure 95. Leg position due to the new α = 17.3º configuration and β = 106º.

R1 F1 F2 R3Z R2Z α1 β1 γ1

141.8 766.5 1042.8 3863.7 3683.7 17.3 106 0

Table 10 Leg 1, Relevant forces and reactions.

153

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 115 Leg 2, Forces and reaction irregular terrain

Leg position due to the new α = 8.6º configuration and β = 98.7º.

R1 F1 F2 R3Z R2Z α1 β1 γ1

158.5 730.9 949 3645.2 3645.2 8.6 98.7 0

Table 11 Leg 2, Relevant forces and reactions.

154

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

Figure 116 Leg 3, Forces and reaction irregular terrain

Leg position due to the new α = 19.2º configuration and β = 107.5º.

R1 F1 F2 R3Z R2Z α1 β1 γ1

140.3 775.6 1064.2 3918.3 3918.3 19.2 107.5 0

Table 12 Leg 3, Relevant forces and reactions.

We see that as the total distance increases the reaction force becomes lower but the actuators length increases creating higher internal forces in them.

155

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 117 Leg 4, Forces and reaction irregular terrain

Leg position due to the new α = 18.9º configuration and β = 107.3º.

R1 F1 F2 R3Z R2Z α1 β1 γ1

159.2 768.8 1036.9 3871 3871 18.9 107.3 0

Table 13 Leg 4, Relevant forces and reactions.

156

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

Figure 118 Leg 5, Forces and reaction irregular terrain

Leg position due to the new α = 6º configuration and β = 96.3º.

R1 F1 F2 R3Z R2Z α1 β1 γ1

143.3 726.9 948.5 3625.5 3625.5 6 96.3 0

Table 14 Leg 5, Relevant forces and reactions.

157

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 119 Leg 6, Forces and reaction irregular terrain.

There is no change in leg 6 configuration.

R1 F1 F2 R3Z R2Z α1 β1 γ1

156.1 735.9 962.3 3675.5 3675.5 10 100 0

Table 15 Leg 6, Relevant forces and reactions.

158

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

Figure 120 shows the trajectory described by the robot on the irregular terrain mesh generated.

B

A

Figure 120 Robot trajectory on irregular terrain.

We recall the steps of the cadence for the trajectory from A to B:

1- Six leg configuration starting position. 2- Lift legs 4, 5 and 6, and 1, 2 and 3 remain withstanding the weight. 3- Rowing motion with 1, 2 and 3 on the ground. 4- Place in the ground 4, 5 and 6. 5- Lift 1, 2 and 3 and 4, 5 and 6 remain withstanding the weight.

The next figures shows the forces and reactions experimented by legs 1, 2 and 3 during the trajectory.

159

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 121 Leg1. Forces and reactions for the complete trajectory.

We will concentrate on leg 1, 2 and 3 as they complete all the cadence to point B. We can see all the force and moments in the legs throughtout the movements. Care has to be taken to never exceed the maximum values.

160

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

Figure 122 Leg2. Forces and reactions for the complete trajectory.

Leg 2 is one of the central legs of the robot, and has maximum values when it is in the 3 leg configuration.

161

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 123 Leg3. Forces and reactions for the complete trajectory.

The mesh generated is random so each leg adapt to the terrain in a different way. We know that the terrain is forced to never exceed 0.25 m, which is our maximum and seems that the load forces and reactions are staying within the safety limits.

162

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

11.4. Change of Direction in irregular terrain.

We generate the same mesh terrain and we evaluate how the robot performs its turning motion when we are facing a 0.2 m terrain arbitrary mesh.

Figure 124 0.2 m mesh generation.

We start with our six legs in the ground, we want to perform the same motion as in the flat terrain, see 11.2, for that we want to introduce a 20º turn. The turn should be carefully evaluated so the legs can adapt to the terrain without achieving its maximum configurations.

163

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 125 Forces and Reactions on leg 2 before turning.

164

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

Figure 126 Turning Sequence in irregular terrain.

We initialize the turn, if we focus on the motion of leg 3 we can see the following results and forces

After the turn, we can see how the robot is parallel to our desired trajectory, the robot finishes its turn with the six legs in the ground and ready for the next command.

Alpha1: 10º-26º beta1: 100º-110º gamma1: 15º Alpha2: 10º-15º beta2: 100º-115º gamma2: 15º Alpha3: 10º-18º beta3: 100º-118º gamma3: 15º

165

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 127 Turning Sequence in irregular terrain. Three legs in the ground.

After the turn is completed we can see how leg 1 has to adapt from a α = 10º to 26º, this will be a significant increase in the forces and the reactions.

Figure 128 Turning Sequence in irregular terrain. Six legs on the ground.

166

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

Figure 129 Turning Sequence in irregular terrain. Robot Top view.

167

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 130 Forces and Reactions on leg 2 after turning.

168

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

11.5. Obstacle avoidance in trajectories

To make the terrain more realistic an obstacle has been included in the middle of the grid to act as a pass / no pass zone and can act as a requirement for the trajectory. This could be a real scenario, the robot on board cameras have mapped the following terrain with an obstacle in the center. The interesting site for the scientist is located in the right top corner. To reach that point the trajectory shall be evaluated, we have two options:

1- Find the best trajectory around the obstacle to overcome it. 2- Go over the obstacle.

Figure 131 Obstacle Mesh

169

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

11.5.1. Obstacle mesh creation

With the created function, the obstacle can be added in different location of our grid and for any height.

[x,y,z]=gensuelo (min,inc,max,alturamax,xMount,yMount,zMount)

min, max: dimensions of mesh inc: mesh size alturamax: obstacle maximum size X, Y, Z mount: position of the obstacle in the mesh

11.5.2. Trajectory around the obstacle

If the obstacle is considered too big for the robot to overcome it, the safest trajectory around the obstacle shall be calculated. With this Matlab® code any trajectories can be found within the created limits and analysed to verify that the robot is always within is forces and reactions limits.

The robot will perform it´s movement like analysed on 11.2 but defining a trajectory around the obstacle.

This is how the rovers in Mars are pre-planned and operated. They will try different trajectories with the software; recreating the same conditions in the Mars test bed and finally send the commands to Mars. If the terrain is very secure the robot can rely on its auto-nav, which was explained in the trajectory chapter and is based on the information from its stereo cameras and satellite.

170

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

C

B

Turn A

Figure 132 Obstacle avoidance trajectory.

We can divide the trajectory in three steps: 1- From A to B. 2- Turn 3- From B to C.

This is the trajectory chosen as the safest, the forces never exceed the maximum specified by design, and the maximum loads will be summarized here:

F1, F2 : 1500 N R1z, R2z : 5000 N R1x, R2x: 5000 N Alfa: -5º:30º this limits the maximum and minimum elongation of the actuator. Beta: 85º:120º this limits the maximum and minimum elongation of the actuator. Gamma: -20º:20º

171

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

11.5.3. Trajectory over an obstacle

During the trajectory creation the operator could decide to go over the obstacle if the height permits the adaptation of the legs over the obstacle. This trajectory planification could save time and power consumption of the robot.

Figure 133 Robot trajectory over an obstacle

The peak of the robot has a maximum of 0.5 m, as it is over the maximum capable height the decision is to overcome it. The rest of the terrain has been modelled with a maximum height of 0.15 m. As shown in Figure 134 Leg1 in green has to overcome the obstacle, also it can be seen the trajectory ( in black) performed by the robot to reach that point.

172

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

Figure 134 Robot over obstacle.

If we evaluate the forces and reactions of leg1 we can evaluate if this trajectory is possible over the obstacle. It is interesting to see what are the maximum forces and reactions the robot has to withstand.

173

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 135 Leg 1. Forces and reactions during the planned trajectory

We can see in Figure 135 how alfa1 has to adapt to 46º, this makes the forces in the actuator to be over 1500 N which is its maximum by the manufactures and the reactions in the rowing motion exceeds the 5000N which is also the maximum value specified by the bushings chosen. This trajectory will not be possible. The obstacle has a maximum height in some areas of 0.5 meters this also exceeds the maximum requirement of never go over obstacles of more than 0.25m.

This parameter will be changed in the code and the forces verified to see if this new trajectory over a 0.25 m obstacle is possible.

174

TRAJECTORY PLANNING OF A HEXAPOD ROBOT

Figure 136 Trajectory over a 0.25 m obstacle

Figure 137 Leg1 trajectory over a 0.25 m obstacle 175

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

The maximum alpha angle that leg1 exceeds is 30º which is the maximum that the linear actuator which control this movement can achieve. The forces and reactions seem to be also below the maximum values. This option could be chosen as a valid trajectory as it simplifies the commands and movements in the terrain for the robot. Safety is always the priority for a rover in Mars so an alternative around the obstacle could be preferred as the robot reaches maximum configurations that could be considered as a compromise to the security.

176

FUTURE MARS ROVERS

12. FUTURE MARS ROVERS

The new planetary missions need more complex machines. The new NASA projects include soil and rock retrieval to Earth and most important human exploration. For this, a new generation of prototype designs and studies are currently on going.

12.1. Hybrid Robots

At this moment there is a tendency to combine the best of wheeled robots and legged robots, which are called hybrid robots. There is a change in mind in for many projects, instead of using the wheeled robots as a solution for planetary exploration there is an increasing study of legged robots to be combined with their proven wheeled solutions.

177

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Figure 138 Mission Terraforming. REF. 53

This rover enables the team's pre-mission of preparing Mars for future colonisation through ‘planting’ greenhouse modules on the surface of Mars. The modules would be a mix of greenhouses for food production, and botanical gardens for plant systematic research and will utilise the ice deposits for harvesting water. The first mission is to send fully automated modules to mars to initiate the seeding process, while the second is a follow up of a two part vehicle and four crew members to carry out harvesting and expanding the greenhouses as well as conducting evolutionary plant research in the botanical modules.

Figure 139 Athelete with lunar modules. REF. 54

The All-Terrain Hex-Limbed Extra-Terrestrial Explorer (ATHLETE) vehicle concept is based on six wheels at the ends of six multi-degree-of-freedom limbs. ATHLETE uses its wheels for efficient driving over stable, gently rolling terrain. Because each limb has enough degrees of freedom for use as a general-purpose leg, the wheels can be locked and used as feet to walk out of excessively soft, obstacle rich, or other extreme terrain. ATHLETE is envisioned as a heavy-lift utility vehicle to support human exploration of the lunar or

178

FUTURE MARS ROVERS

Martian surface, useful for unloading bulky cargo from stationary landers and transporting it long distances over varied terrain.

To demonstrate this concept, several prototype vehicles have been developed for testing at JPL. The 1st generation ATHLETE prototype, built in 2005, consists of 6, six-degree-of-freedom limbs mounted to the corners of a hexagonal ring 2.75m (9 ft) wide. These vehicles have a maximum standing height of just over 2m (6.6 ft), weigh approximately 850 kg (1875 lb) and can carry a maximum payload of 300 kg (660 lb) in Earth gravity. Two identical prototypes were constructed in 2005, and one of these is still operational in 2010.

Figure 140 Athelete second generation. REF. 54

The 2nd generation ATHLETE prototype was constructed in 2009 and is implemented as a coordinated system of two Tri-ATHLETEs, fully independent three-limbed robots. This innovation allows a straightforward cargo handling strategy: two Tri-ATHLETEs dock to opposite sides of a cargo pallet, forming a six-limbed symmetrical vehicle, work together to move and emplace the cargo, then undock and depart. This strategy provides all the advantages of the six- limbed concept for cargo or habitat transport with the additional benefits of flexibility and modularity. The 2nd generation prototype is designed to demonstrate cargo handling at ½ the anticipated lunar scale. The robot stands

179

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS to a maximum height of just over 4m (13 ft) and has a payload capacity of 450 kg (990 lb) in Earth gravity.

A side benefit of the wheel-on-limb approach is that each limb has sufficient degrees-of-freedom for use as a general-purpose manipulator (hence the name "limb" instead of "leg"). The prototype ATHLETE vehicles have quick-disconnect tool adapters on the limbs that allow tools to be drawn out of a "tool belt" and maneuvered by the limb. A rotating power-take-off from the wheel actuates the tools, so that they can take advantage of the 1+ horsepower (745+ watt) motor in each wheel to enable drilling, gripping or other power-tool functions.

Since the vehicle has an alternative mode of traversing through (or at least out of) extreme terrain, the wheels and wheel actuators can be sized for nominal, rather than worst-case terrain. There are substantial mass savings in the wheels and wheel actuators associated with designing for nominal instead of extreme terrain. These mass savings are comparable-to or larger-than the extra mass associated with the articulated limbs. As a result, the entire mobility system, including wheels and limbs, can be about 25% lighter than a conventional mobility chassis for planetary exploration.

This work was performed at the Jet Propulsion Laboratory (JPL), California Institute of Technology, under contract with NASA. ATHLETE is being developed by JPL as part of the Human-Robot Systems (HRS) Project managed by Robert Ambrose of the Johnson Space Center (JSC). HRS is one of several projects funded by the NASA Exploration Technology Development Program (ETDP) that is developing new technology in support of human exploration.

180

FUTURE MARS ROVERS

Figure 141 Athelete over obstacle. REF. 55

12.2. Helicopters

Getting around on Mars is tricky business. Each NASA rover has delivered a wealth of information about the history and composition of the Red Planet, but a rover's vision is limited by the view of onboard cameras, and images from spacecraft orbiting Mars are the only other clues to where to drive it. To have a better sense of where to go and what's worth studying on Mars, it could be useful to have a low-flying scout.

Figure 142 Mars Helicopter. REF. 56

181

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

The Mars Helicopter, a proposed add-on to Mars rovers of the future that could potentially triple the distance these vehicles currently drive in a Martian day, and deliver a new level of visual information for choosing which sites to explore.

The helicopter would fly ahead of the rover almost every day, checking out various possible points of interest and helping engineers back on Earth plan the best driving route.

Scientists could also use the helicopter images to look for features for the rover to study in further detail. Another part of the helicopter's job would be to check out the best places for the rover to collect key samples and rocks for a cache, which a next-generation rover could pick up later.

The vehicle is envisioned to weigh 2.2 pounds (1 kilogram) and measure 3.6 feet (1.1 meters) across from the tip of one blade to the other. The prototype body looks like a medium-size cubic tissue box.

182

CONCLUSIONS

13. CONCLUSIONS

In the last decades, static landers or moving wheeled rovers have played an outstanding role in Mars surface exploration, but new missions demand more complex machines and functionalities.

A study of the state of the art of the different robots used in planetary exploration has been performed. From this study it was concluded that wheeled robots present a number of disadvantages, which could be solved by the use of a legged robot. From this conclusion the different types of walking machines developed have been studied, taking into account their advantages and disadvantages of each configuration based on the configuration of legs. Legged robots are an alternative were wheeled rovers could no longer be the best option for the planetary exploration.

In a first stage a moving table design was selected and analyzed. Keeping in mind that the robot will be a platform for scientific purposes with no special speed requirements, the best option seemed to be a moving table concept design, this configuration allows precise positioning, but has less movement capacity. The necessity of being able to reach as much terrain as possible in order to collect information of different areas of scientific interest, made that the moving table was discarded.

Having discarded the later design the final design chosen that satisfied most of the requirements was a hexapod design, which seemed a good compromise between design and complexity. Based on this configuration three different legged robots were designed and analysed, a legged robot with linear actuators, a legged robot with pneumatic actuators and a legged robot with DC actuators.

The final configuration selected was a linear actuators hexapod robot.

183

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

The hexapod configuration presented shows advantages with respect to a wheeled configuration. The most important advantages is that a legged robot is able to move better in harsh terrain with minimum environment degradation and very stable positioning of the payload carried.

Another important objective of this thesis is the study of movement capabilities of the legged robot, which is able to perform the requirements needed in a planetary mission. To achieve those requirements it was necessary to develop the mechanical design, the analysis of the movement in harsh terrain by presenting and solving the system of kinematic and dynamic equations. In order to solve the system of equations, it was necessary to develop an ad-hoc Matlab® code. Also another Matlab® code was developed to simulate and analyze the different trajectories and obstacles that the robot is going to experience on a planetary mission.

The mechanical design is a hexapod robot, with 90kg of weight and allowing 40 kilograms to be dedicated to scientific instrument payload, capable of withstanding high forces and moments due to the walking motion. The solution reached is based on a hexagonal structure, which allows more space between legs, each leg configuration is based on linear actuators, with this configuration each leg has three degrees of freedom. The DC linear actuators of the legs were the solution selected because they can be used as structural elements due to their design and high forces that they can withstand, due to this configuration the mass of the robot is reduced. This design incorporates eighteen motors (3 per leg), but due to the walking cadence selected only nine motors will be working simultaneously, this reduces the power consumption dramatically, solving one of the problems that this kind of machines had.

Once the final mechanical design was reached and in order to analyze a machine of this complexity an understanding of its movements and behavior is mandatory. The movement equations have been validated by two different methods: Kinematics and Dynamics.

184

CONCLUSIONS

Two different Matlab® codes have been developed to solve the system of equations for each method. The results obtained from both methods show the same behavior.

Also as a confirmation of the previous results a third method was used by analyzing the robot by a finite element model in some of the worst configurations, obtaining the same results as for the last methods. This method also verifies the mechanical design selected.

This walking robot proposed has been designed for planetary exploration. A Matlab® code based on the equations developed to validate the robot has been developed in this thesis to test its movement capabilities in different terrains and configurations. Using the code developed the mission operators will obtain the forces and moments acting on each situation on the robot legs and body. From the results obtained the behavior of the robot due to the terrain to be explored can be evaluated prior to sending the commands to the robot. Communication Mars/Earth happens only once daily and care should be taken in which commands are sent. The mission can never compromise the safety of the robot and that´s why the code developed in this thesis is so important as it can predict before sending to Mars the behavior on the robot under such commands.

The code developed is very versatile, it allows modifying the trajectories, the type of terrain, the number and height of the obstacles, etc. These parameters has not been chosen randomly, they have been chosen based on my experience as a member of the MSL NASA team which operates a scientific instrument on Mars daily. This lessons learned were applied on the requirements of the code to develop a tool able to recreate and analyze the daily operations of a robot on the Mars surface as is performed on the actual missions. This code has been developed for the first time for a legged robot for planetary exploration.

This walking robot presented in this thesis, could extend the exploration capabilities, performing more complex tasks, as demanded by the Scientific

185

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Community. It has been proven that it responds well in situations were a wheeled rover could take more time or not be able to reach certain locations.

The walking robot developed and manufactured by the department of instrumentation and planetary exploration of CAB (Center of Astrobiology), which I form part of, is based on the mechanical design and analysis presented in this thesis.

Figure 143 CAB-INTA Hexapod Robot.

186

FUTURE WORK

14. FUTURE WORK

This thesis deals with the design, mechanical analysis and trajectory analysis and simulation of a hexapod robot for planetary exploration. It has been proven in this thesis that this is a real solution for a planetary exploration robot, and that this design could have clear advantages with respect to the rovers sent in previous missions. This line of work opens the possibility to more in depth studies of this kind of robots that could adapt to the new missions requirements emerging. An example of this is the legged robot that was built by the instrumentation department of the CAB, which I form part of. To complement this thesis also two final projects based on this robot were concluded by the ETSII (UPM).

187

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

188

REFERENCES

15. REFERENCES

REF. 1 http://www.varipon.com/index.php/histoire/

REF. 2 Bekker, M. G. (1960). Off-the-road locomotion. Ann Arbor: University of Michigan Press

REF. 3 http://pds.jpl.nasa.gov

REF. 4 Seiff et al., (1997) The atmosphere structure and meteorology instrument on the Mars Pathfinder Lander. Journal of Geophysical Research 102

REF. 5 http://www.seds.org/spaceviews/pathfinder/images.html

REF. 6 http://mars.jpl.nasa.gov/msp98/lander/landerconfig.jpg

REF. 7 http://beagle2.open.ac.uk/index.htm

REF. 8 http://nssdc.gsfc.nasa.gov/nmc/spacecraftDisplay.do?id=2003-027A

REF. 9 Harri et al. (1999). Network science landers for Mars. Advances in Space Research

Volume 23, Issue 11

REF. 10 Haberle, R.M., and D.C. Catling (1996). A Micro-Metorological Mission for Global Network Science on Mars: Rationale and Measurement Requirements. Planet. Space Sci., 44, 1361-1384.

REF. 11 http://smsc.cnes.fr/NETLANDER/GP_mission.htm

REF. 12 http://marsprogram.jpl.nasa.gov/msl/multimedia/images/?ImageID=3710

REF. 13 Song, S. and Waldron, K. (1989). Machines that walk: The adaptive suspension vehicle. The MIT Press, Cambridge, Massachusetts

REF. 14 http://www.fzi.de/ipt/WMC/walking_machine_katalog.

REF. 15 http://www.cim.mcgill.ca/research/1998AnnualReport/html/node79.html

REF. 16 http://www.ai.mit.edu/projects/leglab/robots/Spring_Turkey/spring_turkey_bw.jpg

REF. 17 http://asimo.honda.com

REF. 18 http://www.iff.fhg.de/iff/aut/projects/schreit/mag_e.htm

REF. 19 http://www.fzi.de./ids/ids.html

REF. 20 http://www.prairienet.org/~cocatrez/apo033txt.htm

REF. 21 http://robotics.stanford.edu/users/mark/polypod.html

REF. 22 http://www.fzi.de/ids/ids.html

189

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

REF. 23 http://www.kimura.is.uec.ac.jp/faculties/Collie/phot-movie1-e.html

REF. 24 http://ultra.obuda.kando.hu/~exploratores

REF. 25 http://www.usc.edu/dept/robotics

REF. 26 http://ww.iai.csic.es

REF. 27 http://neptune.eng.usq.edu.au/~cubero

REF. 28 http://piglet.cs.umass.edu:43211/lpr.html

REF. 29 http://mou.mes.titech.ac.jp/research/walk/walk.html

REF. 30 http://cim.mcgill.ca/~arlweb

REF. 31 http://www.iti.mu-luebeck.de/NeuroComputing/FRED.html

REF. 32 http://cyberneticzoo.com/author/cyberne1/page/115/

REF. 33 http://www.salford.ac.uk/

REF. 34 http://www.cs.cmu.edu/afs/cs/project/lri-3/www/design/previous-desings.html.

REF. 35 http://www-cdr.stanford.edu/biomimetics/documents/sprawl/

REF. 36 http://ai.eecs.umich.edu/Rhex/

REF. 37 http://www.neurotechnology.neu.edu/

REF. 38 http://www.ai.mit.edu/projects/mobile-robots/

REF. 39 http://www.case.edu/mae/robotics/

REF. 40 http.//www.life.uiuc.edu/delcomyn/Research.10ª.Robotics.htm

REF. 41 http://www.ulb.ac.be/scmero

REF. 42 McKerrow, P. J. (1991) Introduction to robotics. Alexander, R.N. and Goldspink,

G., editors. Addison-Wesley Publishing Co.

REF. 43 Bekker, M. G. (1960). Off-the-road locomotion. Ann Arbor: University of Michigan

Press.

REF. 44 Gonzalez de Santos, Pablo; Garcia,Elena; Estremera, Joaquín, (2006) Quadrupetal Locomotion: an introduction to the control of four legged robots. Springer

REF. 45 http://www.motioncontrol.com/sites/default/files/images/Maxon4pole468311.jpg

REF. 46 www.skf.com/uk/

REF. 47 http://mars.jpl.nasa.gov/msl/multimedia/interactives/learncuriosity/index-2.html 190

REFERENCES

REF. 48 http://mars.nasa.gov/msl/mission/rover/wheelslegs/

REF. 49 http://en.wikipedia.org/wiki/Mars_Science_Laboratory

REF. 50 http://www.jpl.nasa.gov/

REF. 51 https://www-robotics.jpl.nasa.gov/projects/mer4_image.html

REF. 52 http://mars.nasa.gov/mer/technology/images/path_select_auto_nav.jpg

REF. 53 https://www.wired.co.uk/news/archive/2011-07/04/students-design-mars-rover-of-the- future/viewgallery/268683ojected

REF. 54 http://science.nasa.gov/science-news/science-at-nasa/2009/08apr_apolloupgrade/

REF. 55 http://athlete.jpl.nasa.gov/images/athlete/ATHLETE1-226.jpg

REF. 56 http://www.jpl.nasa.gov/news/news.php?feature=4457

191

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

192

PUBLICATIONS

16. PUBLICATIONS

• Torres, J., Romero, G., Gómez-Elvira, J., Maroto. Analysis and Simulation of the Leg of an Hexapod Robot for Remote Exploration, European Simulation Multiconference 2008. Le Havre (Francia). Octubre 2008.

• Josefina Torres, Gregorio Romero, Jesús Félez, Javier Gómez-Elvira. Analysis and simulation of a hexapod robot leg for Remote Exploration, Computer Modelling and simulation, Cambridge, 2011

• Por: Gomez-Elvira, J.; Armiens, C.; Carrasco, I.; Genzer, M.; Gomez, F.; Haberle, R.; Hamilton, V-E.; Harri, A. -M. ; Kahanpaa, H.; Kemppinen, O.; Lepinette, A.; Martin, J. ; Martín-Torres, J.; Martinez-Frias, J.; Mischna, M.; Mora, L.; Navarro, S, Torres, J et al. Curiosity´s rover environmental station: Overview of the first 100 sols. JOURNAL OF GEOPHYSICAL RESEARCH-PLANETS Volumen: 119 Número: 7 Páginas: 1680-1688 Fecha de publicación: JUL 2014

• Domingueza, M.; Jimenez, V.; Ricart, J.; Kowalski, L.; Torres, J; Navarro, S; et ál.. A hot film anemometer for the Martian atmosphere PLANETARY AND SPACE SCIENCE Volumen: 56 Número: 8 Páginas: 1169-1179 Fecha de publicación: JUN 2008

• Munoz-Martinez, Pablo; R-Moreno, Maria D.; Gomez-Elvira, Javier; Romeral Planello, JJ; Navarro-Lopez, S. An autonomous system for the locomotion of a hexapod Exploration Robot Autoría conjunta del libro: IEEE COMPUTER SOC Conferencia: 3rd IEEE International Conference on Space Mission Challenges for Information Technology Ubicación:Pasadena, CA Fecha:JUL19-23,2009 193

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Patrocinador(es): IEEE SMC-IT 2009: THIRD IEEE INTERNATIONAL CONFERENCE ON SPACE MISSION CHALLENGES FOR INFORMATION TECHNOLOGY, PROCEEDINGS Páginas: 150- 154 Fecha de publicación: 2009

• Gomez-Elvira, J.; Armiens, C.; Castaner, L.; Dominguez, M; Genzer, M.; Gomez, F.; Haberle, R.; Harri, A. -M. ; Jimenez, V.; Kahanpaa, H.; Kowalski, L.; Lepinette, A.; Martin, J. ; Martinez-Frias, J.; McEwan, I.; Mora, L.; Moreno, J.; Navarro, S., Torres, J; et al. REMS: The environmental Sensor Suite for the Mars Science Laboratory Rover. SPACE SCIENCE REVIEWS Volumen: 170 Número: 1-4 Páginas: 583-640 Fecha de publicación: SEP 2012

194

ANNEX 1

ANNEX 1

1- Main code function: % % % Este simulacion camina en linea recta/curva. % % global d1 d2 d3 l1 l2 altura centro ang_veh global az_vista; global el_vista; global xSuelo ySuelo zSuelo; global xMesh; global yMesh; global centro_mat; global fig_arana global frames_pel global indice_peli

TodasReacciones=[]; TodasReacciones3=[]; TodasReacciones3oct=[]; fig_arana=figure % indice_peli=1; angulos=[]; centro_mat=[]; cla; az_vista =45; el_vista = 45; margen_aceptacion_lineal=0.10; intervalo_lin=0;

% estas son las dimensiones del rover d1 = 0.6;%0.6; d2 = 1.6;%1.2; d3 = 1;%1.8 l1 = .5;%.472; l2 = .7;

%figure(fig_arana)

%%%%%Parametros de movimiento general%%%%%%%% alfa_remada = 10; % Patas situadas en el suelo beta_remada = 100; 195

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS gamma_remada_i = -17;%-17 gamma_remada_f = 17;%17 gamma_giro=-15;% estaba en -15! gamma_init=0; alfa_init =10; beta_init =100; alfa_restitucion = 29; % Patas en el aire beta_restitucion =88; intervalo_base_giro=12;%12 si puesto a 0 hace que no gire intervalo_base_lineal=0.3;%0.3 si puesto a 0 hace que no gire %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%Config. Inicial%%%%%%%%%%%%%%%%%%% alfa1=alfa_init; beta1=90+alfa_init; gamma1=gamma_init; alfa2=alfa_init; beta2=90+alfa_init; gamma2=gamma_init; alfa3=alfa_init; beta3=90+alfa_init; gamma3=gamma_init; alfa4=alfa_init; beta4=90+alfa_init; gamma4=gamma_init; alfa5=alfa_init; beta5=90+alfa_init; gamma5=gamma_init; alfa6=alfa_init; beta6=90+alfa_init; gamma6=gamma_init; lado_apoyado='l'; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%Inicializacion terreno%%%%%%%%%%%% xSuelo=[]; ySuelo=[]; zSuelo=[]; xMesh=[]; yMesh=[]; clc;

%Si quiero altura cambio el 0 por 0.2 %[xSuelo,ySuelo,zSuelo]=gensuelo_conMountain(-5,0.5,10,0.2,4,3,1) [xSuelo,ySuelo,zSuelo]=gensuelo_conMountain(-5,0.5,10,0.2,4,4,0) hold on %[xSuelo,ySuelo,zSuelo]=gensuelo_conMountain(-5,0.5,10,0,1,4,0.2) %hold on 196

ANNEX 1

%[xSuelo,ySuelo,zSuelo]=gensuelo(-5,0.5,10,0.3) [xMesh,yMesh]=meshgrid(xSuelo,ySuelo); hold on

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X=0; Y=0;

Z=buscaZ(X,Y,xSuelo,ySuelo,zSuelo); altura=obtener_altura_centro(alfa1*pi/180,beta1*pi/180,Z,alfa6*pi/180, beta6*pi/180,0); %altura = 0.8; ang_veh = 100;% es lo que rota para acercarse a su destino e ir en linea recta. centro = [X Y altura];

%%%%%%%%%%%Destino%%%%%%%%%%%%%%%%%%%%%%%%%%% Xdestino=3;% estaba 6 Ydestino=0;

Zdestino=buscaZ(Xdestino,Ydestino,xSuelo,ySuelo,zSuelo); alturaZ=obtener_altura_centro(alfa1*pi/180,beta1*pi/180,Zdestino,alfa6 *pi/180,beta6*pi/180,0); %altura = 0.8; destino = [Xdestino Ydestino alturaZ];%10 temporal= generacion_tray(centro,ang_veh,destino)

giro_total=temporal(1) distancia=temporal(2); ang_final=ang_veh+giro_total; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%Inicio de movimiento%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%Con calculo de posiciones de pies dado terreno y angulos/pos centro inicial%%

[pie1 pie2 pie3 pie4 pie5 pie6] = drawspider_con_angulo(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,'si');

%esta primera matriz : es la inicilizacion las alfa/beta/gamma no se corresponde con terreno Matriz_Memoria=[ang_veh centro alfa1 beta1 gamma1 alfa2 beta2 gamma2 alfa3 beta3 gamma3 alfa4 beta4 gamma4 alfa5 beta5 gamma5 alfa6 beta6

197

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS gamma6 pie1 pie2 pie3 pie4 pie5 pie6 6 0];

Matriz_calculo=[alfa1 beta1 gamma1 alfa2 beta2 gamma2 alfa3 beta3 gamma3 alfa4 beta4 gamma4 alfa5 beta5 gamma5 alfa6 beta6 gamma6 ]

%Nuevo: necesario para correspondencia con superficie [c1_0,c2_0,c3_0,c4_0,c5_0,c6_0] = getshoulders_explicit(ang_veh,centro); [alfa1,beta1,gamma1]=getcoordart_general(c1_0,[pie1(1) pie1(2) interp2(xMesh,yMesh,zSuelo,pie1(1),pie1(2))],1,ang_veh); [alfa2,beta2,gamma2]=getcoordart_general(c2_0,[pie2(1) pie2(2) interp2(xMesh,yMesh,zSuelo,pie2(1),pie2(2))],2,ang_veh); [alfa3,beta3,gamma3]=getcoordart_general(c3_0,[pie3(1) pie3(2) interp2(xMesh,yMesh,zSuelo,pie3(1),pie3(2))],3,ang_veh); [alfa4,beta4,gamma4]=getcoordart_general(c4_0,[pie4(1) pie4(2) interp2(xMesh,yMesh,zSuelo,pie4(1),pie4(2))],4,ang_veh); [alfa5,beta5,gamma5]=getcoordart_general(c5_0,[pie5(1) pie5(2) interp2(xMesh,yMesh,zSuelo,pie5(1),pie5(2))],5,ang_veh); [alfa6,beta6,gamma6]=getcoordart_general(c6_0,[pie6(1) pie6(2) interp2(xMesh,yMesh,zSuelo,pie6(1),pie6(2))],6,ang_veh);

%%%Ya con coordenadas reales (buenas) de los angulos, dado el terreno: %%%posicion inicial real Matriz_Memoria=[Matriz_Memoria; ang_veh centro alfa1 beta1 gamma1 alfa2 beta2 gamma2 alfa3 beta3 gamma3 alfa4 beta4 gamma4 alfa5 beta5 gamma5 alfa6 beta6 gamma6 [pie1(1) pie1(2) interp2(xMesh,yMesh,zSuelo,pie1(1),pie1(2))] ... [pie2(1) pie2(2) interp2(xMesh,yMesh,zSuelo,pie2(1),pie2(2))] [pie3(1) pie3(2) interp2(xMesh,yMesh,zSuelo,pie3(1),pie3(2))] [pie4(1) pie4(2) interp2(xMesh,yMesh,zSuelo,pie4(1),pie4(2))] ... [pie5(1) pie5(2) interp2(xMesh,yMesh,zSuelo,pie5(1),pie5(2))] [pie6(1) pie6(2) interp2(xMesh,yMesh,zSuelo,pie6(1),pie6(2))] 6 0];

disp('Inicio sin mov principio 01010101') pause

if (abs(giro_total) > 0.1)

[alfa1,beta1,gamma1,alfa2,beta2,gamma2,alfa3,beta3,gamma3,alfa4,beta4, gamma4,alfa5,beta5,gamma5,alfa6,beta6,gamma6] = ... posicionamiento_inicio_giro(alfa1,beta1,gamma1,alfa2,beta2,gamma2,alfa 3,beta3,gamma3,alfa4,beta4,gamma4,... alfa5,beta5,gamma5,alfa6,beta6,gamma6,centro,ang_veh,giro_total, lado_apoyado); end;

[pie1 pie2 pie3 pie4 pie5 pie6] = drawspider_con_angulo(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,'no');

198

ANNEX 1

Matriz_Memoria=[Matriz_Memoria; ang_veh centro alfa1 beta1 gamma1 alfa2 beta2 gamma2 alfa3 beta3 gamma3 alfa4 beta4 gamma4 alfa5 beta5 gamma5 alfa6 beta6 gamma6 pie1 pie2 pie3 pie4 pie5 pie6 6 0]; disp('Tras Posicionamiento inicio giro bajan las patas 0101010') %%tras esto: las patas estan todas apoyadas pause

%2 % %[cent,opl]=getcenter(pie1,pie3,lado_apoyado);

sign_anterior_x=destino(1)-centro(1); sign_anterior_y=destino(2)-centro(2);

%------

% calcula con 6 patas apoyadas. Reacciones=CalculaReacciones_2015_mod(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,... pie1,pie2,pie3,pie4,pie5,pie6);

%ESTAS TIENEN QUE SER DE SEIS REACCIONES TodasReacciones=[TodasReacciones;Reacciones];

[P6_Xbarra1,P6_Xbarra2,P6_R2x,P6_R3x,P6_R2z,P6_R3z]=CalculaFuerzas_201 5_mod(alfa6,beta6,gamma6,Reacciones(1,6),6) ;

[P5_Xbarra1,P5_Xbarra2,P5_R2x,P5_R3x,P5_R2z,P5_R3z]=CalculaFuerzas_201 5_mod(alfa5,beta5,gamma5,Reacciones(1,5),5) ;

[P4_Xbarra1,P4_Xbarra2,P4_R2x,P4_R3x,P4_R2z,P4_R3z]=CalculaFuerzas_201 5_mod(alfa4,beta4,gamma4,Reacciones(1,4),4) ;

[P3_Xbarra1,P3_Xbarra2,P3_R2x,P3_R3x,P3_R2z,P3_R3z]=CalculaFuerzas_201 5_mod(alfa3,beta3,gamma3,Reacciones(1,3),3) ;

[P2_Xbarra1,P2_Xbarra2,P2_R2x,P2_R3x,P2_R2z,P2_R3z]=CalculaFuerzas_201 5_mod(alfa2,beta2,gamma2,Reacciones(1,2),2) ;

[P1_Xbarra1,P1_Xbarra2,P1_R2x,P1_R3x,P1_R2z,P1_R3z]=CalculaFuerzas_201 5_mod(alfa1,beta1,gamma1,Reacciones(1,1),1) ;

disp('reacciones 6 patas') Reacciones(1,6),6 Reacciones(1,5),5 Reacciones(1,4),4 Reacciones(1,3),3 Reacciones(1,2),2 Reacciones(1,1),1

199

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Matriz_calculo=[Matriz_calculo;alfa1 beta1 gamma1 alfa2 beta2 gamma2 alfa3 beta3 gamma3 alfa4 beta4 gamma4 alfa5 beta5 gamma5 alfa6 beta6 gamma6 ]

%Fuerzas=[Fuerzas;P6_Xbarra1,P6_Xbarra2,P6_R2x,P6_R3x,P6_R2z,P6_R3z]

disp('Inicio de movimiento 01010101 sigo con patas6') pause

% Todavia tengo seis patas

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%Bucle de movimiento%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% while ((ang_veh < ang_final) & (giro_total>0)) | ((ang_veh > ang_final) & (giro_total<0)) | ... sqrt((centro(1)-destino(1))^2+(centro(2)-destino(2))^2) > margen_aceptacion_lineal

if ((ang_veh < ang_final) & (giro_total>0)) | ((ang_veh > ang_final) & (giro_total<0)) av_angular=1; %determinamos intervalo angular que vamos a rotar en esta pasada if (giro_total > 0) if (ang_veh+intervalo_base_giro > ang_final) intervalo_ang=ang_final-ang_veh; else intervalo_ang=intervalo_base_giro; end else if (ang_veh-intervalo_base_giro < ang_final) intervalo_ang=ang_final-ang_veh; else intervalo_ang=-intervalo_base_giro; end end % del if determinamos intervalo angular else %determinamos el intervalo lineal que vamos a avanzar en esta pasada centro_mat=[centro_mat;centro];

av_angular=0; %compruebo no haya sobrepasado punto: distancia_restante=sqrt((centro(1)-destino(1))^2+(centro(2)- destino(2))^2);

if (distancia_restante > intervalo_base_lineal) intervalo_lin=intervalo_base_lineal; else if (sign(destino(1)-centro(1))==sign(sign_anterior_x)) & (sign(destino(2)-centro(2))==sign(sign_anterior_y)) 200

ANNEX 1

sign_anterior_x=destino(1)-centro(1); sign_anterior_y=destino(2)-centro(2); intervalo_lin=distancia_restante; else break; end end end

if (lado_apoyado=='l') %hay que elevar las patas de 'r', se supone que las de 'l' ya estan en posicion inicial adecuada alfa4=alfa_restitucion; beta4=beta_restitucion;

alfa5=alfa_restitucion; beta5=beta_restitucion;

alfa6=alfa_restitucion; beta6=beta_restitucion;

if (av_angular) if (giro_total > 0) gamma4= (gamma_giro); gamma5=gamma_giro; gamma6=(gamma_giro); else gamma4=-gamma_giro; gamma5=-gamma_giro; gamma6=-gamma_giro; end else disp('gamma4') gamma4=-gamma_remada_i; gamma5=gamma_remada_i; gamma6=-gamma_remada_i; end

else %lado apoyado =='r' alfa1=alfa_restitucion; beta1=beta_restitucion;

alfa2=alfa_restitucion; beta2=beta_restitucion;

alfa3=alfa_restitucion; beta3=beta_restitucion;

if (av_angular) if (giro_total > 0) gamma1=gamma_giro; gamma2=gamma_giro; gamma3=gamma_giro; else gamma1=-gamma_giro; gamma2=-gamma_giro; gamma3=-gamma_giro; end else disp('gamma1') gamma1= gamma_remada_i; 201

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

gamma2=-gamma_remada_i; gamma3=gamma_remada_i; end end

figure(fig_arana) clf; %4 % [pie1 pie2 pie3 pie4 pie5 pie6] = drawspider_con_angulo(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,'si');

%He metido reacciones3 % Reacciones3oct=CalculaReacciones_2015_3oct(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,... pie1,pie2,pie3,pie4,pie5,pie6);

% REACCIONES DE TRES PATAS

TodasReacciones3oct=[TodasReacciones3oct;Reacciones3oct];

% [P6_Xbarra1,P6_Xbarra2,P6_R2x,P6_R3x,P6_R2z,P6_R3z]=CalculaFuerzas_201 5(alfa6,beta6,gamma6,Reacciones(1,6),6) ; % [P5_Xbarra1,P5_Xbarra2,P5_R2x,P5_R3x,P5_R2z,P5_R3z]=CalculaFuerzas_201 5(alfa5,beta5,gamma5,Reacciones(1,5),5) ; % [P4_Xbarra1,P4_Xbarra2,P4_R2x,P4_R3x,P4_R2z,P4_R3z]=CalculaFuerzas_201 5(alfa4,beta4,gamma4,Reacciones(1,4),4) ;

[P3_Xbarra1,P3_Xbarra2,P3_R2x,P3_R3x,P3_R2z,P3_R3z]=CalculaFuerzas_201 5_mod(alfa3,beta3,gamma3,Reacciones3oct(1,3),3) ;

[P2_Xbarra1,P2_Xbarra2,P2_R2x,P2_R3x,P2_R2z,P2_R3z]=CalculaFuerzas_201 5_mod(alfa2,beta2,gamma2,Reacciones3oct(1,2),2) ;

[P1_Xbarra1,P1_Xbarra2,P1_R2x,P1_R3x,P1_R2z,P1_R3z]=CalculaFuerzas_201 5_mod(alfa1,beta1,gamma1,Reacciones3oct(1,1),1) ; %lo he incluido se puede quitar drawnow pause drawnow disp('reacciones hola%%%%%%% 3 2 1') pause Reacciones3oct(1,3),3 Reacciones3oct(1,2),2 Reacciones3oct(1,1),1

202

ANNEX 1

Matriz_calculo=[Matriz_calculo;alfa1 beta1 gamma1 alfa2 beta2 gamma2 alfa3 beta3 gamma3 alfa4 beta4 gamma4 alfa5 beta5 gamma5 alfa6 beta6 gamma6 ]

drawnow disp('patas elevadas') disp('3 patas') pause

[alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6] [c1_0,c2_0,c3_0,c4_0,c5_0,c6_0] = getshoulders_explicit(ang_veh,centro);

matriz_retorno=zeros([6,3]); if av_angular while matriz_retorno==zeros([6,3]) & sign(intervalo_ang)==sign(giro_total) & intervalo_ang~=0 ang_veh matriz_retorno=rotate_spider(intervalo_ang,[pie1; pie2; pie3; pie4; pie5; pie6],lado_apoyado); ang_veh if matriz_retorno==zeros([6,3]) intervalo_ang=intervalo_ang-(sign(giro_total))*1; end end end while matriz_retorno==zeros([6,3]) & intervalo_lin > 0 matriz_retorno=advance_spider(intervalo_lin,[pie1; pie2; pie3; pie4; pie5; pie6],lado_apoyado); if matriz_retorno==zeros([6,3]) intervalo_lin=intervalo_lin-intervalo_base_lineal/10; end end

% [alfa1 beta1 gamma1;alfa2 beta2 gamma2;alfa3 beta3 gamma3;alfa4 beta4 gamma4;alfa5 beta5 gamma5;alfa6 beta6 gamma6]=matriz_retorno; alfa1=matriz_retorno(1,1); alfa2=matriz_retorno(2,1); alfa3=matriz_retorno(3,1); alfa4=matriz_retorno(4,1); alfa5=matriz_retorno(5,1); alfa6=matriz_retorno(6,1); beta1=matriz_retorno(1,2); beta2=matriz_retorno(2,2); beta3=matriz_retorno(3,2); beta4=matriz_retorno(4,2); beta5=matriz_retorno(5,2);

203

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS beta6=matriz_retorno(6,2); gamma1=matriz_retorno(1,3); gamma2=matriz_retorno(2,3); gamma3=matriz_retorno(3,3); gamma4=matriz_retorno(4,3); gamma5=matriz_retorno(5,3); gamma6=matriz_retorno(6,3);

[alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6]

[c1_0,c2_0,c3_0,c4_0,c5_0,c6_0] = getshoulders_explicit(ang_veh,centro); c1_0 %pause(2) [pie1 pie2 pie3 pie4 pie5 pie6] = drawspider_con_angulo(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,'si');

%

Reacciones3oct=CalculaReacciones_2015_3oct(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,... pie1,pie2,pie3,pie4,pie5,pie6);

% REACCIONES DE TRES PATAS

TodasReacciones3oct=[TodasReacciones3oct;Reacciones3oct];

% [P6_Xbarra1,P6_Xbarra2,P6_R2x,P6_R3x,P6_R2z,P6_R3z]=CalculaFuerzas_201 5(alfa6,beta6,gamma6,Reacciones(1,6),6) ; % [P5_Xbarra1,P5_Xbarra2,P5_R2x,P5_R3x,P5_R2z,P5_R3z]=CalculaFuerzas_201 5(alfa5,beta5,gamma5,Reacciones(1,5),5) ; % [P4_Xbarra1,P4_Xbarra2,P4_R2x,P4_R3x,P4_R2z,P4_R3z]=CalculaFuerzas_201 5(alfa4,beta4,gamma4,Reacciones(1,4),4) ;

[P3_Xbarra1,P3_Xbarra2,P3_R2x,P3_R3x,P3_R2z,P3_R3z]=CalculaFuerzas_201 5_mod(alfa3,beta3,gamma3,Reacciones3oct(1,3),3) ;

[P2_Xbarra1,P2_Xbarra2,P2_R2x,P2_R3x,P2_R2z,P2_R3z]=CalculaFuerzas_201 5_mod(alfa2,beta2,gamma2,Reacciones3oct(1,2),2) ;

204

ANNEX 1

[P1_Xbarra1,P1_Xbarra2,P1_R2x,P1_R3x,P1_R2z,P1_R3z]=CalculaFuerzas_201 5_mod(alfa1,beta1,gamma1,Reacciones3oct(1,1),1) ; %lo he incluido se puede quitar drawnow pause drawnow disp('reacciones despues de giro!! 3 2 1') pause Reacciones3oct(1,3),3 Reacciones3oct(1,2),2 Reacciones3oct(1,1),1

%

% [alfa1 beta1 gamma1;alfa2 beta2 gamma2;alfa3 beta3 gamma3;alfa4 beta4 gamma4;alfa5 beta5 gamma5;alfa6 beta6 gamma6] if (lado_apoyado=='l') lado_apoyado_numerico=1; elseif (lado_apoyado=='r') lado_apoyado_numerico=2; else pause; end

Matriz_Memoria=[Matriz_Memoria; ang_veh centro alfa1 beta1 gamma1 alfa2 beta2 gamma2 alfa3 beta3 gamma3 alfa4 beta4 gamma4 alfa5 beta5 gamma5 alfa6 beta6 gamma6 pie1 pie2 pie3 pie4 pie5 pie6 3 lado_apoyado_numerico]; disp('ha acabado de rotar/avanzar y recalcula posicion pies aqui empieza giro')

%%%% sigue con 3 parece disp('Inicio de movimiento 01010101 patas 3 primera vez') pause

%hay que bajar patas de 'r' a pos inicial adecuada if (av_angular) if (giro_total > 0) gamma_giro_csigno=gamma_giro; gamma_giro_csigno2=gamma_giro; else gamma_giro_csigno=-gamma_giro; gamma_giro_csigno2=-gamma_giro; end else

if (lado_apoyado=='l') gamma_giro_csigno=-gamma_remada_i; gamma_giro_csigno2=gamma_remada_i; else gamma_giro_csigno=gamma_remada_i; gamma_giro_csigno2=-gamma_remada_i; end

end disp('previo a cambio de lado')

205

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

if (lado_apoyado=='l')

[alfa4,beta4,gamma4,alfa5,beta5,gamma5,alfa6,beta6,gamma6]=bajar_patas ('r',... alfa4,beta4,gamma4,alfa5,beta5,gamma5,alfa6,beta6,gamma6,... alfa_remada,beta_remada,gamma_giro_csigno,alfa_remada,beta_remada,gamm a_giro_csigno2,alfa_remada,beta_remada,gamma_giro_csigno,... centro,ang_veh,... alfa1,beta1,gamma1,alfa2,beta2,gamma2,alfa3,beta3,gamma3); disp('cambiando lado apoyado a r') lado_apoyado='r'; else

[alfa1,beta1,gamma1,alfa2,beta2,gamma2,alfa3,beta3,gamma3]=bajar_patas ('l',... alfa1,beta1,gamma1,alfa2,beta2,gamma2,alfa3,beta3,gamma3,... alfa_remada,beta_remada,gamma_giro_csigno,alfa_remada,beta_remada,gamm a_giro_csigno2,alfa_remada,beta_remada,gamma_giro_csigno,... centro,ang_veh,... alfa4,beta4,gamma4,alfa5,beta5,gamma5,alfa6,beta6,gamma6); disp('cambiando lado apoyado a l') lado_apoyado='l'; end disp('ya ha bajado las patas y ha dibujado su poscion')

clf; [pie1 pie2 pie3 pie4 pie5 pie6] = drawspider_con_angulo(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,'si');

mesh(xSuelo,ySuelo,zSuelo); drawnow disp('ha bajado los pies y los ha colocado en posicion de giro')

%ESTAS TIENEN QUE SER DE SEIS REACCIONES

Reacciones=CalculaReacciones_2015_mod(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,... pie1,pie2,pie3,pie4,pie5,pie6);

TodasReacciones=[TodasReacciones;Reacciones];

206

ANNEX 1

[P6_Xbarra1,P6_Xbarra2,P6_R2x,P6_R3x,P6_R2z,P6_R3z]=CalculaFuerzas_201 5_mod(alfa6,beta6,gamma6,Reacciones(1,6),6) ;

[P5_Xbarra1,P5_Xbarra2,P5_R2x,P5_R3x,P5_R2z,P5_R3z]=CalculaFuerzas_201 5_mod(alfa5,beta5,gamma5,Reacciones(1,5),5) ;

[P4_Xbarra1,P4_Xbarra2,P4_R2x,P4_R3x,P4_R2z,P4_R3z]=CalculaFuerzas_201 5_mod(alfa4,beta4,gamma4,Reacciones(1,4),4) ;

[P3_Xbarra1,P3_Xbarra2,P3_R2x,P3_R3x,P3_R2z,P3_R3z]=CalculaFuerzas_201 5_mod(alfa3,beta3,gamma3,Reacciones(1,3),3) ;

[P2_Xbarra1,P2_Xbarra2,P2_R2x,P2_R3x,P2_R2z,P2_R3z]=CalculaFuerzas_201 5_mod(alfa2,beta2,gamma2,Reacciones(1,2),2) ;

[P1_Xbarra1,P1_Xbarra2,P1_R2x,P1_R3x,P1_R2z,P1_R3z]=CalculaFuerzas_201 5_mod(alfa1,beta1,gamma1,Reacciones(1,1),1) ;

disp('reacciones') Reacciones(1,6),6 Reacciones(1,5),5 Reacciones(1,4),4 Reacciones(1,3),3 Reacciones(1,2),2 Reacciones(1,1),1

Matriz_calculo=[Matriz_calculo;alfa1 beta1 gamma1 alfa2 beta2 gamma2 alfa3 beta3 gamma3 alfa4 beta4 gamma4 alfa5 beta5 gamma5 alfa6 beta6 gamma6 ] plot_tray(centro_mat) %%%%%%5 disp('Inicio de movimiento 01010101 patas6 segunda vez') pause

end;

%

% %save('Matriz_Memoria_PrimeraTray.txt',Matriz_Memoria,'-ascii');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%2A parte de movimiento

%%%%%%%%%%%Destino%%%%%%%%%%%%%%%%%%%%%%%%%%% Xdestino=3;%8 Ydestino=3;%6

Zdestino=buscaZ(Xdestino,Ydestino,xSuelo,ySuelo,zSuelo); alturaZ=obtener_altura_centro(alfa1*pi/180,beta1*pi/180,Zdestino,alfa6 *pi/180,beta6*pi/180,0); %altura = 0.8; destino = [Xdestino Ydestino alturaZ];%10 207

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS temporal= generacion_tray(centro,ang_veh,destino)

giro_total=temporal(1) distancia=temporal(2); ang_final=ang_veh+giro_total; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Inicio de movimiento%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%Con calculo de posiciones de pies dado terreno y angulos/pos centro inicial%%

[pie1 pie2 pie3 pie4 pie5 pie6] = drawspider_con_angulo(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,'si');

%Nuevo: necesario para correspondencia con superficie [c1_0,c2_0,c3_0,c4_0,c5_0,c6_0] = getshoulders_explicit(ang_veh,centro); [alfa1,beta1,gamma1]=getcoordart_general(c1_0,[pie1(1) pie1(2) interp2(xMesh,yMesh,zSuelo,pie1(1),pie1(2))],1,ang_veh); [alfa2,beta2,gamma2]=getcoordart_general(c2_0,[pie2(1) pie2(2) interp2(xMesh,yMesh,zSuelo,pie2(1),pie2(2))],2,ang_veh); [alfa3,beta3,gamma3]=getcoordart_general(c3_0,[pie3(1) pie3(2) interp2(xMesh,yMesh,zSuelo,pie3(1),pie3(2))],3,ang_veh); [alfa4,beta4,gamma4]=getcoordart_general(c4_0,[pie4(1) pie4(2) interp2(xMesh,yMesh,zSuelo,pie4(1),pie4(2))],4,ang_veh); [alfa5,beta5,gamma5]=getcoordart_general(c5_0,[pie5(1) pie5(2) interp2(xMesh,yMesh,zSuelo,pie5(1),pie5(2))],5,ang_veh); [alfa6,beta6,gamma6]=getcoordart_general(c6_0,[pie6(1) pie6(2) interp2(xMesh,yMesh,zSuelo,pie6(1),pie6(2))],6,ang_veh);

if (abs(giro_total) > 0.1)

[alfa1,beta1,gamma1,alfa2,beta2,gamma2,alfa3,beta3,gamma3,alfa4,beta4, gamma4,alfa5,beta5,gamma5,alfa6,beta6,gamma6] = ... posicionamiento_inicio_giro(alfa1,beta1,gamma1,alfa2,beta2,gamma2,alfa 3,beta3,gamma3,alfa4,beta4,gamma4,... alfa5,beta5,gamma5,alfa6,beta6,gamma6,centro,ang_veh,giro_total, lado_apoyado); end;

%[cent,opl]=getcenter(pie1,pie3,lado_apoyado); sign_anterior_x=destino(1)-centro(1); sign_anterior_y=destino(2)-centro(2);

208

ANNEX 1

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%

%Bucle de movimiento%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% while ((ang_veh < ang_final) & (giro_total>0)) | ((ang_veh > ang_final) & (giro_total<0)) | ... sqrt((centro(1)-destino(1))^2+(centro(2)-destino(2))^2) > margen_aceptacion_lineal

if ((ang_veh < ang_final) & (giro_total>0)) | ((ang_veh > ang_final) & (giro_total<0)) av_angular=1; %determinamos intervalo angular que vamos a rotar en esta pasada if (giro_total > 0) if (ang_veh+intervalo_base_giro > ang_final) intervalo_ang=ang_final-ang_veh; else intervalo_ang=intervalo_base_giro; end else if (ang_veh-intervalo_base_giro < ang_final) intervalo_ang=ang_final-ang_veh; else intervalo_ang=-intervalo_base_giro; end end % del if determinamos intervalo angular else %determinamos el intervalo lineal que vamos a avanzar en esta pasada centro_mat=[centro_mat;centro];

av_angular=0; %compruebo no haya sobrepasado punto: distancia_restante=sqrt((centro(1)-destino(1))^2+(centro(2)- destino(2))^2);

if (distancia_restante > intervalo_base_lineal) intervalo_lin=intervalo_base_lineal; else if (sign(destino(1)-centro(1))==sign(sign_anterior_x)) & (sign(destino(2)-centro(2))==sign(sign_anterior_y)) sign_anterior_x=destino(1)-centro(1); sign_anterior_y=destino(2)-centro(2); intervalo_lin=distancia_restante; else break; end end end

if (lado_apoyado=='l') %hay que elevar las patas de 'r', las de 'l' ya estan en posicion inicial adecuada alfa4=alfa_restitucion; beta4=beta_restitucion;

209

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

alfa5=alfa_restitucion; beta5=beta_restitucion;

alfa6=alfa_restitucion; beta6=beta_restitucion;

if (av_angular) if (giro_total > 0) gamma4= (gamma_giro); gamma5=gamma_giro; gamma6=(gamma_giro); else gamma4=-gamma_giro; gamma5=-gamma_giro; gamma6=-gamma_giro; end else disp('gamma4') gamma4=-gamma_remada_i; gamma5=gamma_remada_i; gamma6=-gamma_remada_i; end

else %lado apoyado =='r' alfa1=alfa_restitucion; beta1=beta_restitucion;

alfa2=alfa_restitucion; beta2=beta_restitucion;

alfa3=alfa_restitucion; beta3=beta_restitucion;

if (av_angular) if (giro_total > 0) gamma1=gamma_giro; gamma2=gamma_giro; gamma3=gamma_giro; else gamma1=-gamma_giro; gamma2=-gamma_giro; gamma3=-gamma_giro; end else disp('gamma1') gamma1= gamma_remada_i; gamma2=-gamma_remada_i; gamma3=gamma_remada_i; end

end clf;

[pie1 pie2 pie3 pie4 pie5 pie6] = drawspider_con_angulo(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... 210

ANNEX 1

alfa6,beta6,gamma6,'si');

drawnow disp('patas elevadas')

disp('Inicio de movimiento 01010101 patas 3') pause

Reacciones3=CalculaReacciones_2015_3(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,... pie1,pie2,pie3,pie4,pie5,pie6);

% 3 TodasReacciones3=[TodasReacciones3;Reacciones3];

[P6_Xbarra1,P6_Xbarra2,P6_R2x,P6_R3x,P6_R2z,P6_R3z]=CalculaFuerzas_201 5_mod(alfa6,beta6,gamma6,Reacciones3(1,6),6) ;

[P5_Xbarra1,P5_Xbarra2,P5_R2x,P5_R3x,P5_R2z,P5_R3z]=CalculaFuerzas_201 5_mod(alfa5,beta5,gamma5,Reacciones3(1,5),5) ;

[P4_Xbarra1,P4_Xbarra2,P4_R2x,P4_R3x,P4_R2z,P4_R3z]=CalculaFuerzas_201 5_mod(alfa4,beta4,gamma4,Reacciones3(1,4),4) ; % [P3_Xbarra1,P3_Xbarra2,P3_R2x,P3_R3x,P3_R2z,P3_R3z]=CalculaFuerzas_201 5(alfa3,beta3,gamma3,Reacciones(1,3),3) ; % [P2_Xbarra1,P2_Xbarra2,P2_R2x,P2_R3x,P2_R2z,P2_R3z]=CalculaFuerzas_201 5(alfa2,beta2,gamma2,Reacciones(1,2),2) ; % [P1_Xbarra1,P1_Xbarra2,P1_R2x,P1_R3x,P1_R2z,P1_R3z]=CalculaFuerzas_201 5(alfa1,beta1,gamma1,Reacciones(1,1),1) ;

disp('reacciones 6 5 4')

Reacciones3(1,6),6 Reacciones3(1,5),5 Reacciones3(1,4),4

Matriz_calculo=[Matriz_calculo;alfa1 beta1 gamma1 alfa2 beta2 gamma2 alfa3 beta3 gamma3 alfa4 beta4 gamma4 alfa5 beta5 gamma5 alfa6 beta6 gamma6 ]

[alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... 211

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS alfa6,beta6,gamma6] [c1_0,c2_0,c3_0,c4_0,c5_0,c6_0] = getshoulders_explicit(ang_veh,centro); c1_0

matriz_retorno=zeros([6,3]); if av_angular while matriz_retorno==zeros([6,3]) & sign(intervalo_ang)==sign(giro_total) & intervalo_ang~=0 ang_veh matriz_retorno=rotate_spider(intervalo_ang,[pie1; pie2; pie3; pie4; pie5; pie6],lado_apoyado); ang_veh if matriz_retorno==zeros([6,3]) intervalo_ang=intervalo_ang-(sign(giro_total))*1; end end end while matriz_retorno==zeros([6,3]) & intervalo_lin > 0 matriz_retorno=advance_spider(intervalo_lin,[pie1; pie2; pie3; pie4; pie5; pie6],lado_apoyado); if matriz_retorno==zeros([6,3]) intervalo_lin=intervalo_lin-intervalo_base_lineal/10; end end

% [alfa1 beta1 gamma1;alfa2 beta2 gamma2;alfa3 beta3 gamma3;alfa4 beta4 gamma4;alfa5 beta5 gamma5;alfa6 beta6 gamma6]=matriz_retorno; alfa1=matriz_retorno(1,1); alfa2=matriz_retorno(2,1); alfa3=matriz_retorno(3,1); alfa4=matriz_retorno(4,1); alfa5=matriz_retorno(5,1); alfa6=matriz_retorno(6,1); beta1=matriz_retorno(1,2); beta2=matriz_retorno(2,2); beta3=matriz_retorno(3,2); beta4=matriz_retorno(4,2); beta5=matriz_retorno(5,2); beta6=matriz_retorno(6,2); gamma1=matriz_retorno(1,3); gamma2=matriz_retorno(2,3); gamma3=matriz_retorno(3,3); gamma4=matriz_retorno(4,3); gamma5=matriz_retorno(5,3); gamma6=matriz_retorno(6,3);

[alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6]

[c1_0,c2_0,c3_0,c4_0,c5_0,c6_0] = 212

ANNEX 1 getshoulders_explicit(ang_veh,centro); c1_0 %pause(2) [pie1 pie2 pie3 pie4 pie5 pie6] = drawspider_con_angulo(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,'si');

% [alfa1 beta1 gamma1;alfa2 beta2 gamma2;alfa3 beta3 gamma3;alfa4 beta4 gamma4;alfa5 beta5 gamma5;alfa6 beta6 gamma6]

%REACCIONES 6 Reacciones=CalculaReacciones_2015_mod(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,... pie1,pie2,pie3,pie4,pie5,pie6);

TodasReacciones=[TodasReacciones;Reacciones];

[P6_Xbarra1,P6_Xbarra2,P6_R2x,P6_R3x,P6_R2z,P6_R3z]=CalculaFuerzas_201 5_mod(alfa6,beta6,gamma6,Reacciones(1,6),6) ;

[P5_Xbarra1,P5_Xbarra2,P5_R2x,P5_R3x,P5_R2z,P5_R3z]=CalculaFuerzas_201 5_mod(alfa5,beta5,gamma5,Reacciones(1,5),5) ;

[P4_Xbarra1,P4_Xbarra2,P4_R2x,P4_R3x,P4_R2z,P4_R3z]=CalculaFuerzas_201 5_mod(alfa4,beta4,gamma4,Reacciones(1,4),4) ;

[P3_Xbarra1,P3_Xbarra2,P3_R2x,P3_R3x,P3_R2z,P3_R3z]=CalculaFuerzas_201 5_mod(alfa3,beta3,gamma3,Reacciones(1,3),3) ;

[P2_Xbarra1,P2_Xbarra2,P2_R2x,P2_R3x,P2_R2z,P2_R3z]=CalculaFuerzas_201 5_mod(alfa2,beta2,gamma2,Reacciones(1,2),2) ;

[P1_Xbarra1,P1_Xbarra2,P1_R2x,P1_R3x,P1_R2z,P1_R3z]=CalculaFuerzas_201 5_mod(alfa1,beta1,gamma1,Reacciones(1,1),1) ;

Reacciones(1,6),6; Reacciones(1,5),5; Reacciones(1,4),4; Reacciones(1,3),3; Reacciones(1,2),2; Reacciones(1,1),1;

Matriz_calculo=[Matriz_calculo;alfa1 beta1 gamma1 alfa2 beta2 gamma2 alfa3 beta3 gamma3 alfa4 beta4 gamma4 alfa5 beta5 gamma5 alfa6 beta6 gamma6 Reacciones(1,1),1 Reacciones(1,2),2 Reacciones(1,3),3 Reacciones(1,4),4 Reacciones(1,5),5 Reacciones(1,6),6 ]

disp('ha acabado de rotar/avanzar y recalcula posicion pies') 213

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS disp('Inicio de movimiento 01010101 patas 6') pause

%hay que bajar patas de 'r' a pos inicial adecuada if (av_angular) if (giro_total > 0) gamma_giro_csigno=gamma_giro; gamma_giro_csigno2=gamma_giro; else gamma_giro_csigno=-gamma_giro; gamma_giro_csigno2=-gamma_giro; end else

if (lado_apoyado=='l') gamma_giro_csigno=-gamma_remada_i; gamma_giro_csigno2=gamma_remada_i; else gamma_giro_csigno=gamma_remada_i; gamma_giro_csigno2=-gamma_remada_i; end

end disp('previo a cambio de lado') if (lado_apoyado=='l')

[alfa4,beta4,gamma4,alfa5,beta5,gamma5,alfa6,beta6,gamma6]=bajar_patas ('r',... alfa4,beta4,gamma4,alfa5,beta5,gamma5,alfa6,beta6,gamma6,... alfa_remada,beta_remada,gamma_giro_csigno,alfa_remada,beta_remada,gamm a_giro_csigno2,alfa_remada,beta_remada,gamma_giro_csigno,... centro,ang_veh,... alfa1,beta1,gamma1,alfa2,beta2,gamma2,alfa3,beta3,gamma3); disp('cambiando lado apoyado a r') lado_apoyado='r'; else

[alfa1,beta1,gamma1,alfa2,beta2,gamma2,alfa3,beta3,gamma3]=bajar_patas ('l',... alfa1,beta1,gamma1,alfa2,beta2,gamma2,alfa3,beta3,gamma3,... alfa_remada,beta_remada,gamma_giro_csigno,alfa_remada,beta_remada,gamm a_giro_csigno2,alfa_remada,beta_remada,gamma_giro_csigno,... centro,ang_veh,... alfa4,beta4,gamma4,alfa5,beta5,gamma5,alfa6,beta6,gamma6); disp('cambiando lado apoyado a l') lado_apoyado='l'; end disp('ya ha bajado las patas y ha dibujado su poscion')

clf; [pie1 pie2 pie3 pie4 pie5 pie6] = drawspider_con_angulo(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... 214

ANNEX 1

alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,'si');

mesh(xSuelo,ySuelo,zSuelo); drawnow disp('ha bajado los pies y los ha colocado en posicion de giro')

% Vuelve a apoyar en 3 patas

Reacciones3=CalculaReacciones3_2015(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,... pie1,pie2,pie3,pie4,pie5,pie6);

%REACCIONES 3 TodasReacciones3=[TodasReacciones3;Reacciones3];

% [P6_Xbarra1,P6_Xbarra2,P6_R2x,P6_R3x,P6_R2z,P6_R3z]=CalculaFuerzas_201 5(alfa6,beta6,gamma6,Reacciones(1,6),6) ; % [P5_Xbarra1,P5_Xbarra2,P5_R2x,P5_R3x,P5_R2z,P5_R3z]=CalculaFuerzas_201 5(alfa5,beta5,gamma5,Reacciones(1,5),5) ; % [P4_Xbarra1,P4_Xbarra2,P4_R2x,P4_R3x,P4_R2z,P4_R3z]=CalculaFuerzas_201 5(alfa4,beta4,gamma4,Reacciones(1,4),4) ;

[P3_Xbarra1,P3_Xbarra2,P3_R2x,P3_R3x,P3_R2z,P3_R3z]=CalculaFuerzas_201 5_mod(alfa3,beta3,gamma3,Reacciones(1,3),3) ;

[P2_Xbarra1,P2_Xbarra2,P2_R2x,P2_R3x,P2_R2z,P2_R3z]=CalculaFuerzas_201 5_mod(alfa2,beta2,gamma2,Reacciones(1,2),2) ;

[P1_Xbarra1,P1_Xbarra2,P1_R2x,P1_R3x,P1_R2z,P1_R3z]=CalculaFuerzas_201 5_mod(alfa1,beta1,gamma1,Reacciones(1,1),1) ; plot_tray(centro_mat)

Reacciones(1,3),3 Reacciones(1,2),2 Reacciones(1,1),1

Matriz_calculo=[Matriz_calculo;alfa1 beta1 gamma1 alfa2 beta2 gamma2 alfa3 beta3 gamma3 alfa4 beta4 gamma4 alfa5 beta5 gamma5 alfa6 beta6 gamma6 Reacciones(1,1),1 Reacciones(1,2),2 Reacciones(1,3),3 ] disp('Inicio de movimiento 01010101 patas 3') pause end;

215

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

2- Three leg reaction forces function:

function Reacciones3=CalculaReacciones_2015_3(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,... pie1,pie2,pie3,pie4,pie5,pie6) global fig_arana

%REACCIONES

% MOMENTOS LEG1 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& % distancias R1

Lh=0.06; f=0.5; a=0.25; b=0.25; c=0.5; e=0.3; L2=0.7; L1=0.55; ancho=1.6/2; alto=0.6/2; base2=1/2; base=0.6/2; W=400; w1=60; w11=20; w2=60; w22=20; w3=60; w33=20; w4=60; w44=20; w5=60; w55=20; w6=60; w66=20; WT=880; alfa1=(alfa1*pi)/180; beta1=(beta1*pi)/180; gamma1=(gamma1*pi)/180; alfa2=(alfa2*pi)/180; beta2=(beta2*pi)/180; gamma2=(gamma2*pi)/180; alfa3=(alfa3*pi)/180; beta3=(beta3*pi)/180; gamma3=(gamma3*pi)/180;

216

ANNEX 1

alfa4=(alfa4*pi)/180; beta4=(beta4*pi)/180; gamma4=(gamma4*pi)/180; alfa5=(alfa5*pi)/180; beta5=(gamma5*pi)/180; gamma5=(gamma5*pi)/180; alfa6=(alfa6*pi)/180; beta6=(beta6*pi)/180; gamma6=(gamma6*pi)/180;

% distancias w6 %SEXTA PATA 6 EN PROGRAMA EQUIVALE A NUMERO 1 NEGRA

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xtotal6=(L1*cos(alfa6)+ L2*sin(beta6+alfa6-pi/2)); x6total=(xtotal6*cos(gamma6))+ base; y6total=(-(xtotal6*sin(gamma6))+ ancho); z6total=-(-L1*sin(alfa6)+L2*cos(beta6+alfa6-pi/2)+ alto/2);

% distancias w6 xw6=(L1/2*cos(alfa6)*cos(gamma6)+ base); yw6=(L1/2*cos(alfa6)*sin(gamma6)-ancho); zw6=-(L1/2*sin(alfa6)-alto/2);

% distancias w66 xw66=((L1*cos(alfa6)+ L2/2*sin(beta6+alfa6-pi/2))*cos(gamma6)+ base); yw66=((L1*cos(alfa6)+ L2/2*sin(beta6+alfa6-pi/2))*sin(gamma6)- ancho); zw66=-((-L1*sin(alfa6)+ L2/2*cos(beta6+alfa6-pi/2))+ alto/2);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %distancias R2=0(no tiene componente y added por estar en el eje) %SEGUNDA PATA 2 EN PROGRAMA EQUIVALE A NUMERO 2 ROJA xtotal2=(L1*cos(alfa2)+ L2*sin(beta2+alfa2-pi/2)); x2total=(xtotal2*cos(gamma2)+ base2); y2total= -(xtotal2*sin(gamma2)); z2total=(-L1*sin(alfa2)+L2*cos(beta2+alfa2-pi/2)+ alto/2);

%distancia w2 xw2=(L1/2*cos(alfa2)*cos(gamma2)+ base2); yw2=-(L1/2*cos(alfa2)*sin(gamma2)); zw2=(-(L1/2*sin(alfa2)-alto/2)) ;

% distancias w22 xw22=((L1*cos(alfa2)+ L2/2*sin(beta2+alfa2-pi/2))*cos(gamma2)+ base2); yw22=(L1*cos(alfa2)+ L2/2*sin(beta2+alfa2-pi/2))*sin(gamma2); zw22=(-(-L1*sin(alfa2)+ L2/2*cos(beta2+alfa2-pi/2))+ alto/2);

217

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

% % distancias w4 %CUARTA PATA 4 EN PROGRAMA EQUIVALE A NUMERO 3 CYAN xtotal4=(L1*cos(alfa4)+ L2*sin(beta4+alfa4-pi/2)); x4total=xtotal4*cos(gamma4)+ base; y4total=-(xtotal4*sin(gamma4)+ ancho); z4total=((-L1*sin(alfa4)+L2*cos(beta4+alfa4-pi/2))+ alto/2);

%distancia w4 xw4=L1/2*cos(alfa4)*cos(gamma4)+ base; yw4=((L1/2*cos(alfa4)*sin(gamma4))+ ancho); zw4=L1/2*sin(alfa4)- alto/2;

% distancias w44 xw44=((L1*cos(alfa4)+ L2/2*sin(beta4+alfa4-pi/2))*cos(gamma4)+ base); yw44=((L1*cos(alfa4)+ L2/2*sin(beta4+alfa4-pi/2))*sin(gamma4)+ ancho); zw44=((-L1*sin(alfa4)+ L2/2*cos(beta4+alfa4-pi/2))+ alto/2);

%& coefx=+(w4*xw4)+(w44*xw44)+(w2*xw2)+(w22*xw22)+(w6*xw6)+(w66*xw66); coefy=+(w4*yw4)+(w44*yw44)+(w2*yw2)+(w22*yw22)+(w6*yw6)+(w66*yw66);

% COEFFICIENT MATRIX

matriz=[ 1 1 1 ; y4total y2total y6total; x4total x2total x6total ] ;

% INDEPENDENT TERM MATRIX

IM=[WT; coefy; coefx]; % coefz];

%AX=I SOLUTION X=(A-1)*I % XM= inv(matriz)*IM;

% REACTIONS AT ORIGIN 0

R1=XM(1,1); R2=XM(2,1); R3=XM(3,1);

218

ANNEX 1

%DIBUJA REACCIONES EN EL FINAL DEL PIE PARA CADA PATA

pies=[pie1;pie2;pie3];

%draw now figure(fig_arana) hold on for indR=1:3

if XM(indR,1)<200

plot3 ( pies(indR,1),pies(indR,2),pies(indR,3)+0.25,'go','Linewidth',2,'Marker Size',10)

elseif (XM(indR,1)>200 & XM(indR,1)<500) plot3 ( pies(indR,1),pies(indR,2),pies(indR,3)+0.25,'bo','Linewidth',2,'Marker Size',10) else plot3 ( pies(indR,1),pies(indR,2),pies(indR,3)+0.25,'ro','Linewidth',2,'Marker Size',10) pause end

angulos=[alfa1 beta1 gamma1 R1; alfa2 beta2 gamma2 R2 ;alfa3 beta3 gamma3 R3 ]; end

Reacciones3=XM';

219

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

3- Six leg reaction forces function:

function Reacciones=CalculaReacciones_2015(alfa1,beta1,gamma1,... alfa2,beta2,gamma2,... alfa3,beta3,gamma3,... alfa4,beta4,gamma4,... alfa5,beta5,gamma5,... alfa6,beta6,gamma6,... pie1,pie2,pie3,pie4,pie5,pie6) global fig_arana

%REACCIONES

% MOMENTOS LEG1 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& % distancias R1

Lh=0.06; f=0.5; a=0.25; b=0.25; c=0.5; e=0.3; L2=0.7; L1=0.55; ancho=1.6/2; alto=0.6/2; base2=1/2; base=0.6/2; W=400; w1=60; w11=20; w2=60; w22=20; w3=60; w33=20; w4=60; w44=20; w5=60; w55=20; w6=60; w66=20; WT=880; alfa1=(alfa1*pi)/180; beta1=(beta1*pi)/180; gamma1=(gamma1*pi)/180; alfa2=(alfa2*pi)/180; beta2=(beta2*pi)/180; gamma2=(gamma2*pi)/180; alfa3=(alfa3*pi)/180; beta3=(beta3*pi)/180; gamma3=(gamma3*pi)/180;

220

ANNEX 1

alfa4=(alfa4*pi)/180; beta4=(beta4*pi)/180; gamma4=(gamma4*pi)/180; alfa5=(alfa5*pi)/180; beta5=(gamma5*pi)/180; gamma5=(gamma5*pi)/180; alfa6=(alfa6*pi)/180; beta6=(beta6*pi)/180; gamma6=(gamma6*pi)/180;

%PRIMERA PATA 1 EN PROGRAMA EQUIVALE A NUMERO 4 VERDE

% angle_beta=(beta1+alfa1-pi/2)*180/pi

xtotal1=-(L1*cos(alfa1)+ L2*sin(beta1+alfa1-pi/2)); x1total=xtotal1*cos(gamma1)+ base; y1total=-(xtotal1*sin(gamma1)+ ancho); z1total=-((-L1*sin(alfa1)+L2*cos(beta1+alfa1-pi/2))+ alto/2);

xw1=-(L1/2*cos(alfa1)*cos(gamma1)+ base); yw1=(L1/2*cos(alfa1)*sin(gamma1)+ ancho); zw1= (alto/2- L1/2*sin(alfa1));

% distancias % w11------

xw11=-((L1*cos(alfa1)+ L2/2*sin(beta1+alfa1-pi/2))*cos(gamma1)+ base); yw11=((L1*cos(alfa1)+ L2/2*sin(beta1+alfa1-pi/2))*sin(gamma1)+ ancho); zw11=(alto/2-(-L1*sin(alfa1)+ L2/2*cos(beta1+alfa1-pi/2)));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %distancias R2=0(no tiene componente y added por estar en el eje) %SEGUNDA PATA 2 EN PROGRAMA EQUIVALE A NUMERO 2 ROJA xtotal2=(L1*cos(alfa2)+ L2*sin(beta2+alfa2-pi/2)); x2total=(xtotal2*cos(gamma2)+ base2); y2total= -(xtotal2*sin(gamma2)); z2total=(-L1*sin(alfa2)+L2*cos(beta2+alfa2-pi/2)+ alto/2);

%distancia w2 xw2=(L1/2*cos(alfa2)*cos(gamma2)+ base2); yw2=-(L1/2*cos(alfa2)*sin(gamma2)); zw2=(-(L1/2*sin(alfa2)-alto/2)) ;

% distancias w22

221

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS xw22=((L1*cos(alfa2)+ L2/2*sin(beta2+alfa2-pi/2))*cos(gamma2)+ base2); yw22=(L1*cos(alfa2)+ L2/2*sin(beta2+alfa2-pi/2))*sin(gamma2); zw22=(-(-L1*sin(alfa2)+ L2/2*cos(beta2+alfa2-pi/2))+ alto/2);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %

%distancias R3 %TERCERA PATA 3 EN PROGRAMA EQUIVALE A NUMERO 6 AZUL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xtotal3=-(L1*cos(alfa3)+ L2*sin(beta3+alfa3-pi/2)); x3total=(xtotal3*cos(gamma3))+ base; y3total=((xtotal3*sin(gamma3))+ ancho); z3total=-(-L1*sin(alfa3)+L2*cos(beta3+alfa3-pi/2)+ alto/2); xw3=-(L1/2*cos(alfa3)*cos(gamma3)+ base); yw3= -(L1/2*cos(alfa3)*sin(gamma3)+ ancho); zw3= -(L1/2*sin(alfa3)- alto/2);

% distancias % w33------xw33=-((L1*cos(alfa3)+ L2/2*sin(beta3+alfa3-pi/2))*cos(gamma3)+ base); yw33=(-(L1*cos(alfa3)+ L2/2*sin(beta3+alfa3-pi/2))*sin(gamma3)- ancho); zw33=(-(-L1*sin(alfa3)+ L2/2*cos(beta3+alfa3-pi/2))+ alto/2);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % distancias w4 %CUARTA PATA 4 EN PROGRAMA EQUIVALE A NUMERO 3 CYAN xtotal4=(L1*cos(alfa4)+ L2*sin(beta4+alfa4-pi/2)); x4total=xtotal4*cos(gamma4)+ base; y4total=-(xtotal4*sin(gamma4)+ ancho); z4total=((-L1*sin(alfa4)+L2*cos(beta4+alfa4-pi/2))+ alto/2);

%distancia w4 xw4=L1/2*cos(alfa4)*cos(gamma4)+ base; yw4=((L1/2*cos(alfa4)*sin(gamma4))+ ancho); zw4=L1/2*sin(alfa4)- alto/2;

% distancias w44 xw44=((L1*cos(alfa4)+ L2/2*sin(beta4+alfa4-pi/2))*cos(gamma4)+ base); yw44=((L1*cos(alfa4)+ L2/2*sin(beta4+alfa4-pi/2))*sin(gamma4)+ ancho); zw44=((-L1*sin(alfa4)+ L2/2*cos(beta4+alfa4-pi/2))+ alto/2);

222

ANNEX 1

%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

% distancias R5 %QUINTA PATA 5 EN PROGRAMA EQUIVALE A NUMERO 5 MAGENTA

xtotal5=-(L1*cos(alfa5)+ L2*sin(beta5+alfa5-pi/2)); x5total=(xtotal5*cos(gamma5)- base2); y5total= -(xtotal5*sin(gamma5)); z5total=(-L1*sin(alfa5)+L2*cos(beta5+alfa5-pi/2)+ alto/2);

% distancias % w5------xw5=-(L1/2*cos(alfa5)*cos(gamma5)+ base2); yw5= -(L1/2*cos(alfa5)*sin(gamma5)); zw5= L1/2*sin(alfa5)- alto/2;

% distancias w55 xw55=-((L1*cos(alfa5)+ L2/2*sin(beta5+alfa5-pi/2))*cos(gamma5)+ base2); yw55=((L1*cos(alfa5)+ L2/2*sin(beta5+alfa5-pi/2))*sin(gamma5)); zw55=(-(-L1*sin(alfa5)+ L2/2*cos(beta5+alfa5-pi/2))+ alto/2); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%

% distancias w6 %SEXTA PATA 6 EN PROGRAMA EQUIVALE A NUMERO 1 NEGRA

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xtotal6=(L1*cos(alfa6)+ L2*sin(beta6+alfa6-pi/2)); x6total=(xtotal6*cos(gamma6))+ base; y6total=(-(xtotal6*sin(gamma6))+ ancho); z6total=-(-L1*sin(alfa6)+L2*cos(beta6+alfa6-pi/2)+ alto/2);

% distancias w6 xw6=(L1/2*cos(alfa6)*cos(gamma6)+ base); yw6=(L1/2*cos(alfa6)*sin(gamma6)-ancho); zw6=-(L1/2*sin(alfa6)-alto/2);

% distancias w66 xw66=((L1*cos(alfa6)+ L2/2*sin(beta6+alfa6-pi/2))*cos(gamma6)+ base); yw66=((L1*cos(alfa6)+ L2/2*sin(beta6+alfa6-pi/2))*sin(gamma6)- ancho); zw66=-((-L1*sin(alfa6)+ L2/2*cos(beta6+alfa6-pi/2))+ alto/2);

223

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

% %AX=I SOLUTION X=(A-1)*I % % % XM= IAM*IM; coefx=(w1*xw1)+ (w11*xw11)+ (w2*xw2)+ (w22*xw22)+ (w3*xw3) + (w33*xw33)+ (w4*xw4)+ (w44*xw44)+ (w5*xw5)+ (w55*xw55) + (w6*xw6)+(w66*xw66) ; coefy=(w1*yw1)+ (w11*yw11)+ (w2*yw2)+ (w22*yw22)+ (w3*yw3) + (w33*yw33)+ (w4*yw4)+ (w44*yw44)+ (w5*yw5)+ (w55*yw55) + (w6*yw6)+(w66*yw66) ;

% COEFFICIENT MATRIX

AM=[ 1 1 1 1 1 1; y1total y2total y3total y4total y5total y6total; x1total x2total x3total x4total x5total x6total];

IAM =[1 y1total x1total ; 1 y2total x2total ; 1 y3total x3total ; 1 y4total x4total ; 1 y5total x5total ; 1 y6total x6total ];

% INDEPENDENT TERM MATRIX

IM=[WT/6; coefy; coefx];

%AX=I SOLUTION X=(A-1)*I % XM= IAM*IM;

% REACTIONS AT ORIGIN 0

%orden R1 a R6

R6=XM(6,1) R2=XM(2,1) R4=XM(4,1) R1=XM(1,1) R5=XM(5,1) R3=XM(3,1)

224

ANNEX 1

%DIBUJA REACCIONES EN EL FINAL DEL PIE PARA CADA PATA pies=[pie1;pie2;pie3;pie4;pie5;pie6];

%draw now figure(fig_arana) hold on for indR=1:6

if XM(indR,1)<200

plot3 ( pies(indR,1),pies(indR,2),pies(indR,3)+0.25,'go','Linewidth',2,'Marker Size',10)

elseif (XM(indR,1)>200 & XM(indR,1)<500) plot3 ( pies(indR,1),pies(indR,2),pies(indR,3)+0.25,'bo','Linewidth',2,'Marker Size',10) else plot3 ( pies(indR,1),pies(indR,2),pies(indR,3)+0.25,'ro','Linewidth',2,'Marker Size',10) pause end

angulos=[alfa1 beta1 gamma1 R1; alfa2 beta2 gamma2 R2 ;alfa3 beta3 gamma3 R3 ]; end

Reacciones=XM';

225

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

4- Six leg forces function:

function [Xbarra1,Xbarra2,R2x,R3x,R2z,R3z]=CalculaFuerzas(alfa_L,beta_L,gamma_L ,R_L,num_figura) global fig_arana %REACCIONES

% MOMENTOS LEG1 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& % distancias R1

Lh=0.06; f=0.5; a=0.25; b=0.25; c=0.5; e=0.3; L2=0.7; L1=0.55; ancho=1.6/2; alto=0.6/2; base2=1/2; base=0.6/2; W=400; w1=60; w11=20; w2=60; w22=20; w3=60; w33=20; w4=60; w44=20; w5=60; w55=20; w6=60; w66=20; WT=(W+w1*6+w11*6);

%FORCES

%R_L=R_L B1=alfa_L/180*pi;

B= ((pi/2)- B1);

b=sqrt(c^2+a^2-(2*c*a*cos(B)));

C1=((c/b)*sin(B));

C=asin(C1);

%C2=C*180/3.1416

A1=((a/c)*sin(C));

226

ANNEX 1

A=asin(A1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % for beta angle.

Ln= sqrt(L1^2+e^2-(2*L1*e*cos(beta_L/180*pi)));

alf2=((L1^2+Ln^2-e^2)/(2*Ln*L1)); alffa2=acos(alf2);

angG=pi-beta_L/180*pi-alffa2/180*pi; angH=pi-B-alffa2;

b2=sqrt(Lh^2+Ln^2-(2*Lh*Ln*cos(angH/180*pi)));

cangF2=abs(((Lh^2+b2^2-Ln^2)/(2*Lh*b2))); angF22=acos(cangF2);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Barra2 WWa1=150; WWL1=250; WWL2=250; WWa2=150;

LH2=0.06; LH=0.06; if angF22<=pi/2

angF22=acos(cangF2); beta=beta_L/180*pi+alfa_L/180*pi-pi/2;

Abarra2=[1 0 sin(angF22); 0 1 -cos(angF22); 0 0 (sin(angF22)*( e*cos(beta/180*pi) + LH*sin(alfa_L/180*pi)))-(cos(angF22)*( e*sin(beta/180*pi) + LH*cos(alfa_L/180*pi)))];

Ibarra2=[0; WWL2-R_L; (WWL2*(L2/2*sin(beta/180*pi)+LH*cos(alfa_L/180*pi)))- (R_L*(L2*sin(beta/180*pi)+LH*cos(alfa_L/180*pi)))+(WWa2*cos(angF22)*b2 /2)];

Xbarra2=inv(Abarra2)*Ibarra2;

Rx=Xbarra2(1,1); 227

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

Rz=Xbarra2(2,1); F2=Xbarra2(3,1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % barra1

angF1=C-alfa_L/180*pi;

Abarra1=[1 0 cos(angF1); 0 1 sin(angF1); 0 0 ((L1*cos(alfa_L/180*pi)*sin(angF1))+(L1*sin(alfa_L/180*pi)*cos(angF1)) -(LH*cos(angF1)))];

Ibarra1=[-Rx+F2*sin(angF22); WWL1-Rz- F2*cos(angF22)+WWa1+WWa2; WWL1*L1/2*cos(alfa_L/180*pi)+(Rz*cos(alfa_L/180*pi)*L1)- (Rx*sin(alfa_L/180*pi)*L1)- (F2*sin(angF22)*LH)+(WWa1*b/2*cos(angF1/180*pi))+(WWa2*b2/2*sin(angF22 ))];

% Results for barra1

Xbarra1=inv(Abarra1)*Ibarra1;

R1x=Xbarra1(1,1); R1z=Xbarra1(2,1); F1= Xbarra1(3,1); else angF2= angF22 - pi/2; beta=beta_L/180*pi+alfa_L/180*pi/2;

AM2=[1 0 cos(angF2); 0 1 sin(angF2); 0 0 (cos(angF2)*( e*cos(beta/180*pi) + LH*sin(alfa_L/180*pi)))-(sin(angF2)*( e*sin(beta/180*pi) + LH*cos(alfa_L/180*pi)))];

IM2=[0; WWL2-R_L; (WWL2*(L2/2*sin(beta/180*pi)+LH*sin(alfa_L/180*pi)))- (R_L*(L2*sin(beta/180*pi)+LH*cos(alfa_L/180*pi)))+(WWa2*cos(angF2)*b2/ 2)];

Xbarra2=inv(AM2)*IM2;

Rx=Xbarra2(1,1); Rz=Xbarra2(2,1); F2=Xbarra2(3,1); 228

ANNEX 1

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%% %barra1

angF1=C-alfa_L/180*pi;

Abarra1=[1 0 cos(angF1); 0 1 sin(angF1); 0 0 ((L1*cos(alfa_L/180*pi)*sin(angF1))+(L1*sin(alfa_L/180*pi)*cos(angF1)) -(LH*cos(angF1)))];

Ibarra1=[-Rx+F2*cos(angF2); WWL1-Rz+F2*sin(angF2)+WWa1+WWa2;

WWL1*L1/2*cos(alfa_L/180*pi)+(Rz*cos(alfa_L/180*pi)*L1)- (Rx*sin(alfa_L/180*pi)*L1)- (F2*cos(angF2)*LH)+(WWa1*b/2*cos(angF1))+(WWa2*b2/2*cos(angF2))];

% Results for barra1

Xbarra1=inv(Abarra1)*Ibarra1;

R1x=Xbarra1(1,1); R1z=Xbarra1(2,1); F1= Xbarra1(3,1);

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

L3= 0.5; xdist=0.05; zdist=0.05;

Ra1= F1*sin(A); Rb1= F1*sin(A)/L3; Ra2= ((F1*sin(A)*zdist)-(F1*cos(A)*xdist))/L3 ; Rb2=-Ra2; Rc1= -F1*cos(A); Rc2=Rc1;

Ra11= 0; Rb11= R1x; Ra22=((R1x*zdist)-(R1z*xdist))/L3; Rb22=-Ra22; Rc11=R1z; Rc22=Rc11;

R2x=Ra1+Ra11+Ra2+Ra22; R3x=Rb1+Rb11+Rb2+Rb22; R2z=Rc1+Rc11; R3z=R2z;

xxtotal=( L1*cos(alfa_L/180*pi)+

229

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

L2*sin((beta_L/180*pi)+(alfa_L/180*pi)-pi/2)); yytotal=-(- L1*sin(alfa_L/180*pi)+L2*cos((beta_L/180*pi)+(alfa_L/180*pi)-pi/2));

%Plots of all forces

figure((10+num_figura)) subplot(3,3,1) hold on plot(b2,-F2,'ro') AXIS([0 2 500 2000]) xlabel('elongation (m) of actuator F2') ylabel('Force(N) of actuador F2') title(' FORCES ACTING IN THE HEXAPOD ROBOT ') grid on

subplot(3,3,2) hold on plot(b,-F1,'bo') AXIS([0 2 500 2000]) xlabel('elongation (m) of actuator F1') ylabel('Force(N) of actuador F1')

grid on subplot(3,3,3) hold on plot(xxtotal,R3z,'co') AXIS([0.4 1.2 3100 4000]) xlabel('max leg distance') ylabel('R3z') grid on

subplot(3,3,4) hold on plot(xxtotal,R2z,'ro') AXIS([0.4 1.2 3100 4000]) xlabel('max leg distance') ylabel('R2z') grid on subplot(3,3,5) hold on plot(b2,(R_L),'go') AXIS([0 2 100 550]) xlabel('elongation (m) of actuator F2') ylabel('Ground reaction') grid on subplot(3,3,6) hold on plot(xxtotal,R_L,'ro') AXIS([0 2 100 550]) xlabel('max leg distance') ylabel('Ground Reaction')

grid on

230

ANNEX 1 subplot(3,3,7) hold on plot([0,L1*cos(alfa_L/180*pi),(L1*cos(alfa_L/180*pi)+ L2*sin(beta_L/180*pi+alfa_L/180*pi-pi/2))],[0,L1*sin(alfa_L/180*pi),(- (-L1*sin(alfa_L/180*pi)+ L2*cos(beta_L/180*pi+alfa_L/180*pi-pi/2)))]) plot([0,0,-0.6,-0.6,0],[0,0.6,0.6,0,0])

Fr=(0.025*0.01*R3z) + (0.025*0.01*R3x) ; Fr1=(0.025*0.01*R2z) + (0.025*0.01*R2x) ;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 figure(fig_arana)

231

ANALYSIS AND OPTIMIZATION FOR A HEXAPOD WALKING ROBOT FOR PLANETARY MISSIONS

5- Terrain Generation:

% % Generacion del suelo % % Malla de min x max metros (inc, tamaÒo de la red) % generados con una distribucion aleatorias de altura % % [x,y,z]=gensuelo(min,inc,max,alturamax)(-5,0.5,10,2) %...... function [x,y,z]=gensuelo_conMountain(min,inc,max,alturamax,xMount,yMount,zMoun t) x=[min:inc:max] y=[min:inc:max] [m,n]=size(x); z=rand([n])*alturamax %alturamax altura maxima de obstaculo

%%mountain: indx=find(x==xMount); indy=find(y==yMount); z(indx,indy)=zMount; for indxx=indx-1:indx+1 for indyy=indy-1:indy+1 if indyy==indy & indxx==indx continue end z(indxx,indyy)=zMount*(2/3); end end for indxx=indx-2:4:indx+2 for indyy=indy-2:indy+2 z(indxx,indyy)=zMount*(1/3); end end for indyy=indy-2:4:indy+2 for indxx=indx-1:indx+1 z(indxx,indyy)=zMount*(1/3); end end

% % Representacion del suelo surf(x,y,z); colormap hot axis([min max min max 0 5]);

232

ANNEX 1

6- Trajectory Generation: function res = generacion_tray(origen,ang_veh,destino)

%function [giro_total, distancia] = generacion_tray(origen,ang_veh,destino) % Obtiene el giro que hay que realizar (por el lado mas corto), y la distancia al destino desde pos actual ang=ang_veh; while ang < 0 ang=ang+360; end; while ang > 360 ang=ang-360; end

%se obtiene angulo del camino a seguir ang_direccion=90-180*(atan2(destino(2)-origen(2),destino(1)- origen(1)))/pi; if ang_direccion < 0 ang_direccion=ang_direccion+360; end

%Se decide el sentido de giro desde orientacion actual: if (abs(ang_direccion-ang)) > 180 signo_sentido=-1; else signo_sentido=1; end giro_total=(signo_sentido)*(ang_direccion-ang);

%Se calcula distancia distancia=sqrt((destino(1)-origen(1))^2 + (destino(2)-origen(2))^2); res=[giro_total distancia]

233