UnderAutomation
¿Una pregunta?

[email protected]

Contactos
UnderAutomation
⌘Q
Universal Robots
UR+ Certified

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.

Probar gratisVer precios

Desde 1100 € / $1300, pago único

Nada que instalar en el robot
Prueba gratuita de 30 días
Licencia perpetua, sin suscripción
.NET / C#
Python
LabVIEW
Matlab
Universal Robots robot
Universal Robots SDK
1// dotnet add package UnderAutomation.UniversalRobots
2using UnderAutomation.UniversalRobots;
3
4var robot = new UR();
5robot.Connect("192.168.0.1");
6
7var pose = robot.PrimaryInterface.CartesianInfo.AsPose();
8robot.Dashboard.LoadProgram("pick_and_place.urp");
9robot.Dashboard.Play();
En resumen

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.

URCapsROS

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

Clientes

Historias de éxito de clientes

Descubra cómo nuestros clientes integran las soluciones UnderAutomation en sus proyectos industriales.

AbbVie
Biotech / Pharma

AbbVie: Automating High-throughput screening

How AbbVie Leverages Universal Robots SDK to Automate High-Concentration Protein Screening.

GE
Aerospace / Healthcare

GE: Aerospace & Healthcare Automation

GE Accelerates Industrial Automation with UnderAutomation SDKs for Universal Robots and FANUC.

Lockheed Martin
Aerospace / Defense

Lockheed Martin: Flexible Aerospace Automation

Refining precision manufacturing and handling with collaborative robots.

Microsoft
Technology

Microsoft: Physical AI & Azure IoT

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

Stellantis
Automotive

Stellantis: Unlocking Cobot Potential

Using software connectivity to standardize Universal Robots integration across global sites.

CNIMI
Smart Manufacturing / Research

CNIMI: Smart Manufacturing & Digital Twins

CNIMI promotes smart manufacturing and digital twins enabled by connectivity with Universal Robots.

Funciones

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 Server
robot.Connect("192.168.0.1");
// Power on the arm and release the brakes
robot.Dashboard.PowerOn();
robot.Dashboard.ReleaseBrake();
// Load a program and start it
robot.Dashboard.LoadProgram("pick_and_place.urp");
robot.Dashboard.Play();
// Name and state of the program
var state = robot.Dashboard.GetProgramState();
Console.WriteLine(state.Value.Name + ": " + state.Value.State);
// Show a message on the teach pendant
robot.Dashboard.ShowPopup("Started from the PC");
}
}
Click to see the full code

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 rad
Pose pose = robot.Rtde.OutputDataValues.ActualTcpPose;
// Force at the tool
CartesianCoordinates force = robot.Rtde.OutputDataValues.ActualTcpForce;
// Write analog output 0 and bit register 64
var inputs = new RtdeInputValues();
inputs.StandardAnalogOutputMask = 0b01;
inputs.StandardAnalogOutput0 = 0.2;
inputs.InputBitRegisters.X64 = true;
robot.Rtde.WriteInputs(inputs);
// Program and installation variables
GlobalVariable[] variables = robot.PrimaryInterface.GlobalVariables.GetAll();
foreach (var variable in variables)
Console.WriteLine(variable.Name + " = " + variable.Value);
};
}
Click to see the full code

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 line
robot.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 robot
SftpFile[] items = robot.Sftp.ListDirectory("/programs/");
// Download a program to the PC
robot.Sftp.DownloadFile("/programs/prg.urp", @"C:\temp\prg.urp");
// Send a program to the robot
robot.Sftp.UploadFile(@"C:\temp\prg.urp", "/programs/prg.urp");
// Rename, check, delete
robot.Sftp.RenameFile("/programs/prg.urp", "/programs/prg2.urp");
bool exists = robot.Sftp.Exists("/programs/prg2.urp");
robot.Sftp.DeleteFile("/programs/prg2.urp");
}
}
Click to see the full code

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 robot
robot.SocketCommunication.SocketWrite("123456");
}
}
Click to see the full code

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 rad
var pose = new Pose(0.1, 0.2, -0.1, 0, 0.05, 0.1);
// Convert the rotation to roll, pitch, yaw, and back
Pose rpy = pose.FromRotationVectorToRPY();
Pose rotationVector = rpy.FromRPYToRotationVector();
// Nominal DH parameters of a UR3e
IUrDhParameters dh = KinematicsUtils.GetDhParametersFromModel(RobotModelsExtended.UR3e);
// Forward kinematics, joint positions in rad
KinematicsResult 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 solutions
double[][] solutions = KinematicsUtils.InverseKinematics(pose.FromRotationVectorTo4x4Matrix(), dh);
// Open program and installation files, as XML
URInstallation installation = URInstallation.Load(@"C:\temp\default.installation");
URProgram program = URProgram.Load(@"C:\temp\prg.urp");
XElement xml = program.XML;
}
}
Click to see the full code

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
Demo

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.

DescargarAl descargar, acepta las condiciones generales de uso: Ver condiciones generales

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.

Instalación

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.UniversalRobots
Ver en NuGetVer en GitHubAbrir la guía

Python

Paquete Python en PyPI, para Windows, Linux y macOS.

pip install UnderAutomation.UniversalRobots

LabVIEW

