UnderAutomation
    • Accueil
  • Produits
    • Universal Robots SDK
      • Vue d'ensemble
      • Téléchargement
      • Documentation
    • Fanuc SDK
    • Yaskawa SDK
    • Staubli SDK
    • Devis • Commande
    • Licence
Une question ?

[email protected]

Contactez-nous
UnderAutomation
  • Accueil
  • Produits
      • Vue d'ensemble
      • Téléchargement
      • Documentation
      • Vue d'ensemble
      • Téléchargement
      • Documentation
      • Vue d'ensemble
      • Téléchargement
      • Documentation
      • Vue d'ensemble
      • Téléchargement
      • Documentation
  • Devis • Commande
  • Contactez-nous
⌘Q

Universal Robots SDK

1/0
GitHub stars
1090 (EUR) • 1290 (USD)

1090

€

Pour toujours

654

€

pour les universités (40% de réduction)

Créez rapidement des applications qui communiquent avec votre cobot Universal Robots en .NET, Python, Labview ou Matlab.


CommanderDemander un devis

.NET

Python

LabVIEW

Voir les conditions générales d'utilisation
Plug & Play

Connectez votre robot en quelques minutes seulement. Pas de gestionnaire de license à installer, pas de clé USB. Référencez seulement la bibliothèque.

Pas de plugins à installer sur le robot

Utilisation des protocoles réseau fournis en standard par le contrôleur de robot.
URCaps ROS

Essai de 30 jours

Essayez-le gratuitement pendant 30 jours, aucun engagement, aucun enregistrement requis

Payer une fois, utiliser pour toujours

Licence perpétuelle, aucun abonnement requis, quel que soit le nombre de robots, de développeurs ou de logiciels redistribués

Certification UR+

Les équipes techniques et commerciales d'Universal Robots ont audité cette bibliothèque. Ils certifient qu'elle est conforme et s'intègre parfaitement avec leurs robots et son écosystème.

Voir sur universal-robots.com

Fonctionnalités

La bibliothèque implémente dans plusieurs langages tous les protocoles natifs des cobots Universal Robots, permettant à votre ordinateur de se synchroniser et de piloter le bras robot à distance.

Piloter à distance

Le protocole « Dashboard Server » qui permet d’envoyer des ordres au robot à distance par TCP/IP. Vous pouvez par exemple mettre en service ou hors service le bras du robot, relâcher les freins, charger un programme, l’exécuter ou l’arrêter.
// Create a new robot instance
var robot = new UR();
// Connect to the robot
robot.Connect("192.168.0.1");
// Power on the robot arm and release brakes
robot.Dashboard.PowerOn();
robot.Dashboard.ReleaseBrake();
// Load program file to polyscope
robot.Dashboard.LoadProgram("fast_bin_picking.urp");
// Start the program
robot.Dashboard.Play();
// Get program name and state
var state = robot.Dashboard.GetProgramState();
Console.WriteLine($"Program name : {state.Value.Name}");
Console.WriteLine($"Stopped, Playing or Paused ? : {state.Value.State}");
// Display a popup on the pendant
robot.Dashboard.ShowPopup("I just remote-controlled my robot!");

Echanger des mesures

« Primary interface » et « RTDE » (Real-Time Data Exchange) permettent de recevoir un flux de mesure du robot jusqu’à 500Hz qui contient de nombreuses informations : position, état, entrées et sorties, la valeur des variables du programmes, … Votre application peut ainsi se synchroniser avec le robot. Aussi, il est possible d’écrire à haute vitesse dans le robot des registres partagés.
// Display robot TCP pose
var pose = robot.Rtde.OutputDataValues.ActualTcpPose;
// pose.X, pose.Y, pose.Z, pose.Rx, ...
// Display robot TCP force
var force = robot.Rtde.OutputDataValues.ActualTcpForce;
// Write data in robot controler
var inputs = new RtdeInputValues();
inputs.StandardAnalogOutput0 = 0.2;
inputs.InputBitRegisters.X64 = true;
robot.Rtde.WriteInputs(inputs);
// Display all program and installation variables
var variables = robot.PrimaryInterface.GlobalVariables.GetAll();
string name = variables[0].Name;
Pose value = variables[0].ToPose();
GlobalVariableTypes type = variables[0].Type;

