Software

From Nibo

(Difference between revisions)
 
(16 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==
-
Die Programmierung des Roboters kann mit dem [[AVR-GCC]] in C und in C++ erfolgen. Mit Hilfe der [[NanoVM]] kann der Roboter auch in Java programmiert werden. Ansteuerungsbibliotheken werden momentan entwickelt und stehen demnächst für alle genannten Programmiersprachen zur Verfügung.
 
-
==Initialisierung==
+
===C===
-
Für die Anfängliche Inbetriebnahme des Roboters steht eine Software zur Verfügung mit der der [[Infrarotcontroller-Firmware|IR-Controller]] und der [[Motorcontroller-Firmware|Motorcontroller]] programmiert werden kann. Um das Update durchzuführen muss man die aktuelle Version der Initialisierungssoftware mittels ISP auf den ATmega128 aufspielen.  
+
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.
-
Zum automatischen Updaten des MotCo muss der Jumper JP1 geschlossen und der Jumper JP2 offen sein, nach drücken des Reset-Tasters beginnt dann die Überprüfung und Progranmmierung(LEDs rot). Die Programmierung ist abgeschlossen wenn die LEDs grün leuchten.
+
 
-
Zum automatischen Updaten des IRCo muss der Jumper JP1 offen und der Jumper JP2 geschlossen sein, nach drücken des Reset-Tasters beginnt dann die Überprüfung und Progranmmierung(LEDs rot). Die Programmierung ist abgeschlossen wenn die LEDs grün leuchten.
+
===C++===
-
Sollte sich schon die aktuelle Version auf dem jeweiligen Controller befinden blinken die LEDs rot (3*kurz, Pause,...).
+
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 [[Motorcontroller|MOTCO]] und [[IR-Controller|IRCO]] zu aktualisieren. Zusätzlich beinhaltet sie ein paar Test-Routinen.
-
Die Software dient auch zum Funktionstest:
+
===MOTCO===
-
Wenn keiner der beiden Jumper gesteckt ist wird ein Blinktest durchgeführt:
+
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.
-
Nach dem Einschalten leuchten alle LEDs kurz orange auf. Danach wiederholt sich folgendes Muster:
+
-
* Die LEDs leuchten im Uhzeigersinn nacheinander rot auf.
+
-
* Die LEDs leuchten im Uhzeigersinn nacheinander grün auf.
+
-
* Die Scheinwerfer LEDs leuchten kurz auf.
+
-
Wenn beide Jumper gesteckt sind werden alle Komponenten getestet:
+
===IRCO===
-
* Der Roboter solte sich in ca. 6 Sekunden einmal um seine Hochachse drehen
+
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.
-
* Die mehrfarbigen LEDs zeigen die Freiräume an (rot: besetzt, aus: mittel, grün: frei)
+
-
* Die weissen LEDs leuchten, wenn der Roboter an allen Bodensensoren keinen Bodenkontakt hat.
+
-
* Folgende Werte werden auf dem Display angezeigt:
+
-
** Odometrie rechts
+
-
** Odometrie links
+
-
** Die fünf Distanzmessungen
+
-
** Empfangener RC5-Code
+
-
==Download==
+
==Links==
-
* [http://download.nicai-systems.com/nibo/firmware_20070710.hex firmware_20070710.hex] - Aktuelle Version als Intel-Hex File
+
* [http://www.sourceforge.net/projects/nibo/ Nibo Library] - Projektseite zur Nibo Library
-
* [http://download.nicai-systems.com/nibo/firmware_20070710.zip firmware_20070710.zip] - Aktuelle Version als geziptes Intel-Hex File
+
* [http://nibo.sourceforge.net/doc/html Nibo Library Doc] - Dokumentation zur Nibo Library
[[Category:Software]]
[[Category:Software]]

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