====== RoboKIDE - GUI zur grafischen/visuellen Programmierung von einfachen Robotern ======

Die Software zum Entwerfen der Programme für einfache Roboter (speziell: die [[http://www.heise.de/ct/projekte/c-t-Bot-und-c-t-Sim-284119.html|c't-Bots]]) habe ich RoboKIDE genannt. "KIDE" hat was mit __K__inderUni und __IDE__ zu tun -- irgendeinen klaren Namen braucht ja jede Software.

RoboKIDE ist im Oktober 2010 entstanden, als Beitrag für die [[http://www.kinderuni-muenchen.de/|KinderUni]]. Die Kinder können damit c't-Bots zum Fangenspielen programmieren.

Das Programm ist einfach bedienbar und auch einfach mit benutzerdefinierten Steuerelementen (Plugins) erweiterbar. Die GUI ist zwar speziell für das Fangenspiel von Robotern ausgelegt, kann aber schnell umprogrammiert werden. So ist es z.B. keine allzu große Sache, die Anzahl und Bezeichnung der Tabs für die Strategien zu ändern, oder die vordefinierten Steuerelemente herauszunehmen bzw. welche hinzuzufügen.

RoboKIDE ist in Java programmiert (in der [[http://eclipse.org/|IDE Eclipse]] mit [[http://eclipse.org/vep/|VE]] unter Windows) und steht als ausführbares Java-Archiv (JAR-Datei) zur Verfügung. Vorraussetztung zum ausführen ist natürlich ein installiertes [[http://www.java.com/de/download/|Java Runtime Environment]].

{{wissensdb:wissensdb:kinderuni:kinderuni_ctbot-gui:screenshot.png?800|Screenshot von RoboKIDE}}

===== Beschreibung =====

Mit RoboKIDE lassen sich auf einfache Weise Strategien für die Rollen "Fänger" und "Davonläufer" eines Fangenspiels von c't-Bots erstellen. Diese Strategien werden als Flussdiagramme eingegeben.

Zum Erstellen der Programme kann man Steuerelemente -- die immer einen Befehl darstellen -- auf das Ablaufdiagramm ziehen. Untereinander verbindet man die Steuerelemente mit Pfeilen. Dadurch wird festgelegt in welcher Reihenfolge die Befehle ausgeführt werden. Die Parameter der Steuerelemente lassen sich per Doppelklick ändern. Es muss ein Startpunkt definiert sein, also ein Steuerelement das den Einstiegspunkt ins Programm markiert.

Das fertige Programm wird dann über die serielle Schnittstelle (RS-232) an den c't-Bot geschickt, der es interpretiert und ausführt.


===== Features =====

Die Möglichkeiten die die Software bereitstellt sind:

  * Ablaufdiagramme erstellen
  * Parameter der Steuerelemente ändern
  * Mehrere Elemente gleichzeitig auswählen, verschieben und löschen
  * Elemente in den Vordergrund oder Hintergrund bringen
  * Die beiden Ablaufdiagramme vertauschen
  * Programme speichern und (auch einzeln) öffnen
  * Strategien über die serielle Schnittstelle zum Roboter übertragen
  * Die serielle Schnittstelle konfigurieren



===== Dokumentation =====

Weitere Beschreibung und Dokumentation folgt; Hier aber mal die [[http://jakob.keramik-schoettl.de/Projekte/RoboKIDE/doc/Dokumentation_zum_Uebertragungsprotokoll.pdf|Dokumentation des Protokolls zur Datenübertragung vom PC/RoboKIDE zum Roboter über RS-232 als PDF]] und [[http://jakob.keramik-schoettl.de/Projekte/RoboKIDE/bin/RoboKIDE.7z|das Programm RoboKIDE]].

Programmierer: [[private:peons:jakob_schoettl|Jakob Schöttl]] <jakob.schoettl@hm.edu>

