RoboDK将机器人装在 模型文件上,无需制作运动结构
·
为什么界面拖不动坐标系到模型下级
当前对象类型不同:
桁架-1 XZ是ITEM_TYPE_OBJECT,即 STL/网格模型;Huayan E10-L Base是ITEM_TYPE_FRAME,即坐标系。
RoboDK 界面的拖拽功能对父子类型做了限制。通常允许:
坐标系
└─ 模型
但不允许在界面中建立:
模型
└─ 坐标系
原因是 STL 模型只是几何对象,不是标准的参考坐标系或运动机构。RoboDK 界面为了避免产生不规范的运动学层级,不提供“把坐标系拖到模型下”的操作。但当前 RoboDK API 的 setParentStatic() 可以建立并保存这种关系。
通过 RoboDK Python API 直接修改站树父子关系。
核心操作是:
from robodk import robolink
RDK = robolink.Robolink()
y_model = RDK.Item("桁架-1 Y", robolink.ITEM_TYPE_OBJECT)
xz_model = RDK.Item("桁架-1 XZ", robolink.ITEM_TYPE_OBJECT)
base_frame = RDK.Item("Huayan E10-L Base", robolink.ITEM_TYPE_FRAME)
# 保持模型和 Base 当前的绝对位置,只修改父子关系
xz_model.setParentStatic(y_model)
base_frame.setParentStatic(xz_model)
setParentStatic() 中的 Static 不是“禁止移动”,而是“重新挂载时保持当前绝对位姿不变”。挂载完成后,移动 桁架-1 XZ,它的子级 Huayan E10-L Base 和机器人都会跟随移动。
当时的层级是:
Frame 2
├─ 桁架-1 柱
└─ 桁架-1 Y
└─ 桁架-1 XZ
└─ Huayan E10-L Base
└─ Huayan E10-L
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)