Universal Robots (UR) peut être programmé avec RoboDK en utilisant deux méthodes différentes : les fichiers URP et les fichiers Script.
1.L’interface utilisateur graphique (fichiers URP) : Les programmes URP sont créés à l’aide de l’écran tactile du robot. Un programme URP peut avoir un ou plusieurs fichiers SCRIPT comme sous-programmes. Les programmes URP sont transformés en programmes SCRIPT en arrière-plan sur le contrôleur de robot avant l’exécution
2.Fichiers Script : Les programmes de script utilisent le langage de programmation UR Script. Comme tout autre langage de programmation, UR Script a des variables, types, flux de commandes, fonctions, etc. En outre, UR Script a plusieurs variables et fonctions intégrées qui contrôlent les I/O et les mouvements du robot.
RoboDK est un simulateur et un logiciel de programmation hors ligne pour les robots industriels. RoboDK peut générer des fichiers SCRIPT et URP qui peuvent être exécutés par un robot UR. En outre, il est possible d’exécuter des programmes sur le robot à partir de RoboDK si le robot est connecté à l’ordinateur.
RoboDK peut également importer des fichiers SCRIPT sur le simulateur. Cela permet de simuler des programmes SCRIPT existants, de les modifier et de les réexporter.
Le teach pendant Graphical User Interface UR est appelé Polyscope (comme le montre l’image suivante). Consulter le manuel Urscript Programming Language pour plus d’informations

L’IP du robot est nécessaire pour exécuter des programmes directement à partir du simulateur RoboDK. Il est également possible de transférer des fichiers de programme par FTP.
L’adresse IP du robot peut être récupérée à partir du menu About de l’écran principal du teach pendant.

Le robot doit être connecté à l’ordinateur via une connexion Ethernet (connexion directe ou via un réseau). Un test Ping permet de tester si la liaison réseau a été correctement établie.
Les pilotes de robot fournissent une alternative à la programmation hors ligne (où un programme est généré, puis, transféré au robot et exécuté). Vous pouvez exécuter une simulation à partir de RoboDK directement sur le robot (Programmation en ligne). Plus d’informations disponibles dans la section Pilotes de robot.
Suivre ces étapes pour vous connecter au robot depuis RoboDK :
1.Faire un clic droit sur le robot dans RoboDK
2.Sélectionner : 
3.Entrer l’adresse IP du robot
4.Sélectionner Connecter.
Il devrait y avoir un message vert affichant Ready si la connexion a réussi.
Le robot peut être déplacé en sélectionnant Get robot joints, Move Joints et Move Linear, dans le menu de connexion.

Il existe deux méthodes différentes pour exécuter le programme du PC au robot :
1.Exécuter au robot étape par étape avec les retours dans RoboDK (programmation en ligne) :
Cette méthode utilise le robot comme serveur et chaque instruction est envoyée au robot étape par étape au fur et à mesure qu’elle est exécutée dans le simulateur. Cette méthode est utile pour le débogage.
a.Faire un clic droit sur le programme (Print3D dans cet exemple)
b.Sélectionner Exécuter au robot
c.Double-cliquer le programme pour démarrer (ou clic droit et sélectionner Exécuter)
Une fois cette option cochée, il se connectera au robot chaque fois que vous double-cliquer sur un programme (ou clic droit, puis, sélectionner Exécuter)
Ces opérations sont également disponibles à partir de l’API RoboDK et il permet d’intégrer la programmation robot avec d’autres applications. L’API est disponible en Python et C# et dans d’autres langages de programmation

2.Envoyer programme au robot génère le programme complètement, le transfert au robot et démarre le programme sur le robot. (Programmation Robot Hors Ligne) :
a.Faire un clic droit sur le programme (Print3D dans cet exemple)
b.Sélectionner Envoyer programme au robot (Ctrl+F6).

