The Yaskawa SDK for Python enables real-time control and data exchange with Yaskawa Motoman robots via the High-Speed Ethernet Server (HSES) protocol.
Ideal for automation, research, and integration projects, it provides high-speed UDP communication, motion control, robot monitoring, job handling, and more.
🔗 More Info: https://underautomation.com/yaskawa
🔗 Also available in 🟦 .NET and 🟨 LabVIEW
⭐ Star the project
👁️ Watch for updates
- 📡 High-Speed Ethernet Server
- 🤖 Move robot in Cartesian or joint space
- 🛠️ Access robot status, alarms, and I/O
- 💾 Read/write registers and data types
- 🧠 Control and monitor jobs
- ✍️ Send pendant messages, reset alarms, manage files
No Yaskawa options or additional hardware required.
from underautomation.yaskawa import YaskawaRobot
robot = YaskawaRobot()
robot.connect("192.168.0.1")
# Check connection
if robot.high_speed_e_server.connected:
print("Connected!")
# Move in Cartesian
robot.high_speed_e_server.move_cartesian(
x=1000, y=10, z=0,
rx=0, ry=0, rz=0,
speed=10,
)
# Get current joint position
joint_position = robot.high_speed_e_server.get_robot_joint_position()
print(joint_position.axes)
# Read and write register
reg = robot.high_speed_e_server.read_register(10, count=2)
robot.high_speed_e_server.write_register(10, [1234, 5678])
# Reset alarm
robot.high_speed_e_server.alarm_reset(AlarmResetType.reset)
IN/OUT > PSEUDO INPUT SIGNAL
- Set
#82015 CMD REMOTE SEL
viaINTERLOCK + SELECT
- Use physical pendant key in remote position
- Optional Ladder setup: copy
#80011
to#40042
SETUP > FUNCTION ENABLE
- Set
JOB SELECT WHEN REMOTE AND PLAY
toPERMIT
PARAMETER > RS
- Set
RS029 = 1
,RS214 = 1
git clone https://github.com/underautomation/yaskawa.py.git
from yaskawa import YaskawaRobot
robot = YaskawaRobot()
robot.connect("192.168.0.1")
- Robots: DX200, YRC1000, YRC1000 Micro
- OS: Windows, Linux, macOS
- Python: 3.7+
We welcome contributions!
- Report bugs via Issues
- Submit pull requests
- Share feature ideas
🔗 Details: UnderAutomation Licensing