Software

From Nibo

(Difference between revisions)
m
Line 1: Line 1:
==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.
+
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 mittels C/C++ wurden bereits entwickelt. Diese beinhalten auch komfortable Routinen für die Textausgabe auf dem optionalen Grafik-Display. Eine Java-Bibliothek steht demnächst ebenfalls zur Verfügung.
==Initialisierung==
==Initialisierung==
-
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.  
+
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 muss der Jumper JP1 geschlossen und der Jumper JP2 offen sein, nach dem 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 dem 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 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 Progranmmierung (Status-LEDs rot). Die Programmierung ist abgeschlossen, wenn die Staus-LEDs grün leuchten.
 +
 
Sollte sich schon die aktuelle Version auf dem jeweiligen Controller befinden, blinken die LEDs rot (3*kurz, Pause,...).
Sollte sich schon die aktuelle Version auf dem jeweiligen Controller befinden, blinken die LEDs rot (3*kurz, Pause,...).
Line 11: Line 16:
Wenn keiner der beiden Jumper gesteckt ist, wird ein Blinktest durchgeführt:
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:
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 Uhrzeigersinn nacheinander rot auf.
-
* Die LEDs leuchten im Uhzeigersinn nacheinander grün auf.
+
* Die LEDs leuchten im Uhrzeigersinn nacheinander grün auf.
-
* Die Scheinwerfer-LEDs leuchten kurz auf.
+
* Die weißen Scheinwerfer-LEDs leuchten kurz auf.
Wenn beide Jumper gesteckt sind, werden alle Komponenten getestet:
Wenn beide Jumper gesteckt sind, werden alle Komponenten getestet:
-
* Der Roboter sollte sich in ca. 6 Sekunden einmal um seine Hochachse drehen
+
* Der Roboter sollte sich in ca. 6 Sekunden einmal im Uhrzeigersinn um seine mittlere Hochachse drehen.
-
* Die mehrfarbigen LEDs zeigen die Freiräume an (rot: besetzt, aus: mittel, grün: frei)
+
* 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.
* Die weißen LEDs leuchten, wenn der Roboter an allen Bodensensoren keinen Bodenkontakt hat.
* Folgende Werte werden auf dem Display angezeigt:  
* Folgende Werte werden auf dem Display angezeigt:  
 +
** Batteriespannung
** Odometrie rechts
** Odometrie rechts
** Odometrie links
** Odometrie links
** Die fünf IR-Distanzmessungen
** Die fünf IR-Distanzmessungen
 +
** Werte von Abgrund- und Liniensensoren
** Empfangener RC5-Code
** Empfangener RC5-Code

Revision as of 20:24, 26 July 2007

Contents

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 mittels C/C++ wurden bereits entwickelt. Diese beinhalten auch komfortable Routinen für die Textausgabe auf dem optionalen Grafik-Display. Eine Java-Bibliothek steht demnächst ebenfalls zur Verfügung.

Initialisierung

Für die anfängliche Inbetriebnahme des Roboters steht eine Initialisierungs-Software (hex-File) zur Verfügung, mit der der IR-Controller und der 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 Progranmmierung (Status-LEDs rot). Die Programmierung ist abgeschlossen, wenn die Staus-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 rechts
    • Odometrie links
    • Die fünf IR-Distanzmessungen
    • Werte von Abgrund- und Liniensensoren
    • Empfangener RC5-Code


Download

Links

Personal tools