Tous les projets

Logiciel robotique

Driver ROS 2 pour les systèmes NDI

Driver ROS 2 / ros2_control pour les systèmes de suivi médicaux NDI Polaris et Aurora : poses 6 DDL submillimétriques jusqu'à 60 Hz pour la robotique chirurgicale et de rééducation (ICube Robotics, open source).

Driver ROS 2 pour les systèmes NDI

Présentation

Le driver ROS 2 pour les systèmes NDI est une pile logicielle complète qui relie les systèmes de suivi optiques et électromagnétiques de Northern Digital Inc. (NDI) à Robot Operating System 2 (ROS 2). Cette intégration de niveau professionnel sert les applications de robotique médicale qui exigent un suivi submillimétrique : navigation chirurgicale, robotique de rééducation et analyse biomécanique.

Architecture technique

Couche d'interface matérielle

Intégration ros2_control

Contrôleurs

Fonctionnalités clés

Suivi de précision

Fiabilité de niveau médical

Intégration clinique

Détails d'implémentation

Composants principaux

NdiSensorHardwareInterface

class NdiSensorHardwareInterface : public hardware_interface::SensorInterface
{
    // Real-time tracking data acquisition
    hardware_interface::return_type read(const rclcpp::Time & time,
                                       const rclcpp::Duration & period) override;

    // Tool initialization and management
    void initializeAndEnableTools();
    void loadTool(const char *toolDefinitionFilePath);
};

Contrôleur RigidPoseBroadcaster

class RigidPoseBroadcaster : public controller_interface::ControllerInterface
{
    // Real-time pose publishing
    controller_interface::return_type update(const rclcpp::Time & time,
                                           const rclcpp::Duration & period) override;
};

Flux de données

  1. Couche matérielle : l'API NDI communique avec le matériel de suivi
  2. Couche d'interface : l'interface matérielle masque les spécificités du système de suivi
  3. Couche contrôleur : des contrôleurs dédiés traitent et publient les données
  4. Couche applicative : les applications cliniques consomment des messages de pose standardisés

Applications médicales

Robotique de rééducation

Applications de recherche

Caractéristiques techniques

Matériel pris en charge

Performances

Prérequis logiciels

Impact clinique

Ce driver permet d'intégrer des systèmes de suivi médicaux professionnels dans des applications robotiques de recherche et cliniques, au service de la chirurgie mini-invasive, de la rééducation de précision et de la collaboration humain-robot en milieu médical. Il a été validé en recherche au laboratoire ICube (Université de Strasbourg) et a contribué à plusieurs publications en robotique médicale.

Développement et collaboration

Développé en collaboration avec le laboratoire ICube de l'Université de Strasbourg, ce projet offre à la communauté de la robotique médicale un accès open source à l'intégration de systèmes de suivi professionnels. Son architecture modulaire permet de l'étendre à d'autres systèmes NDI et de l'intégrer à des plateformes robotiques médicales sur mesure.