Sie sind auf Seite 1von 51

Hochschule Mannheim

Studienarbeit

Construction of a six-legged
robot

Thomas Loran und Frederik Geier

Betreuer
Prof. Dr. Thomas Ihme und Prof. Dr. Jörn Fischer

31. Juli 2019


Inhaltsverzeichnis
1 Einleitung 3
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Grundlagen 4
2.1 Einsatzgebiete von Sechsbeinern . . . . . . . . . . . . . . . . . . 4
2.2 Derzeitiger Stand der Technik . . . . . . . . . . . . . . . . . . . . 4
2.2.1 Weitere Bauformen von Robotern . . . . . . . . . . . . . 4
2.3 Verwandte Arbeiten . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 Kinematik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4.1 Denavit-Hartenberg Verfahren . . . . . . . . . . . . . . . 7
2.4.2 Direkte Kinematik . . . . . . . . . . . . . . . . . . . . . . 9
2.4.3 Inverse Kinematik . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Wichtige verwendete Technologien . . . . . . . . . . . . . . . . . 10
2.5.1 Stützpolygon . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5.2 Dreibeingangmuster . . . . . . . . . . . . . . . . . . . . . 10
2.5.3 Pulsweitenmodulation . . . . . . . . . . . . . . . . . . . . 11
2.5.4 I2 C-Bussystem . . . . . . . . . . . . . . . . . . . . . . . . 12
2.6 Messprinzipien . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.6.1 Messprinzip eines Drehgebers . . . . . . . . . . . . . . . . 13
2.6.2 Messprinzip eines Potentiometers . . . . . . . . . . . . . . 14
2.7 Erklärung verschiedener Akkus . . . . . . . . . . . . . . . . . . . 16
2.7.1 Lipo Akku . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.7.2 NiMH Akku . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.7.3 Li Ion Akku . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7.4 Memory-Effekt . . . . . . . . . . . . . . . . . . . . . . . . 18
2.8 Robot Operating System (ROS) . . . . . . . . . . . . . . . . . . 19
2.8.1 Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.8.2 Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.8.3 Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3 Steuerelement 20
3.1 Auswahl des Steuerelements . . . . . . . . . . . . . . . . . . . . . 20
3.1.1 Raspberry Pi Zero W . . . . . . . . . . . . . . . . . . . . 21

4 Mechanische Konstruktion des Roboters 22


4.1 Auswahlkriterien für das Design des Roboters . . . . . . . . . . . 22
4.1.1 Vorraussetzungen . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2.1 Grundkörper . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2.2 Einfaches Motorgehäuse . . . . . . . . . . . . . . . . . . . 25
4.2.3 Kreuzbügel . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2.4 Zweifaches Motorgehäuse . . . . . . . . . . . . . . . . . . 27
4.2.5 Endteil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.6 Zusammensetzung . . . . . . . . . . . . . . . . . . . . . . 29
4.3 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5 Elektronische Komponenten 31
5.1 Auswahlkriterien für elektronische Bauteile . . . . . . . . . . . . 31
5.1.1 Zusammenfassung der Anforderungen . . . . . . . . . . . 32
5.1.2 Wahl des Motors . . . . . . . . . . . . . . . . . . . . . . . 32
5.1.3 Wahl des Drehwinkelgebers . . . . . . . . . . . . . . . . . 34
5.1.4 Wahl des Tasters . . . . . . . . . . . . . . . . . . . . . . . 35
5.1.5 Wahl des Servotreibers . . . . . . . . . . . . . . . . . . . . 36
5.1.6 Stromüberwachung . . . . . . . . . . . . . . . . . . . . . . 37
5.1.7 I/O-Erweiterung . . . . . . . . . . . . . . . . . . . . . . . 38
5.1.8 Platine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6 Koordinatensysteme 40
6.1 Definition der Koordinatensysteme . . . . . . . . . . . . . . . . . 41
6.2 Beziehung der Koordinatensysteme zueinander . . . . . . . . . . 42

7 Zusammenfassung 43

8 Ausblick 44

9 Quellen 45
9.1 Wissenschaftliche Arbeiten . . . . . . . . . . . . . . . . . . . . . 45
9.2 Wissenschaftliche Beiträge von Instituten . . . . . . . . . . . . . 46
9.3 Wissenschaftliche Artikel . . . . . . . . . . . . . . . . . . . . . . 46
9.4 Webseiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.5 Bilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Selbstsändigkeitserklärung

Hiermit erklären wir, dass wir die vorliegende Arbeit mit dem Titel: Bau eines

sechsbeinigen Roboters“ selbstständig und ohne unerlaubte fremde Hilfe ange-
fertigt, keine anderen als die angegebenen Quellen und Hilfsmittel verwendet
und die den verwendeten Quellen und Hilfsmitteln wörtlich oder inhaltlich ent-
nommenen Stellen als solche kenntlich gemacht haben.

Unterschrift von Frederik Geier,Ort und Datum:

Unterschrift von Thomas Loran,Ort und Datum:

1
Danksagung

Hiermit wollen wir uns bei unseren Betreuern Herrn Ihme, und Herrn Fischer
bedanken, die uns stets mit ihrem Rat zur Seite standen und uns bei Fragen
weiter geholfen haben. Außerdem möchten wir uns auch bei Frau Ihme bedan-
ken, die uns alle Teile gedruckt hat. Des Weiteren möchten wir uns bei Herrn
Peter und Herrn Spieß bedanken, die uns immer wieder erlaubt haben ihr Labor
zu nutzen und auf Ressourcen der Fakultät für Elektrotechnik zuzugreifen.

2
1 Einleitung

1.1 Motivation

In den letzten hundert Jahren, konnten durch Beobachtungen und Recherchen


in der Tierwelt, neue Erkenntnisse gewonnen werden. Diese konnten von Wis-
senschaftlern oder Ingenieuren verwendet werden um neue Ideen und technische
Meilensteine zu erlangen.

So werden auch in der Robotik oftmals Merkmale, Verhaltensweisen oder Gang-


arten von den Vorbildern aus dem Tierreich abgeschaut. Bei den sogennaten
Laufrobotern handelt es sich, im Gegensatz zu rad- oder kettengetriebenen Ro-
botern, um Roboter mit einer höheren Mobilität, die es ihnen ermöglicht auch
durch unwegsames Gelände zu gelangen. Somit können auch Hindernisse über-
wunden sowie einen sicheren Halt auf unebenem Untergrund gewährleistet wer-
den. [9] Diese Vorteile bringen eine höhere Komplexität in der Ansteuerung und
mehrere Freiheitsgrade, die während Bewegungen kontrolliert werden müssen.

In vielen Bereichen nimmt der Einsatz von solchen Robotern zu. Die Maschi-
nen vollziehen dabei Aufgaben die der Mensch entweder gar nicht oder nur
eingeschränkt ausführen kann. Hierbei ist nicht nur das präzise Arbeiten in der
Industrie zu nennen, sondern das Erkunden unerschlossener Gebieten oder Pla-
neten. [8]

1.2 Aufgabenstellung

Oft ist das Problem beim Bau eines Roboters, dass er durch die Kabelführung
und der Vielfalt an Sensoren, recht groß ausfällt. So auch der bereits bestehende
sechsbeinige Roboter Akrobat“ an der Hochschule Mannheim. Im Rahmen der

Studienarbeit, soll ebenfalls ein sechsbeiniger Roboter gebaut werden, der klei-
ner ausfällt und ähnliche Aufgabenstellungen bewerkstelligen kann. Zu den Vor-
aussetzungen, die der Roboter erfüllen muss gehören die Programmierbarkeit,
die Schritterkennung durch Tastsensoren, sowie die Möglichkeit durch Aktorik
die Winkelstellung der Motoren auszulesen.

3
2 Grundlagen
Im folgenden soll nun der aktuelle Stand der Technik in Bezug auf sechbeinige
Roboter näher beschrieben werden und wo diese eingesetzt werden.

2.1 Einsatzgebiete von Sechsbeinern

Ingenieure und Wissenschaftler auf der ganzen Welt arbeiten schon seit längerem
an Robotern, die von Säugetieren aber auch von Insekten inspiriert wurden. Die-
se wurden vorrangig mit dem Ziel entwickelt Hindernisse zu überwinden, welche
der Mensch und fahrende Roboter nicht überwinden können. So könnten solche
Roboter beispielsweise in Erdbeben bedrohte Umgebungen geschickt werden um
Hilfsgüter zu überbringen oder gar an Rettungsmissionen teilnehmen. Des wei-
teren wäre es denkbar diese in Nuklear Reaktoren für den Menschen gefährliche
Aufgaben erledigen zu lassen.

2.2 Derzeitiger Stand der Technik

Internationale Projekte beschäftigen sich mit biologisch inspirierten Laufrobo-


tern deren Steuerung mithilfe neuronaler Netze realisiert werden. In Deutschland
sind hier vor allem die Projekte des Deutschen Forschungsinstitut für künstliche
Intelligenz (DFKI) zu nennen, welches den sechsbeinigen Laufroboter Mantis
entwickelt hat. Er soll bei folgenden Missionen im Weltraum verwendet werden
um etwa Geröllproben von Planeten zu nehmen oder einfache Manipulationen
mit seinen zwei Armen vollziehen, da er auch handwerklich geschickt ist [6].
Des Weiteren ist noch der Roboter Lauron“ des Forschungsinstituts Informa-

tik zu nennen. Dieser wurde entwickelt um in schwierigem Gelände Service- und
Inspektionsaufgaben zu erledigen [7].

2.2.1 Weitere Bauformen von Robotern

Nicht nur sechsbeinige Roboter finden heutzutage Anwendung in diversen Pro-


jekten, sondern auch Roboter mit anderen Formen der Antriebstechnik. Auch
sehr beliebt und immer häufiger im Einsatz sind zum Beispiel humanoide Robo-
ter, welche dem Menschen ähnliche Bewegungen durchführen können. Mittler-
weile gibt es sogar Fußball-Ligen mit humanoiden Robotern, die gegen einander
antreten [5]. Ebenfalls sehr oft zu sehen sind vierbeinige Roboter, oder auch
Roboter, die sich auf Rädern fortbewegen. Das wohl bekannteste Beispiel für
einen fahrenden Roboter sind die bisher hergestellten Mars-Rover [11]. Eben-
falls zu erwähnnen sind natürlich Drohnen, welche sich durch den Antrieb ihrer
Propeller in der Luft Fortbewegen. Auch zu Wasser sind Roboter heute unter-
wegs. Diese bewegen sich in diesem Terrain, ähnlich wie U-Boote, durch einen

4
Propeller-Antrieb, oder man stützt sich bei der Fortbewegung auf der Bionik
und kopiert Tierbewegungen, wie zum Beispiel die einer Wasserschlange [12].

2.3 Verwandte Arbeiten

Zu Beginn wird zunächst ein Überblick über frühere und aktuelle Entwicklungen
von Sechsbeinern in unterschiedlichen Bereichen gegeben. Einige dieser Arbei-
ten haben die in Kapitel vier beschriebenen Grundlagen verwendet und dienten
als Anregung für diesen Roboter.

Mitarbeiter des Forschungsinstituts Informatik in Karlsruhe haben einen sech-


beinigen Roboter entwickelt, der in unebenem Gelände statisch laufen kann.

Thomas Ihme (2002) beschreibt ebenfalls die Entwicklung des Sechsbeiners


