Outils d'utilisateurs

Outils du Site


informatique:ros:migration-ros2

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

informatique:ros:migration-ros2 [2020/09/09 18:23]
blondgae Ajoute logo ROS
informatique:ros:migration-ros2 [2020/09/09 18:32] (Version actuelle)
blondgae typos
Ligne 3: Ligne 3:
 ==== Introduction === ==== Introduction ===
 {{ :informatique:ros:ros_logo.png?nolink&200|}} {{ :informatique:ros:ros_logo.png?nolink&200|}}
-[[https://www.ros.org|ROS]] est la boîte à outils qui est utilisé pour créer toute les couches d'intelligence du robot. Il existe actuellement 2 versions indépendantes de ce framework :+[[https://www.ros.org|ROS]] est la boîte à outils qui est utilisée pour créer toutes les couches d'intelligence du robot. Il existe actuellement 2 versions indépendantes de ce framework :
   * [[https://www.ros.org|ROS (1)]] : Cette version majeure existe depuis plus de 10 ans (lancée en 2010), c'est elle qui a popularisé le framework, par les bibliothèques fournies adaptées à la recherche dans la robotique, mais surtout par tout l’écosystème qui s’est construit autour grâce à la collaboration de milliers de développeurs partout dans le monde. Bien qu’elle soit entre-temps devenue une usine à gaz, cette version continue d’être maintenue aujourd’hui, mais sans nouvelles améliorations.   * [[https://www.ros.org|ROS (1)]] : Cette version majeure existe depuis plus de 10 ans (lancée en 2010), c'est elle qui a popularisé le framework, par les bibliothèques fournies adaptées à la recherche dans la robotique, mais surtout par tout l’écosystème qui s’est construit autour grâce à la collaboration de milliers de développeurs partout dans le monde. Bien qu’elle soit entre-temps devenue une usine à gaz, cette version continue d’être maintenue aujourd’hui, mais sans nouvelles améliorations.
   * [[https://www.ros2.org|ROS 2]] : Suite à l’engouement pour ROS dans le milieu industriel, le collectif Open Robotics gérant le framework a lancé une réécriture totale des outils afin qu’ils reposent sur des bases solides, permettant une meilleur fiabilité et flexibilité pour renforcer son attractivité pour la recherche et le développement dans l’industrie. La première version stable a été publiée en 2017, et la première version avec un support longue durée (LTS) date de 2020. Cette nouvelle version majeure est destinée à long terme à remplacer la première, mais en laissant une période de transition suffisamment longue, car le code pour ROS1 est incompatible avec ROS2.   * [[https://www.ros2.org|ROS 2]] : Suite à l’engouement pour ROS dans le milieu industriel, le collectif Open Robotics gérant le framework a lancé une réécriture totale des outils afin qu’ils reposent sur des bases solides, permettant une meilleur fiabilité et flexibilité pour renforcer son attractivité pour la recherche et le développement dans l’industrie. La première version stable a été publiée en 2017, et la première version avec un support longue durée (LTS) date de 2020. Cette nouvelle version majeure est destinée à long terme à remplacer la première, mais en laissant une période de transition suffisamment longue, car le code pour ROS1 est incompatible avec ROS2.
Ligne 36: Ligne 36:
 === Le cycle de vie d’un nœud === === Le cycle de vie d’un nœud ===
  
-Avec le changement du protocole réseau et la disparition du nœud de synchronisation (''roscore''), il devient nécessaire (mais non-obligatoire) que les nœuds fonctionnent comme un automate à états finis, dont les états et les transitions sont standardisées et rendu publiques aux autres nœuds. Ainsi, il existe 4 états primaires :+Avec le changement du protocole réseau et la disparition du nœud de synchronisation (''roscore''), il devient nécessaire (mais non-obligatoire) que les nœuds fonctionnent comme un automate à états finis, dont les états et les transitions sont standardisés et rendus publiques aux autres nœuds. Ainsi, il existe 4 états primaires :
  
   * Non-configuré : état dans lequel est le nœud lorsqu’il vient d’être créé ou réinitialisé ;   * Non-configuré : état dans lequel est le nœud lorsqu’il vient d’être créé ou réinitialisé ;
   * Inactif : le nœud est configuré mais ne cherche pas à communiquer avec les autres nœuds (s’il reçoit des messages de services ou topics, leur conservation pour une utilisation ultérieure est définie par la qualité de service lors de la déclaration de ceux-ci) ;   * Inactif : le nœud est configuré mais ne cherche pas à communiquer avec les autres nœuds (s’il reçoit des messages de services ou topics, leur conservation pour une utilisation ultérieure est définie par la qualité de service lors de la déclaration de ceux-ci) ;
   * Actif : état normal de fonctionnement d’un nœud, comparable au concept de nœud de ROS1 ;   * Actif : état normal de fonctionnement d’un nœud, comparable au concept de nœud de ROS1 ;
-  * Terminé : état final atteint lorsque le nœud s’est correctement terminé mais pas encore détruit, utile pour une utilisation dans un débugger (''gdb'', ''valgrind''…).+  * Terminé : état final atteint lorsque le nœud s’est correctement arrêté mais pas encore détruit, utile pour une utilisation dans un débugger (''gdb'', ''valgrind''…).
  
 Pour plus d’informations, se référer au [[http://design.ros2.org/articles/node_lifecycle.html|concept]] et à l’[[https://github.com/ros2/demos/blob/master/lifecycle/README.rst|implémentation]]. Pour plus d’informations, se référer au [[http://design.ros2.org/articles/node_lifecycle.html|concept]] et à l’[[https://github.com/ros2/demos/blob/master/lifecycle/README.rst|implémentation]].
informatique/ros/migration-ros2.1599668587.txt.gz · Dernière modification: 2020/09/09 18:23 par blondgae