Universal Robots SDKUniversal Robots 협동 로봇을 자체 소프트웨어에서 제어
.NET, Python, Labview 또는 Matlab에서 유니버설 로봇 코봇과 통신하는 애플리케이션을 빠르게 만들 수 있습니다. 바로 쓸 수 있는 소프트웨어 라이브러리입니다. PC가 네트워크 케이블로 로봇과 통신합니다.
1100 € / $1300부터, 1회 결제
Matlab
1// dotnet add package UnderAutomation.UniversalRobots2using UnderAutomation.UniversalRobots;34var robot = new UR();5robot.Connect("192.168.0.1");67var pose = robot.PrimaryInterface.CartesianInfo.AsPose();8robot.Dashboard.LoadProgram("pick_and_place.urp");9robot.Dashboard.Play();
제공되는 것
Plug & Play
단 몇 분만에 로봇을 연결하세요. 설치할 라이센스 관리자도 없고 USB 키도 없습니다. 라이브러리만 참조하세요.
로봇에 설치할 플러그인이 없습니다
로봇 컨트롤러가 표준으로 제공 한 네트워크 프로토콜 사용.
30일 평가판
30일간 무료, 약정 없음, 등록 필요 없음
한 번 지불하고 영원히 사용하십시오
로봇, 개발자 또는 재배포 된 소프트웨어에 관계없이 영구 라이센스, 구독 필요 없음
고객 성공 사례
고객이 UnderAutomation 솔루션을 산업 프로젝트에 어떻게 통합하는지 알아보세요.


AbbVie: Automating High-throughput screening
How AbbVie Leverages Universal Robots SDK to Automate High-Concentration Protein Screening.


GE: Aerospace & Healthcare Automation
GE Accelerates Industrial Automation with UnderAutomation SDKs for Universal Robots and FANUC.


Lockheed Martin: Flexible Aerospace Automation
Refining precision manufacturing and handling with collaborative robots.


Microsoft: Physical AI & Azure IoT
From Azure to the Factory Floor: Microsoft's Physical AI Journey with Universal Robots.


Stellantis: Unlocking Cobot Potential
Using software connectivity to standardize Universal Robots integration across global sites.