Lauron“, welcher seinem biologischen Vorbild der Stabheuschrecke nachemp-

funden war. Wie dieses Vorbild besitzt er sechs Beine an einem länglichen
Körper, in dem die notwendige Steuerungselektronik untergebracht ist. Jedes
Bein kann mit der Hilfe von vier Gelenken bewegt werden. Zusätzlich kann
die Blickrichtung des Kopfes durch zwei unabhängige Achsen (roll und pitch)
verändert werden, so dass Lauron insgesamt über 26 Freiheitsgrade verfügt.

Martin Görner (2016) stellt in seiner Dissertation unter anderem den sechbeini-
gen Roboter Hector vor. Hector ist ebenfalls ein Laufroboter, der sich mit sei-
nem extrem leichten Außenskelett und elastischen Gelenken fortbewegt. Seine
Beine sind nicht für aktive Probenahme oder Manipulation mit der Umgebung
gedacht, stattdessen sollen sie ihn in unwegsamem Gelände halten und voran-
treiben. Außerdem ermöglichen ihm die Gelenkkörper der Beine, die aus drei
Segmenten bestehen, Hindernisse zu erklimmen, die größer sind als die normale
Stehhöhe.

Auch Jan Hendrik Metzen et al. (2012) beschreiben in ihrem Manusskript das
Projekt BesMan ( Behaviors for Mobile Manipulation“). Hierbei handelt es sich

um ein Projekt, welches das DFKI in Zusammenarbeit mit der Universität Bre-
men durchgeführt hat. Das Ziel dieses Projektes war die Entwicklung einer
Lernplattform für Roboter, um einfache Manipulationsaufgaben zu erlernen.
Die Grundidee war das Erlernen von Fähigkeiten anhand von Demonstrationen
des Menschen. Diese Fähigkeiten waren z.B. das Erfassen von Objekten, das er
durch Reinforcement-Learning-Methoden oder Imitation-Learning verinnerlich-
te.

5
2.4 Kinematik

Ein Laufroboter besteht aus einer Zusammensetzung von mehreren Gliedern.


Damit er sich fotrbewegen kann müssen die einzelnen Glieder in eine bestimmte
Position gebracht werden. Um dies zu erreichen wird auf die Kinematik zurück-
gegriffen [8]. Da das Verhältnis der Antriebsleistung zum Gewicht bei der Ausle-
gung von mobilen Robotern eine wichtige Rollen spielt, wurde bei der Konstruk-
tion versucht, die Gelenkstruktur so zu gestalten, dass bei Gelenken mit mehr
als einem Freiheitsgrad die gewünschte Funktion über das Zusammenspiel meh-
rerer Antriebe erreicht wird. Somit kann über die mehrfache Antriebskraft die
gewünschte Bewegung erzielt werden und Motoren können entsprechend kleiner
und leichter ausgewählt werden. In Abbildung eins ist ein kinematisches Schema
des Roboters dargestellt.
Jedes Bein besitzt drei Freiheitsgrade, die wiederum mittels dreier Antriebe
bewegt werden. Die Füße des Roboters sind zusätzlich mit Tastsensoren aus-
gerüstet.

Abbildung 1: Kinematisches Schema [10]

6
Im folgenden werden nun grundlegende kinematische Grundlagen und Metho-
den beschrieben. Diese werden im Zusammenhang der einzelnen Teilsegmen-
te des Roboters mit den jeweiligen Koordinatensystemen in der kinematischen
Kette betrachtet. Beim vorliegenden Laufroboter handelt es sich um eine of-
fene kinematische Kette. Eine Kette ist immer dann offen, wenn ein Teil vom
jeweiligen Kraftübertragungsprozess ausgeschlossen ist und sozusagen frei be-
wegt werden kann. Das ist in hier der Fall, da der Endeffektor (Fußspitze) des
Roboters frei beweglich ist. Als Endeffektor bezeichnet man das letzte Element
der kinematischen Kette 1 . Hierbei hat ein Gelenk einen Freiheitsgrad der ent-
weder Drehbewegungen (rotatorisch) oder eine Linearbewegung (translatorisch)
auführen kann. Um die Freiheitsgrade einer Kinematischen Kette zu bestimmen
wird zunächst die Anzahl der Gelenke gezählt und diese Zahl entspricht dann
der Anzahl der Freiheitsgrade. Die Bestimmung der Gelenkwinkel der Beinteilse-
gemente der Pose (Position und Orientierung) des Endeffektors im kartesischen
Raum wird mittels inverser Kinematik erreicht. Wohingegen die Bestimmung
der resultierenden Position des Endeffektors im kartesischen Raum bei vorgege-
benen Gelenkwinkeln mit der direkten Kinematik erreicht wird.
Eine kinematische Kette ist eine Aneinanderreihung von mehreren starren Körpern,
die durch kinematische Elementenpaare, wie z.B. Gelenke, beweglich verbunden
sind[8].

Abbildung 2: Kinematische Kette [12]

2.4.1 Denavit-Hartenberg Verfahren

Das Denavit-Hartenberg (DH) Verfahren ist ein Verfahren, welches Ortskoordi-


natensysteme innerhalb von kinematischen Ketten beschreibt.
Um das Verfahren anwenden zu können, muss der Ursprung des Koordinaten-
systems fest sein, mit dem Beinteil i-1 verbunden sein und im Schnittpunkt
der gemeinsamen Normalen der Gelenkachsen i-1 und i mit der Gelenkachse i
liegen. I entspricht hierbei der Zahl des Beinelementes, welche von i ={1...18}
1 s. Abb. 2

7
Um das Prinzip genauer zu verstehen wird in jedes Robotergelenk ein Rechtsko-
ordinatensystem gelegt. Anschließend werden die Systeme nach den DH-Regeln
konstruiert, so dass die Transformationsmatrizen eine einheitliche Struktur er-
halten.
Die Denavit-Hartenberg-Regeln werden nun im folgenden erläutert. Die z-Achse
des Systems muss in der Bewegungsachse des Gelenks gelegt werden. Dabei ent-
spricht die Richtung der z-Achse, der positiven Bewegungsrichtung der Bewe-
gungsachse des Gelenks. Darüber hinaus wird die x-Achse durch die Normale
von zi−1 nach zi definiert.

Die eigentliche DH-Transformation vom Objektkoordinatensystem (OKS) Ti in


das OKS Ti−1 besteht aus der Ausführung folgender Einzeltransformationen in
gegebener Reihenfolge:
1. Rotation θi um die zi−1 -Achse, damit xi−1 -Achse parallel zur xi :
 
cos(θi ) − sin(θi ) 0 0
 sin(θi ) cos(θi ) 0 0
Rot(zi−1 , θi ) = 
 0
 (1)
0 1 0
0 0 0 1

2. Translation si entlang der zi−1 -Achse zum Schnittpunkt zwischen zi−1


und xi :
 
1 0 0 0
0 1 0 0 
T rans(zi−1 , si ) =  
0 0 1 si  (2)
0 0 0 1

3. Translation ai entlang der xi -Achse, um die Ursprünge in Deckung zu


bringen:
 
1 0 0 ai
0 1 0 0
T rans(zi−1 , ai ) = 
0
 (3)
0 1 0
0 0 0 1

4. Rotation αi um die xi -Achse, um die z-Achse und die y-Achse in Über-


einstimmung zu bringen:
 
1 0 0 0
0 cos(αi ) − sin(αi ) 0
Rot(zi−1 , θi ) = 
0 sin(αi ) cos(αi )
 (4)
0
0 0 0 1

8
In der Matrizenschreibweise würde die Gesamttransformation dann wie folgt
heißen:
Ti−1,i =Rot(zi , θi ) · T rans(zi−1 , si ) · T rans(xi , ai ) · Rot(xi , αi )= (5)
 
cos(θi ) − cos(αi ) · sin(θi ) sin(αi ) · sin(θi ) ai · cos(θi )
 sin(θi ) cos(αi ) · cos(θi ) − sin(αi ) · cos(θi ) ai · sin(θi ) 

 0
 (6)
sin(αi ) cos(αi ) si 
0 0 0 1

2.4.2 Direkte Kinematik

Die direkte Kinematik ermöglicht die Bestimmung der Position des Endeffek-
tors bei gegebenen Gelenkparametern. Bei Verwendung der oben genannten
DH-Parametern lässt sich diese als Kette von vier Elementartransformationen
angeben.
n−1
nT n = Rot(zn1 , qn ) · T rans(0, 0, dn ) · T rans(an , 0, 0) · Rot(xn , δn ) (7)
Bei der Verkettung von mehreren Beinteilsegmenten wird die Transformation
durch eine Multiplikation von Segmenttransformationen angegeben.
0
4T 4 = 11 T 1 · 22 T 2 · 33 T 3 · 44 T 4 (8)

Dies wird verwendet da es einfach zu realisieren ist und da sich mit den gegebe-
nen Gelenkparametern die kinematische Konfiguration eindeutig und systema-
tisch beschreiben lässt.

2.4.3 Inverse Kinematik

Die inverse Kineamtik ermöglicht die Bestimmung der Gelenkparameter bei


gegebener Position des Endeffektors. Im Gegensatz zur direkten Kinematik lässt
sich nicht jede beliebige Position zu einer Gelenkposition zuordnen. So gibt es
beispielsweise mehrere Lösungen bei parallelen Gelenkachsen. So sind folgende
Strategien möglich um zu entscheiden welche Gelenkstellung richtig ist:
• Einführung von Vorzugsrichtungen
• Nutzung der vorhergehenden Stellung: Welche der Lösungen ist der vor-
hergehenden Stellung am nächsten?
• Minimierung der Orientierungsänderung bestimmter Achsen
• Erkennen von Hindernissen und deren Umgehung durch Auswahl einer
geeigneten Lösung
Um nun die Anzahl der Lösungen zu bestimmen muss geklärt werden von wel-
chen Faktoren diese abhängen. Für die Lösung ist entscheidend wie viele Ro-
boterachsen vorhanden sind, wie viele Achsenparameter ungleich null sind und
die Arbeitsbereiche der Achsen.

9
2.5 Wichtige verwendete Technologien

Im folgenden werden für diese Arbeit wichtige Technologien erklärt. Diese sind
wichtig um die Zusammenhänge zu verstehen.

2.5.1 Stützpolygon

Ein Stützpolygon ist die Geometrie, die die Beine eines Roboters zu einander
bilden. Es wird immer von drei Beinen bzw drei Punkten gebildet, ungeachtet
dessen, ob der Roboter über mehr als drei Beine verfügt2 .

2.5.2 Dreibeingangmuster

Jedes einzelne Roboterbein hat jeweils drei Freihatsgrade. Diese sind mindestens
erforderlich, damit sich der Roboter durch Anheben und Schwingen des Beines
fortbewegen kann. Das Ziel über die Studienarbeit hinaus, ist diesen Roboter
auf einer geraden und glatten Oberfläche mithilfe eines Dreibeingangmusters
(Tripod-Walking-Pattern) fortzubewegen. Daher soll der spätere Laufalgorith-
mus ermöglichen, dass zu jedem Zeitpunkt mindestens drei Beine im Kontakt
mit der Oberfläche sind und ein großes Stützpolygon bilden. Somit würde das
Gangmuster dem der Stabschrecke ähneln. Bei diesem Gangmuster bleiben im-
mer drei Beine auf dem Boden stehen und die gegenüberliegenden Beine voll-
ziehen die Bewegung nach vorne. Bei der Vorwärtsbewegung werden die stehen
gebliebenen Beine gestreckt. Anschließend ziehen die stehen gebliebenen Beine
nach und die anderen drei Beine bleiben stehen und werden ebenfalls gestreckt.
(Soyguder, S. und Alli, H. [2007]). Solange sich der Massenmittelpunkt des Ro-
boters innerhalb des Stützpolygons befindet, ist er statisch stabil.

