Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we...

70
Enric Junqué de Fortuny robots Bepalen van een optimale draaistrategie bij vierpotige Academiejaar 2010-2011 Faculteit Ingenieurswetenschappen en Architectuur Voorzitter: prof. dr. ir. Jan Van Campenhout Vakgroep Elektronica en Informatiesystemen Master in de ingenieurswetenschappen: computerwetenschappen Masterproef ingediend tot het behalen van de academische graad van Begeleiders: Francis wyffels, Tim Waegeman Promotor: prof. dr. ir. Benjamin Schrauwen

Transcript of Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we...

Page 1: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Enric Junqué de Fortuny

robotsBepalen van een optimale draaistrategie bij vierpotige

Academiejaar 2010-2011Faculteit Ingenieurswetenschappen en ArchitectuurVoorzitter: prof. dr. ir. Jan Van CampenhoutVakgroep Elektronica en Informatiesystemen

Master in de ingenieurswetenschappen: computerwetenschappen Masterproef ingediend tot het behalen van de academische graad van

Begeleiders: Francis wyffels, Tim WaegemanPromotor: prof. dr. ir. Benjamin Schrauwen

Page 2: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations
Page 3: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Enric Junqué de Fortuny

robotsBepalen van een optimale draaistrategie bij vierpotige

Academiejaar 2010-2011Faculteit Ingenieurswetenschappen en ArchitectuurVoorzitter: prof. dr. ir. Jan Van CampenhoutVakgroep Elektronica en Informatiesystemen

Master in de ingenieurswetenschappen: computerwetenschappen Masterproef ingediend tot het behalen van de academische graad van

Begeleiders: Francis wyffels, Tim WaegemanPromotor: prof. dr. ir. Benjamin Schrauwen

Page 4: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Voorwoord

Artificiële intelligentie en robotica zijn een levenslange passie en ik ben dan ook zeer blijdat ik de kans heb gekregen van de Universiteit Gent om mij hier een jaar in te mogenverdiepen.

Graag zou ik iedereen willen bedanken die mij gesteund heeft in het verwezenlijken vandeze thesis.

In de eerste plaats dank ik mijn promotor prof. dr. ir. Benjamin Schrauwen voor de inzicht-volle feedback tijdens de tussentijdse evaluaties en het bijzonder interessante vak MachineLearning.

Verder wil ik ook mijn begeleiders bedanken. Ir. Francis wyffels voor zijn intensievebegeleiding, expertise en inspiratie alsook alle andere begeleiders van het Reservoir Lab dienooit een kans lieten liggen om nuttige, opbouwende kritiek te geven: irs. Tim Waegeman,Ken Caluwaerts, Pieter-Jan Kindermans ...

Ik dank ook Bert Guns en Joeri Ruyssinck voor de gezellige sfeer, interessante uitwisse-lingen van ervaringen en vruchtvolle samenwerkingen gedurende de laatste twee jaar vanonze studies.

Natuurlijk bedank ik ook allen die mij op niet-academische manier geholpen hebben. Eersten vooral mijn familie voor hun steun gedurende mijn studiejaren aan de universiteit. Ookwil ik mijn vrienden bedanken die steeds voor de nodige afleiding wisten te zorgen.

i

Page 5: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Toelating tot bruikleen

“De auteur geeft de toelating deze scriptie voor consultatie beschikbaar te stellen en delenvan de scriptie te kopiëren voor persoonlijk gebruik. Elk ander gebruik valt onder debeperkingen van het auteursrecht, in het bijzonder met betrekking tot de verplichting debron uitdrukkelijk te vermelden bij het aanhalen van resultaten uit deze scriptie.”

“The author gives permission to make this master dissertation available for consultationand to copy parts of this master dissertation for personal use. In the case of any otheruse, the limitations of the copyright have to be respected, in particular with regard to theobligation to state expressly the source when quoting results from this master dissertation.”

Enric Junqué de Fortuny, juni 2011

ii

Page 6: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Bepalen van een optimaledraaistrategie bij vierpotige robots

doorEnric Junqué de Fortuny

Masterproef ingediend tot het bepalen van de academische graad vanMaster in de ingenieurswetenschappen: computerwetenschappen

Academiejaar 2010-2011

Promotor: Prof.Dr.Ir. Benjamin Schrauwen

Begeleiders: Ir. Francis wyffels, Ir. Tim Waegeman

Faculteit Ingenieurswetenschappen en ArchitectuurUniversiteit Gent

Vakgroep Elektronica en InformatiesystemenVoorzitter: Prof.Dr.Ir. Jan Van Campenhout

Samenvatting

In deze masterproef trachten we een optimale draaistrategie te bepalen voor een meege-vende, vierpotige robot. Hiervoor maken we op de natuur geïnspireerde, morfologischeaanpassingen aan een bestaand model. Zowel het gebruik van schoudergewrichten (sca-pulae) als van een ruggengraat (vertebra) worden nader bestudeerd. We leren de robotrechtdoor lopen en bochten nemen met deze nieuwe morfologie m.b.v. CMA-ES, eenevolutionair algoritme. Er worden verschillende experimenten uitgevoerd waarin de aan-gebrachte morfologische aanpassingen gevalideerd worden. Eveneens worden de voor- ennadelen m.b.t. de bouw van een regelaar voor de robot afgewogen.

Trefwoorden

Robotica, vierpotig, meegevend, CMA-ES, draaien, vertebra, scapula

iii

Page 7: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Determining An Optimal Strategy for QuadrupedTurning Control

Enric Junque de Fortuny

Supervisor(s): Benjamin Schrauwen, Francis wyffels, Tim Waegeman

Abstract—This work explains the development, validation and compar-ison of biomimical features in a quadruped robot for turning control. Dif-ferences in posture created by scapulae and a vertebra result in differentpatterns of force production. These different patterns of force productionallow for better turning control in the transverse plane.

Keywords— Robotics, quadruped, compliant, CMA-ES, turning, verte-bra, scapula

I. INTRODUCTION

ROBOTICS have evolved from a niche to mainstream tech-nology and increasingly more complex robots are being

designed every day to meet with modern society’s evolvingneeds. One of the main concerns in robotics is robot locomotion.In order to cope with unstructured terrains legged locomotion isbeing researched quite heavily.

One of they key problems that will be addressed in this ar-ticle is the maneuverability in the transverse plane. We willpropose mechanically feasible adaptations that can generate andhelp turning behaviour. Afterwards we will analyse and validatetheir performance using numerical simulations.

II. MORPHOLOGICAL FEATURES

A. Basic Model

The basic model was inspired by two compliant, underactu-ated models: Reservoir Dog [1] developed by the University ofGhent and the Cheetah robot [2] developed by the Ecole Poly-technique Federale de Lausanne.

The only degree of freedom of the legs as a whole is a rotationin the saggital plane. With this model two strategies can be usedin order to perform a turn. Either increase step frequency [3][4]or stride length [5][3][4]. Because of instability problems en-countered when using the first method, we use the latter methodin our experiments. We will now discuss two biomimical mor-phological adaptations to the model to enhance turning capabil-ities.

B. Vertebra

The vertebra of animals consists of several joints allowing dif-ferent degrees of freedom (DOF). Predators such as cats curvetheir backs extensively in the transverse plane. This is key totheir success because it allows them to take turns considerablyfaster when chasing prey. We simplify this approach by imple-menting one vertebra joint.

C. Scapula

The scapula is a commonly found bone in quadruped mam-mals that connects a leg with the main body. It allows the animalto perform an upward/downward rotation in the coronal plane of

t

0

1.5

3.5

Ts

Fig. 1. Trajectories followed during training with CMA-ES.

the legs with respect to the body. We will use the scapula in dif-ferent ways.

The center of mass is displaced with respect to the center ofpressure of the robot. The resulting effect is an inward force,causing the robot to turn. Furthermore, observations in grey-hounds have led us to a secondary usage of the scapulae. Theyenhance their turning speed by actively performing an inwardswipe movement with the front legs [7].

Another method of interest is using the scapulae in a reactiveway. By banking the robot, we can counter centrifugal forcesdue to turning with other methods (such as the suggested verte-bra method) [8]. This is similar to the strategy that motorcyclistsemploy when banking in sharp turns.

III. EXPERIMENTS

A. Methodology

We used the Covariance Matrix Adaptation - EvolutionaryStrategy (CMA-ES) [6] to develop gaits on the robot in a sim-ulation environment. Evolutionary algorithms are designed tooptimize a target function by evaluating candidate solutions. Inthis case, each candidate solution represents a gait parametersetand results in a path in the simulation environment that is fol-lowed by the robot (displayed in Figure 1). The target functionsto optimize are:

fstraight = (∆x)2∆t (1)fturn = (∆t∆z)∆x. (2)

Where ∆x is the distance in the forward direction and ∆z thedistance in the lateral direction in the path resulting from a givenparameter set. Note that ∆t denotes the stable time (bounded at15s) and is critical for stability in early populations.

Page 8: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

0.190.2

0.210.220.230.240.250.260.270.28

0.01 0.02 0.03 0.04 0.05 0.06 0.07Scapulae(rad)

Vertebra (rad)

0.140.160.180.2

0.220.240.260.280.3

0.320.34

0.006 0.008 0.01 0.012 0.014 0.016 0.018 0.02 0.022 0.024

0.25

0.3

0.35

0.4

0.45

0.5

0.55

0 0.05 0.1 0.15 0.2 0.25 0.3

Late

ral sp

eed

(m

/s)

Maximal deviation of amplitude left front scapula (rad)

0.02

0.04

0.06

0.08

0.04 0.08 0.12 0.16

Vert

eb

ra(r

ad)

Scapulae(rad)

0

0.1

0.2

0.3

0.4

0.5

Late

ral sp

eed

(m

/s)

Late

ral sp

eed

(m

/s)

Late

ral sp

eed

(m

/s)

Fig. 2. Experimental results of the analysis of the joints. Values shown are an average of the best three results (thick line). A roughly linear relationship is found(dotted line). (top left) static scapulae (bottom left) dynamic scapulae (top right) static vertebra (bottom right) vertebra and scapula combination, color intensityincreases as the lateral speed values increase.

B. Straight Walking

Two gaits were developed using the straight trajectory (dis-played in Figure 1) and CMA-ES. First we found a trot gait (seeFigure 3) using phase relationships between input signals in thejoints inspired by quadruped animals. Afterwards we found abounding gait using similar methods. The bounding gait lacksa proper flight phase and is not suitable for further experiments,whereas the trot gait proved to be adequate.

C. Optimal Turning

Similarly, we applied CMA-ES to find optimal gaits usingthe suggested morphological adaptations for turning. The basisfor all of these gaits was the previously found trot gait. Theresults of all CMA-ES experiments are displayed in Table I forcomparison.

The performance measure used is the lateral speed, definedas:

vz =∆z

∆t. (3)

We can conclude from Table I that the optimal method forturning is using the scapulae dynamically. Interestingly, com-bining both the scapulae and the vertebra statically seems to bea better strategy overall, compared to using only one of bothadaptations. Further tests have to validate whether this is truefor dynamic scapulae as well.

D. Controller Strategy

Experiments were conducted to analyse the behaviour of thejoints and their usability in a control mechanisms. A local gridsearch was performed in the region near the optima given inTable I. Figure 2 displays the average of the best three results inthe grid search.

In general we can see a linear relationship between the ser-vopositions and the lateral speed averages. A first point to notice

though, is that results for static scapulae (top left) and the scapu-lae and vertebra combination (bottom right) are too rough toouse in a control strategy. Dynamic use of scapulae is the idealcandidate for a potential control strategy due to both the smooth-ness of the behaviour and the effectiveness of the method. Thevertebra might be used as well, but some form of feedback willprobably be required to prevent deviation from the control pathafter a few turns.

TABLE ICOMPARISON OF TURNING EXPERIMENTS, ORDER BY MAXIMAL LATERAL

SPEED.

Turning Joint Static/Dynamic vzScapulae D 0.49 m/sScapula and Vertebra S/S 0.35 m/sVertebra S 0.32 m/sScapula S 0.26 m/sNone S 0.07 m/s

Fig. 3. Optimal trot gait in a numerical simulation using webots.

IV. CONCLUSION AND FUTURE WORK

We have shown different biomimical morphological featuresthat can be useful for turning. Subsequently each of these fea-tures has been analysed thoroughly using different methods of

Page 9: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

control. A precise control strategy can be made upon these re-sults, but might need some form of feedback.

More experiments are however needed to obtain a globalview on the different possibilities of these new joints. First ofall the combination of a static vertebra and a dynamic scapulaseems to be a promising candidate for optimal control. Usingthe joints passively could give more energy-efficient and lesscontrol-intensive solutions and are therefore an interesting pathof further exploration.

REFERENCES

[1] F. Wyffels, M. D’Haene, T. Waegeman, K. Caluwaerts, C. Nunes, andB. Schrauwen. Realization of a passive compliant robot dog. In Proceedingsof the 2010 3rd IEEE RAS & EMBS International conference on BiomedicalRobotics and Biomechanics, page 882, 2010.

[2] S. Rutishauser, A. Sprowitz, L. Righetti, and A.J. Ijspeert. Passive compli-ant quadruped robot using Central Pattern Generators for locomotion con-trol. 2008 2nd IEEE RAS EMBS International Conference on BiomedicalRobotics and Biomechatronics, (c):710–715, 2008.

[3] D. Graham. A behavioural analysis of the temporal organisation of walk-ing movements in the 1st instar and adult stick insect (Carausius morosus).Journal of Comparative Physiology A: Neuroethology, Sensory, Neural, andBehavioral Physiology, 81(1):23–52, 1972.

