Les Post Processeurs permettent de générer des programmes hors-ligne pour tout type de baies de contrôle (contrôleur robot). Un Post Processeur permet donc de générer un programme robot pour un contrôleur robot spécifique. Pour cette raison, les post processeurs font partie d’un processus important dans les étapes d’une programmation hors-ligne (PHL)
La conversion d’une simulation RoboDK vers un programme robot se fait grâce à un post processeur. Chaque robot utilise un post processeur par défaut. Le post processeur est utilisé au moment de générer le programme hors-ligne. La section Génération de programmes montre comment générer un programme hors-ligne (faire un clic droit sur un programme et sélectionner Générer programme robot)
RoboDK possède plusieurs post processeurs pouvant supporter plusieurs contrôleurs robot, la liste est disponible dans la section Liste de Post Processors. Il est aussi possible de créer un post processeur « sur mesure » ou modifier un post processeur existant. Tous les post processeurs sont disponibles dans le dossier :
C:/RoboDK/Posts/
Un post processeur est un fichier PY (chaque post processeur est défini par un script Python). Il est possible de manuellement ajouter, modifier ou supprimer ces fichiers depuis le dossier Posts de RoboDK. Si un post processeur (fichier PY) vous a été fourni, il doit être placé dans le dossier Posts pour qu’il puisse être sélectionné depuis RoboDK.
Cette section montre comment sélectionner, modifier ou créer un post processeur et l’utiliser avec vos robots dans RoboDK. Une présentation rapide est disponible dans la vidéo suivante (Anglais) :
https://www.robodk.com/help#PostProcessor
Afin de sélectionner un post processeur pour un robot :
1.Faire un clic droit sur un robot ou un programme.
2.Sélectionner Sélectionner le Post Processeur.
3.Choisir un post processeur à partir de la liste qui apparait.
4.Sélectionner OK.
La modification est maintenant effective et le programme peut être généré à nouveau pour obtenir une nouvelle version de programme.
Il est aussi possible de sélectionner le post processeur en suivant ces étapes :
1.Ouvrir le panneau/fenêtre du robot (double cliquer sur le robot).
2.Sélectionner Paramètres.
3.Sélectionner la liste post processeur dans la section Post Processeur.
Il est possible de modifier un post processeur existant ou de créer de nouveaux post processeurs. Tous les post processeurs doivent être placés dans le dossier d’installation (par défaut C:/RoboDK/Posts/) pour qu’ils puissent être sélectionnés dans RoboDK. La section précédente contient les consignes pour apprendre à assigner un post processeur pour un contrôleur robot spécifique.
Chaque post processeur est un fichier PY. Il est possible de le renommer ou de copier d’autres fichiers dans le dossier C:/RoboDK/Posts/ pour partager différents post processeurs. Afin de supprimer un post processeur, il faut simplement supprimer le fichier PY correspondant.
Les post processeurs peuvent être modifiés en utilisant un éditeur texte ou un éditeur Python (Python IDLE). En utilisant un éditeur Python, cela permet de faire une évaluation rapide d’un programme d’essais à la fin du fichier Python.
Video: Presentation (Anglais) “overview of post processors”: https://www.youtube.com/watch?v=lbycCDjtOnE.
Python doit être installé pour tester ou utiliser les post processeurs (Python est installé par défaut avec RoboDK). Pour modifier un post processeur :
1.Sélectionner Programme➔Ajouter/Modifier Post Processeur.
2.Sélectionner un post processeur existant.
3.Sélectionner OK. Un éditeur texte s’ouvre.
4.Sélectionner Run➔Run module (F5) pour pré-visualiser un résultat. Modifier si nécessaire le post processeur.
Sinon, il est possible d’éditer un post processeur manuellement :
1.Aller dans le dossier C:/RoboDK/Posts/.
2.Ouvrir un fichier PY avec Python IDLE (faire un clic droit, puis, Edit with IDLE) ou un autre éditeur texte.
3.Effectuer les modifications.
4.Exécuter le fichier pour effectuer un essai : Sélectionner Run➔Run module (F5) dans Python IDLE.
Alternativement, il est possible d’éditer ce fichier en utilisant un éditeur texte et l’exécuter avec Python en double cliquant dessus.
Cette section montre comment effectuer de petites modifications à l’intérieur d’un post processeur existant.
Comme exemple, on appliquera les changements suivants au post processeur KUKA KRC4 :
●Modifier la vitesse maximale à 500 mm/s. Même si le robot peut être programmé pour se déplacer plus vite, la vitesse sera limitée à 500 mm/s.
●Générer chaque programme sous un fichier séparé et obliger les programmes d’avoir 3000 lignes de code au maximum. Les programmes longs seront divisés en de plus petits programmes qui seront appelé séquentiellement.
La section précédente montre comment ouvrir un post processeur pour une modification :
1.Sélectionner Programme➔Ajouter/Modifier Post Processeur
2.Sélectionner KUKA_KRC4
3.Sélectionner OK. Le post processor s’ouvrira dans l’éditeur Python IDLE.
Les sections suivantes montrent comment effectuer les modifications que l’on souhaite réaliser dans l’éditeur.
Suivre ces étapes afin de fixer une limite de vitesse maximale de 500 mm/s :
1.Trouver la définition de la fonction setSpeed (def setSpeed) – Ligne 288
2.Ajouter le code suivant avant de générer $VEL.CP qui convertira la vitesse en m/s :
speed_mms = min(speed_mms, 500)
Ajouter les changements suivants pour générer plus d’un programme par fichier et générer des programmes avec 3000 lignes au maximum.
1.Fixer la variable MAX_LINES_X_PROG à 3000
2.Fixer la variable INCLUDE_SUB_PROGRAMS à False
Par défaut, les post processeurs suivants sont disponibles dans RoboDK :
●ABB_RAPID_IRC5 : pour les contrôleurs ABB IRC5
●ABB_RAPID_S4C : pour les contrôleurs ABB S4C
●Adept_Vplus : pour la langue de programmation Adept V+
●Allen_Bradley_Logix5000 : pour Allen Bradley Logix5000 PCL
●CLOOS : pour les contrôleurs CLOOS
●Comau_C5G : pour les contrôleurs Comau C5G
●Denso_PAC : pour les contrôleurs Denso RC7 et plus vieux (langue de programmation PAC)
●Denso_RC8 : pour les contrôleurs Denso RC8 et plus nouveaux (langue de programmation PacScript)
●Dobot : Pour les robots pédagogiques Dobot
●Fanuc_R30iA pour les contrôleurs Fanuc R30iA et R30iB
●Fanuc_R30iA_Arc : pour la soudure avec des robots Fanuc
●Fanuc_RJ3 : pour les contrôleurs Fanuc RJ3
●GCode_BnR : pour les contrôleurs B&R
●GSK : pour les robots GSK
●HIWIN_HRSS : pour les robots HIWIN
●KAIRO : pour les contrôleurs Keba Kairo
●KUKA_IIWA : pour la programmation Sunrise en Java KUKA IIWA
●KUKA_KRC2 : pour les contrôleurs KUKA KRC2
●KUKA_KRC2_CamRob : pour l’option d’usinage CamRob de KUKA
●KUKA_KRC2_DAT : pour les contrôleurs KUKA KRC2 incluant les fichiers de données DAT
●KUKA_KRC4 : pour les contrôleurs KUKA KRC4
●KUKA_KRC4_Config : pour les contrôleurs KUKA KRC4 avec l’information de la configuration pour chaque cible Cartésienne
●KUKA_KRC4_DAT : pour les contrôleurs KUKA KRC4 incluant le fichier de données DAT
●Kawasaki : pour les contrôleurs Kawasaki AS
●Mecademic : pour les robots Mecademic Meca500
●Mitsubishi : pour les contrôleurs Mitsubishi
●Motoman/Yaskawa : pour les contrôleurs différents de Motoman utilisant Inform II et Inform III (JBI)
●Nachi_AX_FD : pour les contrôleurs Nachi AX et FD
●OTC : pour les contrôleurs Daihen OTC
●Panasonic : Pour les programmes PRG de Panasonic
●Precise : pour les robots Precise Scara
●Siemens_Sinumerik : pour les contrôleurs Siemens Sinumerik ROBX
●Staubli_VAL3 : pour les programmes de robot Staubli VAL3 (contrôleur CS8 ou plus tard)
●Staubli_VAL3_InlineMove : pour générer les programmes de Staubli VAL3 avec les données de mouvement en ligne.
●Staubli_S6 : pour les contrôleurs Staubli S6
●Toshiba : pour les robots Toshiba
●Universal_Robots : pour les robots UR, générer des mouvements linéaires sous une cible de pose
●Universal_Robots_RobotiQ : pour les robots UR incluant le support pour la pince RobotiQ
Universal_Robots_joints : pour les robots UR, générer des mouvements linéaires sous une cible de joint
●Yamaha : pour les robots Yamaha
Vidéo : La vidéo suivante montre un résumé de comment utiliser les post processeurs dans RoboDK :
https://robodk.com/help#PostProcessor
Le module robodk.py fourni des outils pour les opérations de matrices (pour des multiplications des poses, inverse, etc.) et aussi les conversions entre poses et angles d’Euler dans différents formats, entre autres.
Une documentation plus technique est disponible en ligne dans la section de l’API (Anglais):
http://robodk.com/doc/en/PythonAPI/postprocessor.html
Tous les post processeurs utilisent le module robodk.py de Python :
http://robodk.com/doc/en/PythonAPI/robodk.html#robodk.Mat
La documentation de Python est disponible en ligne si vous voulez apprendre plus sur la programmation Python :
https://docs.python.org/3/
Lorsqu’un programme est généré, un programme Python générique/universel est généré et sauvegardé dans un dossier local temporaire. Ce programme générique est lié au post processeur approprié (sélectionné par l’utilisateur dans RoboDK). Le post processeur utilise une classe RoboPost définie dans le post processeur et qui génère le programme désiré.
Les programmes précompilés sont exécutés avec Python.