Roboter

Du hast eine Idee für ein Projekt?
Herbertolo
User
Beiträge: 8
Registriert: Freitag 28. November 2008, 13:10

Roboter

Beitragvon Herbertolo » Freitag 28. November 2008, 13:14

Hey Jungs! Ich hab bald meine Jahresarbeit und habe mir überlegt einen simplen Roboter zu bauen und zu programmieren.
Habt ihr da irgendwelche ideen was da möglich ist?
Danke für die Hilfe!
MFG Herbert
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Beitragvon veers » Freitag 28. November 2008, 13:18

Kauf dir doch ein Lego Mindstorms set. Die sind lustig, haben alles was du brauchst und die Roboter kannst du auch vom PC aus mit Python steuern.

Die alternative wäre selber etwas mit Mikrokontroller zu bauen. Aber dann wirst du eher C und Assembler als Python verwenden.

- Jonas
My Website - 29a.ch
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Herbertolo
User
Beiträge: 8
Registriert: Freitag 28. November 2008, 13:10

Beitragvon Herbertolo » Freitag 28. November 2008, 13:39

veers hat geschrieben:Kauf dir doch ein Lego Mindstorms set. Die sind lustig, haben alles was du brauchst und die Roboter kannst du auch vom PC aus mit Python steuern.
- Jonas


Ist es leicht so einen Roboter zu programmieren?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: Roboter

Beitragvon gerold » Freitag 28. November 2008, 14:05

Herbertolo hat geschrieben:einen simplen Roboter

Hallo Herbert!

Willkommen im Python-Forum!

Wenn du so weit kommst, dass du mit Python einen Roboter steuern kannst, dann ist der Roboter kein "simpler Roboter" mehr. Mit Python kannst du z.B. eine Aufgabensteuerung schreiben. Aber die einzelnen Aufgaben musst du direkt an Mikrocontroller weitergeben, die die einzelnen Aufgaben in Echtzeit erledigen und dem Python-Programm Rückmeldungen liefern. Wie ich schon schrieb, wäre das aber kein simpler Roboter mehr, sondern schon ein richtig nettes großes Projekt.

Wenn du dir alles selber bauen möchtest und/oder die volle Kontrolle haben möchtest, dann solltest du dich mit Mikrocontrollern beschäftigen. Diese Mikrocontroller sind ICs mit eingebauter CPU und etwas Peripherie zum Steuern und Regeln.
Ich programmiere diese Mikrocontroller (kurz µC) z.B. mit Bascom. Mit diesen Mikrocontrollern kannst du Servos ansteuern, Motoren vor oder zurück laufen lassen. Schalter und Sensoren auswerten und noch viel mehr. Näheres dazu erfährst du hier: http://halvar.at/elektronik/kleiner_bascom_avr_kurs/

Kleine Roboter kannst du nur durch die Verwendung dieser µC erstellen. Dafür programmierst du jeden µC mit dessen Aufgabe. Wenn es etwas kontrollierter sein soll, dann kannst du die µC miteinander unterhalten lassen -- Daten von einem µC zum anderen µC übertragen. Und genau so, wie sich die einzelnen µC miteinander unterhalten können, kannst du Daten von einem PC an einen oder die µC schicken. Der PC verwaltet dann die Aufgaben, er verteilt sie und überwacht die Rückmeldungen. Das ist dann eine Arbeit die du mit Python erledigen kannst.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Herbertolo
User
Beiträge: 8
Registriert: Freitag 28. November 2008, 13:10

Re: Roboter

Beitragvon Herbertolo » Freitag 28. November 2008, 14:11

gerold hat geschrieben:
Herbertolo hat geschrieben:einen simplen Roboter

Hallo Herbert!

Willkommen im Python-Forum!

Wenn du so weit kommst, dass du mit Python einen Roboter steuern kannst, dann ist der Roboter kein "simpler Roboter" mehr.
mfg
Gerold
:-)


Ich glaube nicht das ich bis jetzt diese Erfahrung habe! Aber ich habe ja 1 Jahr zeit mich mit einem Roboter zu beschäftigen also dachte ich ich programmiere zuerst so einen simplen um Erfahrungen zu sammeln und wenn es mir nicht reicht und ich in python schon viel weiter bin wage ich mich an so was!
Würdest du das auch so machen oder dich gleich mit dem schwierigen dich befassen?
MFG
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Re: Roboter

Beitragvon veers » Freitag 28. November 2008, 14:17

gerold hat geschrieben:
Herbertolo hat geschrieben:einen simplen Roboter