Activer l’option de commande à distance sur le contrôleur de robot UR si vous avez un robot URe (Ur3e, Ur5e ou Ur10e).
Suivre ces étapes pour activer le contrôle à distance sur un URe :
1.Sélectionner le bouton menu Settings situé dans le coin en haut à droite
2.Sélectionner System-Remote Control
3.Sélectionner Enable
4.Changer le mode d’opération à Remote Control



Les connexions du driver RoboDK aux systèmes de contrôle UR sont bidirectionnelles. Cela signifie que le driver ne se connecte pas seulement au système distant en tant que client, mais agit également comme un serveur en même temps, en attendant une connexion inverse depuis le système de contrôle. Cette connexion inverse depuis le système de contrôle UR vers l'ordinateur RoboDK est considérée par ce dernier comme une connexion entrante externe. Ces connexions sont le plus souvent bloquées par le pare-feu du système d'exploitation. Si désactiver complètement le pare-feu sur votre système n'est pas acceptable, utilisez le tableau ci-dessous pour autoriser les connexions entrantes et sortantes nécessaires :
Objectif | Direction | Protocole | Numéro de port (apiur) (apiur) | Numéro de port (DriverUR) (DriverUR) |
Interface secondaire | RoboDK → UR | TCP | 30002 | 30002 |
Interface temps réel (RTDE) | RoboDK → UR | TCP | not used | 30004 |
Interface inverse | UR → RoboDK | TCP | 30000 | 50001 |
Envoi de script | UR → RoboDK | TCP | not used | 50002 |
Interface de trajectoire | UR → RoboDK | TCP | not used | 50003 |
Interface de commande de script | UR → RoboDK | TCP | not used | 50004 |
Une fois qu’un programme est prêt dans RoboDK, il est possible de générer un SCRIPT et/ou un programme URP. Ces deux fichiers peuvent être exécutés par le contrôleur robot. Suivre ces étapes pour générer un SCRIPT et un programme URP à partir d’une simulation RoboDK :
1.Faire un clic droit sur un programme (Print3D dans cet exemple)
2.Sélectionner Générer programme robot F6
Après une génération de programme réussie, le programme sera affiché sur un éditeur de texte. Ce comportement peut être modifié dans le menu : Outils➔Options➔Programme

Le transfert des fichiers SCRIPT et URP peut se faire via le transfert SFTP ou une clé USB.
Les étapes suivantes résument la procédure de chargement d’un fichier URP sur le robot Universal Robots.
1.Faire un clic droit sur le programme et sélectionner Sélectionner le Post Processeur
2.Sélectionner Universal Robots URP
Ces 2 premières étapes sont optionnelles car le post par défaut génère également un fichier URP, cependant, il vous permettra de générer un programme URP lisible par l’utilisateur au lieu d’un programme URP qui exécute un fichier script.
3.Faire un clic droit sur le programme et sélectionner Générer programme robot (F6)
4.Enregistrer le(s) fichier(s) URP généré(s) sur une clé USB.
5.Connecter la clé USB sur le teach pendant du robot (Polyscope UR)
6.Sur le teach pendant du robot: Sélectionner l’onglet Run
7.Sélectionner Load Program et charger le programme généré par RoboDK.
8.Sélectionner l’onglet Program et sélectionner le bouton Play pour démarrer.
9.Sélectionner le bouton Play pour démarrer le programme.




Les étapes et images suivantes résument la procédure d’exécution d’un programme SCRIPT sur le robot. Ces étapes ne sont pas nécessaires pour exécuter un fichier de programme URP :
1.Sélectionner Program Robot sur l’écran principale du teach pendant
2.Sélectionner Empty Program
3.Sélectionner l’onglet Structure
4.Sélectionner l’onglet Advanced
5.Sélectionner Script code
6.Sélectionner File (tel que montré dans l’image)
7.Sélectionner le fichier script généré par RoboDK.
8.Sélectionner l’icône Play pour exécuter le programme
9.Sélectionner File➔Save pour sauvegarder les changements
10.Enfin, le programme peut être exécuté




