Choregraphe - Workspace: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 56: | Zeile 56: | ||
|} | |} | ||
==Ausgänge („output“)== | ===Ausgänge („output“)=== | ||
Die Ausgänge und Ausgaben eines Blockes befinden sich immer auf der rechten Seite. | Die Ausgänge und Ausgaben eines Blockes befinden sich immer auf der rechten Seite. | ||
Zeile 73: | Zeile 73: | ||
|[[Datei: Chore_output_string.png|zentriert|]]<br> || outString || Gibt einen Text aus | |[[Datei: Chore_output_string.png|zentriert|]]<br> || outString || Gibt einen Text aus | ||
|- | |- | ||
|[[Datei: Chore_output_dynamic.png|zentriert|]]<br> || outDynamic || Gibt ein dynamisches Element aus. Dies kann ein Ereignis, eine Zahl oder ein | |[[Datei: Chore_output_dynamic.png|zentriert|]]<br> || outDynamic|| Gibt ein dynamisches Element aus. Dies kann ein Ereignis, eine Zahl oder ein Text sein. | ||
|} | |} | ||
Zeile 79: | Zeile 79: | ||
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. | 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 | {| class="wikitable centered" | ||
|- | |||
ParSwitch Verändert ein schaltendes Parameter | !Symbol !!Name !!Funktion | ||
|- | |||
|[[Datei: Chore_parameter_switch.png|zentriert|]]<br> || ParSwitch || Verändert ein schaltendes Parameter | |||
ParString Verändert einen Parameter mit einem Text | |- | ||
|[[Datei: Chore_parameter_number.png|zentriert|33px|]]<br> || ParNumber || Verändert einen Parameter mit Zahlenwert (z.B. einen Prozent) | |||
ParDynamic Verändert ein Parameter mit einem dynamischen Wert | |- | ||
|[[Datei: Chore_parameter_string.png|zentriert|]]<br> || ParString || Verändert einen Parameter mit einem Text | |||
=== | |- | ||
|[[Datei: Chore_parameter_dynamic.png|zentriert|]]<br> || 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. | 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. | 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 | {| class="wikitable centered" | ||
|- | |||
!Symbol !!Name !!Funktion | |||
|- | |||
|[[Datei: Chore_input_onstart_inside.png|zentriert|]]<br> || insideOnStart || An diesem Punkt beginnt das Programm | |||
|- | |||
|[[Datei: Chore_input_onevent_inside.png|zentriert|]]<br> || insideOnEvent || An diesem Punkt liegt ein Signal an wenn ein bestimmtes Event ausgelöst wurde | |||
|- | |||
|[[Datei: Chore_input_almemory_inside.png|zentriert|]]<br> ||insideAllmemory|| ... | |||
|- | |||
|[[Datei: Chore_input_onload_inside.png |zentriert|]]<br> ||insideOnload ||... | |||
|} | |||
{| class="wikitable centered" | |||
|- | |||
!Symbol !!Name !!Funktion | |||
|- | |||
|[[Datei: Chore_output_onstopped_inside.png |zentriert|]]<br> || outsideOnstopped||An diesem Punkt terminiert das Programm erfolgreich | |||
|- | |||
|[[Datei: Chore_output_ponctual_inside.png |zentriert|]]<br> || insidePonctual || Löst ein globales Event aus | |||
|} | |||
==Block Bibiliothek== | |||
[noch in Arbeit] | |||
Version vom 24. Februar 2016, 16:39 Uhr
Choregrahe ist eine Programm zur grafischen Programmierung von dem NAO Roboter von Aldebaran Die Block Bibliothek ist am standartmäßig am linken unteren Rand in dem Programm Choregraphe zu finden. Aus ihr können Standardelemente per Drag&Drop in den Workspace gezogen werden. 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.
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]