Universal Robots SDKSteuern Sie Universal Robots-Cobots aus Ihrer eigenen Software
Erstellen Sie schnell Anwendungen, die mit Ihrem Universal Robots Cobot kommunizieren, in .NET, Python, Labview oder Matlab. Eine fertige Softwarebibliothek: Ihr PC spricht über das Netzwerkkabel mit dem Roboter.
Ab 1100 € / $1300, einmalige Zahlung
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();
Was Sie bekommen
Plug & Play
Verbinden Sie Ihren Roboter in nur wenigen Minuten. Kein zu installierender Lizenzmanager, kein USB-Stick. Verweisen Sie nur auf die Bibliothek.
Keine Plugins für den Roboter zu installieren
Verwendung von Netzwerkprotokollen, die vom Robotercontroller als Standard bereitgestellt werden.
30-tägige Testversion
Versuchen Sie es 30 Tage lang kostenlos, keine Verpflichtung, keine Registrierung erforderlich
Einmal bezahlen, für immer benutzen
Unbefristete Lizenz, kein Abonnement erforderlich, unabhängig von der Anzahl der Roboter, Entwickler oder weiterverteilten Software
Kundenerfolgsgeschichten
Entdecken Sie, wie unsere Kunden UnderAutomation-Lösungen in ihre Industrieprojekte integrieren.


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.
Universal Robots SDK Funktionen: RTDE, Dashboard & mehr
Jede Funktion hat ein Codebeispiel. Klicken Sie darauf, um den ganzen Code zu sehen.
Aus der Ferne steuern
Mit den Protokollen „REST API“ und „DASHBOARD SERVER“ können Sie Befehle aus der Ferne über TCP/IP an den Roboter senden. Sie können beispielsweise den Roboterarm ein- oder ausschalten, die Bremsen lösen, ein Programm laden, ausführen oder stoppen.
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");}}
Messungen austauschen
"Primary Interface" und "RTDE" (Real-Time Data Exchange) ermöglichen es, einen Messstrom vom Roboter mit bis zu 500 Hz zu empfangen, der zahlreiche Informationen enthält: Position, Status, Eingänge und Ausgänge, den Wert von Programmvariablen, ... So kann sich Ihre Anwendung mit dem Roboter synchronisieren. Außerdem ist es möglich, den Roboter mit hoher Geschwindigkeit in gemeinsam genutzte Register zu schreiben.
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);};}
Skript und Programm
Mit dieser Bibliothek können Sie die Programmausführung auf dem Roboter auf verschiedene Arten fernsteuern:
- Sie können URScript-Zeilen, die ausgeführt werden sollen, über TCP/IP-Socket senden.
- Mithilfe von Funktionen können Sie eine *.urp-Programmdatei lokal aufbauen und bearbeiten und sie dann zur Ausführung an den UR-Controller übertragen.
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");}}
Benutzerdefinierter Socket
Ihre Software kann ein Server sein und dem Roboter erlauben, sich mit ihr zu verbinden, um Informationen abzurufen :
- XML-RPC: Der Roboter kann sich mit der Funktion "rpc_factory" verbinden und in Ihrem Programm Methoden mit Fernargumenten aufrufen, die Werte zurückgeben können.
- Socket: Klassischer TCP/IP-Server, mit dem sich der Roboter mit der Funktion "socket_open" verbinden und dann mit Ihrer Anwendung in beide Richtungen dialogisieren kann.
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");}}
Kinematik und Offline -Toolbox
Diese Bibliothek bietet Funktionen, die verwendet werden können, ohne einen UR -Roboter für das Netzwerk zu haben. Zum Beispiel ist es möglich, Arten von Positionen zu konvertieren. Ihre Software kann auch native Dateien Programm *.URP und Installation *öffnen. Installation und Bearbeiten des Inhalts. Es ermöglicht es auch, eine kartesische Position in Positionen in Gelenke umzuwandeln und umgekehrt.
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;}}
Und mehr...
- Primary / Secondary interface
- RTDE (Real-Time Data Exchange)
- Dashboard server
- REST API (PolyscopeX only)
- Interpreter Mode
- Sockets
- XML-RPC
- SSH
- SFTP
- Forward & Inverse Kinematics
Das SDK in Aktion
Video und Screenshots der Demo-Anwendung, die mit dem SDK geliefert wird.
Beispiel für Windows -Anwendungen
Kein Code nötig: Testen Sie das SDK an Ihrem Roboter mit der Demo-Anwendung.

