PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welcher Roboter(bausatz) ist JAVA fähig



noble
13.03.2004, 13:33
Hallo zusammen!
Bin neu hier und so neu bin ich auch im Roboter Sektor.

Mein Lektor hat mich auf die Idee gebracht, dass man Roboter auch mit JAVA proggen kann.
Die Mindstorms von Lego würden dazu gehen, jedoch sind mir diese Dinger zu unflexibel und zu teuer.
Nun, jetzt hab ich schon alle möglichen Hefte durchgeblättert aber irgendwie findet man keine Roboter für ne Studentenbörse und irgendwie bin ich dann hier gelandet.

Also folgendes würde ich gerne für das Abschlussprojekt in JAVA Programming machen:

Einen kleinen Roboter den ich mittels einer beliebigen Schnittstelle (sei es funk oder Kabel) mit JAVA programmieren kann.
Er braucht nicht viel können, es würde schon reichen wenn er sich bewegen kann und ein Licht leuchtet oder so.
Für den Anfang kanns ruhig simpel sein.

Mein Problem ist nur, mein Budget für diese Aktion hab ich auf max 100 € festgelegt, da es mir momentan einfach nicht mehr wert ist, bzw mir das Geld fehlt.

Weiters muss die Möglichkeit bestehen dass mittels Laptop zu machen, also ohne zusätzliche PCI Karte oder so.
Vielleicht geht die Steuerung vielleicht auch mittels PDA.

Könnt ihr mir helfen, wo ich das bekommen und wie ich das hinbekomme?

Danke

SlyD
14.03.2004, 14:54
Für 100 € läuft da fast gar nix.

Java fähig = Rechner mit hoher Speicherkapazität und Rechenleistung und dass widerum bedeutet --> teuer.

Ich sprech da aus Erfahrung, da mein Roboter nämlich "Java fähig" ist. (Embedded PC mit Linux und ner 1.4er JVM)
Aber einen ausreichend leistungsstarken Rechner bekommste nicht für unter 100 Euro und dann kommen noch die Kosten für die Robotermechanik, Motoren, die Steuerelektronik, Sensoren, Akkus usw. dazu, denn du kannst den Roboter nicht direkt durch einen _nicht_ echtzeitfähigen Rechner steuern - da brauchste noch nen Mikrocontroller dazu.

Ich würde mal grob schätzen, dass man mit 250 Euro dabei sein kann - wenn man an allen ecken und enden spart.

Bei mir wars insgesamt wohl deutlich mehr als dass doppelte im letzten Jahr.

Kannst aber mal bei eBay nach günstigen embedded PCs suchen - aber sollte für Java schon mindestens nen Pentium 133 mit 64 MB RAM sein.

--> Der Strombedarf ist aber extrem hoch

noble
14.03.2004, 17:29
naja, ich weiß, dass die lego mindstorms auch mit JAVA progerammierbar sind.
also kanns ned so umständlich sein, weil ich glaub nicht das die mindstorms nen soooo leistungsfähigen rechner besitzen.

weiters würd mir auch schon reichen wenn ich in JAVA Code proggen kann, dass ganze denn über nen INTERPRETER auf den Controller des Roboters schreib.
Ob dann in dem Controller JAVA oder C oder ähnliches steht ist mir egal.

nif
14.03.2004, 20:33
und was ist mit dem hier (http://www.elektronikladen.de/javelin.html)?

Schöne Grüße

noble
14.03.2004, 21:09
und was kann ich mit dem ding dann machen?

nif
14.03.2004, 21:30
Ein Roboter z.B.
Das hier ist der Bruder "Basic Stamp"

noble
14.03.2004, 21:35
sieht eigentlich cool aus,
und was hat er in summe gekostet?

kann man nen C-Controller irgendwie mit JAVA Code füttern oder ihn in JAVA Proggen und dann in C-Controler Code umwandeln?

SlyD
14.03.2004, 21:45
Naja gut die Javelin Stamp wäre dann die low cost Variante. Würde gehen...
Aber da das Teil allein 90 Euro kostet wirste in jedem Fall auf über 100 Euro (ich schätze mal so 120-180 Euro ) kommen.

Und es gibt keinen "C-Controller". Einen Mikrocontroller ist nie auf eine Sprache beschränkt. Der versteht nur Maschinencode der vom Compiler erzeugt wird.
Für Mikrocontroller mit wenig Speicher ist Java auch nicht sinnvoll - also die Objektorientierung.

nif
14.03.2004, 21:45
alles zum Boe-Bot (http://www.elektronikladen.de/robokurs.html)
zu den Kosten,hab vieles aus dem Keller.
C-Controller kenne ich noch nicht,bin selber ein Anfänger

Schöne Grüße

p.s. Javelin Stamp Home (http://www.parallax.com/detail.asp?product_id=JS1-IC)

noble
15.03.2004, 07:35
sieht schon nett aus

@SlyD
noch ne kurze Info, JAVA wurde für Kaffeemaschinen zu programmieren entwickelt (ganz zu beginn) und ich glaub ned, dass die so starke Prozessoren drinnen haben

und aus eigener Erfahrung weiß ich auch, dass man JAVA auf nem GBA Proggen kann und der arbeitet mit nem 66 MHz Risc.
Auch ned die Welt oder?

jörg
16.03.2004, 15:30
"C-Controller":
noble meint damit wahrscheinlich die "C-Control"; ist ein Motorola Controller, der von Conrad (daher das "C") vertrieben wird und normalerweise in einem speziellen BASIC programmiert wird. Der "ROBBY" hat den drin, und hier im Netz verwenden den viele.

Java:
Ich hab einen "JStamp", der Java native ausführt; eine Zusammenfassung des Controllers hab ich hier (https://www.roboternetz.de/phpBB2/viewtopic.php?p=6808#6808) mal reingeschriegen.

noble
16.03.2004, 15:40
jup, genau den meine ich und den kann ich nicht, egal wie, mit JAVA proggen?

Kjion
16.03.2004, 16:12
Nein ;)

noble
16.03.2004, 19:33
verdammt

Kjion
16.03.2004, 21:50
Es sei den du würdest dir extra dafür einen Compiler schreiben, der dir JAVA in die Tokens zerlegt die dir auch der BASIC Compiler ausspuckt. ;)
Wirst du allerdings nicht viel Spass dran haben...

MfG Kjion

noble
17.03.2004, 06:40
und was ist mit dem JavaKara Compiler

es hat geheißen der soll sowas können, aber ich find ihn ned wirklich zum runterladen bzw. beschreibungen dazu

17.03.2004, 10:07
Hallo,
ueber Java-Roboter-Programmierung ein Paar Links
http://www.entwickler.com/itr/online_artikel/psecom,id,92,nodeid,11.html
http://lejos.sourceforge.net/assets/robots/jitter.html

MfG
Valerij Volov

noble
17.03.2004, 10:14
naja, von den mindstorms wusst ichs eh
aber für nen kleinen versuch ists mir zuuuuu teuer

noble
26.03.2004, 10:24
*nachobenschieb*

nestler
26.03.2004, 12:16
hi!


also ich hab bereits mal so ein lego mindstorms teil mit java
programmiert. und ich kann dir daher sagen, dass das nicht wirklich
spass macht!

das teil liess sich zwar programmieren, ABER:
der speicher, der uns noch für den code blieb, war nicht mehr allzu
gross!
und: diese java-"variante" hatte nur sehr wenige befehle - also
bei weitem nicht die vielfalt, die du sonst bei java gewohnt bist
(fehlte viel zeug, was man selten braucht, aber leider auch einige
wichtigere mathematische funktionen....)

also alles in allem kann ich nur sagen, dass ich davon ziemlich enttäuscht
war und dir eher von sowas abraten würde.

wobei der controller schon arg wenig speicher hatte - bei anderen
controllern siehst da wahrscheinlich schon wieder ganz anders aus...

ciao,
simon

p.s.: wozu muss es denn unbedingt java sein? reicht dir denn c nicht?

noble
26.03.2004, 14:19
ich benötige java, weil es für ein projekt in der schule sein soll,
und dort müss ma ein java projekt abgeben.

konrad
26.03.2004, 14:20
Hallo,
ich habe den Jitter gebaut der auf der ISS war, und kann nur sagen das das LeJos Java auf dem Mindstorms mehr Code unterbringt als die Schmalspur-C-Version NQC. Es gibt übrigends zwei Java-Vesionen. Ich habe die mit Floatingpoint und allen trogonemetrischen Funktionen benutzt.
Nur solltest du dir überlegen was du mit dem Rechner machen willst. Wenn du wirklich selber bauen möchtest solltes du dich nicht scheuen mit einer der Basic-Varianten zu arbeiten. Wenn du nur einigermaßen Java kannst sollten Basic oder C auch kein Problem für dich sein, und kommt es dich wahrscheinlich billiger. Also ich würde mir das Roboternetz-Bord mal ganz genau ansehen.

26.03.2004, 14:49
hi!

ok, wenns für die schule sein soll - dann wirst du wohl java nehmen
müssen...

gut möglich, dass lejos besser ist als nqc... (hab ja auch nicht behauptet,
dass nqc besser ist - ich meinte ja nur, dass man nicht mehr viel platz
hat, wenn man lejos verwendet....)

wie schneidet lejos im vergleich zu brickos ab? auch besser?!

...und ich hab ja auch nichts gegen lejos. finde es bemerkenswert, dass
java auf einem so kleinen teil (wenn auch nur mit einschränkungen) läuft,
da java normal etwas höhere anforderungen hat.

nur wenn ich die wahl hab, dann würde ich ehrlich gesagt zur program-
mierung eines controlles kein java verwenden...

ciao,
simon

nestler
26.03.2004, 15:05
das oben ist mein beitrag
- hatte nur vergessen mich einzuloggen...

ciao, simon

konrad
26.03.2004, 17:30
Java/NQC besser oder schlechter ist müßig zu fragen. Beide Sprachen haben Vor- und Nachteile. Hauptnachteil JeJos ist sicher die Geschwindigkeit (C-Controlmäßig).
Ich habe LeJos damals aus folgenden Gründen genommen:
Jejos ist Betriebssystem und JAVA-VM in einem, das heisst es bleiben noch ca 11Kb für Java-Bytecode übrig. und der ist extrem klein. Vor allem weil die Objekte nicht Bytcode übersetzt werden sondern vom Lader in ein internes Array kopiert werden.
Lejos_Java bietet vor allem eine anständige Array-Unterstützung, JAVA-Multi-Thread und Floatingpoint. Das war für meine Anwendung (6 parallele Prozesse auf zwei über Infrarot korrespondierende Mindstorms) wichtig.
Die Unterstützung der Mindstorms Hardware ( incl. Infrarot) ist sauber implementiert.
Ich habe mit Standard Visual-Caffee auf dem PC entwickelt und compiliert mit dem Lader draufgeschoben , und fertig.

NumberFive
26.03.2004, 21:23
Sorry ich finde das java und roboter nicht zusammen passt
Programmiere C++ auch am liebsten mit api Aufrufen direckt im kern
aber das ist alles geschmack sache.

Gruß

nestler
29.03.2004, 08:16
hi!


naja - wie gesagt, ich hab ja auch eine zeitlang mit lejos gearbeitet.
wenn man sich in die materie mal eingearbeitet hat, und die api
durchgearbeitet hat, dann kommt man schon zurecht - das muss ich
ja zugeben.

was mich zum beispiel gestört hat, war die verarbeitung von strings.
(ok, die braucht man jetzt nicht unbedingt....). ich wollte damals am
display kurze meldungen ausgeben, was der robby gerade macht -
und diese strings brauchen bei jeder ausgabe erneut speicher (auch
wenn man globale variablen oder konstanten verwendet!)
- das ist meiner meinung nach z.b. nicht optimal implementiert.

dafür ist die infrarot-übertragung sehr gut implementiert - da kann
ich dir nur recht geben.
es gibt einerseits ein fertiges protokoll, aber auch genung funktionen,
um dir dein eigenes protokoll zu basteln.....

ciao,
simon

jörg
29.03.2004, 09:11
Stimmt schon: String-Verarbeitung sieht in Java einfach aus, kann dann aber sehr speicher-aufwendig sein.
Wenn Du in Java Strings verändern musst, z. B. zur Zustands-Anzeige, dann solltest Du das in einem StringBuffer machen, oder in einem char[]; dann hast Du mehr Kontrolle über den Speicherplatz.
Konstante Strings werden nur neu angelegt, wenn Du explizit "new String("xxx");" schreibst (was nie notwendig ist).

nestler
29.03.2004, 09:55
hi jörg!

wir haben damals folgendes beispiel gehabt: anzeigen von fünf
verschiedenen strings (jeweils zu beginn als konstanten definiert)
- je nachdem, was der roboter tut wird ein anderer string ange-
zeigt.

am anfang geht das ganze gut - und irgendwann ist der speicher
voll. ohne die anzeige von strings ist der rcx stunden gelaufen...
(bis halt die akkus leer waren ;-) )
- entweder wir haben mist gebaut bei der programmierung oder
das geht auf dem rcx mit lejos wirklich nicht besser...

ciao,
simon

07.08.2004, 21:05
Hallo,
ich habe den Jitter gebaut der auf der ISS war, und kann nur sagen das das LeJos Java auf dem Mindstorms mehr Code unterbringt als die Schmalspur-C-Version NQC. Es gibt übrigends zwei Java-Vesionen. Ich habe die mit Floatingpoint und allen trogonemetrischen Funktionen benutzt.
Nur solltest du dir überlegen was du mit dem Rechner machen willst. Wenn du wirklich selber bauen möchtest solltes du dich nicht scheuen mit einer der Basic-Varianten zu arbeiten. Wenn du nur einigermaßen Java kannst sollten Basic oder C auch kein Problem für dich sein, und kommt es dich wahrscheinlich billiger. Also ich würde mir das Roboternetz-Bord mal ganz genau ansehen.also ich weiss ja nicht aus welchem parallelunversum ihr kommt aber

@noble: java wurde geschaffen um videotexte zu programmieren und heisst so weil die menschen von sun microsystems soviel java-kaffee getrunken haben.
hat mit kaffeemaschinen echt nix zu tun!!!

klucky
12.08.2004, 13:45
Naja wenn du nen etwas größeren bot baust kannste vielleicht einen alten 386er (vielleicht auch laptop wenn du einen findest) nehmen die bekommste doch nachgeschmissen und da sollte java drauf laufen...statt dem netzteil betreibste das ding einfach über ne 12 Volt Baterie und so unnützen ballast wie cd laufwerk oder diskettenlaufwerk lässte einfach wech...

08.04.2005, 12:56
Hallo,
ueber Java-Roboter-Programmierung ein Paar Links
http://www.entwickler.com/itr/online_artikel/psecom,id,92,nodeid,11.html
http://lejos.sourceforge.net/assets/robots/jitter.html

MfG
Valerij Volov

Superhirn
13.04.2005, 18:14
Hallo,
Es gäbe da eine JavelinStamp von Parallax. Hab damit aber noch keine Erfahrung. Elektronikladen hat auch mehres. Schau einfach mal auf www.elektronikladen.at

mfG
Superhirn

pebisoft
14.04.2005, 19:00
hallo, mit java sollte es man nicht machen. weil die schnittstellen (rs232 und lpr) als einzelne signale genutzt werden müssen bei robotern und das ist in java grundsätzlich nicht erlaubt, wird es trotzdem gemacht, ist es kein java mehr.
mfg pebisoft