UnderAutomation.UniversalRobots
7.9.9
dotnet add package UnderAutomation.UniversalRobots --version 7.9.9
NuGet\Install-Package UnderAutomation.UniversalRobots -Version 7.9.9
<PackageReference Include="UnderAutomation.UniversalRobots" Version="7.9.9" />
paket add UnderAutomation.UniversalRobots --version 7.9.9
#r "nuget: UnderAutomation.UniversalRobots, 7.9.9"
// Install UnderAutomation.UniversalRobots as a Cake Addin #addin nuget:?package=UnderAutomation.UniversalRobots&version=7.9.9 // Install UnderAutomation.UniversalRobots as a Cake Tool #tool nuget:?package=UnderAutomation.UniversalRobots&version=7.9.9
Universal Robots Communication SDK
🤖 Effortlessly Communicate with Universal Robots
The Universal Robots SDK enables seamless integration with Universal Robots for automation, data exchange, and remote control. Ideal for industrial automation, research, and advanced robotics applications.
🔗 More Information: https://underautomation.com/universal-robots
🔗 Also available for 🟨 LabVIEW & 🐍 Python
<p align="center"> <a href="https://github.com/underautomation/UniversalRobots.NET/stargazers"><b>⭐ Star if you like it !</b></a> </p> <p align="center"> <a href="https://github.com/underautomation/UniversalRobots.NET/watchers"><b>👁️ Watch to be notified of latest updates !</b></a> </p>
🚀 TL;DR (Too Long; Didn’t Read)
✔️ Full RTDE Support – Read & write at up to 500Hz
✔️ Send URScript Commands – Control robots in real-time
✔️ Dashboard Server – Manage power, programs, and states
✔️ Secure Connections – SSH & SFTP support
✔️ Multi-Platform – Works on Windows, Linux, and macOS
✔️ Commercial License – Deploy with no royalties
📹 **Watch Introduction Video 😗*
📥 Download Example Applications
Explore the Universal Robots SDK with fully functional example applications and precompiled binaries for various platforms. See Github releases
🔹 Windows Forms Application (Full Feature Showcase)
A Windows Forms application demonstrating all the features of the library.
📌 Download: 📥 UnderAutomation.UniversalRobots.Showcase.Forms.exe
<p align="center"> <img src="https://raw.githubusercontent.com/underautomation/UniversalRobots.NET/refs/heads/main/.github/assets/desktop.jpg" alt="UnderAutomation.UniversalRobots.Showcase.Console"/> </p>
🔹 Console Applications (Multi-Platform)
Precompiled console applications showcasing compilation for multiple operating systems.
📌 Downloads:
<img src="https://raw.githubusercontent.com/underautomation/UniversalRobots.NET/refs/heads/main/.github/assets/console.png" alt="UnderAutomation.UniversalRobots.Showcase.Console" align="right"/>
OS | Architecture | Download |
---|---|---|
🐧 Linux | ARM | 📥 Download |
🐧 Linux | x64 | 📥 Download |
🍏 macOS | ARM64 | 📥 Download |
🍏 macOS | x64 | 📥 Download |
🖥 Windows | x64 | 📥 Download |
🖥 Windows | x86 | 📥 Download |
📌 Features
🔹 Real-Time Data Exchange (RTDE)
Communicate with your robot at 500Hz, read live data, and control its behavior.
var robot = new UR();
var param = new ConnectParameters("192.168.0.1");
// Enable RTDE
param.Rtde.Enable = true;
// Exchange data at 500Hz
param.Rtde.Frequency = 500;
// Select data you want to write in robot controller
param.Rtde.InputSetup.Add(RtdeInputData.StandardAnalogOutput0);
param.Rtde.InputSetup.Add(RtdeInputData.InputIntRegisters, 0);
// Select data you want the robot to send
param.Rtde.OutputSetup.Add(RtdeOutputData.ActualTcpPose);
param.Rtde.OutputSetup.Add(RtdeOutputData.ToolOutputVoltage);
param.Rtde.OutputSetup.Add(RtdeOutputData.OutputDoubleRegisters, 10);
// Connect to robot
robot.Connect(param);
// Be notified at 500Hz when data is received
robot.Rtde.OutputDataReceived += Rtde_OutputDataReceived;
// Write input values in robot
var inputValues = new RtdeInputValues();
inputValues.StandardAnalogOutput0 = 0.2;
inputValues.InputIntRegisters.X0 = 12;
robot.Rtde.WriteInputs(inputValues);
🔹 Primary Interface
Send URScript commands and monitor robot state at 10Hz.
// Send script
robot.PrimaryInterface.Script.Send("movej([-1.5,-1.5,-2,-0.5,1.8,0], a=1.4, v=1.05)");
// Get data
double x = robot.PrimaryInterface.CartesianInfo.TCPOffsetX;
double shoulderSpeed = robot.PrimaryInterface.JointData.Shoulder.ActualSpeed;
// Read program variables
GlobalVariable myVar = robot.PrimaryInterface.GlobalVariables.GetByName("myVar");
GlobalVariable[] variables = robot.PrimaryInterface.GlobalVariables.GetAll();
🔹 Dashboard Server – Remote Robot Control
Manage power, brakes, program execution, and more.
robot.Dashboard.PowerOn();
robot.Dashboard.ReleaseBrake();
robot.Dashboard.LoadProgram("prg1.urp");
robot.Dashboard.Play();
🔹 XML-RPC – Call .NET Functions from URScript
Enable remote function calls from your robot program.
rpc := rpc_factory("xmlrpc", "http://192.168.0.10:50000")
answer := rpc.GetPose(100)
// Answer sent to the robot
robot.XmlRpc.XmlRpcServerRequest += (o, request) =>
{
if(request.MethodName == "GetPose") request.Answer = new Pose(request.Arguments[0], 200, 100, 0, 0, 0);
};
🔹 Socket Communication
Allow robots to send and receive custom data via sockets.
robot.SocketCommunication.SocketWrite("Hello, Robot!");
robot.SocketCommunication.SocketRequest += (sender, e) => Console.WriteLine(e.Message);
🔹 Secure File Transfer (SFTP)
Upload, download, and manage files securely on your robot.
robot.Sftp.UploadFile(content, "/home/ur/ursim/programs/my-program.urp");
robot.Sftp.Delete("/home/ur/ursim/programs/old-program.urp");
🔹 SSH – Run Terminal Commands
Execute shell commands remotely.
robot.Ssh.RunCommand("echo 'Hello' > /home/ur/Desktop/NewFile.txt");
🛠 Installation
1️⃣ Get the SDK
Choose the installation method that works best for you:
Method | NuGet (Recommended) | Direct Download |
---|---|---|
How to Install | Install via NuGet. See on Nuget | Download and reference the DLL manually |
dotnet add package UnderAutomation.UniversalRobots |
📥 Download ZIP |
2️⃣ Reference the SDK in Your Code
using UnderAutomation.UniversalRobots;
3️⃣ Connect to Your Robot
var robot = new UR();
robot.Connect(new ConnectParameters("192.168.0.1"));
🔍 Compatibility
✅ Supported Robots: UR3, UR5, UR10, UR16, UR20, UR30, CB-Series, e-Series, Polyscope, Polyscope X
✅ Operating Systems: Windows, Linux, macOS
✅ .NET Versions: .NET Framework (≥3.5), .NET Standard, .NET Core, .NET 5/6/8/9
📢 Contributing
We welcome contributions! Feel free to:
- Report issues via GitHub Issues
- Submit pull requests with improvements
- Share feedback & feature requests
📜 License
⚠️ This SDK requires a commercial license.
🔗 Learn more: UnderAutomation Licensing
📬 Need Help?
If you have any questions or need support:
- 📖 Check the Docs: Documentation
- 📩 Contact Us: Support
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 is compatible. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net35 is compatible. net40 is compatible. net403 was computed. net45 is compatible. net451 is compatible. net452 is compatible. net46 is compatible. net461 is compatible. net462 is compatible. net463 was computed. net47 is compatible. net471 is compatible. net472 is compatible. net48 is compatible. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 3.0
- No dependencies.
-
.NETFramework 3.5
- No dependencies.
-
.NETFramework 4.0
- No dependencies.
-
.NETFramework 4.5
- No dependencies.
-
.NETFramework 4.5.1
- No dependencies.
-
.NETFramework 4.5.2
- No dependencies.
-
.NETFramework 4.6
- No dependencies.
-
.NETFramework 4.6.1
- No dependencies.
-
.NETFramework 4.6.2
- No dependencies.
-
.NETFramework 4.7
- No dependencies.
-
.NETFramework 4.7.1
- No dependencies.
-
.NETFramework 4.7.2
- No dependencies.
-
.NETFramework 4.8
- No dependencies.
-
.NETStandard 2.0
- System.Text.Encoding.CodePages (>= 4.5.1)
-
.NETStandard 2.1
- No dependencies.
-
net5.0
- No dependencies.
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
7.9.9 | 113 | 2/4/2025 |
7.9.8 | 85 | 2/4/2025 |
7.9.1 | 339 | 11/13/2024 |
7.8.22 | 358 | 9/4/2024 |
7.8.0 | 199 | 8/1/2024 |
7.7.3 | 176 | 7/22/2024 |
7.6.3 | 170 | 7/3/2024 |
7.5.2 | 208 | 6/10/2024 |
7.4.7 | 151 | 5/29/2024 |
7.4.1 | 211 | 4/28/2024 |
7.3.2 | 157 | 4/27/2024 |
7.3.1 | 584 | 4/5/2024 |
7.3.0 | 141 | 4/5/2024 |
7.2.5 | 147 | 3/27/2024 |
7.2.4 | 180 | 3/8/2024 |
7.2.3 | 165 | 2/2/2024 |
7.2.2 | 139 | 1/22/2024 |
7.2.1 | 194 | 12/21/2023 |
7.2.0 | 380 | 8/30/2023 |
7.1.0 | 252 | 8/10/2023 |
7.0.0 | 328 | 7/16/2023 |
6.7.2 | 568 | 2/14/2023 |
6.7.1 | 453 | 1/5/2023 |
6.7.0 | 439 | 11/21/2022 |
6.6.2 | 490 | 10/21/2022 |
6.6.1 | 522 | 9/20/2022 |
6.6.0 | 489 | 9/20/2022 |
6.5.5 | 493 | 8/29/2022 |
6.5.4 | 571 | 7/28/2022 |
6.5.3 | 563 | 6/21/2022 |
6.5.1 | 513 | 6/9/2022 |
6.5.0 | 608 | 5/3/2022 |
6.4.0 | 562 | 3/22/2022 |
6.3.1 | 1,090 | 2/27/2022 |
6.2.0 | 524 | 2/27/2022 |
6.1.0 | 518 | 2/26/2022 |
6.0.6 | 536 | 2/26/2022 |
6.0.2 | 518 | 2/26/2022 |
5.0.0 | 397 | 12/24/2021 |
4.7.0 | 549 | 12/11/2021 |
4.6.1 | 384 | 12/2/2021 |
4.6.0 | 341 | 12/2/2021 |
4.5.1 | 419 | 11/2/2021 |
4.4.0 | 456 | 10/25/2021 |
4.3.0 | 365 | 10/21/2021 |
4.2.1 | 371 | 10/12/2021 |
4.1.8 | 442 | 10/6/2021 |
4.1.6 | 429 | 10/6/2021 |