PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Was brauche ich eigentlich?



tintenfrosch
22.07.2011, 20:30
Hallo alle zusammen,

Ich habe C# gelernt und gelesen das ich damit auch roboter programmieren kann.
Meine Frage lautet: Was brauche ich eigentlich alles um einen Roboter zu bauen und zu programmieren.
Der Roboter soll sich vorerst halt bewegen können und einen steuerbaren arm haben.
Ich habe erweiterte Grundkenntnisse in C# -> nutzt mir das was? (Kann ich damit meinen roboter programmieren?)

danke im vorraus
tintenfrosch

Kampi
22.07.2011, 20:42
Werkzeug, Lötkolben, paar Bücher über Mikrocontroller und/oder Internet, einen PC, ein Programmiergerät und Lernwillen :)

tintenfrosch
22.07.2011, 20:47
Was meinst du mit einem Programmiergerät? Meinst du ne fernbedienung? kann ich das nich über den PC machn.
Bringt mir die Sprache C# was?

021aet04
22.07.2011, 20:56
Wilkommen im Forum
Wenn du ein PC Programm schreiben kannst, kannst du relativ schnell ein Programm für einen µC (Mikrocontroller) schreiben. Diese µC sind u.A. in den Robotern verbaut. Es ist nur zu beachten, dass man einzelne Register hat, damit man etwas einstellt bzw verwenden kann. Der Begriff Roboter ist ein Sammelbegriff. Es gibt sehr viele Unterkategorien wie z.B. Fahrzeuge jeglicher Art (mit Ketten, Rädern,...) aber auch humanoide Roboter (=menschenähnlich), fliegende Roboter (Tricopter, Quadrocopter,...), Spinnenähnliche Roboter (z.B. Hexapod), Roboterarme wie z.B. in der Industrie und noch weitere.

µCs werden aber nicht nur in Robotern eingesetzt sondern in den meisten Geräten von einfachen (wie z.B. Uhr/Wecker) bis zu komplizierten (Messgeräte, Fotoapparat). Je nach Anforderung gibt es verschiedene µC (versch. Pin Anzahl, Speichergröße, Hardwareausstattung,...)

Wenn du einen Roboter mit Räern haben willst wird oft der Asuro bzw RP5/RP6 empfohlen, aber ich habe keine Erfahrung damit. Den Arm müsstest du aber selbst bauen. Einen Roboter mit Arm kenne ich nicht, vielleicht gibt es aber soetwas.

PS: Mit einem Programmiergerät überspielst du das Programm, das du erstellt und kompiliert (aus einem C Programm ein für den µC lesbares Programm übersetzen) hast auf den µC.

MfG Hannes

tintenfrosch
22.07.2011, 20:59
Hallo,

ja also es soll vorertst ein fahrender roboter wahrscheinlich auf Ketten werden.
Ich hatte sowiso vor alles selberzubauen, also auch das fahrgestell und so weiter ;)
Kann ich diese C Dinger denn mit c# programmieren?

Besserwessi
22.07.2011, 21:06
Die Sprache C# setzt eine recht umfangreiche Laufzeitumgebung voraus, z.B. .NET unter Windows. Das ist also im wesentlichen für Programme die auf dem PC oder einem ähnlichen Computer laufen sollen. Gerade neuere PCs ohne LPT Schnittstelle sind weniger für die direkte Steuerung geeignet.

Für einen Mikrocontroller wird man eher in C, ggf. noch in C++ Programmieren. Die Sprachen sind als Vorgänger von C# zusehen und entsprechend ähnlich. Da hilft es schon wenn man C# kann, reicht aber noch nicht aus. Das erlernen einer weiteren Programmiersprache ist meist auch nicht so schwer, wie bei der ersten.

Einen einfachen, aber wohl eher schwachen Arm könnte man mit Modelbau Servos aufbauen.

tintenfrosch
22.07.2011, 21:17
Also was sagt ihr is die ideale Sprache um einen roboter zu programmieren?
Und wie sieht so ein Programmiergerät aus?
Ist es auch möglich sowas über Funk zu steuern?