Abbildung 3: Stützpolygon

2 s. Abb 3

10
2.5.3 Pulsweitenmodulation

Bei einer Pulsweitenmodulation (PWM) generiert man durch schnelles Ein- und
Ausschalten ein verstellbares Signal. Dieses Signal tritt in Form eines Rechtecks
auf und hat eine Periode T, welche eine Ein- und Ausschaltzeit besitzt 3 .

T = T + T (9)
Gesamt Ein Aus

Diese können beide variiert werden. Je kleiner die Einschaltzeit umso schwwächer
ist das Signal. Stellt man sich nun eine LED vor, welche mit einem PWM-Signal
angesteuert wird, welches eine Periode mit 30% Einschaltzeit hat, leuchtet das
Licht eher schwach. Stellt man die Einschaltzeit jedoch auf 80% so hat man ein
stärker leuchtendes Licht. Dies liegt daran, dass das Licht in Summe länger an
ist. Die prozentuale Einschaltdauer wird auch als Duty-Cycle“ (D) bezeichnet

und lässt sich wie folgt berechnen:
T T
Ein Ein
D= = (10)
T + T T
Ein Aus Gesamt

Die PWM wird vornehmlich zum Ansteuern großer Lasten verwendet wie z.B.
Servos, aber auch für Drehzahlregler oder LEDs.

Abbildung 4: Pulsweitenmodulaion

3 s. Abb. 4

11
2.5.4 I2 C-Bussystem

Um eine effiziente Kommunikation zwischen allen elektronischen Bauteilen, wel-


che im folgenden noch genauer ausgeführt werden, gewährleisten zu können,
wird im Projekt ein Bussystem verwendet. Über dieses Bussystem kommunizie-
ren die elektronischen Komponenten mit dem Steuerelement. Bei dem gewählten
Bussystem handelt es sich um den I2 C-Bus. Hier gibt es einen Master und meh-
rere Slaves 4 . Der Master spricht in einem Bussystem die Slaves an, welche in
diesem System eine spezifische Adresse haben. So lange der Master sie nicht an-
spricht, sendet der Slave auch kein Signal. Erst, wenn der Master Rückmeldung
vom Slave erwartet, bekommt der Slave ein Senderecht. Auf der folgenden Ab-
bildung ist zu sehen, dass jeder Slave sowohl an eine SDA-Leitung, als auch an
eine SCL Leitung angeschlossen ist. Die SCL-Leitung ist der Takt, welcher für
die Synchronisierung des Datenverkehrs da ist und die SDA-Leitung ist für die
Datenübertragung. Das I2 C-Bussystem eignet sich besonders gut für den Sechs-
beiner, da viele Teilnehmer mit dem Steuerelement kommunizieren können und
außerdem haben alle Komponenten des Projekts einen I2 C-Anschluss. Manche
sogar ausschließlich diesen Anschluss[15].

Abbildung 5: Master-Slave bei I2 C

4 s. Abb. 5

12
2.6 Messprinzipien

Damit der sechsbeinige Roboter seine Umwelt aktorisch und sensorisch wahrneh-
men kann, müssen die verwendeten Aktoren und Sensoren verschiedene physika-
lische Größen messen. Im folgenden werden wichtige Messprinzipien verwendeter
und möglicher Aktoren und Sensoren beschrieben.

2.6.1 Messprinzip eines Drehgebers

Viele Drehwinkelgeber arbeiten mit einem inkrementellen Messprinzip. Bei die-


sem Messprinzip hat man zwei photoelektrische Sensoren, die nebeneinander
angebracht werden. An diesen Sensoren dreht sich ein Zahnrad. Immer wenn
die Sensoren einen Zahn des Rads erfassen nehmen sie ein analoges HIGH“-

Signal auf. Ist dies nicht der Fall, empfangen sie ein analoges LOW“-Signal.

Diese Signale werden dann in ein digitales Signal umgewandelt. Ebenfalls zu
erwähnen ist, dass die beiden Eingänge 90 Grad phasenverschoben zu einander
sind. An der Abbildung 6 wird dies deutlich

Abbildung 6: Messprinzip eines Drehwinkelgebers

13
2.6.2 Messprinzip eines Potentiometers

Bei einem Potentiometer gibt es eine leitende Widerstandsbahn und einen nicht
leitenden Träger. Durch das Drehen des Reglers vom Potentiometer bewegt
sich ein Kontakt auf der Widerstandsbahn, der sogenannte Schleifer. Durch das
Bewegen des Schleifers ändert sich der elektrische Widerstand zwischen dem
Schleifer und den Enden. Der Widerstand wird dann entweder größer oder klei-
ner, je nach dem in welche Richtung man den Regler dreht. Die physikalischen
Prinzipien auf die sich beim Potentiometer gestützt wird sind das Ohm‘sche
Gesetz und der Spannungsteiler5 .

R1
U1

R2
U2

Abbildung 7: Schaltung Spannungsteiler

5 s.Abb 7

14
Ausgehend von Abbildung 5 lassen sich folgende Formeln herleiten:

U =R∗I (11)

U =R ∗I (12)
2 2

U = (R + R ) ∗ I (13)
1 1 2

Zunächst wird aus der Schaltung das ohm’sche Gesetz hergeleitet. Dieses Gesetz
wird dann auf die Schaltung angepasst. In einer Reihenschaltung ist der Strom
stets der gleiche. Diese Tatsache macht ersichtlich, dass man (4) nach dem Strom
(I) umstellen kann und diesen dann in (5) einsetzen kann.

U
2
I= (14)
R
2

(R + R )
1 2
U = ∗U (15)
1 R 2
2

oder anders herum:


R
2
U = ∗U (16)
2 (R + R ) 1
1 2

Durch die Verschiebung des Schleifers, ändert sich das Teilungsverhältnis von
R /(R + R )
2 1 2

15
2.7 Erklärung verschiedener Akkus

Energieversorgung ist in der Robotik ein großes Thema. Es ist wichtig einen
effizienten Akku zu verwenden, der einige Voraussetzungen erfüllen muss. Zu
diesen Voraussetzungen gehören die gefahrenlose Handhabung, eine hohe Ener-
giedichte, eine lange Lebensdauer, eine passende Geometrie der Bauform und
eine lange Lebensdauer. Im folgenden werden Grundlagen interessanter Akku-
typen beschrieben und Vor- und Nachteile der Akkus genannt. Des Weiteren
wird auch das Phänomen des sogenannten Memory-Effekts“gennant und be-

schrieben.

2.7.1 Lipo Akku

Ein Lithium Polymer Akku ist eine Weiterentwicklung eines Lithium Ion Akkus.
Die Eigenschaften der beiden ähneln sich daher sehr stark. Der entscheidende
Unterschied zu Lithium Ionen Akkus ist das verwendete Material des Pluspols.
Bei einem Lipo ist die Anode (der Pluspol) eine gelagerte Folie, die sehr dünn
geschichtet wird (weniger als 0,1mm Dicke). Diese Bauform ermöglicht einen
sehr flexiblen Aufbau der Lipo-Akkus. Ein Lipo Akku stellt in der Regel eine
Spannung von 3,5V-3,8V bereit und findet heutzutage in Notebooks, Handys,
Camcorder und der gleichen Anwendung. Ein weiteres Anwendungsgebiet ist
der Modellbau. Der Lipo weißt trotz seiner kleinen Baumform eine hohe Ener-
giedichte auf. Er hat eine sehr hohe Kapazität und kann sehr lange ungenutzt
bleiben ohne, dass nennenswerte Kapazität verloren geht. Das ist zum Beispiel
ein Problem des Nickel-Metalhydrid Akkus (NiMH). Zu erwähnen ist auch, dass
der Lipo durch die Werte seiner Ladezyklen eine sehr hohe Lebenszeit aufweist.
In der Regel beträgt die Lebensdauer 7-12 Jahre. Häufig geben Hersteller La-
dezyklen von 300 bis 600 als Ladezyklen.

Die Lipos weisen jedoch auch einige negativen Punkte auf. Zum einen wäre da
die hohe Empfindlichkeit der Ladung. Lipos dürfen weder tiefenentladen noch
überladen werden. Missachtet man diese Tatsache so besteht Brandgefahr. Au-
ßerdem sind sie nicht in allen Regionen verwendbar. So sollte man diese Akkus
nicht bei einer Temperaturen über 60◦ C oder unter 0◦ C, verwenden. [16]

2.7.2 NiMH Akku

Der NiMH Akku hat die Bauform von herkömmlichen Batterien. Er liefert eine
Spannung von 1,2V und hat dazu eine recht hohe Kapazität. Die NiMH Akkus
werden heutzutage oft in Spielzeug, Elektroartikeln und Taschenlampen ver-
wendet. Von der Bauform fallen sie größer aus als Lipos. Ein Vorteil gegenÜber
dem NiCd Akku (Nickel-Cadium) ist die umweltfreundliche Herstellung dieser
Akkus. Außerdem sind sie in der Regel um den Faktor 2-3 leistungsfähiger als

16
NiCd Akkus. Bei richtiger Handlung kommen die NiCd Akkus auf eine sehr lan-
ge Lebensdauer. Sie halten in etwa 350-500 Ladezyklen. Jedoch sind die Akkus
sehr empfindlich was die richtige Polung angeht. Des Weiteren sollten sie, wie
die Lipos, nie tiefenentladen oder überladen werden. Kommt ein solcher Akku
zu Schaden, so ist das in den aller meisten Fällen irreparabel. Diese Akkus sind
auch nicht dafür geeignet lange ungenutzt zu bleiben. Wie auch der Lipo ist der
NiMH Akku nicht in jeder Region verwendbar. Besonders bei Temperaturen
unter dem Gefrierpunkt sind diese Akkus nicht mehr zu 100% funktionsfähig.
Bei einer Temperatur von -20◦ C ist ein solcher Akku nicht mehr funktionsfähig
[16].

2.7.3 Li Ion Akku

