Contrôle robuste pour l’exécution de tâches à raideur variable

Contrôle robuste pour l’exécution de tâches à raideur variable

Nous avons discuté dans la dernière section du contrôle par admittance de base pour le déplacement d’un bras manipulateur. Pour le déplacement de base du robot, ces solutions sont plus qu’adéquates. Par exemple, démontrer une nouvelle position à atteindre dans l’espace du robot lors de l’exécution d’un programme peut être démontré en déplaçant physiquement le robot à l’endroit voulu en utilisant un contrôle par admittance simple. Nous appellerons tout mouvement qui n’implique pas l’environnement du robot comme étant un mouvement en free-motion.

Par contre, ces solutions de contrôle peuvent devenir rapidement instables lors de démonstrations de tâches qui interagissent avec des objets rigides. Par exemple, les forces appliquées sur le préhenseur lors de la démonstration d’une tâche d’insertion sont souvent beaucoup plus élevées que celles appliquées par le démonstrateur.

Stabilité du contrôle par admittance dans un environnement à raideur variable

Pour démontrer le phénomène d’instabilité, nous avons fait une expérience rapide où le robot bouge dans une direction à une vitesse fixe en free-motion et est soudainement arrêté. Dans un cas, l’opérateur arrêtera le robot en cessant de contrôler celui-ci et dans un deuxième cas, le robot sera arrêté par une surface rigide.

Contrôle par admittance avec raideur variable

Comme nous l’avons constaté à l’expérience précédente, le contrôle par admittance de base nous pose un dilemme de stabilité. Avoir un taux d’amortissement bas nous permet d’avoir un contrôle fluide en free-motion, mais génère un effet de rebond lorsque le robot entre en contact avec une surface rigide. Un taux d’amortissement plus haut nous permet d’être stable lorsque nous obtenons une pointe soudaine de force, mais le contrôle en free-motion requiert alors une plus grande force et devient désagréable à contrôler. Nous aurions alors besoin d’avoir un taux d’amortissement haut seulement lorsque le robot entre en contact avec une surface rigide.

Plusieurs travaux ont abordé l’idée d’avoir un taux d’amortissement variable dans un contrôle par admittance comme le nôtre. Tsumugiwa et al. (2002) ont proposé d’utiliser un taux d’amortissement qui serait directement relié à la rigidité sentie lors du contrôle par un utilisateur. D’autres travaux, réalisés par Duchaine & Gosselin (2007), proposent de construire un contrôle en vitesse du robot avec un taux d’amortissement variable relié à l’intention mesurée de déplacement de l’utilisateur. Par contre, les solutions proposées ici ont été développés dans le but de faire des tâches qui ne requièrent que de faire des déplacements en free-motion. Dans un cas comme le nôtre, où nous devons parfois déplacer le robot à l’intérieur d’une insertion rigide et étroite, ces solutions deviennent vite instables ou alors difficiles à contrôler.

Bien que ces travaux ne sont pas adéquats pour le système que nous voulons développer, nous croyons que nous pouvons grandement nous inspirer de ceux-ci. En effet, nous proposons de développer une solution basée sur un contrôle ayant un taux d’amortissement variable. Par contre, nous proposons ici une nouvelle méthode analytique pour déterminer lorsque le taux d’amortissement doit être augmenté pour que le système reste stable tout en ayant un contrôle agréable pour l’utilisateur.

Lorsque nous avons développé notre solution, nous avons déterminé, à l’aide d’essai et erreur, trois phénomènes qui peuvent causer un moment d’instabilité : le changement de force appliqué au contrôle est trop grand, le prochain mouvement calculé du robot est trop différent des derniers et lorsque les forces mesurées sur le robot oscillent trop rapidement.

Changement soudain de la force mesurée pour le contrôle du robot

