Choregraphe - Workspace

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Choregrahe ist eine Programm zur grafischen Programmierung von dem NAO Roboter von Aldebaran Der Workspace befindet sich im Zentrum des Programms. In der linken unteren Ecke befindet sich die Blockbibiliothek aus der Standardelemente per Drag&Drop in den Workspace gezogen werden können. Außerdem besteht die Möglichkeit per Rechtsklick auf dem Workspace Blöcke einzufügen.

Allgemeines

Datentypen („type“)

Es gibt in Choregraphe vier verschiedene Datentypen. Diese sind durch unterschiedliche Farben gekennzeichnet, die sich in den Farben der Linien des Signalflussplans wiederspiegeln.

  • Bang (schwarze Linien)
es übertragt logische Signale mit dem. (On/Off bzw. 0/1). Es ist vergleichbar mit bool in C++ bzw. boolean in Java.
  • Number (gelbe Linien)
Es werden Zahlen übergeben. Eine Unterscheidung zwischen natürlichen, ganzen und rationalen Zahlen übernimmt das Programm von alleine. Dabei wird immer der Datentyp gewählt der den geringsten Speicher-/Rechen-Aufwand besitzt. (Es ist also nicht notwendig uint, int double, etc. zu unterscheiden, wie in C++ oder Java)
  • String (blaue Linien)
Es werden Texte übergeben. Diese Wörter können verwendet werden, um als Kriterium einer Datenverarbeitung dienen. Beispiel: Bei dem Block „setLanguage“ kann „German“ die Sprache auf Deutsch stellen. (für C-Programmierer: String ist eine Zeichenkette)
  • Dynamic (graue Linien)
Dieser Datentyp beeinhaltet Bang, Number und String. Es ist von der Bearbeitung abhängig welchen Typ das Signal annimmt. Dabei wird immer der Datentyp gewählt der den geringsten Speicher-/Rechen-Aufwand besitzt.
Dynamic sollte möglichst wenig eingesetzt werden da es zu Kommunikationsproblemen kommen kann, wenn zwei Datentypen nicht kompatibel sind.
  • Signalfluss (grüne Linie mit einem grünen Punkt)
Sollte das Programm gestartet werden so färben sich die aktiven Linien die grün. Dies ist unabhängig von dem Datentyp und der Farbe, die die Linie vorher hatte. Anhand des Punktes kann abgeschätzt werden wie lange ein bestimmter Zustand durchlaufen wird.

Auslöser („nature“)

Es gibt in Choregraphe drei verschiedene Auslöser. Sie unterscheiden wann ein Signal erkannt wird.

  • onStart
Sobald ein Signal anliegt aktiviert sich der Block
  • onStop
Sobald ein Signal anliegt deaktiviert sich der Block
  • onEvent
Signale werden immer angenommen unabhängig von der Aktivierung.

Schnittstellen der Blöcke

Eingänge („input“)

Die Eingänge und Eingaben eins Blockes befinden sich immer auf der linken Seite. Dabei ist es wichtig, dass die Signalflusslinie denselben Datentyp wie die besitzt.

Man erkennt Eingänge daran, dass sie einen breiteren linken Rand aufweisen.

Symbol Name Funktion

onStart Aktiviert den Block sobald ein Signal anliegt

onStop Deaktiviert den Block sobald ein Signal anliegt

onEvent Übergibt ein Ereignis an den Block (Boolesche Variable)

onNumber Übergibt eine Zahl an den Block

onString Übergibt einen Text an den Block

onDynamic Übergibt ein dynamisches Element an den Block. Dies kann ein Ereignis, eine Zahl oder ein Text sein.

Ausgänge („output“)

Die Ausgänge und Ausgaben eines Blockes befinden sich immer auf der rechten Seite.

Man erkennt Ausgänge daran, dass sie einen breiteren rechteren Rand aufweisen.

Symbol Name Funktion

onStopped Ausgabe erfolgt bei erfolgreichem Abschluss

outPonctual Gibt ein definiertes Event aus (Boolesche Variable)

outNumber Gibt eine Zahl aus

outString Gibt einen Text aus

outDynamic Gibt ein dynamisches Element aus. Dies kann ein Ereignis, eine Zahl oder ein Text sein.

Parameter

Bei einigen Blöcken können Einstellungen, wie beispielsweise die Lautstärke, durch Klicken auf das Schraubenschlüssel-Symbol verstellt werden. Dies ist auch möglich indem man eine Signalflusslinie auf das Schraubenschlüssel-Symbol des jeweiligen Blocks zieht. Dabei ist es wichtig, dass die Signalflusslinie denselben Datentyp wie das gewünschte Parameter besitzt.

Symbol Name Funktion

ParSwitch Verändert ein schaltendes Parameter

ParNumber Verändert einen Parameter mit Zahlenwert (z.B. einen Prozent)

ParString Verändert einen Parameter mit einem Text

ParDynamic Verändert ein Parameter mit einem dynamischen Wert

Systemschnittstellen

Die Blöcke können neben den internen Signalflüssen auch auf Sensorwerte und Systemeigenschaften des Roboters zugreifen. Die Ausgabe der Systemschnittstellen befinden sich am linken Rand des Workspaces und können somit leicht mit den Eingängen der Blöcke verbunden werden. Die Eingaben der Systemschnittstellen befinden sich am rechten Rand des Workspaces.

Man kann die Systemschnittstellen als Tor zu Außenwelt für das interne Programm sehen. Diese Tore können auch von Blöcken genutzt werden.

Symbol Name Funktion

insideOnStart An diesem Punkt beginnt das Programm

insideOnEvent An diesem Punkt liegt ein Signal an wenn ein bestimmtes Event ausgelöst wurde

insideAllmemory ...

insideOnload ...
Symbol Name Funktion

outsideOnstopped An diesem Punkt terminiert das Programm erfolgreich

insidePonctual Löst ein globales Event aus

Block Bibiliothek

[noch in Arbeit]

zurück nach Choregraphe