Universal Robots SDKControle los cobots Universal Robots desde su propio software
Cree rápidamente aplicaciones que se comuniquen con su cobot de Universal Robots en .NET, Python, Labview o Matlab. Una biblioteca de software lista para usar: su PC habla con el robot por el cable de red.
Desde 1100 € / $1300, pago único
Matlab
1// dotnet add package UnderAutomation.UniversalRobots2using UnderAutomation.UniversalRobots;34var robot = new UR();5robot.Connect("192.168.0.1");67var pose = robot.PrimaryInterface.CartesianInfo.AsPose();8robot.Dashboard.LoadProgram("pick_and_place.urp");9robot.Dashboard.Play();
Lo que obtiene
Plug & Play
Conecta tu robot en tan solo unos minutos. No es necesario instalar un administrador de licencias ni una llave USB. Sólo haga referencia a la biblioteca.
No hay complementos para instalar en el robot
Uso de protocolos de red proporcionados como estándar por el controlador de robots.
Prueba de 30 días
Pruébelo gratis durante 30 días, sin compromiso, no se requiere registro
Pagar una vez, use para siempre
Licencia perpetua, no se requiere suscripción, independientemente del número de robots, desarrolladores o software redistribuido
Historias de éxito de clientes
Descubra cómo nuestros clientes integran las soluciones UnderAutomation en sus proyectos industriales.


AbbVie: Automating High-throughput screening
How AbbVie Leverages Universal Robots SDK to Automate High-Concentration Protein Screening.


GE: Aerospace & Healthcare Automation
GE Accelerates Industrial Automation with UnderAutomation SDKs for Universal Robots and FANUC.


Lockheed Martin: Flexible Aerospace Automation
Refining precision manufacturing and handling with collaborative robots.


Microsoft: Physical AI & Azure IoT
From Azure to the Factory Floor: Microsoft's Physical AI Journey with Universal Robots.


Stellantis: Unlocking Cobot Potential
Using software connectivity to standardize Universal Robots integration across global sites.


