Robotik ist eines dieser unglaublich interessanten Gebiete, das Designprinzipien aus mehreren Disziplinen vereint. Beispiele hierfür sind maschinelles Lernen/KI, Edge-Computing, Computer Vision, Motorsteuerung, Sensorfusion, drahtlose Kommunikation und vieles mehr. Im Herzen all dieser Anwendungen befindet sich ein MCU, SoC, FPGA oder eine andere Verarbeitungseinheit sowie die Firmware, die sie antreibt.
Wenn Sie gerade erst damit beginnen, Robotiksysteme zu entwerfen und den MCU-Weg einschlagen möchten, haben Sie wahrscheinlich bereits mit der Suche nach dem besten MCU für Robotikanwendungen begonnen. Es gibt keinen einzelnen MCU, der objektiv der beste für jedes Robotersystem ist, aber bestimmte Spezifikationen sind in verschiedenen Arten von Robotern wichtiger. Lassen Sie uns einige der gängigen MCUs für kleinere Roboter betrachten und welche Spezifikationen Sie beim Auswählen eines MCU beachten sollten.
Obwohl es keinen einzelnen besten MCU für Robotik gibt, werden bestimmte MCUs für verschiedene Arten von Robotern besser geeignet sein. Es hängt alles davon ab, die Spezifikationen des MCU auf die Anforderungen des Systems oder Subsystems abzustimmen. Bevor Sie einen MCU für Ihre Anwendung auswählen, sollten Sie sich einige der folgenden Fragen stellen:
Systemhauptteil oder Subsystem? Wenn Sie einen einfachen Roboter mit begrenzten Sensoren und Peripheriegeräten entwerfen, wird ein einzelner MCU die Arbeit erledigen. Sie könnten auch einen Einplatinencomputer (SBC) verwenden (Raspberry Pi und BeagleBone sind beliebte Wahlmöglichkeiten). Wenn Sie den Hauptteil eines Robotiksystems entwerfen, könnte die Verwendung eines SBC einfacher sein, und die Subsysteme können kleinere MCUs verwenden.
Erforderliche I/O-Anzahl und Schnittstellen. Je nachdem, wie Ihr MCU mit Peripheriegeräten oder Motorsteuerungen in Ihrem Roboter kommunizieren soll, müssen Sie dessen I/O-Anzahl und verfügbare Low-Speed/High-Speed-Schnittstellen überprüfen.
Taktfrequenz. Dies wird wichtiger, je mehr Daten Ihr Roboter auf dem Gerät verarbeiten muss. Derzeit führen eingebettete Geräte nur einfache Berechnungen auf dem Gerät durch; der Rest wird in einer Cloud-Umgebung ausgeführt. Einfache ML-Modelle könnten mit einem schnellen MCU ausgeführt werden, aber Sie erhalten mehr Rechenressourcen, wenn Sie etwas Leistungsfähigeres verwenden (siehe unten).
SDK und Entwicklerunterstützung. Sie müssen Ihren MCU programmieren, daher sollte jede Komponente, die Sie wählen, ein SDK vom Hersteller zur Verfügung haben. Es schadet nie, ein Entwicklerboard zu kaufen und Ihre Anwendung während der Entwicklung zu testen.
Drahtlose Fähigkeiten. Ihr Roboter muss möglicherweise über WiFi, Bluetooth, LoRaWAN oder ein anderes Protokoll mit einem größeren Netzwerk interagieren. Einige MCUs enthalten integrierte Transceiver, die für den Betrieb auf diesen und anderen Protokollen erforderlich sind.
Es gibt eine Reihe von MCUs, die einige oder alle der oben genannten Anforderungen erfüllen, von denen viele unterschiedliche Ebenen der Entwicklerunterstützung bieten (sowohl vom Hersteller als auch von der Open-Source-Community). Arduino ist wohl die beliebteste Reihe von MCU-Boards für einfachere Roboter. Ein Arduino-Board oder ein Entwicklerboard für Ihren speziellen MCU ist ein guter Ausgangspunkt, um Ihre Anwendung zu entwickeln, während Sie Ihre benutzerdefinierte Hardware entwerfen.
Der ESP32 MCU von Espressif ist eine ausgezeichnete Option für einfachere Robotiksysteme (Entwicklungsboard hier gezeigt).
Nicht viele Komponenten werden speziell für den Einsatz in der Robotik beworben, hauptsächlich weil die Branche noch wächst. Jedoch sind MCUs und andere Prozessoren, die für den Automobilbereich oder die industrielle Automatisierung vermarktet werden, ideal für den Einsatz in der Robotik. Komponenten für diese Anwendungen werden nach hohen Zuverlässigkeitsstandards gebaut und beinhalten Sicherheitsfunktionen, die ideal für Robotiksysteme sind.
Wenn Sie nicht gerade einen relativ einfachen Roboter mit einer begrenzten Anzahl von Sensoren oder Untersystemen entwerfen, werden Sie nicht nur eine einzige MCU zur Steuerung Ihres Systems verwenden. Andere MCUs werden involviert sein, um Steuerung und Verarbeitungsleistung für verschiedene Untersysteme zu bieten. Wenn Sie ein gesamtes System und nicht nur ein Untersystem entwerfen, müssen Sie eine Master-MCU wählen, um Daten von anderen Untersystemen zu empfangen und Befehls- und Steuerungsfunktionen zu bieten. Für kommerziell tragfähige Anwendungen ist es möglich, dass Sie überhaupt keine MCU verwenden; sie bieten einfach nicht die erforderliche Rechenleistung.
SRAM-basierte oder Flash-basierte FPGAs sind eine Alternative zu MCUs, da sie bei Bedarf über einen externen Kommunikationsport neu programmiert werden können. FPGAs haben auch eine hohe I/O-Anzahl und schnelle Takte, was sie zu einer guten Wahl für die hochrangige Verarbeitung von Daten macht, die von anderen Untersystemen empfangen werden. Als Beispiel hat Xilinx eine Reihe von FPGAs speziell für die Robotik entwickelt, obwohl diese einen hohen Preis haben und am besten für hochrangige Verarbeitung und Steuerung verwendet werden.
Der Xilinx XC7Z030-1FBG676C wurde speziell für Robotiksysteme entworfen. Diese Komponente beinhaltet mehrere Hochgeschwindigkeitsschnittstellen (CSI, PCIe, DDR) und läuft bis zu 1 GHz.
Eine weitere großartige Alternative zu einem FPGA oder MCU für hochrangige Verarbeitungsleistung ist die Verwendung eines MPU, wie die Sitara-Prozessorreihe von Texas Instruments. Die Sitara-Reihe umfasst eine Reihe von Optionen, die die für komplexe Robotiksysteme erforderliche hochrangige Verarbeitungsleistung bieten. Die MPUs in dieser Reihe laufen bis zu 1,5 GHz und beinhalten mehrere Hochgeschwindigkeitsschnittstellen, die man in einem Einplatinencomputer erwarten würde. Sie kommen auch zu einem niedrigeren Preis als vergleichbare FPGAs.
Computer-on-Module für den AM3352BZCZ080 von Texas Instruments.
Eine andere Option für Rechenleistung in Robotik-Subsystemen ist eine GPU, insbesondere für die Integration von Computer Vision und maschinellem Lernen/KI-Anwendungen. Meiner Meinung nach beansprucht die Jetson-Plattform von NIVIDIA den Spitzenplatz in diesem Bereich und ist bereits in der Maker-Community für KI-Anwendungen, die Computer Vision beinhalten (Objektidentifikation, Bildsegmentierung, Objektverfolgung usw.), beliebt. Es gibt auch reichlich Entwicklerunterstützung aus der Open-Source-Community, um Designern den Einstieg mit der Jetson-Plattform zu erleichtern.
Jeder Roboter wird eine Reihe von Subsystemen benötigen, um alles von der Leistungsregelung bis zur drahtlosen Kommunikation zu ermöglichen. Hier sind einige andere Komponenten, die Sie wahrscheinlich in Subsystemen für große und kleine Roboter benötigen werden:
Da die Robotikindustrie reift und bestimmte Anwendungen prominent werden, werden Sie wahrscheinlich eine Reihe von nicht-FPGA-basierten SoCs von großen Komponentenherstellern sehen. Wenn neue SoCs für die Robotik veröffentlicht werden, wird Octopart hier sein, um Ihnen zu helfen, die Komponenten zu finden und zu kaufen, die Sie benötigen.
Wenn Sie nach dem besten MCU für die Robotik oder anderen Komponenten suchen, die Sie für Robotiksysteme benötigen, versuchen Sie, die erweiterten Such- und Filterfunktionen von Octopart zu nutzen, um die Komponenten zu finden, die Sie benötigen. Die elektronische Teilesuchmaschine von Octopart bietet Ihnen eine komplette Lösung für die Beschaffung und das Lieferkettenmanagement von Elektronik, und Sie können Suchergebnisse einfach nach Lebenszyklus, Spezifikationen und Preis filtern. Werfen Sie einen Blick auf unsere Seite mit integrierten Schaltkreisen, um die Rechenleistung zu erhalten, die Ihre Roboter benötigen.
Bleiben Sie mit unseren neuesten Artikeln auf dem Laufenden, indem Sie sich für unseren Newsletter anmelden.