Skip to content

Mildred34/basic_ros2Lifecycle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

Basic ROS2 Lifecycle package

Les bases

  • Qu'est-ce qu'une lifecycle node ?
    Un noeud sur lequel, on peut à travers un noeud que j'appelerais manager
    gérer la vie des noeuds lifecycles via 4 états:
  • Unconfigured
    Le noeud vient d'être créé, il n'est pas encore utilisable. C'est publishers, services, serveurs d'actions... ne sont pas encore configurés.
  • Inactive
    Les publishers, services, serveurs d'actions... du noeud sont maintenant configurés mais non utilisable.
    En théorie non utilisable, mais sur les lifecyclepython, on a que les publishers qui sont optimisé en lifecycle via LifecyclePublisher.
    En c++, ça ne doit pas être le cas
  • Active
    Notre noeud vit maintenant sa meilleure vie, il peut travailler tranquille
  • Finalized
    Son travail est terminé. On détruit tout publishers, services, serveurs d'actions...

Tutoriel Python

Dans l'exemple Python de ce tutoriel, nous retrouvons 4 paquets:

  • manager - Noeud qui va des services va gérer le cycle de vie des noeuds suivants
  • lifecycle_listener Noeud qui va communiquer avec lifecycle_talker
    Il sera composé d'un subscriber sur le topic du noeud suivant.
  • lifecycle_talker Un talker rien de plus basique qui va écrire au listener
  • lifecycle_talker2 Un second talker qui sera lancé quand les deux derniers noeuds auront terminé leur job.

Le launch file va tout d'abord lancé le manager avec les noeuds lifecycle_talker et lifecycle_listener.
Quand leur job sera terminé, ils vont le dire aux manager qui va les shutdown.

Dans le launch file, on précise que lorsqu'ils ont atteint l'état shutdown, qu'on les détruit. A la destruction, du noeud principal du talker/listener process,
on vient lancer un second launch file composé du noeud lifecycle_talker2.

Qui de même lorsqu'il a fini de travaillé, on vient le shutdown puis le détruire.
A la fin du travail de ce dernier, on shutdown le process.

Tutoriel C++

Voir la bibliographie sur le sujet.

Bibliographie:

Composition

Python

C++

About

Tutorial for lifecycle node in ROS2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published