Chaque mouvement contrôlé d'un robot trouve son origine dans un servovariateur qui convertit les commandes électriques en mouvements mécaniques avec précision. Dans les robots humanoïdes, plusieurs servovariateurs sont répartis dans le corps mais le défi technique fondamental reste le même : il faut maîtriser la synchronisation de la boucle de commande du moteur. Explications de Toshiba Electronics Europe.
Auteur : Frank Malik,
Chief Engineer
Toshiba Electronics Europe
Un servovariateur doit réguler le couple, la vitesse et la position du moteur avec une précision constante, tout en répondant aux commandes émanant du système de contrôle du robot. Par ailleurs, le contrôleur doit prendre en charge les communications, les diagnostics, la surveillance des dysfonctionnements ainsi que le logiciel d'application qui coordonne le fonctionnement du robot.
Ces responsabilités supplémentaires dans les robots humanoïdes n'allègent en rien les exigences de synchronisation de la boucle de commande du moteur, alors même que les systèmes robotiques gagnent en performance.
Auparavant, le microcontrôleur d'un servovariateur était principalement chargé d'exécuter l'algorithme de commande du moteur. Aujourd'hui, parallèlement à la boucle de régulation du courant, il échange des données avec les contrôleurs de niveau supérieur, surveille les conditions de fonctionnement, détecte les défauts et exécute le logiciel d'application qui coordonne le servovariateur avec le reste du robot.
Contrairement à ces fonctions de niveau supérieur, la boucle de commande du moteur ne peut pas attendre que du temps processeur se libère. Le contrôleur doit acquérir les mesures de courant et de position, calculer les valeurs de commande suivantes et mettre à jour l'onduleur à intervalles définis.
Chaque cycle de commande doit se terminer avant que le suivant ne commence, quelles que soient les autres opérations effectuées par le processeur. Répondre à ces exigences concurrentes est devenu un aspect essentiel de la conception des servovariateurs. Ces contraintes rendent ce défi particulièrement difficile pour les robots humanoïdes, car les exigences varient d'une articulation à l'autre.
Une articulation du poignet ou de la main peut par exemple nécessiter relativement peu de puissance mais doit s'intégrer dans un espace extrêmement restreint, tandis qu'un coude ou une épaule doit fournir un couple considérablement plus important tout en supportant une charge mécanique plus élevée.
Dans chaque cas, les composants électroniques doivent allier un contrôle précis à des dimensions compactes et à une gestion thermique rigoureuse.
Il faut donc examiner avec attention comment la séparation des fonctions de commande de moteur, pour lesquelles le temps est un facteur critique, de celles du logiciel de niveau supérieur peut permettre aux servovariateurs robotiques de maintenir leurs performances de contrôle.
La servocommande repose sur une synchronisation précise
La commande vectorielle (FOC, Field-oriented control) est une technique bien établie pour les servovariateurs robotiques, car elle permet un contrôle précis du couple et de la vitesse. Ces caractéristiques sont particulièrement précieuses au niveau d'une articulation robotique, là où le moteur peut être amené à maintenir un couple de maintien puis à réagir immédiatement à une variation de charge.
Un fonctionnement fluide à basse vitesse et un positionnement précis revêtent une importance égale, tandis qu'une commande efficace contribue à réduire les pertes électriques et la chaleur qui doit être évacuée d’une articulation très compacte.
Dans les robots alimentés par batterie, la réduction des pertes peut également contribuer à une durée de fonctionnement plus longue ou à réduire la taille de la batterie. Du point de vue du contrôleur, cependant, l'essentiel n'est pas l'algorithme lui-même, mais la synchronisation qu'il impose.

