Outils pour utilisateurs

Outils du site


kuka

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
kuka [2020/01/16 13:14]
tflayols
kuka [2020/01/22 12:58]
bvandepo
Ligne 1: Ligne 1:
-KUKA.Si Pro 3.04+=====Présentation du matériel===== 
 +====Règles de sécurité==== 
 +Il est absolument nécessaire d’observer les quelques règles de sécurité suivantes afin d'​éviter tout incidents pendant les phases de manipulation. 
 + 
 +  * <color red> Toute manipulation du robot doit s'​opérer en binôme et sous surveillance de l’encadrant.</​color>​ 
 +  * <color red> Ne jamais pénétrer dans la zone de travail du robot lorsqu'​il est en fonctionnement,​ et toujours travailler avec la cage de protection fermée.</​color>​ 
 +  * <color red> En cas d'​incident,​ appuyer sur l'​arrêt d'​urgence situé sur le SmartPAD ou la grille de protection.</​color>​ 
 +  * <color red> Ne pas toucher le robot après ou pendant le fonctionnement. Les moteurs peuvent atteindre des températures élevés.</​color>​ 
 +  * <color red> On se limitera toujours à une vitesse < 20% pendant les tests des programmes. On ne dépassera jamais 50% de la vitesse maximale.</​color>​ 
 + 
 + 
 +====Système robotique===== 
 +Le robot KR 6 R700 sixx est un bras manipulateur industriel. Il dispose de 6 degrés de libertés, et, dans sa configuration à l’AIP, est équipé d’une pince pneumatique en guise d’organe terminal. 
 +Le système robotique complet se compose de quatre éléments:​ 
 +  * Le bras manipulateur KR6 R700 
 +  * L’armoire de commande 
 +  * Le Kuka control panel ou Smartpad  
 +  * La cage de protection 
 + 
 +====Logiciels===== 
 +Les différents logiciels utilisés pour simuler et programmer le robot sont: 
 +  * **KUKA.SimPro** (Simulation du robot, programmation simplifiée)  
 +  * **KUKA.OfficeLite** (Programmation complete du robot en simulation) 
 +  * **KUKA.VisualWork** (Edition des programmes et configurations du robot, transfert avec le robot) 
 + 
 +La plupart des informations requises pour programmer un robot KUKA sont disponibles dans le manuel suivant: [[http://​supportwop.com/​IntegrationRobot/​content/​4-Logiciel_Utilisation_Programmation/​Logiciel_systeme_KSS_VSS/​KSS8x/​8.2/​Manuel_de_service__int%C3%A9grateur_KSS_82_fr.pdf|Manuel de service intégrateur ]] 
 +__**Il servira de référence pour l'​ensemble des travaux pratiques à réaliser.**__ 
 + 
 +Le langage de programmation des robots KUKA est le KRL (KUKA ROBOT LANGUAGE). Plusieurs niveaux de programmation sont possibles pour programmer les robots KUKA en fonction du groupe utilisateur:​ 
 + 
 +==Programmation pour le groupe d'​utilisateur "​Utilisateur"​ (formulaires en ligne)== 
 +Pour les instructions souvent utilisées, telles que des déplacements simples, on dispose de formulaires en ligne dans le KSS. Ceci facilite la programmation. 
 + 
 +==Programmation pour le groupe d'​utilisateur "​Expert"​ (syntaxe KRL)== 
 +Le mode utilisateur Expert donne accès à l’entièreté de la syntaxe KRL.  
 + 
 + 
 +=====Présentation de l'​application à réaliser===== 
 +On se propose au cours de ce TP de résoudre un Rubik'​s cube à l'aide du bras KUKA. 
 +Le robot est équipé d'une pince pneumatique permettant de saisir le cube. De plus un support fixe sera placé dans l'​espace de travail pour que le robot puisse faire tourner les deux premières rangés de cubies (facette d'un Rubik'​s cube). 
 +  
 +{{http://​homepages.laas.fr/​tflayols/​files/​ressources_kuka/​support_cube.PNG|}} 
 + 
 +Par un ensemble de manipulation à définir, le robot sera capable de faire tourner le cube et le replacer dans dans le socle dans toutes les orientations.  
 + 
 +Ainsi, par déplacement successifs le robot disposera des mouvements de base pour entamer la résolution du Rubik'​s cube. 
 + 
 +Un système de vision permet d'​observer la face supérieure du cube et met à disposition les couleurs des 9 cases sur un serveur de capteur (Serveur TCP). 
 + 
 +Un programme python se charge de donner les ordres de déplacement au robot KUKA sur demande.  
 + 
 +Dans un premier temps, ce programme récupère les configurations de chaque faces du cube en donnant les ordre de déplacement permettant de présenter les différentes faces. 
 +Une fois les 6 faces connues, l'​application ​ puis fait appel à un algorithme de résolution [[https://​github.com/​Wiston999/​python-rubik]]. 
 +Finalement, les consignes de résolutions sont envoyés au robots au fur et à mesure de leurs executions. 
 + 
 +==== Notations ==== 
 +Pour résoudre un Rubik'​s cube, un ensemble de notation standards ont été définies. C'est sous cette forme que les algorithmes de résolution donnent les séquence de mouvement à réaliser. Elles expriment les mouvement en considérant l'​orientation du robot dans le monde (faces UP, DOWN, LEFT, RIGHT, FRONT et BACK). 
 + 
 +Avec notre système robotique, nous sommes obligés de tourner le cube pour présenter la face à faire tourner vers le bas. Aussi dans l'​ensemble des programmes, on appellera les faces non pas par leurs orientations géométriques,​ mais par leurs couleurs centrale. (Red, Yellow, Orange, Blue, While, Green). 
 +Les ordres de résolutions sont alors, une couleur de face, et un sens de rotation horaire (CW - ClockWise) ou anti horaire (CCW - ConterClockWise). L'​application de résolutions traduit la rotation d'une face (Rouge par exemple) par des rotations de l'​ensemble du cube, pour placer la face rouge dans le socle, puis une rotation des deux rangés supérieures.  
 + 
 +Mouvements de base: 
 +La résolution du Rubik'​s cube est traduite en mouvements de base qui sont: 
 + 
 +  * code 0 - **FCW** ​ : Tourner l'​ensemble du cube dans le sens horaire en regardant la face FRONT (avant) 
 +  * code 1 - **FCCW** : Tourner l'​ensemble du cube dans le sens anti-horaire en regardant la face FRONT (avant) 
 +  * code 2 - **UCW** ​ : Tourner l'​ensemble du cube dans le sens horaire en regardant la face UP (du haut) 
 +  * code 3 - **UCCW** : Tourner l'​ensemble du cube dans le sens anti-horaire en regardant la face UP (du haut) 
 +  * code 4 - **MCW** ​ : En bloquant la face DOWN (du bas), tourner les deux rangés du haut dans le sens horaire  
 +  * code 5 - **MCCW** : En bloquant la face DOWN (du bas), tourner les deux rangés du haut dans le sens anti-horaire 
 +Où le **code** est une valeur entière transmise au robot  
 +Un dernier code transmit comme un mouvement permet d'​informer le robot que la manipulation est finie 
 +  * code 100 - **END** : Tous les mouvements ont été transmis, fin du programme KRL 
 + 
 +A l'​initialisation,​ le cube doit être placé avec le centre de chaque face dans la configuration suivante: 
 +  * FRONT center -> RED 
 +  * RIGHT center -> GREEN 
 +  * UP center -> YELLOW 
 +  * ... 
 + 
 +{{http://​homepages.laas.fr/​tflayols/​files/​ressources_kuka/​setup_kuka.jpg|}} 
 + 
 +===== Annexes ===== 
 +====KUKA.Si Pro 3.04==== 
 + 
 +Modalisation de la pince: 
 +{{http://​homepages.laas.fr/​tflayols/​files/​ressources_kuka/​Kuka%20Sim%20Pro%203.docx|Doc_modelisation}} 
 +{{http://​homepages.laas.fr/​tflayols/​files/​ressources_kuka/​Kuka_Gripper.vcmx|Kuka_Gripper.vcmx}} 
 + 
 +===Configuration de licence=== 
 +{{http://​homepages.laas.fr/​tflayols/​files/​ressources_kuka/​01.PNG|}} 
 +{{http://​homepages.laas.fr/​tflayols/​files/​ressources_kuka/​02.PNG|}}
 ===Activation de l'​option "​connectivity"​=== ===Activation de l'​option "​connectivity"​===
  
Ligne 15: Ligne 106:
  
  
-===Programme pour extraire les faces d'un rubiks cube===+====Programme pour extraire les faces d'un rubiks cube====
 <file python tcv3.py> <file python tcv3.py>
 #​!/​usr/​bin/​python3 #​!/​usr/​bin/​python3
Ligne 249: Ligne 340:
  
  
-=====Programe ​KRL=====+====Programme ​KRL====
 <file KRL TestTpCube.src>​ <file KRL TestTpCube.src>​
 &ACCESS RVP &ACCESS RVP
Ligne 341: Ligne 432:
 END END
 </​file>​ </​file>​
 +
 +
 +<ifauth @prof>
 +
 +
 +
 +FP: Fermeture Pince
 +
 +OP: Ouverture Pince
 +
 +Pi: Position i
 +
 +^  FCW  ^ FCCW  ^  UCW  ^ UCCW  ^  MCW  ^ MCCW  ^
 +|  OP   ​| ​ OP   ​| ​ OP   ​| ​ OP   ​| ​ OP   ​| ​ OP   |
 +|  P3   ​| ​ P2   ​| ​ P5   ​| ​ P6   ​| ​ P5   ​| ​ P6   |
 +|  P4   ​| ​ P1   ​| ​ P7   ​| ​ P8   ​| ​ P7   ​| ​ P8   |
 +|  FP   ​| ​ FP   ​| ​ FP   ​| ​ FP   ​| ​ FP   ​| ​ FP   |
 +|  P3   ​| ​ P2   ​| ​ P5   ​| ​ P6   ​| ​ P8   ​| ​ P7   |
 +|  P2   ​| ​ P3   ​| ​ P6   ​| ​ P5   ​| ​ OP   ​| ​ OP   |
 +|  P1   ​| ​ P4   ​| ​ P8   ​| ​ P7   ​| ​ P6   ​| ​ P5   |
 +|  OP   ​| ​ OP   ​| ​ OP   ​| ​ OP   ​| ​ P0   ​| ​ P0   |
 +|  P2   ​| ​ P3   ​| ​ P6   ​| ​ P5   ​| ​      ​| ​      |
 +|  P0   ​| ​ P0   ​| ​ P0   ​| ​ P0   ​| ​      ​| ​      |
 + 
 +
 +</​ifauth>​
kuka.txt · Dernière modification: 2020/01/22 12:58 par bvandepo