优傲机器人的编程非常友好,它最大的特点就是降低了对专业机器人工程师的依赖,使得普通工人、技术人员甚至没有深厚编程背景的人员也能快速上手,其编程方式主要分为两大类:图形化编程和文本代码编程。

图形化编程 - 主要方式
这是优傲机器人最核心、最推荐的编程方式,通过直观的拖拽和配置来完成。
核心软件:UR+ 和 Polyscope
- Polyscope: 这是机器人控制器内置的操作系统和用户界面,你可以在其触摸屏上直接进行示教、编程和运行,所有的图形化编程逻辑都在这里完成。
- UR+: 这是优傲官方的生态系统,包含了大量由认证合作伙伴开发的、可以即插即用的末端工具(如夹爪、相机)、传感器和软件,这些UR+产品通常都自带图形化接口,可以无缝集成到你的程序中。
图形化编程的核心元素
Polyscope的编程界面由一系列的“指令”组成,你可以像搭积木一样将它们拖拽到主程序或子程序中。
a) 指令: 这是程序的基本动作单元。
- 移动指令:
MoveJ(关节移动,最快路径,适用于空载移动)、MoveL(线性移动,工具末端走直线,适用于焊接、涂胶等)、MoveC(圆弧移动)。 - I/O 指令:
Set Digital Output(设置数字输出,如控制夹爪夹紧)、Wait for Digital Input(等待数字输入,如等待传感器信号)。 - 逻辑指令:
If/Else(条件判断)、While(循环)、Wait(等待时间)。 - 变量指令:
Set(设置变量)、Script(执行脚本,用于更复杂的逻辑)。
b) 程序结构:

- 主程序: 机器人启动时自动执行的程序。
- 子程序: 将常用的、重复的动作(如“抓取”、“放置”)封装成一个子程序,可以在主程序中多次调用,使程序更简洁、模块化。
编程流程:示教编程
这是优傲机器人最直观的编程方式,无需一行代码:
- 手动模式: 将机器人控制器切换到手动模式。
- 自由移动: 使用示教器上的摇杆,手动将机器人移动到目标位置。
- 记录位置: 在程序界面中,点击“记录位置”或类似的按钮,机器人会自动记录下当前关节或工具坐标系下的精确位置,并生成一个
MoveJ或MoveL指令。 - 重复操作: 重复步骤2和3,记录下所有关键点。
- 添加逻辑: 在移动指令之间,插入I/O指令(如移动到抓取点后,执行“夹爪闭合”)、等待指令等。
优点:
- 零代码基础: 无需学习编程语言,通过直观的示教即可完成程序编写。
- 快速部署: 大大缩短了编程和调试时间。
- 可视化: 编程过程和机器人动作完全同步,易于理解和调试。
文本代码编程 - 高级方式
对于有编程背景的用户,或者需要实现非常复杂逻辑(如与PLC、数据库、深度学习模型进行深度集成)时,优傲机器人也支持文本代码编程。
编程语言:URScript
优傲机器人使用自己的脚本语言——URScript,它是一种基于Python语法的轻量级脚本语言,语法简单,易于上手。