Der Lithium Ion Akku hat ähnliche Eigenschaften wie der Lithium Polymer
Akku. Jedoch hat der Lithium Ion Akku in der Regel mehr Spannung als der
Lipo. Der Li Ion Akku liefert meist eine Spannung von etwa 4,2V, was ihn für
viele Anwendungen nicht wirklich tauglich macht, da viele elektrische Geräte
mit niedrigeren Spannungen arbeiten. Er ist daher auch kein passender Ersatz
für eine Batterie. Jedoch spricht für den Li Ion Akku, dass er keinen Memo-
ry Effekt hat (Erklärung folgt), welcher bei anderen Akkutypen wie den NiCd
Akku auftreten kann. Des weiteren hat der Akku wie der Lipo eine sehr ge-
ringe Selbstentladung während er nicht genutzt wird. Der Li Ion Akku ist bei
einer Ladung von 40% bis 60% zu lagern. Außerdem sollte die maximale Lage-
rungstemperatur 15◦ C betragen. Ein weiterer Vorteil ist die hohe Energiedichte
gegenüber anderen Akkutypen wie dem NiCd Akku. Li Ion Akku haben die
drei bis vierfache Energiedichte von NiCd Akkus. Des Weiteren sind diese Ak-
kus sehr langlebig. Bei einer qualitativ hochwertigem Exemplar kann es bis zu
fünfstelligen Ladezyklen kommen. Der Nachteil dieser Akkus ist wie bei den
vorher beschriebenen Typen, dass sie unter extremen Wetterbedingungen nicht
einsatzfähig sind. Außerdem sind sie wie der Lipo empfindlich gegenüber Tiefen-
entladung und Überladung. Besteht in diesem Akku eine Steuerelektronik, die
ihn vor Überladung und Tiefenentladung schützt, so wie bei Handys, besteht
keine Gefahr. Ist dies aber nicht der Fall so muss man sicher gehen, dass die
Akkus in einer dafür vorgesehen Ladestation unter dem CCCV(constant current
constant voltage) Prinzip geladen werden [16].

17
2.7.4 Memory-Effekt

Der Memory-Effekt beschreibt des kapazitiven Verlust von gewissen Akkutypen.


Bei diesem Phänomen ist nach dem Aufladen des Akkus immer nur noch soviel
Kapazität abrufbar, wie vor dem Aufladen verbraucht wurde. Dieses Phänomen
entdeckten Nasa Mitarbeiter als die von ihnen installierten NiCd Akkus in einem
Sateliten, nach dem laden nur so viel Kapazität hergeben, wie vorher bei einem
Erdumlauf verbraucht wurde[16]. Am häufigsten tritt dieses Phänomen bei NiCd
Akkus auf.

Ladungen
1. Mal 2. Mal3. Mal4. Mal

Vollgeladener Akkustand

Verbrauch nach letzter Ladung

Abbildung 8: Memory-Effekt

18
2.8 Robot Operating System (ROS)

Das Robot Operating System bzw ROS ist ein Software-Framework um Pro-
gramme für Roboter zu entwickeln. Das ROS besteht aus einer Vielzahl von
Paketen und Bibiliotheken. Des Weiteren verfügt es über Werkzeuge und einer
Python/C++ Schnittstelle. Um es nutzen zu können muss das Unix basierte
ROS-Paket installiert werden. Dabei baut das ROS dann auf das vorhandene
Betriebssystem auf, in diesem Fall Raspbian. Es wird auch als Metabetriebsys-
tem bezeichnet. ROS wird über den Terminal gesteuert.
Funktionen werden in Form von ROS-Nodes ausgeführt. Diese Funktionen sind
in C++ und Python zu schreiben und werden in Paketen organisiert. Über ein
standardisiertes Nachrichtenformat werden Daten zwischen den Nodes ausge-
tauscht. Des Weiteren enthält ein ROS-Paket in den meisten Fällen neben den
Nodes und Bibiliotheken, zusätzliche Konfigurationsdateien.

2.8.1 Nodes

Nodes sind rechnende Prozesse. Hierbei sind alle verwendeten Nodes in einem
Graph dargestellt. Sie kommunizieren miteinander über streaming topics, RPC
Services und dem Parameter Server. Als Beispiel könnte man den JoyNode
nennen, der auch beim Akrobat verwendet wird um ihn mit dem Joystick zu
steuern.

2.8.2 Topics

Topics gewährleisten die Kommunikation zwischen einzelnen Nodes. Diese Kom-


munikation wird im besagten Node Graph mit Verbindungslinien dargestellt. Die
Kommunikation basiert auf dem Publish-Subscribe-Prinzip. Hierbei published
ein Node eine Message, welche an jeden Node und jeden Topic geleitet wird,
die diesen Node subscriben. Bei dieser Kommunikation weiß der Node nicht mit
welchen Nodes er kommunizieren kann und mit welchen nicht.
Der Nachrichten-Transport von ROS ist derzeit TCP/IP und UDP. Der TCP
Nachrichten-Transport ist unter dem Begriff TCPROS“ bekannt. Dieser stre-

amt Nachrichten über persistente TCP/IP-Verbindungen.

2.8.3 Master

Der ROS-Master stellt den Rest der Knoten im ROS-System Namens- und
Registrierungsdienste zur Verfügung. Er verfolgt Publisher und Subscriber zu
Topics sowie Services. Die Rolle des Masters besteht darin, dass einzelne ROS-
Knoten sich gegenseitig lokalisieren können. Sobald diese Knoten sich gegenseitig
gefunden haben, kommunizieren sie gleichberechtigt miteinander. Gleichberech-
tigt bedeutet hierbei, dass alle Knoten sowohl Informationen abrufen als auch
beisteuern können.

19
3 Steuerelement
Um den Roboter nach dem Zusammenbau auch programmieren zu können,
benötigt man ein Steuerelement, welches es ermöglicht die Komponenten des
Roboters logisch anzusteuern.

3.1 Auswahl des Steuerelements

Da in zukünftigen Projekten auch das Meta-Betriebsystem ROS (Robot Ope-


rating System) benötigt werden könnte, welches einiges an Ressourcen brauch,
muss ein Steuerelement gewählt werden, welches genügend Speicher und Leis-
tung bietet. Dafür werden der Rapberry Pi 3 und der Raspberry Pi Zero W mit
einander verglichen. 6
Beim Vergleich im Hinblick auf das Projekt überzeugt besonders der Rapsber-
ry Pi Zero W. Dieser erfüllt durch seine geringen Kosten, die kleinen Maße
und die nötigen Ports die Voraussetzungen zur Gänze. Der Raspberry Pi 3 ist
zwar leistungsstärker, jedoch auch größer und teuerer. Außerdem verfügt er über
USB-Ports, welche nicht benötigt werden und daher unnötigen Platz einnehmen.

Tabelle 1: Vergleich der Mikrocontroller


Raspberry Pi Zero W Raspberry Pi 3
Preis ca. 13 Euro ca . 35 Euro
Speicher 512 MB 1 GB
Größe 65 mm x 30 mm 85.60 mm x 56.5 mm
Konnektivität Mini-HDMI, Micro-USB HDMI, USB, Micro-USB,
Micro-SD-Karten Slot SD-Karten Slot, Klinke,
Ethernet
Unterstützte Raspbian, Noobs, OpenE- Raspbian, Noobs, Ubuntu
Betriebssysteme LEC, OSMC MATE, Android Things,
Windows 10 IoT Core

6 s. Tabelle 1.

20
3.1.1 Raspberry Pi Zero W

Abbildung 9: Raspberry Pi Zero W 512 MB [22]

Der Raspberry Pi Zero W verfügt über einen GPIO-Header mit 40 Pins. Er be-
sitzt außerdem eine Schnittstelle für WLAN und Bluetooth. Darüber hinaus ist
er mit einem Mini-HDMI Anschluss Typ C, einem Mikro B-USB Anschluss für
Daten und einem Mikro B-USB Anschluss für die Stromversorgung ausgestattet.
Verbaut ist ein Single-Core-SoC BCM2835 von Broadcom, der mit 1 GHz ge-
taktet ist und über einen Arbeitsspeicher von 512 MB verfügt. Zusätzlich findet
sich noch eine CSI-Schnittstelle für einen Camera-Port, wo man beispielsweise
eine Pixy-Cam oder ähnliches anschließen kann.

21
4 Mechanische Konstruktion des Roboters
Ein Roboter sollte sich durch ein beliebiges Terrain bewegen können, ganz un-
abhängig davon, wie die Begebenheit dieses Terrains ist. Ähnlich wie der Mensch
sollte der Roboter das Umfeld, in dem er sich bewegt, nicht kennen müssen. Sen-
sorisch und aktorisch soll eine Bewegung ermöglicht werden, die den Roboter
Hindernisse ausweichen oder übersteigen lässt wie zum Beispiel Treppen. Um
dies zu bewerkstelligen ist das richtige Design eines Roboters sehr wichtig. Das
Design entscheidet nämlich über die Geometrie, das Gewicht, das Material und
letztendlich auch über die Kinematik des Roboters. Diese Eigenschaften sind
alle optimal zu wählen damit die Voraussetzung für einen flüssigen autonomen
Gang erfüllt ist.

4.1 Auswahlkriterien für das Design des Roboters

Bevor der Roboter laufen lernt, muss er erst einmal stehen können. Dies soll zu
jedem Zeitpunkt möglich sein, unabhängig davon wo er sich befindet. Die Anord-
nung der Beine spielt daher einer große Rolle. Der bereits bestehende Roboter
Akrobat der Hochschule Mannhiem, an den sich dieses Projekt anlehnt, steht
auf sechs Beinen, welche an einem länglichen Gehäuse befestigt sind. Schnell
zu erkennen ist, dass das Vorbild dieses Roboters die Stabheuschrecke ist. Der
Vorteil dieser Anordnung der Beine ist, dass der Roboter einen sehr guten Halt
hat. Dies liegt daran, dass das Stützpolygon sehr groß ist, da die Beine so weit
von einander weg sind. In Hinsicht auf einen sicheren Stand und einen siche-
ren Gang bietet sich dieses Design sehr gut für den Roboter an, jedoch ist eine
weitere Voraussetzung, dass der neue Roboter kleiner als der Akrobat sein soll.
Den Aufbau einer Stabschrecke nachzuahmen wird daher sehr schwer, weil der
Roboter so sehr groß ausfallen könnte.
Aus genanntem Grund wurde daher entschieden ein anderes Tier als Vorbild
zu nehmen und zwar den Käfer. Bei einem Käfer sind alle Beine sehr kompakt
zusammen. Aus diesem Grund kann die Geometrie sehr klein gewählt werden.
Das Stützpolygon wird zwar kleiner, aber dennoch ist ein halt gewährleistet
Eine weitere Voraussetzung ist, dass der Roboter an jedem Bein über drei Mo-
toren verfügen soll. Unter anderem soll der Roboter einen modularen Aufbau
haben, sodass der Sechsbeiner in zukünftigen Projekten noch erweitert werden
kann. Aus diesem Grund soll auf aufwändige Verschlussarten verzichtet wer-
den und die Beine so einfach wie möglich gestaltet werden. Um den Roboter
möglichst klein zu gestalten sollen die Teile des Beins minimale Abmaße haben.
Der Roboter soll auch über Aktorik verfügen, um die Winkelstellung der Bei-
ne auszumessen und Schritte zu detektieren. Für diese Aktorik sind die Beine
entsprechend zu designen.

22
4.1.1 Vorraussetzungen

Aus den Kriterien für das Design lassen sich folgende Voraussetzungen ziehen.
Diese sind für die Lösung zu beachten und umzusetzen.
• Vorbild Käfer
• drei Motoren pro Bein
• modularer Aufbau des Roboters
• Aufbau einfach halten
• Abmaße minimal halten
• einplanen von Platz für Aktorik im Bein

4.2 Umsetzung

Ausgehend von den erworbenen Voraussetzungen wird im folgenden eine Lösung


für den Roboter beschrieben. Der Roboter besteht in Summe aus fünf verschie-
denen Teilen. Zum einen hat er einen Grundkörper, der als Verstauraum für die
Elektronik da ist und zum anderen hat er sechs Beine, welche aus vier verschie-
denen Bauteilen bestehen. Diese Bauteile werden an einander montiert und dann
an das Gehäuse befestigt. Zu den Teilen des Beins gehört ein einfaches Motor-
gehäuse, ein kreuzfürmiger Bügel, ein zweifaches Motorgehäuse und ein Bügel
mit integriertem Tarsus. Der Aufbau aller fünf Bauteile so wie die Begründung
der Wahl wird in den folgenden Unterkapiteln genauer beleuchtet.

