Quelle différence existe entre un topic, un service et une action ROS ?

Réponse rapide

Un topic ROS diffuse des messages asynchrones, un service répond à une requête ponctuelle et une action suit une tâche longue avec retour, progression, annulation et résultat.

Le mauvais modèle d’échange masque l’état

Un service bloquant ou un topic sans résultat peut rendre une tâche incontrôlable. Choisissez topic, service ou action selon durée, annulation et suivi.

Choisir le modèle

Utilisez topic pour flux, service pour réponse courte et action pour opération préemptible ou nécessitant un suivi.

Définir les délais

Précisez timeout, ordre, QoS, résultat partiel, annulation, répétition et comportement si serveur ou client disparaît.

Éviter le mauvais couplage

Ne bloquez pas une boucle critique sur un service lent et ne cachez pas une tâche longue derrière une réponse sans état.

Sources et références

  1. [1] ROS documentation — Open Robotics
  2. [2] Robotics and Autonomous Systems Technology Roadmaps — NASA

Cette réponse vous a-t-elle été utile ?