Un programme SCRIPT généré depuis RoboDK (en appuyant sur F6) peut être transféré à un robot en utilisant une clé USB ou par transfert FTP si le robot et l’ordinateur sont connectés.
Il est recommandé d’installer FileZilla Clientsur le chemin par défaut ou directement dans le dossier d’installation de RoboDK. Comme cela il est détecté automatiquement par RoboDK :
C:\RoboDK\FileZilla FTP Client\
Pour transférer un fichier à travers un FTP :
1.Faire un clic droit sur le robot
2.Sélectionner Connecter au robot...
3.Sélectionner Explorer. FileZilla Client va s’ouvrir (logiciel de transfert FTP).
4.Sélectionner File➔Site Manager...
5.Sélectionner Universal Robot sample, dans Predefined Sites.
6.Sélectionner Duplicate. Une copie du paramètre Universal Robot sera créée.
7.Entrer l’adresse IP du robot (192.168.1.66 dans notre exemple).
8.Sélectionner Connecter.
9.Transférer le fichier SCRIPT précédemment généré.
Les programmes SCRIPT sont généralement stockés dans le dossier /Programs/ sur le contrôleur du robot.

Il y a une macro disponible dans la bibliothèque qui permet de surveiller l’état d’un robot UR.
1.Sélectionner Fichier➔Ouvrir
2.Charger la macro UR_ActivateMonitoring.pydepuis : C:/RoboDK/Library/Macros/. Un nouvel objet Python sera ajouté dans la station.
3.S’assurer que l’adresse IP du robot est correctement fournie dans les paramètres de connexion du robot.
4.Double-cliquer sur la macro pour démarrer le monitoring.
Le simulateur mettra à jour la position du robot et créera des cibles à mesure que le vrai robot est déplacé. Entre autres, il est possible de surveiller la vitesse du robot, l’accélération et les courants moteur.
RoboDK prend en charge la génération de programmes pour les robots Universal Robots permettant d'utiliser des pinces RobotiQ. Vous pouvez utiliser la pince RobotiQ en générant un programme hors ligne et en utilisant le driver RoboDK pour les robots UR.
Vous pouvez utiliser la pince RobotiQ directement depuis le contrôleur UR en générant des programmes hors ligne à l'aide de RoboDK.
Pour ajouter la prise en charge des pinces RobotiQ, vous devez sélectionner le post-processeur Universal_Robots_RobotiQ :
5.Faites un clic droit sur un programme ou votre robot
6.Sélectionnez Sélectionner Post Processor
7.Sélectionnez Universal Robots RobotiQ
Vous pouvez ensuite générer des appels de programme permettant d'utiliser la pince RobotiQ. Par exemple : rq_move_and_wait( 255 ) pour ouvrir la pince ou rq_move_and_wait( 0 ) pour la fermer.