[4] V. Zolotov, L. Frantsevich, and E.-M. Falk. Kinematik der phototaktischenDrehung bei der Honigbiene (Apis Mellifera L.). Journal of ComparativePhysiology A: Neuroethology, Sensory, Neural, and Behavioral Physiology,97(4):339–353, 1975.

[5] R. Franklin, W. Bell, and R. Jander. Rotational locomotion by the cockroach(Blattella Germanica). Journal of Insect Physiology, 27(4):249–255, 1981.

[6] N. Hansen and A. Ostermeier. Adapting arbitrary normal mutation distribu-tions in evolution strategies: The covariance matrix adaptation. In Proceed-ings of the 1996 IEEE International Conference on Evolutionary Compu-tation, 1996 Ieee International Conference on Evolutionary Computation,pages 312–317. I E E E, 1996.

[7] J.R. Usherwood and A.M. Wilson. No force limit on greyhound sprintspeed. Nature, 438(7069):753–754, 2005.

[8] K. Tsujita, H. Toui, and K. Tsuchiya. Dynamic turning control of aquadruped robot using nonlinear oscillators. 2004 IEEE/RSJ Interna-tional Conference on Intelligent Robots and Systems (IROS) (IEEE Cat.No.04CH37566), (0):969–974.

Page 10: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Inhoudsopgave

Voorwoord i

Toelating tot bruikleen ii

Extended Abstract iv

1 Introductie 1

1.1 Robots, een kort overzicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Robots met poten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.3 Doelstelling van deze thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Constructie van de robot 5

2.1 Het hardware model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Het software model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3 Morfologische aanpassingen aan het model . . . . . . . . . . . . . . . . . . . 6

2.3.1 Vertebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3.2 Scapula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Aansturing 12

3.1 Aansturing van de servo’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2 Heuristieken voor het zoeken van parameters . . . . . . . . . . . . . . . . . 12

3.3 Covariance Matrix Adaptation - Evolution Strategy . . . . . . . . . . . . . . 13

3.3.1 Algemene beschrijving . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.3.2 Zoekprocedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.3.3 Aandachtspunten bij het gebruik van CMA-ES . . . . . . . . . . . . 16

Page 11: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

4 Experimentele opstelling 19

4.1 De Webots simulatieomgeving . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.2 Architectuur van de opstelling . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.3 Het C++ raamwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.4 Het python raamwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5 Rechtdoor lopen 23

5.1 Introductie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.2 De drafgang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.2.1 Theoretische analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.2.2 Leerprocedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.3 De gebonden gang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.3.1 Theoretisch analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.3.2 Leerprocedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

6 Bochten nemen 31

6.1 Gebruikte methodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6.1.1 Optimale bocht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6.1.2 Analyse gewrichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6.1.3 Evaluatiemaat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.2 Bochten nemen met het oorspronkelijke model . . . . . . . . . . . . . . . . . 34

6.2.1 Methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6.2.2 Resultaat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6.3 Bochten nemen met het nieuwe model . . . . . . . . . . . . . . . . . . . . . 34

