Linux Temps Réel pour le
 contrôle des robots de l'INRIA
          Rhône-Alpes



Novembre   INRIA Rhône-Alpes – Hervé MAT...
Objectifs
   Donner une expérience sur l’utilisation de
    Linux dans un domaine différent de celui
            des stati...
Plan
 • Description du service en charge des robots
 • Présentation de robots fonctionnant sous
   Linux ; les CYCABs et l...
Description du service SED (1)
• Une des missions du service est la mise en
  place d’expérimentations en collaboration
  ...
Description du service SED (2)
Les différentes plates-formes sont :
• Deux véhicules électriques (CYCAB) (*),
• Un robot b...
Novembre   INRIA Rhône-Alpes – Hervé MATHIEU   6/48
2003
Les CYCABs et Linux :
            présentation du CYCAB
L’origine du nom : City Cab, Cyber Cab,…
Conçu à l’INRIA, industri...
Les CYCABs et Linux :
            présentation du CYCAB
Les caractéristiques principales sont :
• Longueur 190 cm, largeur...
Les CYCABs et Linux :
            architecture matérielle




                                                    Vue de
 ...
Les CYCABs et Linux :
                 architecture matérielle
  PC 19 pouces                   Joystick             Ecran...
Les CYCABs et Linux :
             architecture logicielle
Partie Nœuds et bus CAN :
• La couche logicielle au dessus du m...
Les CYCABs et Linux :
             architecture logicielle
Partie PC :
• Une tâche SynDEx tourne sous
  Linux/RTAI, cadenc...
Les CYCABs et Linux :
               programmation
Les applications sont développées en langage
  C/C++ sous Linux (gcc). ...
Les CYCABs et Linux :
            exemples d’application
Conduite du CYCAB à
  partir du joystick.

Déplacement autonome
 ...
Novembre   INRIA Rhône-Alpes – Hervé MATHIEU   15/
2003       48
Le Robot Bipède et Linux :
           présentation du robot bipède
Conçu par le Laboratoire de Mécanique des
   Solides de...
Le Robot Bipède et Linux :
           présentation du robot bipède
Les caractéristiques principales sont :
• Hauteur 180 c...
Le Robot Bipède et Linux :
              architecture matérielle




Novembre          INRIA Rhône-Alpes – Hervé MATHIEU  ...
Le Robot Bipède et Linux :
              architecture logicielle
Les codes sont écrits en langage C/C++. Un
 compilateur c...
Le Robot Bipède et Linux :
              architecture logicielle
Couches logicielles 1&2 :
• (1) Pilotes des modules d’ent...
Le Robot Bipède et Linux :
              architecture logicielle
Couches logicielles 3&4 :
• (3) Librairie d’abstraction r...
Le Robot Bipède et Linux :
                 programmation
Modèle d’exécution :




Novembre          INRIA Rhône-Alpes – H...
Le Robot Bipède et Linux :
                 programmation
La boucle de commande tourne actuellement
 à 10 ms.
La principal...
Le Robot Bipède et Linux :
              exemples d’application


• Suivi de trajectoires
  simulées
  préalablement.




...
Novembre   INRIA Rhône-Alpes – Hervé MATHIEU   25/
2003       48
Passage de VxWorks à Linux :
           pourquoi VxWorks ?