23
4.2.1 Grundkörper

Das Ziel des Grundkörpers ist das Verstauen der Elektronik, sowie deren Schutz.
In Hinsicht auf das Projekt gehört zu den Voraussetzungen die optimale Wahl
der Abmaße. Außerdem auch Modularität und damit auch Übersicht. Dies ist
vorallem im Grundkörper wichtig, um die Schaltung zu verstehen. Sollte keine
Übersicht gewährleistet sein, so wird es schwer den Roboter zu erweitern, oder
einen Schaden zu reparieren. Aus diesem Grund soll das Gehäuse zwar groß
genug sein um die genannten Kriterien zu berücksichtigen, jedoch nicht zu groß
um den Sechsbeiner klein zu halten.
Mit dem Gehäuse von Teko, welches in der folgenden Abbildung zu sehen
ist, werden diese Voraussetzungen zur Gänze erfüllt. Das Gehäuse hat hat ein
schwarzes Design mit abgerundeten Ecken und einen grauen Deckel, den man
unten, mittels Verschraubung, anbringen kann. Der Grundkörper ist für die An-
wendung bearbeitet worden. Um vom Grundkörper aus die Beine zu verkabeln
hat er an den zwei kleinen Seiten eine und an den zwei langen Seiten zwei Aus-
sparungen bekommen. Außerdem ist er um Bohrungen erweitert worden damit
man die Beine am Gehäuse anbringen kann. Das Gehäuse für einen Steuer-
rechner, Akkus und weitere Elektronik. Das Gehäuse hätte auch konstruiert
und gedruckt werden können, jedoch nimmt ein so großer Druck sehr viel Zeit
in Anspruch. Aus Brandschutzgründen sind lange Drucke an der Hochschule
Mannheim unerwünscht. Ein Druck darf nur so lang sein wie der Aufenthalt der
Person, die den Druck betreut. Man könnte den Druck zwar qualitativ niedriger
einstellen um Zeit einzusparen, nur besteht dann die Gefahr, dass das Bauteil
für die Anwendung untauglich ist.

Abbildung 10: Grundkörper [5]

24
4.2.2 Einfaches Motorgehäuse

Das erste Motorgehäuse wird an den Grundkörper des Roboters geschraubt. Um


dies zu bewerkstelligen, sind zwei Bohrungen an der Vorderseite des Gehäuses
angebracht, damit das einfache Motorgehäuse an den Grundkörper geschraubt
werden kann. Durch diese Bohrungen wird eine Schraube der Norm DIN 965
M3x16 hindurchgeführt und mit einer Mutter der Norm DIN 934 M3 festge-
halten. Die Bohrungen auf den oberen Flächen sind für die Befestigung eines
Motors gedacht. Der Motor verfügt an den Seiten über zwei Halterungen die mit
einem Loch versehen sind. Durch dieses Loch wird dann eine Schraube gedreht
und in das Bohrloch, welches im Motorgehäuse aufzufinden ist, eingeführt wird.
Der Platz, den man unter der vorderen Bohrung für den Motor sehen kann, ist
für die Kabel des Motors vorgesehen 7 . Diese werden dann seitlich aus dem Mo-
torgehäuse rausgeführt und durch die Kabel-Löcher im Körper durchgesteckt,
sodass die Kabel an die Steuerungselemente gelangen können. Das angefräste
Loch am Boden, ist für den Drehwinkelgeber, der genau diese Form hat. So kann
die Drehung des Kreuzbügels vom Drehwinkelgeber aufgenommen und verarbei-
tet werden.

Ein solches Gehäuse ist nötig um den Motor festhalten zu können und ihn auch
vor Vibration zu schützen. Der Grund für die Form ist das Gewichtsersparnis.
Aus diesem Grund hat das Gehäuse auch keine Seitenwände. Bei vielen Robo-
tern sind keine Motorgehäuse notwendig. Diese Roboter haben aber meistens
große stabile Motoren, die nicht so schnell zu Schaden kommen können. Bei den
kleinen Servos, die bei diesem Sechsbeiner verwendet werden, handelt es sich
jedoch um kleine Modellbau-Motoren, welche Schutz brauchen.

Abbildung 11: Einfaches Motorgehäuse

7 s. Abb. 11

25
4.2.3 Kreuzbügel

Der Kreuzbügel ist U-förmig aufgebaut. Auf der einen Seite hat er ein Loch
durch das der Drehwinkelgeber durchgeführt wird. Dieses Loch ist am vorderen
Teil des Bügels, oben zu sehen 8 . Auf der gegenüberliegenden Seite des Loches
ist eine Aussparung für das Horn des Servomotors eingearbeitet. Dieses Horn
wird in die dafür vorgesehene passgleiche Form des Bügels hineingesteckt. Der
Bügel ist durch diesen Aufbau drehbar gelagert, da die Achse des Motors und
das Loch für den Drehwinkelgeber genau auf einer Linie liegen. Der Kreuzbügel
umfasst auf der einen Seite das einfache Motorgehäuse, welches fest mit dem
Grundkörper verbunden ist, und sorgt für die Bewegung in x-Richtung. Auf der
anderen Seite, welche genau gleich aufgebaut ist und lediglich um 90◦ versetzt
ist, umfasst der Bügel das zweifache Motorgehäuse 9 .

Der Grund für die Kreuzform des Bügels ist das Platzersparnis, welches da-
durch erzielt wird. Vorangegangene Versuche erwiesen, dass zwei einzelne Teile,
welche an einander montiert werden, zu wacklig sind und die Länge des Beins
unnötig strecken. Des Weiteren ist durch die Kombination von zwei Teilen zu
einem, eine bessere Modularität und Übersicht über den Aufbau gewährleistet.
Außerdem ergaben Recherchen und Beobachtungen von bereits bestehenden
sechsbeinigen Robotern, dass sich ein Bügel, der den Motor umfasst anbietet,
da so die Übertragung der Bewegung perfekt vollzogen werden kann [14].

Abbildung 12: Kreuzbügel

8 s. Abb. 11
9 s. Abb 12

26
4.2.4 Zweifaches Motorgehäuse

Bei der Konstrukion des zweifachen Motorgehäuses handelt es sich um eine


Kombination aus zwei einfachen Gehäusen (s. Kap. 4.2.4 Abb. 9). Durch die
Kombination kann Platz eingespart werden und das Konstrukt ist kompakter
und wackelt nicht. Des Weiteren bietet die Form des Bauteils den Vorteil, dass
weniger Einzelzteile für den Bau des Roboters zustande kommen und der Auf-
bau einfach gehalten wird. Oben neben den Öffnungen für die Motoren sind
Bohrungen angebracht, damit die Motoren verschraubt und befestigt werden
können. An den Seiten verfügt das zweifache Motorgehäuse über Aussparun-
gen, die für die Kabel der Motoren da sind. So können die Kabel aus dem
Gehäuse herausgeführt werden. Am Boden des zweifachen Motorgehäuses sind
zwei halbrunde Aussparungen, die den Regler vom Drehwinkelgeber aufnehmen
und festhalten sollen. Der Regler des Drehwinkelgebers hat genau diese Form.
So kann die Winkelstellung des Beins vom Drehwinkelgeber gemessen werden.

Der Grund für die Wahl dieser Geometrie, ist der kleine kompakte Aufbau.
Damit das Konstrukt fest genug ist, sind bei diesem Gehäuse Seitenwände an-
gebracht worden. Diese sind nötig, da auf dieses Bauteil mehr Kraft einwirkt
wird. Hier wird an beiden Seiten eine Drehbewegung aufgenommen und nicht
nur an einer, wie bei dem einfachen Gehäuse. Außerdem steht bei der Auswahl
dieser Geometrie auch die Platzeinsparung im Vordergrund.

Abbildung 13: Zweifaches Motorgehäuse

27
4.2.5 Endteil

In Abbildung 12 ist zu sehen, dass das Endteil dem Kreuzbügel ähnelt, nur ist
hier am Rücken des U-Trägers ein Stift angebracht. Am Ende des Stiftes ist
ein Schlitz, der die Öffnung für den später im voran gegangenen beschriebenen
Taster darstellen soll (Siehe Seite 6). An der Seite des Stiftes ist ebenfalls ein
lang gezogener Schlitz angebracht. Dieser ist dafür vorgesehen, die Kabel vom
Taster zum Grundkörper so nah wie möglich am Bein zu halten. Die Kabel
könnten beim Laufen nämlich an einem Gegenstand hängen bleiben und zu
Schaden kommen. Außerdem, kann man bei dem gewählten Aufbau die Kabel
nicht anders rausführen. Daher ist in dem Schlitz für den Taster ein Loch, wo
die Kabel durchgesteckt werden und in die Öffnung an der Seite des Stiftes
gelangen.

Abbildung 14: Endteil

28
4.2.6 Zusammensetzung

Vom Grundkörper ausgehend ist das erste Bauteil das einfache Motorgehäuse.
Dieses wird an den Grundkörper verschraubt. An dieses Gehäuse schließt sich ein
Kreuzbügel an, welcher sich mithilfe des ersten Motors in x-Richtung bewegen
kann. Die andere um 90◦ versetzte Seite des Kreuzbügels umfasst das zweifache
Motorgehäuse und ermöglicht diesem die Bewegung in z-Richtung. Anschließend
an das zweite Motorgehäuse kommt das Endteil welches durch das Gehäuse
drehbar gelagert wird.

Abbildung 15: Sechsbeiniger Laufroboter

29
Abbildung 16: Mögliche Winkelstellung der Motoren

Jeder Motor am Bein kreiert einen neun Freiheitsgrad. In summe kommt jedes
Bein also auf drei Freiheitsgrade. Jeder Motor hat einen möglichen Bewegunsra-
dius in dem er sich bewegen kann. In der Abbildung 14 ist dies durch die griechi-
schen Buchstaben α,β und γ an den Motoren kenntlich gemacht. Um eine lange
Lebensdauer der Motoren zu gewährleisten dürfen die maximalen Winkelstel-
lungen des Herstellers nicht durch physische Einflüsse von außen überschritten
werden.

4.3 Zusammenfassung

Zusammenfassend kann man sagen, dass die grundlegenden Voraussetzungen


erfüllt worden. Der Roboter nimmt im Stand eine Länge von 21 cm und eine
Breite von 30 cm ein und ist damit sehr klein ausgefallen. Insgesamt besteht der
Sechsbeiner aus fünf Teilen, welche sich schnell an einander montieren lassen,
daher ist der Aufbau einfach und modular gestaltet. Des Weiteren ist zu sehen
10
, dass der Roboter Stauraum für seine Aktorik hat. Der genaue Aufbau und die
dazugehörigen Kriterien und Vorraussetzungen der elektrischen Komponenten
folgen im nächsten Kapitel

10 s. Abb 15

