Wo fange ich mit der Programmierung für die Robotik an? [closed]

Lesezeit: 6 Minuten

Ok, ich interessiere mich schon eine Weile für Robotik und hatte ein Projekt im Sinn. Bau eines kleinen ferngesteuerten Fahrzeugroboters/unbemannten Fahrzeugroboters. Hoffentlich mit der Fähigkeit, Daten von sensorischen Geräten (GPS, Thermometer usw.) einzulesen und die Daten auf eine Art Gerät zu schreiben. Die Idee(n) war(en) schon eine Weile auf der Strecke, bis ich gerade das Folgende las Artikel.

Also meine Frage ist diese. Wo soll ich anfangen. Ich habe absolut keine Erfahrung damit, außer ein paar Google-Suchen und meiner Projektidee. Ich würde gerne mit der Programmierung der Mikrocontroller-Boards herumspielen. Ich kenne einige Java .net-Sprachen und einige C.

Irgendwelche Hilfe, wo man anfangen soll?

Wie gestaltet man den Roboter, welche Schritte durchläuft man von Anfang bis Ende.

Vielen Dank.

  • Es fehlen einige wichtige Informationen: 1) Wie hoch ist Ihr Budget? 2) Interessieren Sie sich mehr für die Low-Level- oder High-Level-Aspekte bei der Herstellung eines Roboters (z. B. das Bauen und Programmieren Ihrer eigenen Motortreiber im Vergleich zu High-Level-Sachen wie? ZUSCHLAGEN)? 3) Wie steht es um Ihre Elektronikkenntnisse?

    – Staffan

    30. Juli 2010 um 15:13 Uhr


  • 1) bis zu 500 $, aber ich beginne lieber billiger. 2) Ich interessiere mich für die Low-Level-Seite der Dinge, aber ich würde sicher gerne sowohl High- als auch Low-Level-Programmierung ausprobieren. 3) Ich sage, Anfänger für elektronische Fähigkeiten

    – Julio

    30. Juli 2010 um 16:04 Uhr

Benutzer-Avatar
Matthäus Whited

Wenn Sie sich für die Programmierseite interessieren, können Sie mit etwas wie beginnen Lego MINDSTORMS. Wenn Sie mehr an der Elektronikseite interessiert sind, können Sie sich einige der Kits ansehen Parallaxe und Der Roboterladen.

Sie werden eine Mischung aus Sprachen und Plattformen vorfinden, also wählen Sie wirklich Ihre Lieblingssprachen aus und finden Sie etwas in Ihrer Preisklasse. Robotik kann sehr lustig sein (und sehr zeitaufwändig).

Übrigens, Sie können einen ziemlich coolen Roboter mit nur einem ferngesteuerten Auto und einem BASIC-Stempel. Und wenn Sie eine haben Parallelanschluss Auf Ihrem Computer können Sie Ihren Computer für noch mehr Leistung mit dem RC-Auto verbinden.

  • Ich mochte die Parallax-Kits nicht besonders. Sie sind nicht sehr flexibel, was den Roboter selbst betrifft (im Gegensatz zur Programmierung).

    – Joel

    30. Juli 2010 um 14:34 Uhr

  • Einige von ihnen sind vielleicht nicht sehr flexibel, aber sie sind gute Lernwerkzeuge.

    – Matthew Whited

    30. Juli 2010 um 14:46 Uhr

  • Was mir an Lego Mindstorms gefällt, ist, dass es einfach ist (Grundlagen per Drag-and-Drop und die Möglichkeit, andere Sprachen wie Java hinzuzufügen), außerhalb des Basiskits billig erweiterbar ist (nur ein einfaches Lego-Set) und Spaß macht.

    – DerLQ

    31. Juli 2010 um 0:55 Uhr

Benutzer-Avatar
Joel

Lego Mindstorms ist ein überraschend robustes System, mit dem Sie sich mehr auf das konzentrieren können, was Sie eigentlich erreichen möchten. Es gibt Systeme, mit denen Sie in einer anderen Sprache programmieren können als in der visuellen Sprache, die mit dem Kit geliefert wird, was ich bevorzugt habe.

Oder Sie können ein Starter-Kit von erhalten ÄRGERN, die entweder einen PIC oder einen Cortex-Mikrocontroller zusammen mit einem Programmiersystem enthalten wird. Das VEX-Kit ist wie ein Erector-Set mit Gehirnen und Motoren. 🙂

  • Ich habe Vex verwendet, und es ist ein schreckliches System, gegen das man programmieren kann.

    – DerLQ

    31. Juli 2010 um 0:53 Uhr

Das Arduino ist ein sehr beliebte Plattform unter Hobbyisten. Es ist im Grunde eine programmierbare Platine mit mehreren Ein- und Ausgängen. Ich empfehle dringend, damit zu beginnen, da es einfach zu bedienen und groß ist Gemeinschaft unterstützen.

