---
title: Staubli SDK documentation
---

# Staubli SDK documentation

## Get started

- [Get started with .NET](/staubli/documentation/get-started-net) : Add the Staubli SDK to a C# or VB.NET project from NuGet or as a DLL, and write a first program for a CS8 or CS9 controller. One managed DLL, no dependency, .NET Framework 3.5 to .NET 10.
- [Get started with Python](/staubli/documentation/get-started-python) : Install the Staubli SDK from PyPI and control a CS8 or CS9 controller from Python 3.7 to 3.13, on Windows, Linux and macOS. Same functions as the .NET library, with Python names.
- [Get started with Matlab](/staubli/documentation/get-started-matlab) : Load the .NET DLL of the Staubli SDK in Matlab with NET.addAssembly, then read positions, I/O and tasks of a CS8 or CS9 controller from a Matlab script.
- [Try the SDK with the demo application](/staubli/documentation/demo-app) : A Windows application, one executable and open source, that calls every function of the SDK. Test what your Staubli controller answers before you write any code.
- [Connect to your robot](/staubli/documentation/connect) : Connect to a CS8 or CS9 controller over its SOAP server: network, port, user and password, connection parameters, errors and disconnection.
- [Test with the Staubli Robotics Suite emulator](/staubli/documentation/simulator) : Develop without a real robot. Connect the SDK to the CS8 or CS9 controller emulator of Staubli Robotics Suite, like to a real controller.
- [Licensing](/staubli/documentation/license) : The 30 day trial, the license key and RegisterLicense, the license states, the maintenance and the source license of the Staubli SDK.
- [AI agent skills](/staubli/documentation/ai-skills) : Install the skill of the Staubli SDK in Claude Code, Codex, GitHub Copilot or Cursor, for C# or Python. The agent then answers with the documentation and the API of your SDK version.

## SOAP

- [SOAP overview](/staubli/documentation/soap-overview) : The SOAP server of CS8 and CS9 controllers, what the SDK does with it, the units, and the list of topics: robots, position, kinematics, motion, I/O, applications and tasks.
- [Controller and robots](/staubli/documentation/soap-controller) : List the robots of a Staubli controller, read the controller parameters, the Denavit-Hartenberg parameters and the joint ranges of each arm.
- [Position](/staubli/documentation/soap-position) : Read the current joints and the Cartesian position of a Staubli robot, for the flange or a tool, in the world frame or in another frame.
- [Kinematics](/staubli/documentation/soap-kinematics) : Compute the forward and inverse kinematics of a Staubli robot on the controller, with the configuration of the arm and the joint ranges.
- [Motion](/staubli/documentation/soap-motion) : Power the arm, set the motion descriptor, send MoveJJ, MoveJC, MoveL and MoveC moves, then stop, restart or cancel them.
- [Inputs and outputs](/staubli/documentation/soap-io) : List the physical I/O of a Staubli controller, read several I/O in one request and write outputs, without a VAL 3 program.
- [VAL 3 applications](/staubli/documentation/soap-applications) : List the VAL 3 applications of a Staubli controller, load a project from its disk, start it, stop it and unload it from a PC.
- [VAL 3 tasks](/staubli/documentation/soap-tasks) : List the VAL 3 tasks with their state, program line and runtime error, then suspend, resume or kill a task.

## Files

- [Files overview](/staubli/documentation/files-overview) : Access the files of a CS8 or CS9 controller: FTP server of a real controller, or .controller file of a controller emulated by Staubli Robotics Suite. Connection, paths, /usr/usrapp and errors.
- [List and transfer files](/staubli/documentation/files-transfer) : List the files of a Staubli controller, upload and download files, create, rename and delete files and folders, with synchronous and asynchronous methods.
- [Send a VAL 3 application](/staubli/documentation/files-applications) : Send the folder of a VAL 3 application to /usr/usrapp on the controller in one call, then load and start it with the SOAP methods.

## How-To Articles

- [Get the robot position](/staubli/documentation/how-to-get-position) : Read the position of a Staubli robot from C# or Python: joints, flange or tool position, and which method to choose. Complete program included.
- [Read and write I/O](/staubli/documentation/how-to-read-write-io) : Find the I/O names, wait for an input and switch an output of a Staubli CS8 or CS9 controller from C# or Python.
- [Move the robot from a PC](/staubli/documentation/how-to-move-robot) : Power the arm and move a Staubli robot in a straight line from C# or Python, without a VAL 3 program. Which move to choose, and the frequent errors.
- [Run a VAL 3 program](/staubli/documentation/how-to-run-program) : Load a VAL 3 project from the disk of the controller, start it, check its tasks and stop it, from C# or Python.
- [Monitor the state of the robot](/staubli/documentation/how-to-monitor-state) : Poll the applications and the VAL 3 tasks of a Staubli controller, print each change of state and each runtime error.

## Legal

- [Legal notice and acknowledgements](/staubli/documentation/credits) : Legal notice and acknowledgements for the UnderAutomation Staubli SDK.
