OPCUA 行业配套标准:机器人

OPC UA 定义了对象,对象类型,结构化组织能力和定义对象之间关系的能力,利用这些基础和衍生类型及对象,用户还可以搭建出更复杂的类型,关系和对象。

如果不同的厂商或者用户定义的信息模型不同,将会影响系统的互操作性,对于设备而言,如果采用统一标准的信息模型,将会提高设备的互操作。

OPC 基金会在OPC UA标准的基础上,与众多的行业机构展开合作,针对行业的特点,制定各种配套标准,也称为伴随标准。这些配套标准促进了专业设备的互操作性。另一方面,使用同样的信息模型标准, 建模的工作将变的简单有效。

在本博文中,我们介绍其中一个配套标准,机器人。

OPC 40010-1: Robotics - Vertical Integration

国外一些机械臂制造厂商已经为他们的机械臂构建了符合OPC-40010-1 的OPCUA 服务器 。在学习该标准的同时,我们也参考了UR 公司的OPC UA 服务器。

机器人OPC UA 模型

模型的根是MotionDeviceSystemType的对象,名称 Robot,在OPCUA for Device 模型的ComponentType之下,也可以直接在服务器的Objects目录下,它包括下面三个对象:

  • MotionDevices
  • Controllers
  • SafetyStates

运动设备(MotionDevices)

运动设备(MotionDeviceType)

MotionDevics目录包含了MotionDeviceType对象,取名为RobotArm 这是连接到控制器的物理机械臂的模型。

轴(Axes)

该目录包含了机械臂6个轴的对象

  • 基轴Base
  • 肩部轴Shoulder
  • 肘部轴Elbow
  • 腕部轴Wrist1
  • 腕部轴Wrist2
  • 腕部轴Wrist3

每个轴包括的变量

  • MotionProfile: 1 (ROTARY,ROTATARY_ENDLESS,LINEAR)
  • AdditionalLoad 在该轴上的负载,例如焊接机的变压器
  • 参数ParameterSet:
    1. 实际位置ActualPosition: 对应的关节位置,单位:弧度。
    2. 实际速度ActualSpeed: 相应的关节的速度 单位rad/sec
    3. 实际加速度

动力总成(PowerTrains)

该文件夹包含6个电机类型(MotorType)对象:

  • 基电机Base
  • 肩部电机Shoulder
  • 肘部电机Elbow
  • 腕部电机Wrist1
  • 腕部电机Wrist2
  • 腕部电机Wrist3

电机类型(MotorType)

基础属性

  • 序列号
  • 制造商
  • 型号
  • 生产号

参数集(ParameterSet)

  • 刹车释放
  • 电机温度
  • 有效载荷率

齿轮类型(GearType)

  • 序列号
  • 制造商
  • 型号
  • 生产号
  • 齿轮比
  • 齿轮距(Pitch)

安全状态(SafetyStates)

控制器(ControllerType)

  • 序列号
  • 制造商
  • 型号
  • 生产号
  • 当前用户
  • 软件
  • 任务控制
  • 参数集
    • 总开机时间
    • 开机时间
    • UPS 状态
    • 总能耗
    • 机箱风扇速度
    • CPU风扇速度
    • 输入电压
    • 温度

辅助组件类型(AuxiliaryComponentType)

驱动类型(DriveType)

只有一个生产编号

任务控制TaskControls

组件名称ComponentName
参数集ParameterSet
  • 任务程序装入TaskProgramLoaded
  • 任务程序名称TaskProgramName
  • 执行模型ExecutionMode

任务程序名称: 在UR 中,是装入Polyscope 的程序名称,例如:"/programs/palletizer.urp"

执行模型: 枚举类型,CYCLE, CONTINUOUS, STEP

注:UR 的程序

UR 的程序不是OPCUA Robot 模型的一部分。

用户可以通过两种办法给优傲机器人编程:

  • URP程序------用户使用示教器的图形界面编程可直接生成URP程序,即机器人可读代码。用户不需要具备任何编程水平即可生成或修改程序。URP程序还可以调用多个SCRIPT子程序,具有延展功能。
  • SCRIPT程序------SCRIPT是优傲的UR Script编程语言所生成的程序文件。就像其他编程语言那样,UR Script有变量、类型、控制流程指令、函数等功能。另外,UR Script包括内置的变量与函数可以控制机器人输出入信号以及运动。

这两种编程方式各有所长:你可以无需编程水平在示教器上直接生成URP程序;也可以使用SCRIPT增加编程功能,另外,SCRIPT还可用于远程控制机器人驱动。

心得

OPCUA For Robot 是机械臂的信息模型,包含了许多Robot 零部件的相关信息和一些状态,但是没有包括控制的方法。机械臂的控制程序是通过下载SCRIPT 程序实现的。OPCUA 信息模型只是提供了文件名称,甚至没有下载程序的接口。

感觉这样的OPCUA 模型实用性不大。

相关推荐
珂朵莉MM4 小时前
2021 RoboCom 世界机器人开发者大赛-高职组(初赛)解题报告 | 珂学家
java·开发语言·人工智能·算法·职场和发展·机器人
遨博学院11 小时前
机器人编程界面
机器人
曹勖之1 天前
在 UE5 蓝图中配置Actor类型的Asset以作为位置和旋转设置目标
ue5·机器人
曹勖之1 天前
UE 5 和simulink联合仿真,如果先在UE5这一端结束Play,过一段时间以后**Unreal Engine 5** 中会出现显存不足错误
matlab·ue5·机器人
曹勖之1 天前
撰写脚本,通过发布/joint_states话题改变机器人在Rviz中的关节角度
开发语言·python·机器人·ros2
奔跑吧邓邓子1 天前
DeepSeek 赋能智能养老:情感陪伴机器人的温暖革新
人工智能·机器人·deepseek·智能养老·情感陪伴
VR最前沿1 天前
全新Xsens Animate版本是迄今为止最大的软件升级,提供更清晰的数据、快捷的工作流程以及从录制开始就更直观的体验
人工智能·科技·机器人·自动化
CHOTEST中图仪器1 天前
激光干涉仪:解锁协作机器人DD马达的精度密码
机器人·激光干涉仪
Tisfy1 天前
LeetCode 2434.使用机器人打印字典序最小的字符串:贪心(栈)——清晰题解
leetcode·机器人·字符串·题解·贪心·
敢敢のwings2 天前
论文速读《DexWild:野外机器人策略的灵巧人机交互》
机器人·人机交互