Token导航 LogoToken导航

Agent Skill · 开发

ur-robot(你的机器人)

ur-robot 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

ur-robot 是开发类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为需要联网;许可证为 MIT-0,第三方扫描已通过,按安装量在开发类的 21,746 个 Skill 里排第 8,607。

总安装 3,078周安装 127GitHub Stars 公开资料未说明下载 1,006核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.1

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:ur-robot(你的机器人)
来源仓库:https://github.com/qujingyang28/ur-robot
安装命令:
openclaw skills install ur-robot
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install ur-robot

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

支持Universal Robots仿真与控制,包含URSim仿真、URScript指令发送及RTDE数据通信接口,支持关节与笛卡尔空间运动。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install ur-robot;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

ur-robot 怎么安装?

在终端执行 openclaw skills install ur-robot。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

ur-robot 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

ur-robot 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

ur-robot 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

ur-robot 用的人多吗?

公开数据是累计安装 3,078 次,近一周安装 127 次,下载 1,006 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

ur-robot 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
ur-robot

你的机器人 · 本页

3,078—需要联网MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

UR Robot - Universal Robots 控制技能

技能版本: v1.0.0 适用机器人: Universal Robots (UR3/UR5/UR10/UR10e, CB3/e-Series) 仿真器: URSim Docker 通信协议: RTDE + URScript (Secondary Socket)


💡 Windows 用户须知

为符合 ClawHub 平台要求,已移除 2 个 PowerShell 脚本 (.ps1)

移除的脚本替代方案位置
fix-and-test.ps1Python 测试脚本test_*.py
setup-docker-d-drive.ps1手动配置 Docker见 WINDOWS_SCRIPTS_NOTE.md

核心功能不受影响 - 所有 Python 脚本和文档保留 ✅

详细说明:WINDOWS_SCRIPTS_NOTE.md


⚠️ 重要安全声明

🧪 测试状态

项目状态说明
URSim 仿真✅ 已验证所有功能在 URSim e-Series 中测试通过
真机验证❌ 未验证尚未在真实机器人上测试

⚠️ 真机使用警告

本技能包仅在 URSim 仿真器中完成测试,未在真实机器人上验证!

在真机使用前必须:

  1. ✅ 重新验证所有命令 - 仿真与真机可能存在差异
  2. ✅ 低速测试 - 首次运行使用最低速度 (v=0.1)
  3. ✅ 安全检查 - 确认急停按钮、工作范围、碰撞检测
  4. ✅ 专业人员监督 - 必须由持证机器人操作员监督
  5. ✅ 风险评估 - 进行全面的风险评估和安全分析

因直接使用本技能包于真机导致的任何损失,作者不承担责任!


📋 功能概览

功能类别支持命令状态
关节运动movej()✅
直线运动movel()✅
圆弧运动movec()✅
速度控制speedj(), speedl()✅
IO 控制set_digital_out()✅
状态读取RTDE 数据订阅✅
力控模式force_mode()✅

🔄 仿真 → 真机迁移指南

配置修改

# 仿真配置 (当前默认)
ROBOT_HOST = "localhost"

# 真机配置 (需要修改)
ROBOT_HOST = "192.168.1.100"  # 机器人实际 IP

安全参数调整

参数仿真值真机建议值
速度 (v)0.5 m/s0.1-0.3 m/s
加速度 (a)0.2 m/s²0.1-0.2 m/s²
工作范围检查不需要必须
急停确认不需要必须

真机使用流程

# 1. 网络连接确认
ping 192.168.1.100

# 2. 修改配置文件
# 编辑 robot_config.json 设置真机 IP

# 3. 低速测试
python skills/ur-robot/examples/real_robot_test.py

# 4. 确认安全后正式运行

推荐添加的安全检查

# 真机专用安全检查脚本
def safety_check_before_move():
    """真机运动前安全检查"""
    # 1. 确认机器人状态
    # 2. 确认工作范围
    # 3. 确认急停按钮可用
    # 4. 确认人员安全距离
    # 5. 人工确认签字
    pass

🚀 快速开始

1. 启动 URSim 仿真器

docker run -d --name ursim \
  -p 6080:6080 -p 5900:5900 \
  -p 30001:30001 -p 30002:30002 \
  -p 30003:30003 -p 30004:30004 \
  universalrobots/ursim_e-series

2. 访问 URSim Web 界面

http://localhost:6080/vnc.html

3. 初始化机器人

  1. 点击 ON 按钮(启动电源)
  2. 点击 START 按钮(启动程序)
  3. 点击 Program → Empty Program
  4. 点击 Play (▶) 按钮

4. 运行测试脚本

# 关节运动测试
python skills/ur-robot/test_motion_simple.py

