Réponse rapide
Une action ROS 2 représente une tâche longue ou interrompable entre un client et un serveur. Le client envoie une demande, reçoit des retours de progression et obtient un résultat ou un état d’échec. Cette structure sépare commande, suivi et terminaison, ce qui convient à une navigation, une prise ou une opération qui dure plusieurs cycles.
Séparer but, retour et résultat
Nom de l’action, objectif, feedback, résultat et codes d’erreur sont définis dans une interface versionnée. Le serveur vérifie préconditions et ressources avant d’engager le mouvement. Le client conserve un identifiant pour relier demande, retours et fin.
Relier action et contrôleur sûr
Le serveur traduit l’objectif en commandes bornées et surveille capteurs, échéance et collision. Perte du client, capteur incohérent ou arrêt externe conduisent à un état déterminé. Les journaux indiquent transitions et cause de terminaison.
Ne pas utiliser une action comme simple message
Un appel sans retour ni annulation ne permet pas de savoir si la tâche progresse. Les contrats de délai, reprise et échec sont explicites. Les actions critiques disposent d’un chemin d’arrêt indépendant.
Sources et références
- [1] Robotics and Autonomous Systems — NIST