PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Asuro mit Linux oder Mac steuern



robo.fr
04.03.2008, 08:45
Hallo Allle,

hier (http://www.roboterclub-freiburg.de/asuro/software/java_asuro_control/asurojavacontrol.html) habe ich ein kleines Programm geschrieben, mit dem man den ASURO von einem PC aus steuern kann.
Leider konnte ich es nur unter Windows testen. Mich würde interessieren, ob es auch mit Linux oder mit einem Mac funktioniert.

Wer hat Lust, es mal auszuprobieren.

Gruß,
robo

Nachtrag: die ursprüngliche Diskussion zu ASURO und Java hat hier begonnen:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=38368

damaltor
04.03.2008, 16:03
werd ich mal machen, wenn ich meinen asuro soweit zusammengebaut habe =)

robo.fr
04.03.2008, 16:38
Schon so viele Post's und noch keinen ASURO, das nenne ich mal eine reife Leistung.

Gruß,
robo

damaltor
04.03.2008, 20:13
ich habe sogar zwei, aber die sind gerade im umbau ;)

m.a.r.v.i.n
05.03.2008, 15:31
Hallo robo,

ich hatte gestern mal versucht dein Programm unter Linux (Ubuntu) zum Laufen zu bringen, habe es aber nicht geschafft.

Die meiste Zeit ging dabei fürs Installieren von Suns Java SDK drauf. Ich bin halt sowohl unter Linux als auch bei Java noch absoluter Noob.
Dank dieser Anleitung habe ich dann doch noch geschafft:
http://wiki.ubuntuusers.de/Java

Dein übersetztes Programm ließ sich von der Console nicht starten (Abbruch mit Fehlermeldung). Liegt wohl daran, das es aus mehreren Klassen besteht. Wahrscheinlich müßte man dazu erst alle Klassen in ein ausführbares Jar Archive packen.

Den Quellcode von der Konsole aus neu zu übersetzen schlug ebenso fehl, dazu benötigt man wohl die Eclipse IDE. Das werde ich heute abend noch mal ausprobieren, ebenso die Installation der RXTX Lib. Die Eclipse Installations Anleitung dazu habe ich schon mal gefunden:
http://wiki.ubuntuusers.de/Eclipse

Beim Übersetzen einzelner Quellen von der Console aus, vielen mir einige Warnungen wegen der Benutzung von Umlauten auf. Die Empfehlung dazu (laut google) ist wohl, die Textcodierung in Eclipse von Cp1252 auf UTF-8 umzustellen.

Ansonsten finde ich die Idee, den Asuro über Java zu steuern, sehr gut. Vielleicht finde ich ja selbst noch die Zeit, mich mit Java etwas näher auseinander zu setzen.

trapperjohn
05.03.2008, 16:07
Übersetzen funktioniert unter Ubuntu so (aus dem Verzeichnis Java-PC/src):

javac -cp .:/usr/share/java/RXTXcomm.jar ch/AsuroControl.java

In AsuroControl.java sind allerdings noch Fehler - die "testAction" ruft ein "g.addWert" auf, "g" ist aber nicht bekannt. Einfach die Zeile auskommentieren, dann lässt sich die Anwendung übersetzen.

Zum Aufrufen muss (bei meiner Kommandozeilen-Übersetzung ...) das images Verzeichnis von bin nach src kopiert werden. Jetzt kann man mit

java -cp .:/usr/share/java/RXTXcomm.jar ch.AsuroControl

die Anwendung starten.

Weiter hab ich es noch nicht ausprobiert - aber ich halte es für unwahrscheinlich, dass auf jedem Rechner "COM10" die richtige Schnittstelle ist!

robo.fr
05.03.2008, 17:08
Hallo m.a.r.v.i.n, hallo trapperjohn,

es freut mich, dass Ihr das Ganze mal ausprobiert habt. Heute habe ich mir das Projekt nochmal vorgenommen und wollte es kompilieren. Mit ist tatsächlich in das Zip-File ein Zwischenstand reingerutscht.


In AsuroControl.java sind allerdings noch Fehler - die "testAction" ruft ein "g.addWert" auf, "g" ist aber nicht bekannt. Einfach die Zeile auskommentieren, dann lässt sich die Anwendung übersetzen.

Das ist richtig, einfach auskommentieren und es sollte gehen.


Weiter hab ich es noch nicht ausprobiert - aber ich halte es für unwahrscheinlich, dass auf jedem Rechner "COM10" die richtige Schnittstelle ist!

Der Programmcode ist tatsächlich fest auf COM10 eingestellt. Ich habe es für meinen Rechner gemacht. Wenn Ihr den Schnittstellennamen an eurem Rechner kennt, sollte es ein leichtes sein z.B. COM5 in die AsuroControl einzugtragen.

Bei der Auswahl der Schnittstelle bin ich mir noch unschlüssig: Ich könnte es mit einem "Dialog-Fenster" versuchen. Das ist aber lästig, weil man dann jedesmal beim Programmstart die Schnittstelle auswählen muss. Eine andere Möglichkeit wäre wohl ein "config" File. Da das ganze Projekt aber am Schluss in ein *.jar verwandelt werden soll, wird's wohl schwierig mit dem Pfad.

Bis demnächst,
robo

robo.fr
05.03.2008, 19:01
Hallo m.a.r.v.i.n,

mir ist gerade noch eine Idee gekommen: vielleicht solltest Du Dich der ganzen Sache schrittweise annähern.

Bei den von mir erzeugten Klassen gibt es die "Test"-Klasse. Die stellt testweise die Verbindung zum ASURO her. Wenn Du diese Klasse startest,
kannst Du also grundsätzlich die RS232 Verbindung testen oder die Methoden der Klasse "AsuroKommandos" ausprobieren.

Der wesentliche Teil des Codes der Testklasse sieht so aus:

...
AsuroKommandos asuro=new AsuroKommandos();
asuro.schnittstelleOeffnen("COM10");
asuro.verbindungOk() ; // prüfen
asuro.backLedL();
asuro.backLedR();
asuro.frontLed();
asuro.ledsOff();
asuro.schnittstelleSchliessen();
...

Du musst also nur asuro.schnittstelleOeffnen("COM10"); durch
asuro.schnittstelleOeffnen("/dev/tty0"); oder ähnlich bei Linux
ersetzen.

Die Klassen sind bei mir folgendermaßen geordnet:
Rs232.java ==> benutzt die Schnittstellenkommandos von RXTXcomm
Timer.java ==> eine Klasse, in der ich Msleep() auf dem PC nachgebildet
habe
AsuroKommandos.java ==> die ASURO "high-Level" Kommandos wie z.B. asuro.frontLed(); damit kann die FrontLed des ASURO eingeschaltet werden
Test.class ==> Testklasse, testet die ASURO Kommandos

Mann kann die einzelnen Klassen tatsächlich mit dem Java-Compiler auf Kommandozeilenebene übersetzen z.B.

