Software des c't-Bot
Diese Seite befasst sich mit der Software des c't-Bots. Für die meisten Punkte gilt: Es gibt keinen Unterschied zwischen simulierten und realen Bots. Dennoch richten sich ein paar Absätze hauptsächlich an Besitzer realer Bots
Schnelleinstieg
Einen ersten Eindruck vom Projekt vermitteln die Firststeps, allgemeine Infos und Anlaufstellen sind auf der Hauptseite verlinkt
Vorraussetzungen
Soll es mit dem eigenen Code richtig losgehen, sind erst einmal ein paar Vorraussetzungen zu schaffen.
- Bitte einmal die Installationsanleitung durchgehen
- Code aus dem Repositiory holen
Nun braucht man entweder einen realen Bot oder einen laufenden ct-Sim
Erste Geh- und Modifikationsversuche mit der Demo-Firmware
Damit die hier beschriebenen Schritte Sinn ergeben, sollte man entweder einen realen Bot aufgebaut UND erfolgreich getestet haben. Solange die beschriebenen Testprogramme nicht einwandfrei laufen, handelt man sich mit unten beschriebenen Gehversuchen nur Ärger und Frust ein. Auch die empfohlenen Hardware-Mods sollten eingebaut sein.
Alle erwähnten Code-Optionen finden sich in ct-Bot.h. Siehe auch: Übersicht der optionalen Codeteile
Nach jeder Änderung am Code muss dieser übersetzt (ct-Bot.hex) und auf den Bot übertragen werden. Eventuell muss auch das EEPROM-Abbild mit dort hin.
Kalibrierung
Damit der Demo-Code optimal arbeitet sind nun ein paar Anpassungen an den eigenen Bot und dessen Testumgebung nötig:
- Wenn noch nicht geschehen: Die Fernbedienung (falls das Modell HQ RC Univers 29 verwendet wird) auf den Gerätecode TV 334 (siehe beiliegende Anleitung) programmieren. Wer diese Fernbedienung mit vierstelligen Gerätecodes (siehe Anleitung) besitzt, sollte unseren Support kontaktieren - der Gerätecode 334 funktioniert hier nicht.
- Abgrundsensoren kalibrieren
- Bei Bedarf Liniensensoren kalibrieren
- Distanzsensoren kalibrieren
- Bei Bedarf: Maussensor tunen
- Motorregelung kalibrieren
Erweiterungsmodul
Wenn das Erweiterungsmodul vorhanden ist:
- MMC / SD-Karte: Bot-Code mit MMC_AVAILABLE compilieren (siehe Übersicht der optionalen Codeteile) und im MMC-Display-Screen testen, ob die Speicherkarte erkannt wird. Wenn die Größenangabe stimmt, kann man in mmc.h die Option MMC_WRITE_TEST_AVAILABLE anschalten und bekommt auf dem MMC-Display-Screen die Testergebnisse angezeigt (falls keine Fehler auftreten, wird die Zeitdauer der Tests ausgegeben, sonst ein Fehlercode). Achtung, dieser Test löscht Teile der Speicherkarte, daher die Option anschließend wieder ausschalten und die Karte am PC neu formatieren.
Und los geht es
Nun sind alle Sensoren kalibriert und man kann mit den Verhalten im Beispielcode spielen:
- gewünschte Code-Optionen in ct-Bot.h ein- oder ausschalten: Übersicht der optionalen Codeteile
- gewünschte Verhalten in include/bot-logic/available_behaviours.h auswählen: Übersicht der verfügbaren Verhalten
Eigene Schritte
Wenn die Beispielverhalten funktionieren, kann man beginnen, eigene zu programmieren.
- c't-Artikel: Programmierung des (virtuellen) c't-Bot
- c't-Artikel: Tutorial für die Programmierung des c't-Bot
- c't-Artikel: Eigene Welten für den c't-Sim
- c't-Artikel: Kartographie für den c't-Bot
- FAQ-Einträge
Dokumentation
- Übersicht und Beschreibung der konfigurierbaren Optionen des Bot-Codes
- Übersicht der im Code verfügbaren Roboterverhalten
- Funktionsweise und Kalibrierung der Sensoren des c't-Bot
- Funktionsweise und Kalibrierung der Aktuatoren des c't-Bot
- Doxygen Dokumentation des Codes
- Dokumentation der Remote-Calls
- Dokumentation zum ct-Bot-Protokoll
- Dokumentation zur Bot-2-Bot-Kommunikation
- Dokumentation zum c't-Bot-Betriebssystem
- Dokumentation zum SD-Karten Dateisystem BotFS
- Dokumentation zum Verhalten bot_line_shortest_way
- Dokumentation zum Pfadplanungsverhalten
- Dokumentation zum Verhalten bot_drive_area
- Dokumentation zur Lokalisierung
- Dokumentation zur Programmierung des c't-Bots in weiteren Programmiersprachen
- Dokumentation zur EEPROM-Emulation für simulierte Bots
- Dokumentation zur Virtuellen Speicherverwaltung für SD-Karten
Howto
- Firmware auf den c't-Bot übertragen
- Protokollieren von Messdaten vom c't-Bot aus
- Hintergründe zur AVR-Toolchain
- AVR-Tools und Tricks für die (Bot-)Softwareentwicklung
Ideen & mehr
- Ideen und Diskussionen für neue Verhalten und Aufgaben
