Software

From Nibo

(Difference between revisions)
(Initializer)
 
(8 intermediate revisions not shown)
Line 1: Line 1:
 +
==Das Wiki findet sich jetzt hier:==
 +
 +
'''[http://www.nibo-roboter.de/wiki http://www.nibo-roboter.de/wiki]'''
 +
 +
==Programmierung==
==Programmierung==
===C===
===C===
-
Die am Besten unterstützte Programmiersprache für AVR Controller ist C. [[AVR-GCC]] stellt die notwendigen Tools für C zur Verfügung. Für das Betriebssystem MS Windows bietet sich die Kombination aus AVR Studio und WinAVR (enthält avr-gcc, avr-g++, avrdude, avr-gdb u.a.) an. Eine umfangreiche Ansteuerungsbibliothek für die Programmiersprache C wurde bereits entwickelt. Diese beinhaltet auch komfortable Routinen für die Textausgabe auf dem optionalen Grafik-Display.  
+
Die am Besten unterstützte Programmiersprache für AVR Controller ist C. [[AVR-GCC]] stellt die notwendigen Tools zum kompilieren von C Programmen bereit. Für das Betriebssystem MS Windows bietet sich die Kombination aus AVR Studio und WinAVR (enthält avr-gcc, avr-g++, avrdude, avr-gdb u.a.) an. Eine umfangreiche Ansteuerungsbibliothek für die Programmiersprache C wurde bereits entwickelt. Diese beinhaltet auch komfortable Routinen für die Textausgabe auf dem optionalen Grafik-Display.
===C++===
===C++===
Line 17: Line 22:
===Initializer===
===Initializer===
-
Mit der [Initializer Software], die man auf den Haupt-Controller aufspielt ist es möglich die Firmware von MOTCO und IRCO zu aktualisieren. Zusätzlich beinhaltet sie ein paar Test-Routinen.
+
Mit der [[Initializer Software]], die man auf den Haupt-Controller aufspielt ist es möglich die Firmware von [[Motorcontroller|MOTCO]] und [[IR-Controller|IRCO]] zu aktualisieren. Zusätzlich beinhaltet sie ein paar Test-Routinen.
===MOTCO===
===MOTCO===
-
Die Firmware für den Motor-Controller beinhaltet Routinen für die Motorregelung und Odometriesensoren. Es gibt eine ofizielle Version, die Software kann aber auch selbst entwickelt werden.
+
Die [[Motorcontroller-Firmware|Firmware für den Motor-Controller]] beinhaltet Routinen für die Motorregelung und Odometriesensoren. Es gibt eine offizielle Version, die Software kann aber auch selbst entwickelt werden.
===IRCO===
===IRCO===
-
Die Firmware für den IR-Controller beinhaltet Routinen für die Distanzmessung und die Kommunikation über IR. Auch hier gibt eine ofizielle Version, die Software kann jedoch modifiziert werden.
+
Die [[Infrarotcontroller-Firmware|Firmware für den IR-Controller]] beinhaltet Routinen für die Distanzmessung und die Kommunikation über IR. Auch hier gibt es eine offizielle Version, die Software kann jedoch modifiziert werden.
-
 
+
-
==Initialisierung==
+
-
Für die anfängliche Inbetriebnahme des Roboters steht eine Initialisierungs-Software (hex-File) zur Verfügung, mit der der [[Infrarotcontroller-Firmware|IR-Controller]] und der [[Motorcontroller-Firmware|Motorcontroller]] programmiert werden können. Um das Update durchzuführen, wird die aktuelle Version der Initialisierungssoftware mittels ISP auf den ATmega128 aufgespielt.
+
-
 
+
-
Zum automatischen Updaten des MotCo wird Jumper JP1 geschlossen und Jumper JP2 geöffnet. Nach dem Drücken des Reset-Tasters beginnt dann die Überprüfung und Programmierung (Status-LEDs rot). Ist die Programmierung abgeschlossen, leuchten die Status-LEDs grün.
+
-
 
+
-
Zum automatischen Updaten des IRCo wird Jumper JP1 geöffnet und Jumper JP2 geschlossen. Nach dem Drücken des Reset-Tasters beginnt dann die Überprüfung und Programmierung (Status-LEDs rot). Die Programmierung ist abgeschlossen, wenn die Status-LEDs grün leuchten.
+
-
 