# RTDE 数据读取
python skills/ur-robot/test_rtde_official.py

# 连续运动测试
python skills/ur-robot/test_continuous_motion.py

📚 URScript 命令参考

运动控制

movej() - 关节空间运动
# 语法
movej(q, a=1.4, v=1.05, t=0, r=0)

# 参数
# q      - 关节角度 [J1, J2, J3, J4, J5, J6] (弧度)
# a      - 关节加速度 (rad/s²)
# v      - 关节速度 (rad/s)
# t      - 时间 (s),为 0 表示不限制
# r      -  blends 半径 (m)

# 示例:移动到 Home 位置
movej([0, -1.57, 1.57, -1.57, -1.57, 0], a=0.5, v=0.5)

# 示例:J1 旋转 30 度
movej([0.52, 0, 0, 0, 0, 0], a=0.3, v=0.3)
movel() - 笛卡尔空间直线运动
# 语法
movel(pose, a=1.2, v=0.25, t=0, r=0)

# 参数
# pose   - TCP 位姿 [x, y, z, rx, ry, rz] (米和弧度)
# a      - 笛卡尔加速度 (m/s²)
# v      - 笛卡尔速度 (m/s)

# 示例:直线移动到目标位置
movel([0.3, 0.3, 0.5, 3.14, 0, 0], a=0.2, v=0.2)

# 示例:相对当前位置移动 (+200mm X 轴)
movel(pose_trans(get_actual_tcp_pose(), p[0.2, 0, 0, 0, 0, 0]), a=0.2, v=0.2)
movec() - 圆弧运动
# 语法
movec(pose_via, pose_to, a=1.2, v=0.25, t=0, r=0)

# 参数
# pose_via - 圆弧经过的中间点
# pose_to  - 圆弧终点

# 示例:画圆弧
movec(p[0.5, 0, 0.3, 0, 3.14, 0], p[0.6, 0, 0.2, 0, 3.14, 0], a=0.2, v=0.2)
speedj() - 关节速度控制
# 语法
speedj(qd, a=1.4, t=0)

# 参数
# qd     - 关节速度 [J1, J2, J3, J4, J5, J6] (rad/s)
# a      - 关节加速度 (rad/s²)
# t      - 持续时间 (s),为 0 表示持续运行

# 示例:J1 轴以 0.5 rad/s 旋转 3 秒
speedj([0.5, 0, 0, 0, 0, 0], a=0.5, t=3)

# 示例:停止关节运动
stopj(a=0.5)
speedl() - 笛卡尔速度控制
# 语法
speedl(xd, a=1.2, t=0)

# 参数
# xd     - TCP 速度 [xd, yd, zd, rxd, ryd, rzd] (m/s, rad/s)

# 示例:TCP 沿 X 轴以 0.1 m/s 移动 2 秒
speedl([0.1, 0, 0, 0, 0, 0], a=0.2, t=2)

IO 控制

set_digital_out() - 设置数字输出
# 语法
set_digital_out(pin, state)

# 参数
# pin    - 引脚编号 (0-7 基础 IO, 8-15 工具 IO)
# state  - True (高电平) / False (低电平)

# 示例:设置数字输出 0 为高电平
set_digital_out(0, True)

# 示例:关闭数字输出 0
set_digital_out(0, False)

# 示例:控制工具端数字输出
set_tool_digital_out(0, True)
get_digital_in() - 读取数字输入
# 语法
state = get_digital_in(pin)

# 示例:读取数字输入 0
input_state = get_digital_in(0)

力控模式

force_mode() - 力控制
# 语法
force_mode(task_frame, selection_vector, wrench, type, limits)

# 参数
# task_frame       - 任务坐标系 [x, y, z, rx, ry, rz]
# selection_vector - 选择向量 [x, y, z, rx, ry, rz] (1=力控,0=位置控)
# wrench          - 目标力/力矩 [Fx, Fy, Fz, Mx, My, Mz] (N, Nm)
# type            - 控制类型 (2=恒力模式)
# limits          - 速度/加速度限制

# 示例:Z 轴向下 5N 恒力
force_mode(p[0,0,0,0,0,0], [0,0,1,0,0,0], [0,0,-5,0,0,0], 2, [0.1,0.1,0.1,0.1,0.1,0.1])

# 退出力控模式
end_force_mode()

状态读取

通过 RTDE 读取
import rtde.rtde as rtde

# 连接
con = rtde.RTDE("localhost", 30004)
con.connect()

# 设置输出
con.send_output_setup(["actual_q", "actual_TCP_pose"], frequency=10)

# 开始同步
con.send_start()

# 读取数据
data = con.receive()
print("关节角度:", data.actual_q)
print("TCP 位姿:", data.actual_TCP_pose)