30
5 Elektronische Komponenten
Neben dem mechanischen Aufbau spielt auch die richtige Elektronik eine große
Rolle. Diese bestimmt häufig sogar das Design. Für eine flüssige Laufbewegung
muss die Elektronik optimal gewählt werden. In diesem Kapitel werden zunächst
die Anforderungen an die Elektronik aufgelistet und im Nachhinein eine passen-
de Lösung hergeleitet. Jede Wahl eines elektrotechnischen Bauteils wird genauer
beleuchtet und mit anderen Möglichkeiten verglichen.

5.1 Auswahlkriterien für elektronische Bauteile

Damit der Roboter in Bewegung gesetzt werden kann muss ist es unausweichlich
ihn mit elektrischen Bauteilen zu versorgen. Der Ursprung der Bewegung eines
Roboter stammt in den meisten Fällen von einem Motor. Da sich das Bein eines
Käfers nie komplett durchdreht, ist kein normaler Gleichstrommotor nötig. Für
die Anwendung ist ein Servomotor die bessere Wahl. Dieser sollte geringe Maße
haben, damit er im Verhältnis zu dem mechanischen Aufbau passt. Zu einem
Servomotor. Des Weiteren gehört zu den Anforderungen an den Motor, dass sein
Getriebe aus Metall und nicht aus Plastik besteht. Ein Plastikgetriebe ist sehr
anfällig. Außerdem sollte der Winkel jedes Motors ausgelesen werden können.

Damit die Motoren programmiert werden können, wird ein Bauteil benötigt,
dass den Motoren eine Logik geben kann.

Für eine flüssige Bewegung ist außerdem wichtig, dass der Roboter Rückmeldung
darüber bekommt, ob er einen Schritt gemacht hat. Daher muss der Sechsbeiner
wissen, ob seine Beine den Boden berühren, oder nicht.

Bei so vielen Anforderungen kann es zu sehr viel Kabelaufwand kommen. Aus


diesem Grund sollte eine Vielzahl an GPIO-Ports gegeben sein.

Da es allen Akkutypen, die im Grundlagenkapitel beschrieben worden und für


das Projekt infrage kommen, nicht gut tut, wenn sie tiefenentladen oder über-
laden werden, ist eine ständige Spannungsüberwachung nötig.

31
5.1.1 Zusammenfassung der Anforderungen

In diesem Unterkapitel werden die die genannten Anforderungen und Voraus-


setzungen an die Elektronik zusammenfassend aufgelistet.
• Motor muss klein sein
• Motor muss Metallgetriebe haben
• Servomotor
• Baustein der Programmierbarkeit ermöglicht
• Winkelstellung der Motoren auslesbar
• GPIOs erweitern
• Strom und Spannungsüberwachung der Akkus

5.1.2 Wahl des Motors

Da der Motor klein sein muss, um im Verhältnis zu dem mechanischen Aufbau zu


passen und um den Roboter nicht zu schwer zu gestalten, wird auf Modellbau-
Servos zurückgegriffen. Diese sind klein und dennoch sehr leistungsfähig. Des
Weiteren sind Servomotoren mit einem Metallgetriebe nötig. In der folgenden
Tabelle werden Motoren aufgelistet, die die Voraussetzungen erfüllen. Außerdem
werden ihre Eigenschaften der Tabelle beigefügt um im Nachgang eine logische
Lösung herzuleiten.
Motor integrierter Encoder Metallgetriebe Drehmoment Preis
MG90S Nein Ja 1,8kg*cm 3-5 e
Analog Feedback Servo Ja Nein 6,4kg*cm 16,01e
Parallax Feedback 360◦ Ja Nein 2,2kg*cm 25 e
High Speed Servo

Tabelle 2: Motorvergleich

32
Bei den aufgelisteten Motoren überzeugen zunächst die beiden unteren, da sie
einen integrierten Encoder haben. Das heißt es ist kein zusätzlicher Aktor nötig
um die Winkelstellung des Motors auszulesen. Das Problem jedoch ist, dass
diese Motoren beide kein Metallgetriebe haben. Außerdem sind Sie auch nicht
billig. Zu beachten beim Kauf ist, dass mindestens 18 dieser Motoren benötigt
werden. Bei einem Stückpreis von 16 e oder 25 e würde der Preis dreistellig
ausfallen. Für Motoren, die ein Plastikgetriebe haben und damit sehr Anfällig
für Getriebeschäden sind, ist das ein hoher Preis. Der MG90S verfügt zwar über
keinen integrierten Encoder, aber hat ein Metallgetriebe und ist nicht teuer. Er
ist zwar der schwächste Motor von allen, aber überzeugt dennoch durch sein
Metallgetriebe.
Nach diesem Vergleich wird der MG90S als Motor für die Anwendung gewählt.
Aus dem Grund des fehlenden integrierten Encoders, muss die Winkelstellung
mittels anderer Aktorik ausgelesen werden.