Le cas classique d’instabilité dans une commande par admittance est lorsque le contrôle entre en contact avec une surface rigide,  Lorsque le préhenseur entre en contact avec la surface de travail, la force mesurée par le capteur de force est extrêmement différente de celle mesurée lors du contrôle en free-motion et crée ainsi un effet de rebond. Nous devons alors être capable de déterminer lorsque ce moment arrive pour permettre au système d’augmenter le taux d’amortissement pour estomper cet effet indésirable.

Pour ce faire, nous calculons la différence entre la force mesurée au temps présent et la moyenne des 3 dernières forces mesurées. Si la différence est plus grande que 15 N, le système augmentera le taux d’amortissement pour permettre au contrôle de rester stable. Cette méthode est utilisée pour chacun des axes du capteur de force (X,Y,Z). De plus, nous utilisons cette méthode pour chacun des moments mesurés du capteur de force (rX,rY,rZ), mais dans leur cas, une différence de 1.2 Nm est utilisée pour déclencher une augmentation du taux d’amortissement.

Avec le temps, si aucun autre changement drastique de force mesurée n’est enregistré, le taux d’amortissement revient alors à son état initial.

Changement soudain de la commande en vitesse du robot

Lors de nos essais, nous avons observé que, dans certains cas, la force mesurée par le capteur de force change radicalement, mais pas assez soudainement pour déclencher une hausse du taux d’amortissement par le calcul proposé à la section précédente. Dans le cas où le changement de force n’est pas assez soudain mais quand même extrêmement élevé, nous obtenons toujours un effet de rebond du système. Nous proposons alors de mesurer le taux de changement de la commande envoyée au robot par le système de contrôle et si cette commande est trop différente des dernières envoyées, nous augmenterons alors le taux d’amortissement du système pour réduire l’instabilité.

Pour ce faire, après chaque calcul de direction à envoyer au robot à l’aide de la formule d’admittance, nous mesurons la différence entre la commande calculée au moment présent et la moyenne des commandes envoyées lors des 5 dernières itérations de la boucle de contrôle. Si l’accélération mesurée est de plus de 0.6 m/s² ou encore de 2 rad/s² pour les rotations, nous augmentons alors le taux d’amortissement du système.

Avec le temps, si aucun autre changement drastique de commande du système n’est enregistré, le taux d’amortissement revient alors à son état initial.

Oscillation du signal de force pour le contrôle

Toujours lors du développement de notre solution, nous avons observé un phénomène particulier lorsque nous effectuons une tâche d’insertion rigide. Lors de la pénétration de l’objet à insérer, les deux dernières solutions augmentant le taux d’amortissement préviennent le système de devenir instable. Tel que planifié, lorsque l’objet entre en contact avec la surface d’insertion, le système augmente le taux d’amortissement . L’insertion se fait alors facilement avec un taux d’amortissement élevé et un contrôle stable.

Par contre, si l’objet inséré reste un certain temps dans le préhenseur du robot sans recevoir de commande de mouvement par l’utilisateur, le robot bougera légèrement à cause des faibles forces générées par le contact de la pièce dans l’insertion et ceci causera une petite oscillation dans le mouvement du robot.

Ensuite, puisque le système ne détecte plus de changements radicaux dans les forces mesurées et dans les commandes envoyées , le taux d’amortissement retournera à son état initial pour le contrôle en free-motion. Finalement, puisque l’amortissement est bas et que le robot est toujours contraint dans l’insertion, les oscillations générées par les parois de l’insertion s’amplifieront de plus en plus dû à l’effet du rebond et causera le robot à faire des mouvements brusques jusqu’à ce que le système détecte des forces trop grandes. Pour éviter ce phénomène d’amplification de l’oscillation, nous forçons alors le système à garder un taux d’amortissement grand lorsqu’une petite oscillation est présente dans le signal de force.

Table des matières