Historique :
• -12 ans : acquisition de VxWorks
  (concurrents ...
Passage de VxWorks à Linux :
            pourquoi changer ?
Aujourd’hui, les concurrents annoncent des
 performances compa...
Passage de VxWorks à Linux :
              pourquoi changer ?
Deux événements :
• Un matériel obsolète (carte MVME162
  ba...
Passage de VxWorks à Linux :
            changer pour qui ?
Plusieurs schémas ont été envisagés :
• Windows CE, (on est pl...
Passage de VxWorks à Linux :
                  les choix
Une nouvelle version de CYCAB. Décision
 conjointe (INRIA/ROBOSOF...
Passage de VxWorks à Linux :
                    les raisons
Un a priori favorable pour Linux, installé sur nos
  stations...
Passage de VxWorks à Linux :
     objectifs de la nouvelle architecture
Plus de puissance processeur (carte VSBC6862
    M...
Passage de VxWorks à Linux :
                  méthode de portage
Conserver le code des pilotes matériels :
    –      Évi...
Passage de VxWorks à Linux

                               Test élémentaire
                                 pour évaluer ...
Passage de VxWorks à Linux : portage Linux


C4                 Mise au point                   Tâche périodique


C3     ...
Passage de VxWorks à Linux : portage RTAI
C4                                                                       u
     ...
Passage de VxWorks à Linux :
           résultat des portages
La nouvelle architecture permet :
• De réaliser plus de calc...
Passage de VxWorks à Linux :
           points de comparaisons
Installation du produit :
• Les distributions Wind River so...
Passage de VxWorks à Linux :
           points de comparaisons
Conception logicielle :
• VxWorks n’a qu’un seul espace mém...
Passage de VxWorks à Linux :
           points de comparaisons


La chaîne de compilation est similaire.
   Développement ...
Passage de VxWorks à Linux :
           points de comparaisons

Robustesse…
En cas de « crash » du programme, il est plus
...
Passage de VxWorks à Linux :
           points de comparaisons


Déboguage de premier niveau (« printf ») :
Plus complet s...
Passage de VxWorks à Linux :
           points de comparaisons

Utilisation d’outils dédiés (débogueur,
    traçage d’évén...
Passage de VxWorks à Linux :
              points de comparaisons
 Résumé                        VxWorks                  ...
Conclusion et Perspectives



Novembre   INRIA Rhône-Alpes – Hervé MATHIEU   45/
2003       48
Conclusion et Perspectives (1)
Les deux plates-formes robotiques (CYCAB
   et robot bipède) fonctionnent de manière
   sat...
Conclusion et Perspectives (2)
Le manque d’outils de développement est
   sans doute le maillon faible d’une
   solution L...
FIN

           http://www.inrialpes.fr/sed

             herve.mathieu@inrialpes.fr




Novembre        INRIA Rhône-Alpes...
Upcoming SlideShare
Loading in...5
×

Presentation Intech 2003

647

Published on

Presentation Intech 2003

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
647
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Presentation Intech 2003"

  1. 1. Linux Temps Réel pour le contrôle des robots de l'INRIA Rhône-Alpes Novembre INRIA Rhône-Alpes – Hervé MATHIEU 1/48 2003
  2. 2. Objectifs Donner une expérience sur l’utilisation de Linux dans un domaine différent de celui des stations de travail. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 2/48 2003
  3. 3. Plan • Description du service en charge des robots • Présentation de robots fonctionnant sous Linux ; les CYCABs et le robot bipède • Expérience du passage de VxWorks à Linux pour le robot bipède • Conclusion et perspective Novembre INRIA Rhône-Alpes – Hervé MATHIEU 3/48 2003
  4. 4. Description du service SED (1) • Une des missions du service est la mise en place d’expérimentations en collaboration avec les équipes de recherche. • Moyens humains : 8 ingénieurs, un technicien, une assistante. • www.inrialpes.fr/sed Novembre INRIA Rhône-Alpes – Hervé MATHIEU 4/48 2003
  5. 5. Description du service SED (2) Les différentes plates-formes sont : • Deux véhicules électriques (CYCAB) (*), • Un robot bipède (*), • Un centre de réalité virtuelle, • Plusieurs grappes de PC. (*) sujets de cette présentation. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 5/48 2003
  6. 6. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 6/48 2003
  7. 7. Les CYCABs et Linux : présentation du CYCAB L’origine du nom : City Cab, Cyber Cab,… Conçu à l’INRIA, industrialisé par ROBOSOFT (www.robosoft.fr). C’est un véhicule électrique, instrumenté de capteurs, et permettant d’expérimenter des automatismes. C’est aussi un concept pour un futur véhicule urbain en libre service. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 7/48 2003
  8. 8. Les CYCABs et Linux : présentation du CYCAB Les caractéristiques principales sont : • Longueur 190 cm, largeur 120 cm, hauteur 165 cm, poids 350 kg (avec batteries). • 4 moteurs de 1 kWatt, 2 trains de direction indépendants. • Vitesse maximale 18 km/h. • Autonomie supérieure à 2 heures. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 8/48 2003
  9. 9. Les CYCABs et Linux : architecture matérielle Vue de dessus Novembre INRIA Rhône-Alpes – Hervé MATHIEU 9/48 2003
  10. 10. Les CYCABs et Linux : architecture matérielle PC 19 pouces Joystick Ecran tactile Nœud arrière Nœud avant MPC555 MPC555 Ethernet RF Vue de Double bus de terrain CAN dessus (Controller Area Network) Novembre INRIA Rhône-Alpes – Hervé MATHIEU 10/ 2003 48
  11. 11. Les CYCABs et Linux : architecture logicielle Partie Nœuds et bus CAN : • La couche logicielle au dessus du matériel est gérée par SynDEx (www.syndex.org). • SynDEx joue le rôle du système d’exploitation sur les nœuds et gère la couche communication sur le bus CAN. • SynDEx est développé à l’INRIA. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 11/ 2003 48
  12. 12. Les CYCABs et Linux : architecture logicielle Partie PC : • Une tâche SynDEx tourne sous Linux/RTAI, cadencée à 10 ms. • Un segment de mémoire partagée permet le dialogue entre cette tâche et les applications développées sur le PC embarqué dans l’environnement Linux. • Versions : Linux-2.2.14, RTAI-1.3 Novembre INRIA Rhône-Alpes – Hervé MATHIEU 12/ 2003 48
  13. 13. Les CYCABs et Linux : programmation Les applications sont développées en langage C/C++ sous Linux (gcc). Une série de macros permet l’accès au matériel, en appelant des primitives SynDEx, à travers la mémoire partagée. Les interfaces graphiques sont développées avec newt (version texte) ou QT/embedded. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 13/ 2003 48
  14. 14. Les CYCABs et Linux : exemples d’application Conduite du CYCAB à partir du joystick. Déplacement autonome dans un environnement balisé, en utilisant un LIDAR. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 14/ 2003 48
  15. 15. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 15/ 2003 48
  16. 16. Le Robot Bipède et Linux : présentation du robot bipède Conçu par le Laboratoire de Mécanique des Solides de Poitiers et l’INRIA. C’est un outil d’aide à la compréhension de la marche humaine : 1. Étude de la marche humaine, 2. Modélisation, élaboration de lois de commande, 3. Tests sur le robot bipède. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 16/ 2003 48
  17. 17. Le Robot Bipède et Linux : présentation du robot bipède Les caractéristiques principales sont : • Hauteur 180 cm, poids 105 kg, • 15 degrés de liberté motorisés. De manière générale, la répartition des masses et dimensions des jambes est anthropomorphe. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 17/ 2003 48
  18. 18. Le Robot Bipède et Linux : architecture matérielle Novembre INRIA Rhône-Alpes – Hervé MATHIEU 18/ 2003 48
  19. 19. Le Robot Bipède et Linux : architecture logicielle Les codes sont écrits en langage C/C++. Un compilateur croisé basé sur gcc est utilisé (PC-Linux/PowerPC-Linux). Le robot peut être utilisé sous Linux (2.4.18) ou Linux/RTAI (24.1.11). Afin de simplifier la gestion logicielle, plusieurs couches logicielles, correspondant à des niveaux d’abstraction différentes, ont été écrites. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 19/ 2003 48
  20. 20. Le Robot Bipède et Linux : architecture logicielle Couches logicielles 1&2 : • (1) Pilotes des modules d’entrées-sorties : un pilote par type de module. • (2) Librairie d’abstraction Entrées/Sorties : appels de fonctions unifiés, regroupement des modules de même type. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 20/ 2003 48
  21. 21. Le Robot Bipède et Linux : architecture logicielle Couches logicielles 3&4 : • (3) Librairie d’abstraction robot : les appels de fonctions correspondent à des entités du robot (articulation, pieds,…). • (4) Outil graphique de programmation de lois de commande (ORCCAD@INRIA). Génération de code pour Linux ou Linux/RTAI. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 21/ 2003 48
  22. 22. Le Robot Bipède et Linux : programmation Modèle d’exécution : Novembre INRIA Rhône-Alpes – Hervé MATHIEU 22/ 2003 48
  23. 23. Le Robot Bipède et Linux : programmation La boucle de commande tourne actuellement à 10 ms. La principale limitation est le temps d’acquisition des données. Les lois de commande tiennent compte de la dynamique du robot, ce qui rend possible une telle fréquence. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 23/ 2003 48
  24. 24. Le Robot Bipède et Linux : exemples d’application • Suivi de trajectoires simulées préalablement. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 24/ 2003 48
  25. 25. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 25/ 2003 48
  26. 26. Passage de VxWorks à Linux : pourquoi VxWorks ? Historique : • -12 ans : acquisition de VxWorks (concurrents : PSOS, RTX,OS9,softkernel) • -5 ans : QNX, Linux RT, Linux/RTAI deviennent de réels concurrents… VxWorks est le N°1. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 26/ 2003 48
  27. 27. Passage de VxWorks à Linux : pourquoi changer ? Aujourd’hui, les concurrents annoncent des performances comparables et des prix inférieurs. Wind River Systems poursuit une politique réductrice, et de prix « élevé ». Mais le système d’exploitation n’est pas en cause. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 27/ 2003 48
  28. 28. Passage de VxWorks à Linux : pourquoi changer ? Deux événements : • Un matériel obsolète (carte MVME162 basée sur 68040 à 32 MHz), bloquant pour les nouvelles applications. • L’opportunité de mettre un nouveau système sur la nouvelle version du CYCAB. > Pour continuer avec VxWorks, il faut (re)payer une distribution complète. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 28/ 2003 48
  29. 29. Passage de VxWorks à Linux : changer pour qui ? Plusieurs schémas ont été envisagés : • Windows CE, (on est plutôt UNIX) • PC sous QNX, (a priori, pas sur électronique embarquée) • PC ou carte sous Linux/RTAI ou Linux/RTLinux. (produit stable ?) Novembre INRIA Rhône-Alpes – Hervé MATHIEU 29/ 2003 48
  30. 30. Passage de VxWorks à Linux : les choix Une nouvelle version de CYCAB. Décision conjointe (INRIA/ROBOSOFT) de prendre Linux/RTAI. Installation d’une nouvelle carte VME sous Linux pour le robot bipède. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 30/ 2003 48
  31. 31. Passage de VxWorks à Linux : les raisons Un a priori favorable pour Linux, installé sur nos stations de travail. RTAI préféré à RTLinux ; expérience de Linux/RTAI, politique de licence. L’outil utilisé pour programmer les applications (ORCCAD) supporte Linux. De bons retours d’expériences. Un investissement financier nul. … robot bipède Novembre INRIA Rhône-Alpes – Hervé MATHIEU 31/ 2003 48
  32. 32. Passage de VxWorks à Linux : objectifs de la nouvelle architecture Plus de puissance processeur (carte VSBC6862 MPC8260 à 200 MHz) : 1) Pour prendre en charge des lois de commande plus complexes, 2) Pour réduire le temps de boucle d’asservissement. Passage d’un port ethernet 10 à 100 Mbits. Pour permettre le calcul déporté des lois de commande sur un PC hôte. Possibilité de ne pas changer le code applicatif. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 32/ 2003 48
  33. 33. Passage de VxWorks à Linux : méthode de portage Conserver le code des pilotes matériels : – Éviter l’insertion de bogues, – Compatibilité avec le second robot bipède. Conserver les interfaces logicielles natives. Faire le portage sous Linux puis Linux/RTAI : – Philosophie Linux, – Linux peut suffire (modèle d’exécution, Novembre fréquence). INRIA Rhône-Alpes – Hervé MATHIEU 33/ 2003 48
  34. 34. Passage de VxWorks à Linux Test élémentaire pour évaluer Linux comme solution possible… > Relative bonne stabilité temporelle d’une tâche cadencée à 10 ms. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 34/ 2003 48
  35. 35. Passage de VxWorks à Linux : portage Linux C4 Mise au point Tâche périodique C3 Abstraction Bipède C2 Abstraction Entrées/Sorties Linux utilisateur VFS Linux noyau C1 Entrées Entrées/Sorties Lecture positions Consignes analogiques numériques moteurs moteurs Novembre INRIA Rhône-Alpes – Hervé MATHIEU 35/ 2003 48
  36. 36. Passage de VxWorks à Linux : portage RTAI C4 u Mise au point résea Communication C3 Abstraction Bipède (SOCKET) Linux utilisateur Communication Communication RTAI (FIFO) (FIFO) Tâche périodique Abstraction Bipède C2 Abstraction Entrées/Sorties Entrées Entrées/Sorties Lecture positions Consignes C1 analogiques numériques moteurs moteurs Novembre INRIA Rhône-Alpes – Hervé MATHIEU 36/ 2003 48
  37. 37. Passage de VxWorks à Linux : résultat des portages La nouvelle architecture permet : • De réaliser plus de calculs en embarqué, • Le calcul déporté sur un PC hôte, • La cadence de 10 ms est conservée sous Linux, et peut être garantie et/ou abaissée sous Linux/RTAI (version en phase finale de portage). Novembre INRIA Rhône-Alpes – Hervé MATHIEU 37/ 2003 48
  38. 38. Passage de VxWorks à Linux : points de comparaisons Installation du produit : • Les distributions Wind River sont bien faites. Seul bémol pour la gestion des licences. • Du côté Linux, et surtout Linux/RTAI, les problèmes de versions et de corrections demandent une connaissance a priori plus importante. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 38/ 2003 48
  39. 39. Passage de VxWorks à Linux : points de comparaisons Conception logicielle : • VxWorks n’a qu’un seul espace mémoire de travail, c’est pratique. • Linux impose deux espaces de travail ; utilisateur et noyau. L’architecture logicielle est plus compliquée. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 39/ 2003 48
  40. 40. Passage de VxWorks à Linux : points de comparaisons La chaîne de compilation est similaire. Développement croisé sur la base de gcc. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 40/ 2003 48
  41. 41. Passage de VxWorks à Linux : points de comparaisons Robustesse… En cas de « crash » du programme, il est plus facile de récupérer la main sous VxWorks que sous Linux (Noyau) ou Linux/RTAI. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 41/ 2003 48
  42. 42. Passage de VxWorks à Linux : points de comparaisons Déboguage de premier niveau (« printf ») : Plus complet sous VxWorks que dans l’espace noyau de Linux (ou RTAI). Novembre INRIA Rhône-Alpes – Hervé MATHIEU 42/ 2003 48
  43. 43. Passage de VxWorks à Linux : points de comparaisons Utilisation d’outils dédiés (débogueur, traçage d’événements) : • Efficace sous VxWorks. • Non testé sous Linux, mais a priori, plus dur à mettre en œuvre. (besoin de deux cibles, besoin de recompiler le noyau) Novembre INRIA Rhône-Alpes – Hervé MATHIEU 43/ 2003 48
  44. 44. Passage de VxWorks à Linux : points de comparaisons Résumé VxWorks Linux/RTAI Distribution + - Conception logicielle + - Compilation + + Robustesse + - Déboguage + - Coût - +++ Novembre INRIA Rhône-Alpes – Hervé MATHIEU 44/ 2003 48
  45. 45. Conclusion et Perspectives Novembre INRIA Rhône-Alpes – Hervé MATHIEU 45/ 2003 48
  46. 46. Conclusion et Perspectives (1) Les deux plates-formes robotiques (CYCAB et robot bipède) fonctionnent de manière satisfaisante. Certaines incertitudes sur le portage de VxWorks vers Linux (ou Linux/RTAI) des pilotes de bas niveau ont été levées assez facilement. Le passage de VxWorks à Linux/RTAI est une réussite. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 46/ 2003 48
  47. 47. Conclusion et Perspectives (2) Le manque d’outils de développement est sans doute le maillon faible d’une solution Linux/RTAI. Aussi d’autres solutions pour d’autres plates-formes ne sont pas exclues. Novembre INRIA Rhône-Alpes – Hervé MATHIEU 47/ 2003 48
  48. 48. FIN http://www.inrialpes.fr/sed herve.mathieu@inrialpes.fr Novembre INRIA Rhône-Alpes – Hervé MATHIEU 48/ 2003 48
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×