Arduino ist eine Open-Source-Elektronik-Prototyping-Plattform, die auf flexibler, benutzerfreundlicher Hardware und Software basiert. Es ist für Künstler, Designer, Bastler und alle gedacht, die daran interessiert sind, interaktive Objekte oder Umgebungen zu erstellen

Mehrere Leute haben Tutorials zum Bau von Robotern mit einem Arduino als Controller erstellt. Dieses ist ziemlich cool.

Robocode ist ein Robotik-Simulationsspiel, aber es ist ein guter Ausgangspunkt für einen Java-Entwickler.

Ich kann auch die Bücher Linux Robotics: Programming Smarter Robots und Robot Builder’s Bonanza für wirklich gute Start-to-Finish-Anleitungen zum Bauen und Programmieren von Robotern empfehlen.

Myke Predko hat auch ein gutes Buch namens Programming Robot Controllers.

Benutzer-Avatar
Vokinneberg

Microsoft hat Robotocs-Entwicklerstudio.

Benutzer-Avatar
Scott

Kleine Einrichtung zum Installieren, aber dies sollte Ihnen viele Einblicke in das bieten, was Sie lernen möchten, und echte Übung zum Lesen von Robotersensoren, Interagieren mit ihrer Umgebung usw. bieten.

http://playerstage.sourceforge.net/

Sie bieten ein Java-Framework (getrennt vom offiziell unterstützten Framework) an, das über eine eigene Sun-Java-Dokumentation verfügt.

http://sourceforge.net/projects/java-player/files/

Da Sie ein ferngesteuertes Fahrzeug wünschen, das sich fortbewegen kann, benötigen Sie offensichtlich eine Art Motoren. Ich gehe davon aus, dass dies der Fall sein wird Differentialantrieb Fortbewegung, da dies am einfachsten zu bauen und sehr einfach zu kontrollieren ist.

Die einfachste Möglichkeit ist, ein Paar kontinuierliche Hobby-Servos zu bekommen. Sie sind billig (10 $ und mehr) und einfach durch PWM zu fahren (das Tastverhältnis steuert die Geschwindigkeit). Wenn Sie es ein wenig steigern möchten, können Sie ein Paar DC-Motoren und Encoder erhalten. Sie benötigen zusätzliche Schaltungen, um sie anzusteuern, aber Sie können diese fertig kaufen.

Wenn Sie nicht möchten, dass es angebunden ist, benötigen Sie auch Batterien und eine Art Radio an Bord. Wenn Sie damit einverstanden sind, nicht alles von Grund auf neu zu machen, ist WiFi meiner Meinung nach die einfachste Lösung, da Sie keine zusätzliche Ausrüstung auf dem Computer benötigen, den Sie verwenden. Es neigt jedoch dazu, Ihren “Computer” und Ihre Softwareoptionen einzuschränken (Sie möchten zB Linux darauf ausführen).

Sie benötigen eine MCU/ein Board mit:

  • PWM, zum Ansteuern Ihrer Servos/Motoren
  • A/D, wenn Sie analoge Sensoren haben
  • Ein Haufen digitaler I/Os für sowas
  • Integriertes WLAN oder eine Möglichkeit, Ihre WLAN-Karte anzuschließen (USB, Mini-PCI)
  • SPI/I2C und UARTs für verschiedene Peripheriegeräte

USB-Host-Signale haben den zusätzlichen Vorteil, dass es einfach ist, billige Kameras anzuschließen.

So etwas wie die Roboard genau das Richtige (sie verkaufen auch eine Mini-PCI-WLAN-Karte). Es bietet viel Rechenleistung (und im Gegensatz zu vielen einfacheren Boards verfügt es über eine FPU!), verfügt über zahlreiche Anschlussmöglichkeiten, einschließlich USB, und wird mit einer Benutzerbereichsbibliothek zur Steuerung der Peripheriegeräte geliefert. (Haftungsausschluss: Ich habe es nicht selbst getestet.)

Es ist nicht die billigste Hardware, die Sie bekommen können, aber sie sollte Platz zum Wachsen haben, wenn Sie die rechenintensiveren Teile der Robotik (wie SLAM, Computer Vision und Bewegungsplanung) ausprobieren möchten. Auf der anderen Seite müssen Sie dafür keinen Programmierer/Debugger bauen.

Wenn Sie lieber einfach anfangen möchten, holen Sie sich ein günstigeres Board wie das Arduino dass jemand, der bereits erwähnt wurde, eine bessere Option sein könnte. Die Verwendung eines Simulators ist auch gut, um die Softwareaspekte zu testen, bevor Sie in Hardware investieren.

Wo Sie auf der Softwareseite beginnen, hängt davon ab, woran Sie interessiert sind.

  • Ich sollte auch hinzufügen, dass C++ in der (akademischen) Robotik-Community ziemlich dominant ist, also möchten Sie sich vielleicht ein bisschen besser damit vertraut machen oder auch nicht.

    – Staffan

    31. Juli 2010 um 14:58 Uhr


1379470cookie-checkWo fange ich mit der Programmierung für die Robotik an? [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy