UnderAutomation
¿Una pregunta?

[email protected]

Contactos
UnderAutomation
⌘Q

Universal Robots SDK

GitHub stars
1100 (EUR)1300 (USD)

1100

de por vida

660

para universidades (40% de descuento)

Cree rápidamente aplicaciones que se comuniquen con su cobot de Universal Robots en .NET, Python, Labview o Matlab.

Elija la licencia adecuada para su proyecto
OrdenSolicitar un presupuesto

.NET

Python

LabVIEW

Ver condiciones generales
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.
URCaps ROS

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

Certificación UR+

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.

Ver universal-robots.com

Características

La biblioteca implementa todos los protocolos nativos de los cobots de Universal Robots en varios idiomas, lo que permite a su ordenador sincronizar y controlar el brazo del robot de forma remota.

Mando a distancia

El protocolo Dashboard Server que permite enviar comandos al robot de forma remota a través de TCP/IP. Por ejemplo, puedes encender o apagar el brazo del robot, liberar los frenos, cargar un programa, hacerlo funcionar o detenerlo.
// 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!");

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.
// 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;

Guión y programa

  • 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.
// 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 !");
// ...

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 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");

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.
// 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;

Y más...

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

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.

¡Empiece ahora!

La biblioteca tiene la misma funcionalidad en varios idiomas.

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.

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 Community

1100 (EUR)$1300 (USD)

1100

de por vida

660

para universidades (40% de descuento)
Para uso personal o desarrolladores ágiles que crean pruebas de concepto o proyectos livianos.
1 año de mantenimiento incluido (acceso a actualizaciones)
Mismas condiciones que la licencia pro, excepto que no se prioriza el soporte, no se incluye la asistencia remota y el mantenimiento es de solo 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 (EUR)$2000 (USD)

1700

2500
de por vida

1020

para universidades (40% de descuento)
Para entornos de producción de misión crítica que exigen soporte prioritario y estabilidad 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 (EUR)$4000 (USD)

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.
Comprar ahora

Preguntas frecuentes

¿Cuál es el beneficio de una biblioteca de software de este tipo?

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

¿Cómo puedo hacer la prueba?

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

Necesito ayuda para desarrollar el software de comunicación con mi cobot

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.

¿Cómo puedo probar la biblioteca?

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.

¿Puedo obtener un presupuesto?

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

Algunos ejemplos no funcionan

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.

¿Qué hay de nuevo en cada versión?

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.

Después de la actualización, mi aplicación ya no compila

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.

Artículos de prensa


Integre fácilmente robots Universal Robots, Fanuc, Yaskawa o Staubli en sus aplicaciones .NET, Python, LabVIEW o Matlab

UnderAutomation
ContactosLegal

© All rights reserved.