Elwood - Software
| Beitragsseiten |
|---|
| Elwood - Software |
| Elwood lebt |
| Alle Seiten |
Seite 1 von 2
|
Software |
Beschreibung |
Bezugsquelle |
| Ubuntu Karmic Koala | Elwoods Betriebssystem, erweitert um SSH Server und MJPEG Streamer | www.ubuntu.com |
| Windows XP | Inspirons Betriebssystem | vorinstalliert |
| IntelliJ IDEA Community Edition 9.0 | Java IDE | http://www.jetbrains.com/idea/index.html |
| VisualVM 1.2.1 | Profilingwerkzeug. Analysiert Java Anwendungen auf Speicherverbrauch, Prozessorauslastung etc. | https://visualvm.dev.java.net/ |
| JDK 1.6.0_xx | Das Java Developement Kit | http://java.sun.com/javase/downloads/index.jsp |
| Phidget 21 Treiber | Zur Ansteuerung des 1060 - PhidgetMotorControl LV |
http://www.phidgets.com/drivers.php |
| phidget21.jar | Java API, Aufsatz auf die C Bibliothek des Treibers | http://www.phidgets.com/programming_resources.php |
| jscience.jar | Java API für Mathematisch / wissenschaftliche Zwecke. Wird bei uns zur einheitlichen Behandlung von Werten und Maßeinheiten benutzt. |
http://jscience.org/ |
| TableLayout-bin-jdk1.5-2007-04-21.jar | Layoutmanager, der Swing Komponenten tabellarisch anordnet. | https://tablelayout.dev.java.net/ |
| xstream-1.2.1.jar | Erzeugt tiefe Kopien von Java Objekten. | http://xstream.codehaus.org/ |
| EventBus-1.3beta.jar | Kommunikation zwischen Java Objekten. Ersetzt das Listener Konzept in Swing. Ermöglicht Kommunikation zwischen Nicht-Swing Komponenten. | https://eventbus.dev.java.net/ http://www.eventbus.org/ |
| ProGuard4.2 | Erzeugt jar Dateien, optimiert und obfuskiert *.class Dateien | http://proguard.sourceforge.net/ |
| VirtualBox | Virtualisierungssoftware. Virtualisiert Ubuntu auf Windows XP. Vormals Sun Microsystems jetzt Oracle. | http://www.virtualbox.org/ |
| Cambozola |
Java API zur Anzeige des MJPEG Streams | http://www.charliemouse.com/code/cambozola/ |
| ublox u-center 6.0.1 | Software zum Testen und aktualisieren des NAVILOCK GPS Empfängers | http://www.u-blox.com/de/ |
Wie eingangs erwähnt besteht die von uns programmierte Software aus einem Client und einem Server. Wobei der Client den Sender repräsentiert und der
Server den Empfänger. Nachfolgend soll nur noch von Sender und Empfänger gesprochen werden. Der Sender besitzt - im Gegensatz zum Empfänger
eine grafische Benutzerschnittstelle (GUI). Über diese GUI werden Fahrbefehle erzeugt und an den Empfänger gesendet.
Als erstes möchten wir euch eine kleinen Überblick über die wesentlichen Bestandteile des Senders geben:
Das Anwendungsfenster des Senders

![]() |
XYControl Das Herzstück unseres Senders ist das XYControl. Es symbolisiert die Draufsicht eines Joysticks. Der blaue Knopf stellt den Hebel dar der mit gedrückter Maus nach Links / Rechts für Kurvenfahrt und nach Oben / Unten für Vorwärtsfahrt und Rückwärtsfahrt bewegt werden kann. Der maximale "Knüppelausschlag" wird durch das schwarze Quadrat begrenzt. Um exakt geradeaus fahren zukönnen kann die Taste "G" gedrückt werden. Dadurch wird der Knopf genau mittig zum vertikalen Strich ausgerichtet, bleibt aber in der vertikalen Position unverändert. Das "S" steht für "Speed" und positioniert den Knopf mittig zum horizontalen Strich. Die Positionierung für Kurvenfahrt bleibt unverändert. Der Buchstabe "N" bedeutet "Neutral" und positioniert den Knopf mittig auf dem Kreuz - Elwood steht still. Der Wertebereich: In der Treiberdokumentation ist zu lesen dass ein Wertebereich für die Drehzahl vpn -100% bis +100% verfügbar ist. Für die Beschleunigung wurde +0,1% bis 100% angegeben. XYControl liefert Prozentwerte die exakt dem gesamten Drehzahlspektrum des Treibers entsprechen. Der Beschleunigungsfaktor wird an anderer Stelle in der Anwendung gesetzt. Wird beispielsweise der Knopf genau mittig bis an den oberen Rand geschoben dann fahren die beiden Motoren bis auf Maximaldrehzahl hoch - Elwood fährt vorwärts. Elwood fährt rückwärts wenn der Knopf unterhalb der horizontalen Linie platziert wird. Und jetzt wirds interessant: Was passiert wenn wir den Knopf exakt entlang der horizontalen Linie beispielsweise nach links schieben? XYControl liefert jetzt für Vorwärts / Rückwärts 0% dennoch bewegt sich Elwood. Er dreht sich wie ein Panzer auf der Stelle um seine Hochachse - oder etwas romantischer - er macht eine Pirouette. Der Lenkausschlag überlagert den Wert für Vorwärts / Rückwärts. Der linke Motor dreht mit -100%, der rechte mit +100%. Noch interessanter wird es wenn der Knopf auf eine beliebige Position gebracht. die Werte für Vor / Zurück und Links / Rechts überlagern sich und können den zulässigen Wertebereich überschreiten! Wie wird die Platine drauf reagieren? durchbrennen - vielleicht in einer Art Kernschmelze zu eine formlosen Masse verklumpen? Ganz so schlimm ist es dann doch nicht gekommen :-) Elwood verhält sich jedenfalls zwiespältig: Einmal so wie es Michi programmiert hat und einmal nach Toms Vorstellungen. Verschiedene Details der Programmierung wollen wir euch nicht vorenthalten und später hier präsentieren. Zwei weitere Komponenten die für die Steuerung sehr hilfreich sind sollen hier noch vorgestellt werden: |
![]() |
Das Zweibalkendiagramm bei 0% Drehzahl Wir benutzen dieses Diagramm für den Soll / Ist Vergleich der Drehzahl für jeden Motor. Das Diagramm kann einen Wertebereich von -100% bis +100% darstellen. Die Neutralstellung (0%) wird oben dargestellt. Der Linke Balken Zeigt den Wert der nach der Berechnung am Empfänger zum Treiber geschickt wird. Der Rechte Balken repräsenteirt den Wert den der Treiber zurückliefert. Ein Vergleich der beiden Balken gibt Aufschluss über Drehzahl, Beschleunigung und Drehrichtung relativ zum berechneten Wert. Jeder Motor hat sein eigenes Zweibalkendiagramm. Und Last but not least ein Balkendiagramm das die Verbindungsqualität zwischen Sender und Empfänger anzeigt. |
![]() |
Diagramm Signalqualität Dieses Diagramm zeigt uns die Qualität des WLAN Signals an. Dies ist wichtig für uns, denn wir müssen wissen ab wann Elwood auf sich selbst gestellt ist. Wenn die Verbindung länger unterbrochen ist (der Wert ist einstellbar wie wir noch sehen werden) muß Elwood allein zurechtkommen - quasi Elwood allein zu Haus. |


