Intégration d’EtherCAT sur NVIDIA Jetson AGX Thor
trait de séparation
Temps de lecture : 8 minutes
NVIDIA Jetson AGX Thor représente la nouvelle génération de plateformes dédiées à l’Edge AI et à la robotique avancée. Ces environnements exigent une communication déterministe, des cycles rapides et une synchronisation parfaite entre capteurs, calculateurs et actionneurs.
En tant que partenaire officiel d’acontis, ISIT accompagne les industriels dans l’intégration d’EtherCAT via la pile EC-Master, reconnue pour son efficacité, son faible impact CPU et ses capacités de temps réel.
L’article explore comment le stack EC‑Master d’acontis permet d’atteindre différents niveaux de performance temps réel EtherCAT sur la plateforme NVIDIA Jetson AGX Thor, en passant par trois étapes d’optimisation croissante au sein d’un environnement Linux.
Contexte et environnement de test
Jetson AGX Thor, livré avec Linux via JetPack 7.0, inclut déjà un noyau SMP PREEMPT, base nécessaire à la mise en œuvre du temps réel.
Pour évaluer les performances EtherCAT, acontis a connecté la plateforme à un ensemble de terminaux Beckhoff (DO, DI, AO, EK1100, EK1110) et utilisé l’application de test EcMasterDemoDc, intégrant Distributed Clocks et outils de mesure (option -dcmlog).
Dans ce contexte, deux paramètres constituent les indicateurs essentiels pour évaluer la qualité du temps réel :
Pour évaluer les performances EtherCAT, acontis a connecté la plateforme à un ensemble de terminaux Beckhoff (DO, DI, AO, EK1100, EK1110) et utilisé l’application de test EcMasterDemoDc, intégrant Distributed Clocks et outils de mesure (option -dcmlog).
Dans ce contexte, deux paramètres constituent les indicateurs essentiels pour évaluer la qualité du temps réel :
- CPU Load : temps requis par EC-Master pour exécuter la pile EtherCAT
- Jitter : variation temporelle des cycles, déterminante pour le contrôle précis
Différentes étapes d'optimisation des performances EtherCAT
1. EtherCAT avec configuration minimale
Dans cette configuration, Jetson utilise :
Résultats :
Conclusion :
La communication fonctionne, mais la variation temporelle est trop importante pour une application robotique exigeante. Ce niveau peut convenir pour des cycles plus lents (≥5 ms) ou des systèmes peu sensibles au jitter.
- Le noyau Linux standard livré avec JetPack
- Le driver générique SOCK_RAW
- Aucune optimisation du CPU ou du système
Résultats :
- CPU Load excellent : ~1 %
- Jitter très élevé : ±330 µs, soit 33 % d’un cycle de 1 ms
Conclusion :
La communication fonctionne, mais la variation temporelle est trop importante pour une application robotique exigeante. Ce niveau peut convenir pour des cycles plus lents (≥5 ms) ou des systèmes peu sensibles au jitter.
2. EtherCAT à haut rendement
Optimisations ajoutées :
Résultats :
Conclusion :
Le système devient plus stable, mais reste insuffisant pour des synchronisations strictes DC ou des cycles rapides (<1 ms).
- Installation complète du RT Kernel pour Jetson Thor
- Dédication du CPU 3 à la pile EtherCAT (isolcpus)
- Mise en mode performance de tous les cœurs CPU (scaling governor)
- Assignation CPU à EC-Master via -a 3
Résultats :
- Jitter réduit à ±125 µs
- CPU Load inchangé (environ 1 %)
Conclusion :
Le système devient plus stable, mais reste insuffisant pour des synchronisations strictes DC ou des cycles rapides (<1 ms).
3. EtherCAT avec les meilleures performances
Pour atteindre une vraie performance temps réel :
1. Désactivation du driver Linux Realtek standard
2. Chargement du driver temps réel acontis (atemsys + driver RTL)
3. Utilisation du driver via l’option -rtl8169
Résultats :
Test en cycle rapide :
Conclusion :
Cette configuration permet de descendre en dessous de 2,5 kHz, niveau requis pour les robots modernes (cinématiques complexes, cobots, AGV, manipulateurs rapides…).
1. Désactivation du driver Linux Realtek standard
2. Chargement du driver temps réel acontis (atemsys + driver RTL)
3. Utilisation du driver via l’option -rtl8169
Résultats :
- Jitter extrêmement faible : ±6 µs
- CPU Load : 1,38 % pour un cycle de 1 ms
- Stabilité parfaite (aucun pic dans les graphiques DC)
Test en cycle rapide :
- À 250 µs, le système reste stable
- CPU Load : 5,4 %, excellent pour une telle fréquence
Conclusion :
Cette configuration permet de descendre en dessous de 2,5 kHz, niveau requis pour les robots modernes (cinématiques complexes, cobots, AGV, manipulateurs rapides…).
Grâce aux solutions acontis et à l’expertise ISIT, Jetson AGX Thor peut devenir un contrôleur EtherCAT hautes performances, capable d’atteindre les exigences strictes de la robotique temps réel :
- Démarrage rapide sans optimisation
- Performances améliorées via RT Kernel
- Temps réel industriel maximal grâce au driver acontis
Pour toute intégration EtherCAT, optimisation RT ou accompagnement sur Nvidia Jetson, ISIT est votre partenaire technique privilégié.