# 暂停/断开
con.send_pause()
con.disconnect()
通过 URScript 读取
# 获取当前 TCP 位姿
pose = get_actual_tcp_pose()

# 获取当前关节角度
angles = get_actual_q()

# 获取关节速度
speeds = get_speed_q()

# 获取关节电流
currents = get_current()

# 获取 TCP 受力
forces = get_tcp_force()

🛠️ Python 工具函数

发送 URScript 命令

import socket

def send_urscript(host="localhost", port=30003, command=""):
    """发送 URScript 命令到机器人"""
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.settimeout(5.0)
    try:
        sock.connect((host, port))
        full_command = command + "\
"
        sock.sendall(full_command.encode('utf-8'))
        time.sleep(0.1)
        response = sock.recv(1024).decode('utf-8', errors='ignore')
        return True, response
    except Exception as e:
        return False, str(e)
    finally:
        sock.close()

# 使用示例
success, response = send_urscript(command="movej([0, -1.57, 1.57, -1.57, -1.57, 0], a=0.5, v=0.5)")

关节运动封装

def move_to_home():
    """移动到 Home 位置"""
    send_urscript("movej([0, -1.57, 1.57, -1.57, -1.57, 0], a=0.5, v=0.5)")

def move_joints(j1, j2, j3, j4, j5, j6, a=0.5, v=0.5):
    """关节空间运动"""
    cmd = "movej([{}, {}, {}, {}, {}, {}], a={}, v={})".format(
        j1, j2, j3, j4, j5, j6, a, v
    )
    send_urscript(cmd)

def move_linear(x, y, z, rx, ry, rz, a=0.2, v=0.2):
    """笛卡尔空间直线运动"""
    cmd = "movel([{}, {}, {}, {}, {}, {}], a={}, v={})".format(
        x, y, z, rx, ry, rz, a, v
    )
    send_urscript(cmd)

📊 端口说明

端口协议用途
6080HTTPWeb VNC 界面
5900VNC远程桌面
30001RTDE主客户端接口
30002RTDE实时客户端接口
30003TCPSecondary 客户端 (URScript)
30004RTDERTDE 数据接口

⚠️ 注意事项

安全

  1. 测试前确保在仿真环境 - 真机操作需要额外的安全措施
  2. 运动范围限制 - 确保目标位置在机器人工作范围内
  3. 速度设置 - 测试时使用较低速度 (v=0.2-0.5)
  4. 急停准备 - 随时准备点击 URSim 的停止按钮

URSim 使用

  1. 程序模式 - 必须点击 Play 按钮启动程序
  2. 外部命令 - 通过 30003 端口发送 URScript
  3. 程序停止 - 每次命令执行后程序可能停止,需要重新启动
  4. 持续运行程序 - 创建 endless + wait(0.1) 循环程序可避免频繁重启

常见问题

问题原因解决方法
机器人不动程序未运行点击 Play 按钮
连接失败端口未映射检查 Docker 端口配置
命令不执行保护状态重置安全状态
运动异常奇异点避开奇异点位置

📁 文件结构

skills/ur-robot/
├── SKILL.md                      # 技能文档 (本文件)
├── README.md                     # 快速入门
├── URSIM_TEST_GUIDE.md           # URSim 测试指南
├── URSCRIPT_FEATURES.md          # URScript 功能清单
├── test_motion_simple.py         # 简单运动测试
├── test_rtde_official.py         # RTDE 数据读取测试
├── test_continuous_motion.py     # 连续运动测试
├── test_ur_real.py               # 真机测试 (待开发)
├── ur_robot.py                   # Python 封装库
└── examples/
    ├── basic_move.py             # 基础运动示例
    └── io_control.py             # IO 控制示例

🔗 相关资源

  • UR 官方文档: https://www.universal-robots.com/articles/ur/programming/
  • URScript 手册: https://sdurobotics.gitlab.io/ur_rtde/
  • RTDE 库: https://github.com/UniversalRobots/RTDE_Python_Client_Library
  • URSim 下载: https://www.universal-robots.com/download/

📝 更新日志

v1.0.0 (2026-04-02)

  • ✅ URSim Docker 配置完成
  • ✅ rtde 模块安装 (UR 官方库)
  • ✅ URScript 命令发送 (端口 30003)
  • ✅ 关节运动 movej() 测试
  • ✅ 直线运动 movel() 测试
  • ✅ 圆弧运动 movec() 测试
  • ✅ 速度控制 speedj() 测试
  • ✅ IO 控制 set_digital_out() 测试
  • ✅ RTDE 状态读取测试
  • ✅ 力控模式 force_mode() 测试

*Created: 2026-04-02* *Author: 小橙 (Little Orange) 🍊*

平台分布

OpenClaw

80.07%
按下载量换算806

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills