Roboter

Du hast eine Idee für ein Projekt?
Nagila Hawa
User
Beiträge: 16
Registriert: Montag 9. Juni 2008, 18:20
Kontaktdaten:

Rebecca hat geschrieben:Leider ist vieles, was man so an Anleitungen, Literatur, fertigen Experimentierkaesten etc findet, Windows-spezifisch... :cry:
http://www.mikrocontroller.net/articles ... C-Tutorial

Was AVR und auch PIC angeht, bietet Debian z.B. einen ganzen Haufen Pakete an (und wie gewohnt mit Dokumentation), Ubuntu sollte auch davon profitieren. RPMs die gemäß Linux Standard Base gepackt sind, sollten auch auf RedHat, SuSe etc. laufen und zur Not kompiliert man sie sich eben selbst. Programmer und Evaluierungsboards würde ich sowieso eher bei den zahlreichen Nachbauern kaufen. Dort sind sie wesentlich günstiger, leisten das Gleiche und sind oftmals zur Verwendung mit freier Software gedacht.
http://shop.embedded-projects.net/index ... =2&cat=c10

Bascom würde ich eher weniger empfehlen. Ich würde gleich mit C arbeiten. Einen C-Compiler findest du für praktisch alle Prozessorarchitekturen und die meisten auch im GCC-Paket. Bascom ist zwar schön einfach, schränkt einen dann aber doch etwas ein.

Ohne Elektronikkenntnisse wird der Sprung von der Mikrocontrollerprogrammierung auf selbstgebaute Roboter jedoch schwierig. Ich würde fertige Roboter verwenden. Ein Klassiker unter den Robotern für Anfänger ist der Asuro:
http://de.wikipedia.org/wiki/ASURO
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Rebecca hat geschrieben:Leider ist vieles, was man so an Anleitungen, Literatur, fertigen Experimentierkaesten etc findet, Windows-spezifisch... :cry:
Eben deswegen Arduino, weil die nicht nur drauf achten dass es nicht Windows-spezifisch ist sondern auch Freie Software ist, was mir auch wichtig ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Herbertolo
User
Beiträge: 8
Registriert: Freitag 28. November 2008, 13:10

Was haltet ihr von diesem Robotter?
http://wiki.ubuntuusers.de/ASURO
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Herbertolo hat geschrieben:Was haltet ihr von diesem Robotter?
http://wiki.ubuntuusers.de/ASURO
Hallo Herbert!

Der Asuro ist ein kleiner Einsteigerroboter der sich mit Bascom programmieren lässt. Im RoboterNetz.de gibt es sogar ein eingenes Forum http://www.roboternetz.de/phpBB2/viewforum.php?f=44 dafür. Dort bekommst du Hilfe, wenn mal etwas nicht so klappt wie du das haben möchtest.
Das was du mit diesem Asuro lernst, könnte dir im späteren Leben wirklich was bringen, da du damit Techniken kennenlernst, die nicht nur in der Robotik Sinn machen. Du lernst damit ganz nebenbei, wie man etwas automatisiert, steuert, regelt -- wie man Schalterzustände erkennt, wie man einen Sensor ausliest und wie man Daten mit einem Computer austauscht.

- http://www.roboternetz.de/wissen/index.php/Asuro

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

Ja und würdest du dann in C Programmieren?
Kannst du mir ein Buch empfehlen in das ich mich dann reinarbeiten kann, damit ich das teil möglichst schnell unter Kontrolle bekomme?
MFG Herbert
Zuletzt geändert von Herbertolo am Montag 1. Dezember 2008, 22:04, insgesamt 1-mal geändert.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo Herbert!

Kannst du die Frage noch einmal überarbeiten, bitte?

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Rebecca hat geschrieben:Leider ist vieles, was man so an Anleitungen, Literatur, fertigen Experimentierkaesten etc findet, Windows-spezifisch... :cry:
Nachdem ich seit ein paar Jahren mit AVR arbeite empfehle ich sowieso den avrgcc zu verwenden. Den gibt es auch für Linux. Auf http://www.wiki.elektronik-projekt.de bastel ich an ein paar Anleitungen.

@Herbertolo: ich würde auch C empfehlen. Es macht zwar Anfangs erstmal mehr Arbeit, aber man hat einfach mehr Möglichkeiten. Wenn man sich an Propietäre Libraries wie die von Bascom bindet kann es auch mal in die Hose gehen. Hab ich selbst schon erlebt.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo!

C kann nichts was Bascom nicht auch könnte. Der Unterschied ist, dass Bascom zusätzlich zu allen Möglichkeiten auch einfach verwendbare Highlevel-Befehle zur Verfügung stellt, die einem als Hobbybastler das Leben um ein Vielfaches erleichtern. Man muss sie aber nicht verwenden. Man kann (wenn man will) mit Bascom auch alles selbst machen.

