Welchen Nutzen hat eine solche Softwarebibliothek?
Diese Softwarebibliothek spart Ihnen Entwicklungszeit und gewährleistet, dass sie unabhängig vom Modell und der Firmware Ihres Roboters funktioniert.
Erstellen Sie schnell Anwendungen, die mit Ihrem Universal Robots Cobot kommunizieren, in .NET, Python, Labview oder Matlab.
.NET
Python
LabVIEW
Verbinden Sie Ihren Roboter in nur wenigen Minuten. Kein zu installierender Lizenzmanager, kein USB-Stick. Verweisen Sie nur auf die Bibliothek.
Verwendung von Netzwerkprotokollen, die vom Robotercontroller als Standard bereitgestellt werden.URCaps ROS
Versuchen Sie es 30 Tage lang kostenlos, keine Verpflichtung, keine Registrierung erforderlich
Unbefristete Lizenz, kein Abonnement erforderlich, unabhängig von der Anzahl der Roboter, Entwickler oder weiterverteilten Software
Die technischen und kaufmännischen Teams von Universal Robots haben diese Bibliothek geprüft. Sie bescheinigen, dass sie konform ist und sich nahtlos in ihre Roboter und ihr Ökosystem einfügt.
Die Bibliothek implementiert in mehreren Sprachen alle nativen Protokolle der Universal Robots Cobots, sodass Ihr Computer sich synchronisieren und den Roboterarm aus der Ferne steuern kann.
// Create a new robot instancevar robot = new UR();// Connect to the robotrobot.Connect("192.168.0.1");// Power on the robot arm and release brakesrobot.Dashboard.PowerOn();robot.Dashboard.ReleaseBrake();// Load program file to polyscoperobot.Dashboard.LoadProgram("fast_bin_picking.urp");// Start the programrobot.Dashboard.Play();// Get program name and statevar 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 pendantrobot.Dashboard.ShowPopup("I just remote-controlled my robot!");
// Display robot TCP posevar pose = robot.Rtde.OutputDataValues.ActualTcpPose;// pose.X, pose.Y, pose.Z, pose.Rx, ...// Display robot TCP forcevar force = robot.Rtde.OutputDataValues.ActualTcpForce;// Write data in robot controlervar inputs = new RtdeInputValues();inputs.StandardAnalogOutput0 = 0.2;inputs.InputBitRegisters.X64 = true;robot.Rtde.WriteInputs(inputs);// Display all program and installation variablesvar variables = robot.PrimaryInterface.GlobalVariables.GetAll();string name = variables[0].Name;Pose value = variables[0].ToPose();GlobalVariableTypes type = variables[0].Type;
// Ask robot to execute a movejrobot.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 folderSftpFile[] items = robot.Sftp.ListDirectory("/home/ur/ursim-current/programs/");// Download program file prg.urp to your local diskrobot.Sftp.DownloadFile("/home/ur/ursim-current/programs/prg.urp", @"C:\temp\prg.urp");// Send a local file to the robotrobot.Sftp.UploadFile(@"C:\temp\prg.urp", "/home/ur/ursim-current/programs/prg.urp");// Manipulate files and directoriesrobot.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 !");// ...
// Robot connects with URScipt function socket_open()robot.SocketCommunication.SocketClientConnection += (o, e) =>{// Reply to the robote.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 clientsrobot.SocketCommunication.SocketWrite("123456");
// Create X, Y, Z, RX, RY, RZ posevar pose = new Pose(0.1, 0.2, -0.1, 0, 0.05, 0.1);// Convert cartesian pose type to RPY or rotation vectorvar rpy = pose.FromRotationVectorToRPY();var vectorPose = pose.FromRPYToRotationVector();// Get default DH parameters for UR3e robot modelIUrDhParameters dhParameters = KinematicsUtils.GetDhParametersFromModel(RobotModelsExtended.UR3e);// Calculate forward kinematics for given joint angles in radiansKinematicsResult 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 posevar matrix = vectorPose.FromRotationVectorTo4x4Matrix();double[][] ikSolutions = KinematicsUtils.InverseKinematics(matrix, dhParameters);// Decompile program and installation files and access inner XMLURInstallation installation = URInstallation.Load("C:\\temp\\default.installation");URProgram prg = URProgram.Load("C:\\temp\\prg.urp");XElement internalXml = prg.XML;
Die Bibliothek verfügt in mehreren Sprachen über die gleichen Funktionen.
Bibliotheken können kostenlos heruntergeladen und 30 Tage lang getestet werden. Nach diesem Zeitraum können Sie uns bitten, den Testzeitraum zu verlängern oder die Lizenz zu kaufen, die am besten geeignet ist: Website (nur verdeckte binäre) oder Quelle (Quellcode). Nach dem Kauf haben Sie eine einjährige Wartungszeit, mit der Sie vorrangigen Zugriff auf die Unterstützung und die Möglichkeit der Aktualisierung erhalten. Wenn Sie eine Nutzungslizenz kaufen, ist sie mit einer Robotermarke verknüpft, können Sie sie für immer verwenden, ohne wiederkehrende Gebühren, unabhängig von der Anzahl der Roboter, Entwickler oder Software, die Sie Ihren Kunden umverteilen. Wenn Sie ein Händler sind und Ihren Kunden eines unserer Produkte anbieten möchten, kontaktieren Sie uns bitte, um besondere Bedingungen und Preise zu besprechen.
Diese Softwarebibliothek spart Ihnen Entwicklungszeit und gewährleistet, dass sie unabhängig vom Modell und der Firmware Ihres Roboters funktioniert.
Sie können die neueste Version von der Download-Seite in der Programmiersprache Ihrer Wahl herunterladen.
Wir sind Spezialisten auf diesem Gebiet und können Ihnen im Rahmen des technischen Supports, der in diesem SDK enthalten ist, kostenlos helfen. Sie können uns auch für allgemeine industrielle Softwareentwicklung anfragen. Wir beantworten alle Nachrichten und helfen Ihnen gerne weiter.
Auf der Download-Seite dieser Website können Sie Beispiele in der Sprache Ihrer Wahl herunterladen. Anschließend können Sie sich die Dokumentation ansehen, um die Bibliothek in den Griff zu bekommen.
Sie können sofort einen Kostenvoranschlag direkt von der Bestellseite dieser Website aus anfordern. Sie können auch mit uns Kontakt aufnehmen.
Bitte überprüfen Sie in den Eigenschaften des heruntergeladenen Archivs, ob Windows die Datei nicht gesperrt hat. Wenn die Beispiele korrekt starten, überprüfen Sie bitte, ob der PING-Befehl an den Roboter erfolgreich ist. Überprüfen Sie auch, ob Ihre Firewall und Ihr Antivirusprogramm eine Verbindung mit dem Roboter zulassen. Überprüfen Sie schließlich die Sicherheitseinstellungen des Roboters.
Jede Version enthält sowohl Fehlerbehebungen als auch neue Funktionen. Auf GitHub finden Sie die Versionsgeschichte und die vorgenommenen Änderungen. Bitte kontaktieren Sie uns, wenn Sie Ideen für weitere Entwicklungen haben.
Nach und nach wurde die Bibliothek um neue Funktionen erweitert. Bis Version 5 wurden alle Funktionen und Protokolle in der gleichen Klasse entwickelt, was zu Verwirrung führte. Ab Version 6 sind alle Funktionen unabhängig und werden in separaten Klassen entwickelt. Bitte kontaktieren Sie uns, um Ihnen bei der Migration zu helfen, oder laden Sie die neueste Version 5.X.X.X von GitHub herunter, die weiterhin mit allen älteren Versionen kompatibel ist.