+
-
Sollte sich schon die aktuelle Version auf dem jeweiligen Controller befinden, blinken die LEDs rot (3*kurz, Pause, ...).
+
-
 
+
-
Die Software beinhaltet neben der Firmware für MOTCo und IRCo auch einen Funktionstest:
+
-
Wenn keiner der beiden Jumper gesteckt ist, wird ein Blinktest durchgeführt:
+
-
Nach dem Einschalten leuchten alle LEDs kurz orange auf. Danach wiederholt sich folgendes Muster:
+
-
* Die LEDs leuchten im Uhrzeigersinn nacheinander rot auf.
+
-
* Die LEDs leuchten im Uhrzeigersinn nacheinander grün auf.
+
-
* Die weißen Scheinwerfer-LEDs leuchten kurz auf.
+
-
 
+
-
Wenn beide Jumper gesteckt sind, werden alle Komponenten getestet:
+
-
* Der Roboter sollte sich in ca. 6 Sekunden einmal im Uhrzeigersinn um seine mittlere Hochachse drehen.
+
-
* Die mehrfarbigen Status-LEDs zeigen die Freiräume an (rot: besetzt, aus: mittel, grün: frei)
+
-
* Die weißen LEDs leuchten, wenn der Roboter an allen Bodensensoren keinen Bodenkontakt hat.
+
-
* Folgende Werte werden auf dem Display angezeigt:
+
-
** Batteriespannung
+
-
** Odometrie-Ticks rechts
+
-
** Odometrie-Ticks links
+
-
** Die fünf IR-Distanzmessungen
+
-
** Werte von Abgrund- und Liniensensoren
+
-
** Empfangener RC5-Code
+
-
 
+
-
==Download==
 
-
* [http://download.nicai-systems.com/nibo/firmware_20070710.hex firmware_20070710.hex] - Aktuelle Version als Intel-Hex File
 
-
* [http://download.nicai-systems.com/nibo/firmware_20070710.zip firmware_20070710.zip] - Aktuelle Version als gezipptes Intel-Hex File
 
==Links==
==Links==

Current revision as of 14:54, 3 September 2009

Contents

Das Wiki findet sich jetzt hier:

http://www.nibo-roboter.de/wiki


Programmierung

C

Die am Besten unterstützte Programmiersprache für AVR Controller ist C. AVR-GCC stellt die notwendigen Tools zum kompilieren von C Programmen bereit. Für das Betriebssystem MS Windows bietet sich die Kombination aus AVR Studio und WinAVR (enthält avr-gcc, avr-g++, avrdude, avr-gdb u.a.) an. Eine umfangreiche Ansteuerungsbibliothek für die Programmiersprache C wurde bereits entwickelt. Diese beinhaltet auch komfortable Routinen für die Textausgabe auf dem optionalen Grafik-Display.

C++

Auch die Programmiersprache C++ wird vom AVR-GCC-Compiler unterstützt. Da die C++ Standardbibliothek leider nicht zur Verfügung steht, bringt die NiboLib eine Ersatzklasse für Strings mit. In der NiboLib sind alle Funktionen aus der C Bibliothek gekapselt.

Assembler

Der Roboter kann auch in Assembler programmiert werden. Auch hierfür stellt der AVR-GCC-Compiler entsprechende Unterstützung bereit.

Java

Mit Hilfe der NanoVM kann der Roboter in Java programmiert werden. Eine Java-Bibliothek für den Nibo steht zur Verfügung.


Firmware

Initializer

Mit der Initializer Software, die man auf den Haupt-Controller aufspielt ist es möglich die Firmware von MOTCO und IRCO zu aktualisieren. Zusätzlich beinhaltet sie ein paar Test-Routinen.

MOTCO

Die Firmware für den Motor-Controller beinhaltet Routinen für die Motorregelung und Odometriesensoren. Es gibt eine offizielle Version, die Software kann aber auch selbst entwickelt werden.

IRCO

Die Firmware für den IR-Controller beinhaltet Routinen für die Distanzmessung und die Kommunikation über IR. Auch hier gibt es eine offizielle Version, die Software kann jedoch modifiziert werden.


Links

Personal tools