javac Rs232.java
javac Timer.java
javac AsuroKommandos.java
javac Test.class

Wie immer kann es ein Problem mit den Suchpfaden geben. Ich habe mir bei Windows einachheitshalber auf c: das Verzeichnis j\ angelegt. Damit der Compiler die Klassen findet, müssen also die Klassenpfade gesetzt werden:

set CLASSPATH=c:\j\; c:\j\RXTXcomm.jar

RXTXcomm.jar habe ich auch ins c:\j\ Verzeichnis kopiert.

Das Compilieren kann auch schief gehen, weil ich in den Klassen ganz oben

package ch

stehen habe. Diese Zeile muss man rauswerfen, wenn sich die Dateien nicht in einem Verzeichnis ch\ befinden.

Mit dem vorgehen habe ich es geschafft, alle Klassen auf der Kommandozeile zu kompilieren. Es ist vielleicht sogar einfacher, als sich mit der etwas komplexen Entwicklungsumgebung von Eclipse auseinanderzusetzen.

Jetzt kann man eigentlich Test.class mit dem Kommando

java Test ( ohne die .class extension )

testen.

Ach ja, die rxtxSerial.dll sollte sich auch noch in dem Verzeichnis befinden.

trapperjohn
05.03.2008, 19:31
Timer.java ==> eine Klasse, in der ich Msleep() auf dem PC nachgebildet


Brauchst du nicht nachbilden, guck mal nach Thread.sleep() ;-)



Mann kann die einzelnen Klassen tatsächlich mit dem Java-Compiler auf Kommandozeilenebene übersetzen z.B.

javac Rs232.java
javac Timer.java
javac AsuroKommandos.java
javac Test.class


Es reicht, wenn du die hierarchisch oberste Klasse (also die mit main()) übersetzt - der Java Compiler übersetzt Abhängigkeiten automatisch.



Das Compilieren kann auch schief gehen, weil ich in den Klassen ganz oben

package ch

stehen habe. Diese Zeile muss man rauswerfen, wenn sich die Dateien nicht in einem Verzeichnis ch\ befinden.


Einfach wie oben in meinem Beispiel aus der Verzeichnisebene oberhalb von "ch" kompilieren und dann entsprechend das Verzeichnis beim Kompilieren mit angeben (also bspw. ch/AsuroControl.java). Zum Starten der Klasse dann natürlich den Namen des Packages nicht vergessen (also ch.AsuroControl statt nur AsuroControl).

robo.fr
06.03.2008, 11:31
Sehr praktisch, Deine Anleitung. Da lernt man es mal von der Pike auf.

Ich habe jetzt hier (http://www.roboterclub-freiburg.de/asuro/software/java_asuro_control/java_asuro_control.zip) die neueste Version abgelegt. Der Fehler mit er fehlenden Klasse ist jetzt beseitigt. Ausserdem habe ich die Timer-Routinen nach Deinem Prinzip oben ausgemistet.
Im Moment versuche ich gerade, die graphische Darstellung der Liniensensoren etwas aufzupolieren. Dazu habe ich ja die Klasse "Graph" kreiert, die die Messwerte darstellt.

Mir scheint die Klasse "Graph" gut geeignet, um die Objektorientierung besser zu lernen. Ich möchte dem Graph jetzt beschriftete Achsen hinzufügen. Dazu wollte ich eine Klasse "Axis" erzeugen, die irgendwie dem Graph zugefügt werden.
Ich habe es allerdings nicht geschaft, weil die Verbindung der "repaint" Methode mit den Achsen nicht klappt.
Hier ist mir ohnehin unklar, wie man das am besten macht. Sollte man eine "Graph"-Klasse entwerfen und danach die Eigenschaften an eine "Axis" Klasse vererben? Oder sollte man die Klassen lieber vollständig getrennt entwerfen und dann später irgendwie zusammenfügen?

Gruß,
robo

robo.fr
07.03.2008, 15:30
Hallo Zusammen,

jetzt ist es mir endlich gelungen, ein Jar-File zu erzeugen. Damit sollte die Ausführung keine Problem mehr sein.

Einfach ancklicken und das Programm sollte loslaufen.
( Java JRE muss natürlich installiert sein )

Wäre super, wenn Ihr es mal ausprobieren könntet.

Gruß,
robo

M1.R
07.03.2008, 17:18
Einfach ancklicken und das Programm sollte loslaufen.
Das hier startet bei mir.
Gruss
M.

damaltor
07.03.2008, 21:24
unter linux kommt nur:

damaltor@damaltorm:~/Desktop$ java -jar EasyAsuro1.jar
Exception in thread "main" java.lang.ClassFormatError: ch.AsuroControl (unrecognized class file version)
at java.lang.VMClassLoader.defineClass(libgcj.so.70)
at java.lang.ClassLoader.defineClass(libgcj.so.70)
at java.security.SecureClassLoader.defineClass(libgcj .so.70)
at java.net.URLClassLoader.findClass(libgcj.so.70)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj .so.70)
at java.lang.ClassLoader.loadClass(libgcj.so.70)
at java.lang.ClassLoader.loadClass(libgcj.so.70)
at gnu.java.lang.MainThread.run(libgcj.so.70)
damaltor@damaltorm:~/Desktop$

das JRE funktioniert ansonsten fein, muss ich nochwas anpassen?

m.a.r.v.i.n
07.03.2008, 22:31
Hallo,

bei mir klappt es jetzt unter Linux auch. Dank der Tipps von Trapperjohn.

@damaltor. Den Fehler hatte ich zunächst auch. Es Mit Java 6 funktioniert es. Allerdings mußte ich die links auf java,javac und jar, sowie CLASSPATH und JAVA_HOME von Hand auf das Java 6 JDK umsetzen.

trapperjohn
08.03.2008, 08:49
@damaltor: Du nutzt nicht SUN Java sondern die GNU Variante, die bei Ubuntu standardmäßig installiert ist.

sudo update-alternatives --config java

zeigt dir die möglichen Alternativen im System (wenn du bspw. das Sun JDK installiert hast) und lässt dich dann wählen. Danach werden von 'update-alternatives' alle Systemeinstellungen vorgenommen, um systemweit die andere Alternative zu nutzen.

damaltor
08.03.2008, 12:02
hmm ich habe java aber von der sun-seite runtergeladen und per hand installiert... allerdings zeigen die vielen g's in den fehlermeldungen durchaus auf ein gnu. =) ich denke ich werde das JRE mal neu laden uns installieren, mal sehen...

damaltor
08.03.2008, 12:21
nach dem zweiten lesen fällt mir auf dass das JDK gemeint ist und nichtz nur das JRE. runtergeladen, installiert, aber dann kommt folgendes:

damaltor@damaltorm:~$ sudo update-alternatives --config java