Une fois que votre programme est prêt dans RoboDK, vous pouvez le lancer sur le robot en utilisant l'une de ces 2 méthodes :
Faites un clic droit sur un programme (tel que GripperOpenClose) et sélectionnez Envoyer le programme au robot
Faites un clic droit sur un programme (tel que GripperOpenClose) et sélectionnez Générer le programme (cette seconde option nécessite de charger manuellement le programme sur le robot).
Cette méthode d'utilisation ne nécessite pas d'utiliser le driver.
Vous pouvez utiliser la pince RobotiQ directement depuis RoboDK à l'aide du driver (option Exécuter sur le robot). Le driver RoboDK pour UR et RobotiQ vous permet d'exécuter des programmes pas à pas depuis RoboDK et de voir le curseur d'exécution à tout moment depuis RoboDK.
Il est important de vous assurer que vous pouvez vous connecter au robot pour utiliser cette fonctionnalité. Vous devrez peut-être disposer des privilèges administrateur sous Windows et/ou ajouter une règle au pare-feu Windows pour autoriser cette communication (désactiver le pare-feu Windows peut aider à déterminer si le problème est lié au pare-feu).
Vous devez suivre ces étapes pour ajouter la prise en charge du mouvement de la pince RobotiQ directement depuis RoboDK :
8.Téléchargez le fichier script suivant :
https://robodk.com/files/upload/progrobodk-rq.zip
9.Décompressez le fichier progrobodk.script ici :
C:/RoboDK/bin/progrobodk.script
10.Assurez-vous de redémarrer le driver s'il était en cours d'exécution (double-cliquez sur Déconnecter, puis sur Connecter).
11.Sélectionnez Outils-Options-Drivers
12.Décochez l'option : Gérer les appels de programme avec RoboDK lors de la connexion à un robot.
Pour utiliser correctement la pince à l'aide du driver (par exemple, pour l'ouvrir/la fermer), vous devez utiliser l'appel de programme rq_move_and_wait en passant un paramètre compris entre 0 et 255.
Exemple :
rq_move_and_wait( 0 ) # Ferme complètement la pince
rq_move_and_wait( 255 ) # Ouvre complètement la pince
Le nombre passé en argument est requis par le driver.
Les robots UR prennent en charge les mouvements circulaires et les mouvements linéaires, cependant, vous pouvez voir des erreurs sur le boîtier de commande (teach pendant) si vous utilisez le driver pour les robots UR.
Vous pouvez voir les erreurs suivantes lorsque vous utilisez le driver du robot UR (option « Exécuter sur le robot ») car le driver n'applique pas tous les filtres par défaut présents dans le post-processeur UR. Ces filtres aident à nettoyer le code afin que le contrôleur UR puisse exécuter le programme sans problème.
Ces erreurs incluent :
13.Arc circulaire à rayon infini (CIRCULAR_ARC_WITH_INFINITE_RADIUS) : vous pouvez voir cette erreur lorsque vous essayez d'effectuer un mouvement circulaire avec un grand rayon. Le post-processeur convertit automatiquement ces mouvements en mouvements linéaires.
14.Arc circulaire à rayon nul (CIRCULAR_ARC_WITH_ZERO_RADIUS) : vous pouvez voir cette erreur avec de petits mouvements circulaires. Le post-processeur peut supprimer ces mouvements ou les convertir en mouvements linéaires.
Vous ne devriez pas voir ces erreurs lorsque vous générez le programme hors ligne (clic droit sur un programme puis Générer le programme, ou F6) ou lorsque vous l'envoyez automatiquement au robot (clic droit sur un programme puis Envoyer le programme au robot, ou Ctrl+F6). Ces deux méthodes de génération du programme utilisent le post-processeur plutôt que le driver.
Si vous rencontrez toujours des erreurs lors de la génération du programme hors ligne (sans utiliser le driver), vous pouvez convertir automatiquement les mouvements circulaires en mouvements linéaires en suivant ces étapes :
Sélectionnez Outils-Options
Sélectionnez l'onglet Programme
Cliquez sur l'option Éviter les arcs
Définissez le Pas minimum (mm) à 0,5 mm pour les mouvements linéaires : cela garantit que vous n'exportez pas de points plus proches que 0,5 mm afin que le rayon de raccordement (blend radius) ait un effet ; vous pouvez l'augmenter davantage pour obtenir des mouvements moins saccadés.
URSim vous permet d'émuler le comportement du véritable contrôleur de robot Universal Robots sur votre ordinateur. Cela vous permet de vous familiariser avec le contrôleur et de tester les programmes que vous générez à l'aide de RoboDK. Cette section vous guidera dans l'installation d'URSim.
Vous devez télécharger l'image officielle d'URSim depuis le site web d'Universal Robots ainsi qu'Oracle VM VirtualBox depuis les sites officiels.
Téléchargez la version la plus récente du simulateur hors ligne pour Non Linux depuis ce lien : https://www.universal-robots.com/download/?query=ursim.