Wenn du so weit kommst, dass du mit Python einen Roboter steuern kannst, dann ist der Roboter kein "simpler Roboter" mehr. Mit Python kannst du z.B. eine Aufgabensteuerung schreiben. Aber die einzelnen Aufgaben musst du direkt an Mikrocontroller weitergeben, die die einzelnen Aufgaben in Echtzeit erledigen und dem Python-Programm Rückmeldungen liefern. Wie ich schon schrieb, wäre das aber kein simpler Roboter mehr, sondern schon ein richtig nettes großes Projekt.
Wenn ich dich Richtig verstanden habe ist das für die Lego Plattform schon Größtenteils erledigt. Die Latenz ist jedoch ein Problem. :wink:
My Website - 29a.ch

"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Beitragvon cofi » Freitag 28. November 2008, 14:18

Herbertolo hat geschrieben:Ist es leicht so einen Roboter zu programmieren?


Das ist alles eine Frage der Anforderungen ;)

Wenn du z.B. einen Roboter bauen willst, der sich in einem gewissen Areal "selbstständig" bewegen soll um eine Aufgabe zu erfüllen, und dabei wissen soll wo genau er ist, kann das durchaus eine knifflige Sache werden - vor allem da gute Sensoren teuer und für Privatkunden nicht allzu leicht zu haben sind.

Aber wie Gerold schon sagte: Wenn du so weit bist, dass du Python darauf laufen lässt, dann ist das keine einfache Sache mehr - gibt es denn eine Python Portierung auf Microcontroller? - schliesslich braucht Python einen Unterbau und hat doch viel Overhead im Vergleich mit C / ASM.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: Roboter

Beitragvon gerold » Freitag 28. November 2008, 14:26

Herbertolo hat geschrieben:Würdest du das auch so machen

Hallo Herbert!

Ich würde damit anfangen wollen, etwas mit dem Computer zu steuern (z.B. LEDs). Dann würde ich einen µC mit dem Computer steuern, denn damit hat man schon sehr viele Möglichkeiten. Damit verbindet man die Möglichkeiten des µC mit der erweiterten Programmierbarkeit eines PCs.

Mit dem Parallelport kannst du so etwas z.B. machen:
http://www.python-forum.de/post-75211.html#75211

Mit dieser Doku bin ich zwar noch nicht fertig, aber das wäre der nächste Schritt:
http://halvar.at/elektronik/motorsteuer ... _attiny13/

Gleichzeitig würde ich mich in die Programmierung der AVR-Mikrocontroller etwas einarbeiten, damit ich wüsste, wie man mit diesen µC arbeiten kann. Z.B. wie man ein LCD anschließt und Text damit anzeigt, oder wie man das Drücken eines Tasters erkennt und darauf reagieren kann.

Für mich persönlich ist das ein Hobby mit enorm vielen Möglichkeiten. Denn so kann ich mit dem Computer nicht nur Zahlen und Bilder hin und her schupsen, sondern auch etwas in der realen Welt bewegen.

Nur mal so als Beispiel: Diese Hexapods werden mit einem oder mehreren Mikrocontrollern gesteuert: :-)
http://de.youtube.com/watch?v=-6g610buepo

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs

Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Herbertolo
User
Beiträge: 8
Registriert: Freitag 28. November 2008, 13:10

Beitragvon Herbertolo » Freitag 28. November 2008, 14:32

Ich glaube das ist mir noch bissel zu hoch! Ich glaube ich fange erstmal mit so einem kleineren an! Was hälst du von dem Lego Mindstorm?
Danach steige ich dann in die richtige Matierie ein!
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Freitag 28. November 2008, 14:40

cofi hat geschrieben:gibt es denn eine Python Portierung auf Microcontroller?

Hallo cofi!

Mit "avrpy" gab es mal einen Ansatz, aber das war nicht wirklich benutzbar. Und heute finde ich mit Google nicht mal mehr die Homepage dieses Projekts.

Was ich allerdings meinte war, dass man die Mikrocontroller die Echtzeitarbeiten erledigen lässt und diese µC mit einem kleinen Computer (es gibt genug kleine Embedded-Computer) ansteuert. So wird die komplexe Aufgabe (die Robotersteuerung) in kleine überschaubare Aufgaben aufgeteilt -- jeder µC hat seine Aufgabe, die vom Mini-PC kontrolliert wird. Das wäre mein Ansatz für einen Roboter. Niemals alles mit Gewalt in einen kleinen µC pressen, sondern die Aufgaben aufteilen und dann zentral/halbzentral verwalten.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs

Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Freitag 28. November 2008, 14:51

Herbertolo hat geschrieben:Was hälst du von dem Lego Mindstorm?

Hallo Herbert!

Kurze Antwort: Nichts!