There is only 1 program which provides java
(/usr/bin/gij-wrapper-4.1). Nothing to configure.
damaltor@damaltorm:~$

was nu? :)

robo.fr
08.03.2008, 14:36
Hallo Zusammen,

es freut mich, dass Ihr so fleissig das Programm ausprobiert. Was mich jetzt ein wenig wundert:
Bei M. kam nur das Bild des Grafen, nicht aber das Hauptfenster. Sie hat einfach das Jar-File gestartet. Habt Ihr nicht das *.jar File verwendet, sondern das Projekt frisch kompiliert?
Bei mir lieft das *.Jar File auch eine Zeit lang nicht. Es lag daran, dass der Ordner mit dem ASURO-Bild nicht eingebunden wurde. Ich habe dann eine Weile mit Eclipse experimentiert und den Pfad für das Bild im Programm verändert. Dann ging es. Jetzt scheint es aber, als wenn beim Starten des Jar-Files wieder das Bild nicht gefunden wird.

Also kurz: habt ihr kompilert oder das *.Jar verwendet ?

Gruß,
robo

m.a.r.v.i.n
08.03.2008, 19:29
Hallo robo,

wenn ich dein jar-File starte kommt bei mir auch nur das Bild mit dem Grafen. Sowohl unter Windows als auch unter Linux. Wenn ich allerdings das jar-File auspacke und

java ch.AsuroControl
eingebe, startet das Hauptfenster korrekt.

Unter Linux hilft das jar-File sowieso nicht weiter, solange man die Schnittstelle nicht ändern kann. Deshalb muß man hier neu übersetzen.

btw. sollte die Batterianzeige und die Liniensensoren auch schon funktionieren? Bei mir tut sich da nichts.

robo.fr
08.03.2008, 21:18
Hallo m.a.r.v.i.n,

das mit dem jar-File ist interessant. Mein Ziel ist es ja, das ganze so einfach wie möglcih für die Anwender zu machen.
Die Batterieanzeige und Liniensensoren werden vom ASURO abgefragt, wenn man auf das große ASURO Bild klickt. Ich habe mich bis jetzt noch nicht mit den Timer-Threads befasst, so dass die Werte automatisch agefragt werden.

Gruß,
robo

trapperjohn
09.03.2008, 12:07
hmm ich habe java aber von der sun-seite runtergeladen und per hand installiert... allerdings zeigen die vielen g's in den fehlermeldungen durchaus auf ein gnu. =) ich denke ich werde das JRE mal neu laden uns installieren, mal sehen...

Du hättest das nicht von Hand installieren müssen, sonder per apt. Am einfachsten, du holst das nach ... ;-)

sudo apt-get install sun-java6-jdk

Dann funktioniert auch update-alternatives.

robo.fr
09.03.2008, 12:24
Hallo Zusammen,
nach mühevoller Arbeit gibt's jetzt wieder eine Erweiterung: Die Signaleverläufe der Encoder können übertragen und dargestellt werden.
http://www.roboterclub-freiburg.de/asuro/software/java_asuro_control/asuro_control.jpg
Das die Übertragung der Daten etwas fehleranfällig ist, musste ich ein Protokoll einführen. Damit werden Fehler in einzelnen Blöcken mittels Checksumme erkannt ( Kein CRC, das war mir zu aufwändig ).
Das Programm befindet ist noch etwas "Spaghetti-codig". Könnte aber irgendwann besser werden.
Wer's also ausprobieren will:
hier (http://www.roboterclub-freiburg.de/asuro/software/java_asuro_control/asuro_control_v4.zip)

Gruß,
robo

damaltor
09.03.2008, 16:36
wenn ich das jar (von weiter oben) starte, kommt das hier:
http://img138.imageshack.us/img138/5675/javaprog1ew7.th.jpg (http://img138.imageshack.us/my.php?image=javaprog1ew7.jpg)

danke nochmal für die java-einrichtung.. und ich hab mich immer mit dem installer von der sun-seite rumgekrepelt... -.-

robo.fr
09.03.2008, 18:49
Hallo damaltor,

so wie es aussieht, gibt's da also noch ein Problem mit dem *.jar File.
Vielleicht kann hier traperjohn weiterhelfen, er hat wahrscheinlich relativ viel Erfahrung mit java.
Also: wie mache ich bei Eclipse einen Jar-Export, so dass auch noch die Bilder verfügbar sind?

Gruß,
robo

robo.fr
09.03.2008, 18:56
@damaltor
Moment mal, jetzt habe ich Deinen Screen Shot nochmal angeschaut: Da steht ja "Port in use Exception". Kann es sein, dass Deine Schnittstelle von irgendwoher anders blockiert ist?
Hier habe ich noch mal ein neues *.Jar File erstellt, damit sollte der Schnittstellenauswahldialog auf jeden Fall sichtbar sein und es ist die neueste Version.

Gruß,
robo

damaltor
09.03.2008, 19:41
die schnittstelle ist frei (minicom kann drauf zugreifen). sie ist sogar absolut frei, denn der laptop steht nihct in der dockingstation. es ist also nihctmal der anschluss nach aussen geführt =)

mit dem neuen .jar werden schon zwei fenster geöffnet (bei gleichem fehler). wird eines geschlossen, geht das andere auch zu.

http://img135.imageshack.us/img135/5818/java2ro5.th.jpg (http://img135.imageshack.us/my.php?image=java2ro5.jpg)

trapperjohn
09.03.2008, 20:09
Was das Bild angeht, kann ich nur raten - ich bin nicht so der GUI-Kenner. Unter Umständen muss das Bild in einem Package liegen, also bspw. in einem Ordner "images", der parallel zu "ch" liegt. Zumindest spuckt Google bei der Suche nach dem Problem irgendwie nur Lösungen aus, die so ähnlich aussehen:

ImageIcon icon = new ImageIcon(getClass().getResource("/images/bild.gif"));

robo.fr
09.03.2008, 21:01
Also dann, noch mal ein neuer Versuch: Ich habe jetzt den Ordner mit dem Bild in das ch-Package verlagert. Das Jar-File läuft bei mir ohne Probleme. Das gibt's doch nicht, es muss bei euch auch laufen ](*,)

.....

robo.fr
09.03.2008, 21:06
@damaltor: geht beim Start eigentlich der Portauswahldialog auf? Welche Ports stehen denn zur Auswahl? Vielleicht hat es wie so oft bei Linux was mit einer Zugriffsberechtigung zu tun und der Port ist für das Programm gesperrt.

M1.R
09.03.2008, 21:25
Das gibt's doch nicht, es muss bei euch auch laufenBei mir geht jetzt zusätzlich zu dem Liniensensor-Fenster ein darüberliegendes gleichaussehendes Encoder-Fenster auf und sonst nichts. Egal ob der IR-Transceiver an COM1 oder COM10 hängt, oder gar nicht dran ist.
Gruss
M.

