c't-Bot und c't-Sim
Der c't-Bot liefert einen Einstieg in den Roboterbau und sein Software-Kamerad c't-Sim fĂĽhrt in die Programmierung von Robotern und Simulatoren ein.
- Benjamin Benz
Die c't-Bot-Community trifft sich mittlerweile andernorts. Eine Übersicht über aktuelle Projektseiten und Kommunikationskanäle finden Sie im ctbot-Forum.
c't-Bots drehen auf der Stelle, spielen mit Kollegen Räuber und Gendarm, sammeln Golfbälle ein und bieten viel Spielraum für eigene Experimente. Wer nicht löten möchte, der erschafft mit c't-Sim virtuelle Roboter, lässt sie im automatisch generierten Labyrinth gegeneinander antreten und transplantiert ihre Intelligenz vielleicht später bei Freunden in reale c't-Bots.
Mit dem Projekt will c't sowohl einen Einstieg in den Roboterbau als auch in die Programmierung von Robotern und Simulatoren unterstützen. Unter Support finden sich Hinweise auf vielfältige Informations- und Austauschmöglichkeiten. Höhepunkt des Projekts war der c't-Sim-Wettbewerb, bei dem virtuelle c't-Bots um die Wette ein Labyrinth mit Fallgruben durchqueren mussten.
Der c't-Bot ist als relativ preiswerte und flexible Plattform für eigene Entwicklungen gedacht. Vielfältige Erweiterungen sowohl der Mechanik als auch der Elektronik sind möglich. Unbestückte Platinen für unsere Basisversion bieten eMedia und Segor electronics an. Komplette Teile- und Mechaniksätze gibt es ebenfalls bei Segor.
Code, Doku und weitere Infos
Zentrale Anlaufstelle: Wiki
Das Erweiterungsmodul erlaubt es dem c't-Bot per LAN und WLAN zu kommunizieren. Über einen Steckplatz für SD- oder MMC-Karten lässt sich der Speicher des Roboters stark erweitern. Eine Klappe kann das Transportfach verriegeln, so dass der Roboter Gegenstände einsammeln und transportieren kann.
Das Bild des c't-Bot aus c't 02/06 gibt es als Bildschirmhintergrund in verschiedenen Auflösungen zum Download.
Schnelleinstieg
Insbesondere Quereinsteigern möchten wir den in das Projekt einführenden c't-Artikel sowie einige weitere ans Herz legen. Danach führt das c't-Bot-Wiki die Ersten Schritte. Viele Fragen beantwortet die FAQ. Kontakt zur Community gibt es über das Forum (das auch eine Suchfunktion bietet). Die Mailingliste ist seit 2014 eingestellt, aber in ihrem Archiv gibt es trotzdem noch wertvolle Informationen.
Code
Der Code für den c't-Bot wird in C programmiert - egal ob für den realen Bot oder den Simulator. So lassen sich komplexe Verhaltensmuster für den Bot zunächst am PC testen. Eine Basisversion des c't-Bot wird gemeinsam weiterentwickelt.
Auch der in Java geschriebene Simulator selbst wird gemeinsam weiterentwickelt. Der c't-Sim kommuniziert mit mehreren virtuellen Robotern, gaukelt ihnen eine Umgebung vor und liefert Sensorwerte zurĂĽck.
Zugang zum aktuellen Code bekommt man über Downloads. Leser-Patches, die c't-Bot und c't-Sim um neue Funktionen bereichern, sind ausdrücklich erwünscht. Interessante und clevere Erweiterungen, die (noch) nicht Eingang in die offizielle Codebasis gefunden haben, veröffentlichen wir gerne.
Support
c't-Artikel erklären Grundlegendes für die Botprogrammierung und die Weiterentwicklung des Sim. Wer zum Einstieg in die Programmierung mehr Anleitung braucht oder Details zu elektronischen Bauteilen nachlesen will, wird bei unserer Sammlung nützlicher Links fündig. Dort gibt es auch Links zu verwandten c't-Projekten.
Im Diskussionsforum kann man über eigene Ideen, Erweiterungen, Software und Probleme beim Aufbau diskutieren. Viele Fragen rund um c't-Sim und c't-Bot werden dort diskutiert und beantwortet — die häufigsten Fragen haben wir zusätzlich noch in einer FAQ gesammelt.
Noch direkter kommt man per IRC (Internet Relay Chat) mit anderen Bot-Fans in Kontakt. Auf dem Server pizza.de.eu.blitzed.org, Port 6667 trifft man im Kanal #ct-bot meist kompetente Gesprächspartner. Um am Chat teilzunehmen, braucht man eine spezielle Chat-Software wie mIRC für Windows oder Kopete für Linux.
Aufbau und Erweiterung der Hardware
Aufbau und Erweiterung der Hardware
Die Hilfestellungen fĂĽr den Aufbau der Hardware und den Zusammenbau der Erweiterung, die ĂĽber den Inhalt der eigentlich Artikel hinaus sehr nĂĽtzlich sind, finden Sie inzwischen im Wiki der Trac-Instanz zum Projekt:
Der Robotersimulator c't-Sim
Der Robotersimulator c't-Sim
Damit kleine Programmierfehler keine großen Folgen haben, lohnt sich der ausführliche Test des Steuercodes, bevor dieser in den Roboter übertragen wird. Dazu bedarf es allerdings einer Umgebung, die den Routinen vorgaukelt, tatsächlich einen Bot zu steuern, der sich durch eine Welt voller Hindernisse bewegt. Eine solche Testumgebung bietet der Roboter-Simulator c't-Sim.
ACHTUNG: FĂĽr den c't-Sim-Labyrinthwettbewerb kommt eine spezielle Version des Simulators zum Einsatz. Wie man diese gezielt aus dem CVS auslesen kann, beschreibt ein gesonderter Abschnitt der Installationsanleitung.
Für Trainingsläufe haben wir den c't-Sim mit einem Labyrinthgenerator ausgestattet, der auf Knopfdruck jeweils einen neuen, mit den Regeln des Wettbewerbs konformen Parcours erzeugt.
Schnellstart
Will man den Simulator möglichst schnell in Gang setzen, braucht man dazu nur eine Java-Laufzeitumgebung nebst der Java-3D-Bibliothek (siehe Installationsanleitung) und die beiden ausführbaren Dateien ct-Bot.exe (Windows) beziehungsweise ct-Bot.elf (Linux) sowie ct-Sim.jar (für beide Plattformen) aus dem Binaries-Zip-Archiv. Die Simulationsumgebung ct-Sim.jar startet man auf der Kommandozeile über:
java -jar ct-Sim.jar
Sie öffnet ein Fenster mit der grafischen Darstellung der (noch leeren) Welt sowie ein zweites, das später für jeden Bot eine Kontrolltafel zeigt. In einer zweiten Konsole startet man den ct-Bot. Dieser meldet sich über eine TCP/IP-Verbindung beim Simulator an, standardmäßig verwendet er die lokale IP (127.0.0.1) auf Port 10001. Sein roter Avatar taucht innerhalb der simulierten Umwelt auf, im anderen Fenster erscheint eine Kontrolltafel, auf der die Zustände der IR-Sensoren und der Motoren sowie Position und Blickrichtung des Bot als Zahlen angezeigt werden. Werte, die der Benutzer zur Laufzeit direkt beeinflussen kann, verfügen außerdem über einen Schieberegler. Wird die Checkbox "setzen" aktiviert, überschreibt der eingestellte Wert den aktuellen Zustand des Bot. Möchte man solche Einstellungen nicht im laufenden Betrieb vornehmen, unterbricht die "Pause"-Taste die Simulation vorübergehend.
Labyrinthgenerator fĂĽr den c't-Sim
Für Trainingsläufe zum c't-Sim-Wettbewerb haben wir den c't-Sim mit einem Irrgarten-Generator ausgestattet. Dieser liefert frische Herausforderungen, wenn der Bot die Standardstrecken des Simulators bereits mit links absolviert. Ein neues, mit den Regeln des Wettbewerbs konformes Labyrinth erhält man jedesmal, indem man im Sim auf den Menüpunkt Welt/Generieren klickt. Möchte man die Strecke intensiver trainieren, kann man sie über Welt/Speichern unter einem selbst gewählten Dateinamen auf die Festplatte bannen.
Zur Funktionsweise des Labyrinthgenerators
Klickt man auf Welt/Generieren, ruft der Simulator die Methode generateParc() auf einem Objekt des Typs ParcoursGenerator auf. Diese lost für sechs Parameter zufällige Werte aus: Breite und Höhe der Rennstrecke sind ebenso variabel wie die Dichte der Hindernisse entlang der Außenwände (wallRoughness) und im Inneren des Labyrinths (innerRoughness). Der Verschnörkelungsfaktor twirling bestimmt, um viele Ecken sich Hindernisse schlängeln dürfen, perforation legt die Häufigkeit von Löchern fest.
Jeder Schritt des Irrgartenbaus ist in eine eigene private Methode ausgelagert. Für Schikanen sorgen roughenWalls() und generateFreeObstacles(). Der Generator bestimmt für Hindernisse zunächst eine zufällige Anfangskoordinate und die Richtung, generateTwirl() zieht anschließend eine Wand durch das Spielfeld. Die Methode bestimmt zufällig eine Wunschlänge für das nächste Segment und prüft anschließend feldweise, ob in der angepeilten Richtung genügend freier Platz vorhanden ist, um die Mauer zu verlängern. Verhindern andere Wände das weitere Wachstum in diese Richtung oder ist die Wunschlänge des Segments erreicht, ruft sich generateTwirl() mit einer zufälligen neuen Richtung rekursiv selbst auf - insgesamt so oft, wie der Wert des Verschnörkelungsfaktors twirling beträgt.
Die Methoden stellen dabei sicher, dass keine Durchgänge schmaler als zwei Felder gebaut werden und dass jedes Bodenfeld im Labyrinth erreichbar ist. Sind die Wände platziert, werden zufällig bestimmte Mauerteile durch Fallgruben ersetzt. Bis hier arbeitet der Generator nur auf der linken Hälfte des Labyrinths, die rechte fügt er durch einfache Spiegelung hinzu, um einen symmetrischen Parcours zu erhalten. Anschließend fügt er noch die Startfelder ein und verpackt das ganze in einen XML-String, mit dem der ParcoursLoader des c't-Sim zurechtkommt.
Zu Testzwecken besitzt die Klasse ParcoursGenerator noch eine eigene main()-Methode, die nacheinander zwanzig Labyrinthe erzeugt und ĂĽber printParc() auf der Textkonsole ausgibt - der besseren Ăśbersicht wegen ohne XML-Kapselung.
Artikelliste zu c't-Bot und c't-Sim
Artikelliste zu c't-Bot und c't-Sim
c't 2/2006: Editorial
Hallo, mein Name ist Benjamin. Ich bin sĂĽchtig
c't 2/2006, S. 130: Spielgefährten
Roboter für Löter, Simulator für Soft-Werker
c't 3/2006, S. 186: Virtuelle Spielgefährten
Simulator fĂĽr c't-Bots
c't 4/2006, S. 208: Hallo Welt!
Aufbau und Inbetriebnahme des c't-Bot
c't 5/2006, S. 224: Drängelnde Spielgefährten
Kollisionen und Sensoren fĂĽr den c't-Sim, neues Verhalten fĂĽr den c't-Bot
c't 6/2006, S. 264: Nervensystem
Programmierung des c't-Bot von der Pike auf
c't 7/2006, S. 218: Hohe Schule
c't-Bots bewältigen komplexe Aufgaben
c't 7/2006, S. 223: An der Leine
Debuggen des c't-Bot ĂĽber USB
c't 9/2006, S. 222: Steuermann
Mit einer Drehzahlregelung fährt der c't-Bot geradeaus und mit konstanter Geschwindigkeit
c't 10/2006, S. 236: Ausgang gesucht!
Komplexe Verhalten fĂĽr den c't-Bot selbst entwickelt
c't 11/2006, S. 214: Genesis
c't-Sim: Weltenbau und Netzwerkzuschauer
c't 12/2006, S. 240: Kammerjäger
Fehlersuche in elektronischen Schaltungen
c't 13/2006, S, 226: Wo bin ich?
Positionsbestimmung fĂĽr den c't-Bot
c't 15/2006, S. 210: Hase und Igel
Roboterwettbewerb im Simulator c't-Sim
c't 19/2006, S. 198: An der nächsten Ecke links ...
Karten bauen (nicht nur) mit dem c't-Bot
c't 24/2006, S. 52: Finden oder verlieren
Ganz unterschiedliche Ansätze bewährten sich im c't-Sim-Wettbewerb
c't 2/2007, S. 184: AuĂźendienstler
Funkmodul, Massenspeicher und Klappe fĂĽr den c't-Bot
Sammlung nĂĽtzlicher Links
Sammlung nĂĽtzlicher Links
Projektseite
http://www.ct-bot.de
Leserforum
http://www.heise.de/ct/foren/S-c-t-Bot-und-c-t-Sim/forum-89813/list/hs-0/
Verwandte Projekte
Fan-Seiten
- Fan-Forum ctbot.de
- Projektpraktikum an der Uni Heidelberg
- Leserbericht ĂĽber den c't-Bot
- Erfahrungen mit der Bot-Programmierung
- c't-Bot im Informatikpraktikum der Uni Marburg
- Informationen zur Berechnung der Bot-Bewegungen und der Auswertung des Maussensors
- Programmierwettbewerb an der TU Ilmenau
- c't-Bot im Roboternetz
- c't-Bot an der TU Clausthal
- SchĂĽlerkurs PC-Steuerung an der TU-Dresden
- Studienarbeit rund um Bluetooth und den c't-Bot
- c't-Bot an der Uni Duisburg (inkl. englischem Tutorial)
- Uni Paderborn
- c't-Bot-Modifikationen fĂĽr Schussmechanik, ein Linsensystem fĂĽr den Maussensor und eine Kamera von Wiesolator
alternative Software
- Mit der Java Virtual Machine (NanoVM) kann man den c't-Bot auch in Java programmieren: NanoVM
- Verhaltensbasierte Programmiersprache und Entwicklungsumgebung fĂĽr den c't Bot Vehikel
Hardware
- Alle Platinen zum Projekt bietet eMedia an: http://www.emedia.de/bin/hw.pl
- Platinen und Bauteilsätze bietet Segor an: http://www.segor.de/L1Bausaetze/ct-robot.shtml
Funkmodul
- Lantronix, Hersteller des WiPort: http://www.lantronix.de
- Handbuch zum WiPort: http://www.lantronix.com/pdf/WiPort_UG.pdf
- Device-Installer fĂĽr den WiPort: http://www.lantronix.com/device-networking/utilities-tools/device-installer.html
- Web2Cob fĂĽr den WiPort: Web2Cob
Videos und Bilder vom c't-Bot
- c't-Bot im Fernsehen (c't-TV)
- c't-Bots beim Sumo-Ringen
Software-Downloads zur Entwicklung mit c't-Bot und c't-Sim
Java
- Java JDK 1.5 ("Download JDK" 5.0 Update 6") http://java.sun.com/j2se/1.5.0/download.jsp
- Eclipse http://www.eclipse.org/downloads/
- Java3D 1.4.0 (Version "1.4.0-beta3 (build 9)" oder höher) https://java3d.dev.java.net/binary-builds.html
C-Umgebung unter Windows
- MingGW ("MinGW-5.0.0.exe", unter "Proposed/MinGW") http://www.mingw.org/download.shtml#hdr2
- MSYS: ("MSYS-1.0.10.exe", unter "Current/MSYS") http://www.mingw.org/download.shtml#hdr2
- Pthreads: (Version "pthreads-w32-2-7-0-release.exe") ftp://sources.redhat.com/pub/pthreads-win32/
- Doxygen http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
Eclipse-Plugins als zip-Archive
- CDT http://download.eclipse.org/tools/cdt/releases/eclipse3.1/dist/3.0.1/
- Eclox http://home.gna.org/eclox/
Treiber zum USB-2-Bot-Adapter
- ftdichip.com (FTDI - Hersteller des Wandlerchips)
- ftdichip.com/Drivers/D2XX.htm (D2XX-Treiber)
- ftdichip.com/Drivers/VCP.htm (Treiber fĂĽr virtuellen Com-Port)
- bleyer.org/jd2xx/ (Java-API fĂĽr den D2XX-Treiber)
- jd2xx.dev.java.net/servlets/ProjectDocumentList (Download der Java-API fĂĽr den D2XX-Treiber)
- www.dest-unreach.org/socat (Socat fĂĽr Linux)
Programmieranleitungen und Tutorials
Mikrocontroller
- http://www.mikrocontroller.net/articles/AVR_Eclipse (Entwickeln mit Eclipse)
- http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial (Programmieren des Atmels mit avr-gcc)
- http://www.mikrocontroller.net/articles/AVR-Simulation (AVR-Prozessoren Simulieren)
- http://www.elektronik-projekt.de/wiki2/index.php/WinAVR_Tutorial (Entwickeln mit WinAVR)
- http://www.kreatives-chaos.com/index.php?seite=avrgcc (Entwickeln mit WinAVR)
- http://www.rowalt.de/mc/index.htm (EinfĂĽhrung in AVR)
- http://www.mikrocontroller.net/tutorial/ (EinfĂĽhrung in AVR)
- http://www.mikrocontroller.net/articles/Pony-Prog_Tutorial (PonyProg)
- http://www.avr-asm-tutorial.net/avr_de/index.html (Assembler fĂĽr AVR)
- http://www.mikrocontroller.net/articles/AVR_Fuses (Fuse-Bits der AVR-Controller)
- http://www.mikrocontroller.net/articles/AVR_In_System_Programmer (Programmieradapter fĂĽr AVR-Controller)
- http://palmavr.sf.net/fc/ (Fuse-Bit-Rechner fĂĽr Atmel AVR Controller)
- http://www.eecs.berkeley.edu/~mseeman/resources/macmicro.html auf dem Mac
Programmieradapter
- http://www.mikrocontroller.net/articles/AVR_In_System_Programmer
- http://www.nongnu.org/avrdude/
- http://www.lancos.com/prog.html
RC6-Fernbedienungskommandos
Programmierung von SD-/MMC-Karten
- Bastelanleitung von Ulrich Radig: http://www.ulrichradig.de/home/index.php/avr/mmc-sd
- Datenblatt einer Hitachi-MMC-Karte http://www.alldatasheet.net/datasheet-pdf/pdf/98499/HITACHI/HB28E016MM2.html
Programmieren allgemein
C-Programmierung
- http://www.roboternetz.de/wissen/index.php/C-Tutorial
- http://cplus.about.com/od/beginnerctutoria1/l/blctut.htm
- http://crasseux.com/books/ctutorial/
- http://de.wikibooks.org/wiki/C-Programmierung:_Einfache_Ein-_und_Ausgabe (Printf-Syntax)
- http://www.uni-koeln.de/rrzk/kurse/unterlagen/ckurs/ck4.html (Printf-Syntax)
Java-Programmierung
- http://java.sun.com/docs/books/tutorial/
- http://www.gailer-net.de/tutorials/java/java-toc.html
- http://www.javacoffeebreak.com/tutorials/gettingstarted/index.html
- http://www.addison-wesley.de/Service/Krueger/javabuch.htm
- http://www.javabuch.de/download.html
- http://www.tutego.com/javabuch/
- http://www.boku.ac.at/javaeinf/jein.html
- http://www.programmierkurs-java.de/
Java 3D
- http://java3d.j3d.org/
- http://java3d.j3d.org/tutorials/index.html
- http://www.micg.et.fh-stralsund.de/Java3D/java3D.htm
- http://java.sun.com/developer/onlineTraining/java3d/
- http://www-gs.informatik.tu-cottbus.de/~wwwgs/cg2_uebun.htm
- http://java3d.virtualworlds.de/books.php
- http://www.javadesktop.org/forums/thread.jspa?forumID=55&threadID=14860&messageID=97981#97981 (Mac)
Java-Dokumentation
Java 2 Platform Standard Edition 5.0 API Specification
JDK 5.0 Dokumentation
Java 3D API
Elektronik
Allgemein
- http://www.elexs.de (EinfĂĽhrung in die ELektronik)
- http://www.elektronik-kurs.de/online/index.html (EinfĂĽhrungskurs)
- http://www.b-kainka.de/hobbyel.htm (EinfĂĽhrungskurs)
- http://www.elektronik-kompendium.de (Elektronik-Kompendium)
- http://www.kreatives-chaos.com (EinfĂĽhrung in wichtige Bauteile)
- http://www.mikrocontroller.net (Tutorials)
- http://www.sn.schule.de/~gyfloeha/rt/rt.html (Digitaltechnik)
Löten
- http://www.mikrocontroller.net/articles/L%F6ten_%28praktisch%29
- http://www.wagener-net.de/seite42.htm
- http://www.elexs.de/loet1.htm
Tipps für Einsteiger - Erklärungen zu einzelnen Bauteilen
Widerstand
- http://de.wikipedia.org/wiki/Widerstand (Bauelement)
- http://www.okaphone.nl/calc/widerstand.shtml (Online-Dekodierung der Widerstände nach Farben)
Potenziometer
Photowiderstände (LDR)
Kondensator
- http://de.wikipedia.org/wiki/Kondensator_%28Elektrotechnik%29
- http://www.elektronik-kompendium.de/sites/praxis/kzkond.htm (Kennzeichnung von Kondensatoren)
Diode
Leuchtdiode
Transistor
ICs im DIL-Sockel: Ein Punkt oder Dreieck markiert PIN 1. Von dort wird gegen den Uhrzeigersinn im Kreis gezählt. Sockel und IC weisen an der Stirnseite bei PIN 1 eine Kerbe auf.
optischer Maussensor
- Diskussion rund um Maussensoren bei Roboternetz.de
- Maussensor mit modifizierter Optik
- Datenblätter des Maussensors beim Hersteller Avago (ehemals Agilent)
- Maussensor als Scanner
Internet-Foren und Communities
Robotik
- http://www.roboternetz.de (Forum und Artikel)
- http://www.roboterwelt.de (Forum und Artikel)
- http://www.elektronik-projekt.de (Forum und Artikel, auch Elektronik und Mikrocontroller)
- http://www.the-starbearer.de
Elektronik
- http://www.electronicsplanet.ch (unter anderem Roboter)
- http://www.mikrocontroller.net (Tutorials)
- http://www.avrfreaks.net (Seite rund um Atmel-Prozessoren)
Allgemeines
- http://www.lugbz.org/documents/smart-questions_de.html (Tipps fĂĽr Fragen in Foren, Chats und Mailinglisten)
- http://www.uni-leipzig.de/netikett.htm (Sitten und Gebräuche in Foren)
- http://de.wikipedia.org/wiki/Netiquette
Robotik - Theorie und Geschichte
Grey Walter und seine kybernetischen Schildkröten
Rodney Brooks ĂĽber die Subsumptionsarchitektur
Hersteller
Roboterwettbewerbe
SVN-Archiv
SVN-Archiv
Wer den Code für den Roboter oder den Simulator verändern will, sollte immer auf die aktuelle Version zugreifen. Diese bieten wir per Subversion (SVN) an. Wie man Code aus dem CVS direkt in die Entwicklungsumgebung Eclipse importiert und wie man sich im Code-Repository zurecht findet, beschreibt ein kleines Howto.
Das SVN ist erreichbar unter: https://www.heise.de:444/svn/ctbot.
Code im Zip-Archiv
Wir empfehlen, den Code für c't-Bot und c't-Sim aus dem SVN zu benutzen — dieser befindet sich stets auf dem neuesten Stand. Falls Sie nicht auf das SVN zugreifen können (etwa weil Ihr Rechner durch eine Firewall vom Internet abgeschottet ist, welche die notwendigen Ports geschlossen hält), können Sie auf den Code aus Zip-Archiven zurückgreifen. Solche Archive bringen wir allerdings nur bei umfangreicheren Änderungen auf den neuesten Stand, nicht für jedes kleine Bugfix, deshalb ist der Code im Zip-Archiv eventuell älter als jener im SVN.
Wenn Sie trotzdem auf das Zip-Archiv zugreifen wollen oder müssen, laden Sie es sich über unser Webfrontend auf den eigenen Rechner und packen es aus. Nach dem Start von Eclipse kann unter dem Menüpunkt "File/Import" die Option "Existing Project into Workspace" ausgewählt werden. Als "root directory" muss dann der Ordner "ct-Sim" oder "ct-Bot" angeben werden.
Der Sourcecode fĂĽr den Roboter liegt in den Dateien ct-bot-XX.zip, der fĂĽr den Simulator in ct-Sim-XX.zip. In binaries-xx.zip finden sie fertig ĂĽbersetzte Binaries fĂĽr Mikrocontroller, Windows und Linux.
Sonstiges
Test-Programm, um spontanen Resets auf die Schliche zu kommen (reset-test.zip)
Vorlage Rad-Encoder-Scheiben (vorlage_radencoder_scheiben-01.zip)
c't-Sim-Wettbewerb
c't-Sim-Wettbewerb
Das Rennen ist gelaufen: Der im Sommer angekĂĽndigte c't-Sim-Wettbewerb wurde vom 18. bis 20. Oktober 2006 ausgetragen und hier online live ĂĽbertragen. Wer das Turnier verpasst hat, kann sich ĂĽber einen Klick auf das jeweiligen Ergebnis im Spielplan eine Wiederholung einzelner Matches anschauen.
Ergebnisse
1. Platz und Turniersieger: Martin Henschke, Team Willy, Roboter n++
2. Platz: Josef SchĂĽtzenberger, Team austro-bot, Roboter austro-bot
3. Platz: Ralph-Dieter Wetzel, Team CreyBax, Roboter CreyBot
RĂĽckblick auf den Turnierablauf
Vorrunde mit 26 Einzelläufen
1. Runde und 2. Runde mit 18 Matches
Finalrunden mit 8 Matches
Simulierte c't-Bots traten in einem K.o.-Turnier mit Vorrunde gegeneinander an. In jeder Runde mussten sie binnen weniger Minuten ein anderes Labyrinth bewältigen - ohne sich zu verirren, steckenzubleiben oder in einen Abgrund zu stürzen. Nur diejenigen, deren Bots alle Parcours-Varianten erfolgreich durchqueren konnten, hatten eine Chance auf den Gewinn eines der drei von der c't-Redaktion ausgelobten c't-Bot-Bausätze.
Spielplan
Vorrunde am 18.10.2006 ab 15 Uhr
- Labyrinth Vorrunde XML
- max. Laufzeit pro Match: 300 Sek.
- Bestzeit fĂĽr den Parcours: 19s Bot Chillmaster von Team Chillmaster
- Wenn der Roboter das Ziel nicht erreicht hat, wird die Restentfernung als Ergebnis angezeigt.
| Team-Nr. | Teamname | Botname | Ergebnis | Rang | Freilos |
| 1 | Menzelfr | Frankis | 40 sek | 7 | |
| 2 | Elsperger | Harry | 1.81 meter | 21 | |
| 3 | austro-bot | austro-bot | 36 sek | 5 | X |
| 4 | Willy | n++ | 35 sek | 4 | X |
| 5 | Caver | Caver | 66 sek | 12 | |
| 6 | Wolfpack | Alphawolf | 3.19 meter | 24 | |
| 7 | mazeracer | mazeracer1 | 222 sek | 18 | |
| 8 | Blackbird Golem Forges (BGF) | Silicon Elemental | 1.49 meter | 20 | |
| 9 | curious-george | curious george | 102 sek | 15 | |
| 10 | Hush Puppies | Highlander | 24 sek | 2 | X |
| 11 | Faluzure | Silver | 3.16 meter | 23 | |
| 12 | WgGroup | Fridolin | 109 sek | 16 | |
| 13 | Die Klaustrophoben | Klaus | 38 sek | 6 | |
| 14 | bluero | bluebot | 3.72 meter | 27 | |
| 15 | Chillmaster | Chillmaster | 19 sek | 1 | X |
| 16 | Buggy | Buggy | 50 sek | 10 | |
| 17 | Jakob Jakobi | jj1 | 75 sek | 13 | |
| 18 | Pathfinder | Pathfinder | 42 sek | 8 | |
| 19 | Kheperaner | Volksbot | 3.19 meter | 25 | |
| 20 | NARF - Nur Anfänger Rotieren Falschrum | BrainBot | 32 sek | 3 | X |
| 21 | Brainbug | Brainbug | 228 sek | 19 | |
| 22 | a man and his droid | droid | 2.66 meter | 22 | |
| 23 | Crabot | soney | 44 sek | 9 | |
| 24 | Robinho | robinho_slow | 199 sek | 17 | |
| 25 | Blade | Blade | 81 sek | 14 | |
| 26 | CreyBax | CreyBot | 54 sek | 11 | |
| 27 | RollingRosi | RollingRosi | 3.19 meter | 26 |
1. Runde am 19.10.2006 ab 15 Uhr
- Labyrinth 1.Runde XML
- max. Laufzeit pro Match: 210 Sek.
- Bestzeit fĂĽr den Parcours: 26,1 s Buggy von Team Buggy
- fehlende Matchnummern sind Freilose fĂĽr die erste Runde
| Match | Team 1 | Bot 1 | Ergebnis 1 | Team 2 | Bot 2 | Ergebnis 2 | Match-Sieger |
| 2 | Crabot | soney | 1.7 meter | Blackbird Golem Forges (BGF) | Silicon Elemental | 29.5 sek | Silicon Elemental |
| 4 | Jakob Jakobi | jj1 | 57.4 sek | Wolfpack | Alphawolf | 2.3 meter | jj1 |
| 6 | CreyBax | CreyBot | 33.1 sek | a man and his droid | droid | 3.2 meter | CreyBot |
| 7 | Menzelfr | Frankis | 179.6 sek | mazeracer | mazeracer1 | 3.6 meter | Frankis |
| 8 | curious-george | curious george | 130.8 sek | RollingRosi | RollingRosi | 2.3 meter | curious george |
| 10 | Buggy | Buggy | 26.1 sek | Elsperger | Harry | 0.5 meter | Buggy |
| 11 | Die Klaustrophoben | Klaus | 3.2 meter | Robinho | robinho_slow | 112.8 sek | robinho_slow |
| 12 | Blade | Blade | 41.0 sek | Kheperaner | Volksbot | 2.3 meter | Blade |
| 14 | Caver | Caver | 65.5 sek | Faluzure | Silver | 2.1 meter | Caver |
| 15 | Pathfinder | Pathfinder | 32.9 sek | Brainbug | Brainbug | 2.6 meter | Pathfinder |
| 16 | WgGroup | Fridolin | 1.9 meter | bluero | bluebot | 2.2 meter | Fridolin |
2. Runde am 19.10.2006 ab 15.30 Uhr
- Labyrinth 2.Runde XML
- max. Laufzeit pro Match: 285 Sek.
- Bestzeit fĂĽr den Parcours: 21,6 s CreyBot von CreyBax
| Match | Team 1 | Bot 1 | Ergebnis 1 | Team 2 | Bot 2 | Ergebnis 2 | Match-Sieger |
| 1 | Chillmaster | Chillmaster | 2.8 meter | Blackbird Golem Forges (BGF) | Silicon Elemental | 35.7 sek | Silicon Elemental |
| 2 | austro-bot | austro-bot | 33.8 sek | Jakob Jakobi | jj1 | 3.2 meter | austro-bot |
| 3 | NARF - Nur Anfänger Rotieren Falschrum | BrainBot | 1.6 meter | CreyBax | CreyBot | 21.6 sek | CreyBot |
| 4 | Menzelfr | Frankis | 3.2 meter | curious-george | curious george | 1.5 meter | curious george |
| 5 | Hush Puppies | Highlander | 36.1 sek | Buggy | Buggy | 2.3 meter | Highlander |
| 6 | Robinho | robinho_slow | 2.3 meter | Blade | Blade | 80.3 sek | Blade |
| 7 | Willy | n++ | 37.7 sek | Caver | Caver | 2.6 meter | n++ |
| 8 | Pathfinder | Pathfinder | 47.4 sek | WgGroup | Fridolin | 3.9 meter | Pathfinder |
Finalrunden am 20.10.2006 ab 15 Uhr
Viertelfinale ab 15 Uhr
- Labyrinth Viertelfinale XML
- max. Laufzeit pro Match: 300 Sek.
- Bestzeit fĂĽr den Parcours: 42,4 sek s Bot n++ von Willy
| Match | Team 1 | Bot 1 | Ergebnis 1 | Team 2 | Bot 2 | Ergebnis 2 | Match-Sieger |
| 1 | Blackbird Golem Forges (BGF) | Silicon Elemental | 1.8 meter | austro-bot | austro-bot | 58.6 sek | austro-bot |
| 2 | CreyBax | CreyBot | 44.6 sek | curious-george | curious george | 5.1 meter | CreyBot |
| 3 | Hush Puppies | Highlander | 6.6 meter | Blade | Blade | 245.5 sek | Blade |
| 4 | Willy | n++ | 42.4 sek | Pathfinder | Pathfinder | 0.8 meter | n++ |
Halbfinale ab 15.15 Uhr
- Labyrinth Halbfinale XML
- max. Laufzeit pro Match: 375 Sek.
- Bestzeit fĂĽr den Parcours: 31,6 s austro-bot von Team austro-bot
| Match | Team 1 | Bot 1 | Ergebnis 1 | Team 2 | Bot 2 | Ergebnis 2 | Match-Sieger |
| 1 | austro-bot | austro-bot | 31.6 sek | CreyBax | GreyBot | 4.8 meter | austro-bot |
| 2 | Blade | Blade | 4.9 meter | Willy | n++ | 4.4 meter | n++ |
Spiel um 3. Platz ab 15.30 Uhr
- Labyrinth 3.Platz XML
- max. Laufzeit pro Match: 555 Sek.
- Bestzeit fĂĽr den Parcours: 94,2 s CreyBot von Team CreyBax
| Match | Team 1 | Bot 1 | Ergebnis 1 | Team 2 | Bot 2 | Ergebnis 2 | Match-Sieger |
| 1 | CreyBax | CreyBot | 94.2 sek | Blade | Blade | 3.4 meter | CreyBot |
Finale ab 15.45 Uhr
- Labyrinth Finale XML
- max. Laufzeit pro Match: 720 Sek.
- Bestzeit fĂĽr den Parcours: 75,1 s Bot n++ von Team Willy
| Match | Team 1 | Bot 1 | Ergebnis 1 | Team 2 | Bot 2 | Ergebnis 2 | Match-Sieger |
| 1 | austro-bot | austro-bot | 5.1 meter | Willy | n++ | 75.1 sek | n++ |
FAQ
FAQ
Die umfangreiche FAQ haben wir in einen eigenen Beitrag ausgelagert. (bbe)