Universal Robots SDKUniversal Robots の協働ロボットを 自社のソフトウェアから制御
.NET、Python、Labview、MatlabでUniversal Robots cobotと通信するアプリケーションを素早く作成できます。 すぐに使えるソフトウェアライブラリです。PC がネットワークケーブル経由でロボットと通信します。
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");}}
測定値の交換
「Primary Interface」と「RTDE」 (Real-Time Data Exchange) により、位置、ステータス、入出力、プログラム変数の値など、多くの情報を含む最大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);};}
スクリプトとプログラム
このライブラリは、ロボット上のプログラム実行をいくつかの方法でリモートコントロールすることができます。
- URScript のスクリプトラインを TCP/IP ソケット経由で送信し、実行させることができます。
- プログラムファイル*.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サーバーで、ロボットは "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 robotrobot.SocketCommunication.SocketWrite("123456");}}
運動学とオフラインツールボックス
このライブラリは、ネットワークにURロボットを持たずに使用できる機能を提供します。たとえば、位置の種類を変換することが可能です。ソフトウェアは、ネイティブファイルプログラム *.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で入手できます
Pythonの例
ロボットのデカルト位置を回復するためのPythonを使用したこのSDKの操作の例。
LabViewの例
このSDKの機能のほとんどをテストできるVIの例。
コマンド 1 つでインストール
言語を選んでください。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を始めよう
100%マネージドライブラリで、依存関係がなく、NuGet.orgでご希望のバージョンとアーキテクチャ (x86, x64, ARM, Linux, Windows, MacOS, .NET Framework, .NET Core, UWP, ...) で利用可能なC#またはVBでアプリケーションをコーディングできます。
Pythonを始めよう
このライブラリを使って、ロボットと通信するプログラムをPythonで素早く開発することができます。PyPIで公開されています。
LabVIEWを使いこなす
LabVIEW VIにロボットとの通信機能を持たせてください。

Matlabを始めよう
Matlab スクリプトがロボットを動かすようにします。
ガイドとハウツー記事
各記事は、1 つの作業のやり方を手順ごとに、コピーして使えるコードとともに説明します。
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
« ユニバーサルロボットがフランスのunderautomation社のソフトウェアライブラリをUR+エコシステムに統合 »
Automation France
« UnderAutomationは、Universal Robotsテクノロジーと完全に互換性のある産業グレードのソフトウェアライブラリを開発しました。 »
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 パッケージ。