6.3.1 Scapulae (statisch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6.3.2 Scapulae (dynamisch) . . . . . . . . . . . . . . . . . . . . . . . . . . 37

6.3.3 Vertebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Page 12: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

6.3.4 Scapula en vertebra gecombineerd . . . . . . . . . . . . . . . . . . . 41

6.4 Conclusie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

7 Besluit 44

Appendices 46

A Afkortingen 47

B Stellingen 48

C Codefragmenten 49

D Inhoud CD 51

Bibliografie 52

Page 13: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Lijst van figuren

1.1 Gebruik van meegevende gewrichten in de Reservoir Dog . . . . . . . . . . . 3

2.1 Het hardware model: CAD ontwerp en implementatie . . . . . . . . . . . . 5

2.2 Schematische voorstelling van het robotmodel . . . . . . . . . . . . . . . . . 6

2.3 Gebruik van gewrichten tijdens het draaien bij roofdieren. . . . . . . . . . . 7

2.4 Schematische voorstelling van de morfologische aanpassingen. . . . . . . . . 8

2.5 Demonstratie van de vertebra in een Webots simulatie. . . . . . . . . . . . . 9

2.6 Gebruik van scapulae tijdens het draaien bij de windhond. . . . . . . . . . . 10

2.7 Demonstratie van de scapulae in een Webots simulatie. . . . . . . . . . . . . 11

3.1 Conceptuele voorstelling van het zoeken naar een optimum in CMA-ES. . . 14

4.1 Communicatie tussen de verschillende softwareonderdelen. . . . . . . . . . . 20

4.2 Architectuur van het C++ raamwerk . . . . . . . . . . . . . . . . . . . . . . 21

4.3 Architectuur van het python raamwerk. . . . . . . . . . . . . . . . . . . . . 21

5.1 Faserelatie in de drafgang . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.2 Leertraject voor rechtdoor lopen . . . . . . . . . . . . . . . . . . . . . . . . 25

5.3 Leerevolutie CMA-ES voor de drafgang. . . . . . . . . . . . . . . . . . . . . 27

5.4 Demonstratie van de drafgang in een Webots simulatie. . . . . . . . . . . . . 28

5.5 Faserelatie in de gebonden gang . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.6 Leerevolutie CMA-ES voor de gebonden gang. . . . . . . . . . . . . . . . . . 29

5.7 Demonstratie van de gebonden gang in een Webots simulatie. . . . . . . . . 29

6.1 Leertraject voor bochten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6.2 Leerevolutie CMA-ES voor scapulae . . . . . . . . . . . . . . . . . . . . . . 35

6.3 Faserelatie in de gebonden gang . . . . . . . . . . . . . . . . . . . . . . . . . 35

Page 14: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

6.4 Analyse scapulae . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

6.5 Leerevolutie CMA-ES voor vertebra . . . . . . . . . . . . . . . . . . . . . . 37

6.6 De slagbeweging m.b.v. een scapula . . . . . . . . . . . . . . . . . . . . . . 38

6.7 Leerevolutie CMA-ES voor dynamische scapula . . . . . . . . . . . . . . . . 39

6.8 Analyse van de dynamische aansturing van scapulae . . . . . . . . . . . . . 40

6.9 Optimale zijwaartse snelheid in functie van vertebrapositie . . . . . . . . . . 41

6.10 Leerevolutie CMA-ES voor de combinatie van beide gewrichten. . . . . . . . 42

6.11 Analyse van de combinatie van vertebra en scapulae . . . . . . . . . . . . . 43

Page 15: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Lijst van tabellen

5.1 Overzicht van de geactueerde servo’s en overeenstemmende symbolen. . . . . 23

5.2 CMA-ES parameters voor de drafgang . . . . . . . . . . . . . . . . . . . . . 27

6.1 CMA-ES parameters voor scapulae . . . . . . . . . . . . . . . . . . . . . . . 36

6.2 CMA-ES parameters voor de vertebra . . . . . . . . . . . . . . . . . . . . . 40

6.3 Vergelijking van de resultaten van de verschillende experimenten . . . . . . 43

Page 16: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 1

Introductie

1.1 Robots, een kort overzicht

In 1920 werd de term robot gelanceerd door K.Čapek in zijn stuk Rossum’s UniversalRobots. Hierin beschreef hij een robot als een automaton1 dat geavanceerde taken vanmensen uitvoert en gelijkaardige gedragingen overneemt [14]. I. Asimov leidde hiervan in1941 de term robotica af en zorgde zo voor een algemene noemer voor het vakgebied derrobots. Ook hij had een gelijkaardig utopisch toekomstbeeld met geavanceerde robots dieallerhande taken van mensen overnemen [3]. Men kan zich afvragen hoe het komt dat dezeidealen nog steeds zo ver buiten bereik zijn, ondanks de evolutie van de techniek ...

Bij nadere inspectie blijkt dat, tot op de dag van vandaag, industriële robots veelal vaste,voorgeprogrammeerde patronen volgen en verre van autonoom zijn. Zelfs geavanceerde,autonome robots hebben nog steeds problemen met het oplossen van triviale taken zoals eentrap oplopen [1]. Hoewel we ons momenteel in een stroomversnelling van ontwikkelingenbevinden, zal het naar alle waarschijnlijkheid nog een lange evolutie vereisen alvorenswe echt kunnen voldoen aan de vooropgestelde idealen. Deze thesis situeert zich ergensmiddenin deze evolutie.

Bij de voortbeweging van robots in het bijzonder staan we nog voor grote uitdagingen.Meer specifiek zijn er nog onopgeloste problemen omtrent o.a. snelheid, robuustheid,draaicapaciteit en stabiliteit. Vaak moeten er nog trade-offs gemaakt worden tussen dezeeigenschappen. Deze uiten zich onder meer in de morfologie2 van de robots.

1.2 Robots met poten

Bij de voortbeweging is het onderscheid tussen robots met poten en deze met wielen vangroot belang. Robots met wielen presteren zeer goed (energie efficiënt) op een vlakkeondergrond en halen over het algemeen ook hogere snelheden dan robots met poten.1van het Griekse autos ’zelf’, automatos uit zichzelf bewegende, automaton autonome machine2wij gebruiken de biologische betekenis van morfologie en bedoelen hiermee de uitwendige bouw en vormvan de robot

Page 17: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 1. Introductie 2

Desalniettemin wordt er veel onderzoek gedaan naar robots met poten en ook het modeldat we doorheen deze thesis bespreken is van dit type. Een belangrijke vraag dringt zichdaarbij op: waarom een minder energie efficiënte morfologie gebruiken?

Hoewel wielen uitermate goed presteren op voorbereide grond zoals wegen, gebouwen ensporen, zijn ze ongeschikt voor voortbeweging op ruwer terrein. Dit is te wijten aan hetfeit dat ze een continu pad van ondersteuning nodig hebben tijdens de voortbeweging [26].Omwille van deze beperkingen is volgens M.H. Raibert3 ongeveer de helft van de landmassavan de aarde momenteel onbereikbaar voor robots met wielen [17]. De achterliggendegedachte bij het maken van robots met poten is dat deze uiteindelijk in staat zoudenmoeten zijn dezelfde locaties te bereiken als potige dieren. Dit omvat dus ook ruwere,discontinue ondergronden zoals rotsachtig gebied.

Eenbenige robots bestaan, maar worden vooral gebruikt voor onderzoek i.v.m. de werkingvan de poten en hebben weinig direct praktisch nut. Bij robots met poten maken wedaarom vooral een onderscheid tussen tweebenige robots en deze met meer poten. Hetgrootste voordeel van tweebenige robots is dat deze androïde4 zijn en dus eenvoudig ingezetkunnen worden ter vervanging van mensen. Een tweebenige robot zal immers eenvoudigerfaciliteiten die ontworpen zijn voor mensen kunnen gebruiken (bijvoorbeeld een trap).Robots met meer poten hebben dan weer het voordeel dat ze veel stabieler lopen dantweebenige robots (een robot kan statisch stabiel staan op drie of meer poten).

Deze robots met meer dan twee poten kunnen verder worden ingedeeld in verschillendeklassen afhankelijk van het aantal poten dat ze hebben. De meest voorkomende typesgebruiken echter vier poten (geïnspireerd op zoogdieren) of zes poten (geïnspireerd opzespotige insecten). Zespotigen worden voornamelijk gekozen omdat deze stabieler zijn danvierpotigen en omdat hun neurlogische circuits eenvoudiger te analyseren zijn. Vierpotigenlaten dan weer rijkere, dynamische gangen toe en zijn flexibeler (bijvoorbeeld bij hetspringen over een hindernis).

Historisch gezien werden de eerste vierpotige robots gemaakt met stijve, inflexibele poten.Voorbeelden hiervan zijn de Quadruped van het MIT [18] en Artificial Intelligence roBOt(AIBO) [6] (een gecommercialiseerd platform).

Een vrij recent ontwikkeld perspectief op de intelligentie en robotica die morphologicalcomputation genoemd wordt, beschouwt het lichaam van de robot zelf als een deel vande intelligentie [16] . Meer bepaald de dynamiek resulterende uit de morfologie van hetlichaam van de robot wordt gezien als een stuk van de intelligentie van de robot zelf. Zokunnen stukken uit de controlehiërarchie onder meer overgenomen worden door passievemeegevende poten.3Befaamde robotica onderzoeker, professor aan het Massachusetts Institute of Technology (MIT) enoprichter van Boston Dynamics, bekend van de Big Dog robot

4van het Griekse andros ’mannelijk’, -eides ’gelijkend’: androïde op een man (mens) gelijkend

Page 18: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 1. Introductie 3

Figuur 1.1: Gebruik van een meegevend gewricht in de Reservoir Dog: (links) een hondenskelet,(midden) mechanisch ontwerp, (rechts) foto. De heup- en kniegewrichten worden actief aangestuurddoor een servo terwijl de enkel passief aangestuurd wordt door een veer. (overgenomen uit [27])

Het is binnen deze context dat later onderzoek zich eerder toespitst op gesegmenteerde,ondergeactueerde5 robots met meegevende (compliant) poten. Voorbeelden hiervan zijn deScout robots [22], de Reservoir Dog [27] ontwikkeld aan de Universiteit Gent (UGent) (zieFiguur 1.1) en de Cheetah robot [20] ontwikkeld aan het École Polytechnique Fédérale deLausanne (EPFL). Het model dat in deze thesis gebruikt wordt, bouwt voort op dezelaatste twee modellen. Onderactuatie met behulp van meegevende poten leidt echtertot een zeker verlies van controle en kan contra-intuïtief lijken. Ook hier fungeerde denatuur nochtans als inspiratiebron en dus rijst de vraag: waarom kiest de natuur vooronderactuatie en welke rol spelen morphological computing en meegevende gewrichtenhierbij?

Hoewel het antwoord op die vraag nog steeds niet volledig gekend is, werden wel enkelebelangrijke argumenten gevonden. Eerst en vooral zijn meegevende poten nuttig voorhet opslaan van energie. Kinetische energie wordt tijdens het lopen omgezet in elastischepotentiële energie die weer omgezet wordt in een nieuwe acceleratie van de poten. Zonderwrijving met de grond en andere objecten en zonder luchtweerstand zou er theoretischgezien geen energieverlies zijn en zou de robot aldus een perpetuum mobile worden [2].Bovendien heeft onderzoek uitgewezen dat meegevende pootontwerpen de robot veiliger enrobuuster maken t.o.v. externe verstoringen [21]. Dit zorgt deels voor de waargenomen’intelligentie’ bij voortbeweging m.b.v. passieve meegevende poten.

1.3 Doelstelling van deze thesis

Het doel van deze thesis bestaat erin om een bestaande vierpotige robot met passievemeegevende poten stabiel te laten draaien. Er werd tot nu toe - naar ons weten - nog geen5Men verkrijgt onderactuatie door een kleiner aantal actuators dan vrijheidsgraden te hebben.

Page 19: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 1. Introductie 4

uitgebreid wetenschappelijk onderzoek gedaan naar de mogelijkheden van morfologischeaanpassingen bij het draaien van dit type robots. We zullen dan ook onderzoeken welkeaanpassingen er vereist zijn en hoe we deze uiteindelijk kunnen gebruiken in een controle-strategie.

In het eerste hoofdstuk overlopen we de constructie van de gebouwde robot en de ge-ïmplementeerde morfologische aanpassingen die het draaien kunnen bevorderen. Daarnabespreken we hoe we het model aansturen en hoe we gangen aanleren aan de robotd.m.v. een evolutionair algoritme (Hoofdstuk 3). Hierna volgt een beschrijving van deexperimentele opstelling (Hoofdstuk 4), gevolgd door het vinden van gangen voor rechtdoorlopen (Hoofdstuk 5). Uiteindelijk trachten we aan de hand van de gevonden gangen en demorfologische aanpassingen bochten te maken met de robot (Hoofdstuk 6).

Page 20: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 2

Constructie van de robot

In dit hoofdstuk bespreken we eerst het model dat we doorheen de thesis gebruiken. Daarnabespreken we het softwaremodel en aanpassingen aan dit model die mogelijk het draaienkunnen bevorderen.

2.1 Het hardware model

De robot waar ons onderzoek op gebaseerd is, werd ontworpen op basis van twee anderemodellen: de Cheetah robot (EPFL) [20][24] en de Reservoir Dog [27]. Uit deze tweemodellen heeft men in het kader van het Adaptive Modular Architectures for Rich MotorSkills (AMARSi) project een nieuw vierpotig hardwareplatform gemaakt. Dit vierpotigemodel bevat tri-gesegmenteerde pantografische poten die meegevend zijn en wordt afgebeeldin Figuur 2.1 [24]. De beensegmenten werden geproportioneerd volgens karakteristiekewaarden voor zoogdieren.

Figuur 2.1: Het hardware model: CAD ontwerp en implementatie

Het pantografische aspect houdt in dat de hoek tussen het bovenstuk-middelstuk en middel-stuk-onderstuk van een been steeds gelijk gehouden wordt. Dit impliceert dat deze stukkenaltijd ongeveer parallel zullen staan t.o.v. elkaar. Mechanisch wordt dit gerealiseerd dooreen meegevende verbinding tussen de twee servo’s (κ en ε) zoals in Figuur 2.2a wordtafgebeeld.

Page 21: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 2. Constructie van de robot 6

Een gevolg hiervan is dat we (in de plaats van drie) twee vrijheidsgraden hebben per poot.Deze twee aankoppelingspunten (γ en κ) worden in het echte model geactueerd door tweeservo’s (één per aankoppelingspunt). Dit is een vorm van onderactuatie, de derde servowordt als het ware vanzelf mee aangestuurd.

γ

κ

εε volgt κ

(a) Schematisch model

y

x

z

Saggitale vlak

Coronale vlak

Transversale vlak

(b) Benaming vlakken

Figuur 2.2: (a) Schematische voorstelling van het robotmodel met pantografische, meegevendepoten. Wanneer κ aangestuurd wordt, zal ε automatisch mee aangestuurd worden. Merk op dater een veer-demper systeem aanwezig is aan κ. (b) Benaming der vlakken zoals gebruikelijk in deanatomie.

2.2 Het software model

De Cheetah robot werd later vertaald naar een computermodel door A. Tuleu (EPFL) [24]in Virtual Reality Modeling Language (VRML). Dit model is gemaakt voor Webots [15],een numerieke wereldsimulator met achterliggend de Open Dynamics Engine (ODE) physicsengine. We zullen gebruik maken van dit model en dezelfde simulator om de draaicapaciteitvan de robot te valideren.

Teneinde alternatieve manieren van draaien te ontwikkelen, zullen we aanpassingen makenaan dit model gebaseerd op morfologieën uit de natuur. Ook deze aanpassingen wordengevalideerd in het software model.

2.3 Morfologische aanpassingen aan het model

Om betere manieren van draaien te vinden, moeten we extra vrijheidsgraden invoerendoor morfologische aanpassingen aan het model te maken. Belangrijk bij het ontwerp isdat deze ook mechanisch geïmplementeerd moeten kunnen worden. We lieten ons hiervoorinspireren door voorbeelden uit de natuur en de literatuur.

Page 22: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 2. Constructie van de robot 7

In observaties van biologen van zespotigen (insecten) [13] toonde men aan dat kakkerlakkeneen bocht maken door de voorste poten lateraal anders te positioneren dan de middelste ende achterste. In het geval van insecten staat de richting van de voorste poten bijna loodrechtop deze van de rest van het lichaam. Dit resulteert in een verschillende krachtdistributiemet als uiteindelijke resultaat het draaien van het insect. Er werden tot op vandaag noggeen gelijkaardige, analytische studies uitgevoerd bij zoogdieren, maar we gaan uit vanhetzelfde basisidee.

Stelling 1. Verschillende houdingen leveren verschillen in de krachtverdeling uitgevoerddoor de robot en dus verschillen in voortbeweging.

2.3.1 Vertebra

Motivatie

Zoals in de vorige sectie werd besproken, draaien insecten door het lateraal verschillendpositioneren van de poten. Insecten gebruiken deze strategie zeer effectief, het is hun enige(morfologisch) middel om te draaien. Het is dus zeker interessant om naar de morfologievan insecten te kijken om inspiratie op te doen voor onze robot. Er zijn wel enkele caveatswaarmee we rekening moeten houden bij het overnemen van deze structuren.

De basismorfologie van een insect is significant anders dan die van een vierpotig zoogdier.Het zwaartepunt ligt veel lager en er zijn meer steunpunten. Hierdoor zijn veel extremerepositioneringen van de poten mogelijk zonder nadelige effecten. Op onze robot zullen dezeextreme posities leiden tot het verlies van evenwicht. Dit stabiliteitsverlies is hoofdzakelijkte wijten aan een combinatie van centrifugale krachten, de zwaartekracht en de Coriolis-kracht [23]. We kunnen deze deels tegenwerken door de robot te laten overhellen m.b.v.schoudergewrichten, maar uiteindelijk zullen we in ons huidige model nooit zulke extremeposities als die van insecten kunnen aannemen.

(a) Vertebra (b) Scapula

Figuur 2.3: Gebruik van gewrichten tijdens het draaien bij roofdieren.

Page 23: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 2. Constructie van de robot 8

We zien in de natuur dat zoogdieren (d.m.v. hun ruggengraat) op een gelijkaardige manierkunnen draaien. Zo zal de ruggengraat van een roofdier vaak flexibeler zijn dan die vanzijn prooi. Hierdoor is het roofdier in staat sneller bochtenwerk te verrichten en hopelijkzo zijn prooi te vangen [2]. Een eerste aanpassing zal dus het implementeren van eenruggengraatgewricht zijn, de vertebra.

Stelling 2. Het asymmetrisch positioneren van de poten in het transversale vlak1 (d.m.v.de vertebra) verhoogt de beweegbaarheid van de robot in het transversale vlak.

Implementatie

Het mechanisch nabootsen en implementeren van een ruggengraat is geen sinecure. Wemaken daarom een vereenvoudiging door slechts één ruggengraatsegment te introduceren inhet model en dit aan te sturen door een servo ρ. Dit is een geldige vereenvoudiging gezienwe enkel geïnteresseerd zijn in één vrijheidsgraad: die van de rotatie in het transversalevlak (zie Stelling 2). De hieruit resulterende krachten, die anders georiënteerd zijn dan dealgemene looprichting, zorgen dan voor het nemen van de bocht.

ρ

(a) Vertebra

σ

(b) Scapula

Figuur 2.4: Schematische voorstelling van de morfologische aanpassingen.

De uiteindelijke implementatie in Webots bestaat uit het invoeren van een extra VRML-node aan het model die het lichaam in twee stukken verdeelt. De herverdeling werd zogekozen dat de eigenschappen van de robot zo getrouw mogelijk zijn aan deze van hetoorspronkelijke model.

De relevante code voor deze aanpassing alsook een illustratie van het hieruitvolgendewebots model worden weergegeven in Codefragment C.1 (appendix) en Figuur 2.5.1Ter referentie staan de benamingen van de vlakken zoals gebruikelijk in de anatomie afgebeeld in Figuur2.2b

Page 24: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 2. Constructie van de robot 9

Figuur 2.5: Demonstratie van de vertebra in een Webots simulatie.

2.3.2 Scapula

Motivatie 1: verplaatsing massamiddelpunt - drukmiddelpunt

Zoogdieren maken ook gebruik van een schoudergewricht bij het draaien, de zogenaamdescapula. Het stelt het dier in staat om een opwaartse/neerwaartse rotatie van de poten uitte voeren in het coronale vlak t.o.v. het lichaam. Tijdens het draaien zijn de scapulae opzo’n manier gedraaid dat de houding van het lichaam overhelt in de draairichting van dedraaibocht.

Hierdoor worden eerst en vooral de centrifugale krachten tegengewerkt door het massamid-delpunt anders te positioneren t.o.v. het drukmiddelpunt (gedefinieerd als het middelpuntvan het oppervlak bepaald door de drukpunten te verbinden) [23]. We zullen dit mecha-nisme gebruiken om geïntroduceerde instabiliteiten zoals besproken in Sectie 2.3.1 tegente werken2.

De verplaatsing van het massamiddelpunt t.o.v. het drukmiddelpunt heeft verder ook alsgevolg dat de robot duwt naar de buitenkant van de bocht. Mits genoeg wrijving zal deresulterende reactiekracht van de grond de robot naar de binnenkant van de bocht duwen.

Stelling 3. Het asymmetrisch positioneren van de poten in het coronale vlak (d.m.v. sca-pula) verhoogt de beweegbaarheid van de robot in het transversale vlak en kan de stabiliteittijdens het snel draaien verhogen.

Merk op dat we hier een afweging moeten maken tussen flexibiliteit en stabiliteit. Een tegrote overhelling zal als gevolg hebben dat de robot valt ten gevolge van de zwaartekracht.De mate van mogelijke overhelling staat hierbij in functie van de snelheid van de robot in debocht. Verder steunt het voorgestelde mechanisme op andere principes dan de vertebra. Wekunnen dus hypothetisch stellen dat ze complementair op elkaar werken en hieruitvolgenddat de combinatie van beide gewrichten minstens een verbetering zou moeten opleveren.

Stelling 4. Het combineren van Stelling 2 en 3 verhoogt de draaicapaciteit.

2Ook motorrijders gebruiken dit principe wanneer ze overhellen in een bocht.

Page 25: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 2. Constructie van de robot 10

Figuur 2.6: Gebruik van scapulae tijdens het draaien bij de windhond.

Motivatie 2: dynamisch bijsturen in bocht

Uit videofragmenten van zowel windhonden als katten blijkt dat deze de scapulae op eensecundaire manier gebruiken. De scapulae zorgen voor een voetplaatsing in de lateralerichting. Deze voetplaatsing wordt dan op twee manieren gebruikt:

1. Voetplaatsing als rotatiepunt waarrond het lichaam draait.

2. Ter ondersteuning van een slagbeweging in de draairichting. Dit zorgt voor een extravoortstuwing in de bochtrichting. [25].

Bij methode 1 wordt er door middel van de scapulae een voetplaatsingspatroon gezet dater uiteindelijk voor zorgt dat de kat draait. De vertebra lijkt hierbij op een passievemeegevende manier mee te draaien (zoals het middenstuk van een vrachtwagen op eenpassieve manier draait en de achterkant meetrekt). Deze methode wordt - naar onsvermoeden - vooral gebruikt bij tragere gangen. Hiervoor moeten we het vertebragewrichtmeegevend maken d.m.v. het invoeren van een veer.

Voor methode 2 is geen extra mechanische aanpassing vereist buiten deze voorgesteld inmotivatie 1. Deze wordt zowel bij trage als bij snelle gangen gebruikt.

Stelling 5. Dynamisch positioneren van scapula gewrichten is beter t.o.v. statisch positi-oneren bij draaien.

Page 26: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 2. Constructie van de robot 11

Figuur 2.7: Demonstratie van de scapulae in een Webots simulatie.

Implementatie

De benodigde aanpassing bestaat eruit de poten los te koppelen van het lichaam. Hiervoorintroduceren we aan de heup van elke poot een nieuw gewricht en daarbijhorend een nieuweservo σi. De code voor deze aanpassing en het resulterende Webots-model worden getoondin Codefragment C.2 en Figuur 2.7.

Page 27: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 3

Aansturing

In Hoofdstuk 2 hebben we het robotmodel besproken en aangepast. In dit hoofdstuk zullenwe eerst nagaan hoe we de servo’s in het model juist moeten aansturen en daarna hoe wehier leerstrategieën op kunnen toepassen.

3.1 Aansturing van de servo’s

De robot wordt voortbewogen d.m.v. periodieke signalen die aan de ingang van de servo’sworden aangelegd. In Hoofdstuk 5 gaan we verder op de concrete invulling van de para-meters in, maar voor de hiernavolgende bespreking volstaat het deze periodieke signalenalgemeen voor te stellen als oscillatoren met drie parameters (Ai,fi,Oi):

Servoi = Ai cos(2πfit) +Oi

Merk op dat dit zonder reductie 39 te optimaliseren vrijheidsgraden oplevert: [ 4 poten x(1 heup + 1 scapula + 1 knie) + 1 vertebra] x 3 parameters.

3.2 Heuristieken voor het zoeken van parameters

Een belangrijk deel van het vinden van gangen bestaat uit het vinden van de optimaleparameters voor de invoersignalen en we moeten dus stilstaan bij de vraag hoe we ditprobleem juist gaan oplossen en of er überhaupt wel een oplossing voor bestaat.

Zoals aangehaald in de vorige sectie levert een niet-gereduceerde vorm van een gang een 39-dimensionale continue zoekruimte. Gegeven dat het uitvoeren van één simulatie gemiddeld10 seconden duurt, is het rekenkundig onmogelijk om een grid-search uit te voeren op allemogelijk parameters. Hier bovenop komt nog dat er geen eenvoudige gradiëntenfunctiebestaat die we kunnen gebruiken om het optimum te vinden.

Er is een periode geweest in dewelke men de parameters van de oscillatoren daaromhandmatig met het nodige Fingerspitzengefühl probeerde in te vullen (met succes). Deze

Page 28: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 3. Aansturing 13

werkwijze is echter zeer omslachtig en een kleine aanpassing aan één parameter kan vooreen volledige destabilisatie van de andere parameterwaarden zorgen [7]. In de computerwe-tenschappen is dit type problemen ondertussen gelukkig al uitvoerig bestudeerd en hieruitvolgend zijn er een heel pletora aan algoritmes ontwikkeld die we kunnen gebruiken.

Eigen aan deze algoritmes is dat deze heuristisch werken en meestal nooit een écht optimumzullen bereiken. Verder hebben ze allen een vrij uiteenlopend gedrag en niet elk algoritme isgeschikt voor de optimalisatie van de oscillatoren. Het gebruik van een fout algoritme kanleiden tot andere grootteorders van aantal benodigde iteraties en dus tot het niet vindenvan een geschikte (sub)optimale oplossing binnen een aanvaardbare tijd. Wij kiezen voorCovariance Matrix Adaptation - Evolutionary Strategy (CMA-ES) als heuristiek omdatdeze door verschillende studies de beste werd bevonden voor robotica toepassingen.[7]

Eigenschappen die in het bijzonder aantrekkelijk zijn voor het vinden van gangen:

• Invariantie-eigenschappen

• Rangorde-eigenschappen: niet de uiteindelijke doelfunctiewaarde, maar eerder derangschikking van resultaten t.o.v. elkaar is belangrijk (we gaan hier in Sectie 3.3.2verder op in)

• Uitbuiting paarsgewijze afhankelijkheden1

Deze eigenschappen zijn nuttig voor het leren van nieuwe gangen. Zo zullen de invariantie-eigenschappen er bijvoorbeeld voor zorgen dat een aanpassing van de doelfunctie en/oflineaire transformaties van de parameterruimte niet tot andere resultaten zullen leiden.

3.3 Covariance Matrix Adaptation - Evolution Strategy

3.3.1 Algemene beschrijving

CMA-ES [10] is een relatief nieuw evolutionair algoritme dat niet-lineaire, niet-convexeoptimalisatie in het continue domein realiseert [9]. Nieuwe kandidaat-oplossingen wor-den gekozen uit hercombinaties van oude kandidaat-oplossingen die multivariaat normaalverdeeld zijn.

Formeel schrijven we het zoekprobleem met CMA-ES als volgt:

Gegeven : doelfunctie f : Rn → R1gangen bevatten zeer sterke paarsgewijze correlaties tussen de poten onderling en tussen segmenten vande poten, zie Hoofdstuk 5

Page 29: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 3. Aansturing 14

Objectief : Genereer een sequentie (xt)t=0,1,2,... ∈ Rn waar f(xt) zo klein mogelijk isvoor alle t=1,2,...

Zoeken : Elk zoekpunt (parametervector) xt wordt at random gekozen uit een gegevenmultivariate distributie P

generatie 0 generatie (g) generatie (g+1)

Figuur 3.1: Conceptuele voorstelling van het zoeken naar een optimum in CMA-ES.

3.3.2 Zoekprocedure

De zoekprocedure bestaat uit drie stappen die herhaald worden tot een zeker criteriumbereikt wordt:

1. Bemonster kandidaat-oplossingen x uit het huidige model N (m(g), σ2(g)C(g))

2. Evalueer de kandidaat-oplossingen en rangschik ze op basis van score

3. Pas het model en de interne toestandsvariabelen aan op basis van de beste oplossingen

Hierbij duidt superscript (g) op de waarde van een variabele in generatie g. Na hetuitvoeren van deze drie stappen in generatie (g), gaan we terug naar stap 1 en beginnenwe generatie (g + 1).

Beschrijving van het model

Het model bestaat uit een multivariate normaalverdeling N (m(g), σ2(g)C(g)) die doorheen

het leerproces aangepast zal worden, superscript (g) duidt het generatienummer aan,beginnende op 0. Het model wordt initieel opgesteld voor alle variabelen vanuit geschattestartwaarden voor de x-vector. Het model veronderstelt initieel ook dat alle variabelenautogecorreleerd zijn (C0 = I).

Page 30: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 3. Aansturing 15

Het gemiddelde m(g) van de distributie geeft een idee van de huidige schatting van de besteoplossing.

De covariantiematrix C(g) modelleert de relaties tussen de verschillende variabelen.

De stapgrootte σ(g) die een afgeleide is van de variantie σ2(g) is een goede maatstaf voorconvergentie van het algoritme. Hoe kleiner deze waarde, hoe kleiner de spreiding van demonsters. De grootteorde van de variabelen is O(100) . Empirisch blijkt dat een waardevan σ2k < 10−6 zeker een voldoende voorwaarde is voor convergentie.

Selectie van kandidaat-oplossingen

CMA-ES trekt uit de distributie λ verschillende mogelijke kandidaat-oplossingen (mon-sters) x(g+1)

1 , ...,x(g+1)λ en evalueert deze. Deze evaluatie levert een score f(xi) voor ieder

monster. De monsters worden dan gerangschikt van goede naar slechte score als volgt:

{xi:λ | i = 1 . . . λ} = {xi | i = 1 . . . λ} (3.1)

f(x1:λ) ≤ · · · ≤ f(xµ:λ) ≤ f(xµ+1:λ) ≤ . . . (3.2)

Op basis van een selectie van de µ beste oplossingen van de huidige generatie g, wordt dedistributie aangepast. Nota bene: enkel de rangschikking is van belang en de score wordtverder niet gebruikt, dit is de rangorde-eigenschap.

Aanpassing van het gemiddelde m

Het gemiddelde wordt aangepast zodat de waarschijnlijkheid (likelihood) van vorige suc-cesvolle kandidaat-oplossingen gemaximaliseerd wordt. Dit doen we simpelweg door hetgewogen gemiddelde te nemen van de µ vorige beste oplossingen :

m(g+1) =

µ∑i=1

wix(g)i:λ (3.3)

µ∑i=1

wi = 1 (3.4)

Deze procedure zorgt voor het opschuiven van het centrum van distributie in figuur 3.1.De gemiddelden van verschillende generaties worden bijgehouden in een evolutiepad p,gebruikt als maatstaf voor de correlatie tussen de stappen in de evolutie.

p =õw

m(g+1) −m(g)

σ(g). (3.5)

Page 31: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 3. Aansturing 16

Hierbij is µw een gewichtswaarde gelijk aan het inverse van de som van de kwadraten vande gewichten en dus 1 ≤ µw ≤ µ.

Aanpassing van de stapgrootte σ

Om de stapgrootte aan te passen, maken we gebruik van een afgeleide maatstaf pσ van hetevolutiepad (formule 3.5). Een grotere correlatie tussen verschillende paden laat groterestapgroottes toe en vice versa.

pσ ← (1− cσ)pσ +√

1− (1− c2σ)√C−1(g) p (3.6)

σk+1 = σk exp

(cσdσ

(‖pσ‖

E [‖N (0, I)‖]− 1

))(3.7)

Hierbij staat cσ voor een constantente die vrij gekozen kan worden. Dit mechanisme noemtmen Cumulatieve Stapgrootte Adaptatie (CSA). Een uitvoerige bespreking van CSA valtbuiten het bestek van deze thesis, voor meer informatie zie [11]. Kwalitatief is het vanbelang om te weten dat de constante zo werd gekozen dat ze premature convergentie inlokale optima voorkomt zonder globale convergentie tegen te houden. [9]

Deze procedure zorgt voor de grootte van de verschuivingen in figuur 3.1

Aanpassing van de covariantiematrix C

Voor het aanpassen van de covariantiematrix maken we gebruik van beide mechanismen:een maximum likelihood update (C(g+1)

µ ) en CSA.

pc ← (1− cc)pc + 1[0,α√n] (‖pσ‖)

√(1− (1− cc)2)p (3.8)

C(g+1)µ =

µ∑i=1

wi

(x(g)i:λ −m(g)

σ(g)

)(x(g)i:λ −m(g)

σ(g)

)T(3.9)

C(g+1) = (1− c1 − cµ + cs)Cg + c1pcp

Tc + cµC

(g+1)µ (3.10)

Deze procedure zorgt voor het aanpassen van de vorm van de distributie in figuur 3.1.

3.3.3 Aandachtspunten bij het gebruik van CMA-ES

Oneindige zoekruimte

CMA-ES werd ontworpen om in oneindig grote ruimtes te zoeken. Oneindig ver zoeken isvoor de parameters van de oscillatoren echter niet nodig en de zoekruimte oneindig groot

Page 32: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 3. Aansturing 17

laten, vertraagt het leerproces aanzienlijk. Standaard biedt CMA-ES geen opties tot hetlimiteren van de zoekruimte. Met een eenvoudige toevoeging aan het algoritme kan mendeze beperking bekomen [19]:

x′ = x mod 2xmax (3.11)

x′′ =

x′ x′ ≤ xmax2xmax − x′ anders

(3.12)

x∗ = x′′ + xoffset (3.13)

Hierbij staat x voor een element uit de parametervector x. Deze transformatie x →x′ → x′′ → x∗ projecteert de reële ruimte volgens een projectieve functie P : R →[xoffset, xoffset + xmax]. De exacte waarden van xoffset en xmax variëren per gang enper parameter.

Populatiegrootte λ

Om snelle zoektochten uit te voeren moet λ klein gekozen worden. Om robuuste of globalezoektochten uit te voeren moet λ groot zijn. Voor onze toepassing wordt λ zo gekozendat deze min of meer kwadratisch stijgt in het aantal te optimaliseren variabelen. Eenmogelijke strategie bestaat eruit λ geleidelijk te vergroten na een zeker aantal episodes2 ofna convergentie (en zo bij elke restart globaler te zoeken), de zogenaamde restart CMA-ES [4].

Selectiegrootte µ

Typisch wordt deze zo gekozen dat µ ≤ λ/2. Hoe kleiner µ, hoe scherper de evolutie,maar ook hoe groter de kans op vervuiling van volgende populaties ten gevolge van eenslechte generatie. Deze trade-off leidt binnen onze toepassing tot een ideale waarde vanλ10 ≤ µ ≤

2λ10 .

Doelfunctie f

De doelfunctie is een vrij te kiezen vaste functie die aangeeft hoe goed een kandidaatop-lossing (parametervector) voor het probleem is. CMA-ES past de parameters zo aan datdeze de doelfunctie maximaliseren.

Een goede doelfunctie kiezen voor een bepaald objectief is niet evident. Gezien het hierover numerieke simulaties gaat en er duizenden trajecten gegenereerd worden, zal het2Een episode is een volledig CMA-proces, van initialisatie tot beëindiging

Page 33: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 3. Aansturing 18

algoritme snel in niet nuttige lokale optima blijven steken (bijvoorbeeld waarbij één pootniet gebruikt wordt).

Verder moet de doelfunctie in staat zijn om het volledige leerproces te bekrachtigen. Ditkan lastig zijn aangezien verschillende criteria belangrijker worden in verschillende stadiavan het zoekproces. We zullen hier verder op ingaan in de relevante secties waar deleerprocedure toegepast wordt.

Page 34: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 4

Experimentele opstelling

In de vorige hoofdstukken hebben we het model en de leerstrategie besproken. In dithoofdstuk overlopen we de experimentele opstelling alsook de architectuur van de bestaandeen toegevoegde raamwerken.

4.1 De Webots simulatieomgeving

Webots is een 4D-simulatieomgeving met achterliggend de Open Dynamics Engine (ODE)Solver. Webots zelf zorgt voor de modellering van de robot en de gesimuleerde omgeving.ODE simuleert de interacties en gedragingen door de achterliggende differentiaalverge-lijkingen die de dynamica van de opgestelde omgeving uitdrukken te benaderen.

Een bekende kritiek op het uitvoeren van experimenten in simulatieomgevingen is datdeze niet (genoeg) overdraagbaar zouden zijn naar de realiteit. De zogenaamde simulatie-realiteit kloof is in de meeste gevallen niet volledig overbrugbaar en ook hier zal dit hetgeval zijn voor de numerieke resultaten aangezien de simulator niet volledig accuraat is.De kwalitatieve resultaten zullen echter wel generaliseerbaar zijn tot een reële omgevingen waarschijnlijk zelfs tot andere robotmodellen 1.

4.2 Architectuur van de opstelling

De aansturing van een model in Webots gebeurt door middel van een regelaar (controller).Deze regelaar kan de servo’s actueren en krijgt tegelijkertijd ook informatie over de wereldterug.

Wij kiezen ervoor om deze een TCP connectie te laten maken met een python module.Deze python module bevat de controlelogica voor CMA-ES en de kennis over de gangen.Dit wordt weergegeven in figuur 4.1.

De keuze om een apart python raamwerk te maken volgt uit verschillende motivaties:1Er is geen methode om deze externe validiteit te meten tenzij dit experiment herhalen in andere condities.Het feit dat verschillende klassen van vierpotige dieren deze gebruiken, is echter een sterke indicatie.

Page 35: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 4. Experimentele opstelling 20

Python raamwerk C++ raamwerk

Interface Regelaar Simulatorinfo

aansturing

info

aansturing

TCP verbindingInterne verbinding

Figuur 4.1: Communicatie tussen de verschillende softwareonderdelen.

• Python bevat verschillende nuttige bibliotheken (i.e. scipy).

• Python is sneller qua ontwikkelingstijd.

• Webots is inherent onstabiel.

• De ODE Solver is onstabiel wanneer je met veren werkt.

We kunnen deze bovengenoemde onstabiliteiten opvangen door middel van een pythonsupermodule die instaat voor het opstarten/afsluiten van Webots.

4.3 Het C++ raamwerk

Het C++ raamwerk is een natuurlijke uitbreiding van het AMARSi raamwerk (libamarsi-quad), geschreven door A. Tuleu (EPFL) en wordt weergegeven in Figuur 4.2. Concreetwerden er twee nieuwe actuatorklasses geschreven om de geïmplementeerde scapula envertebra servo te kunnen gebruiken (respectievelijk Scapula en Vertebra). Verder werder ook een Regelaar geschreven die zowel de oude als de nieuwe actuatorklassen gebruiktom de uiteindelijke gangen te realiseren. Deze communiceert op zijn beurt met zowel deinterne Webots interface als het python raamwerk.

4.4 Het python raamwerk

Het python raamwerk is opgedeeld in drie logische blokken: de CMA-module, de definitiesmodule en de rapporteringsmodule (zie Figuur 4.3).

De Definitions Module staat in voor de codering van de afhankelijkheden tussen variabelenen de manier waarop deze vertaald worden in oscillatoren zoals beschreven in Hoofdstuk 3.Verder staat hier ook per gang de doelfunctie gedefinieerd als Rewards.

Page 36: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 4. Experimentele opstelling 21

libamarsi-quad

Actuator

ServoDriver

SimpleActuator

KneeActuator

VoidActuatorscapspine

Scapula

Vertebra

regelaar

Regelaar

Webots

Supervisor Robot

“extends”-relatiegebruikt-relatie

Figuur 4.2: Architectuur van het C++ raamwerk, halfvolle pijlen staan voor de gebruikt-relatie,volle pijlen voor de ’extends’-relatie. De vetgedrukte modules werden ontwikkeld ter ondersteuningvan de experimenten.

CMA

Evaluation

Experiment

CMA Module

Interface

Rewards

Parameters Gaits

Definitions Module

Reporting Module

Archiving Measurement

gebruikt-relatie

Figuur 4.3: Architectuur van het python raamwerk.

Page 37: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 4. Experimentele opstelling 22

De CMA-module bevat de implementatie van CMA-ES en de logica voor het uitvoeren vaneen experiment. Een experiment bestaat uit meerdere evaluaties van telkens een parame-terset. Eén evaluatie wordt afgehandeld door de Evaluation klasse. Deze connecteert viaeen Interface met de controller in het C++ raamwerk.

De parametersets worden gegenereerd op basis van de huidige gang en het huidige CMA-ESmodel dat in de CMA klasse opgenomen wordt.

Verder is er ook nog de reporting module waarin functionaliteiten staan om grafieken tegenereren m.b.v. GnuPlot.

Page 38: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 5

Rechtdoor lopen

In het vorige hoofdstuk hebben we de experimentele opstelling besproken. In dit hoofdstukmaken we gebruik van deze opstelling om gangen voor rechtdoor lopen te vinden voor derobot.

5.1 Introductie

Zoals voorheen besproken werd, gebruiken we CMA-ES voor het vinden van optima voorde parameters van de oscillatoren (zie Tabel 5.1). Deze oscillatoren dienen als invoer voorde servo’s en zorgen zo voor de uiteindelijke voortbeweging van de robot.

Teneinde het probleem computationeel minder complex te maken en zinvolle resultaten tebekomen, moeten we beperkingen en afhankelijkheden aan de oscillatoren opleggen. Zobekomen we een sterke reductie van het aantal parameters en een eenvoudigere analysevan gevonden resultaten. Deze beperkingen hangen sterk af van het type van gang. In dithoofdstuk behandelen we enkele methodes om rechtdoor te lopen op basis van gangen diein de natuur terug te vinden zijn.

Tabel 5.1: Overzicht van de geactueerde servo’s en overeenstemmende symbolen.

Symbool Naam servoγi heup iκi knie iρ vertebra (ruggengraat)σi scapula i (schoudergewricht)

Page 39: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 5. Rechtdoor lopen 24

5.2 De drafgang

5.2.1 Theoretische analyse

Een gang is een faserelatie tussen de verschillende poten/gewrichten die een bepaaldpatroon van beweging teweegbrengt. De drafgang is een gang van middelmatige snelheiddie in bijna elk vierpotig dier terug te vinden is. Hij bestaat uit een tweedelig diagonaalpatroon: poten die diagonaal t.o.v. elkaar staan bewegen tegelijkertijd op een symmetrischemanier.

In het eerste deel van de beweging (stance fase) beweegt de poot op de grond van voornaar achter. In het tweede deel van de beweging (swing fase) beweegt de poot in de luchtvan achter weer naar voor. Deze faserelatie bij de drafgang wordt geïllustreerd in hetfasediagram1 (Figuur 5.2.1). Merk op dat de wrijving tussen poot in de stance fase (zwartgekleurd in de figuur) voor de voortbeweging zorgt.

We kunnen dit periodieke patroon coderen als vier sinusoïdale signalen in de heupservo’sen de afhankelijkheden hierin overnemen. Indien we de parameters van deze periodiekesignalen kennen, verkrijgen we een manier van lopen voor de robot, de gang. Dit levert devolgende vergelijkingen:

ω 0 π 2π

LH

LF

RH

RF

ω = 2πft

γLH = Ah cos(ω) +Oh

γLF = Af cos(ω + π) +Of

γRH = Ah cos(ω + π) +Oh

γRF = Af cos(ω) +Of

Figuur 5.1: Faserelatie in de drafgang: swing fase en stance fase en de vertaling hiervan inde oscillatoren. Indices staan voor voorkant (F ront), achterkant (Hind), links (Left) en rechts(Right).

Teneinde in de swing fase de poten van de grond te krijgen, is het belangrijk dat we eenin de tijd tegenovergesteld patroon uitvoeren met de knieën. De actuatiesignalen van deknieën zien er als volgt uit:

κLH,RF =

Ak (ω mod 2π) ≤ Tk0 anders

κLF,RH =

Ak (ω + π mod 2π) ≤ Tk0 anders

1Fasediagram gebaseerd op oorspronkelijke fasediagrammen van M. Hildebrand[12].

Page 40: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 5. Rechtdoor lopen 25

5.2.2 Leerprocedure

Traject

De robot zal tijdens de leerfase van CMA-ES een bepaald parcours moeten afleggen. Hoebeter de robot dit parcours aflegt, hoe beter de score en hoe meer waarschijnlijk eengelijkaardige selectie van parameters zal worden in de volgende populaties.

Wanneer men een kind leert lopen, neemt men het eerst vast bij de handen en leert menhet zo stappen. Wanneer het kind hierin slaagt, wordt het losgelaten en hoopt men dat hetkind erin zal slagen om zonder ondersteuning te kunnen stappen en uiteindelijk zelfs lopen.Een gelijkaardige methode wordt gebruikt wanneer men een kind leert fietsen, zwemmen ...

Net zoals bij de mens is het nuttig om de robot te helpen in het begin van zijn parcours.In dit geval doen we dit door in de simulatie de robot ’vast te houden’ in het begin vanhet traject. In een eerste tijdsinterval t ∈ [0s, 1.5s[ wordt de robot vastgehouden in hetsaggitale vlak en kan deze dus enkel recht vooruit of achteruit gaan (en dus niet vallen).In een tweede tijdsinterval t ∈ [1.5s, 3.5s[ staan we de robot toe om ook zijn helling aante passen in het saggitale vlak. In een derde tijdsinterval t ∈ [3.5s, 15s[ laten we de robotvolledig vrij. Dit alles wordt schematisch voorgesteld in Figuur 5.2.

t0 1.5 3.5

(x ,z )

x

z s s

te

(x ,z )e e

Figuur 5.2: Ideaal traject voor rechtdoor lopen, de robot loopt van links naar rechts doorheen detijd (weergegeven door de stippellijn).

Doelfunctie

Een voor de hand liggend criterium is de afgelegde afstand in de x-richting (fx, formule5.1). Deze doelfunctie leidt echter tot een zeer snelle, onstabiele gang. De reden hiervooris te vinden in de leerprocedure uit de vorige paragraaf. CMA-ES blijft vast zitten ineen zeer brede kuil van lokale optima die de afgelegde x-afstand optimaliseert zonderrekening te houden met stabiliteit. In de eerste 3.5 seconden wordt de robot immers

Page 41: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 5. Rechtdoor lopen 26

sowieso vastgehouden en worden instabiliteiten getolereerd. Deze doelfunctie is dus enkelnuttig eens we al een min of meer stabiele basisgang hebben gevonden.

∆x = (xe − xs)

∆t = (te − 3.5)

fx(∆t,∆x) = ∆x (5.1)

ft(∆t,∆x) = ∆t (5.2)

fopt(∆t,∆x) = (∆x)2∆t (5.3)

Het criterium ’stabiele tijd’ (ft, formule 5.2) leidt tot een zeer trage, stabiele gang en isdus ideaal voor in de beginfase van het leerproces. Idealiter wensen we een combinatie vanbeide voorgestelde eigenschappen te gebruiken. Dit resulteert in fopt (formule 5.3) die hetvolledige zoekproces bekrachtigt.

Bij het testen met deze doelfunctie komen er nog enkele subtiele problemen naar boven.Deze hebben vooral te maken met onrealistische gedragingen en het uitbuiten van eigen-schappen specifiek aan de engine (zoals het ontbreken van luchtweerstand). Verder bestaaner ook onstabiliteiten in zowel Webots als ODE die ervoor zorgen dat geldige - en mogelijknuttige - parametervectoren plots zeer slecht worden.

Een eerste manier om deze op te vangen is door een zeer slechte score toe te eigenen aanongeldige simulaties. Deze methode heeft echter als nadeel dat indien er zo veel zijn, we inprincipe een veel grotere µ

λ ratio verkrijgen (en bijgevolg ook de karakteristieken van eenlokale zoektocht). Verder krijgen we ook veel vals-negatieven omwille van de onstabiliteiten.

In de praktijk is gebleken dat het beter is om deze op te vangen door een score van NaN(Not a Number) toe te kennen aan ’foutieve’ parametervectoren. Deze negeren we in hetCMA-ES algoritme en we vragen nieuwe parameters aan. Zo behouden we een gezonde µ

λ

ratio ten koste van een verwaarloosbaar licht vervormde distributie. Deze is te wijten aanslechte voorbeelden die niet in rekening gebracht worden (maar deze vervorming is danüberhaupt gewenst).

Resultaten

Uit het theoretische model halen we acht parameters die we moeten optimaliseren. Webeperken de zoekruimte voor de parameters tot de waarden zoals afgebeeld in Tabel 5.2met behulp van de projectie P die in Sectie 3.3.3 besproken werd.

Het optimalisatieproces van CMA-ES werd gevisualiseerd in Figuur 5.3. Hierbij stelt devolle lijn de fitness score volgens formule 5.3 voor en de stippellijn de variantie σ2 van demultivariate distributiehypothese (zie 3.3). Zoals voorheen beargumenteerd werd, levertdeze een goede maat voor convergentie.

Page 42: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 5. Rechtdoor lopen 27

Tabel 5.2: CMA-ES parameters voor de drafgang: zoekruimte, startwaarden en optimaal gevondenwaarden.

Symbol Zoekruimte xstart xopt

f [0.10, 2.50] 1.00 2.40Af [0.20, π/2] π/4 0.62Ah [0.20, π/2] π/4 0.65Ak [0.00, π/2] 0.10 0.22Of [−π/8, π/8] 0.00 0.00Oh [−π/8, π/8] 0.00 0.18Tk [0.00, π/2] 0.10 0.40

0

5000

10000

15000

20000

25000

0 10 20 30 40 50 60 0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Scor

e

σ2

Generatie

Figuur 5.3: Leerevolutie CMA-ES voor de drafgang: score (stippellijn) en variantie (volle lijn).

CMA-ES convergeert na ongeveer 65 iteraties (130.000 simulaties) naar een optimale gangdie eveneens stabiel is. De optimale waarden xopt staan in tabel 5.2. De gang wordtweergegeven in Figuur 5.4.

5.3 De gebonden gang

5.3.1 Theoretisch analyse

De gebonden gang is een gang die vooral gebruikt wordt bij snelle verplaatsing. Ook dezegang is bij veel vierpotigen terug te vinden. Zoals af te leiden uit het fasepatroon (Figuur6.3.1) bestaat hij uit een tweedelig symmetrisch patroon: de voor- en achterpoten bewegenrespectievelijk simultaan van voor naar achter. Verschillend aan het fasepatroon van de

Page 43: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 5. Rechtdoor lopen 28

Figuur 5.4: Demonstratie van de drafgang in een Webots simulatie.

gang is er ook een derde, vliegend deel van de beweging (flight fase) waarin geen enkelepoot op de grond steunt.

We kunnen dit periodieke patroon, net zoals bij de draf, coderen als vier sinusoïdalesignalen in de heupservo’s en de afhankelijkheden hierin overnemen. Dit levert de volgendevergelijkingen:

ω 0 π 2π

LH

LF

RH

RF

ω = 2πft

γLH = Ah cos(ω + φ) +Oh

γLF = Af cos(ω) +Of

γRH = Ah cos(ω + φ) +Oh

γRF = Af cos(ω) +Of

Figuur 5.5: Faserelatie in de gebonden gang: fasepatroon en de vertaling hiervan in deoscillatoren. Indices staan voor voorkant (F ront), achterkant (Hind), links (Left) en rechts(Right).

Ook hier gebruiken we analoge kniesignalen en doelfunctie als bij de draf.

5.3.2 Leerprocedure

De resulterende gang wordt weergegeven in Figuur 5.7. Uit het leertraject (Figuur 5.6)kunnen we afleiden dat er convergentie optreedt naar een onstabiele gang (te zien aanzowel de inconsistente scorewaarde als de resulterende gang). Om de verklaring hiervoorte vinden, moeten we de gebonden gang iets dieper analyseren.

Een goede gebonden gang heeft een vliegende fase voor ongeveer 50% van de volledigegang [12]. Hiervoor moet de robot dus voldoende snelheid (energie) produceren om indeze vliegende fase te geraken. Vierpotige dieren zijn in staat om in deze vliegende fase tegeraken door een afduwbeweging die deels bekrachtigd wordt door een uniek mechanismein de rug.

Page 44: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 5. Rechtdoor lopen 29

0

20000

40000

60000

80000

100000

120000

140000

0 50 100 150 200 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Scor

e

σ2

Generatie

Figuur 5.6: Leerevolutie CMA-ES voor de gebonden gang: score (stippellijn) en variantie (vollelijn).

Dit mechanisme bestaat erin de rug afwisselend op te spannen en te ontspannen tijdenshet lopen. Dit zorgt voor opslag van kinetische energie (resulterende uit de loopbeweging)als elastische potentiële energie (in de opgespannen ruggengraat) die op zijn beurt omgezetwordt in interne kinetische energie (ontspannen van de ruggengraat) die uiteindelijk ge-bruikt wordt in de afduwbeweging [2]. Bijna alle dieren die de gebonden gang gebruiken,hebben dit mechanisme 2

Ons robotmodel heeft dit mechanisme echter niet en het is voorlopig mechanisch onhaalbaarom dit te implementeren. Wanneer we kijken naar de resulterende gang, constaterenwe inderdaad dat de achterste poten niet van de grond komen door gebrek aan kracht.Merk op dat de onstabiele resultaten te wijten zijn aan het feit dat de poten als hetware over de grond slepen en zo een voortdurende wisselwerking met het veermechanismeveroorzaken. Hierdoor worden zowel ODE als de robot onstabiel. Of dit in de echte roboteen probleem zal zijn, is nog niet bekend. Deze wrijving heeft wel een negatieve impact op2met uitzondering van kleine krokodillen die een eigen variant hebben.

Figuur 5.7: Demonstratie van de gebonden gang in een Webots simulatie.

Page 45: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 5. Rechtdoor lopen 30

de voortbewegingssnelheid en is dus sowieso ongewenst.

Een mogelijke oplossing die geen mechanische aanpassing vereist, zou het verhogen van hetplafond van de frequentie of amplitude kunnen zijn, zodat we alsnog genoeg inertie kunnenverkrijgen om de robot in de lucht te krijgen. We gaan hier niet verder op in aangezien weons vooral willen focussen op het ontwikkelen van draaistrategieën en de drafgang die hiergeschikt voor is.

Page 46: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 6

Bochten nemen

In het vorige hoofdstuk hebben we gangen gevonden voor rechtdoor lopen. In dit hoofdstukgaan we uit van de gevonden drafgang en maken we gebruik van de aanpassingen aan hetrobotmodel om ook bochten te kunnen nemen. We gaan hierbij na hoe elk gewricht hetbeste gebruikt kan worden en wegen de voor- en nadelen van keuzes in aansturing af.

6.1 Gebruikte methodologie

6.1.1 Optimale bocht

De gebruikte methodologie voor het vinden van een optimale bocht volgt hoofdzakelijkdeze van het rechtdoor lopen. Hier laten we de robot echter eerst een stuk rechtdoor lopen,waarna de bocht gestart wordt. Dit is van belang, omdat we geïnteresseerd zijn in dedraaicapaciteiten tijdens het lopen (meer bepaald de transitie van rechtdoor lopen naareen bocht nemen). Het traject ziet er dan uit zoals afgebeeld in Figuur 6.1.

Hierbij wordt de robot vastgehouden van 0 tot 3.5 seconden zoals besproken in Sectie 5.2.2.Tijdstip ts geeft aan op welk ogenblik de bocht zal begonnen worden. Dit moet mee aan-geleerd worden, aangezien er een sterke samenhang is tussen het signaal van de heupservoen die van de vertebra/scapula servo. Te vroeg of te laat beginnen t.o.v. van de heupservoleidt tot onstabiel gedrag.

Met behulp van CMA-ES wordt eerst een gang gevonden die de optimale bocht voorstelt.De optimale bocht wordt gedefinieerd als deze die de volgende doelfunctie maximaliseert:

∆x = (xs − xe)

∆z = (zs − ze)

∆t = (ts − te)

fopt(∆t,∆x,∆z) = (∆t∆z)4∆x (6.1)

Hierbij is te de tijd dat de numerieke simulatie aanstaat en dus ook de tijd dat de robotstabiel blijft lopen (gelimiteerd op 15 s voor heel stabiele gangen). Deze factor is, zoals

Page 47: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 6. Bochten nemen 32

t0 1.5 3.5 t

(x ,z )

s

x

zs s

te

(x ,z )e e

Figuur 6.1: Leertraject voor bochten, de robot beweegt van linksonder naar rechtsboven doorheende tijd (weergegeven door de stippellijn).

vermeld in Sectie 3.3.3, belangrijk voor het ontwikkelen van een stabiele gang. (xs, zs)

is de begincoördinaat van het stuk van het pad waarop de robot wordt losgelaten en dusde bocht kan beginnen. (xe, ze) is de eindcoördinaat van de robot. De te optimaliserenparameters zijn deze die het tijdsverloop van de posities van de servo’s (scapula/vertebra)bepalen. Merk op dat de tijdsfactor nog belangrijker is geworden, omdat we heel snel inonstabiele situaties zullen terechtkomen.

6.1.2 Analyse gewrichten

Teneinde bochten te kunnen maken met de robot m.b.v. een regelaar is het nuttig om nietenkel de optimale bocht te kennen, maar ook te weten hoe de bochtsterkte verandert infunctie van aanpassingen aan de parameters van de servo’s.

Een analyse van het karakter van de gewrichten vereist het vinden van vele gelijkaardigegangen (één voor elke te analyseren aanpassing aan de parameters van een servo). CMA-ESis hier niet voor geschikt aangezien dit enkel het optimum voor één servo positie zoekt. Aldie posities afgaan, zou met de beschikbare rekenkracht telkens minstens enkele maandenin beslag nemen. Ook een globale zoektocht zou qua rekenwerk te duur zijn, maar gegevendat we al de optimale bochtparameters kennen na één CMA-ES episode (zie Sectie 6.1.1) en

Page 48: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 6. Bochten nemen 33

gegeven dat we een klein aantal parameters moeten optimaliseren, is een lokale zoektocht(grid search) in zekere mate wel mogelijk.

De lokale zoekruimte wordt dan bijvoorbeeld:

xservo ∈ [0, 2x∗servo] (6.2)

xtijd ∈ [x∗tijd − tcyclus, t∗tijd + tcyclus] (6.3)

(6.4)

Hierbij zijn x∗, t∗ de positie- en tijdsparameters van de met behulp van CMA-ES gevondendraaigang. tcyclus is de tijd die een poot erover doet om een cyclus te vervolledigen enis dus gelijk aan 1/f∗ = 1/2.456 = s (met f∗ de frequentie van de optimale drafgang).Het aantal tussenniveaus werd zo gekozen dat we ongeveer 50 servo-posities afgaan en zo’n1000 tijdsposities. Dat levert een totaal van 50 000 iteraties, qua rekentijd dus ongeveerequivalent aan één grondige CMA-ES episode.

6.1.3 Evaluatiemaat

We kunnen verschillende criteria hanteren voor het evalueren van een goede bocht: bocht-snelheid, stabiliteit, energie-efficiëntie ... Aangezien wij vooral geïnteresseerd zijn in demaximale mogelijkheden van de modelaanpassingen, kiezen we voor een eenvoudige maat:de zijwaartse snelheid. Deze definiëren we als volgt:

∆z = (zs − ze)

∆t = (ts − te)

vz =∆z

∆t, (6.5)

waarbij de ∆z de afgelegde weg in de z-richting is vanaf het ogenblik van loslaten en ∆t

de duur van het tijdsinterval waarin de robot deze weg aflegde. Deze maat kent een bijnakwadratische stijging naarmate de robot verder kan draaien tot een kwartdraai bereiktwordt, waarna de winst terug kwadratisch zakt. Een steeds groter wordend deel van devoorwaartse snelheid wordt immers snelheid in de z-richting tijdens het nemen van debocht naarmate de robot meer gedraaid staat (in het eerste kwadrant). Dit is echter geenprobleem gezien in onze toepassing de robot nooit langer dan 10 seconden kan draaien endus nooit een bocht groter dan 2Pi

3 rad zal draaien (dit werd empirisch vastgesteld). Merkop dat deze maat verschillend is van de gebruikte doelfunctie. Dit komt omdat het nutvan de doelfuncties het bekrachtigen van het leerproces is, terwijl de prestatiemaat enkeldient ter evaluatie van de gevonden gangen.

Page 49: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 6. Bochten nemen 34

6.2 Bochten nemen met het oorspronkelijke model

6.2.1 Methode

Als we de poten als een geheel beschouwen, kunnen we stellen dat de enige vrijheidsgraadvan de poten een rotatie is in het saggitale vlak. In de literatuur zijn er twee veelgebruiktedraaistrategieën voor dergelijke systemen. Beide strategieën voeren een asymmetrie in hetvoetplaatsingspatroon in teneinde de robot te doen draaien.

De eerste strategie, voorgesteld door [8][28], bestaat uit het verhogen van de frequentie vande buitenste poten in de bocht. Hierdoor zal de robot meer momentum krijgen langs debuitenkant van de bocht en als direct gevolg hiervan draaien.

Een tweede strategie, voorgesteld door [5][8][28] bestaat uit het verhogen van de groottevan de schreden. Hoewel hierrond verder geen onderzoek op robots is gedaan, kiezen wedeze strategie omdat uit onze empirische waarnemingen gebleken is dat deze minder snelresulteert in instabiliteiten in de resulterende gang1.

6.2.2 Resultaat

Gebruik makend van deze methode is de maximaal bereikte laterale snelheid vz vastgelegdop 0.07 m/s. Dit is zoals verwacht een zeer slecht resultaat en legt een ondergrens om dehiernavolgende resultaten mee te vergelijken.

6.3 Bochten nemen met het nieuwe model

In Hoofdstuk 2 hebben we verschillende morfologische aanpassingen besproken. In dezesectie evalueren we elke morfologische aanpassing experimenteel.

6.3.1 Scapulae (statisch)

Methode

De grenzen en startwaarde van de CMA-ES zoekruimte worden afgebeeld in Tabel 6.1a.Merk op dat er maar één scapulapositiewaarde aangeleerd wordt i.p.v. vier om symmetrie-redenen. Deze wordt als volgt omgezet in constante aansturingssignalen (posities) voor descapulae:1De eerste strategie is immers voortgekomen uit observaties bij insecten en deze zijn inherent veel stabielerdan vierpotigen (zie Sectie 2.3.1).

Page 50: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 6. Bochten nemen 35

0

500

1000

1500

2000

2500

3000

3500

4000

0 20 40 60 80 100 0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

Scor

e

σ2

Generatie

Figuur 6.2: Leerevolutie CMA-ES voor scapulae: score (stippellijn) en variantie (volle lijn)

σ σ

σout =

0 als t ≤ tsσ anders

σLH = σout

σLF = σout

σRH = −σoutσRF = −σout

Figuur 6.3: Faserelatie in de gebonden gang: fasepatroon en de vertaling hiervan in deoscillatoren. Indices staan voor voorkant (F ront), achterkant (Hind), links (Left) en rechts(Right).

Dit heeft als resultaat dat alle poten over eenzelfde hoek overhellen, wat overeenkomt metobservaties bij dieren die we gemaakt hebben.

Resultaat

De optimale bereikte zijwaartse snelheid bedraagt 0.26 m/s, een significante verbeteringt.o.v. het resultaat van Sectie 6.2.2. De volledige leercurve staat in Figuur 6.2. Na 70generaties blijft de waarde stabiel variëren rond het optimum en convergeert CMA-ES.

Dit resultaat toont aan dat het massamiddelpunt anders zetten t.o.v. het steunmiddelpuntinderdaad een bocht op zich als gevolg heeft, zelfs zonder het invoeren van een asymmetriein de amplitudes van de invoersignalen. Dit is verschillend van vorig onderzoek waarinscapulae veelal reactief gebruikt werden om de stabiliteit tijdens het bochtwerk te hel-

Page 51: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 6. Bochten nemen 36

pen [23]. We kunnen dus concluderen dat een proactieve aanpassing in principe beter isbij een constant invoersignaal op de scapulae.

Parameter Zoekruimte x0

σ [−0.30, 0.00] -0.15ts [5.00, 8.00] 6.50

(a) Statisch

Parameter Zoekruimte x0

σ -0.051ts 6.627∆σmin [−1, 0] 0.000∆σmax [−1, 0] 0.100t0 [0, 3π4 ] 0.000

(b) Dynamisch

Tabel 6.1: CMA-ES parameters voor scapulae: zoekruimte en startwaarden.

Analyse statische scapula

De resultaten van de lokale zoektocht rond het optimum van de scapula geeft een goedbeeld van de mogelijkheden van het gewricht. De resultaten hiervan staan afgebeeld inFiguur 6.4. Elk punt in deze grafiek stelt het gemiddelde van de drie beste gangen perservo positie voor.

0.19 0.2

0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28

0.01 0.02 0.03 0.04 0.05 0.06 0.07

Snel

heid

vz

(m/s

)

Scapulae σ (rad)

f(σ) = 0.1 + σ

Figuur 6.4: Bijna lineaire karakteristiek van de statische aansturing van de scapulae.

Hoe hoger de scapula-positiewaarde, hoe verder de poten verwijderd worden van hetlichaam. Na een waarde van σ = 0.07 rad wordt de robot instabiel. Dit is wat weverwachtten: het massamiddelpunt wordt te ver verwijderd van het steunmiddelpuntwaardoor de robot omvalt omwille van de inwerkende zwaartekracht. Verrassend genoegkrijgen we ook lagere scapula-positiewaarden, waarbij de poten maar marginaal weinig naarbuiten gezet worden, een onstabiele situatie. Hier wordt niet de robot, maar de simulatie

Page 52: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 6. Bochten nemen 37

zelf onstabiel. Dit is vermoedelijk te wijten aan het feit dat ODE (de achterliggende fysicasimulator) maar tot een zekere nauwkeurigheid werkt.

Uit de analysecurve (Figuur 6.4) blijkt dat de draaisnelheid met behulp van scapulaeruwweg een lineaire functie is van de gebruikte positie van de scapulae. Desalniettemin ishet door de ruizigheid van de gevonden resultaten niet aan te raden om op basis hiervaneen regelaar maken; deze zou immers te inaccuraat zijn.

Merk op dat voor σ = 0.48 rad een betere waarde (0.27 m/s) gevonden werd dan bij deoorspronkelijke CMA-ES zoektocht. Dit toont nogmaals aan dat het woord optimaal indeze context zeker niet gelijk is aan het absolute optimum.

0 500

1000 1500 2000 2500 3000 3500 4000 4500 5000

0 20 40 60 80 100 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18

Scor

e

σ2

Generatie

Figuur 6.5: Leerevolutie CMA-ES voor vertebra: score (stippellijn) en variantie (volle lijn).

6.3.2 Scapulae (dynamisch)

Methode

Zoals voorheen vermeld, zijn er twee manieren waarop we dynamische scapulae kunnengebruiken. We gaan hier voort op de tweede manier waarbij we een extra slagbeweging inde draairichting veroorzaken, omdat deze geen aanpassingen aan het robotmodel vereist.Deze slagbeweging wordt bij de geobserveerde dieren enkel gemaakt door de voorste pooten dit lijkt ook ons de meest logische keuze.

Hiervoor moduleren we een tweede signaal op het constante invoersignaal σLF dat we totnu toe gebruikten (zie fig 6.6). Het bovenste signaal stelt het heupsignaal γ voor, hetonderste het gemoduleerde scapula signaal. We kiezen hier voor een sinusoïdaal signaal

Page 53: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 6. Bochten nemen 38

to

σ

σmax

σmin

Δσmax

Δσmin

ω

ω

A

A

2ππ

Figuur 6.6: Schematische voorstelling van het heupsignaal (boven) en de modulatie van deslagbeweging op constant scapula signaal (onder).

vanaf tijdstip t0 met als enige niet vastgelegde variabele de amplitude. σmax bepaalt inwelke mate we de poot naar binnen brengen tijdens de slagbeweging.

Merk op dat we de poot iets naar buiten zetten alvorens de slagbeweging te beginnen omdeze nog net iets meer energie te geven. Ook windhonden lijken dit te doen [25]. Hiervoorintroduceerden we de variabele σmin .

Het resulterende scapulasignaal voor de linkervoorpoot wordt dan:

ω = 2πft

σLF =

σmin + σmax cos(ω + π) als (ω mod 2π) ≥ t0σ anders

Hierbij geldt dat σmin ≤ σ ≤ σmax, met σ als de oorspronkelijk scapula waarde die nogsteeds in de andere poten gebruikt wordt zoals besproken in de vorige sectie. De aangeleerdewaarden voor de parameters staan in tabel 6.1b. Voor de codering van de parameters inCMA-ES gebruiken we afgeleide variabelen ∆σmax en ∆σmin, de maximale afwijking naarboven/onder op het oorspronkelijke scapula signaal.

σmin = σ −∆σmin

σmax = σ + ∆σmax

Resultaat

Uit de leercurve (Figuur 6.10) kunnen we afleiden dat zeer snel een goed resultaat gevondenwordt. Dit kunnen we verklaren door het feit dat we al beginnen met een vrij goede gang

Page 54: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 6. Bochten nemen 39

(die met statische scapulae). De optimale laterale snelheid bedraagt vz = 0.49 m/s, eenenorme verbetering op het statische gebruik van de scapulae.

0 1000 2000 3000 4000 5000 6000 7000 8000 9000

0 20 40 60 80 100 0

0.02

0.04

0.06

0.08

0.1Sc

ore

σ2

Generatie

Figuur 6.7: Leerevolutie CMA-ES voor dynamische scapula: score (stippellijn) en variantie (vollelijn)

Analyse dynamische scapulae

Voor het bepalen van het karakter van de dynamische scapulae moeten we een driedi-mensionale lokale zoektocht ondernemen (in de tijdsdimensie, ∆σmin en ∆σmax). Deresultaten worden in Figuur 6.8 voorgesteld. Hierin wordt het gemiddelde van de drie besteresultaten samen met het beste resultaat voor verschillende ∆σmax waarden weergegeven.De resultaten staan dus in functie van hoe ver we de poot naar binnen brengen tijdens hetuitvoeren van de slagbeweging.

Voor een te grote initiele scapula-positie (groter dan 0.275 rad) verliest de robot hetevenwicht en valt om. Ook hier merken we een lineair verband op tussen de scapula-positie en de uiteindelijk draaisnelheid. De resultaten zijn minder ruizig dan bij het vorigeexperiment en mits enige extra aanpassingen lijkt het zeker mogelijk om een nauwkeurigecontrolestrategie te maken op basis van het dynamisch aansturen van de voorste scapulae.

6.3.3 Vertebra

Methode

Voor de vertebra experimenten moeten we één servo signaal aanleren, dat van de ruggen-graat. Analoog aan de vorige experimenten moeten we ook hier het ogenblik waarop dit

Page 55: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 6. Bochten nemen 40

0.25

0.3

0.35

0.4

0.45

0.5

0.55

0 0.05 0.1 0.15 0.2 0.25 0.3

Snel

heid

vz

(m/s

)

Maximale uitwijking amplitude scapula (rad)

f(∆σmax) = 0.3 + 0.72 ∆σmax

Figuur 6.8: Lineaire karakteristiek van de dynamische aansturing van de scapulae uitgemiddeldover de drie beste waarden (behaalde maxima worden aangeduid door een cirkel).

signaal aangelegd wordt aanleren teneinde instabiliteiten te vermijden.

ρout =

0 als t ≤ tsρ anders

De grenzen en startwaarden van de zoekruimte staan in Tabel 6.2.

Tabel 6.2: CMA-ES parameters voor de vertebra experimenten: zoekruimte en startwaarden.

Parameter Zoekruimte x0

ρ [−0.05, 0.0] -0.02ts [5, 8] 6.55

Resultaat

De optimale bereikte zijwaartse snelheid vz bedraagt hier 0.32 m/s, een betere prestatiedan met statische scapulae alleen. De resulterende evolutie van CMA-ES wordt afgebeeldin Figuur 6.5.

Analyse vertebra

Hier werd een lokale zoektocht gelijkaardig aan die bij de karakteranalyse van de scapulaegebruikt (afgebeeld in Figuur 6.9). Ook hier zien we ruwweg een lineair verband tussen de

Page 56: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 6. Bochten nemen 41

vertebrapositie en de laterale snelheid. Qua grilligheid liggen de resultaten ergens tussendie van de statische en de dynamische scapula-aansturing. Het lijkt mogelijk om ook opbasis van deze resultaten een controlestrategie te ontwerpen mits enige feedback voor hetcorrigeren van fouten.

0.14 0.16 0.18 0.2

0.22 0.24 0.26 0.28 0.3

0.32 0.34

0.006 0.008 0.01 0.012 0.014 0.016 0.018 0.02 0.022 0.024

Snel

heid

vz

(m/s

)

Vertebra ρ (rad)

f(ρ) = 0.1 + 9.2ρ

Figuur 6.9: Optimale zijwaartse snelheid in functie van vertebrapositie

6.3.4 Scapula en vertebra gecombineerd

Methode

Uit de voorgaande experimenten bleek dat vertebra actief aansturen net iets beter presteertdan scapulae actief aansturen. We gaan in deze sectie na of de combinatie een meerwaardelevert. De achterliggende idee is dat de scapulae de centrifugale kracht ten gevolge van hetnemen van de bocht kan tegenwerken tegenwerken [23].

Resultaat

Na ongeveer 100 generaties bekomen we convergentie in een stabiel optimum (zie Fi-guur 6.3.4). De optimale laterale snelheid vz bedraagt hier 0.35 m/s, een verbeteringop het vorige experiment waar we enkel de vertebra gebruikten. Dit resultaat is niet beterdan de dynamische aansturing van de scapulae. We kunnen wel concluderen dat we bij hetdraaien met een vertebra alleszins best ook een scapula gebruiken.

Page 57: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 6. Bochten nemen 42

0

20000

40000

60000

80000

100000

120000

140000

0 50 100 150 200 250 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Scor

e

σ2

Generatie

Figuur 6.10: Leerevolutie CMA-ES voor de combinatie van beide gewrichten: score (stippellijn)en variantie (volle lijn).

Analyse van de scapula en vertebra combinatie

We bestuderen de combinatie van scapulae en vertebra d.m.v. een lokale zoektocht op descapula- en vertebraparameters. De resultaten hiervan worden weergegeven in Figuur 6.11.Ook hier werden de resultaten uitgemiddeld over de drie beste gangen per servo-combinatie.Wegens beperkte rekenkracht is deze grafiek zeer ruw en ook hier zijn de resultaten vrijruizig. Desalniettemin kunnen we proberen een paar conclusies te trekken uit deze grafiek.

Er is een optimaal gebied te zien centraal bovenaan ((σ, ρ) ∈ [0.02, 0.14]× [0.05, 0.1]). Ditis logisch, want grotere draaistanden van de servo’s behoren een betere bocht te geven(tot op een zeker kritisch punt waarna de robot onstabiel wordt). Wanneer we de scapulapositie minimaal houden (σ < 0.04), presteert de robot slecht voor grote vertebrapositiesomwille van stabiliteitsverlies. Dit stabiliteitsverlies lijkt opgevangen te worden door descapulae, te zien aan een verschuiving van betere waarden naar het centrum (voor σ ≈ 0.02

naar σ ≈ 0.05 verschuift het optimale gebied van ρ ≈ 0.06 naar ρ ≈ 0.08 ).

Het spreekt voor zich dat op basis van deze resultaten het maken van een nauwkeurigcontrolealgoritme nog niet mogelijk is. Verdere experimenten zijn hiervoor aangewezen.Idealiter zouden deze experimenten met een snellere gang moeten uitgevoerd worden dandeze die wij gebruikt hebben, om het effect van scapulae ten volle te kunnen benutten.

Page 58: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 6. Bochten nemen 43

0.02

0.04

0.06

0.08

0.04 0.08 0.12 0.16

Ver

tebr

a ρ (

rad)

Scapulae σ (rad)

0

0.1

0.2

0.3

0.4

0.5

Figuur 6.11: Analyse van de combinatie van beide gewrichten. Optimale zijwaartse snelheid(kleur) in functie van scapula en vertebraposities.

6.4 Conclusie

Verschillende morfologische aanpassingen werden getest. Hieruit bleek dat de vertebrabeter presteert dan de scapulae onder actieve aansturing door een constant signaal. Devertebra combineren met scapulae is waarschijnlijk aangewezen bij sterkere bochten om decentrifugale krachten tegen te gaan.

Zowel de ’optimale’- als de ’analyse’-experimenten bevestigen dat dynamisch actief aan-sturen leidt tot de beste resultaten. Bovendien zijn de gevonden resultaten met actievedynamische aansturing ook redelijk nauwkeurig. Een regelaar maken die de robot doetdraaien op basis van een controlealgoritme m.b.v. deze strategie is dus zeker mogelijk.Een samenvatting van de resultaten wordt weergegeven in Tabel 6.3.

Tabel 6.3: Vergelijking van de resultaten van de verschillende experimenten, gerangschikt opprestatie.

Gewricht Actief/Passief Statisch/Dynamisch vz

Scapula A D 0.49 m/s

Scapula en vertebra A/A S/S 0.35 m/s

Vertebra A S 0.32 m/s

Scapula A S 0.26 m/s

Oorspronkelijk model nvt S 0.07 m/s

Er zijn nog verschillende experimenten mogelijk die interessante informatie kunnen leverenomtrent het gebruik van de morfologische aanpassingen. De belangrijkste categorie lijkthierbij de combinatie tussen actief en passief aangestuurde servo’s. Zo zou de alternatievemethode die uitgewerkt werd in Sectie 2.3.2 voor trage gangen tot nog betere resultatenkunnen leiden.

Page 59: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 7

Besluit

Over rechtdoor lopen ...

Uit de experimenten betreffende rechtdoor lopen is gebleken dat een aangepaste versievan CMA-ES een zeer nuttig hulpmiddel is voor het vinden van gangen. Er werdenexperimenten uitgevoerd rondom de drafgang en gebonden gangen. Hieruit kunnen weconcluderen dat het robotmodel uitstekend geschikt is voor de draf, maar minder voor degebonden gangen. Hiervoor kunnen nieuwe morfologische aanpassingen nuttig zijn.

Over het bepalen van een optimale draaistrategie bij vierpotige robots ...

We hebben verschillende draaistrategieën geanalyseerd. Het oorspronkelijke model wasniet geschikt om te draaien en morfologische aanpassingen moesten gemaakt worden. Uitde analyses van de morfologische aanpassingen kunnen we de volgende conclusies trekken:

1. Scapulae statisch proactief aanpassen is in se een geldige draaistrategie.

2. Scapualae statisch aansturen levert minder goed bochten op dan de vertebra statischaansturen.

3. Bij actieve aansturing van de vertebra tegen hoge draaisnelheden worden scapulaebelangrijk om de centrifuge krachten tegen te werken.

4. Scapulae dynamisch aansturen levert de beste resultaten.

Verdere experimenten rond het passief gebruik van gewrichten lijken nodig om een volledigbeeld te krijgen van de mogelijkheden van deze gewrichten. Tijdens het uitvoeren van deexperimenten hebben we enkele stellingen empirisch gevalideerd, deze worden samengevatin Appendix B.

Over het ideaalbeeld van de robots ...

De aandachtige lezer zal bij het lezen van dit werk opgemerkt hebben dat er heel wat komtbij kijken om een robot flexibel te laten bewegen. We zijn nog steeds niet in staat om de

Page 60: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Hoofdstuk 7. Besluit 45

robot volledig vrij en autonoom te laten bewegen, maar we hebben wel het vraagstuk vanhet vinden van een optimale draaistrategie uitgespit en deels opgelost. Een kleine stap ineen grote evolutie ...

Page 61: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Appendices

Page 62: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Bijlage A

Afkortingen

UGent Universiteit Gent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

CMA-ES Covariance Matrix Adaptation - Evolutionary Strategy . . . . . . . . . . . . . . . . . . . . 13

EPFL École Polytechnique Fédérale de Lausanne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

AMARSi Adaptive Modular Architectures for Rich Motor Skills . . . . . . . . . . . . . . . . . . . . . . 5

ODE Open Dynamics Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

CSA Cumulatieve Stapgrootte Adaptatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

MIT Massachusetts Institute of Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

AIBO Artificial Intelligence roBOt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

CAD Computer-Aided Design

TCP Transmission Control Protocol

VRML Virtual Reality Modeling Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Page 63: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Bijlage B

Stellingen

Stelling 1. Verschillende houdingen leveren verschillen in de krachtverdeling uitgevoerddoor de robot en dus verschillen in voortbeweging.

Stelling 2. Het asymmetrisch positioneren van de poten in het transversale vlak (d.m.v.de vertebra) verhoogt de beweegbaarheid van de robot in het transversale vlak.

Stelling 3. Het asymmetrisch positioneren van de poten in het coronale vlak (d.m.v. sca-pula) verhoogt de beweegbaarheid van de robot in het transversale vlak en kan de stabiliteittijdens het snel draaien verhogen.

Stelling 4. Het combineren van Stelling 2 en 3 verhoogt de draaicapaciteit.

Stelling 5. Dynamisch positioneren van scapula gewrichten is beter t.o.v. statisch positi-oneren bij draaien.

Page 64: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Bijlage C

Codefragmenten

Codefragment C.1: VRML Vertebra node Webots-model

DEF VERTEBRA_SERVO Servo {

children [

DEF FR4_BODY_PARTS Solid {

... //definitie achterkant lichaam

}

DEF MOTORS_GROUP Solid {

... //definite motors

}

DEF LEFT_HIND_SCAPULA_SERVO Servo {

... //definitie scapula LH

}

DEF RIGHT_HIND_SCAPULA_SERVO Servo {

... //definitie scapula RH

}

Shape {

appearance Appearance {

... //definitie uiterlijk materiaal servo

}

geometry Cylinder {

height 0.02

radius 0.01

}

}

]

name "VERTEBRA_servo"

boundingObject Group {

children [

USE BIG_BOARD

USE RIGHT_REAR_UP_MOTOR

USE LEFT_REAR_UP_MOTOR

]

}

physics USE HALF_HALF_MOTOR_INERTIA

maxForce 1000

minStop -0.3

maxStop 0.3

}

Page 65: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Codefragment C.2: VRML Scapula node Webots-model

DEF LEFT_FORE_SCAPULA_SERVO Servo {

translation 0.09 0.01 -0.075

rotation 1 0 0 1.6

children [

DEF dummy1 Servo {

children [

DEF LEFT_FORE_HIP_SERVO Servo {

.... //codering linkse voorpoot

}

... //codering dummy servo

]

]

name "LEFT_FORE_scapula_servo"

boundingObject DEF FEMUR Transform {

translation 0 -0.0275 0

children [

Shape {

appearance DEF GREEN_PLASTIC_APP Appearance {

material Material {

diffuseColor 0.752941 0.862745 0.505882

}

}

geometry Box {

size 0.0154 0.055 0.0033

}

}

]

}

physics Physics {

density 1800

centerOfMass 0 -0.035 0

}

maxForce 1000

minPosition -0.3

maxPosition 0.3

minStop -0.3

maxStop 0.3

}

Page 66: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Bijlage D

Inhoud CD

Video

Al het videomateriaal bevindt zich in de submap /video.

• bound.avi: demonstratie van de gebonden gang en de hangende poten

• vertebra.avi: demonstratie van het gebruik van de ruggengraat bij een kat en derobot

• scapula.avi: demonstratie van het gebruik van scapulae in zowel dieren als de robot(zowel statisch als dynamisch actief aangestuurd)

• traject.avi: demonstratie van het leertraject voor gangen bij mensen en de robot

Code

Alle python code bevindt zich in de /code/python/. De C++ code voor het aansturenvan de nieuwe servo’s bevindt zich in /code/webots/controller/basic/.

Robotmodel

De VRML code voor de aanpassingen aan het model staan telkens beschreven in worldbestanden (.wrld) in /code/webots/world/.

Page 67: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

Bibliografie

[1] Honda robot asimo running stairs, CES, 2007.

[2] R. McNeill Alexander. Principles of Animal Locomotion. Princeton University Press,2003.

[3] I. Asimov. The early Asimov, volume 3. Del Rey, 1972.

[4] A. Auger and N. Hansen. A Restart CMA Evolution Strategy With IncreasingPopulation Size. 2005 IEEE Congress on Evolutionary Computation, pages 1769–1776, 2005.

[5] R. Franklin, W. Bell, and R. Jander. Rotational locomotion by the cockroach(Blattella Germanica). Journal of Insect Physiology, 27(4):249–255, 1981.

[6] M. Fujita. AIBO: Toward the era of digital creatures. The International Journal ofRobotics Research, 20(10):781–794, 2001.

[7] D. Gong, J. Yan, and G. Zuo. A review of gait optimization based on evolutionarycomputation. Applied Computational Intelligence and Soft Computing, 2010:1–12,2010.

[8] D. Graham. A behavioural analysis of the temporal organisation of walking movementsin the 1st instar and adult stick insect (Carausius morosus). Journal of ComparativePhysiology A: Neuroethology, Sensory, Neural, and Behavioral Physiology, 81(1):23–52, 1972.

[9] N. Hansen. The CMA evolution strategy: a comparing review, volume 102 of Studies inFuzziness and Soft Computing, chapter 4, pages 75–102. Springer Berlin Heidelberg,2006.

[10] N. Hansen. The CMA evolution strategy : a tutorial. Identity, pages 1–32, 2010.

[11] N. Hansen and A. Ostermeier. Adapting arbitrary normal mutation distributions inevolution strategies: The covariance matrix adaptation. In Proceedings of the 1996IEEE International Conference on Evolutionary Computation, 1996 Ieee InternationalConference on Evolutionary Computation, pages 312–317. I E E E, 1996.

[12] M. Hildebrand. Vertebrate locomotion an introduction how does an animal’s bodymove itself along? BioScience, 39(39):764–765, 1989.

[13] D. Jindrich and R. Full. Many-legged maneuverability: dynamics of turning inhexapods. The Journal of experimental biology, 202 (Pt 12:1603–23, June 1999.

Page 68: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

[14] I. Klíma. Karel Čapek: life and work. Catbird Press, 2002.

[15] O. Michel. Webots TM: Professional mobile robot simulation, issn 1729-8806.International Journal of Advanced Robotic Systems, 1(1):39–42, 2004.

[16] R. Pfeifer and J. Bongard. How the body shapes the way we think a new view ofintelligence. MIT Press, 2006.

[17] M.H. Raibert. Legged robots that balance, volume 1. MIT Press, 1986.

[18] M.H. Raibert. Trotting, pacing and bounding by a quadruped robot. Journal ofBiomechanics, 23(1):79–98, 1990.

[19] M. Römmermann, M. Edgington, J. Metzen, J. de Gea, Y. Kassahun, and F. Kirchner.Learning walking patterns for kinematically complex robots using evolution strategies.Parallel Problem Solving from Nature, pages 1091–1100, 2008.

[20] S. Rutishauser, A. Sprowitz, L. Righetti, and A.J. Ijspeert. Passive compliant quadru-ped robot using Central Pattern Generators for locomotion control. 2008 2nd IEEERAS EMBS International Conference on Biomedical Robotics and Biomechatronics,(c):710–715, 2008.

[21] A. Seyfarth, H. Geyer, S. Lipfert, J. Rummel, Y. Minekawa, and F. Iida. Runningand walking with compliant legs. Artificial Intelligence, 340:1–16, 2006.

[22] S. Talebi, I. Poulakakis, E. Papadopoulos, and M. Buehler. Quadruped robot runningwith a bounding gait. Engineering, pages 1–8, 2000.

[23] K. Tsujita, H. Toui, and K. Tsuchiya. Dynamic turning control of a quadruped robotusing nonlinear oscillators. 2004 IEEE/RSJ International Conference on IntelligentRobots and Systems (IROS) (IEEE Cat. No.04CH37566), (0):969–974.

[24] A. Tuleu, M. Ajallooeian, A. Spröwitz, P. Löpelmann, and A.J. Ijspeert. Trot gaitlocomotion of a cat sized quadruped robot. emn.fr, pages 1–4, 2011.

[25] J.R. Usherwood and A.M. Wilson. No force limit on greyhound sprint speed. Nature,438(7069):753–754, 2005.

[26] D. Wettergreen and C. Thorpe. Gait generation for legged robots. Proceedings of theIEEERSJ International Conference on Intelligent Robots and Systems, (July):1413–1420, 1992.

[27] F. Wyffels, M. D’Haene, T. Waegeman, K. Caluwaerts, C. Nunes, and B. Schrauwen.Realization of a passive compliant robot dog. In Proceedings of the 2010 3rd IEEERAS & EMBS International conference on Biomedical Robotics and Biomechanics,page 882, 2010.

Page 69: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations

[28] V. Zolotov, L. Frantsevich, and E.-M. Falk. Kinematik der phototaktischen Drehungbei der Honigbiene (Apis Mellifera L.). Journal of Comparative Physiology A:Neuroethology, Sensory, Neural, and Behavioral Physiology, 97(4):339–353, 1975.

Page 70: Bepalen van een optimale draaistrategie bij vierpotige ...ciri.be/pub/thesis.pdf · Similarly, we applied CMA-ES to nd optimal gaits using the suggested morphological adaptations