La commande vectorielle repose sur la synchronisation constante, tout au long de chaque cycle de contrôle, entre les mesures de courant, de la position du rotor et les mises à jour du PWM.
Le contrôleur fonctionne donc dans une fenêtre temporelle fixe. Les mesures enregistrées en dehors de cette fenêtre, ou les valeurs PWM (Pulse Width Modulation) appliquées après son expiration, ne correspondent plus au même état du moteur.
Le maintien de cette synchronisation devient de plus en plus difficile à mesure que d'autres charges de travail sollicitent les ressources du processeur.
Vers un partitionnement de la boucle de commande
La mise en œuvre entièrement logicielle de la boucle de commande moteur augmente le nombre d'opérations critiques exécutées par le processeur. Une architecture alternative consiste à transférer les fonctions de commande vectorielle vers un matériel spécifique. Tandis que le processeur continue de gérer les fonctions qui ne relèvent pas de la boucle de contrôle.
Dans ce cadre, le groupe de micrcontrôleur TXZ+ M4L de Toshiba adopte ce type d'architecture en combinant un cœur Arm Cortex-M4 à un sous-système de commande moteur comprenant l'implantation de la quatrième génération du "Vector Engine" de Toshiba, de l’"Advanced Vector Engine" (A-VE2) de deuxième génération, ainsi que le pilote de moteur programmable A-PMD2 et l'interface d'encodeur A-ENC2 de la société.
Les mesures de courant et les informations relatives à la position du rotor sont transmises au sous-système de commande moteur avant le calcul des nouvelles valeurs PWM. L'A-VE2 de son côté effectue les calculs de commande vectorielle.
Les valeurs PWM ainsi obtenues sont transmises à l'A-PMD2 qui génère les signaux de commutation de l'onduleur et synchronise l'échantillonnage du courant.
Ici, la synchronisation précise des mesures est importante, celle-ci pouvant varier d'un cycle à l'autre. Les contraintes de synchronisation deviennent plus strictes lorsqu'une configuration à shunt unique est utilisée pour la mesure du courant.
Dans ce cas, le "Vector Engine", l'A-PMD2 et le convertisseur analogique-numérique peuvent collaborer pour appliquer la technologie de décalage PWM de Toshiba, ce qui permet au convertisseur de disposer de plus de temps pour effectuer la mesure.
Les informations de position du rotor peuvent être acquises à travers l'interface d'encodeur avancée A-ENC2 pour un retour d'angle précis, ou estimées par une méthode sans capteur, afin de finaliser le cycle de contrôle.
Les étapes du cycle de contrôle, pour lesquelles le facteur temps est critique, sont exécutées par un matériel spécifique avant le début du cycle suivant. Le Cortex-M4 reste disponible pour les communications, les diagnostics et le logiciel d'application qui coordonne le servovariateur avec le reste du système robotique.
Les articulations des robots humanoïdes peuvent quant à elles tirer parti de fréquences PWM plus élevées que celles des 16 à 20 kHz généralement utilisés dans les applications de commande de moteurs conventionnelles.
Des fréquences de 40 kHz ou 50 kHz, voire jusqu'à 100 kHz dans certains cas, permettent de déplacer le bruit de commutation hors de la plage audible, de réduire l'ondulation du courant et d'améliorer le rendement du moteur, limitant ainsi la génération de chaleur au niveau de l'articulation.
Cependant, l'augmentation de la fréquence PWM réduit également le temps disponible pour les calculs liés à la commande du moteur. Pour préserver la réactivité et la précision de positionnement, les calculs de FOC doivent donc être achevés en un seul cycle PWM, ou au maximum en deux cycles. Y parvenir uniquement à l'aide de logiciels devient de plus en plus complexe à mesure que la fréquence porteuse augmente.
En exécutant les calculs de commande vectorielle, pour lesquels le temps de réponse est crucial, sur un matériel dédié, le "Vector Engine" de Toshiba est conçu pour répondre à cette exigence tout en laissant la capacité de traitement du processeur disponible pour des fonctions telles que la gestion du couple et le positionnement.
Cela permet également d'éviter de devoir sélectionner ou cadencer le processeur uniquement pour satisfaire au cas de charge FOC le plus contraignant, ce qui réduit la consommation d'énergie et améliore la dissipation thermique.
Construction d'un servovariateur robotique complet
La sortie du sous-système de commande moteur ne représente qu'une partie du servovariateur complet. Les signaux PWM doivent encore traverser l'étage de puissance avant que les commandes électriques ne se traduisent en un couple moteur précisément régulé.
Le circuit de commande de grille convertit les sorties PWM du contrôleur en signaux de commande nécessaires à la commutation des dispositifs de puissance. Lorsque l'électronique de commande et l'étage de puissance fonctionnent dans des domaines de tension différents, l'isolation numérique assure la séparation requise entre les deux.
L'onduleur, réalisé avec des MOSFET, convertit ensuite l'alimentation continue en courants triphasés contrôlés qui alimentent le servomoteur. Le choix des composants dépend de la tension du moteur, du courant de phase et des exigences de fréquence de commutation de l'application.
Par exemple, une implantation de commande pour un entraînement d'articulation peut combiner un fusible électronique TCKE1401NM avec un pilote de grille programmable TB67Z853SFTG et des MOSFET de puissance sélectionnés en fonction de la tension nominale, du courant de phase et des exigences de résistance thermique de l'articulation.
Un large choix de boîtiers permet de répondre aux contraintes d'espace sur le circuit imprimé et d'optimiser le refroidissement. Dans une articulation robotique, ces éléments doivent de plus en plus être intégrés à l'articulation elle-même plutôt que logés dans des composants électroniques séparés.
La surface disponible sur le circuit imprimé peut être encore plus réduite par l'articulation mécanique et par la nécessité d'intégrer les connexions du moteur, de l'alimentation et de la communication.
Le défi technique de la conception qui en découle ne consiste donc pas simplement à contrôler le moteur, mais à intégrer l'intelligence, la puissance, le retour d'information, les communications et la protection nécessaires dans un espace électrique et thermique très restreint, tout en limitant le nombre de composants et la nomenclature.

