UnderAutomation
有问题吗?

[email protected]

联系我们
UnderAutomation
⌘Q
Universal Robots
UR+ Certified

Universal Robots SDK控制 Universal Robots 协作机器人 直接从您自己的软件

在.NET、Python、Labview或Matlab中快速创建与Universal Robots cobot通信的应用程序。 开箱即用的软件库:您的电脑通过网线与机器人通信。

免费试用查看价格

1100 € / $1300 起,一次性付款

无需在机器人上安装
30 天免费试用
永久许可,无需订阅
.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();
概览

您将获得什么

Plug & Play

只需几分钟即可连接您的机器人。无需安装许可证管理器, 无需 USB 密钥。仅参考图书馆。

没有在机器人上安装的插件

使用机器人控制器作为标准提供的网络协议。

URCapsROS

30 天试用

免费试用 30 天, 无承诺, 无需注册

付一次, 永远使用

永久许可, 无需订阅, 无论机器人, 开发人员的数量是多少

顾客

客户成功案例

了解我们的客户如何将 UnderAutomation 解决方案集成到他们的工业项目中。

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.

功能

Universal Robots SDK 功能: RTDE、Dashboard 等

每项功能都有代码示例。点击示例可查看完整代码。

远程控制

“REST API”和“DASHBOARD SERVER”协议允许您通过 TCP/IP 远程向机器人发送命令。 例如, 您可以打开或关闭机器人手臂、释放制动器、加载程序、运行或停止它。

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

交换测量结果

"Primary Interface"和 "RTDE" (实时数据交换) 允许您从机器人接收高达500Hz的测量流, 其中包含大量信息: 位置、状态、输入和输出、程序变量的值等, 因此您的应用程序可以与机器人同步。 此外, 还可以向机器人高速写入共享寄存器。

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

脚本和方案

这个库允许你以多种方式远程控制机器人上的程序执行。

  • 你可以通过TCP/IP套接字发送URScript脚本行来执行。
  • 功能允许你在本地建立和编辑一个*.URP程序文件, 然后将其传送到UR控制器中执行。
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

定制的插座

你的软件可以成为一个服务器, 并允许机器人连接到它以检索信息。

  • XML-RPC: 机器人可以与 "rpc_factory "函数连接, 并在你的程序中调用有远程参数的方法, 这些方法可以返回值。
  • 套接字: 一个经典的TCP/IP服务器, 机器人可以用 "socket_open "函数与之连接, 然后与您的应用程序进行双向对话。
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

运动学和离线工具箱

该库提供的功能无需将您的机器人带入网络而可以使用。例如, 可以转换位置类型。您的软件还可以打开本机文件程序 *.urp和安装 *。安装并编辑其内容。它还可以将笛卡尔位置转换为关节的位置, 反之亦然。

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

还有更多...

  • Primary / Secondary interface
  • RTDE (Real-Time Data Exchange)
  • Dashboard server
  • REST API (PolyscopeX only)
  • Interpreter Mode
  • Sockets
  • XML-RPC
  • SSH
  • SFTP
  • Forward & Inverse Kinematics
演示

看看实际效果

随 SDK 提供的演示程序的视频和截图。

Windows应用程序示例

无需编写代码:用演示程序在您的机器人上测试 SDK。

下载通过下载, 您接受使用的一般条件: 见条款和条件

Github上的示例

使用此SDK的示例的来源可在GitHub上获得

python示例

该SDK与Python运行的示例, 以恢复机器人的笛卡尔位置。

LabView示例

VI的示例允许测试该SDK的大多数功能。

安装

一条命令即可安装

选择您的语言。30 天试用从首次使用开始,无需注册。

.NET

适用于 C# 和 VB.NET 的 NuGet 包,从 .NET Framework 到最新的 .NET。

dotnet add package UnderAutomation.UniversalRobots
请参阅xxx上请参阅xxx上打开指南

Python

PyPI 上的 Python 包,支持 Windows、Linux 和 macOS。

pip install UnderAutomation.UniversalRobots

LabVIEW

LabVIEW 库 (.lvlib) 及其示例项目,位于 GitHub。

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

AI 助手

面向 AI 编程助手(Claude Code、Cursor、Copilot 等)的 Skill:您的助手了解 SDK 的 API。

npx skills add underautomation/skills --skill underautomation-universal-robots-csharp
文档

浏览文档

该文档使您可以快速开始使用库开发。 所有受支持的语言都可以使用相同的功能。

浏览文档

该文档使您可以快速开始使用库开发。 所有受支持的语言都可以使用相同的功能。

开始使用.NET

用这个100%托管的库在C#或VB中编码你的应用程序, 没有依赖性, 在NuGet.org上有你选择的版本和架构 (x86, x64, ARM, Linux, Windows, MacOS, .NET Framework, .NET Core, UWP, ...) 。

开始使用Python

用Python快速开发一个程序, 用这个库与你的机器人进行通信。它可以在PyPI上使用。

开始使用LabVIEW

为您的LabVIEW VIs配备与机器人的通信功能。

开始使用Matlab

让你的Matlab脚本来驱动你的机器人。

指南和实用文章

每篇文章逐步讲解一项任务的做法,并附带可直接复制的代码。

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.

价格

