Hallo,
gibt es Roboter in der Art von z.B. LEGO Mindstorms
http://www.conrad.de/ce/de/product/1914 ... 3godxmUAmg
oder
ASURO http://www.conrad.de/ce/de/product/1914 ... 3godxmUAmg
die nicht in "C" sondern in "Python" werden können?
Ich meine auch nicht aufwendiges Gerät, das für Arbeiten im Haus oder als Spähdrohne benutzt wird, sondern als Lernspielzeug für Schüler so ab 10 Jahre?
Vergebens habe ich in http://bildungsserver.berlin-brandenbur ... _niko.html nach Niko oder Python-Niko gesucht, der Download für die Gesamtdokumentation funktioniert bei mir nicht.
Edit: Anscheinend handelt es sich bei Niko nur um einen Software- nicht um einen Hardwareroboter: http://kokavecz.kabelinternetdns.de:808 ... spiel.html
Roboter programmierbar in Python?
@siggi: Python ist für Microcontroller nicht wirklich geeignet, dazu braucht es in der Regel zu viel Speicher. Wenn man also nicht mit Python fernsteuern möchte, müsste man sich nach einem Roboter umschauen der mehr Rechenleistung und Speicher an Bord hat, oder einfach darauf umgerüstet werden kann. Zum Beispiel mit einem Beaglebone Black oder einem Raspberry Pi wo jeweils ein komplettes Linux drauf läuft. Wobei man so etwas vielleicht auch einfach auf einen Fernsteuerbaren draufsetzen kann, so dass die „Fern”steuerung direkt mit dem Roboter durch die Gegend fährt (oder läuft).
Sorry, bei Lego hatte ich einen Fehler gemacht, hier ist der richtige Mindstorms Link;
http://search-de.lego.com/?q=mindstorms&cc=DE
z.B. der hier:
http://shop.lego.com/de-DE/LEGO-MINDSTORMS-EV3-31313
http://search-de.lego.com/?q=mindstorms&cc=DE
z.B. der hier:
http://shop.lego.com/de-DE/LEGO-MINDSTORMS-EV3-31313
Gruss,
siggi
siggi
@BlackJack: danke, und ich hatte mir schon so was gedacht, da C wesentlich mehr in das Betriebssystem eines PC/Prozessors eindringt als Python. Nachdem ich mir die Bedienungsanleitung von ASURO
http://www.dlr.de/schoollab/Portaldata/ ... oboter.pdf
durchgelesen habe, werde ich wohl oder übel auch C lernen müssen, wenn unser Enkel mal so ein "Spielzeug" bekommen sollte (das man sich selbst zusammenbauen/löten muss/darf; aus handelsüblichen Teilen, finde ich gut).
Was LEGO Mindstorms betrifft, zeigt mir die Anleitung
http://www.lego.com/de-de/mindstorms/do ... -guides/de/
dass da nicht mit C sondern mit GUI-Programmblöcken gearbeitet wird, anscheinend ähnlich wie bei den Programmiersprachen Scratch oder Alice. Also auch nichts für Python mit Umwegen.
Schade
http://www.dlr.de/schoollab/Portaldata/ ... oboter.pdf
durchgelesen habe, werde ich wohl oder übel auch C lernen müssen, wenn unser Enkel mal so ein "Spielzeug" bekommen sollte (das man sich selbst zusammenbauen/löten muss/darf; aus handelsüblichen Teilen, finde ich gut).
Was LEGO Mindstorms betrifft, zeigt mir die Anleitung
http://www.lego.com/de-de/mindstorms/do ... -guides/de/
dass da nicht mit C sondern mit GUI-Programmblöcken gearbeitet wird, anscheinend ähnlich wie bei den Programmiersprachen Scratch oder Alice. Also auch nichts für Python mit Umwegen.
Schade
Gruss,
siggi
siggi
Mindstorms basiert auf LabView. Das ist wesentlich ausgereifter als Scratch oder Alice. Imo ist das ideal für Schüler, da man bei LabView nicht viel falsch machen kann und Fehler sofort angezeigt werden. Die Fehlermeldungen sind auch meist hilfreich. Python wird ein Krampf sein auch wegen debuggen etc. tut das dir und deinen Schülern bitte nicht an.siggi hat geschrieben:Was LEGO Mindstorms betrifft, zeigt mir die Anleitung
http://www.lego.com/de-de/mindstorms/do ... -guides/de/
dass da nicht mit C sondern mit GUI-Programmblöcken gearbeitet wird, anscheinend ähnlich wie bei den Programmiersprachen Scratch oder Alice. Also auch nichts für Python mit Umwegen.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Für Mindstorms gibt es doch eine (inoffizielle) Java-Schnittstelle; darüber könnte / sollte es doch möglich sein, mittels Jython zu programmieren.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
@siggi: Auf dem ASURO wird ein Atmel-AVR-Mikroprozessor eingesetzt, die sind so „klein” und „schwach” das dort kaum so etwas wie Abstraktion durch eine Betriebssystemschicht eingesetzt wird, geschweige denn moderne Hochsprachen. Dort läuft *ein* Programm direkt auf dem Prozessor, mit direktem Zugriff auf die Hardware in verhältnismässig wenig RAM und Flash-ROM. Da ist C eine naheliegende Wahl, weil die Sprache standardisiert ist, sehr hardwarenah, gleichzeitig aber recht portabel was die allgemeinen Spracheigenschaften angeht.
Beim ASURO wäre eine „Zusatzgehirn”-Lösung mit einem Embedded-Linux-System die eine serielle Schnittstelle oder USB hat möglich. Von Hardwareseite müsste man das nur auf den Roboter noch drauf setzen und für eine ausreichende Stromversorgung sorgen. Ein einfaches C-Programm in den AVR auf dem Roboter das ein serielles Protokoll anbietet um „remote” die Hardware ansprechen zu können und dann kann man die Steuerprogramme auch in Python schreiben.
Bei LEGO Mindstorms hast Du da nur die offizielle Programmierumgebung angeschaut. Es gibt durchaus Alternativen mit denen man auf der original Firmware programmieren kann, als auch alternative Firmware. Aber auch dort wäre Python höchstens syntaktisch möglich.
Beim ASURO wäre eine „Zusatzgehirn”-Lösung mit einem Embedded-Linux-System die eine serielle Schnittstelle oder USB hat möglich. Von Hardwareseite müsste man das nur auf den Roboter noch drauf setzen und für eine ausreichende Stromversorgung sorgen. Ein einfaches C-Programm in den AVR auf dem Roboter das ein serielles Protokoll anbietet um „remote” die Hardware ansprechen zu können und dann kann man die Steuerprogramme auch in Python schreiben.
Bei LEGO Mindstorms hast Du da nur die offizielle Programmierumgebung angeschaut. Es gibt durchaus Alternativen mit denen man auf der original Firmware programmieren kann, als auch alternative Firmware. Aber auch dort wäre Python höchstens syntaktisch möglich.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wenn du die Java-VM leJOS meinst, die ist ziemlich unbrauchbar für Jython, das ist sehr minimal damit da Java läuft, aber manchmal wenn man sich wundert warum etwas nicht geht und in den Quellcode guckt dann steht da einfach "TODO".Hyperion hat geschrieben:Für Mindstorms gibt es doch eine (inoffizielle) Java-Schnittstelle; darüber könnte / sollte es doch möglich sein, mittels Jython zu programmieren.
Aber die Mindstorms, die kann man doch vom PC aus mittels USB/Bluetooth einfach via Python fernsteuern?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Ich habe mich jetzt ein bißchen mit C beschäftigt, Konsole und Gui. Python ist ja um Welten einfacher!BlackJack hat geschrieben:@siggi: ...Da ist C eine naheliegende Wahl, weil die Sprache standardisiert ist, sehr hardwarenah, gleichzeitig aber recht portabel was die allgemeinen Spracheigenschaften angeht..
Gruss,
siggi
siggi
@siggi: Jau, das ist ja auch der Grund warum die Leute moderne Programmiersprachen mögen die sich um Speicherverwaltung selber kümmern, Ausnahmebehandlung kennen, und vernünftige Fehlermeldungen ausspucken statt sang und klanglos mit einer Speicherzugriffsverletzung¹ abstürzen wenn man etwas falsch macht.
Andererseits, wenn man nur ein paar Kilobyte RAM und (Flash-)ROM auf einem Mikroprozessor hat, dann ist C ganz brauchbar und zumindest ein bisschen einfacher als die Dinger direkt in Assembler zu programmieren.
¹ Oder mit einem Guru-Meditation-Error. Ich beschäftige mich gerade ein bisschen mit 'nem Amiga 500. Also ich den früher hatte, habe ich nur damit gespielt.
Andererseits, wenn man nur ein paar Kilobyte RAM und (Flash-)ROM auf einem Mikroprozessor hat, dann ist C ganz brauchbar und zumindest ein bisschen einfacher als die Dinger direkt in Assembler zu programmieren.
¹ Oder mit einem Guru-Meditation-Error. Ich beschäftige mich gerade ein bisschen mit 'nem Amiga 500. Also ich den früher hatte, habe ich nur damit gespielt.