021aet04
22.07.2011, 21:33
Zwischen der Programmierung eines µCs bzw Roboters (überspielen des Programmes auf den µC) und der Steuerung des Roboters ist ein großer Unterschied. Das Programmiergerät ist nur dazu da ein geschriebenes Programm auf den µC zu senden. Wenn das Programm einmal auf dem µC ist ist es gespeichert und wird ausgeführt (solange Spannung anliegt) bis du den µC neu programmierst. Den Roboter steuern kannst du je nach Programmierung des µC über verschiedene Schnittstellen (Funk, IR,....).

Eine ideale Sprache für die Programmierung gibt es nicht. Es gibt verschiedene Programmiersprachen für µC von Assembler (ASM) über C, Java,... bis zu Bascom (Basic ähnlich). Ich persöhnlich arbeite mit C, da ich es in der Schule gelernt habe. Je nach µC hast du die Programmiersprache. Es gibt versch. Hersteller vonµC und je nachdem gibt es versch. verwendbare Sprachen.

MfG Hannes

tintenfrosch
22.07.2011, 21:41
okay
mit was für Kosten muss ich denn für den bau eines einfachen roborters rechnen?

021aet04
22.07.2011, 21:55
Je nachdem wie du die Teile auswählst und ob du ein fertiges Board o.Ä. kaufst. Je größer der Roboter, desto stärker werden die Teile (Motor, Motoransteuerung,...), desto teurer wird der Roboter. Du könntest schauen ob du etwas passendes auf www.robotikhardware.de findest. Programmiergeräte gibt es auch verschiedene. Ich verwende das USB AVR Lab von www.ullihome.de . Der ist sehr günstig und hat den Vorteil dass du verschiedene Firmwares draufspielen kannst.

MfG Hannes

shedepe
23.07.2011, 17:49
Wenn du wirklich in C# / .Net programmieren willst dann schau dir das Netduino an. Das kann in C# programmiert werden.
Mit Kenntnissen in C# kannst du aber auch recht leicht in C einsteigen. Man muss sich nur dran gewöhnen, dass es z.B. keine Objektorientierung oder Eventbasierteprogrammierung möglich ist.

tintenfrosch
12.09.2011, 20:34
So nach entwas längerer Zeit melde ich mich auch mal wieder.
Könnte mir einer von euch mal eine liste machen, wo drin steht was ich ALLES für den Anfang brauche. Der Roboter soll vorwärts rückwärts lenken können und noch so ein paar möglichkeiten für zusätzliche funktionen wie licht haben.
Ich würde diesen gerne per fernbedienung oder WLAN steuern.
Ich lerne zur Zeit C#. Ich hab gelesen das das geht. Wirklich?

LG Paul

PoWl
13.09.2011, 06:56
Hey Paul ;)

Ich glaube du baust dir da in deine Welt grade so die Vorstellung auf, dass du einfach nur n paar Fertigteile zusammenschraubst, dann ganz einfach mit C# ein paar Befehle verknüpfst und schon macht der Robo über WLAN (eine der Königsdisziplin, entsprechende Soft- & Hardware vorausgesetzt ;-) ) was du im zusteuerst.

Da du hier fragst was du so ALLES für den Anfang brauchst solltest du uns erstmal sagen, was du schon so für Erfahrungen mit Elektronik/Programmierung hast.

Warum hast du eigentlich C# gelernt um Robos zu programmieren und fragst dann erst, ob sich das überhaupt eignet?^^

Grüße, Paul

tintenfrosch
13.09.2011, 15:56
Hallo
Ersteinmal danke für deine Antwort.
Zuerst zu C#.
Das habe ich gerlernt weil ich bis jetzt programme für den pc gemacht habe und diese mir dazu empfohlen wurde.
Das mit den Fertigteieln möchte ich definitiv nicht. Denn einen Bausatz will ich nicht. Ich will mir halt selber Gedanken machen, wie ich etwas lösen kann. Ich weis halt nicht wie ich da anfangen brauch und was ich da für den Anfang brauch. Ich hab auch schon mal im inet gesucht, jedoch finde ich da immer nur fertige Roboter wo man nur noch anklicken muss was der machen soll - und genau das will ich nicht. Mit dem WLAn muss auch (ersteinmal) nicht sein. Allerdings würde ich gern wissen welche möglichkeiten es gibt den roboter zu steuern.
Erfahrung hab ich mit Robotern noch keine. Mit Elektronik - ich hab eine modellbahn zu hause weis also über schaltkreise etc. schon etwas bescheit. Programmierung naja es geht ich bekomm schon ein paar Programme zusammen - jedoch denke ich nicht das das so das problem ist denn zur eigentlichen Programmierung gibt es im Inet was.

Edit: Kann ich einen Roboter auch mit einem Programm vom PC aus steuern also zum beispiel mit einem button für licht etc.?

LG Paul

shedepe
13.09.2011, 16:31
Man kann einen Roboter vom PC aus steuern, allerdings benötigst du immer ein entsprechendnes Programm im Roboter, das die Befehle umsetzt. Eine fertige Bauteilliste für einen Roboter den man mit C# programmieren kann gibt es meiner Erkenntnis nach nicht. Wie ich oben allerdings schon geschrieben habe kann man mit Vorkenntnissen in C# ohne Probleme C lernen.

PoWl
13.09.2011, 16:36
OK, ja für PC-Programme hätt ich dir zum Einstieg auch C# empfohlen!
Also irgendwie wirkt das noch alles etwas so wie als bist du noch blutiger Anfänger ;) Ist ja nicht schlimm, waren wir alle mal, aber als Anfänger muss man auch mal klein anfangen. Zuerstmal solltest du dir Gedanken drüber machen, was dein Robo so alles können soll. Ob er irgendwie nützlich sein soll oder ob du ihn einfach nur just4fun aufbaust weils dir Spaß macht. Dann solltest du dir gedanken machen wie er funktioniert.. eher so ein Krabbeltier oder irgendwas mit rädern. Wie soll er gesteuert werden? Willst du ein kleines Mikrocontroller-Board verwenden (sowas wie Arduino) oder willst du dir komplett selbst eine Mikrocontroller-Platine designen/löten? Solles überhaupt ein Mikrocontroller werden oder lieber so ein kleines Board mit Linux? Oder soll der garnicht intelligent sein sondern nur irgendwie wie ein RC-Car irgendwie fernsteuerbar sein? Soll er an nem Kabel hängen oder soll alles über Funk gehen?

Da gibts vielfältige Möglichkeiten. Prinzipiell ist es natürlich möglich sich über RS232 oder USB ne Funkfernsteuerung für irgendwas zu bauen. Die Software kannst du relativ einfach mit C# schreiben und so gestalten wie du Lust hast.

Besserwessi
13.09.2011, 16:53
Der Schritt von C# nach C ist nicht besonders groß. Ein Großteil des C-Codes ist auch gültiger C# Code, nur das man in C# teils bessere Methoden zur Verfügung hat. Da ist der Umstieg vom PC zum µC wahrscheinlich schon größer, weil man beim µC direkt auf die Hardware zurückgreift und nicht auf Struchturen der Laufzeitumgebung (z.B. .net). Wenn man mag kann man am µC auch C++ nutzen - das könnte aber ggf. auch mehr verwirren. Außerdem ist da die Unterstützung nicht so gut.

tintenfrosch
14.09.2011, 18:20
OKay danke :)

kann mir mal einer n beispiel für ne controllplatine schicken, oder werden da welche von zb robotikhardware oder so genommen??

Paul

shedepe
14.09.2011, 19:46
Entweder du nimmst die einfache Lösung - Eine fertige Controllerplatine wie z.B. das RN-Control, oder du baust dir selber ein Board zusammen. Dafür kannst du z.B. hier schauen:
http://www.rn-wissen.de/index.php/AVR-Einstieg_leicht_gemacht

oberallgeier
14.09.2011, 19:54
... kann mir mal einer n beispiel für ne controllplatine schicken, oder werden da welche von zb robotikhardware oder so genommen ...Softwarebeispiele gibt es zu fast allen (fertigen) Controllerplatinen. Du musst dort nur reinschauen, denn es macht wenig Sinn, Dir hier für alle möglichen Modelle Software bereitzustellen. Da die RNControl eben angeführt wurde . . . hier (klick) (http://www.rn-wissen.de/index.php/RN-Control) gibts etwas unten Software dafür. Funktionierende.

tintenfrosch
16.09.2011, 22:27
Hallo,

ich soetwas hier mit einer platine gemeint?

http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=64&products_id=238

LG Paul

shedepe
16.09.2011, 23:27
Naja ich meinte eher das hier:
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=10
Dazu findest du auch ne Menge Hilfe und Informationen im Forum.

Du solltest dir trotzdem vorher mal genau Gedanken machen WAS dein Roboter können soll.