Table of Contents
Quels sont les systèmes embarqués?
Contrairement aux ordinateurs de bureau ou aux ordinateurs portables, les systèmes embarqués sont conçus pour des tâches spécifiques, optimisés pour le traitement en temps réel, une faible consommation d'énergie et une grande fiabilité. Ils combinent généralement un microprocesseur ou un microcontrôleur avec des interfaces mémoire, entrée/sortie et parfois logique programmable, tous intégrés dans une seule carte ou puce.
Dans la robotique moderne, ces systèmes sont essentiels pour permettre aux robots de fonctionner efficacement, avec précision et de manière autonome. Les robots intègrent plusieurs unités intégrées pour gérer la détection, le traitement, l'actionnement et la communication. Le couplage étroit entre le matériel et les logiciels dans les systèmes intégrés permet aux robots de réagir aux changements environnementaux en microsecondes, une capacité que les ordinateurs à usage général ne peuvent pas correspondre en raison de leur surcharge des systèmes d'exploitation et de multitâche.
Le rôle critique des systèmes embarqués en robotique
Dans la robotique, les systèmes embarqués servent de ][][[[système nerveux] de la machine. Ils gèrent les capteurs, les moteurs, les actionneurs et la distribution d'énergie tout en exécutant des boucles de commande en temps réel.
Les systèmes embarqués permettent aux robots d'interpréter les données de leur environnement et de prendre des décisions en conséquence.Cette intégration permet une opération autonome, la précision et l'adaptabilité dans des tâches complexes telles que l'assemblage, la chirurgie, la logistique d'entrepôt et l'exploration planétaire.
Fonctions clés des systèmes embarqués dans les robots
- Sensation: Collecte de données à partir d'une grande variété de capteurs, y compris des caméras, LiDAR, capteurs à ultrasons, gyroscopes, accéléromètres, capteurs de force et capteurs de température.
- Processus: Analyse des données de capteur pour comprendre l'environnement. Cela peut impliquer l'exécution d'algorithmes de vision informatique, la détection d'obstacles, la localisation et la cartographie (SLAM), ainsi que l'inférence AI sur les réseaux neuronaux.
- Acturation: Moteurs de commande, servomoteurs, actionneurs pneumatiques et systèmes hydrauliques. Les systèmes embarqués génèrent des signaux de modulation de la largeur d'impulsion (PWM), gèrent les boucles de commande PID pour une position/vitesse/torque précise et gèrent les séquences de freinage de sécurité.
- Communication: Échange de données avec d'autres sous-systèmes du robot, avec des stations de base externes ou avec d'autres robots. Les protocoles communs comprennent le bus CAN, EtherCAT, SPI, I2C, UART, Wi-Fi, Bluetooth et 5G. Les systèmes embarqués sont responsables de la paquetisation des données, de la vérification des erreurs et du maintien de la synchronisation entre les nœuds distribués.
- Gestion de la puissance:[ Surveillance des niveaux de batterie, gestion des cycles de charge et distribution de l'énergie efficacement à différents composants.
Types de systèmes embarqués utilisés en robotique
Les applications robotiques utilisent une variété d'architectures de systèmes embarquées, chacune adaptée à des rôles différents:
- Microcontrôleurs (MCUs):[ puces à faible coût et à faible puissance avec mémoire intégrée et périphériques. Exemples: ARM Cortex-M, AVR et PIC. Ils sont idéaux pour la lecture simple des capteurs, le contrôle LED et le contrôle moteur de base. La plupart des robots amateurs utilisent des MCU.
- Microprocesseurs (MPU) et System-on-Chips (SoCs):[ puces haute performance exécutant des systèmes d'exploitation complets comme Linux ou RTOS. Exemples: ARM Cortex-A série, Intel Atom, et SoC personnalisés comme NVIDIA Jetson ou Raspberry Pi. Ils traitent des tâches complexes telles que la navigation, le traitement de la vision et la prise de décision de haut niveau.
- Field-Programmable Gate Arrays (FPGAs): Logique numérique reconfigurable pouvant être programmée pour effectuer des opérations parallèles au niveau du matériel. Les FPGA sont utilisés pour le traitement des capteurs à grande vitesse (par exemple, filtrage de données LiDAR, traitement des cadres de caméra) et pour la mise en œuvre de protocoles de communication personnalisés avec une latence extrêmement faible.
- Processeurs de signaux numériques (DSPs):[ Spécialisés pour les tâches de traitement de signaux telles que le filtrage audio, l'analyse des vibrations et le contrôle moteur avancé.
- Maîtrises en temps réel:[ Des puces ou des modules dédiés conçus pour garantir une réponse en microsecondes. Ils sont souvent utilisés dans des applications critiques pour la sécurité comme la chirurgie robotique ou l'automatisation industrielle où l'absence d'un délai pourrait causer des dommages ou des blessures.
Contraintes en temps réel et comportement déterministe
Un robot doit lire les capteurs, calculer les sorties de commande et envoyer des commandes aux actionneurs dans un cycle de commande fixe (par exemple, 1 ms pour un contrôleur de joint à grande vitesse). Le non-respect de ces délais peut entraîner une instabilité, des collisions ou même une défaillance du système.
Pour atteindre un comportement déterministe, les systèmes embarqués exécutent souvent un système d'exploitation en temps réel (RTOS) comme FreeRTOS, VxWorks ou QNX. Contrairement aux systèmes d'exploitation à usage général, un RTOS fournit un calendrier de tâches prévisible et une préemption fondée sur les priorités.
Dans les systèmes en temps réel difficiles, une échéance manquée est considérée comme une défaillance du système. Par exemple, les contrôleurs moteurs d'un bras robotique ou le contrôleur de vol d'un drone. Dans les systèmes en temps réel souples, les délais parfois manqués sont acceptables mais dégradent les performances, comme dans un robot alliant ou un système de logage.
Co-conception de logiciels pour la robotique
Le développement de systèmes intégrés efficaces pour la robotique nécessite la co-conception du matériel et des logiciels. Les ingénieurs doivent envisager des compromis entre la puissance de calcul, la consommation d'énergie, la taille, le poids et le coût.
- Décharger un calcul lourd sur des accélérateurs dédiés:[ Par exemple, utiliser un FPGA pour préprocéder les données de la caméra avant de l'envoyer au processeur principal, ou utiliser une unité de traitement neuronal (NPU) pour l'inférence d'IA embarquée.
- Fonctions de partage entre un processeur de haut niveau et des microcontrôleurs de bas niveau:[ Un SoC central gère la navigation et la planification, tandis que les MCU dédiés gèrent le contrôle moteur et les boucles de sécurité.
- Utiliser une couche d'abstraction matérielle (HAL):[ Pour rendre le logiciel portable à travers différents microcontrôleurs, les systèmes d'exploitation robot comme ROS 2 fournissent l'abstraction matérielle, mais les développeurs intégrés écrivent souvent des HAL personnalisés pour découpler le code d'application de matériel de puce spécifique.
- Intégration de la fusion des capteurs sur une seule puce:[ Combiner les données de plusieurs capteurs (p. ex. IMU, odométrie, GPS) au niveau matériel pour réduire la latence et améliorer la précision avant de passer l'état fusionné à des couches logicielles plus élevées.
Cette approche de co-conception est essentielle pour atteindre les performances et la fiabilité exigées par les applications robotiques modernes, en particulier dans des environnements non structurés et dynamiques.
Systèmes embarqués en navigation autonome
La navigation autonome est l'une des tâches les plus exigeantes pour les systèmes embarqués en robotique. Elle implique la localisation et la cartographie simultanées (SLAM), la planification du trajet, l'évitement des obstacles et le contrôle.
La fusion de capteurs est une fonction particulièrement importante exercée par les systèmes embarqués. Par exemple, un filtre Kalman ou un filtre Kalman étendu (EKF) est mis en œuvre directement sur un MCU ou un FPGA pour combiner des lectures bruyantes provenant de plusieurs capteurs et produire une estimation claire de la position et de l'orientation du robot. Cette fusion doit se produire à des vitesses de 100 Hz ou plus pour assurer une navigation fluide et sûre.
Les algorithmes SLAM en temps réel sont de plus en plus exécutés sur des GPU ou des NPU intégrés. La famille NVIDIA Jetson et le Google Coral Edge TPU sont des exemples de plateformes intégrées qui peuvent exécuter des pipelines SLAM complets à faible puissance. Ces plateformes permettent aux robots de construire et de mettre à jour des cartes d'environnements inconnus sans compter sur des ressources informatiques externes.
Les piles de communication embarquées jouent également un rôle dans la navigation. Pour la robotique à essaims (p. ex., flottes de drones), les systèmes embarqués doivent gérer le réseautage ad hoc, la synchronisation et l'évitement des collisions grâce à des protocoles comme MAVLink ou des piles personnalisées basées sur UDP. La communication déterministe et à faible latence fournie par les microcontrôleurs embarqués est essentielle au maintien de la formation et de la sécurité.
Sécurité et fiabilité dans les systèmes robotisés embarqués
Les systèmes embarqués sont au cœur des mécanismes de sécurité tels que les arrêts d'urgence, la limitation du couple et la détection des collisions. Pour assurer la sécurité fonctionnelle, les systèmes embarqués doivent être conformes aux normes ISO 13849 (machine) ou IEC 61508 (général).
Les minuteurs de surveillance sont une caractéristique matérielle commune dans les MCU embarqués qui réinitialisent le système si le logiciel est suspendu. Pour la robotique, des concepts de sécurité plus avancés comme les coprocesseurs de sécurité sont utilisés.
Le firmware à sécurité de la batterie est conçu pour mettre le robot dans un état sûr connu lors de la détection d'erreurs – par exemple, arrêter tout mouvement et activer les freins.
La sécurité est une autre préoccupation croissante. Les systèmes embarqués dans les robots peuvent être des cibles pour les cyberattaques qui pourraient modifier les commandes de contrôle ou voler des données.
Efficacité énergétique et gestion thermique
Les robots mobiles comptent sur les batteries, ce qui fait de l'efficacité énergétique un objectif majeur de conception. Les systèmes embarqués sont optimisés pour consommer une puissance minimale tout en répondant aux exigences de performance.
- Tension dynamique et échelle de fréquence (DVFS): Courir le processeur à une vitesse et une tension inférieures lorsque la pleine performance n'est pas nécessaire.
- Modes de sommeil et réveil: De nombreux microcontrôleurs peuvent entrer dans des états de sommeil profonds en attendant l'interruption d'un capteur, coupant la consommation de courant aux microamplis.
- Périphériques efficaces:[ Utilisation de DMA (Accès à la mémoire directe) pour transférer des données sans intervention du processeur, et utilisation d'accélérateurs matériels pour des tâches répétitives.
- Récolte d'énergie:[ Dans certains robots autonomes, les systèmes embarqués gèrent les circuits de récolte d'énergie (solaire, vibration, sans fil) pour compléter les batteries ou même fonctionner indéfiniment.
La gestion thermique est également importante. Les processeurs embarqués génèrent de la chaleur et les corps robotisés compacts peuvent avoir peu de flux d'air. Les concepteurs utilisent des dissipateurs thermiques, des vias thermiques et parfois un refroidissement actif (petits ventilateurs ou refroidissement liquide) commandés par des capteurs de température intégrés et des régulateurs de ventilateur.
Exemples de systèmes embarqués en robotique moderne
Les robots utilisés dans la fabrication, la santé, l'exploration et le service reposent fortement sur des systèmes embarqués :
- Robots industriels: Les robots ABB, KUKA et Fanuc utilisent des contrôleurs embarqués pour des mouvements précis sur les lignes de montage. Chaque joint a un microcontrôleur dédié qui fonctionne en temps réel des boucles PID, tandis qu'un PC central intégré se déplace et communique avec les systèmes d'automatisation d'usine via EtherCAT. Lien externe: ABB Industrial Robotics.
- Robots médicaux: Le système chirurgical de da Vinci utilise des systèmes embarqués hautement spécialisés pour la rétroaction haptique et le contrôle précis des instruments. Plusieurs FPGA et DSP traitent des flux vidéo et des données de capteur à faible latence pour assurer des manœuvres sûres à l'intérieur du corps. Lien externe: Intuitive Surgical – da Vinci.
- Exploration Robots: Mars rovers comme Perseverance dépend de systèmes embarqués pour la navigation, la collecte de données et la communication avec la Terre. Un processeur embarqué à rayonnement (le RAD750) exécute un firmware personnalisé pour contrôler les roues, les bras et les instruments scientifiques du rover. Lien externe : NASA Mars 2020 Rover Electronics.
- Drones et UAV: Les drones consommateurs comme DJI Mavic et les drones industriels utilisent des contrôleurs de vol embarqués (p. ex., microcontrôleurs STM32 fonctionnant avec PX4 ou ArduPilot) qui traitent les données IMU, le GPS et le flux optique pour maintenir une stabilité de vol. Ils gèrent également la communication radio et le contrôle gimbal de la caméra.
- Robots collaboratifs (Cobots): Robots universels et Robotique Repenseur ont développé des robots qui utilisent des capteurs de force/torque embarqués et limiteurs de couple de sécurité. Le système de contrôle embarqué permet une collaboration humaine-robot sans cages de sécurité – simplement un algorithme intégré surveille le couple et arrête le mouvement si les forces inattendues dépassent les seuils. Lien externe : Robots universels – Robots collaboratifs.
Tendances futures des systèmes embarqués pour la robotique
Les progrès de la microélectronique, de l'intelligence artificielle et de la technologie des capteurs façonnent l'avenir des systèmes embarqués en robotique.
- AI sur le bord: Au lieu d'envoyer des données dans le cloud, les robots exécuteront des réseaux neuronaux directement sur le matériel embarqué. Cela réduit la latence et préserve la vie privée. Les puces comme le NVIDIA Jetson AGX Orin, Google Coral et Intel Movidius permettent la détection d'objets en temps réel et la compréhension de la scène sur les robots.
- Computing heterogeneous: Les futurs processeurs embarqués combineront CPU, GPU, FPGA et accélérateurs d'IA dédiés sur une seule matrice. Cela permet au robot d'allouer dynamiquement la ressource la plus efficace pour chaque tâche.
- Systèmes d'adaptation et d'auto-guérison :[ Les systèmes embarqués intégreront l'apprentissage automatique pour détecter les défauts matériels (p. ex., un encodeur moteur défaillant) et adapter les stratégies de contrôle pour compenser, voire reconfigurer le matériel si les FPGA sont présents.
- Puissance et communication sans fil:[ La charge inductive et la communication sans fil à haute bande (5G, Wi-Fi 6E) réduiront le besoin de connexions physiques.
- Processeurs neuromorphes:[ Des puces comme Intel Loihi et IBM TrueNorth simulent des réseaux neuronaux biologiques, offrant une efficacité énergétique extrême pour le traitement neuronal en spiking. Elles pourraient permettre aux robots d'apprendre et de s'adapter en temps réel avec une consommation d'énergie de milliwatt.
- Intégration de la robotique douce:[ Comme les robots deviennent plus doux et plus flexibles, les systèmes embarqués seront intégrés dans des circuits extensibles qui peuvent sentir et actionner. La technologie de PCB flexible et les microcontrôleurs ultra-minces permettront de calculer et de contrôler à l'intérieur du corps du robot.
Comprendre le rôle et les capacités des systèmes embarqués est crucial pour développer la prochaine génération d'applications robotiques qui transformeront les industries et amélioreront la vie quotidienne. Des microcontrôleurs qui lisent un capteur aux SoCs qui utilisent des algorithmes de navigation autonomes, les systèmes embarqués forment l'épine dorsale invisible de la robotique moderne.
Pour de plus amples renseignements sur les systèmes embarqués en robotique, envisager d'explorer des ressources faisant autorité :