trapperjohn
10.03.2008, 10:56
Also dann, noch mal ein neuer Versuch: Ich habe jetzt den Ordner mit dem Bild in das ch-Package verlagert. Das Jar-File läuft bei mir ohne Probleme. Das gibt's doch nicht, es muss bei euch auch laufen ](*,)

.....

Wie ist jetzt der Aufruf des ImageIcons? Der Pfad müsste jetzt ja /ch/image/asuro.jpg lauten.

Und wie startest du das Jar-File bei dir? Schon mal bspw. auf den Desktop kopiert und dann von dort per Doppelklick o.ä. gestartet?

damaltor
10.03.2008, 12:29
mit dem neuen .jar-file passiert das gleiche wie bei meinem letzten screenshot. kein auswahldialog, nur die beiden kleinen fenster. :)

m.a.r.v.i.n
10.03.2008, 14:46
Hallo,

wenn man die RXTX Lib installiert hat, dann funktioniert es auch mit dem AsuroCorntol Fenster und auch der Auswahldialog für die Schnitstelle taucht auf.

Hier der Link für die RXTX-Binaries (Linux, Windows, Mac). Zur Installation INSTALL lesen.
http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip

robo.fr
10.03.2008, 15:24
Super m.a.r.v.i.n., da bin ich ja froh, dass es bei Dir klappt.

Das *.Jar File läuft also direkt vom Desktop!

Mann muss also nur die beiden Files von RXTX an die richtige Stelle kopieren, und schon läuft es.


RXTXcomm.jar goes in \jre\lib\ext (under java)
rxtxSerial.dll goes in \jre\bin

Ich denke, das dürfte auch das Problem bei damaltor sein: RXTX nicht an die richtige Stelle kopiert!

Gruß,
robo

trapperjohn
10.03.2008, 15:53
Auch die Libs sind per apt installierbar:
sudo apt-get install librxtx-java

P.S.: Bei mir startet es folgendermaßen korrekt (aus dem Ordner, in dem das Jar liegt):
java -cp ./AsuroControlV4.jar:/usr/share/java/RXTXcomm.jar ch.AsuroControl

Mit dem Parameter -jar und direkt angegebener Jar-Datei bekomme ich es auch nicht fehlerfrei zum laufen.

damaltor
10.03.2008, 17:16
auch mit der rxtx lib kommt genau das gleiche (2 kleine fenster und bekannte fehlermeldung).
mit dem befehl von trapperjohn siehts schon besser aus:
http://img212.imageshack.us/img212/8802/java3tv5.th.jpg (http://img212.imageshack.us/my.php?image=java3tv5.jpg)

robo.fr
10.03.2008, 18:05
Sehr schön, dass es jetzt bei Dir auch läuft, damaltor. Jetzt frage ich mich nur, wie es unter Windows aussieht. Da muss ich bei mir gar nichts machen, ein Doppelklick auf das Programm reicht und es läuft los.

Funktioniert bei euch die Datenübertragung der Encodersignale so einigermaßen? Es braucht eine Weile, bis die Werte übertragen sind. Die Information der Signale ist insgesammt 200 Bytes. Leider ist die IR--Schnittstelle etwas lahm.

robo

damaltor
10.03.2008, 18:15
ich habe gerade keinen funktionierenden asuro greifbar. aber wenn, was muss denn auf den asuro geflasht werden?

robo.fr
10.03.2008, 19:11
Na das Hex-File, habe irgendow vorher schon mal den Link auf den Source gepostet.

damaltor
10.03.2008, 19:28
hab ich übersehen. danke!

M1.R
10.03.2008, 21:11
Hallo robo,
mittlerweile ist es mir auch geglückt, die richtigen RXTX-Dateien in die richtigen Ordner zu packen. :oops:
Die .jar - Datei lässt sich jetzt mit einem Doppelklick starten. Auch den Port kann man wählen. Zusätzlich zum Hauptfenster gehen noch die
Liniensensor- und Encoder- Fenster auf.
vor, rueck, links, rechts, Lichtorgel O:), ruckeln, seiteln, Leds funktionieren.
Manchmal muss man mehrmals klicken, bis das Richtige passiert.
Bei Encoder tut sich allerdings gar nichts.
Gruss
M.
(Windows XP Professional)

robo.fr
11.03.2008, 08:21
Sehr gut, dass es jetzt auch klappt. =D>
Wie findest Du das ruckeln und "seiteln, lustig, oder?
O:)
Was den Encoderschalter anbelangt, braucht die Übertraguns ca. 1 Minute.
Man muss natürlich auch die neueste Hex-Version( 2 Posts weiter oben ) auf dem ASURO haben, sonst erkennt er das Encoder-Kommando nicht.

Gruß,
robo

M1.R
11.03.2008, 13:23
Wie findest Du das ruckeln und "seiteln, lustig, oder?
O:) Ja - witzig! Man sollte ruckeln und seiteln noch mit Lichtorgel verbinden können.

Was den Encoderschalter anbelangt, braucht die Übertraguns ca. 1 Minute. Man muss natürlich auch die neueste Hex-Version( 2 Posts weiter oben ) auf dem ASURO haben, sonst erkennt er das Encoder-Kommando nicht. So jetzt mit der neuen .hex fährt er ein Stückchen vorwärts, meistens leuchtet die StatusLED gelb und wird später rot.
Manchmal aber auch grün oder rot am Anfang - ist das Zufall oder hat es irgendeine Bedeutung? Ansonsten tut sich auch nach 15 Minuten nichts.
Gruss
M.

robo.fr
13.03.2008, 09:08
So jetzt mit der neuen .hex fährt er ein Stückchen vorwärts, meistens leuchtet die StatusLED gelb und wird später rot.

Das kann fast nicht sein, die neue Hex muss sich genau so verhalten wie die alte, ausser dass man die Encodersignale auslesen kann.


Ja - witzig! Man sollte ruckeln und seiteln noch mit Lichtorgel verbinden können.

Das wäre ziemlich einfach. Du könntest es sogar selbst machen, wenn Du die Java JDK und Eclipse installiert hast.

Das funktioniert dann so, dass man die Fernsteuerkommandos, die in Java implementiert sind, nacheinancher aufruft.
z.b.

asuro.gehvor();
asuro.frontLed();
asuro.gehRechts();
asuro.backLedL();

usw.

Gruß,
robo

M1.R
14.03.2008, 19:00
Das kann fast nicht sein, die neue Hex muss sich genau so verhalten wie die alte, ausser dass man die Encodersignale auslesen kann.Hallo robo,
ich habe mich wohl missverständlich ausgedrückt.
Das oben beschriebene Verhalten bezieht sich nur auf die Encoder-Abfrage.
Auch Batterie- und Liniensensorabfrage geht nicht.
Nach klicken auf den ASURO erscheint folgendes: (Anhang)
Gruss
M.

robo.fr
15.03.2008, 08:26
Hallo M.,

