¿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.
Cree rápidamente aplicaciones que se comuniquen con su cobot de Universal Robots en .NET, Python, Labview o Matlab.
.NET
Python
LabVIEW
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.
Uso de protocolos de red proporcionados como estándar por el controlador de robots.URCaps ROS
Pruébelo gratis durante 30 días, sin compromiso, no se requiere registro
Licencia perpetua, no se requiere suscripción, independientemente del número de robots, desarrolladores o software redistribuido
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.
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.
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");}}
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);};}
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");}}
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");}}
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;}}
Descubra cómo nuestros clientes integran las soluciones UnderAutomation en sus proyectos industriales.
La biblioteca tiene la misma funcionalidad en varios idiomas.
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.
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.