Struktur

 

Software-Stack: (zum Vergrößern anklicken)

Klassendiagramm: (zum Vergrößern anklicken)

Servo:

  • rechnet die ihr übergebenen Winkel in PWM-Werte um
  • beinhaltet die minimalen und maximalen Winkel die durch die Kalibriegung ermittelt wurden

Leg:

  • repräsentiert einen Fuß des Hexapods
  • verwaltet die Servos von einem Fuß
  • setzt die Servos auf die übergebenen Winkel

LegCtrl:

  • verwaltet die Beine
  • kann jedes Bein einzeln an einen bestimmten Punkt setzen oder bestimmte Winkel anfahren
  • liest Geometriedaten des Hexapod ein

Hexapod:

  • Startet den Hexapod indem der Socket gestartet wird
  • beinhaltet den CtrlSocket und die Bewegungsarten

CtrlSocket:

  • steuert den TCP-Socket für die Kommunikation mit dem Webserver
  • wandelt empfangene Steuerzeichenketten vom Socket in Kommandos um

Movement:

  • Basisklasse für Bewegungsarten
  • wertet Daten von Socket aus und gibt entsprechende Steuersignale an LegCtrl weiter

RippleGait:

  • Implementierung für Ripple-Gait Bewegungen
  • abgeleitet von Movement

TripodGait:

  • Implementierung für Tripod-Gait Bewegungen
  • abgeleitet von Movement

WaveGait:

  • Impelementierung für Tripod-Gait Bewegungen
  • abgeleitet von Movement

Inverse Kinematik:

  • liest Geometriedaten der Beine ein
  • errechnet aus den übergebenen Koordinaten die Winkel für einen Fuß und überprüft die Gültigkeit der Daten

Parser:

  • liest verschiedene Geometriedaten des Hexapods ein
  • zurzeit verwendet von LegCtrl und Inverser Kinematik

 

Sequenzdiagramm: (zum Vergrößern anklicken)