CNIMI: Smart Manufacturing & Digital Twins
CNIMI promotes smart manufacturing and digital twins enabled by connectivity with Universal Robots.
Universal Robots SDK 기능: RTDE, 대시보드 외
각 기능에는 코드 예제가 있습니다. 클릭하면 전체 코드를 볼 수 있습니다.
원격 제어
"REST API" 및 "DASHBOARD SERVER" 프로토콜을 사용하면 TCP/IP를 통해 원격으로 로봇에 명령을 보낼 수 있습니다. 예를 들어 로봇 팔을 켜거나 끄고, 브레이크를 풀고, 프로그램을 로드하고, 실행하거나 중지할 수 있습니다.
static void Main(string[] args){var robot = new UR();// Primary Interface and Dashboard Serverrobot.Connect("192.168.0.1");// Power on the arm and release the brakesrobot.Dashboard.PowerOn();robot.Dashboard.ReleaseBrake();// Load a program and start itrobot.Dashboard.LoadProgram("pick_and_place.urp");robot.Dashboard.Play();// Name and state of the programvar state = robot.Dashboard.GetProgramState();Console.WriteLine(state.Value.Name + ": " + state.Value.State);// Show a message on the teach pendantrobot.Dashboard.ShowPopup("Started from the PC");}}
측정값 교환
"기본 인터페이스"와 "실시간 데이터 교환"(RTDE)을 사용하면 로봇으로부터 위치, 상태, 입력 및 출력, 프로그램 변수 값 등 다양한 정보가 포함된 측정 스트림을 최대 500Hz로 수신할 수 있습니다. 그런 다음 애플리케이션을 로봇과 동기화할 수 있습니다. 또한 로봇에 공유 레지스터를 고속으로 쓸 수도 있습니다.
robot.Rtde.OutputDataReceived += (sender, e) =>{// Position of the tool: X, Y, Z in m, rotation vector in radPose pose = robot.Rtde.OutputDataValues.ActualTcpPose;// Force at the toolCartesianCoordinates force = robot.Rtde.OutputDataValues.ActualTcpForce;// Write analog output 0 and bit register 64var inputs = new RtdeInputValues();inputs.StandardAnalogOutputMask = 0b01;inputs.StandardAnalogOutput0 = 0.2;inputs.InputBitRegisters.X64 = true;robot.Rtde.WriteInputs(inputs);// Program and installation variablesGlobalVariable[] variables = robot.PrimaryInterface.GlobalVariables.GetAll();foreach (var variable in variables)Console.WriteLine(variable.Name + " = " + variable.Value);};}
스크립트 및 프로그램
이 라이브러리를 사용하면 여러 가지 방법으로 로봇의 프로그램 실행을 원격으로 제어할 수 있습니다:
- TCP/IP 소켓에서 실행할 URScript 스크립트 줄을 전송할 수 있습니다.
- 함수를 사용하면 *.urp 프로그램 파일을 로컬에서 빌드하고 편집한 다음 UR 컨트롤러로 전송하여 실행할 수 있습니다.
robot.Connect(parameters);// Run a URScript linerobot.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 robotSftpFile[] items = robot.Sftp.ListDirectory("/programs/");// Download a program to the PCrobot.Sftp.DownloadFile("/programs/prg.urp", @"C:\temp\prg.urp");// Send a program to the robotrobot.Sftp.UploadFile(@"C:\temp\prg.urp", "/programs/prg.urp");// Rename, check, deleterobot.Sftp.RenameFile("/programs/prg.urp", "/programs/prg2.urp");bool exists = robot.Sftp.Exists("/programs/prg2.urp");robot.Sftp.DeleteFile("/programs/prg2.urp");}}
맞춤형 소켓
소프트웨어가 서버가 되어 로봇이 서버에 연결하여 정보를 검색할 수 있도록 허용할 수 있습니다:
- XML-RPC: 로봇은 "rpc_factory" 함수를 사용하여 연결하고 프로그램에서 원격 인수를 사용하여 값을 반환할 수 있는 메서드를 호출할 수 있습니다.
- 소켓: 로봇이 "소켓_개방" 함수를 사용하여 연결한 다음 애플리케이션과 양방향으로 통신할 수 있는 클래식 TCP/IP 서버입니다.
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 robotrobot.SocketCommunication.SocketWrite("123456");}}
운동학 및 오프라인 도구 상자
이 라이브러리는 네트워크에 로봇이 없으면 사용할 수있는 기능을 제공합니다. 예를 들어 위치 유형을 변환 할 수 있습니다. 소프트웨어는 기본 파일 프로그램 *.urp 및 설치 *를 열 수도 있습니다. 컨텐츠를 설치하고 편집합니다. 또한 데카르트 위치를 위치로 변환 할 수 있으며 그 반대도 마찬가지입니다.
static void Main(string[] args){// X, Y, Z in m, rotation vector RX, RY, RZ in radvar pose = new Pose(0.1, 0.2, -0.1, 0, 0.05, 0.1);// Convert the rotation to roll, pitch, yaw, and backPose rpy = pose.FromRotationVectorToRPY();Pose rotationVector = rpy.FromRPYToRotationVector();// Nominal DH parameters of a UR3eIUrDhParameters dh = KinematicsUtils.GetDhParametersFromModel(RobotModelsExtended.UR3e);// Forward kinematics, joint positions in radKinematicsResult 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 solutionsdouble[][] solutions = KinematicsUtils.InverseKinematics(pose.FromRotationVectorTo4x4Matrix(), dh);// Open program and installation files, as XMLURInstallation installation = URInstallation.Load(@"C:\temp\default.installation");URProgram program = URProgram.Load(@"C:\temp\prg.urp");XElement xml = program.XML;}}
그리고 더...
- 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에서 사용할 수 있습니다.
파이썬 예제
로봇의 데카르트 위치를 복구하기 위해 파이썬 으로이 SDK의 작동 예.
labview 예제
이 SDK의 대부분의 기능을 테스트 할 수있는 VI의 예.
명령 하나로 설치
언어를 선택하세요. 30일 체험은 처음 사용할 때 시작되며, 등록이 필요 없습니다.
.NET
C# 및 VB.NET용 NuGet 패키지. .NET Framework부터 최신 .NET까지 지원합니다.
dotnet add package UnderAutomation.UniversalRobotsPython
PyPI의 Python 패키지. Windows, Linux, macOS를 지원합니다.
pip install UnderAutomation.UniversalRobotsLabVIEW
LabVIEW 라이브러리(.lvlib)와 예제 프로젝트. GitHub에서 제공합니다.
git clone https://github.com/underautomation/UniversalRobots.vi.gitAI 에이전트
AI 코딩 에이전트(Claude Code, Cursor, Copilot 등)용 Skill: 어시스턴트가 SDK의 API를 알게 됩니다.
npx skills add underautomation/skills --skill underautomation-universal-robots-csharp문서를 찾아보십시오
문서를 사용하면 라이브러리로 신속하게 개발을 시작할 수 있습니다. 모든 지원되는 언어에서 동일한 기능을 사용할 수 있습니다.
문서를 찾아보십시오
문서를 사용하면 라이브러리로 신속하게 개발을 시작할 수 있습니다. 모든 지원되는 언어에서 동일한 기능을 사용할 수 있습니다.
.NET 시작하기
NuGet.org에서 제공되는 100% 관리형, 종속성 없는 라이브러리를 사용하여 원하는 버전 및 아키텍처(x86, x64, ARM, Linux, Windows, MacOS, .NET Framework, .NET Core, UWP 등)로 C# 또는 VB로 애플리케이션을 코딩할 수 있습니다.
Python 시작하기
이 라이브러리를 사용하여 로봇과 통신하는 Python 프로그램을 빠르게 개발하세요. PyPI에서 사용할 수 있습니다.
LabVIEW 시작하기
로봇과 통신할 수 있도록 LabVIEW VI를 장착하세요.

Matlab 시작하기
Matlab *.m 스크립트가 코봇과 통신할 수 있도록 합니다.
가이드 및 실용 문서
각 문서는 하나의 작업을 단계별로 설명하며, 복사해서 쓸 수 있는 코드를 제공합니다.
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 일 동안 테스트 할 수 있습니다. 이 기간이 지나면 시험 기간을 연장하거나 가장 적합한 라이센스를 구입하도록 요청할 수 있습니다 : 사이트 (가로 된 바이너리 전용) 또는 소스 (소스 코드). 구매 후 1 년의 유지 보수 기간이있어 지원 및 업데이트 가능성에 우선적으로 액세스 할 수 있습니다. 사용할 라이센스를 구매하면 로봇 브랜드와 연결되어 있으며 고객에게 재분배하는 로봇, 개발자 또는 소프트웨어의 수에 관계없이 반복 비용없이 영원히 사용할 수 있습니다. 유통 업체이고 고객에게 당사 제품 중 하나를 제공하려면 특별 조건과 가격에 대해 문의하십시오.
표준 사이트 라이센스
•
프로 라이선스
•
소스 코드 라이선스
•
Universal Robots SDK 자주 묻는 질문
UR+ 인증 Universal Robots 코봇용 SDK
유니버설로봇의 기술 및 영업 팀이 이 라이브러리를 감사했습니다. 이 라이브러리가 규정을 준수하고 로봇 및 에코시스템과 완벽하게 통합된다는 것을 인증했습니다.

Blog Universal Robots
« 유니버설 로봇, 프랑스 기업 언더오토메이션의 소프트웨어 라이브러리를 UR+ 에코시스템에 통합합니다. »
Automation France
« UnderAutomation은 유니버설 로봇 기술과 완벽하게 호환되는 산업용 소프트웨어 라이브러리를 개발했습니다. »
Machine Production
« 유니버설 로봇 코봇으로 애플리케이션을 만들기 위한 라이브러리 »
Mesures.com
« 유니버설 로봇과 호환되는 소프트웨어 라이브러리를 개발하는 UnderAutomation »
Industrie
« 프랑스 산업용 IT 전문 기업인 UnderAutomation은 UR+ 인증 소프트웨어 라이브러리를 개발했습니다. »
Zone Industrie
« 원격 제어, 실시간 측정값 교환, 간편한 프로그래밍 등 다양한 기능을 통해 무엇보다도 시간을 크게 절약할 수 있습니다. »GitHub의 라이브러리
각 패키지는 변경 내역과 함께 GitHub에 게시됩니다.
underautomation / UniversalRobots.NET
PublicUniversal Robots SDK의 .NET 라이브러리.
underautomation / UniversalRobots.py
PublicUniversal Robots SDK의 Python 패키지.
underautomation / UniversalRobots.vi
PublicUniversal Robots SDK의 LabVIEW 라이브러리, 예제 VI 포함.
underautomation / UniversalRobots.unity
PublicUniversal Robots SDK의 Unity 패키지.