das hört sich fast ein wenig nach einem Empfangsproblem bei Deiner IR-Schnittstelle am PC an.
Kannst Du zum Test "Hyperterminal" verwenden? Beim Einschalten des ASURO muss die Meldung "Asuro OK" erscheinen. Wenn Du die Taste 't' drückst, muss der ASURO antworten.

Eine andere Möglichkeit wäre, dass Dein Rechner etwas langsam ist. Hier habe ich mal ein Jar-File erstellt, das die Kommunikation noch etwas drosselt ( hat auch eine schönere Grafik ). Damit könnte es bei Deinem Rechner dann funktionieren,

Gruß,
robo

M1.R
15.03.2008, 11:01
Beim Einschalten des ASURO muss die Meldung "Asuro OK" erscheinen. Wenn Du die Taste 't' drückst, muss der ASURO antworten.geht:
-- ASURO Ready --
txASUROy
Eine andere Möglichkeit wäre, dass Dein Rechner etwas langsam ist. Hier habe ich mal ein Jar-File erstellt, das die Kommunikation noch etwas drosselt ( hat auch eine schönere Grafik ). Damit könnte es bei Deinem Rechner dann funktionieren,leider nicht.
Vielleicht muss ich ja irgendwas an den COM1 - Einstellungen (Anhang) ändern?

Gruss
M.

robo.fr
16.03.2008, 07:36
Halo M.
das Programm macht die Einstellungen autmatisch. Und steuern kannst Du den ASURO ja, oder? Wenn ich es richtig verstanden habe, gibt es ja nur ein Problem beim lesen der Daten.

Gruß,
robo

M1.R
16.03.2008, 10:52
Und steuern kannst Du den ASURO ja, oder?ja
Wenn ich es richtig verstanden habe, gibt es ja nur ein Problem beim lesen der Datenja

Wäre schön, wenn es noch jemand ausprobieren würde!

Gruss
M.

m.a.r.v.i.n
16.03.2008, 11:17
Hallo robo,

bei mir zeigen sich die selben Effekte wie bei M. (probiert unter Windows mit asuro_control_v4).
Beim click auf das Fenster kommt für Batterie 0.0V und NaN für Linie l/r. Wenn ich das ganze unter Hyperterminal ausprobiere scheint alles ok zu sein. Der Asuro reagiert auf die folgenden Kommandos (alles andere bis auf Zahlen ergibt E als Antwort)



bx951y
lx11y
rx10y
txASUROy


Scheinbar wird nur die FrontLED nicht eingeschaltet. Aber ansonsten sind die Werte ok. (Habe eine IR FrontLED eingebaut)

Edit:
Das EasyAsuro5.jar Archiv funktioniert bei mir nicht. Startet nur kurz und beendet sich gleich wieder. Wenn ich das jar-File in eine zip-Datei umbenenne, auspacke und mit java ch.AsuroControl von Hand starte, klappt es. Es treten allerdings die gleichen oben beschriebenen Probleme auf.

robo.fr
17.03.2008, 07:04
Hallo M., halll m.a.r.v.i.n.

es freut mich, dass Ihr so fleissig am Testen seid. Bei mir läuft das Programm und deshlab wäre es fast unmöglich, den Fehler selbst zu finden. Ich werde mal ein wenig nachdenken, wie man die Fehler besser finden könnte.


Der Asuro reagiert auf die folgenden Kommandos (alles andere bis auf Zahlen ergibt E als Antwort)

Der ASURO gibt 'E' ( E wie Error ) zurück, wenn er ein Kommando nicht kennt. Eigentlich sollte er mindestens folgende Kommandos kennen, zumindest wenn man die letzte Hex-File Version verwendet, die ich hier gepostet habe ( aber eigentlich schon auch die Version 4 ).


// Kommandos
#define LEDSOFF '0'
#define BACKLEDL '1'
#define BACKLEDR '2'
#define FRONTLED '3'
#define ASUROVOR '4'
#define ASURORUECK '5'
#define ASUROLINKS '6'
#define ASURORECHTS '7'

#define VERBINDUNGOK 't' // Test Kommando
#define LINIENSENSORLINKS 'l'
#define LINIENSENSORRECHTS 'r'
#define BATTERIE 'b'

Sobald neue Erkenntnisse da sind, poste ich wieder.

Gruß,
robo

M1.R
17.03.2008, 15:33
// Kommandos
#define LEDSOFF '0'
#define BACKLEDL '1'
#define BACKLEDR '2'
#define FRONTLED '3'
#define ASUROVOR '4'
#define ASURORUECK '5'
#define ASUROLINKS '6'
#define ASURORECHTS '7'

#define VERBINDUNGOK 't' // Test Kommando
#define LINIENSENSORLINKS 'l'
#define LINIENSENSORRECHTS 'r'
#define BATTERIE 'b'
mit Hyperterminal geht das alles, auch das Senden der Daten.

Gruss
M.

robo.fr
22.03.2008, 10:13
Hier gibt es die Version 5.

Damit ich die Problem finden kann, wäre es wichtig, hier die Debug-Ausgabe des Programms zu posten.
Dazu muss man das Programm in der Kommandozeile ausführen. Unter Windows geht das mit

Start->Ausführen->"cmd" eintippen

( Die Linuxer wissen sowieso, wie man die Kommandozeile bedient O:) )
Danach in das Verzeichnis wechseln, in dem ihr das *.jar Programm abgelegt habt. Bei mir liegt es auf dem Desktop. Ich wechsle also in das Verzeichnis mit

cd Desktop

dann das Programm starten:

java -jar EasyAsuro5.jar

Jetzt kann man in der Kommandozeile sehen, was das Programm macht.

Jetzt mal testen, ob sich die LED's ein und ausschalten lassen.
Dann: mehrere Male auf das ASURO Bild klicken. Was zeigt die Ausgabe auf der Kommandozeile?

Vielen Dank im Vorraus für eure Hilfe.

Gruss,
robo

hai1991
22.03.2008, 11:51
hallo robo.fr

ich wollte dein Programm ausprobieren, aber bei mir kommen glaube ich nur Fehlermeldungen



Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version n
umber in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknow n Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)


jetzt weiß ich nicht, braucht man ein bestimmtes Programm um deine Datei auszuführen?
oder habe ich einen Fehler gemacht?

mfg hai1991

robo.fr
22.03.2008, 14:24
Hallo hai1991,