Für Anfänger und Hobbybastler empfehle ich uneingeschränkt Bascom. Wenn jemand vor hat in diese Richtung zu studieren oder nicht nur AVRs, sondern auch andere µC zu programmieren, dann empfehle ich C. Denn der Aufwand, C zu lernen und damit zum Ziel zu kommen ist doch etwas höher als bei Bascom.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Ok, die Diskussion ist jetzt etwas OffTopic.

@Gerold: Mit Bascom kann sicher viel machen und man erreicht auch schnell ein Ergebnis. Aber meine Erfahrungen mit solchen Compilern waren eher, das man schnell an ihre Grenzen stößt und sich dann trotzdem mit den Registern rumschlagen muss.

Die ganzen Funktionen sind nur so lange toll bis sie sich gegenseitig in die Quere kommen oder ähnliches. Ich hab mal mit AVRco gearbeitet und bin böse auf die Nase gefallen weil ich anfangs munter die ganzen mitgelieferten Libraries verwendet hab. Irgendwann kam ich damit nicht mehr weiter und musste dann alles selbst programmieren. Da hab ich alles in die Ecke geschmissen und hab den gcc verwendet.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo burli!
burli hat geschrieben:das man schnell an ihre Grenzen stößt
Man kann an die Grenzen der Highlevel-Befehle stoßen. Aber man kann nicht an die Grenzen von Bascom stoßen. Denn mit Bascom lässt sich alles machen, was man auch mit C machen kann. Man kann, gleich wie mit C, auch direkt auf die Register zugreifen und Teile des Programmes mit Inline-Assembler erweitern. Bascom wird kompiliert und liefert, genau wie C, einen Maschinencode, der direkt vom µC ausgeführt wird.
burli hat geschrieben:Die ganzen Funktionen sind nur so lange toll bis sie sich gegenseitig in die Quere kommen oder ähnliches.
Wenn man weiß, wie die Highlevel-Funktionen arbeiten, dann wird man so programmieren, dass sie sich nicht in die Quere kommen. Wenn man weiß, dass eine Highlevel-Funktion nicht unterbrochen werden darf, dann unterbindet man kurzzeitig die Interrupts. Wenn man weiß, dass eine Highlevel-Funktion in bestimmten Fällen etwas länger wartet und das Programm aufhält, dann wird man diese Funktion nicht in einer Schleife unterbringen in der es auf Zeit ankommt.

Je mehr man über Bascom und dessen Funktionen weiß, desto bessere Programme schreibt man damit. Und es gibt zwei gute deutschsprachige Bücher über die Programmierung mit Bascom. Das eine Buch erklärt mehr die Highlevelfunktionen und das andere Buch, wie man mit Bascom den µC voll ausnutzen kann. Es gibt mit Bascom keine Grenzen, die einem nicht der AVR-Mikrocontroller selbst vorgibt.

- http://rowalt.de/mc/avr/avrbuch/index.htm
- http://www.ckuehnel.ch/bcavr_buch2.htm

Mit Bascom hat man schon nach wenigen Stunden ein funktionierendes Programm zum µC übertragen. Während man bei C in dieser Zeit noch die Programme installiert und einrichtet, die dafür benötigt werden. C hat den entscheidenden Vorteil, dass man damit plattformunabhängiger programmieren kann. Und das beziehe ich jetzt nicht nur auf Windows, Linux und Mac, sondern auch auf die Zielcontroller. Wer einen AVR mit C programmieren kann, hat auch keine so großen Schwierigkeiten, einen AVR32 oder einen ARM mit C zu programmieren. Bascom ist hauptsächlich auf die ATtiny-, ATmega- und ATxmega-Familien begrenzt.

- http://www.atmel.com/dyn/products/param ... ection=ASC
- http://bascom-avr.de/Buch.aspx?ID=1
- http://bascom-avr.de/Buch.aspx?ID=2

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Arduino regelt zuoberst. Setzt zwar auf Java auf, läuft dafür aber unter Windows wie Linux (Rest nicht getestet/drüber gelesen). Wer den Willen mitbringt, kann auch Wrapper benutzen, um in Python oder Ruby zu programmieren.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

gerold hat geschrieben:C hat den entscheidenden Vorteil, dass man damit plattformunabhängiger programmieren kann.
Es hat noch einen weiteren entscheidenden Vorteil: es ist nicht propietär. Gerade wenn man noch keine Zeit und Energie investiert hat ist es IMHO sinnvoller auf etwas freies zu setzen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Ich muss Leonidas zustimmen. Die fertigen Bibliotheken sind gut und schön, aber sie haben ihre Grenzen. Außerdem ist Bascom nicht dafür berühmt den schnellsten Code zu erzeugen.

Früher oder später muss man sich mit den Innereien eines AVR auseinandersetzen. Wenn man das gleich von Anfang an macht tut's später nicht mehr so weh. Wenn man es einmal raus hat braucht man die fertigen Libraries nicht mehr.

