UnderAutomation
    • pagina de inicio
  • Productos
    • Universal Robots SDK
    • Fanuc SDK
    • Yaskawa SDK
    • Staubli SDK
      • Descripción general
      • Descargar
      • Documentación
        • Overview
        • Get started with .NET
        • Get started with Python
        • SOAP Overview
        • Licensing
    • Cotización • Orden
    • Licencia
¿Una pregunta?

[email protected]

Contactos
UnderAutomation
  • pagina de inicio
  • Productos
      • Descripción general
      • Descargar
      • Documentación
      • Descripción general
      • Descargar
      • Documentación
      • Descripción general
      • Descargar
      • Documentación
      • Descripción general
      • Descargar
      • Documentación
  • Cotización • Orden
  • Contactos
⌘Q
This page is only available in English.
Staubli SDK documentation
Documentation home
SOAP Overview

Get started with Python

Staubli Python SDK provides a simple and efficient way to control Staubli robots using Python. No additional installations are required on the robot controller.

  • Introduction
  • Installation
  • Features
    • Connect to Your Controller
    • Explore System Information
    • Track Positions & Joints
    • Kinematics Helpers
    • Motion Control Lifecycle
    • Physical & Logical I/O Management
    • Application & Project Control
    • Task Supervision
  • Compatibility
  • License
  • Contributing

🚀 Introduction

✅ Install the SDK with pip install UnderAutomation.Staubli.
✅ Connect to Staubli controllers via the native SOAP protocol.
✅ Control motion, read/write I/O, monitor robots, and manage applications directly from Python.

Highlights:

  • ⚡ Real-time SOAP communication through the embedded UnderAutomation.Staubli.dll
  • 🐍 Pythonic wrappers for controllers, parameters, and data objects
  • 🔁 Full motion lifecycle & kinematics helpers
  • 📡 Access to physical & logical I/Os
  • 📦 VAL 3 project and task management

📦 Installation

pip install UnderAutomation.Staubli

The package bundles the required .NET assemblies and depends on pythonnet to bridge Python and .NET. Make sure the target machine has a compatible .NET runtime installed.


✨ Features

🔌 Connect to Your Controller

from underautomation.staubli.staubli_controller import StaubliController
from underautomation.staubli.connection_parameters import ConnectionParameters
controller = StaubliController()
parameters = ConnectionParameters("192.168.0.1")
parameters.soap.enable = True
parameters.soap.user = "default"
parameters.soap.password = "default"
controller.connect(parameters)

UnderAutomation Staubli communication SDK


🔍 Explore System Information

  • List robots: controller.soap.get_robots()
  • Inspect controller parameters: controller.soap.get_controller_parameters()
  • Retrieve DH parameters: controller.soap.get_dh_parameters(robot=0)
robots = controller.soap.get_robots()
controller_params = controller.soap.get_controller_parameters()
dh = controller.soap.get_dh_parameters(robot=0)

UnderAutomation Staubli communication SDK


📍 Track Positions & Joints

  • Cartesian pose + joints: controller.soap.get_current_cartesian_joint_position()
  • Joint-only feedback: controller.soap.get_current_joint_position()
cartesian = controller.soap.get_current_cartesian_joint_position(robot=0)
print(cartesian.joints_position)

UnderAutomation Staubli communication SDK


🧠 Kinematics Helpers

  • Forward kinematics: controller.soap.forward_kinematics(robot, joints)
  • Inverse kinematics: controller.soap.reverse_kinematics(robot, joints, target, config, joint_range)
joints = controller.soap.get_current_joint_position(robot=0)
forward = controller.soap.forward_kinematics(0, joints)
joint_range = controller.soap.get_joint_range(robot=0)
reverse = controller.soap.reverse_kinematics(0, joints, forward.position, forward.config, joint_range)

UnderAutomation Staubli communication SDK


⚙️ Motion Control Lifecycle

  • Power management: controller.soap.set_power(True)
  • Motion primitives: move_l, move_jc, move_jj, move_c
  • Lifecycle control: stop_motion, reset_motion, restart_motion
from underautomation.staubli.soap.data.motion_desc import MotionDesc
from underautomation.staubli.soap.data.frame import Frame
mdesc = MotionDesc()
mdesc.velocity = 250
frame = Frame()
frame.px, frame.py, frame.pz = 300, 0, 450
controller.soap.set_power(True)
controller.soap.move_l(0, frame, mdesc)

UnderAutomation Staubli communication SDK


📡 Physical & Logical I/O Management

  • Discover I/Os: controller.soap.get_all_physical_ios()
  • Read states: controller.soap.read_ios([...])
  • Write outputs: controller.soap.write_ios([...], [...])
physical_ios = controller.soap.get_all_physical_ios()
controller.soap.write_ios(["out1"], [1.0])

UnderAutomation Staubli communication SDK


📦 Application & Project Control

  • Load projects: controller.soap.load_project("Disk://project.pjx")
  • Inspect VAL apps: controller.soap.get_val_applications()
  • Control lifecycle: stop_application(), stop_and_unload_all()
controller.soap.load_project("Disk://project.pjx")
applications = controller.soap.get_val_applications()
controller.soap.stop_and_unload_all()

UnderAutomation Staubli communication SDK


🔁 Task Supervision

  • List VAL tasks: controller.soap.get_tasks()
  • Control execution: task_suspend, task_resume, task_kill
tasks = controller.soap.get_tasks()
controller.soap.task_kill(tasks[0].name, tasks[0].created_by)

✅ Compatibility

  • Controllers: CS8, CS9
  • Operating Systems: Windows, Linux, macOS
  • Python: 3.7+
  • Dependency: pythonnet 3.0+

📜 License

⚠️ Commercial license required
🔗 View EULA

Register your license at runtime with:

from underautomation.staubli.staubli_controller import StaubliController
license_info = StaubliController.register_license("Your Company", "XXXX-XXXX")
print(license_info.state)

🤝 Contributing

You're welcome to:

  • Submit issues & pull requests
  • Share feature suggestions
  • Help improve documentation & samples

👉 Contribute on GitHub

Documentation home
SOAP Overview

Integre fácilmente robots Universal Robots, Fanuc, Yaskawa o Staubli en sus aplicaciones .NET, Python, LabVIEW o Matlab

UnderAutomation
ContactosLegal
Productos
Universal Robots SDKFanuc SDKYaskawa SDKStaubli SDK
enEnglish
frFrançais
deDeutsch
esEspañol
zh中文
ja日本語
ko한국어

© All rights reserved.