PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Roboter mit Java programmieren



Gil-Galad
18.03.2010, 17:45
Hallo
Ich möchte einen Roboter bauen. Ich habe bis jetzt immer mit NQC Lego Roboter programmirt. Letztens habe ich mich in die Grundlagen von Java eingearbeitet. (bin aber nicht weit gekommen)
Jetzt möchte ich ein größeren Roboter.
Bei der Programmierung habe ich an ein Notebook gedacht.
Mich würde interessieren welche Befehle ich bei Java dann hernehmen muss um die Motoren anzusteuern und die Sensoren abfragen.
Kann mir vielleicht jemand ein einfaches Programm zeigen
MFG
Gil-Galad

rolber
18.03.2010, 17:55
Hallo !

JAVA ist hier eher als Exot anzusehen.
Die meissten hier programmieren in C, Assembler oder Bascom.

Roland

Gil-Galad
18.03.2010, 18:10
Was ist dann am einfachsten zu lernen.
Muss wahrscheinlich aber später in der Programmiersprache
kompliztierter programmieren.
Sind verschiedene Programmiersprachen eigentlich mit eineander Kompitabel
und wenn ja wie macht man das am einfachsten
Mein Projet wird an verschiedene Schulen aufgeteilt und wir
kümmern uns ums fahrwerk wir Arbeiten mit dem Flughafen München zusammen.

Ls4
18.03.2010, 20:10
Hi Gil-Galad,

ich würde zu C tendieren.
Hier dann mal nach AVRGCC googlen. Das ist relativ einfach und sehr mächtig. Von Bascom gibt es umsonst nur eine Demo Version.
Wenns richtig schnell sein muss dann mit Assembler. Für das meiste genügt aber C

Viele Grüße,

Tim

Gil-Galad
18.03.2010, 20:20
Danke, Tim dann werde ich mir mal C anschauen
wie ist es mit dr zusammenarbeit zw zwei Programmiersprachen

Ls4
18.03.2010, 22:00
Das ist eine Nein, aber Antwort ;)
Prinzipiell können Programmiersprachen nicht zusammenarbeiten. Zumindest nicht einfach so. Im PC Bereich gibt es da Ansätze. Beim AVRGCC kannst du für besonders Leistungshungrige Programmteile inline Assembler verwenden bzw. Assembler Files einbinden. Das ist hier aber auch die einzige Möglichkeit, die ich kenne

Viele Grüße, Tim

Goblin
19.03.2010, 09:05
Mal so eine Grundsatzfrage: willst du einen Microcontroller programmieren oder soll das oben erwähnte Notebook auf deinem Roboter mitfahren und ihn steuern? In dem Fall würde ich Java nicht kategorisch ausschließen.

Rabenauge
19.03.2010, 09:57
Der NIBOee kann auch mittels der NanoVM in Java programmiert werden.
Ob das allzuviel Sinn macht??
http://www.nibo-roboter.de/wiki/NanoVM

Ls4
19.03.2010, 10:19
achso, das mit dem Notebook habe ich komplett überlesen.
Wenn du auf einem Notebook Roboter programmieren möchtest, dann muss man Java tatsächlich nicht ausschließen. Da gibts dann schon Möglichkeiten.
allerdings kommt es auch hier darauf an, was du machen möchtest.
Willst du alle Roboterkomponenten per I2C ansteuern gibt es inzwischen USB Sticks, mit entsprechenden Programmbibliotheken. An die Sticks kannst du Sensoren und Aktoren über den I2C Bus anschließen. Ich meine auch gelesen zu haben, dass es Java Bibliotheken für manche Sticks gibt. Da kenne ich mich aber nicht sonderlich aus.

In dem Falle ist Java sogar eine sehr schöne Lösung!

Mein Oben geschriebenes gilt nur für µC Speziell für AVRs

Viele Grüße,

Tim

Gil-Galad
19.03.2010, 12:39
das Notebook soll auf dem Roboter mitfahren.
Fazit:
-Programmiersprachen sind nicht kompitabel
-Bei Notebooks ist Java oder C eine gute Möglichkeit

Lisa12
29.03.2010, 13:15
achso, das mit dem Notebook habe ich komplett überlesen.
Wenn du auf einem Notebook Roboter programmieren möchtest, dann muss man Java tatsächlich nicht ausschließen. Da gibts dann schon Möglichkeiten.
allerdings kommt es auch hier darauf an, was du machen möchtest.
Willst du alle Roboterkomponenten per I2C ansteuern gibt es inzwischen USB Sticks, mit entsprechenden Programmbibliotheken. An die Sticks kannst du Sensoren und Aktoren über den I2C Bus anschließen. Ich meine auch gelesen zu haben, dass es Java Bibliotheken für manche Sticks gibt. Da kenne ich mich aber nicht sonderlich aus.

In dem Falle ist Java sogar eine sehr schöne Lösung!

Mein Oben geschriebenes gilt nur für µC Speziell für AVRs

Viele Grüße,

Tim

Eine Frage: Was wäre so ein Stick z.b. wie teuer wäre er? Ich habe ja das gleiche Problem: https://www.roboternetz.de/phpBB2/viewtopic.php?t=53451

wäre echt nett.

Gil-Galad
29.03.2010, 20:25
Hallo,
Schau mal was Jepp verwendet hat:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=53190

1018 - PhidgetInterfaceKit 8/8/8

Jepp
30.03.2010, 07:48
Guten Morgen,

Programmiersprachen sind miteinander kompatibel. Programmierst du deine Anwendung vorzugsweise in Java, willst aber nicht auf vorhandene C/C++ Implementierungen verzichten, kannst du per Java Native Interface (JNI) auf Funktionen z.B. der C/C++ dll zugreifen.

Du verlierst dadurch deine Java-Plattformunabhängigkeit. Abhilfe: Du kompilierst deinen C/C++ Code für die jeweiligen Systeme in greifst entsprechend auf den nativen Programmcode zu.
(Baust du einen Hobbybot mit einem System, ist der Plattformpunkt wahrscheinlich zu vernachlässigen.)