Keine Frage, die Einstiegshürde bei C ist höher, man lernt viel mehr. Und was macht man wenn der Entwickler von Bascom keine Lust mehr hat? Dann steht man da. So sieht es wohl zb bei dem AtmanAVR aus. Das Projekt scheint gestorben zu sein. Wer das verwendet hat guckt jetzt in die Röhre.
Nagila Hawa
User
Beiträge: 16
Registriert: Montag 9. Juni 2008, 18:20
Kontaktdaten:

Bascom ist sicherlich wesentlich einfacher zu lernen als C, keine Frage. Bei C kann man jedoch auf eine riesige Auswahl von Beispielprogrammen zurückgreifen die es in der Menge und Vielfalt für Bascom nicht gibt und gerade zu Beginn sind die Webseiten anderer Hobbyentwickler mit den Beispielen eine große Hilfe. Die Einstiegshürde ist daher vielleicht höher, aber danach kann man sich mit viel bereits vorhandener Software die Arbeit erleichtern.

Auch sonst ist, gerade für Pyhton-Programmierer, C meiner Meinung nach eher einen Blick wert, als ein auf Mikrocontroller fokussierter Basic-Dialekt.

Die Beschränkung auf bestimmte Ziel-und Entwicklungsplattformen und die geringere Auswahl der Tools für Bascom kommt noch hinzu.
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

moin,

ich hatte mal mit dem velleman k8055 [1] einen lego roboter gebaut den man mit CMU sphinx [2] per sprachbefehlen steuern kann.
also der steuerprogamm laeuft auf einem computer und der k8055, ist auf dem roboter per usb angeschlossen und empfaengt die befehle.
moeglich waere es den openmoko freerunner [3] mit dem steuerprogramm auf dem roboter zu montieren.
ueber python kannst du den k8055 mit pyk8055 und python-k8055 steuern (ich empfehle letzteres)
mir ist es uebrigens gelungen python-k8055 auf einem freerunner mit qt extended (frueher qtopia) zu installieren. wahrscheinlich kannst du zum steuern also auch den greenphone (hat eine kamera) benutzen

die steuerskripte findest du hier:
und
http://paste.pocoo.org/show/33709/
http://paste.pocoo.org/show/33218/

statt den k8055 sollte man auch den IO-Warrior [5] benutzen koennen (statt eine ganze platine hast du nur einen chip)
unter windows war es moeglich mit ctypes den IOW24 [6] anzusteuern

du koenntest auch an den usb eingang/ausgang fuer eine webcam, statt dem steuermodul opfern und denn roboter ueber die unbenutzten, documentierten IO-Pins benutzen
(denn vibrator kannst du vieleicht mit einem servo austauschen)

[1] http://www.velleman.be/be/en/product/view/?id=351346
[2] http://cmusphinx.sourceforge.net/html/cmusphinx.php
[3] http://wiki.openmoko.org/wiki/Main_Page/de
[4] http://en.wikipedia.org/wiki/Greenphone
[5] http://www.codemercs.com/index.php?id=127&L=0
[6] http://www.codemercs.com/index.php?id=79


hoffentlich kann dieser post dich insperiern.....
auf jeden fall kann man so auf C verzichten und hatt ein ganzes betriebsystem um seinem roboter zu steuern....

:lol:
cp != mv
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

Ist es leicht so einen Roboter zu programmieren?
Ja, sicher, z. B. mit der Lego software oder NI labVIEW (ist halt mit symbolen), NXC (Fast C) ist dan zum schreiben.
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Py-Prog hat geschrieben:Ja, sicher, z. B. mit der Lego software oder NI labVIEW (ist halt mit symbolen), NXC (Fast C) ist dan zum schreiben.
Mein Gott, der Zombiemeister belebt längst verstorbene Threads wieder!
lunar

Py-Prog hat geschrieben:
Ist es leicht so einen Roboter zu programmieren?
Ja, sicher, z. B. mit der Lego software oder NI labVIEW (ist halt mit symbolen), NXC (Fast C) ist dan zum schreiben.
Uh, toller Trick: Du kannst längst tote Threads wieder zum Leben erwecken :roll:
funkheld
User
Beiträge: 258
Registriert: Sonntag 31. Oktober 2010, 09:26

Denn mit Bascom lässt sich alles machen, was man auch mit C machen kann.
Das ist eine glatte Lüge.
Ich progge seit 5 jahren mit Bascom und Winavrc.
Bascom raubt dir Interrupts , raubt dir Timer usw. wenn du bestimmte Befehle nutzt die schon Mundgerecht sind.

Bei Motorsteuerungen mit einem Pid-Regler scheitert Bascom kläglich.
Bei Videoprogrammierung scheitert Bascom kläglich.
Bei der Drehzahlregelung über Radencoder scheitert Bascom kläglich.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

lunar hat geschrieben:Uh, toller Trick: Du kannst längst tote Threads wieder zum Leben erwecken :roll:
Und jetzt auch noch Leichenschaendung. Oder Zombievergewaltigung? Hm. Schwierige Frage.
Antworten