La robotique est l'un de ces domaines incroyablement intéressants qui fusionne les principes de conception de plusieurs disciplines. Parmi les exemples, citons l'apprentissage automatique/l'IA, l'informatique en périphérie, la vision par ordinateur, le contrôle moteur, la fusion de capteurs, la communication sans fil, et bien plus encore. Au cœur de toutes ces applications se trouve un MCU, un SoC, un FPGA ou une autre unité de traitement, ainsi que le firmware qui le fait fonctionner.
Si vous commencez tout juste à concevoir des systèmes robotiques et que vous souhaitez emprunter la voie des MCU, vous avez probablement commencé à chercher le meilleur MCU pour les applications robotiques. Il n'existe pas de MCU unique qui soit objectivement le meilleur pour chaque système robotique, mais certaines spécifications sont plus importantes dans différents types de robots. Examinons certains des MCU courants pour les petits robots et les spécifications auxquelles vous devriez prêter attention lors de la sélection d'un MCU.
Bien qu'il n'existe pas de MCU unique idéal pour la robotique, certains MCU seront mieux adaptés à différents types de robots. Tout dépend de l'adéquation des spécifications du MCU aux exigences du système ou du sous-système. Avant de sélectionner un MCU pour votre application, vous devriez vous poser certaines des questions suivantes :
Maître du système ou sous-système ? Si vous concevez un robot simple avec un nombre limité de capteurs et de périphériques, un seul MCU fera l'affaire. Vous pourriez également utiliser un ordinateur à carte unique (SBC) (Raspberry Pi et BeagleBone sont des choix populaires). Si vous concevez la partie maîtresse d'un système robotique, il peut être plus facile d'utiliser un SBC, et les sous-systèmes peuvent utiliser des MCU plus petits.
Nombre d'E/S requis et interfaces. Selon la manière dont vous souhaitez que votre MCU communique avec les périphériques ou les commandes moteur de votre robot, vous devrez vérifier son nombre d'E/S et les interfaces à basse/haute vitesse disponibles.
Vitesse d'horloge. Cela devient plus important à mesure que votre robot doit traiter plus de données sur l'appareil. Actuellement, les dispositifs embarqués ne font fonctionner que des calculs simples sur l'appareil ; le reste est exécuté dans un environnement cloud. Des modèles ML simples pourraient être exécutés avec un MCU rapide, mais vous obtenez plus de ressources de calcul si vous utilisez quelque chose de plus puissant (voir ci-dessous).
SDK et support développeur. Vous devrez programmer votre MCU, donc tout composant que vous choisissez devrait avoir un SDK disponible auprès du fabricant. Cela ne fait jamais de mal d'acheter une carte de développement et de tester votre application pendant le développement.
Capacités sans fil. Votre robot devra peut-être se connecter à un réseau plus large via WiFi, Bluetooth, LoRaWAN ou un autre protocole. Certains MCU incluent des émetteurs-récepteurs intégrés nécessaires pour fonctionner sur ces protocoles et d'autres.
Il existe une gamme de MCU qui satisfont certaines ou toutes les exigences ci-dessus, beaucoup offrant différents niveaux de support développeur (à la fois du fabricant et de la communauté open-source). Arduino est sans doute la ligne de cartes MCU la plus populaire pour les robots plus simples. Une carte Arduino ou une carte de développement pour votre MCU particulier est un bon point de départ pour développer votre application pendant que vous concevez votre matériel personnalisé.
Le MCU ESP32 d'Espressif est une excellente option pour des systèmes de robotique plus simples (carte de développement montrée ici).
Peu de composants sont spécifiquement annoncés pour une utilisation en robotique, principalement parce que l'industrie est encore en croissance. Cependant, les MCU et autres processeurs commercialisés pour l'automobile ou l'automatisation industrielle sont idéaux pour une utilisation en robotique. Les composants pour ces applications sont construits selon des normes de fiabilité élevées et incluent des fonctionnalités de sécurité idéales pour les systèmes de robotique.
À moins que vous ne conceviez un robot relativement simple avec un nombre limité de capteurs ou de sous-systèmes, vous n'utiliserez pas un seul MCU pour contrôler votre système. D'autres MCU seront impliqués pour fournir le contrôle et la puissance de traitement pour divers sous-systèmes. Si vous concevez un système entier, plutôt qu'un simple sous-système, vous devrez choisir un MCU principal pour recevoir les données des autres sous-systèmes et fournir les fonctions de commande et de contrôle. Pour des applications commercialement viables, il est possible que vous n'utilisiez pas du tout de MCU ; ils n'offrent tout simplement pas la puissance de calcul requise.
Les FPGA basés sur SRAM ou Flash sont une alternative aux MCU car ils peuvent encore être reprogrammés au besoin via un port de communication externe. Les FPGA ont également un nombre élevé d'E/S et des horloges rapides, ce qui en fait un bon choix pour le traitement de haut niveau des données reçues d'autres sous-systèmes. À titre d'exemple, Xilinx a développé une ligne de FPGA spécifiquement pour la robotique, bien que ceux-ci aient un prix élevé et soient mieux utilisés pour le traitement et le contrôle de haut niveau.
Le Xilinx XC7Z030-1FBG676C a été conçu spécifiquement pour les systèmes de robotique. Ce composant inclut de multiples interfaces à haute vitesse (CSI, PCIe, DDR) et fonctionne jusqu'à 1 GHz.
Une autre excellente alternative à un FPGA ou MCU pour la puissance de traitement de haut niveau est d'utiliser un MPU, tel que la ligne de processeurs Sitara de Texas Instruments. La ligne Sitara comprend une gamme d'options qui fournissent la puissance de traitement de haut niveau requise pour des systèmes de robotique complexes. Les MPU de cette ligne fonctionnent jusqu'à 1,5 GHz et incluent de multiples interfaces à haute vitesse que vous vous attendriez à trouver dans un ordinateur monocarte. Ils sont également proposés à un prix inférieur à celui des FPGA comparables.
Module informatique pour le AM3352BZCZ080 de Texas Instruments.
Une autre option pour la puissance de traitement dans les sous-systèmes robotiques est un GPU, particulièrement pour intégrer la vision par ordinateur et les applications d'apprentissage automatique/IA. À mon avis, la plateforme Jetson de NIVIDIA occupe la première place dans ce domaine et est déjà populaire dans la communauté des makers pour les applications d'IA impliquant la vision par ordinateur (identification d'objets, segmentation d'image, suivi d'objets, etc.). Il y a également beaucoup de soutien de la part de la communauté open-source pour aider les concepteurs à démarrer avec la plateforme Jetson.
Tout robot nécessitera une gamme de sous-systèmes pour permettre tout, de la régulation de puissance aux communications sans fil. Voici d'autres composants que vous aurez probablement besoin dans les sous-systèmes pour les robots grands et petits :
Au fur et à mesure que l'industrie de la robotique mûrit et que certaines applications commencent à devenir prédominantes, vous verrez probablement une gamme de SoC non basés sur FPGA lancés par les principaux fabricants de composants. À mesure que de nouveaux SoC pour la robotique sont lancés, Octopart sera là pour vous aider à trouver et acheter les composants dont vous avez besoin.
Si vous recherchez le meilleur MCU pour la robotique ou tout autre composant dont vous avez besoin pour les systèmes robotiques, essayez d'utiliser les fonctionnalités de recherche avancée et de filtrage sur Octopart pour trouver les composants dont vous avez besoin. Le moteur de recherche de pièces électroniques d'Octopart vous offre une solution complète de sourcing électronique et de gestion de la chaîne d'approvisionnement, et vous pouvez facilement filtrer les résultats de recherche par cycle de vie, spécifications et prix. Jetez un œil à notre page de circuits intégrés pour la puissance de traitement dont vos robots ont besoin.
Restez à jour avec nos derniers articles en vous inscrivant à notre newsletter.