hast Du RXTX so wie hier (http://www.roboterclub-freiburg.de/asuro/software/java_asuro_control/asurojavacontrol.html) beschrieben installiert? Welche Java Version ( 1.6.xx ) hast Du und welches Betriebssystem?

Gruß,
robo

m.a.r.v.i.n
22.03.2008, 17:38
Hallo robo,

hier mal meine Ergebnisse:

Programm Start


Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7


Wenn ich auf das Bild klicke:


No Number
0.0

No Number

No Number
200.0


Wenn ich auf Encoder klicke:


xpos:-1 ypos:-1
Empfangsfehler: keine Daten


Wenn ich auf Beschleunigung klicke:


Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at ch.AsuroControl$2.actionPerformed(AsuroControl.jav a:178)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:19
95)
at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.jav
a:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel
.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:242
)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonL
istener.java:236)
at java.awt.Component.processMouseEvent(Component.jav a:6041)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3265)
at java.awt.Component.processEvent(Component.java:580 6)
at java.awt.Container.processEvent(Container.java:205 8)
at java.awt.Component.dispatchEventImpl(Component.jav a:4413)
at java.awt.Container.dispatchEventImpl(Container.jav a:2116)
at java.awt.Component.dispatchEvent(Component.java:42 43)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4322
)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:3986)

at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:3916)
at java.awt.Container.dispatchEventImpl(Container.jav a:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440 )
at java.awt.Component.dispatchEvent(Component.java:42 43)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 599)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThre
ad.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.
java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThre
ad.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:168)

at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:160)

at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:121)


LEDs und Motorsteuerung funktionieren ohne Probleme.

robo.fr
23.03.2008, 10:30
Hallo m.a.r.v.i.,

vielen Dank für diese ausführliche Debugginghilfe. Ich vermute, dass auf euren Rechnern die Zeit vom Senden eines Wertes bis zum Empfang irgendwie länger geht, deshalb habe ich hier ein spezielles Test-jar gemacht.
Mit diesem Programm wird die Zeit des Wartens auf die Antwort vom Asuro gemessen und die Batteriespannung ermittelt. Könntest Du es aus der Kommandozeile starten und mir die Debuggingwerte sagen?

Vielen Dank im Vorraus,
robo

m.a.r.v.i.n
23.03.2008, 12:00
Hallo robo,

hier die Ergebnisse (mit RS232-IR Transceiver):



Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
Byte nach Rs232 schreiben: 62
von Rs232 lesen: Timeout 2000ms
lies Zahl Eingabestring:
No Number
Batteriespannung:0.0

Byte nach Rs232 schreiben: 62
von Rs232 lesen: Timeout 2000ms
lies Zahl Eingabestring:
No Number
Batteriespannung:0.0

Byte nach Rs232 schreiben: 62
von Rs232 lesen: Timeout 2000ms
lies Zahl Eingabestring:
No Number
Batteriespannung:0.0

beendet



Danach habe ich das ganze mal mit dem USB-IR Transceiver wiederholt. Und damit funktioniert es wunderbar! :)



Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
Byte nach Rs232 schreiben: 62
von Rs232 lesen: chars received in 0ms: bx948y
lies Zahl Eingabestring: bx948y
erkannt: 948.0
Batteriespannung:5.43

Byte nach Rs232 schreiben: 62
von Rs232 lesen: chars received in 0ms: bx949y
lies Zahl Eingabestring: bx949y
erkannt: 949.0
Batteriespannung:5.44

Byte nach Rs232 schreiben: 62
von Rs232 lesen: chars received in 0ms: bx848y
lies Zahl Eingabestring: bx848y
erkannt: 848.0
Batteriespannung:4.86

beendet

robo.fr
23.03.2008, 14:15
Hallo m.a.r.v.i.n,

das ist sehr interessant. Ich verwende nämlich auch den USB-Transceiver. Deshalb funktioniert es wohl bei mir. Dann sollte eigentlich die alte Version 5 bei Deinem Rechner mit dem USB-Tranceiver auch funktionieren.

Was ich nicht verstehe: Wie kann es sein, dass es nur mit dem USB-Tranceiver, nicht aber mit dem Standart-RS232 Transceiver geht? So wie es aussieht, kommen beim Standart-Transceiver auch nach 2 Sekunden noch keine Daten zurück.
Bei meinem Laptop, an dem ich programmiere, habe ich leider keine RS232 Schnittstelle mehr. Hmm ... muss mal überlegen was ich da machen kann.

Kannst Du bei der Version5 mit dem USB-Tranceiver eigentlich die Encoder-Signale lesen?

Gruß,
robo

P.s.: Die Batteriespannung an Deinem ASURO erscheint mir etwas hoch. Hast Du aus Versehen Batterien rein gemacht und den Jumper gesteckt? Oder die Messung ist nicht richtig kallibriert, bei meinem ASURO stimmt es genau.

robo.fr
23.03.2008, 14:41
Mir ist gerade eben noch ein möglicher Unterschied zwischen dem RS232 und dem USB-Transceiver eingefallen:

Der RS232 Transceiver beeinflusst möglicherweise die Handshake-Leitungen der Schnittstelle. Deshalb habe ich in diesem Testprogramm für die Kommandozeie das Handshaking aktiv abgeschaltet. Vielleicht hilft's O:)

m.a.r.v.i.n
23.03.2008, 16:38
Hallo robo,

die Steuerleitungen war auch mein erster Gedanke, als ich den Unterschied zwischen RS232 und USB Transceiver feststellte. Die Steuerleitungen werden ja zur Betriebsspannungserzeugung benötigt. Ich habe deshalb mal die Spannung am RS232 Transceiver gemessen. 5V liegen über der Z-Diode, sollte also OK sein.

EasyAsuro5 funktioniert wie zu Erwarten mit dem USB-Transceiver. Die Diagramme für Encoder und Beschleunigung werden dargestellt. Batterie und Liniensensoren werden beim Klick auf das Bild aktualisiert.

Auch mit dem neuen Testprogramm das gleiche Ergebnis, USB geht, RS232 geht nicht.

Ich verwende Akkus, die Werte sollten OK sein, da ich bei meinem Asuro R11 gegen eine Spule getauscht habe.

robo.fr
23.03.2008, 17:41
die Steuerleitungen war auch mein erster Gedanke, als ich den Unterschied zwischen RS232 und USB Transceiver feststellte. Die Steuerleitungen werden ja zur Betriebsspannungserzeugung benötigt. Ich habe deshalb mal die Spannung am RS232 Transceiver gemessen. 5V liegen über der Z-Diode, sollte also OK sein.

Ach, so rum habe ich gar nicht gedacht. Die Idee, dass die Steuerleitungen falsch parametriert sind und der Adapter keine Spannung bekommt, kam mir gar nicht. ](*,)

Ich dachte eher in die andere Richtung: Gibt es die Möglichkeit, dass der Adapter die Handschakeleitungen in eine falsche Richtung zieht und der PC keine Daten erwartet?