CNIMI: Smart Manufacturing & Digital Twins
CNIMI promotes smart manufacturing and digital twins enabled by connectivity with Universal Robots.
Características del SDK Universal Robots: RTDE, Dashboard y más
Cada función tiene su ejemplo de código. Haga clic en él para ver el código completo.
Mando a distancia
Los protocolos "REST API" y "DASHBOARD SERVER" permiten enviar comandos al robot de forma remota mediante TCP/IP. Por ejemplo, puede encender o apagar el brazo robótico, soltar los frenos, cargar un programa, ejecutarlo o detenerlo.
static void Main(string[] args){var robot = new UR();// Primary Interface and Dashboard Serverrobot.Connect("192.168.0.1");// Power on the arm and release the brakesrobot.Dashboard.PowerOn();robot.Dashboard.ReleaseBrake();// Load a program and start itrobot.Dashboard.LoadProgram("pick_and_place.urp");robot.Dashboard.Play();// Name and state of the programvar state = robot.Dashboard.GetProgramState();Console.WriteLine(state.Value.Name + ": " + state.Value.State);// Show a message on the teach pendantrobot.Dashboard.ShowPopup("Started from the PC");}}
Intercambio de medidas
"Primary Interface" y "RTDE" (Intercambio de datos en tiempo real) le permiten recibir un flujo de medición del robot de hasta 500 Hz que contiene mucha información: posición, estado, entradas y salidas, el valor de las variables del programa, etc. Su aplicación puede así sincronizarse con el robot. Además, es posible escribir registros compartidos en el robot a gran velocidad.
robot.Rtde.OutputDataReceived += (sender, e) =>{// Position of the tool: X, Y, Z in m, rotation vector in radPose pose = robot.Rtde.OutputDataValues.ActualTcpPose;// Force at the toolCartesianCoordinates force = robot.Rtde.OutputDataValues.ActualTcpForce;// Write analog output 0 and bit register 64var inputs = new RtdeInputValues();inputs.StandardAnalogOutputMask = 0b01;inputs.StandardAnalogOutput0 = 0.2;inputs.InputBitRegisters.X64 = true;robot.Rtde.WriteInputs(inputs);// Program and installation variablesGlobalVariable[] variables = robot.PrimaryInterface.GlobalVariables.GetAll();foreach (var variable in variables)Console.WriteLine(variable.Name + " = " + variable.Value);};}
Guión y programa
Esta biblioteca le permite controlar a distancia la ejecución de programas en el robot de varias maneras:
- Puede enviar líneas de script URScript para que se ejecuten a través de un socket TCP/IP.
- Las funciones le permiten construir y editar un archivo de programa *.urp localmente y luego transferirlo al controlador UR para su ejecución.
robot.Connect(parameters);// Run a URScript linerobot.PrimaryInterface.Script.Send("movej([-1.5, -1.5, -2, -0.5, 1.8, 0], a=1.4, v=1.05)");// List the programs of the robotSftpFile[] items = robot.Sftp.ListDirectory("/programs/");// Download a program to the PCrobot.Sftp.DownloadFile("/programs/prg.urp", @"C:\temp\prg.urp");// Send a program to the robotrobot.Sftp.UploadFile(@"C:\temp\prg.urp", "/programs/prg.urp");// Rename, check, deleterobot.Sftp.RenameFile("/programs/prg.urp", "/programs/prg2.urp");bool exists = robot.Sftp.Exists("/programs/prg2.urp");robot.Sftp.DeleteFile("/programs/prg2.urp");}}
Enchufe a medida
Su software puede ser un servidor y permitir que el robot se conecte a él para recuperar información:
- XML-RPC: El robot puede conectarse con la función "rpc_factory" y llamar a métodos con argumentos remotos en su programa que pueden devolver valores.
- Socket: Servidor TCP/IP clásico al que el robot puede conectarse con la función "socket_open" y luego dialogar con su aplicación en ambas direcciones.
robot.Connect(parameters);// The robot connects with the URScript function socket_open()robot.SocketCommunication.SocketClientConnection += (sender, e) =>{e.Client.SocketWrite("Hello robot");};// The robot sends a message with socket_send_string()robot.SocketCommunication.SocketRequest += (sender, e) =>{Console.WriteLine(e.Message);};// Send a message to every connected robotrobot.SocketCommunication.SocketWrite("123456");}}
Caja de herramientas cinemáticas y fuera de línea
Esta biblioteca ofrece características que se pueden usar sin tener un robot UR en la red. Por ejemplo, es posible convertir tipos de posiciones. Su software también puede abrir el programa de archivos nativos *.URP e instalación *. Instalación y edición de su contenido. También permite convertir una posición cartesiana en posiciones en juntas y viceversa.
static void Main(string[] args){// X, Y, Z in m, rotation vector RX, RY, RZ in radvar pose = new Pose(0.1, 0.2, -0.1, 0, 0.05, 0.1);// Convert the rotation to roll, pitch, yaw, and backPose rpy = pose.FromRotationVectorToRPY();Pose rotationVector = rpy.FromRPYToRotationVector();// Nominal DH parameters of a UR3eIUrDhParameters dh = KinematicsUtils.GetDhParametersFromModel(RobotModelsExtended.UR3e);// Forward kinematics, joint positions in radKinematicsResult fk = KinematicsUtils.ForwardKinematics(new double[] { 0, -1.57, 1.57, 0, 0, 0 }, dh);Pose flange = Pose.From4x4MatrixToRotationVector(fk.ToolTransform);// Inverse kinematics: up to 8 solutionsdouble[][] solutions = KinematicsUtils.InverseKinematics(pose.FromRotationVectorTo4x4Matrix(), dh);// Open program and installation files, as XMLURInstallation installation = URInstallation.Load(@"C:\temp\default.installation");URProgram program = URProgram.Load(@"C:\temp\prg.urp");XElement xml = program.XML;}}
Y más...
- Primary / Secondary interface
- RTDE (Real-Time Data Exchange)
- Dashboard server
- REST API (PolyscopeX only)
- Interpreter Mode
- Sockets
- XML-RPC
- SSH
- SFTP
- Forward & Inverse Kinematics
El SDK en acción
Vídeo y capturas de la aplicación de demostración entregada con el SDK.
Ejemplo de aplicación de Windows
Sin escribir código: pruebe el SDK en su robot con la aplicación de demostración.

Ejemplos en Github
Las fuentes de ejemplos de uso de este SDK están disponibles en GitHub
Ejemplo de Python
Ejemplo de operación de este SDK con Python para recuperar la posición cartesiana de un robot.
Ejemplo de labview
Ejemplo de VI que permite probar la mayoría de las funciones de este SDK.
Instálelo con un comando
Elija su lenguaje. La prueba de 30 días empieza con el primer uso, sin registro.
.NET
Paquete NuGet para C# y VB.NET, de .NET Framework al último .NET.
dotnet add package UnderAutomation.UniversalRobotsPython
Paquete Python en PyPI, para Windows, Linux y macOS.
pip install UnderAutomation.UniversalRobotsLabVIEW
Biblioteca LabVIEW (.lvlib) y su proyecto de ejemplo, en GitHub.
git clone https://github.com/underautomation/UniversalRobots.vi.gitAgentes IA
Skill para agentes de código IA (Claude Code, Cursor, Copilot...): su asistente conoce la API del SDK.
npx skills add underautomation/skills --skill underautomation-universal-robots-csharpExplorar la documentación
La documentación le permite comenzar a desarrollar rápidamente con la biblioteca. La misma funcionalidad está disponible en todos los idiomas compatibles.
Explorar la documentación
La documentación le permite comenzar a desarrollar rápidamente con la biblioteca. La misma funcionalidad está disponible en todos los idiomas compatibles.
Introducción a .NET
Codifique su aplicación en C# o VB con esta librería 100% gestionada, sin dependencias y disponible en NuGet.org en la versión y arquitectura de su elección (x86, x64, ARM, Linux, Windows, MacOS, .NET Framework, .NET Core, UWP, ...)
Empezar con Python
Desarrolle rápidamente un programa en Python que se comunique con su robot utilizando esta biblioteca. Está disponible en PyPI.
Introducción a LabVIEW
Equipa tus VIs de LabVIEW con comunicación con tu robot.

Introducción a Matlab
Permita que sus scripts de Matlab manejen su robot.
Guías y artículos prácticos
Cada artículo explica cómo realizar una tarea, paso a paso, con código que puede copiar.
Get the robot position
Read the joint positions and the TCP position of a UR cobot in C# or Python, with RTDE up to 500 Hz or with the Primary Interface.
Read and write I/O
Read and write the digital and analog I/O of a UR cobot in C# or Python, with RTDE and its masks, or with the Primary Interface.
Read and write variables
Read the program and installation variables of a UR cobot in C# or Python with the Primary Interface or the Dashboard Server, and how to change them.
Read and write registers
Exchange values between a UR robot program and a PC with the boolean, integer and float registers, with RTDE up to 500 Hz.
Run a program
Power on a UR cobot, release the brakes, load a program and play it from a PC in C# or Python, then follow it until its end.
Read and reset alarms
Read the error messages, the program errors and the safety status of a UR cobot in C# or Python, and reset a protective stop or a safety fault.
Transfer files and backups
Copy the programs of a UR cobot to a PC for a backup, send a program to the robot and load it, in C# or Python with SFTP.
Monitor the state of the robot
Follow the robot mode, the program, the stops, the safety status and the connection of a UR cobot in C# or Python.
Move the robot from a PC
Move a UR cobot from a PC in C# or Python with URScript, the Interpreter Mode, registers or a program, and check the position reached.
Precios
Las bibliotecas se pueden descargar de forma gratuita y se pueden probar durante 30 días. Después de este período, puede solicitarnos que extendamos el período de prueba o que compren la licencia que mejor se adapte a usted: Sitio (solo binario oscurecido) o fuente (código fuente). Después de comprar, tiene un período de mantenimiento de un año, lo que le brinda acceso prioritario al soporte y la posibilidad de actualizar. Cuando compra una licencia para usar, está vinculada a una marca de robot, puede usarla para siempre, sin una tarifa recurrente, independientemente de la cantidad de robot, desarrollador o software que redistribuya a sus clientes. Si usted es un distribuidor y desea ofrecer a sus clientes uno de nuestros productos, contáctenos para discutir condiciones y precios especiales.
Licencia Sitio Estándar
•
Licencia Pro
•
Licencia de código fuente
•
FAQ: SDK .NET, Python, LabVIEW y Matlab para Universal Robots
SDK certificado UR+ para cobots Universal Robots
Los equipos técnicos y de ventas de Universal Robots han auditado esta biblioteca. Certifican que es compatible y se integra perfectamente con sus robots y su ecosistema.

Blog Universal Robots
« Universal Robots integra en el ecosistema UR+ la biblioteca de software de la empresa francesa underautomation »
Automation France
« UnderAutomation ha desarrollado una biblioteca de software industrial totalmente compatible con la tecnología de Universal Robots. »
Machine Production
« Una biblioteca para crear aplicaciones con cobots de Universal Robots »
Mesures.com
« UnderAutomation desarrolla una biblioteca de software compatible con Universal Robots »
Industrie
« UnderAutomation, empresa francesa especializada en informática industrial, ha desarrollado una biblioteca de software certificada UR+. »
Zone Industrie
« Control remoto, intercambio de mediciones en tiempo real, programación sencilla... tantas funciones que, sobre todo, ofrecen un ahorro de tiempo considerable. »Las bibliotecas en GitHub
Cada paquete se publica en GitHub con su registro de cambios.
Últimas versiones
UniversalRobots.NET
Última versión
underautomation / UniversalRobots.NET
PublicBiblioteca .NET del SDK Universal Robots.
underautomation / UniversalRobots.py
PublicPaquete Python del SDK Universal Robots.
underautomation / UniversalRobots.vi
PublicBiblioteca LabVIEW del SDK Universal Robots, con VIs de ejemplo.
underautomation / UniversalRobots.unity
PublicPaquete Unity del SDK Universal Robots.
¡Empiece ahora!
Empiece hoy la prueba de 30 días, o solicite un presupuesto.