UnderAutomation
Eine Frage?

[email protected]

Kontakt
UnderAutomation
⌘Q
Universal Robots
UR+ Certified

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.

Kostenlos testenPreise ansehen

Ab 1100 € / $1300, einmalige Zahlung

Nichts auf dem Roboter zu installieren
30 Tage kostenlos testen
Unbefristete Lizenz, ohne Abonnement
.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();
Kurz gesagt

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.

URCapsROS

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

Kunden

Kundenerfolgsgeschichten

Entdecken Sie, wie unsere Kunden UnderAutomation-Lösungen in ihre Industrieprojekte integrieren.

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.

Funktionen

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 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

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 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

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 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

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

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 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

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
Demo

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.

HerunterladenDurch das Herunterladen akzeptieren Sie die allgemeinen Nutzungsbedingungen: Siehe Bedingungen und Konditionen

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.

Installation

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.UniversalRobots
Siehe auf NuGetSiehe auf GitHubAnleitung öffnen

Python

Python-Paket auf PyPI, für Windows, Linux und macOS.

pip install UnderAutomation.UniversalRobots

LabVIEW

LabVIEW-Bibliothek (.lvlib) und ihr Beispielprojekt, auf GitHub.

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

KI-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-csharp
Dokumentation

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.

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

•

1100€fürs Leben
660€für Universitäten (40 % Rabatt)
Konzipiert für industrielle Umgebungen und bietet lebenslangen Zugriff auf alle Funktionen.
1 Jahr Wartung inklusive (Zugriff auf Updates)
Gleiche Bedingungen wie bei der Pro-Lizenz, außer dass der Support nicht priorisiert wird und die Wartung 1 Jahr beträgt.
Es gibt keine internen Quellen; Es wird nur die verschleierte DLL bereitgestellt.
Keine Unterstützung per Videokonferenz (nur per E-Mail).
Wählen Sie die richtige Lizenz für Ihr Projekt
Jetzt kaufen
Am beliebtesten

Pro-Lizenz

•

1700€
2500€
fürs Leben
1020€für Universitäten (40 % Rabatt)
Für kritische Produktionsumgebungen, die vorrangigen Support und längerfristige Wartung erfordern.
3 Jahre Wartung inklusive (Zugriff auf Updates), ohne Verlängerungsaufträge während dieser Laufzeit (kein Papierkram)
Vollständiges und dauerhaftes SDK: Es ist kein wiederkehrendes Abonnement erforderlich, die Lizenz ist für immer Ihnen und funktioniert in allen Programmiersprachen für eine Robotermarke.
Kann nur von der Organisation verwendet werden, die die Lizenz an der angegebenen Postanschrift hält. Alle Teamentwickler teilen die gleiche Lizenz, unabhängig von der Anzahl der Entwicklungsmaschinen.
Jede Anwendung, die mit dem SDK entwickelt wurde, kann unbegrenzt an eine unbegrenzte Anzahl Ihrer Kunden ohne zusätzliche Kosten geliefert werden, unabhängig von der Anzahl der Roboter, die eine Verbindung herstellen können.
Die Lizenz ist eine Art Passwort, das Sie im Code aufrufen können, der die Funktionalität freischaltet. Keine zusätzliche Software zu installieren. Kein USB -Schlüssel.
Prioritärer Support (durchschnittlich <24 Stunden)
Fernunterstützung (E-Mail und bis zu 2 Stunden Videokonferenz)
Es gibt keine internen Quellen; Es wird nur die verschleierte DLL bereitgestellt.
Jederzeit Upgrade auf Source (Zahlung der Differenz)
Jetzt kaufen

Quellcodelizenz

•

3400€fürs Leben
2040€für Universitäten (40 % Rabatt)
Für völlige technische Souveränität, umfassende Individualisierung und völlige Unabhängigkeit.
Gleiche Bedingungen wie bei der Pro-Lizenz
Vollständiger interner Code der Bibliothek in C#
Visual Studio-Lösung, die Tausende von Codezeilen umfasst, die über mehrere Jahre entwickelt wurden
Sie können diesen Quellcode ändern und in Ihrer Anwendung im Rahmen der in den Allgemeinen Nutzungsbedingungen festgelegten Grenzen verwenden
Funktioniert optimal mit KI-Coding-Agenten (Claude, Copilot, Cursor, Codex...) dank vollständigem Quellcode-Zugriff und enthaltener Kontextdateien (AGENTS.md), die dem LLM genaues Wissen über die SDK-Interna geben
Jetzt kaufen
FAQ

FAQ: Universal Robots .NET, Python, LabVIEW & Matlab SDK

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.
Presse

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

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.

C#Auf GitHub ansehen

underautomation / UniversalRobots.py

Public

Python-Paket des Universal Robots-SDK.

PythonAuf GitHub ansehen

underautomation / UniversalRobots.vi

Public

LabVIEW-Bibliothek des Universal Robots-SDK, mit Beispiel-VIs.

LabVIEWAuf GitHub ansehen

underautomation / UniversalRobots.unity

Public

Unity-Paket des Universal Robots-SDK.

C#Auf GitHub ansehen

Legen Sie jetzt los!

Starten Sie heute die 30-Tage-Testversion, oder fordern Sie ein Angebot an.

Kostenlos testenBestellenAngebot anfordernKontakt