Post Processeurs

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


Sélectionner un Post Processeur

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.

Post Processors - Image 1 Post Processors - Image 2

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.

Post Processors - Image 3


Modifier un 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 ProgrammeAjouter/Modifier Post Processeur.

2.Sélectionner un post processeur existant.

3.Sélectionner OK. Un éditeur texte s’ouvre.

4.Sélectionner RunRun module (F5) pour pré-visualiser un résultat. Modifier si nécessaire le post processeur.

Post Processors - Image 4

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 RunRun 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.

Post Processors - Image 5

Post Processors - Image 6


Exemple de Modification

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 ProgrammeAjouter/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.

Contraindre une vitesse maximale

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)

Post Processors - Image 7

Générer un programme par fichier

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

Post Processors - Image 8


Liste de Post Processeurs

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


Référence

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.