Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🚀 A powerful .NET library for seamless communication with your Universal Robots cobot. Supports RTDE, URScript execution, Dashboard Server, SFTP, SSH, and more! Offline tools : Inverse and Forward Kinematics - Pose converter

License

NotificationsYou must be signed in to change notification settings

underautomation/UniversalRobots.NET

Repository files navigation

UnderAutomation Universal Robots communication SDK

NuGet.NET Framework.NET Standard.NET Core.NET Versions

🤖 Effortlessly Communicate with Universal Robots

TheUniversal 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 &🧊 Unity


⭐ Star if you like it !

👁️ Watch to be notified of latest updates !


🚀 TL;DR (Too Long; Didn’t Read)

✔️Full RTDE Support – Read & write at up to500Hz
✔️Send URScript Commands – Control robots in real-time
✔️Dashboard Server – Manage power, programs, and states
✔️Secure Connections – SSH & SFTP support
✔️Forward & Inverse kinematics
✔️Multi-Platform – Works on Windows, Linux, and macOS
✔️Commercial License – Deploy with no royalties

📹Watch Introduction Video

Universal.Robots.communication.SDK.mp4

📥 Download Example Applications

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

UnderAutomation.UniversalRobots.Showcase.Console


🔹 Console Applications (Multi-Platform)

Precompiled console applications showcasing compilation for multiple operating systems.

📌Downloads:

UnderAutomation.UniversalRobots.Showcase.Console

OSArchitectureDownload
🐧LinuxARM📥 Download
🐧Linuxx64📥 Download
🍏macOSARM64📥 Download
🍏macOSx64📥 Download
🖥Windowsx64📥 Download
🖥Windowsx86📥 Download

📌 Features

🔹 Real-Time Data Exchange (RTDE)

Communicate with your robot at500Hz, read live data, and control its behavior.

varrobot=newUR();varparam=newConnectParameters("192.168.0.1");// Enable RTDEparam.Rtde.Enable=true;// Exchange data at 500Hzparam.Rtde.Frequency=500;// Select data you want to write in robot controllerparam.Rtde.InputSetup.Add(RtdeInputData.StandardAnalogOutput0);param.Rtde.InputSetup.Add(RtdeInputData.InputIntRegisters,0);// Select data you want the robot to sendparam.Rtde.OutputSetup.Add(RtdeOutputData.ActualTcpPose);param.Rtde.OutputSetup.Add(RtdeOutputData.ToolOutputVoltage);param.Rtde.OutputSetup.Add(RtdeOutputData.OutputDoubleRegisters,10);// Connect to robotrobot.Connect(param);// Be notified at 500Hz when data is receivedrobot.Rtde.OutputDataReceived+=Rtde_OutputDataReceived;// Write input values in robotvarinputValues=newRtdeInputValues();inputValues.StandardAnalogOutput0=0.2;inputValues.InputIntRegisters.X0=12;robot.Rtde.WriteInputs(inputValues);

🔹 Primary Interface

Send URScript commands and monitor robot state at10Hz.

// Send scriptrobot.PrimaryInterface.Script.Send("movej([-1.5,-1.5,-2,-0.5,1.8,0], a=1.4, v=1.05)");// Get datadoublex=robot.PrimaryInterface.CartesianInfo.TCPOffsetX;doubleshoulderSpeed=robot.PrimaryInterface.JointData.Shoulder.ActualSpeed;// Read program variablesGlobalVariablemyVar=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();

🔹 Inverse Kinematics - Forward Kinematics

Calculates joint positions corresponding to a cartesian position and vice versa. Uses a purely algebraic and optimized algorithm.

// Get default DH parameters for UR3e robot model²IUrDhParametersdhParameters=KinematicsUtils.GetDhParametersFromModel(RobotModelsExtended.UR3e);// Calculate forward kinematics for given joint angles in radiansKinematicsResultfkResult=KinematicsUtils.ForwardKinematics(newdouble[]{0,-1.57,1.57,0,0,0},dhParameters);// Calculate inverse kinematics for given cartesian posevarmatrix=vectorPose.FromRotationVectorTo4x4Matrix();double[][]ikSolutions=KinematicsUtils.InverseKinematics(matrix,dhParameters);

🔹 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 robotrobot.XmlRpc.XmlRpcServerRequest+=(o,request)=>{if(request.MethodName=="GetPose")request.Answer=newPose(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:

MethodNuGet (Recommended)Direct Download
How to InstallInstall via NuGet.See on NugetDownload and reference the DLL manually
dotnet add package UnderAutomation.UniversalRobots📥Download ZIP

2️⃣Reference the SDK in Your Code

usingUnderAutomation.UniversalRobots;

3️⃣Connect to Your Robot

varrobot=newUR();robot.Connect(newConnectParameters("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 viaGitHub 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:

About

🚀 A powerful .NET library for seamless communication with your Universal Robots cobot. Supports RTDE, URScript execution, Dashboard Server, SFTP, SSH, and more! Offline tools : Inverse and Forward Kinematics - Pose converter

Topics

Resources

License

Stars

Watchers

Forks

Contributors3

  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp