Interface matérielle (Hardware Interface)
Avertissement
Ce code n’a pas encore été testé ni validé. Il est a traiter en tant que tel et à manipuler avec la plus grande des précautions par des utilisateurs expérimentés uniquement.
L’interface matérielle PantographeHardwareInterface est le pont entre ros2_control et les servomoteurs Dynamixel AX-12A. Elle hérite de hardware_interface::SystemInterface.
Code source : include/pantographe_hardware/pantographe_hardware_interface.hpp src/pantographe_hardware_interface.cpp
Cycle de vie (Lifecycle)
L’interface utilise le modèle Lifecycle Node de ROS 2 pour une gestion sécurisée du matériel :
Unconfigured → Configure → Inactive → Activate → Active
↑ ↓
└─ Deactivate
Voir la documentation ROS 2 Lifecycle.
Méthodes principales
- on_init()
Initialise le driver et les paramètres (IDs des moteurs, port série)
- on_configure()
Ouvre la connexion série avec le convertisseur U2D2 (baudrate : 115200 bps)
- on_activate()
Lit les positions initiales des moteurs et active le couple en mode position
- on_deactivate()
Désactive le couple des moteurs (permet manipulation manuelle)
- read()
Lit les positions actuelles des moteurs et met à jour les état_interfaces
- write()
Envoie les consignes de position aux moteurs