Exemple d'architecture système pour la commande d'un moteur BLDC dans un servovariateur d'articulation de coude de moins de 500 W
Le microcontrôleur fait partie d'une solution de commande moteur plus large destinée à l'articulation robotique. Ce système comprend un fusible électronique pour la protection contre les surintensités (1), un interrupteur de charge assurant la protection contre l'inversion de polarité et les surintensités (2), et un régulateur LDO fournissant les tensions requises par le sous-système de commande du moteur (3).
Le microcontrôleur (4) commande le moteur à travers un circuit de commande de grille programmable, intégrant également un amplificateur de courant (5). Les MOSFET (6) sont sélectionnés en fonction des exigences de tension et de puissance de l'articulation. Le logiciel vient compléter le système.
La configuration du composant, la mise en service du moteur, la gestion des pannes et les communications restent du ressort du logiciel d'application. Toshiba fournit des exemples de logiciels, des pilotes de périphériques et une assistance technique pour le développement et la mise en service, offrant ainsi aux ingénieurs un point de départ pour l'intégration du servovariateur dans le système robotique global.
Une architecture de servovariateur unique prend en charge différentes articulations robotiques
Malgré les différences spécifiques à l'application entre les articulations d'un robot humanoïde, l'architecture de contrôle sous-jacente évolue beaucoup moins. Chaque servovariateur repose toujours sur une mesure précise du courant, d'un retour d'information fiable sur la position et d'une synchronisation de commande prévisible pour réguler le couple, la vitesse et la position du moteur. Le contrôleur doit également conserver une capacité suffisante pour assurer des fonctions système plus étendues.
Les architectures qui séparent les fonctions de commande moteur, critiques en temps réel, des logiciels de niveau supérieur constituent une solution pour répondre à ces exigences concurrentes.
A mesure que les systèmes robotiques évoluent, l'efficacité d'un servovariateur dépendra de plus en plus non seulement des performances du processeur, mais aussi de la manière dont l'architecture de commande répartit les tâches en temps réel dans l'ensemble du système.