URScript可以直接在Polyscope界面中编写,也可以通过外部计算机连接机器人(通过端口30002)发送脚本指令来实时控制机器人。
URScript 的特点和应用场景
- 实时控制: 可以发送单个指令(如
movej(p[0.1, 0.2, 0.3, 0, 3.14, 0]))来实时控制机器人运动。 - 复杂逻辑: 可以编写复杂的循环、判断、数学计算等逻辑。
- 系统集成: 是实现机器人与外部设备(PLC、相机、视觉系统、力传感器)进行高速、复杂通信的关键。
示例:一个简单的URScript程序
# 定义一个工具中心点
tcp = [0, 0, 0.1, 0, 0, 0]
set_tool_data(tcp) # 设置工具坐标系
# 定义一个工件坐标系
object_frame = [0.4, 0, 0.2, 0, 0, 0]
set_object_frame(object_frame) # 设置工件坐标系
# 主程序
def main_program():
# 移动到初始位置
movej(p[0, -1.57, 1.57, 0, 3.14, 0])
# 移动到上方等待点
movel(p[0.3, 0.3, 0.2, 0, 0, 0], a=0.1, v=0.05)
# 移动到抓取点 (使用工件坐标系)
movel(p[0, 0, 0, 0, 0, 0], a=0.1, v=0.05)
# 模拟抓取
set_digital_out("do_gripper", 1) # 打开夹爪信号 (假设信号名为do_gripper)
sleep(0.5)
# 抬起
movel(p[0, 0, 0.2, 0, 0, 0], a=0.1, v=0.05)
# 移动到放置点
movel(p[0.3, -0.3, 0.2, 0, 0, 0], a=0.1, v=0.05)
movel(p[0.3, -0.3, 0, 0, 0, 0], a=0.1, v=0.05)
# 模拟放置
set_digital_out("do_gripper", 0) # 关闭夹爪信号
sleep(0.5)
# 回到初始位置
movej(p[0, -1.57, 1.57, 0, 3.14, 0])
# 调用主程序
main_program()
集成外部编程环境
对于更复杂的开发,开发者通常会在外部计算机(如PC)上使用Python等语言编写主控程序,然后通过Socket通信将URScript指令发送给机器人。
典型架构:
[PC (Python主程序)] <---> [网络Socket] <---> [UR机器人 (执行URScript)]
在这种模式下,PC负责处理视觉识别、路径规划、数据库查询等复杂任务,然后将计算出的目标点或具体指令打包成URScript发送给机器人执行。
开发环境与工具
-
UR Cap: 这是为优傲机器人开发的插件,你可以使用Java在Eclipse等IDE中开发UR Cap,并将其部署到Polyscope中,创建自定义的图形化指令或界面,极大地扩展了机器人的功能,这是高级定制化的主要方式。
-
UR+ Studio: 一个基于网页的3D仿真软件,可以在虚拟环境中模拟和调试机器人程序,而无需占用实体机器人,大大提高了开发效率和安全性。
-
UR+ 摄像头套件: 内置集成视觉功能,通过图形化界面即可完成简单的抓取、放置等视觉引导任务,无需编写复杂的视觉代码。
总结与学习路径
| 编程方式 | 适用人群 | 优点 | 缺点 |
|---|---|---|---|
| 图形化编程 | 生产线工人、技术员、初级工程师 | 直观、快速、零代码基础 | 灵活性较低,难以实现非常复杂的逻辑 |
| URScript | 软件工程师、自动化工程师、系统集成商 | 灵活性极高、可处理复杂逻辑、便于深度集成 | 需要编程基础,调试相对复杂 |
| UR Cap开发 | 高级开发者、机器人专家 | 可完全定制机器人功能和界面 | 开发门槛高,需要Java和机器人学知识 |
给初学者的学习建议:
- 从图形化编程开始: 直接在机器人上练习示教编程,理解
MoveJ、MoveL、I/O指令和子程序的基本概念,这是最快上手的方式。 - 学习URScript基础: 当你需要实现图形化编程难以完成的任务时,开始学习URScript的基本语法,如变量、
movej/movel函数、if/else、for循环等。 - 尝试简单集成: 尝试用Python编写一个简单的脚本,连接机器人,发送一个移动指令,这是迈向高级应用的关键一步。
- 探索UR+和UR Cap: 了解市面上有哪些成熟的UR+末端工具和视觉套件,它们能帮你解决很多实际问题,如果需要,再深入研究UR Cap开发。
优傲机器人的编程体系是一个从简单到完整的梯度设计,无论你是操作员还是工程师,都能找到适合自己的编程方式,充分发挥机器人的自动化潜力。
标签: 丹麦优傲机器人编程入门指南 优傲机器人快速编程教程 丹麦UR机器人编程零基础学习