Beispiele zu GitHub
Die Beispiele für die Verwendung dieses SDK sind auf GitHub erhältlich
Python -Beispiel
Beispiel für den Betrieb dieses SDK mit Python, um die kartesische Position eines Roboters wiederherzustellen.
LABVIEW -Beispiel
Beispiel für VI, das die meisten Funktionen dieses SDK ermöglichen.
Mit einem Befehl installiert
Wählen Sie Ihre Sprache. Die 30-Tage-Testversion beginnt bei der ersten Nutzung, ohne Registrierung.
.NET
NuGet-Paket für C# und VB.NET, von .NET Framework bis zum neuesten .NET.
dotnet add package UnderAutomation.UniversalRobotsPython
Python-Paket auf PyPI, für Windows, Linux und macOS.
pip install UnderAutomation.UniversalRobotsLabVIEW
LabVIEW-Bibliothek (.lvlib) und ihr Beispielprojekt, auf GitHub.
git clone https://github.com/underautomation/UniversalRobots.vi.gitKI-Agenten
Skill für KI-Coding-Agenten (Claude Code, Cursor, Copilot...): Ihr Assistent kennt die API des SDK.
npx skills add underautomation/skills --skill underautomation-universal-robots-csharpDurchsuchen Sie die Dokumentation
Mit der Dokumentation können Sie sich schnell mit der Bibliothek entwickeln. Die gleiche Funktionalität ist in allen unterstützten Sprachen verfügbar.
Durchsuchen Sie die Dokumentation
Mit der Dokumentation können Sie sich schnell mit der Bibliothek entwickeln. Die gleiche Funktionalität ist in allen unterstützten Sprachen verfügbar.
Mit .NET beginnen
Codieren Sie Ihre Anwendung in C# oder VB mit dieser 100% gemanagten Bibliothek, die frei von Abhängigkeiten ist und auf NuGet.org in der Version und Architektur Ihrer Wahl (x86, x64, ARM, Linux, Windows, MacOS, .NET Framework, .NET Core, UWP, ...) zur Verfügung steht.
Mit Python beginnen
Entwickeln Sie mithilfe dieser Bibliothek schnell ein Programm in Python, das mit Ihrem Roboter kommuniziert. Sie ist auf PyPI verfügbar.
Mit LabVIEW beginnen
Rüsten Sie Ihre LabVIEW-VIs mit einer Kommunikation mit Ihrem Roboter aus.

Mit Matlab beginnen
Erlauben Sie Ihren Matlab-Skripten, den Roboter zu steuern.
Anleitungen und Praxisartikel
Jeder Artikel erklärt Schritt für Schritt, wie man eine Aufgabe löst, mit Code zum Kopieren.
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.
Preise
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.
Standard-Site-Lizenz
•
Pro-Lizenz
•
Quellcodelizenz
•
FAQ: Universal Robots .NET, Python, LabVIEW & Matlab SDK
UR+-zertifiziertes SDK für Universal Robots Cobots
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.

Blog Universal Robots
« Universal Robots integriert die Softwarebibliothek der französischen underautomation in das UR+ Ökosystem »
Automation France
« UnderAutomation ist ein Unternehmen, das eine Softwarebibliothek in Industriequalität entwickelt hat, die vollständig mit der Technologie von Universal Robots kompatibel ist. »
Machine Production
« Eine Bibliothek zum Erstellen von Anwendungen mit Universal Robots Cobots »
Mesures.com
« UnderAutomation entwickelt eine mit Universal Robots kompatible Softwarebibliothek »
Industrie
« UnderAutomation, ein französisches Unternehmen, das auf industrielle Informatik spezialisiert ist, hat eine UR+ zertifizierte Softwarebibliothek entwickelt. »
Zone Industrie
« Fernsteuerung, Austausch von Messwerten in Echtzeit, erleichterte Programmierung... so viele Funktionen, die vor allem eine erhebliche Zeitersparnis bieten. »Die Bibliotheken auf GitHub
Jedes Paket wird auf GitHub mit seinem Änderungsprotokoll veröffentlicht.
Neueste Versionen
UniversalRobots.NET
Neueste Version
underautomation / UniversalRobots.NET
Public.NET-Bibliothek des Universal Robots-SDK.
underautomation / UniversalRobots.py
PublicPython-Paket des Universal Robots-SDK.
underautomation / UniversalRobots.vi
PublicLabVIEW-Bibliothek des Universal Robots-SDK, mit Beispiel-VIs.
underautomation / UniversalRobots.unity
PublicUnity-Paket des Universal Robots-SDK.
Legen Sie jetzt los!
Starten Sie heute die 30-Tage-Testversion, oder fordern Sie ein Angebot an.