15.Téléchargez et installez le logiciel Oracle VM VirtualBox depuis le lien suivant : https://www.virtualbox.org/wiki/Downloads.
16.Créez un dossier sur votre disque dur et nommez-le URSim.

17.Extrayez le contenu du fichier URSim téléchargé (fichier .zip ou .rar) dans le dossier URSim.

Cette section montre comment créer une nouvelle machine virtuelle à l'aide d'Oracle VM VirtualBox afin de simuler le contrôleur Universal Robots.
Suivez ces étapes pour créer une nouvelle machine Linux et charger l'image du contrôleur téléchargée :
18.Démarrez VirtualBox et appuyez sur « New ».

Définissez le nom sur UR_Sim_Eseries et le dossier Machine folder sur le dossier que vous avez créé. Définissez le type sur Linux et la version sur Ubuntu (64 bits).


Définissez la taille de la mémoire sur 768 Mo et appuyez sur « Next ».

Sélectionnez Use an existing virtual hard disk file et indiquez le chemin du dossier où le fichier zippé a été décompressé. Appuyez sur « Create ».




Appuyez sur « Start » pour démarrer la machine virtuelle.

Si un message d'erreur « Hardware acceleration is not available » s'affiche, vous devrez peut-être redémarrer l'ordinateur et modifier un paramètre du BIOS pour activer la virtualisation. Une fois la virtualisation activée, vous pouvez redémarrer Windows, VirtualBox et la machine virtuelle.
La machine virtuelle devrait maintenant démarrer.

Vous pouvez éventuellement configurer un dossier partagé entre l'ordinateur Windows et le contrôleur émulé afin de transférer facilement des fichiers de programme.
Suivez ces étapes pour associer le dossier des programmes RoboDK à un nouveau dossier dans le contrôleur de robot UR émulé :
19.Cette section explique comment disposer d'un dossier partagé entre Windows et URSim pour transférer des programmes.
20.Ouvrez la VM d'URSim.
21.Créez un dossier dans Linux Ubuntu et nommez-le « RoboDK_Shared » sous « /home/ur/ ».

22.Créez un raccourci sur le bureau en glissant-déposant le dossier « RoboDK_Shared » sur le bureau.

23.Ouvrez RoboDK_Shared.
24.Sélectionnez View → Folder View Mode → Compact View.

25.Depuis le menu supérieur de la fenêtre VirtualBox, sélectionnez Devices → Shared Folders → Shared Folders Settings.

26.Ajoutez un nouveau dossier partagé à l'aide du bouton montré dans l'image suivante.

