La Programmation hors-ligne (Offline Programming) consiste en programmer les robots sans la nécessité d'arrêter le robot, hors de l'environnement de production. La Programmation hors-ligne permet de réduire le temps de programmation robot avec un logiciel de simulation. Ceci permet d'évaluer plusieurs scénarios avant de construire la cellule automatisé et d'éviter les erreurs faits par méthodes d'apprentissage traditionnels.
La Programmation hors-ligne permet de maximiser le retour d'investissement de robots industriels.
La programmation hors-ligne n'a pas de limites avec le logiciel RoboDK. La simulation et programmation de robots industriels est très facile avec l'interface d'utilisateur graphique (GUI) RoboDK. RoboDK permet d'éviter les singularités et les limites des axes. Il n'est pas nécessaire d'avoir expérience en programmation. Visitez la section deProgrammation hors-lignede la documentation pour plus d'informations.
Avec la API de RoboDK il est aussi possible de programmer des robots avec Python.Pythonest un langage de programmation qui permet la intégration de façon rapide et facile. En comparaison avec d'autres langages de programmation, Python permet d'arriver au même résultat avec moins lignes de code.
Voir la section de laAPI de RoboDKpour plus d'information. La API de RoboDK est aussidisponible en C#etMatlab.
从robolink从RoboDK进口* # de RoboDK APIimport * # Toolbox pour la robotique # Démarrer la API de RoboDK: RDK = Robolink() # Prendre le robot (premier robot trouvé): robot = RDK.Item('', ITEM_TYPE_ROBOT) # Prendre la cible: target = RDK.Item('Target 1') target_pose = target.Pose() xyz_ref = target_pose.Pos() # Bouger le robot à la cible: robot.MoveJ(target) # Déssiner un hexagone autour de la cible: for i in range(7): ang = i*2*pi/6 #ang = 0, 60, 120, ..., 360 # Calculer la nouvelle position: x = xyz_ref[0] + R*cos(ang) # nouvelle coordonnée X y = xyz_ref[1] + R*sin(ang) # nouvelle coordonnée Y z = xyz_ref[2] # nouvelle coordonnée Z target_pos.setPos([x,y,z]) # Bouger à la cible: robot.MoveL(target_pos) # Appel de fonction à la fin du programme robot.RunCode('Program_Done') # Bouger le robot au point de départ: robot.MoveL(target)
Une fois on a obtenu le résultat désiré dans la simulation il est très facile de générer le programme robot hors-ligne. Par exemple, le programme suivant sera généré pour un robot ABB.
MODULE MOD_HexagonPath PROC HexagonPath() !Programme généré avec RoboDK pour ABB IRB 1600ID-4/1.5. Date 29/11/2014 17:42:31 ConfJ \On; ConfL \On; rdkTool.tframe:=[-4,0,371.3],[0.92387953,0,0.38268343,0]; MoveJ [[1010.634,-114.491,662.29],[0,0,1,0],[-1,0,-1,0],rdkExtax], rdkSpeed, rdkZone, rdkTool, \WObj:=rdkWObj; MoveL [[810.634,-114.491,662.29],[0,0,1,0],[-1,0,-1,0],rdkExtax], rdkSpeed, rdkZone, rdkTool, \WObj:=rdkWObj; MoveL [[910.634,58.715,662.29],[0,0,1,0],[0,-1,0,0],rdkExtax], rdkSpeed, rdkZone, rdkTool, \WObj:=rdkWObj; MoveL [[1110.634,58.715,662.29],[0,0,1,0],[0,-1,0,0],rdkExtax], rdkSpeed, rdkZone, rdkTool, \WObj:=rdkWObj; MoveL [[1210.634,-114.491,662.29],[0,0,1,0],[-1,0,-1,0],rdkExtax], rdkSpeed, rdkZone, rdkTool, \WObj:=rdkWObj; MoveL [[1110.634,-287.696,662.29],[0,0,1,0],[-1,0,-1,0],rdkExtax], rdkSpeed, rdkZone, rdkTool, \WObj:=rdkWObj; MoveL [[910.634,-287.696,662.29],[0,0,1,0],[-1,0,-1,0],rdkExtax], rdkSpeed, rdkZone, rdkTool, \WObj:=rdkWObj; MoveL [[810.634,-114.491,662.29],[0,0,1,0],[-1,0,-1,0],rdkExtax], rdkSpeed, rdkZone, rdkTool, \WObj:=rdkWObj; Program_Done; MoveL [[1010.634,-114.491,662.29],[0,0,1,0],[-1,0,-1,0],rdkExtax], rdkSpeed, rdkZone, rdkTool, \WObj:=rdkWObj; ConfJ \On; ConfL \On; ENDPROC ENDMODULE
Un post-processeur robot permet de traduire le langage de programmation générique vers un contrôleur spécifique. La conversion d'une simulation à un contrôleur robot spécifique se fait avec un post-processeur. Les post processeurs RoboDK permettent la flexibilité de générer des programmes robot pour des besoins spécifiques.
La plupart des marques robot sont disponibles dans RoboDK. Visitez la sectionPost-Processeurde la documentation pour plus d'information.