Script et programme

  • Vous pouvez envoyer sur socket TCP/IP des lignes de script URScript à exécuter.
  • Des fonctions vous permettent de construire et d'éditer localement un fichier programme *.urp puis de le transférer dans le contrôleur UR afin qu’il soit exécuté.
// Ask robot to execute a movej
robot.PrimaryInterface.Script.Send("movej([-1.5,-1.5,-2,-0.5,1.8,0], a=1.4, v=1.05, t=0, r=0)");
// Enumerates files and folder
SftpFile[] items = robot.Sftp.ListDirectory("/home/ur/ursim-current/programs/");
// Download program file prg.urp to your local disk
robot.Sftp.DownloadFile("/home/ur/ursim-current/programs/prg.urp", @"C:\temp\prg.urp");
// Send a local file to the robot
robot.Sftp.UploadFile(@"C:\temp\prg.urp", "/home/ur/ursim-current/programs/prg.urp");
// Manipulate files and directories
robot.Sftp.RenameFile("/home/ur/prg.urp", "/home/ur/prg2.urp");
robot.Sftp.Delete("/home/ur/prg.urp");
bool exists = robot.Sftp.Exists("/home/ur/prg.urp");
robot.Sftp.WriteAllText("/home/ur/file.txt", "Hello robot !");
// ...

Socket personnalisé

Votre logiciel peut être serveur et permettre au robot de s’y connecter pour récupérer des informations :
  • XML-RPC : Le robot peut se connecter avec la fonction « rpc_factory » et appeler des méthodes avec arguments à distances dans votre programme qui peut retourner des valeurs.
  • Socket : Serveur TCP/IP classique auquel le robot peut se connecter avec la fonction « socket_open » puis dialoguer avec votre application dans les deux sens.
// Robot connects with URScipt function socket_open()
robot.SocketCommunication.SocketClientConnection += (o, e) =>
{
// Reply to the robot
e.Client.SocketWrite("Hello cobot <3");
};
// Event raised when the robot sends a message with socket_write()
robot.SocketCommunication.SocketRequest += (o, e) =>
{
string robotMessage = e.Message;
};
// Send a message to all connected clients
robot.SocketCommunication.SocketWrite("123456");

Kinematics et boite à outils hors ligne

Cette bibliothèque offre des fonctionnalités utilisables sans avoir un robot UR à porté sur le réseau. Il est par exemple possible de convertir des types de positions. Votre logiciel peut aussi ouvrir les fichiers natifs programme *.urp et installation *.installation et éditer son contenu. Il permet aussi de convertir une position cartésienne en positions en joints et vice-versa.
// Create X, Y, Z, RX, RY, RZ pose
var pose = new Pose(0.1, 0.2, -0.1, 0, 0.05, 0.1);
// Convert cartesian pose type to RPY or rotation vector
var rpy = pose.FromRotationVectorToRPY();
var vectorPose = pose.FromRPYToRotationVector();
// Get default DH parameters for UR3e robot model
IUrDhParameters dhParameters = KinematicsUtils.GetDhParametersFromModel(RobotModelsExtended.UR3e);
// Calculate forward kinematics for given joint angles in radians
KinematicsResult fkResult = KinematicsUtils.ForwardKinematics(new double[] { 0, -1.57, 1.57, 0, 0, 0 }, dhParameters);
// Convert the matrix transform to a Pose (X, Y, Z, RX, RY, RZ)
Pose cartesianPosition = Pose.From4x4MatrixToRotationVector(fkResult.ToolTransform);
// Calculate inverse kinematics for given cartesian pose
var matrix = vectorPose.FromRotationVectorTo4x4Matrix();
double[][] ikSolutions = KinematicsUtils.InverseKinematics(matrix, dhParameters);
// Decompile program and installation files and access inner XML
URInstallation installation = URInstallation.Load("C:\\temp\\default.installation");
URProgram prg = URProgram.Load("C:\\temp\\prg.urp");
XElement internalXml = prg.XML;

