teleoperated robotic arm for nuclear decommissioning

Conception du robot Serval pour le CEA

Le CEA (Commissariat à l’Energie Atomique) a confié au GR Lab en 2017 la conception du robot Serval. Ce robot a été conçu par nos équipes à partir du cahier des charges proposé par le CEA. Il s’agissait de permettre à un opérateur distant d’effectuer des opérations de démantèlement (découpe de matériau radioactif) par télé-opération d’un bras robotique monté sur une plateforme mobile.

Robot de démantèlement en centrale nucléaire

Robot de démantèlement en centrale basé ROS, développé par le GRlab.

Durant ce projet de 12 mois, les équipes du GR Lab ont assemblé ce robot à partir de solutions du marché (base mobile Husky, Bras composé de modules Schunk, caméras et autres accessoires). Une partie de l’étude a porté sur la stabilité mécanique de l’ensemble ainsi que sur son schéma électrique aux normes nucléaires. Enfin, le gros du projet a consisté à développer le modèle du bras et son contrôle (cinématique directe et inverse) ainsi que le logiciel de télé-pilotage distant, basé ROS, afin que l’opérateur puisse réaliser son opération de démantèlement.

3 objectifs nous ont été assignés pour ce projet, correspondant à 3 types de tâches :

  • Télé-opération : pilotage articulaire et cartésien du bras robot par interface graphique et joystick 6D avec retour de force
  • Séquences : enregistrement et relecture de trajectoires et de séquences d’opérations complexes
  • Surveillance : retour vidéo par caméra outil et d’ambiance, capteur d’effort 6D, planification sur modèle 3D

Ce projet a été découpé en 2 phases :

  • Partie Hardware (architecture matérielle)
  • Partie Software (architecture logicielle) basée ROS

Assemblage et customisation du bras robotique (partie Hardware)

Bras robotique pour le démantèlement nucléaire

Nous avons utilisé un bras doté de 6 degrés de liberté, nécessaire pour les opérations de démantèlement (notamment pour les tâches de découpage au moyen d’une scie circulaire adaptée au bout du bras).

Ce bras avec 6 degrés de liberté est constitué de modules Schunk PRL. La raison de ce choix ? Un rapport masse/puissance très élevé par rapport aux autres bras robotisés du marché.

La communication avec le bras se fait en bus CAN, un système qui permet aux différents capteurs et actuateurs d’une plateforme robotique de communiquer entre eux grâce à l’intégration de cartes électroniques, ce qui limite grandement la quantité de câbles (essentiel pour un bras articulé afin que les câbles ne s’emmêlent pas et ne s’arrache pas).

Pour arriver à détecter des obstacles en temps réel, notre équipe a développé un algorithme de contrôle qui calcule la valeur du couple exercé sur chaque articulation du bras Schunk et sa résultant au niveau du centre outil.

Deux caméras ont été installées sur cette plateforme

  • Une caméra outil, disposée sur le bras du robot, avec contrôle du focus/zoom/iris, nécessaire au bon accomplissement des tâches à réaliser.
  • Une caméra d’ambiance, de type dôme, permettant à l’opérateur d’observer l’environnement dans lequel évolue le robot mobile. Cette caméra est fixée à l’extrémité d’un mât monté sur le robot.

robot-dementelement-nucleaire-cea-serval-camera

Ajout d’un capteur d’effort

Installation d’un capteur d’efforts, qui va mesurer des efforts X/Y/Z et des moments MX/MY/MZ sur l’outil.

Nécessaire pour que le bras robotique ajuste ses gestes à son environnement (obstacle, type de matériau, etc).

Deux types de téléopération ont été mis en place

  • Un interface graphique (IHM – Interface Homme Machine) : avec possibilité d’un contrôle articulaire et cartésien (position/vitesse) à travers l’interface graphique.
  • Un joystick 6D (avec 6 degrés de liberté, comme le bras robotique) : pour faire de la téléopération cartésienne (détermination de la position d’un point dans un espace grâce à un système de coordonnées – cartésiennes). Un système de retour d’effort en temps réel a été créé (système haptique), afin que l’utilisateur puisse savoir quand il approche des limites physiques du robot, qui ont été définies dans l’interface.

Lumières et sécurité

Le robot doit pouvoir éclairer son environnement, des lumières contrôlables ont donc été installées sur l’outil et la base.

Plusieurs dispositifs de sécurité ont aussi été installés par nos ingénieurs, comme un système de heartbeat, qui vérifie qu’il y a toujours une connexion constante entre le PC de contrôle et le bras robotisé.

Création de l’architecture logicielle (architecture Software)

Middleware ROS

L’ensemble du développement pour ce projet de bras téléopéré en milieu radioactif a été réalisé avec le middleware ROS, afin de maximiser la modularité du système et d’accélérer les développements en utilisant l’écosystème de librairies existant.

Si vous désirez en savoir plus sur le middleware ROS, pour lequel nos équipes ont développé une véritable expertise, n’hésitez pas à consulter notre article de fond sur le sujet : Qu’est-ce-que ROS ?

Communication bas niveau

La communication bas niveau permet de compartimenter et de simplifier la transmission de données entre l’ordinateur principal et les différents composants comme les actionneurs, les LEDs, les capteurs et autres composants électroniques. Pour la communication avec le bras robotique, nous avons utilisé le protocole ROS_CANopen.

MoveIt est la librairie standard de planification de mouvements utilisée par ROS que nous avons utilisé pour la cinématique inverse et la planification des trajectoires. Nos équipes ont dû adapter MoveIt afin de répondre aux exigences particulières du client et notamment pour améliorer la planification de trajectoires cartésiennes difficiles et mieux gérer l’anticipation et l’évitement d’obstacles.

Interface de pilotage

Nous avons utilisé la librairie PySide pour le développement de l’interface graphique avec une communication ROS vers l’ensemble des modules C++ gérant les aspects critiques. PySide est un module libre qui permet de lier le langage Python avec la bibliothèque Qt. Qt est une API orientée objet et développée en C++ qui offre des composants d’interface graphique, d’accès aux données, de connexions réseaux, etc.

  • Enregistrement et lecture de séquences : possibilité d’enregistrer et rejouer des points ou trajectoires, de composer des séquences complexes avec manipulation de l’outil et du capteur d’effort.
  • Mécanismes de réflexes : surveillance automatique des valeurs du capteur d’effort et des couples articulaires avec déclenchement de trajectoires réflexes paramétrées (retour en arrière jusqu’à un temps ou une distance cibles).

interface-cas-client-cea-serval

Base mobile : robot Husky

La base mobile sélectionnée pour ce projet est le robot Husky, une plateforme robotique performante même dans dans des conditions difficiles. Équipé d’un châssis quatre roues motrices puissant, il est rapidement personnalisable et peut évoluer sur des terrains accidentés, dans des conditions extrêmes (indice de protection IP44).

husky-mobile-base