Im neuen Testprogramm habe ich FlowControl=None gestellt, das war im alten Programm nicht so. Hoffentlich wird dadurch dem Adapter nicht auch noch der Saft abgedreht. 8-[

Verwendest Du eigentlich Windows oder Linux?

Gruß,
robo

robo.fr
23.03.2008, 18:53
Hier die Version 6: jetzt werden die Messwerte viel scnneller geladen.

M1.R
23.03.2008, 21:31
Hier die Version 6: jetzt werden die Messwerte viel scnneller geladen.mit Hyperterminal kommen jetzt irgendwelche zu niedrige Werte an:

-- ASURO Ready --
E3ElÑlx52ylx51ylElx67yEElx67yEErx51yrx48yrx49yElEE lx1yrx3yrx3yrx3yEEE
Ebx41yEEbx44ybEbbx44yEEEbx44yEEbx39ybbx40ybbx39ybx 41yEEbEEEbx42yEbx42ybEEbx39yBeim Java-Programm kann ich keine Veränderung feststellen.
Gruss
M.

robo.fr
24.03.2008, 09:29
Hallo M. vielen Dank für's debugging. Da ist ASURO-seitig wohl eine falsche Skalierung.

Gerade eben habe ich die neueste Version unter Suse-Linux auf meinem Zweitrechner mit original RS232 Schnittstelle und IR-Adapter getestet.

Ergebnis: geht einwandfrei!

Es scheint mir so, als wenn die Daten sogar schneller als bei Windows übertragen werden.

Was habt Ihr denn genau für ein Betriebssystem?

Gruss,
robo

m.a.r.v.i.n
24.03.2008, 11:03
Hallo robo,

unter Windows XP gibt es die Empfangs Probleme bei Verwendung des RS232 Transceivers.
Unter Linux (Ubuntu 7.04) funktioniert auch der RS232 Transceiver problemlos.

Allerdings sind in der Version6 die Werte für Batterie und die Liniensensoren zu niedrig (0,24V UBAT, 8 für Linie L/R). Das ist sowohl unter Linux wie auch unter Windows zubeobachten. Bei Version5 war das noch i.O.

M1.R
24.03.2008, 11:51
Was habt Ihr denn genau für ein Betriebssystem?
Windows XP Professional

Gruss
M.

robo.fr
24.03.2008, 19:21
Allerdings sind in der Version6 die Werte für Batterie und die Liniensensoren zu niedrig (0,24V UBAT, 8 für Linie L/R). Das ist sowohl unter Linux wie auch unter Windows zubeobachten. Bei Version5 war das noch i.O.

Da ist mir doch beim Aufräumen des Programms doch tatsächlich noch ein kleiner Lapsus passiert, weil ich die PrintInt-Funktion verkürzen wollte. Naja, wenn's interessiert, im Anhang das Hex-File für den ASURO mit dem es korrekt funkioniert.

Das mit Windows-XP ist natürlich ein Hammer-Fehler. Wie könnte man den so was finden? Da fällt mir ja wirklich fast nichts mehr ein.
Ausser vielleicht: Es gab ja bei Java einige Änderungen, vielleicht hat RXTX mit Java 1.6 und XP ein Problem.
Da möchte man ja glatt empfehlen, auf Linux umzusteigen O:)
Oder vielleicht VMware verwenden und eine virtuelles Linux. Ob so was wohl geht?

Mal schauen, ob das Internet irgendwas hergibt...

AMS
31.03.2008, 12:29
hallo, habe noch immer nicht verstanden wie ich die asurocontrol.java aufmachen kann?? hab das java zwar am rechner , er schreibt mir aber immer den fehler dass ihm <jnpg> fehlt? könnt ihr helfen??

robo.fr
02.04.2008, 06:41
Was hast Du für ein Betriebssystem? und welche Java-Version?

AMS
02.04.2008, 06:51
Hallo,
erstmal Danke das du mir deine hilfe anbietest


Ich habe windows XP und die Java-Version 1.6.0

Lg

robo.fr
02.04.2008, 08:50
Eigentlich sollte sich beim Laden des Programmes keine Fehler zeigen. Hast Du das Jar-File auf der vorigen Seite dieses Threads verwendet, oder hast Du die Sourcen kompiliert?

Mit dem USB-Transceiver hat das Programm unter XP einwandfrei funktioniert. Mit dem RS232 Transceiver konnte man nur senden, aber seltsamerweise nichts empfangen.
Mittlierweile habe ich dazu eine Idee: Es könnte am Signalpegel von RTS ( Pin8 IR Receiver ) liegen. Vielleicht ist dieser Pegel aus irgendwelchen Gründen bei XP negativ.
Wenn also mal jemand diesen Pegel mit einem Multimeter nachmessen könnte m.a.r.v.i.n , M? )

Gruß,
robo

AMS
02.04.2008, 21:54
Habe es zum laufen gebracht. Das Problem war glaube ich, dass Ich bei dem PC bei dem ich es versucht habe, keine Administratorrechte hatte. beschäftige mich hauptsächlich in der Firma mit dem Asuro.

Doch empfangen kann Ich leider auch nichts, habe auch den RS232 Transceiver

Lg

m.a.r.v.i.n
02.04.2008, 22:34
Hallo,

hier kommen die Messergebnisse meiner RS232 Schnittstelle:


Pin Hyperterminal EasyAsuro6
online offline win linux
1 0 0 0 0
2 0 0 0 0
3 -12 -12 -12 -12
4 +12 -12 +12 +12
5 0 0 0 0
6 0 0 0 0
7 +12 -12 -12 +12
8 0 0 0 0
9 0 0 0 0

@robo Wie du schon vermutet hast liegt der Unterschied am Pin7 (RTS) .
Kannst du nicht per Programm die Steuerleitungen auf 1 schalten?

robo.fr
03.04.2008, 08:37
Hallo m.a.r.v.i.n,

vielen Dank für die ausführliche Messreihe. Auf die Idee mit RTS bin ich beim Betrachten des Schaltplans gekommen. Der Transistor auf dem IR-Adapter ist als Open-Collektor geschalten und kann das Signal nur vermitteln, wenn über den Widerstand nach RTS eine positive Spannung kommt.


Kannst du nicht per Programm die Steuerleitungen auf 1 schalten?
Ja, das ist die nächste Frage. Ich muss mal sehen, ob die Treiber das erlauben. Hoffentlich ...

robo

m.a.r.v.i.n
03.04.2008, 09:35
Hallo robo,

hab gerade noch mal nachgeschaut:
http://de.wikipedia.org/wiki/EIA-232

Logisch 0 wäre demnach ein Pegel von +12V nicht logisch 1.


Ja, das ist die nächste Frage. Ich muss mal sehen, ob die Treiber das erlauben. Hoffentlich ...
SetDTR und SetRTS scheinen die Funktionen dafür zu sein.

robo.fr
03.04.2008, 12:31
Logisch 0 wäre demnach ein Pegel von +12V nicht logisch 1.

Ja, das habe ich auch schon gelesen. Man sollte es sich eigentlich auswendig merken: eine Eins ist bei der RS232 eine negative Spannung. ](*,)

Nach Wikipedia bedeutet RTS

RTS Request to Send „Sendeanforderung“; Eine logische Null an diesem Ausgang signalisiert der Gegenstelle, dass sie Daten senden kann