Et davantage...

  • Primary / Secondary interface
  • RTDE (Real-Time Data Exchange)
  • Dashboard server
  • Interpreter Mode
  • Sockets
  • XML-RPC
  • SSH
  • SFTP
  • Forward & Inverse Kinematics
  • ...
Lire la documentation

Commencez maintenant !

La bibliothèque dispose des mêmes fonctionnalités dans plusieurs langages.

Parcourir la documentation

La documentation vous permet de commencer rapidement à vous développer avec la bibliothèque. La même fonctionnalité est disponible dans toutes les langues prises en charge.

Commencer avec .NET

Codez votre application en C# ou VB avec cette bibliothèque 100% managée, sans dépendances et disponible sur NuGet.org dans la version et l'architecture de votre choix (x86, x64, ARM, Linux, Windows, MacOS, .NET Framework, .NET Core, UWP, ...)

Commencer avec Python

Développez rapidement un programme en Python qui communique avec votre robot à l'aide de cette bibliothèque. Elle est disponible sur PyPI.

Commencer avec LabVIEW

Equipez vos VIs LabVIEW d'une communication avec votre robot.

Commencer avec Matlab

Permet à vos scripts Matlab *.m de communiquer avec vos cobots.

Tarifs

Les bibliothèques sont téléchargeables gratuitement et peuvent être testées pendant 30 jours. Passé ce délai, vous pouvez nous demander de prolonger la période d'essai, ou acheter la licence qui vous convient le mieux : site (binaires obscurcis uniquement) ou source (code source). Après l'achat, vous disposez d'une période de maintenance d'un an, vous donnant un accès prioritaire au support et la possibilité de mettre à jour. Lorsque vous achetez une licence d'utilisation, elle est liée à une marque de robot, vous pouvez l'utiliser pour toujours, sans redevance récurrente, quel que soit le nombre de robot, de développeur ou de logiciel que vous redistribuez à vos clients. Si vous êtes un distributeur et souhaitez proposer à vos clients un de nos produits, merci de nous contacter pour discuter des conditions et tarifs spéciaux.

30 jours d'essai

Gratuit


Accès à toutes les fonctionnalités pendant 30 jours
Exemples fournis pour plusieurs plateformes dont Python, Winforms, Console (pour Windows, Linux et MacOS) et LabVIEW
Extension de la période d'essai sur demande
Téléchargement
Le plus populaire

Licence site

1090 (EUR) • 1090 (USD)

1090

€

Pour toujours

654

€

pour les universités (40% de réduction)

SDK complet et permanent : aucun abonnement récurrent n'est requis, la license est à vous pour toujours et fonctionne dans tous les langages de programmation pour une marque de robot.
Peut être utilisé uniquement par l'organisation détentrice de la licence, à l'adresse postale indiquée. Tous les développeurs de l'équipe partageront la même licence, quel que soit le nombre de machine de développement.
Toute application développée à l'aide du SDK peut être livrée à un nombre illimité de vos clients sans frais supplémentaires, quel que soit le nombre de robots à connecter.
La license est une sorte de mot de passe à appeler dans le code qui débloque les fonctionnalités. Pas de logiciel supplémentaire à installer. Pas de clé USB.
1 an de maintenance inclus (accès aux mises à jour)
Contactez-nous pour un paiement par virement. Une fois la licence de ce SDK achetée, vous recevrez votre numéro de license ainsi que votre facture par email.
Il n'y a pas de sources internes ; seule la DLL obfusquée est fournie.
Acheter maintenant

Licence source

6540 (EUR) • 6540 (USD)

6540

€

Pour toujours