INTRODUCTION
CHAPITRE 1 REVUE DE LITTERATURE
1.1 Enseignement d’une tâche d’insertion
1.2 Solution pour l’exécution d’une tâche d’insertion
1.3 Détection d’une tâche d’insertion à l’aide des signaux de force
CHAPITRE 2 CONTRÔLE PAR ADMITTANCE D’UN ROBOT COLLABORATIF POUR DES APPLICATIONS À RIGIDITÉ VARIABLE
2.1 Contrôle robuste pour l’exécution de tâches à raideur variable
2.1.1 Stabilité du contrôle par admittance dans un environnement à raideur variable
2.1.2 Contrôle par admittance avec raideur variable
2.1.2.1 Changement soudain de la force mesurée pour le contrôle du robot
2.1.2.2 Changement soudain de la commande en vitesse du robot
2.1.2.3 Oscillation du signal de force pour le contrôle
2.1.2.4 Boucle de contrôle
CHAPITRE 3 PREUVE DE CONCEPT : LES RÉSEAUX DE NEURONES CONVOLUTIFS POUR LA DÉTECTION DE TÂCHES D’INSERTION PENDANT L’APPRENTISSAGE KINESTHÉSIQUE D’UN ROBOT COLLABORATIF
3.1 Définition d’une tâche d’insertion
3.2 Méthodologie
3.2.1 Apprentissage des caractéristiques importantes à l’aide des CNNs
3.2.2 Utilisation d’un CNN pour la classification des tâches d’insertion à l’aide des signaux d’un capteur F/T
3.2.3 Approche proposée
3.3 Montage expérimental
3.3.1 Acquisition des données
3.3.2 Prétraitement des données
3.4 Expériences et résultats
3.4.1 Méthodologies d’entraînement et de test
3.4.2 Résultats expérimentaux
3.5 Exemple d’utilisation du CNN sur des démonstrations complètes
3.5.1 Utilisation du CNN pour des entrées plus longues
3.5.2 Exemple d’utilisation du CNN pour une démonstration complète
3.6 Discussion
CHAPITRE 4 DÉVELOPPEMENT D’UN SYSTÈME DE REMPLACEMENT DE TÂCHE D’INSERTION
4.1 Amélioration du CNN : localisation d’une tâche dans un signal
4.1.1 Approche proposée
4.1.1.1 Intégration d’un système de localisation de tâches d’insertion en sortie du CNN
4.1.2 Acquisition et traitement de la base de données
4.1.2.1 Acquisition de démonstrations complètes pour la construction d’une base de données
4.1.2.2 Construction de la base de données d’entraînement et de test
4.1.3 Méthodologie d’entraînement du CNN à multiples sorties
4.1.3.1 Entraînement du réseau pour la classification de tâches d’insertion
4.1.3.2 Entraînement du réseau pour la localisation de tâches d’insertion
4.1.3.3 Segmentation d’une démonstration à partir des fenêtres de signal générées pour la détection de tâches d’insertion
4.1.4 Expérience et résultats
4.1.4.1 Résultats de détection sur démonstrations complètes
4.1.4.2 Résultats de localisation sur démonstrations complètes
4.2 Segmentation d’une démonstration pour l’optimisation de la séquence
4.2.1 Évaluation du point d’approche pour l’insertion
4.2.1.1 Point d’approche basé sur la trajectoire de démonstration
4.2.1.2 Point d’approche basé sur l’analyse de la composante principale des points de l’insertion
4.3 Discussion sur la détection de tâche d’insertion et sur la segmentation complète d’une démonstration
CHAPITRE 5 DÉVELOPPEMENT D’UN SYSTÈME INTELLIGENT ET ROBUSTE POUR REJOUER UNE DÉMONSTRATION
5.1 Développement d’une solution robuste pour rejouer une tâche d’insertion
5.2 Développement d’une solution de suivi de trajectoire pour la rejouabilité d’une démonstration
5.2.1 Suivi de trajectoire
5.2.2 Modification d’une trajectoire dans le but de générer une approche à une tâche
5.2.3 Optimisation d’une démonstration : création d’un programme basé sur les tâches
5.3 Expérimentations et résultats
CONCLUSION 

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *