Wie bauen Sie Ihren eigenen Roboter der laufen kann
Machen Sie sich Ihr eigenes Gehen, Reden, Leben…..Roboter
Als ich diesen Blog schrieb, explodierte Raspberry Pi auf der Szene und überraschte alle mit dem schieren Volumen der Leute, die es kaufen wollten. Viele Leser werden eine Weile warten müssen, um einen zu bekommen, also warum nicht die Zeit nutzen, um etwas interessantere Projekte zu untersuchen, als nur Spiele zu schreiben? Wie wäre es, wenn man einem humanoiden Laufroboter etwas Künstliche Intelligenz gibt……..
Roboter: Die Wahrheit
Ich habe neulich einen interessanten Blog-Post gelesen, der auf einen weltweiten Rückgang des Interesses an Robotik hinweist. Der Autor war zu diesem Schluss gekommen, indem er die Anzahl der Treffer bei Google für das Wort „Robotik“ jetzt mit denen vor einigen Jahren verglichen hatte. Es gab einen großen Rückgang. Robotik ist jedoch ein „Sonderfall“, denn ich glaube, dass die öffentliche Faszination für das Thema ungebrochen ist und jeder Interessenverlust bei den Mitarbeitern vor Ort liegt. Das Konzept eines künstlichen Menschen hat nie seinen Einfluss auf die öffentliche Vorstellungskraft verloren, und Science-Fiction-Autoren sind immer bestrebt geblieben, den Wunsch zu nutzen, dass der Mensch ein fühlendes Leben schafft.
Aber sicher bin ich in die Welt der Künstlichen Intelligenz abgetrieben, weg von der Robotik? Das ist das Problem: Die beiden sind im Kopf eines Laien untrennbar miteinander verbunden, denn das fiktive Bild ist eine von einer selbstbewussten Intelligenz in einem übermenschlichen Körper, der unter den schlimmsten Umweltbedingungen arbeiten kann. In der Praxis wurden große Fortschritte auf der mechanischen und niedrigen Steuerungsseite von humanoiden Robotern gemacht, aber die Intelligenz, naja…….
Ich fürchte, Nummer 5 lebt immer noch nicht. Künstliche Intelligenz oder KI war in den 1980er Jahren das Große Ganze und Konzepte wie Künstliche Neuronale Netze versprachen viel, lieferten aber am Ende wenig. Ich erinnere mich, dass ein Projekt ein ANN betraf, das sich den Videofeed von einer Plattformkamera in der Londoner U-Bahn „ansah“. Es war „gelehrt“ worden, einen von drei Ausgängen zu erzeugen: Plattform leer von Menschen, Plattform halb voll und Plattform voll. Interessant, aber weit weg vom Terminator. Die KI ist immer noch im Stadium des Bedarfs an enormer Computerleistung, um etwas zu erreichen, das anfängt auszusehen, als ob es sich wie das Gehirn….eines Insekts verhalten könnte. Schauen Sie sich meinen Blogbeitrag zum Projekt SpiNNaker an, das 1 Million ARM-Core-Prozessoren verwenden wird.
Roboter und Künstliche Intelligenz (KI)
Die KI ist wirklich jenseits derjenigen mit kleinen Budgets, obwohl es viel zu tun gibt, um die Konzepte zu verstehen, ohne die Bank zu brechen. Dieses Elektor-Buch enthält praktische, praktische Einführungen in viele Bereiche der KI. Es ist jedoch möglich, einige ziemlich „clevere“ Nicht-AI-Hardware herzustellen: Nehmen Sie sich die Zeit, sich Videoclips von Robotik-Fußballern bei RoboCup-Wettbewerben anzusehen. Erinnern Sie sich, wie sich humanoide Spielzeug-Roboter auf eine sehr unnatürliche Weise bewegten, und als sie fielen oder umgeworfen wurden, konnten sie sich nicht mehr erholen? Die Dinge haben sich geändert. Außerdem braucht man nicht die Finanzen von Sony oder Honda, um einen beeindruckend realistischen „Walker“ zu bauen, der mit unebenen Oberflächen zurechtkommt und aufsteht, wenn er das Gleichgewicht verliert. Eigentlich genieße ich es, wenn sie sich nach einem Sturz mehr erholen als das Spiel selbst. Auf dieser Ebene fehlt der „Intelligenz“ im Allgemeinen eine Lernfähigkeit und sie stützt sich auf vorprogrammierte Reaktionen auf Sensoreingaben.
Also, wenn Sie Ihren eigenen Walker bauen wollen, was brauchen Sie an Hardware? In Bezug auf die Prozessorleistung reicht ein einfacher Mikrocontroller (MCU) aus, um etwas über den Boden zu schleppen. Ein moderner 16 oder 32-Bit-Typ verfügt über genügend Speicher und Verarbeitungsgeschwindigkeit, um sowohl High-Level- als auch Low-Level-Funktionen zu verarbeiten. Ein Beispiel für eine Low-Level-Funktion ist ein Servomotortreiber: Er nimmt einen High-Level-Befehl wie’30 Grad drehen‘ und übersetzt ihn in die notwendigen Zahlen für die PWM-Einheit im Mikrocontroller. High-Level-Funktionen kombinieren Sensoreingaben mit einer Karte der bekannten Umgebung und des Missionsprofils, um die entsprechenden Befehle für die Low-Level-Funktionen zu erzeugen.
Funktionsweise und Technik
Wie bereits erwähnt, ist der beste Motor für kleine humanoide Roboter ein Standard RC-Servo, da die Gelenke keine vollständige 360-Grad-Drehung benötigen und die meisten modernen MCUs mindestens sechs PWM-Ausgangskanäle haben – ein Kanal pro Servo. Handelsübliche Mechatronik-Karten bringen diese in der Regel auf handelsübliche 3-polige Servostecker heraus.
Das nächste wesentliche Gerät für einen Walker ist ein 3-achsiger Beschleunigungssensor. Früher sehr teuer, sind diese heute in Chipform sehr günstig. Warum brauchst du es? Denn so kann man das menschliche Gehen simulieren, indem man die Neigung des Roboterkörpers misst. Außerdem kann der Roboter im Falle eines Sturzes seine Position bestimmen und herausfinden, wie er sich selbst aufrichten kann.
Wie baut man einen Roboter?
Also, wo soll man anfangen? Wie funktioniert es nun? Jeder will einen eigenen Roboter bauen.
Es stehen eine Reihe von Mechatronikkarten mit den oben genannten Komponenten zur Verfügung oder mit separaten Einsteckmodulen für Beschleunigungssensoren. Der Cerebot MC7 basierend auf einem dsPIC33 verfügt über jeweils 8 Servostecker und Buchsen zur Aufnahme ihrer Pmod-Module, einschließlich eines Beschleunigungssensors. Eine weitere Option ist das Freescale Tower Mechatronik-Board mit einer Coldfire MCU, 8 Servoanschlüssen, Touch-Sensor und einem 3-achsigen Beschleunigungssensor. Nur der Job. Und wenn Sie möchten, dass ein grundlegender Satz Mechanik dazu passt, gibt es auch einen Roboterkit. Ich habe letzteres vor einigen Monaten in einem Blogbeitrag überprüft und auf einige Probleme hingewiesen, aber festgestellt, dass das kostenlose Robot Vision Toolkit und die Programmiersprache RobotSee auf dem Mechatronik-Board sehr gut funktioniert haben.
Um die Vorteile der Cloud-Entwicklungsumgebung mit ihren kostenlosen Online-Tools von mbed zu nutzen, empfehle ich das Cortex-M3-Modul (mit sechs PWM-Ausgängen) und ein SparkFun ADXL345 Beschleunigungssensor-Modul. Das mbed Cookbook verfügt über die dafür notwendigen Softwaretreiber und eine ganze Reihe von Peripheriegeräten einschließlich RC-Servos.
Schließlich, was ist, wenn Sie einige wirklich komplexe Algorithmen mit einer KI implementieren wollen? Verschieben Sie die High-Level-Funktionen auf einen schnellen Single-Board-Computer (SBC) mit Linux oder einem RTOS und verwenden Sie beispielsweise den USB-Anschluss für die Befehlskommunikation mit dem nun Low-Level-Prozessor. Forscher in der Robotik verwenden für diese Aufgabe oft einen Notebook-Computer, obwohl das für einen kleinen Laufroboter etwas sperrig sein kann. Auf dem Markt gibt es viele geeignete SBCs wie BeagleBoard und den neuen Raspberry Pi.