27.Sélectionnez le chemin du dossier partagé sous Windows (vous pouvez utiliser n'importe quel dossier de votre ordinateur).
28.Cochez « Auto-mount » et « Make Permanent ».
29.Point de montage : /home/ur/RoboDK_Shared


30.Depuis le menu supérieur de VirtualBox, sélectionnez Devices → Insert Guest Additions CD Image.

31.Sélectionnez « Open in File Manager » et appuyez sur « OK ».

32.Ouvrez le dossier : /media/ur/VBox_Gas_6.1.38 (la version de VBox peut varier).

33.Double-cliquez sur le fichier « autorun.sh » et sélectionnez « Execute » (le mot de passe est « easybot »). L'exécution du script peut prendre un certain temps.

34.Redémarrez la machine virtuelle.
35.Ouvrez le terminal : sélectionnez le bouton Start → System Tools → UXTerm.

36.Tapez dans le terminal : sudo adduser $USER vboxsf et appuyez sur « Enter ».

37.Redémarrez la VM.
38.Si vous générez de nouveaux fichiers avec RoboDK dans votre dossier partagé Windows, vous pouvez appuyer sur « View » → « Reload Folder » ou appuyer sur « F5 » dans votre dossier partagé de la VM « RoboDK_Shared ».

Vous pouvez tester la connexion entre RoboDK et le contrôleur Universal Robots en utilisant URSim.
39.Dans le Oracle VM VirtualBox Manager.
40.Sélectionnez la VM UR_Sim_Eseries et appuyez sur Settings.

41.Sélectionnez Network → Attached to: et sélectionnez Bridge Adapter, puis appuyez sur OK.

42.Lancez la machine virtuelle URSim.

43.Lancez Polyscope avec le modèle UR de votre choix.

44.Récupérez l'adresse IP du simulateur.

45.Allez dans la fenêtre « Move » d'URSim.

46.Ouvrez une station RoboDK avec le même modèle UR.
47.Sélectionnez Connect → Connect Robot.

48.Saisissez l'adresse IP d'URSim et appuyez sur Connect.
49.Utilisez Get Position pour récupérer la position du robot URSim et l'appliquer à RoboDK.
50.Utilisez Move Joints pour déplacer le robot URSim vers la position du robot RoboDK.
51.Faites un clic droit sur un programme RoboDK, sélectionnez « Run on robot » puis « Run » pour exécuter le programme simultanément dans RoboDK et dans URSim.
Les étapes de cette section sont facultatives et ne sont exigées que dans certaines circonstances lorsque la précision est requise dans la programmation hors ligne. Cette section explique comment saisir les valeurs cinématiques uniques du robot UR dans RoboDK pour simuler avec précision le robot
La cinématique du contrôleur UR est unique pour chaque robot. Les cinématiques sont les dimensions qui définissent le robot sous la forme de la table DH (Denavit Hartenberg). Le simulateur RoboDK utilise la cinématique UR nominale par défaut, par conséquent, vous pouvez voir de 2 mm à 10 mm d’écart entre la cinématique du simulateur et la cinématique du contrôleur.
Pour que la simulation corresponde au vrai robot, vous pouvez importer la cinématique spécifique au robot UR en suivant cette procédure :
1.Récupérer un fichier URP généré à l’aide du robot réel (sans utiliser RoboDK ou le simulateur UR)
2.Ouvrir votre robot dans RoboDK. Vous trouvez votre robot UR dans la bibliothèque RoboDK. Il est possible également d’utiliser un robot UR disponible dans l’une de vos stations RoboDK existantes.
3.Sélectionner Outils ➔ Run Script (Maj+S)
4.Sélectionner UR_LoadControllerKinematics
5.Sélectionner le fichier URP extrait du contrôleur robot.
Vous voyez un message comme indiqué dans l’image suivante. Vous pouvez voir un message d’avertissement si vous n’avez pas chargé un fichier URP valide ou si vous n’avez pas sélectionné le robot UR approprié.

Lorsque cette procédure est terminée, faire un clic droit sur un robot et sélectionner Enregistrer sous… Ces paramètres sont enregistrés avec le fichier robot et vous pouvez utiliser le fichier robot au lieu de répéter cette procédure pour chaque nouveau projet
RoboDK extrait les informations spécifiques à votre robot du fichier URP et les prend en compte pour la simulation et la programmation hors ligne dans le fichier robot. Il est possible de modifier ce paramètre et revenir à la cinématique par défaut dans le menu des paramètres du robot comme le montre l’image suivante.

Vous remarquerez que les informations de Pose affichées sur le teach pendant correspondent à la cinématique affichée dans RoboDK (assurez-vous de supprimer le repère de l’outil et le repère de référence sur RoboDK et le robot UR pour effectuer la comparaison).
La cinématique UR passe d’un robot à un autre car chaque robot est calibré en usine par UR. D’autres vendeurs de robots tels que KUKA, ABB, Motoman ou Fanuc ne calibrent pas leurs robots (sauf avec l’option dite de précision absolue). Les options de précision absolue peuvent prendre en compte jusqu’à 40 paramètres d’étalonnage ou plus
Cette procédure n’est pas la même que celle expliqué dans l’étalonnage de robot avec Robodk. L’étalonnage du robot contribue à améliorer la précision du robot.