UnderAutomation.UniversalRobots 4.1.8

UnderAutomation Universal Robots communication SDK

Universal Robots communication SDK

Quickly create applications that communicate with an Universal Robots industrial robot.

SDK : Software Development Kit

More information : https://underautomation.com

Features

Primary and Secondary Interfaces

Send URScript commands and receive robot state data at 10Hz : Cartesian and angular position, robot status, inputs and outputs value, and 100+ more measurements ...

ur.Send("movej([-1.5,-1.5,-2,-0.5,1.8,0],a=1.4, v=1.05, t=0, r=0)");
double x = ur.CartesianInfo.TCPOffsetX;
double shoulderSpeed = ur.JointData.Shoulder.ActualSpeed;

Dashboard Server

Remote control the robot : load, play, pause, and stop a robot program, power on and off, release brake, shutdown, ...

ur.PowerOn();
ur.ReleaseBrake();
ur.LoadProgram("prg1.urp");
ur.Play();

XML-RPC

From your robot program, remote call a function implemented in your .NET program. For example, this allows you to request a position resulting from image processing.

# Connect to the SDK and specifie the IP and port of the PC
rpc:=rpc_factory("xmlrpc","http://192.168.0.10:50000")

# Call method GetPose and wait for the reply. The replied pose will be assigned in variable "answer"
answer:=rpc.GetPose(100)
// Answer sent to the robot
ur.XmlRpcServerRequest += (o, request) =>
  {
    if(request.MethodName == "GetPose") request.Answer = new Pose(request.Arguments[0], 200, 100, 0, 0, 0);
  };

SFTP

Manipulate files and folders of the robot via SFTP (Secure File Transfer Protocol) : download to the robot, import from the robot, rename, delete, move, list files in a folder...

ur.SFTP.DownloadFile("/home/ur/ursim-current/programs/my-program.urp", content);
ur.SFTP.UploadFile(content, "/home/ur/ursim-current/programs/my-program.urp");
ur.SFTP.Delete("/home/ur/ursim-current/programs/my-program.urp");
ur.SFTP.WriteAllText("/home/ur/ursim-current/programs/file.txt", "Hello !");

SSH

Open a SSH (Secure Shell) connection with the robot to execute Linux command lines, as in the terminal.

ur.SSH.RunCommand("echo Hello > /home/ur/Desktop/NewFile.txt");

Convert position types

Convert Rotation Vector to and from RPY.

var pose = new Pose(1, 1, 0, 0.1, 0.2, -0.5);
var rpy = pose.FromRotationVectorToRPY();
var rotVect = pose.FromRPYToRotationVector();

Compatibility

Compatible with all UR robots and firmwares UR3, UR5, UR10, UR16, CB-Series, e-Serie.

Nothing to install on the robot : implemented protocols are available on your robot out of the box.

A 100% managed "UnderAutomation.UniversalRobots.dll" assembly without dependencies in the version of your choice: .NET Framework ≥3.5, .NET Standard, - .NET 5 and Core for Windows, Linux, MacOS

Examples

Pre-built example applications with source code are provided for Winforms, .NET console, LabVIEW and Python.

License

This SDK is a commercial library and a license must be purshased. Once acquired, any application you develop can be delivered to an unlimited number of customers without royalties and without recurring subscription.

More information : https://underautomation.com

No packages depend on UnderAutomation.UniversalRobots.

.NET Framework 3.5

  • No dependencies.

.NET Framework 4.0

  • No dependencies.

.NET Framework 4.5

  • No dependencies.

.NET Framework 4.5.1

  • No dependencies.

.NET Framework 4.5.2

  • No dependencies.

.NET Framework 4.6

  • No dependencies.

.NET Framework 4.6.1

  • No dependencies.

.NET Framework 4.6.2

  • No dependencies.

.NET Framework 4.7

  • No dependencies.

.NET Framework 4.7.1

  • No dependencies.

.NET Framework 4.7.2

  • No dependencies.

.NET Framework 4.8

  • No dependencies.

.NET Core 2.0

  • No dependencies.

.NET Core 2.1

  • No dependencies.

.NET Core 2.2

  • No dependencies.

.NET Core 3.0

  • No dependencies.

.NET 5.0

  • No dependencies.

.NET Standard 2.0

  • No dependencies.

.NET Standard 2.1

  • No dependencies.

Version Downloads Last updated
9.3.0 4 05/19/2026
9.2.0 3 05/19/2026
9.1.0 3 05/19/2026
9.0.1 3 05/19/2026
8.2.0 3 05/19/2026
8.1.0 3 05/19/2026
8.0.2 3 05/19/2026
7.13.1 3 05/19/2026
7.12.0 3 05/19/2026
7.11.0 2 05/19/2026
7.10.0 3 05/19/2026
7.9.9 3 05/19/2026
7.9.8 3 05/19/2026
7.9.1 3 05/19/2026
7.8.22 4 05/19/2026
7.8.0 3 05/19/2026
7.7.3 3 05/19/2026
7.6.3 3 05/19/2026
7.5.2 3 05/19/2026
7.4.7 4 05/19/2026
7.4.1 3 05/19/2026
7.3.2 3 05/19/2026
7.3.1 4 05/19/2026
7.3.0 3 05/19/2026
7.2.5 3 05/19/2026
7.2.4 3 05/19/2026
7.2.3 3 05/19/2026
7.2.2 3 05/19/2026
7.2.1 3 05/19/2026
7.2.0 3 05/19/2026
7.1.0 3 05/19/2026
7.0.0 3 05/19/2026
6.7.2 3 05/19/2026
6.7.1 3 05/19/2026
6.7.0 3 05/19/2026
6.6.2 3 05/19/2026
6.6.1 3 05/19/2026
6.6.0 3 05/19/2026
6.5.5 3 05/19/2026
6.5.4 3 05/19/2026
6.5.3 3 05/19/2026
6.5.1 3 05/19/2026
6.5.0 3 05/19/2026
6.4.0 3 05/19/2026
6.3.1 3 05/19/2026
6.2.0 3 05/19/2026
6.1.0 3 05/19/2026
6.0.6 3 05/19/2026
6.0.2 3 05/19/2026
5.0.0 4 05/19/2026
4.7.0 3 05/19/2026
4.6.1 3 05/19/2026
4.6.0 3 05/19/2026
4.5.1 2 05/19/2026
4.4.0 3 05/19/2026
4.3.0 3 05/19/2026
4.2.1 3 05/19/2026
4.1.8 3 05/19/2026
4.1.6 3 05/19/2026