3924

€

pour les universités (40% de réduction)

Code interne complet de la bibliothèque en C#
Solution Visual Studio qui comprend des milliers lignes de code mis au point pendant plusieurs années
Vous pouvez modifier ce code source et l'utiliser dans votre application, selon les limites définies dans les conditions générales d'utilisation
Acheter maintenant

Questions fréquemment posées

Quels est l'intérêt d'une telle bibliothèque logicielle ?

Cette bibliothèque logicielle vous permet d'économiser du temps de développement et de garantir son fonctionnement quels que soient le model et le firmware de votre robot.

Comment puis-je tester ?

Vous pouvez télécharger la dernière version depuis la page de téléchargement dans le langage de programmation de votre choix.

J'ai besoin d'aide pour développer le logiciel de communication avec mon cobot

Nous sommes spécialistes dans ce domaine et pouvons vous aider gratuitement dans le cadre du support technique inclus avec ce SDK. Vous pouvez aussi nous solliciter pour du développement logiciel industriel en général. Nous répondons à tous les messages et vous ferons un plaisir de vous aider.

Comment puis-je tester la bibliothèque ?

La page de téléchargement de ce site web vous permet d'obtenir des exemples dans le langage de votre choix. Vous pouvez ensuite consulter la documentation pour prendre en main la bibliothèque.

Puis-je avoir un devis ?

Vous pouvez demander immédiatement un devis directement depuis la page de commande de ce site web. Vous pouvez également nous contacter.

Certains exemples ne fonctionnent pas

Veuillez vérifier dans les propriétés de l'archive téléchargée que Windows n'a pas verrouillé le fichier. Si les exemples se lancent correctement, veuillez vérifier que la command PING sur le robot réussie. Vérifiez aussi que votre parefeu et votre antivirus permettent une liaison avec le robot. Vérifiez enfin les paramètres de sécurité du robot.

Quels sont les nouveautés de chaque version ?

Chaque version intègre des correctifs ainsi que de nouvelles fonctionnalités. Vous trouverez sur GitHub l'historique des versions ainsi que les changements apportés. N'hésitez pas à nous contacter pour nous soumettre vos idées d'évolution.

Après mise à jour, mon application ne compile plus

Petit à petit, la bibliothèque s'est enrichie de nouvelles fonctionnalités. Jusqu'à la version 5, toutes les fonctions et tous les protocoles étaient développés dans la même classe, ce qui prêtait à confusion. À partir de la version 6, toutes les fonctions sont indépendantes et développées dans des classes distinctes. Veuillez nous contacter pour vous aider à migrer, ou téléchargez la dernière version 5.X.X.X depuis GitHub, qui reste compatible avec toutes les anciennes versions.

Articles de presse

Blog Universal Robots

« Universal Robots intègre la bibliothèque logicielle du français underautomation au sein de l'écosystème UR+ »

Automation France

« UnderAutomation est une entreprise qui a mis au point une bibliothèque logicielle de qualité industrielle, entièrement compatible avec la technologie Universal Robots »

Machine Production

« Une bibliothèque pour créer des applications avec les cobots Universal Robots »

Mesures.com

« UnderAutomation développe une bibliothèque logicielle compatible avec Universal Robots »

Industrie

« UnderAutomation, entreprise française spécialisée en informatique industrielle, a développé une bibliothèque logicielle certifiée UR+ »

Zone Industrie

« Pilotage à distance, échanges de mesures en temps réel, programmation facilitée… tant de fonctionnalités qui offrent avant tout un gain de temps considérable »


Intégrez facilement les robots Universal Robots, Fanuc, Yaskawa ou Staubli dans vos applications .NET, Python, LabVIEW ou Matlab

UnderAutomation
Contactez-nousLegal
Produits
Universal Robots SDKFanuc SDKYaskawa SDKStaubli SDK
enEnglish
frFrançais
deDeutsch
esEspañol
zh中文
ja日本語
ko한국어

© All rights reserved.