UnderAutomation.UniversalRobots
4.4.0
See the version list below for details.
dotnet add package UnderAutomation.UniversalRobots --version 4.4.0
NuGet\Install-Package UnderAutomation.UniversalRobots -Version 4.4.0
<PackageReference Include="UnderAutomation.UniversalRobots" Version="4.4.0" />
paket add UnderAutomation.UniversalRobots --version 4.4.0
#r "nuget: UnderAutomation.UniversalRobots, 4.4.0"
// Install UnderAutomation.UniversalRobots as a Cake Addin #addin nuget:?package=UnderAutomation.UniversalRobots&version=4.4.0 // Install UnderAutomation.UniversalRobots as a Cake Tool #tool nuget:?package=UnderAutomation.UniversalRobots&version=4.4.0
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
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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. |
.NET Core | netcoreapp2.0 is compatible. netcoreapp2.1 is compatible. netcoreapp2.2 is compatible. 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 2.0
- No dependencies.
-
.NETCoreApp 2.1
- No dependencies.
-
.NETCoreApp 2.2
- No dependencies.
-
.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.
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.8.22 | 272 | 9/4/2024 |
7.8.0 | 164 | 8/1/2024 |
7.7.3 | 134 | 7/22/2024 |
7.6.3 | 152 | 7/3/2024 |
7.5.2 | 186 | 6/10/2024 |
7.4.7 | 137 | 5/29/2024 |
7.4.1 | 199 | 4/28/2024 |
7.3.2 | 145 | 4/27/2024 |
7.3.1 | 313 | 4/5/2024 |
7.3.0 | 132 | 4/5/2024 |
7.2.5 | 138 | 3/27/2024 |
7.2.4 | 171 | 3/8/2024 |
7.2.3 | 155 | 2/2/2024 |
7.2.2 | 121 | 1/22/2024 |
7.2.1 | 178 | 12/21/2023 |
7.2.0 | 367 | 8/30/2023 |
7.1.0 | 243 | 8/10/2023 |
7.0.0 | 315 | 7/16/2023 |
6.7.2 | 559 | 2/14/2023 |
6.7.1 | 444 | 1/5/2023 |
6.7.0 | 427 | 11/21/2022 |
6.6.2 | 475 | 10/21/2022 |
6.6.1 | 510 | 9/20/2022 |
6.6.0 | 477 | 9/20/2022 |
6.5.5 | 481 | 8/29/2022 |
6.5.4 | 559 | 7/28/2022 |
6.5.3 | 551 | 6/21/2022 |
6.5.1 | 499 | 6/9/2022 |
6.5.0 | 596 | 5/3/2022 |
6.4.0 | 550 | 3/22/2022 |
6.3.1 | 1,039 | 2/27/2022 |
6.2.0 | 512 | 2/27/2022 |
6.1.0 | 506 | 2/26/2022 |
6.0.6 | 521 | 2/26/2022 |
6.0.2 | 506 | 2/26/2022 |
5.0.0 | 385 | 12/24/2021 |
4.7.0 | 537 | 12/11/2021 |
4.6.1 | 372 | 12/2/2021 |
4.6.0 | 328 | 12/2/2021 |
4.5.1 | 407 | 11/2/2021 |
4.4.0 | 444 | 10/25/2021 |
4.3.0 | 353 | 10/21/2021 |
4.2.1 | 359 | 10/12/2021 |
4.1.8 | 430 | 10/6/2021 |
4.1.6 | 402 | 10/6/2021 |