In diesem Fall macht es ja XP falscher als Linux ( bzw. der RXTX-Treiber ): Wenn man die Flow-Control ausschaltet, geht RTS auf eine negative Spanung, was aber letztendlich bedeutet, das RTS eine logisch 1 und damit die Gegenstelle nicht senden darf. Was der IR-Transmitter dann auch nicht tut.

robo.fr
03.04.2008, 15:31
So, hier die Version mit aktiv gesteuertem RTS. Was sagt ein Entwickler immer:

Jetzt müsste es gehen !

M1.R
03.04.2008, 17:31
Jetzt müsste es gehen !
leider empfängt mein PC immer noch nichts.:(
(mit Hyperterminal gehts)
Gruss
M.

m.a.r.v.i.n
03.04.2008, 19:13
Hallo robo,

kann leider auch keine Änderung feststellen. RTS nach wie vor -12V Pegel.

AMS
04.04.2008, 10:51
hallo, ich möchte das java programm umgestalten bzw. umschreiben, mit welchen programm mache ich das am besten?

mit welchem programm hast du es geschrieben?

robo.fr
04.04.2008, 18:07
Was möchtest Du denn machen? Das Programm ist in Java mit Eclipse geschrieben.

So, im Anhang habe ich jetzt den Status von RTS einfach rumgedreht. Damit sollte das Programm unter Linux und dem IR-Adapter nicht mehr funktionieren.
Wenn die Leute von RXTX den Status bei der Windows-Version aus Versehen rumgedreht haben, sollte das Programm jetzt unter XP funktionieren.

Liebe Tester, wenn Ihr euch also noch mal bemühen könntet :-b

Gruß,
robo

M1.R
04.04.2008, 18:50
Liebe Tester, wenn Ihr euch also noch mal bemühen könntet wenn du so nett bittest ...
... XP scheint echt widerspenstig zu sein: keine Veränderung. :(

Gruss
M.

robo.fr
05.04.2008, 03:19
Hallo M.,

vielen Dank für die Mühen. Es ist unglaublich, aber es will einfach nicht gehen. Jetzt hilft wahrscheinlich nur noch, sich durch die Sourcen von RXTX zu wühlen.
Ohjemine .... ](*,)

robo.fr
05.04.2008, 13:07
Mir ist noch eine Version eingefallen: Vielleicht hilft es, wenn man die Flusscontrolle RTS/CTS einschaltet.
Also noch ein Versuch:

M1.R
05.04.2008, 15:20
na endlich mal ein Fortschritt! :)

Batterie geht!

Liniensensoren so halbwegs (siehe Anhang), Test auf weissem Papier, FrontLED an. Ziemlich oft erscheint "NaN".

Encoder-Werte werden immer noch nicht empfangen.

Gruss
M.

robo.fr
05.04.2008, 16:21
Hurra! Ein Fortschritt ! Ich bin begeistert, nach so vielen Versuchen ! =P~

Was die Übertragungsfehler angeht: Hast Du mal verschiedene Abstände zum IR-Receiver ausprobiert? Das scheint mir jeztzt ein Hardwareproblem zu sein.
Die Encodersignale sollten sich empfangen lassen, wenn die Datenübertragung gut funktioniert.

Wie sieht's bei Dir aus, m.a.r.v.i.n ?

Gruß,
robo

m.a.r.v.i.n
06.04.2008, 19:10
Hallo robo,

bei mir funktioniert jetzt alles bestens, auch unter XP. Echt super dein Programm.

AMS
07.04.2008, 09:06
Hi robo

Bei mir funktioniert jetzt auch alles ;)
Danke für deine bemühungen.

könntest du mir bitte das Programm in C Format schicken welches auf den Asuro geflasht werden muss? würde die befehle gerne etwas abändern, wenn das halt geht ^^

Lg

M1.R
10.04.2008, 15:21
Hallo robo,

nachdem mir mein Ir-Transceiver runtergefallen ist, gehts! \:D/

Tolles Programm, besonders die Kurven sind super! :)

Gruss
M.

iBot
25.05.2008, 16:59
Moin moin,
hat das ganze schonmal einer mit mit einem Mac versucht ?
Ich hab zwar einen aber eben (noch) keinen Asuro :/
MfG iBot

robo.fr
25.05.2008, 19:02
Hallo iBot,

bis jetzt hat's noch kein MAC-User richtig getestet. Beim letzten Mal hat sich herausgestellt, das es für den MAC noch kein Java 1.6 gibt. Ich weiss nicht, wie die Situation momentan ist.

Es sind nur einige Codezeilen im Programm, die Java 1.6 spezifisch sind.

Aber Du kannst ja vielleicht noch Tester werden ....

Gruß,
robo

JohnnyFlash
10.06.2008, 13:46
auch dieses programm habe ich mal getestet.

es gelten die gleichen hinweise wie in https://www.roboternetz.de/phpBB2/viewtopic.php?t=40922 für java.

startet tut man im terminal mit

java -jar asuro_control.jar


nur finde ich keine möglichkeit eine schnittstelle zur kommunikation einzustellen.

hier ebenfalls noch ein screenshot.

robo.fr
10.06.2008, 16:47
Ähm, eigentlich sollte der Auswahldialog beim Programmstart erscheinen. Seltsam ....

fxt
25.07.2008, 12:25
Hi robo.fr, ich bin auch gerade dabei ein java Programm zu schreiben, um meinen Roboter zu steuern. Und da wollte ich mal fragen ob es irgendwo öffentlich den Sourcecode zu deinem Asuro-Programm gibt. Ich arbeite zum erstenmal mit Java und habe einige Probleme mit der seriellen Schnittstelle.

iBot
30.08.2008, 17:02
Moin moin,
ich hab ein Problem:
und zwar hab ich die Daten alle drauf und wenn ich jetzt starte komm folgende Meldung:
http://img168.imageshack.us/img168/2813/unbenanntbi0.th.jpg (http://img168.imageshack.us/my.php?image=unbenanntbi0.jpg)
kann mir wer helfen?

robo.fr
31.08.2008, 20:05
Hallo IBot,

die Fehlermeldung zeigt an, dass die RXTX Bibliothek nicht gefunden wird. Hast Du die Blibliothek installiert?

robo.fr

iBot
07.09.2008, 17:21
Moin,
wenn mit installieren hineinkoppieren gemeint ist dann ja ;).
MfG iBot

xythobuz
15.09.2009, 20:41
Hi Leute.
Jetzt meld ich mich doch auch mal in diesem relative alten Thread...
*Leichenschänder*
Wo kann ich denn die aktuelle Version runterladen? Die Links vom Roboterclub Freiburg bringen alle "Not Found". Und die Versionen, die es in den Threads hier zum laden gibt, laufen leider nicht bei mir...
Könnt ihr mir einen Link geben?

MfG
Thomas