Abbildung 17: Motor MG90S [24

33
5.1.3 Wahl des Drehwinkelgebers

Da der gewählte Motor keinen integrierten Encoder bietet, muss das Ausle-
sen der Winkelstellung auf anderem Wege passieren. Dieses Ziel wird mittels
Aktorik erreicht. Zur Wahl für die Bewältigung dieser Aufgabe gibt es zwei
Möglichkeiten. Man könnte den Winkel zum einen durch einen Drehgeber aus-
lesen und zum anderen durch ein Potentiometer. Im Grundlagenkapitel wurden
die Messprinzipien der beiden Aktoren genannt und genauer erklärt. Der Vor-
teil des Drehwinkelgebers ist, dass er sich 360 Grad drehen kann, daher kann es
nicht zu Einschränkungen der Bewegung kommen. Potentiometer können sich
in den meisten Fällen nicht durchdrehen. Sie haben oft einen Bewegungsradius
von 270 Grad. Dieser Radius würde zwar für eine normale Bewegung reichen,
aber dennoch bringt diese Möglichkeit eine Gefahr mit sich. Wenn man den
Schaft des Potentiometers in ein Gelenk einführt und das Bein dann irgendwo
hängen bleibt, besteht die Gefahr, dass der Schaft sich trotzdem verdreht. Sollte
das passieren, wird der Roboter den Folgeschritt nicht vollkommen durchführen
können und die Bewegung wird blockiert. Der Motor jedoch würde dennoch ver-
suchen die Spannung aufrecht zu halten und der Strom würde ansteigen. Das
könnte Schaden verursachen. Von den Messprinzipien her, sind beide effizient.
Das Messprinzip des Drehwinkelgebers ist jedoch anfälliger für Schäden. Dieser
arbeitet nämlich mit dem photoelektrischen Effekt. Man hat also auf der einen
Seite einen LED, dann kommt ein Rad mit mehreren Speichen und dann kommt
ein photoelektrischer Sensor. Das Rad dreht sich und immer, wenn das Licht
auf die Speiche des Rads trifft kann der Sensor kein Licht aufnehmen und gibt
ein LOW “-Signal. Sollte die LED ausfallen ist das gesamte Messprinzip nicht

mehr möglich. Beim Potentiometer ist die Anfälligkeit kein Problem. Hier wird
nur der Widerstand verstellt um das Verhältnis des Spannungsteilers zu ändern.
Da die Bewegung eines Roboters ein wichtiger Punkt ist, überzeugt in diesem
Vergleich der Drehwinkelgeber. Auch, wenn es nicht sein muss, dass der Schaft
des Potentiometers sich in der Aussparung des Gelenks ungewollt überdreht,
ist die Möglichkeit existent und damit eine Gefahr für mehrere Bauteile des
Roboters. Sollte eine LED des Drehwinkelgebers ausfallen und den Drehwinkel-
geber damit nicht mehr funktionsfähig machen, kann dieser schnell und einfach
ausgetauscht werden. Wichtig ist dabei, dass dadurch keine anderen Bauteile
zu Schaden kommen. Wenn jedoch das Potentiometer durchdreht und die Be-
wegung blockiert, können Motoren zu Schaden kommen und der Roboter kann
stürzen und somit noch mehr Bauteile beschädigen.

Abbildung 18: Drehwinkelgeber [25]

34
5.1.4 Wahl des Tasters

Aus den Anforderungen lässt sich entnehmen, dass der Roboter eine Detek-
tierung eines Schritts brauch. Ansonsten würde der Motor bis zum Anschlag
fahren. Mit der Schritterkennung kann man im Quellcode angeben, dass die
Ansteuerung der Motoren abgebrochen werden kann. Dafür bieten sich mehrere
Möglichkeiten an. Eine Möglichkeit wäre zum Beispiel eine recht neue Innova-
tion. Es geht dabei um ein sogenanntes intelligentes Gummi, das durch Verfor-
mung besser leitet[17]. Dieses könnte an die Füße des Roboters befestigt werden.
Eine weitere Möglichkeit wäre ein Taster. Bei dem Smart material“handelt es

sich noch um eine recht neue Erfindung, weshalb es eher nicht geeignet für den
Roboter ist. Es besteht bisher noch zu wenig Literatur darüber, um negative
Aspekte auszuschließen. Der Taster bietet da mehr Informationen. Aus diesem
Grund überzeugt der Taster auch in diesem Vergleich. Des Weiteren sprechen
seine effiziente und einfach Funktionsweise für ihn. Außerdem gibt es Taster in
den verschiedensten Ausführungen, weshalb man schnell einen anwendungsspe-
zifischen Taster finden kann.
Bei der Wahl des richtigen Tasters überzeugte besonders der Mikroschalter
SSM001. Der Taster wird nämlich im Tarsus des Beins verbaut. Der Tarsus
hat eine Durchmesser von 1,3cm. Der gewählte Taster darf also nicht breiter
sein als 1,3 cm. Die Breite des SSM001, welcher in der folgenden Abbildung
zu sehen ist, ist 8,3mm. Zu erwähnen ist auch, dass der Taster sich sehr leicht
betätigen lässt. Dies ist auch ein Grund, weshalb er sich für die Anwendung eig-
net. Bei vielen Tastern ist eine große Kraft zu überwinden um sie betätigen zu
können. Das könnte die Werte in der Anwendung verfälschen. Bei dem SSM001
lassen sich die Tasten sehr leicht betätigen. Aus diesem Grund, kann man sicher
gehen, dass alle Signale, die man bekommt der Wahrheit entsprechen.
Der Taster wird normally open“geschalten, sodass jeder Kontakt den Strom-

kreis schließt.

Abbildung 19: Mikroschalter[26]

35
5.1.5 Wahl des Servotreibers

Zur Ansteuerung der Servomotoren wird ein Servotreiberboard verwendet. Mit


diesem Treiber kann man den Motoren eine Logik geben und sie mithilfe der
Pulsweiten-Modulation unterschiedlich intensiv ansteuern. Die Pulsweiten- Mo-
dulation ist für ein solches Projekt von aller höchsten Notwendigkeit. Andern-
falls kann man entweder ein 1-Signal oder ein 0-Signal auf den Ausgang geben.
Das würde für die Servo-Motoren heißen, dass sie entweder gar nicht, oder voll
ausgefahren sind. Aufgrund dessen ist es nicht möglich ohne ein PWM-Signal
einen Laufalgorithmus zu realisieren. Ein solches Treiberboard ist nötig weil der
Raspberry Pi Zero W zum einen in Summe nicht genügen PWM-fähige Pins
hat und zum anderen würde nicht genügend Spannung anliegen um die Moto-
ren zu versorgen. Der Raspberry Pi Zero W kann mit 3,3V oder 5V betrieben
werden, die Motoren jedoch brauchen mindestens 6V. Das Treiberboard kann
mit 5V versorgt werden. Das Board bietet sich für die Anwendung gut an, weil
es genügend Steckplätze liefert. An ein Servotreiberboard können in Summe 16
Motoren gesteckt werden. Da der Roboter 18 Motoren besitzt sind zwei solcher
Servotreiberboards notwendig. Jedes Board versorgt 9 Motoren mit Strom.

Das Board hat 16 Steckleisten. Jede Steckleiste hat drei Pins. Einen Pin für die
Stromversorgung, einen für die Erdung und einen für das PWM-Signal. Des wei-
teren verfügt das Board über fünf weitere Pins. Einen Pin für die Spannungsver-
sorgung vom Raspberry Pi. Diese ist jedoch nicht so hoch wie die Spannungsver-
sorgung für die Steckleiste. Die Spannungsversorgung vom Raspberry Pi dient
der Versorgung für die Logik-Bausteine. Außerdem sind auch ein Erdungs-Pin
und die zwei nötigen Pins für die I2 C-Kommunikation. Des Weiteren ist auch
noch ein OE-Pin auf dem Treiberboard zu finden, welcher jedoch keine Verwen-
dung für den Roboter hat. Da es sich bei dem Board um einen Teilnehmer des
I2 C-Bus handelt und es zwei gibt, muss eines der Boards durch dafür vorgesehe-
ne Lötstellen adressiert werden. Somit haben die beiden Boards nicht die selbe
Adresse. Andere Servotreiberboards kommen nicht infrage für den Sechsbeiner,
da sie meistens zu wenig Steckplätze bieten und man somit mehr von ihnen
kaufen und verbauen müsste.

Abbildung 20: PCA9685 16 Kanal 12 Bit PWM Servotreiber [27]

36
5.1.6 Stromüberwachung

Der Strom der für die Motoren gebraucht wird, muss während des Betriebs ge-
messen werden. Sobald sicher ist wie groß die Ströme werden, wird ein dem
entsprechender Lithium-Polymer-Akku eingebaut.
Um sicherzustellen, dass es nicht zum Brand kommt brauch man eine durchge-
hende Überwachung. Diese Spannungsüberwachung liefert der INA219. Dieser
Chip funktioniert gewissermaßen wie ein Multimeter. Der INA219 wird zwischen
den Akku und die Verbraucher in Reihe geschaltet und misst den Ein- und Aus-
gangsstrom. So kann abgelesen werden, wie die Spannung des Akkus aussieht.

Der INA219 kommuniziert wie die Servotreiberboards über den I2 C-Bus mit
dem Raspberry Pi. Daher muss er durch passende Lötstellen auch adressiert wer-
den. In der Anwendung hat er jedoch schon standardmäßig die richtige Adresse
und muss nicht zusätzlich adressiert werden. In 11 ist zu sehen, dass das Überwa-
chungsboard zwei Versorgungseingänge hat. In diesem Fall ist V+ der Eingang
für die Spannung vom LiPo-Akku und Vcc ist der Eingang für die Spannung
vom Raspberry Pi.

Der INA219 eignet sich durch seine hohe Spannungs- und Stromtoleranz sehr
gut für das Projekt. Ein weiteres Argument, welches für den INA219 spricht und
ihn seinen Konkurenten gegenüber auszeichnet, ist sein kleines Format. Durch
die Größe des Überwachungsboards entsteht kein Platzmangel im Gehäuse des
Roboters.

Abbildung 21: INA219-Chip für Strom- und Spannungsmessungen [28]

11 s. Abb. 21

37
5.1.7 I/O-Erweiterung

Da es sehr viele elektrische Komponenten gibt, die alle kein integriertes Bus-
system haben und über Kabelwege mit dem Raspberry Pi Zero kommunizieren,
würden die 40 Pins des Raspberry Pis nicht reichen. Zumal nicht alle Pins GPIO-
Pins sind. Aus diesem Grund sind im Sechsbeiner zwei MCP23017 eingebaut.
Das sind GPIO-Erweiterungen. Jede Erweiterung liefert 16 neue GPIOs. Diese
werden beide aufgebraucht.

Die GPIO-Erweiterung bietet zwei verschiedene Arten der Kommunikation. Da


wäre zum einen die SPI-Kommunikation und zum anderen die I2 C-Kommunikation.
Aufgrund der Tatsache, dass alle anderen elektrischen Komponenten, welche
über einen Bus kommunizieren, den I2 C-Bus verwenden, kommuniziert der MCP23017
auch über diesen Bus.

Es gibt zwar auch andere Erweiterungen, doch diese bieten alle nicht so vie-
le Ports wie der MCP23017, welche jedoch durch die vielen Kabel der Encoder
nötig sind.

Abbildung 22: MCP23017 I/O-Port Expander [29]

38
5.1.8 Platine

Abbildung 23: Platine

Um die Kabelführung so kurz und so übersichtlich, wie möglich zu gestalten,


verfügt die Platine über ein Stecksystem. Bei diesem Stecksystem, sind weibli-
che Steckerbuchsen an den Aussparungen vom Gehäuse angebracht. So können
die Kabel vom Bein direkt am Anfang der Aussparung angeschlossen werden.
Im Gehäuse selbst, begrenzt sich die Kabelführung auf ein Minimum. Die An-
schlüsse der Komponenten ist durch Lötwege realisiert. Der Raspberry Pi Zero
ist nicht auf der Platine angebracht. Dieser ist auf dem Deckel angebracht. Der
Decke ist mit Abstandshaltern an das Gehäuse angebracht, sodass der Raspber-
ry Pi immer angeschlossen werden kann, ohne ständig das Gehäuse öffnen zu
müssen.

5.2 Zusammenfassung

Zusammenfassend kann man sagen, dass alle Anforderungen erfüllt werden. Der
Roboter verfügt über kleine Servomotoren, welche zum mechanischen Aufbau
passen. Die Motoren verfügen über ein Metallgetriebe. Durch die eingebauten
Taster ist es möglich jeden Schritt zu detektieren. Drehwinkelgeber ermöglichen
das auslesen der Winkelstellung. Ein Servotreiber gewährleistet die Program-
mierbarkeit und vor allem PWM-Fähigkeit der Motoren. Des Weiteren gibt es
durch die zwei MCP23017 genügend GPIO-Ports um alle elektrischen Kompo-
nenten anzuschließen.

39
6 Koordinatensysteme

Abbildung 24: Definition der Koordinatensysteme

Zur Steuerung des Roboters werden unterschiedliche Koordinatensysteme als


Bezugssysteme verwendet. Auf diese meist kartesische Koordinatensysteme be-
ziehen sich Bewegungen (Kinematik) und Informationen von Sensoren. Bei kar-
tesischen Koordinatensystemen bilden die Achsen eine orthoganle Basis. Das
bedeutet, dass die Achsen je paarweise senkrecht aufeinander stehen. Somit
sind sie die Basisvektoren für jegliche Einheitsvektoren.

40
6.1 Definition der Koordinatensysteme

Im folgenden werden nun alle Koordinatensysteme beschrieben, die im Zusam-


menhang mit dem Laufroboter benutzt werden. In Abbildung 24 ist die Sche-
matische Darstellung des Roboters mit den Koordinatensystemen dargestellt.
Das Körperkoordinatensystem {K; X, Y, Z }
Das Körperkoordinatensystem ist ein kartesisches Koordinatensystem, welches
mit dem Roboter fest verbunden ist. Der Ursprung des Koordinatensystems K
liegt in der Mitte des Roboters. Die durch Koordinatenachsen X und Y bildende
Koordinatenebene ist parallel zur Grundfläche des Roboterkörpers.

Das Zentralkoordinatensystem {Z; X, Y, Z }


Das Zentralkoordrinatensystem ist ein kartesisches Koordinatensystem, welches
als Bezugssystem für die Bein- und Körperbewegungen und die Lokalisierung
des Roboters benutzt wird. Es gleicht dem Körperkoordinatensystem nur dann,
wenn sich der Roboter in der ausgangslage befindet.

Das Beinkoordinatensystem {B; X, Y, Z }


Für die Definition der Beinkoordinatensystem, werden alle Beine durchnum-
meriert. Anschließend wird jedem Bein das passende Koordinatensystem {B(i) ;
X(i) , Y(i) , Z(i) } entsprechend der Indizes i =(1,2,..6) der Beinnummerierung zu-
geordnet. Der Ursprung des jeweiligen Systems B(i) liegt am Befestigungspunkt
des Beins. Die Achse X(i) ist parallel zum Normalenvektor der Seitenfläche des
Roboters. Die Seitenfläche liegt in der durch die Koordinatenachsen Y(i) und
Z(i) aufgespannten Ebene. Die Koordinatenachse Z(i) ist parallel zur Koordina-
tenachse Z des Köperkoordinatensystems.
Das Gelenkkoordinatensystem {q(i) ; α(i) , β (i) , γ (i) }

Jedes Bein besitzt drei Freiheitsgrade. Diese werden im Vektor q zusammen-


gefasst. Dabei werden die Freiheitsgrade ausgehend vom Körper mit α(i) für
das erste Gelenk, β (i) für das zweite und γ (i) für das dritte Gelenk bezeichnet
[8].

Das Fußkoordinatensystem {F(i) ; X(i) , Y(i) , Z(i) }

Die Fußkoordinatensysteme sind kartesische Koordinatensysteme, welche ihren


Ursprung am Ende der jeweiligen Beinspitze eines jeden Beins haben. Die Koor-
dinatenachse Z(i) ist senkrecht zur dritten Gelenkachse. Die Koordinatenachse
X(i) ist parallel zur dritten Gelenkachse. [3]

41
6.2 Beziehung der Koordinatensysteme zueinander

Abbildung 25: Beziehung der Koordinatensysteme

Die im vorherigen Kapitel vorgestellten Koordinatensysteme werden benötigt


sobald Bewegungen des Roboters oder von Teilen des Roboters ausgeführt wer-
den. Um Beziehungen zwischen den einzelnen Koordinatensystemen herzustellen
müssen Koordinatentransformationen durchgeführt werden.

Um die Position und die Bewegung des Sechsbeiners beschreiben zu können,


#”
muss das Zentralkoordinatensystem verwendet werden. Mit dem Vektor R (i)
lässt sich der den Ursprung des Zentralkoordinatensystems mit dem Koordina-
tenursprung des Fußkoordinatensystems verbindet, beschreiben. Darüber hin-
aus werden die Beinbefestigungspunkte durch den Vektor r#”1 (i) beschrieben. Die
Beinbefestigungspunkte, die im Ursprung der Beinkoordinatensysteme liegen,
werden durch die Vektoren #” r (i) mit den Fußkoordinatensystemen verbunden.
Der Zusammenhang dieser drei Vektoren werden in der folgenden Gelichung
dargestellt.
#”
R (i) =r#”0 (i) + #”
r (i) (17)

42
7 Zusammenfassung
Sechsbeinige Roboter sind nicht mehr nur Zukunftsmusik in der Robotik. Sie
leisten jetzt schon Aufgaben an Orten für die der Mensch nicht in der Lage ist.
Somit ist es umso wichtiger sich mit dem Bau solcher Prototypen zu beschäfti-
gen und Erfahrungen zu sammeln.
Im Rahmen der vorliegenden Arbeit wurde versucht die Problematiken, des Baus
eines programmierbaren sechsbeinigen Roboters zu erfassen. Des Weiteren soll-
ten diese Probleme gelöst und für zukünftige Arbeiten Erkenntnisse gewonnen
werden. Dabei ist deutlich geworden, dass viele Vorgehensweisen und Ergebnis-
se sehr verschieden sind. Daher wurde eine eigene Herangehensweise gewählt,
welche sich vor allem auf die Konstruktion der Körperteile, das Entwerfen ei-
nes elektrischen Schaltplans sowie die Gewährleistung der Programmierbarkeit
konzentriert.
Die Ursache für die großen Unterschiede zwischen den Vorgehensweisen und
den Ergebnissen, könnte an den unterschiedlichen Anwendungsbereichen und
technischen Komponenten liegen. So wird als Bein-Mechanismus beispielsweise
ein Watt-Chain Sechsgelenk verwendet um dem Vorbild der Kakerlake näher zu
kommen (Soyguder, S. und Alli, H. [2007]). Andere verwenden hingegen einen
Viergelenkmechanismus, obwohl dort der Kraftübertragungswinkel und der Pen-
delwinkel kleiner als bei einem sechsgelenkigen Mechanismus ist (R. Norton,
[2004]).
Dennoch war es möglich in dieser Arbeit, den Roboter fertig zu konstruieren und
zusammenzubauen. Des Weiteren wurde auch ein funktionierender Schaltplan
mit allen relevanten Bauteilen erstellt. Diese wurden auch getestet und alle I2 C-
Komponenten erkannt. Darüber hinaus kann sowohl die Winkelstellung durch
Drehwinkelgeber, sowie Schritterkennung durch Mikroschalter vollzogen werden.
Der Sechsbeiner ist mit Hilfe der erstellten 3D-Modelle sehr leicht rekonstruier-
bar und nach dem Bestellen aller verwendeten Teile in kürze zusammengebaut.

43
8 Ausblick
Die erste Version des Sechsbeiners ist noch ausbaufähig und sollte auch in Zu-
kunft weiter verbessert werden. Zunächst könnte man den Grundkörper und den
dazugehörigen Deckel noch modellieren und mit dem 3D-Drucker herstellen. Da-
bei könnte man den gesamten Roboter um weitere Funktionalitäten erweitern.
So könnte z.B. verschiedene Deckel, mit verschiedenen Aufsätzen, oder ein De-
ckel, den man mit verschiedenen Bauteilen bestücken kann, konstruiert werden.
Auf diesem neuen Deckel könnte man eine Kamera, oder einen Greifarm o.ä.
auf die Oberseite des Sechsbeiners montieren und programmieren. Man müsste
den Roboter jedoch um einige Anschlussmöglichkeiten erweitern, da durch den
Grundaufbau schon einige Ports belegt sind. So müsste man dann zum Beispiel
noch eine weitere I/O-Erweiterung auf der Platine verbauen und diese ebenfalls
wieder über Lötwege verkabeln. Des Weiteren könnte man die Gefahrenstellen
der Drehwinkelgeber minimieren indem man jedes Bein beispielsweise mit einem
Gewebeschlauch überzieht. Denn dadurch, dass kein Drehwinkelgeber in irgend-
einer Weise von Einflüssen von außen geschützt ist, können schnell Brücken
gelegt werden oder Drehwinkelgeber beschädigt werden. Mit einem Gewebe-
schlauch wären beide Probleme gelöst. Um auch die Kabelführung noch über-
sichtlicher zu gestalten könnte man Schläuche kaufen oder sogar selbst machen,
so dass alle Kabel perfekt eingepackt sind. Zuletzt könnte man sich noch ein
besseren Mechanismus für den Taster im Fuß überlegen. Zur Zeit liegt nämlich
das ganze Gewicht des Beines auf den Tastern und so könnte es dazu kommen,
dass manche von ihnen kaputt gehen. Ein Möglicher Ansatz wäre, dass man
das Bein zweiteilig gestaltet und somit einen kleinen Fuß hat, der über einen
Schiebeverschluss mit dem Rest des Beines verbunden ist. Beim Laufen könnte
sich der kleine Fuß in einer dafür vorgesehenen Führung auf- und abbewegen.
Zwischen diesen beiden Teilen könnte sich dann der Taster befinden. Die beiden
Bestandteile des Beines wären dann federnd zueinander gelagert und so würde
nicht das ganze Gewicht auf dem Taster liegen und der Taster würde trotzdem
noch ausgelöst werden.

44
9 Quellen

9.1 Wissenschaftliche Arbeiten

1. Soyguder, S. und Alli, H. (2007), Design and prototype of a six-legged



walking insect robot“, Rechercheartikel, Mechanical Engineering Depart-
ment, Firat University, Elazig, Turkey
2. Artem Rudskyy (2012), Design- und Steuerungsaspekte humanoider Ro-

boter“, Dissertation, Otto-von-Guericke-Universität Magdeburg
3. Thomas Ihme (2002) Steuerung von sechsbeinigen Laufrobotern unter

dem Aspekt technischer Anwendungen“, Dissertation, Otto-von-Guericke-
Universität Magdeburg
4. Robert Norton (2004), Design of Machinery“, 3. Auflage, McGrawHill,

New York
5. Joerg Christian Wolf, Phil Hall, Paul Robinson, Phil Culverhouse (2007) Bio-

loid based Humanoid Soccer Robot Design“, Centre for Robotics and In-
telligent Systems, University of Plymouth Drake Circus, Plymouth, PL4
8AA, United Kingdom
6. Jan Hendrik Metzen, Alexander Fabisch, Lisa Senger, Jose de Gea, Fern-
andez, Elsa Andrea Kirchner (2012) Towards Learning of Generic Skills

for Robotic Manipulation“, Manuskript, Robotics Group, Universität Bre-
men; Robotics Innovation Center, German Research Center for Artificial
Intelligence (DFKI), Bremen, Deutschland
7. Martin Görner (2016), Locomotion and Pose Estimation in Compliant,

Torque-Controlled Hexapedal Robots“, Dissertation, Technische Univer-
sität Ilmenau, Dessau Deutschland
8. Wilen Askerow (2014), Konstruktion, Aufbau und Inbetriebnahmeeiner

sechsbeinigen Laufmaschine unterVerwendung inverser Kinematik“, Bachelor-
Thesis, Hochschule Mannheim, Deutschland
9. André Herms, Entwicklung eines verteilten Laufplanersbasierend auf heu-

ristischen Optimierungsverfahren“, Diplomarbeit, Otto-von-Guericke-Universität
Magdeburg, Deutschland
10. Yuriy Zavgorodniy (2009), Konstruktion und Steuerung von Schreitrobo-

tern mit ballistischem Laufverhalten“, Dissertation, Otto-von-Guericke-
Universität Magdeburg, Deutschland
11. Jörg Fellmann (2007), Entwicklung eines statisch stabilen Laufalgorith-

mus für einen zweibeinigen Laufroboter“, Diplomarbeit, Hochschule Mann-
heim, Deutschland

45
12. Ashraf Elfasakhany, Eduardo Yanez, Karen Baylon, Ricardo Salgado (2011)
Design and Development of a Competitive Low-Cost Robot Arm with

Four Degrees of Freedom“, Taif University, Al-Haweiah, Saudi Arabien

9.2 Wissenschaftliche Beiträge von Instituten

13. Deutsches Forschungszentrum für Künstliche Intelligenz Robotics Innova-


tion Center unter:
https://robotik.dfki-bremen.de/de/forschung/robotersysteme/mantis.html
(abgerufen am 03.06.19 um 14:02)
14. Forschungsinstitut Informatik FZI unter:
https://www.fzi.de/de/forschung/projekt-details/lauron/
(abgerufen am 03.06.19 um 12:30)

9.3 Wissenschaftliche Artikel

15. Christian Schroeder Life on Mars: my 15 amazing years with Oppy, NA-

SA’s record-breaking rover“, 26.02.2019
16. Steinar Brandslet, A giant subsea snake robot“, in Norwegian SciTec

News, 10.08.17

17. Wollongong University (2019), Smart materials work better under pres-

sure“

9.4 Webseiten

18. Feuerwehr Oberiberg (Schweiz):


http://www.feuerwehr-oberiberg.ch/tipp16.htm
(abgerufen am 04.06.19 um 16:00)
19. actu.epfl.ch unter:
https://actu.epfl.ch/news/six-legged-robots-faster-than-nature-inspired-gait/
(abgerufen am 10.03.2019 um 17:15)
20. nxp.com unter:
https://www.nxp.com/docs/en/user-guide/UM10204.pdf
(abgerufen am 15.05.19 um 10:11)
21. What is PWM: Pulse Width Modulation unter:
https://circuitdigest.com/tutorial/what-is-pwm-pulse-width-modulation
(abgerufen am 09.06.19 um 10:21)

46
22. Der Lithium Polymer Akku (Lipo Akku) unter:
http://www.akku-abc.de/lipo-akku.php
(abgerufen am 09.06.19 um 21:34)

9.5 Bilder

23. TEKO Enclosures unter:


http://www.tekogehause.de/de/produkte/familie/TC/serie/coffer-a
(abgerufen am 07.05.19 um 15:02)
24. Zeller Modellbau unter:
https://zeller-modellbau.com/mg90s-micro-servo-13-4g-12-2mm-0-08sec-2-
2-kg-bb-mg-tower-pro.html
(abgerufen am 07.04.19 um 12:04)
25. Ebay Inc. unter:
https://www.ebay.es/itm/ALPS-STEC12E08-Encoder-With-6mm-D-plastic-
Shaft-Vertical-with-Switch-/112791292238
(abgerufen am 07.04.19 um 12:15)
26. Conrad Elecrtonics SE unter:
https://www.conrad.de/de/mikroschalter-ssm-001-30-vdc-05-a-1-x-einein-
tastend-1-st-704539.html
(abgerufen am 07.04.19 um 12:30)
27. Heise online unter:
https://www.heise.de/preisvergleich/16-kanal-pca9685-pwm-servo-driver-verschiedene-
hersteller-a1601007.html
(abgerufen am 07.04.19 um 12:38)
28. Henry’s Bench : a place for the electronic hobbyist unter:
http://henrysbench.capnfatz.com/henrys-bench/arduino-current-measurements/ina219-
arduino-current-sensor-voltmeter-tutorial-quick-start/
(abgerufen am 07.04.19 um 12:47)
29. Amazon Europe Core unter:
https://www.amazon.de/MCP23017-expander-MICROCHIP-TECHNOLOGY
(abgerufen am 10.04.19 um 13:19)
30. Pi Supply: The Maker Emporium unter:
https://uk.pi-supply.com/products/raspberry-pi-zero-w
(abgerufen am 10.04.19 um 14:27)
31. Mikrocontroller.net unter:
https://www.mikrocontroller.net/articles/Pulsweitenmodulation
(abgerufen am 05.06.19 um 11:41)
32. MIKROE Embedded Tools unter:
https://www.mikroe.com/blog/i2c-everything-need-know

47
(abgerufen am 04.06.19 um 14:33)
33. Neuosence and Robotik Lab:
http://hades.mech.northwestern.edu/index.php/Rotary Encoder
(abgerufen am 06.04.19 um 12:21)
34. Servo Magazine, North Hollywood, Kalifornien unter:
https://www.servomagazine.com/magazine/article/may2014M cComb
(abgeruf enam04.06.19um11 : 44)

48

Das könnte Ihnen auch gefallen