Biblioteca LabVIEW (.lvlib) y su proyecto de ejemplo, en GitHub.

git clone https://github.com/underautomation/UniversalRobots.vi.git

Agentes 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-csharp
Documentación

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.

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

•

1100€de por vida
660€para universidades (40% de descuento)
Diseñado para entornos industriales, brinda acceso a todas las funciones de por vida.
1 año de mantenimiento incluido (acceso a actualizaciones)
Mismas condiciones que la Licencia Pro, excepto que no se prioriza el soporte y el mantenimiento es de 1 año.
No hay fuentes internas; sólo se proporciona la DLL ofuscada.
No hay asistencia por videoconferencia (solo vía correo electrónico).
Elija la licencia adecuada para su proyecto
Comprar ahora
Mas popular

Licencia Pro

•

1700€
2500€
de por vida
1020€para universidades (40% de descuento)
Para entornos de producción críticos que requieren soporte prioritario y mantenimiento a largo plazo.
3 años de mantenimiento incluido (acceso a actualizaciones) sin pedidos de renovación durante este plazo (cero trámites)
SDK completo y permanente: no se requiere una suscripción recurrente, la licencia es suya para siempre y funciona en todos los lenguajes de programación para una marca robot.
Solo puede ser utilizado por la organización que posee la licencia, en la dirección postal indicada. Todos los desarrolladores del equipo compartirán la misma licencia, independientemente del número de máquinas de desarrollo.
Cualquier aplicación desarrollada utilizando el SDK se puede entregar a un número ilimitado de sus clientes sin costo adicional, independientemente del número de robots para conectarse.
La licencia es un tipo de contraseña para llamar al código que desbloquea la funcionalidad. No hay software adicional para instalar. No hay clave USB.
Soporte Prioritario (<24h en promedio)
Asistencia remota (correo electrónico y hasta 2h videoconferencia)
No hay fuentes internas; sólo se proporciona la DLL ofuscada.
Actualiza a Source en cualquier momento (paga la diferencia)
Comprar ahora

Licencia de código fuente

•

3400€de por vida
2040€para universidades (40% de descuento)
Para una soberanía técnica completa, una personalización profunda y una independencia total.
Mismas condiciones que la licencia pro
Código interno completo de la biblioteca en C#
Solución de Visual Studio que incluye miles de líneas de código desarrolladas a lo largo de varios años.
Puedes modificar este código fuente y utilizarlo en tu aplicación, dentro de los límites definidos en las condiciones generales de uso.
Compatible con agentes de codificación IA (Claude, Copilot, Cursor, Codex...) gracias al acceso completo al código fuente y los archivos de contexto incluidos (AGENTS.md) que dan al LLM conocimiento exacto de los internals del SDK
Comprar ahora
FAQ

FAQ: SDK .NET, Python, LabVIEW y Matlab para Universal Robots

Esta librería de software le ahorra tiempo de desarrollo y le garantiza su funcionamiento independientemente del modelo y del firmware de su robot.

Puede descargar la última versión desde la página de descargas en el lenguaje de programación que desee.

Somos especialistas en este campo y podemos ayudarle gratuitamente con el soporte técnico incluido en este SDK. También puede solicitarnos el desarrollo de software industrial en general. Respondemos a todos los mensajes y estaremos encantados de ayudarle.

La página de descargas de este sitio web le permite obtener ejemplos en el idioma que desee. A continuación, puede consultar la documentación para empezar a utilizar la biblioteca.

Puede solicitar inmediatamente un presupuesto directamente desde la página de pedidos de este sitio web. También puede ponerse en contacto con nosotros.

Compruebe en las propiedades del archivo descargado que Windows no ha bloqueado el archivo. Si los ejemplos se ejecutan correctamente, compruebe que el comando PING en el robot tiene éxito. Compruebe también que su cortafuegos y su software antivirus permiten la conexión con el robot. Por último, compruebe la configuración de seguridad del robot.

Cada versión incluye parches y nuevas funciones. En GitHub encontrará el historial de las versiones, así como los cambios realizados. No dude en ponerse en contacto con nosotros para presentar sus ideas de evolución.

Poco a poco, la biblioteca se fue enriqueciendo con nuevas funciones. Hasta la versión 5, todas las funciones y protocolos se desarrollaban en la misma clase, lo que resultaba confuso. A partir de la versión 6, todas las funciones son independientes y se desarrollan en clases separadas. Póngase en contacto con nosotros para que le ayudemos a migrar, o descargue la última versión 5.X.X.X de GitHub, que sigue siendo compatible con todas las versiones anteriores.
Prensa

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. »
GitHub

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

Public

Biblioteca .NET del SDK Universal Robots.

C#Ver en GitHub

underautomation / UniversalRobots.py

Public

Paquete Python del SDK Universal Robots.

PythonVer en GitHub

underautomation / UniversalRobots.vi

Public

Biblioteca LabVIEW del SDK Universal Robots, con VIs de ejemplo.

LabVIEWVer en GitHub

underautomation / UniversalRobots.unity

Public

Paquete Unity del SDK Universal Robots.

C#Ver en GitHub

¡Empiece ahora!

Empiece hoy la prueba de 30 días, o solicite un presupuesto.

Probar gratisPedirSolicitar un presupuestoContactos