可以免费下载库, 可以进行30天的测试。 在此期间之后, 您可以要求我们延长试用期, 或购买最适合您的许可证: 站点 (仅二进制二进制) 或源代码 (源代码) 。 购买后, 您有一个一年的维护期, 使您优先访问支持和更新的可能性。 当您购买使用许可证时, 它会链接到机器人品牌, 无论您将其重新分配给客户的机器人, 开发人员或软件的数量如何, 都可以永远使用, 而无需重复费用。 如果您是分销商, 并希望为您的客户提供我们的产品之一, 请与我们联系以讨论特殊条件和价格。

标准站点许可证

•

$1300为了一生
$780大学 (40% 折扣)
专为工业环境而设计, 提供终身全功能访问。
包括 1 年维护 (获取更新)
与 Pro 许可证的条件相同, 但支持不优先且维护期为 1 年。
没有内部来源; 仅提供混淆的 DLL。
无法通过视频会议提供帮助 (仅通过电子邮件) 。
为您的项目选择正确的许可证
立即购买
最受欢迎

专业许可

•

$2000
$2960
为了一生
$1200大学 (40% 折扣)
适用于需要优先支持和长期维护的关键生产环境。
包括 3 年维护 (获取更新) , 在此期限内没有续订订单 (零文书工作)
完整和永久的SDK: 无需重复订阅, 许可证是您的永远您的, 并且可以使用机器人品牌的所有编程语言。
仅在指定的邮政地址上持有许可证的组织才能使用。 不管开发机器的数量多少, 所有团队开发人员都将共享相同的许可证。
使用SDK开发的任何应用程序都可以将无限数量的客户提供, 而不管要连接的机器人数量如何。
该许可证是一种密码, 可以在解锁功能的代码中调用。 没有其他软件要安装。 没有USB密钥。
优先支持 (平均<24小时)
远程协助 (电子邮件和长达 2 小时的视频会议)
没有内部来源; 仅提供混淆的 DLL。
随时升级到源 (支付差价)
立即购买

源代码许可

•

$4000为了一生
$2400大学 (40% 折扣)
实现完全的技术主权、深度定制和完全独立。
与专业许可证的条件相同
C# 语言库的完整内部代码
Visual Studio 解决方案包含数年开发的数千行代码
您可以在一般使用条款中定义的限制内修改此源代码并在您的应用程序中使用它
与AI编程助手(Claude、Copilot、Cursor、Codex等)完美协作,得益于完整源代码访问权限和随附的上下文文件(AGENTS.md),为LLM提供SDK内部结构的精确知识
立即购买
FAQ

常见问题: Universal Robots .NET、Python、LabVIEW 和 Matlab SDK

这个软件库为您节省了开发时间, 并确保无论您的机器人的型号和固件如何, 它都能发挥作用。

你可以从下载页面下载你选择的编程语言的最新版本。

我们是这个领域的专家, 可以通过本SDK所包含的技术支持免费帮助您。你也可以向我们咨询一般的工业软件开发问题。我们对所有的信息都会做出回应, 并乐意为您提供帮助。

本网站的下载页面允许你获得你选择的语言的例子。然后你可以查阅文档, 开始使用该库。

你可以立即从本网站的订单页面直接要求报价。你也可以联系我们。

请在下载档案的属性中检查Windows是否锁定了该文件。如果例子运行正常, 请检查机器人的PING命令是否成功。还要检查您的防火墙和防病毒软件是否允许连接到机器人。最后, 检查机器人的安全设置。

每个版本都包括补丁和新功能。你可以在GitHub上找到各个版本的历史以及所做的修改。请不要犹豫, 与我们联系, 提交您的进化想法。

渐渐地, 图书馆的新功能得到了丰富。直到第5版, 所有的功能和协议都是在同一个类别中开发的, 这让人很困惑。从第6版开始, 所有的功能都是独立的, 在不同的类中开发。请联系我们以帮助你迁移, 或从GitHub上下载最新的5.X.X.X版本, 它与所有旧版本保持兼容。
媒体报道

UR+ 认证的 Universal Robots 协作机器人 SDK

环球机器人公司的技术和销售团队已经审核了这个库。他们认证它是符合要求的, 并与他们的机器人及其生态系统完美结合。

Blog Universal Robots

« 通用机器人公司将法国公司underautomation的软件库整合到UR+生态系统中。 »

Automation France

« UnderAutomation已经开发了一个工业级的软件库, 与Universal Robots技术完全兼容。 »

Machine Production

« 使用通用机器人的机器人创建应用程序的库 »

Mesures.com

« UnderAutomation开发了一个与通用机器人兼容的软件库 »

Industrie

« UnderAutomation, 一家专门从事工业IT的法国公司, 已经开发了一个UR+认证的软件库。 »

Zone Industrie

« 远程控制、实时交换测量结果、简易编程......这么多的功能, 首先是可以节省大量时间。 »
GitHub

GitHub 上的库

每个包都发布在 GitHub 上,并附有更新日志。

最新版本

UniversalRobots.NET

最新版本

underautomation / UniversalRobots.NET

Public

Universal Robots SDK 的 .NET 库。

C#在 GitHub 上查看

underautomation / UniversalRobots.py

Public

Universal Robots SDK 的 Python 包。

Python在 GitHub 上查看

underautomation / UniversalRobots.vi

Public

Universal Robots SDK 的 LabVIEW 库,含示例 VI。

LabVIEW在 GitHub 上查看

underautomation / UniversalRobots.unity

Public

Universal Robots SDK 的 Unity 包。

C#在 GitHub 上查看

现在就开始吧!

今天就开始 30 天试用,或索取报价。

免费试用下单要求报价联系我们