Mit dem Wissen, das du dir mit dem Lego Mindstorm aneignest, kannst du später nichts oder nur wenig anfangen. Wenn dich später einmal jemand darum bittet, die Modelleisenbahn etwas zu automatisieren, dann kannst du das nicht mit dem Lego Mindstorm machen. Wenn du einen Motor regeln möchtest, dann kannst du das nicht mit dem Lego Mindstorm machen. Wenn du die Temperatur deines Computers in einem LCD anzeigen möchtest, dann kannst du das nicht mit dem Wissen machen, welches du durchs "Spielen" mit dem Lego Mindstorm vermittelt bekommst.
Befasst du dich aber ein paar Wochen/Monate mit Mikrocontrollern, dann kannst du das alles und noch viel mehr.
Willst du später einen kleinen Roboter bauen, dann musst du ja sowiso auf Mikrocontroller zurückgreifen. Denn ohne µC läuft bei Robotern gar nichts.

Aber ich will dich da jetzt nicht zu sehr beeinflussen.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs

Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Herbertolo
User
Beiträge: 8
Registriert: Freitag 28. November 2008, 13:10

Beitragvon Herbertolo » Freitag 28. November 2008, 14:57

Ich habe halt nicht so arg viel zeit bis ich die Arbeit fertig haben muss! Deswegen denke ich das ich dafür mal den Lego programmiere und dann für mich auf jedenfall mal mit diesen Microcontrollern anfange! Was hällste davon?
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Beitragvon veers » Freitag 28. November 2008, 16:01

Gerold hat geschrieben:Wenn du einen Motor regeln möchtest, dann kannst du das nicht mit dem Lego Mindstorm machen. Wenn du die Temperatur deines Computers in einem LCD anzeigen möchtest, dann kannst du das nicht mit dem Wissen machen, welches du durchs "Spielen" mit dem Lego Mindstorm vermittelt bekommst.
Das scheinen einige Institutionen anders zu sehen. Du hast recht das man mit den Legosteinen fast nichts über Elektronik lernt, über Robotik wohl schon. Zumindest wird damit auch an der ETH "gespielt" ;)

Die Resultate lassen sich auch sehen, hier zum Beispiel ein Barkeeperbot:
http://www.tik.ee.ethz.ch/tik/education ... llery.html
My Website - 29a.ch

"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Benutzeravatar
jonas
User
Beiträge: 156
Registriert: Dienstag 9. September 2008, 21:03

Beitragvon jonas » Freitag 28. November 2008, 16:30

Hi,
@Gerold:
Womit programmiert man diese Mikrocontroller (Sprache),
was kostet einer ungefähr bzw. welchen könntest du mir empfehlen?
Was sollte ich dazu kaufen um `wirklich`etwas ausprobieren zu können
LED's etc.?
Was brauch ich sonst noch habe nämlich keine Kenntnisse im Bereich
Elektronik / Schaltung / Digitalschaltung?
MfG Jonas
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Freitag 28. November 2008, 16:46

jonas hat geschrieben:Womit programmiert man diese Mikrocontroller
[...]
Was sollte ich dazu kaufen um `wirklich`etwas ausprobieren zu können

Hallo Jonas!

Stichworte und Links... sonst wird die Antwort zu umfangreich.

- C, Assembler oder Bascom. Ich empfehle Bascom http://mcselec.com/index.php?option=com ... &Itemid=41 außer du willst dich auf ein Hochschulstudium vorbereiten. Die lernen dort C und Assembler.
- Typischer Anfänger-µC ATmega8:
http://www.pollin.de/shop/shop.php?cf=d ... gwOTk4OTk=
- billiges Evaluationsboard:
http://www.pollin.de/shop/shop.php?cf=d ... Y5OTgxOTk=
- Wichtige Erweiterung für das Evaluationsboard:
http://www.pollin.de/shop/shop.php?cf=d ... Q5OTgxOTk=
- Elektronik-Einsteigerseite:
http://www.strippenstrolch.de/
- Parallelport-Programmer, mit dem man die AVRs flashen kann, falls man keinen guten RS-232 (mindestens -5 bis +5 V) mehr im Computer hat (Parallelport wird vorausgesetzt):
http://halvar.at/elektronik/motorsteuer ... mmer-bauen
- Damit habe ich angefangen:
http://halvar.at/elektronik/mikrocontro ... _anfangen/
- Ausgewählte Elektronik-Links:
http://halvar.at/elektronik/links/
- Einführung in die Programmierung dieser AVR µC mit Bascom:
http://halvar.at/elektronik/kleiner_bascom_avr_kurs/
- Das geht zwar über 10 Forenseiten, aber ein paar Informationen solltest du herauslesen können, wenn du dir etwas Zeit dafür nimmst:
http://www.loetstelle.net/forum/viewtopic.php?t=2371
EDIT: Schade, die Kessler-Links funktionieren nicht mehr. :-(

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs

Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder