Wandelbots Nova (Professional)

⚠️

此接口目前处于 Beta 阶段,自 6.1.0 版本起包含在 realvirtual.io Professional 中

概述

本文档提供了在 realvirtual.io 框架中使用 Wandelbots NOVA 接口进行自动化概念设计、虚拟调试和 3D-HMI 的指南。此接口通过 Wandelbots NOVA API 实现机器人系统的无缝通信和控制。

Wandelbots NOVA 接口
NOVA 控制演示场景

Wandelbots NOVA 提供了附加价值,允许用户利用他们创建的机器人程序,并使用 Wandelbots NOVA 在物理机器人上运行。

功能:

  • 信号处理: 动态导入和管理输入/输出信号。
  • 机器人运动控制: 支持点动、目标创建和程序执行。
  • 示教模式: 在 Unity Editor 中设置目标的专用模式,实现实时机器人示教。
  • 程序执行: 执行机器人程序,内置模板和当前机器人位置监控。

安装和要求

Wandelbots NOVA 需要安装,无论是本地使用还是托管使用。

"查看 Wandelbots NOVA 文档了解更多信息。"

(文档目前不公开。)

请联系 Wandelbots 获取更多信息和 Wandelbots NOVA 的访问权限。(https://www.wandelbots.com/contact)

机器人准备

Demo 场景包含一个 Fanuc CRX-10iA_L Robot prefab,作为配置其他机器人的基础。要准备新机器人,必须满足某些要求以确保与 Wandelbots NOVA 接口和 realvirtual.io 框架的兼容性。

配置新机器人的要求

  • 机器人 Prefab
  • 使用 Fanuc CRX-10iA_L Robot prefab 作为起始模板。
  • 根据您正在配置的具体机器人调整尺寸、结构或组件。
  • 机器人轴的 Drive
  • 机器人的每个轴枢轴点必须包含 Drive 组件。
  • Drive 正方向需要指向正轴点动方向。
  • Target Parent 设置
  • Target parent GameObject 的 0 点必须与机器人的 0 点(机器人基座)对齐。
  • 这确保了准确定位和运动规划。
  • 层级和枢轴点
  • 为机器人部件保持清晰、结构化的层级。
  • 确保每个轴的枢轴点相对于物理机器人设计正确放置。
  • TCP(工具中心点)
  • 将机器人的 TCP 定义为附加到机器人的独立 GameObject。
  • TCP 代表工具或末端执行器的交互点。
  • 机器人目标
  • 确保所有目标都在指定的 Robot Target Root 下创建。
  • 目标应相对于 TCP 定义以实现精确的运动控制。
  • 目标需要在一个正确定义机器人逻辑 0 点的父级中,如下图所示:
机器人目标 0 点
⚠️

在 Unity Editor 中准备机器人后,在开始任何操作之前,按"Save 0 Pos"保存其 0 位置至关重要。此步骤确保如果在 Unity Editor 模式下的示教过程中出现问题,您可以将机器人恢复到默认位置。

导入和管理信号

要导入信号,点击 Wandelbots NOVA 接口中的 Import Signals 按钮。这将加载所有可用信号,包括标准信号。为提高性能,请删除任何不需要的信号以减少开销并保持设置高效。

在 Unity Editor 中示教机器人

Wandelbots 接口允许直接在 Unity Editor 中示教机器人目标,而无需在 Edit 和 Play 模式之间切换。您可以使用 NOVATarget Prefab,将其放置在 Target Root 下,为机器人定义位置。

目标模式

选择或移动目标会使机器人自动跳转到指定位置,这在 Pose ModeJoint Mode 中均可工作。

  • Pose Mode: 定义目标位姿(位置和方向)。机器人在运行时移动到最近的解,但可以在 Editor 中预览多个解。
  • Joint Mode: 定义特定的关节配置(轴角度)。此固定解被传输到机器人程序,确保精确运动。
  • Fixed Solution:Teach Mode 中保存位置时生成,将机器人锁定到精确配置,不允许位姿更改。

NOVATarget 属性

机器人目标
  • Follow In Edit Mode: 允许机器人在 Editor 中跟随目标移动。
  • Display Axis: 切换目标坐标轴的可见性。
  • Display Gripper Ghost: 在目标处显示透明夹具表示。
  • Hide Axis Gripper On: 在特定操作期间隐藏轴和夹具视觉。
  • Axis: 分配轴视觉 (GameObject)。
  • Gripper Ghost: 分配夹具幽灵视觉 (GameObject)。
  • Target Mode: 定义交互模式:
  • Pose Mode: 使用最近的解移动到位姿。
  • Joint Mode: 固定特定关节角度。
  • Fixed Solutions: 将机器人锁定到精确位姿。
  • Solution: 显示和更改当前解。
  • Pose: 当前位姿(Wandelscript 格式)。
  • Joints: 当前关节解(Wandelscript 格式)。
  • Update Solutions: 重新计算可用解。
  • Move to Target: 将机器人移动到定义的目标。

示教模式

Teach Mode 中,机器人自动与当前 Wandelbots NOVA Status 对齐。此模式允许精确控制机器人定位和目标创建。

  • 速度控制: 定义运动的最大线速度和旋转速度(mm/s 或度/s)。
  • 点动: 手动调整所有线性和旋转轴。
  • 创建目标: 使用 Create Target 按钮在 Fixed Solution 配置中生成 NOVATarget,确保机器人锁定到精确的保存位置。
示教模式

机器人程序

Wandelscript 提供了一种高级编程语言来控制机器人。它易于学习和使用,特别是如果您熟悉 Python。Wandelscript 是一种领域特定语言,专为 Wandelbots NOVA 设计。您可以在此处找到一些 Wandelscript 示例:https://github.com/wandelbotsgmbh/wandelscript-examples

Wandelscript 模板

您可以创建带有占位符(例如 {Targetname})的标准机器人程序,以简化机器人目标的集成。这种方法允许动态目标更新,而无需手动修改机器人程序。

带占位符的 Wandelscript 示例模板
  • 占位符使用: 在程序模板中定义类似 {Targetname} 的占位符。
  • 自动目标插入: 通过 realvirtual 启动机器人程序时,所有目标(关节或位姿定义)将自动插入到程序中。
  • 动态更新: 在 Unity Editor 中调整目标,无需手动修改程序。
  • 程序定义: 可以在接口属性中分配一个程序。
  • 启动程序:Start Program 按钮自动执行机器人程序。

通过信号启动程序

WandelscriptRunner 组件通过 WandelscriptInterface 启用不同机器人程序模板的执行。将机器人程序分配给 Wandelscript,将 PLCOutput 分配给 Start Wandelscript 以触发程序,并可选择配置 Wandelscript Is RunningWandelscript FinishedPLCInput 信号以监控程序的执行状态。这允许通过 PLC 信号动态触发和管理机器人程序。

Wandelscript Runner

接口属性

Active

定义接口在哪些模式下应处于活动状态。查看连接状态了解更多信息。

Wandelbots Server

Wandelbots NOVA 服务器的 URL。可以是本地或云实例(例如 http://172.20.125.85)用于本地实例。

Motion Group

机器人运动组的标识符(例如 1@fanuc

Username

用于 Wandelbots 服务器身份验证的用户名。

Password

用于 Wandelbots 服务器身份验证的密码。

Access Token

用于身份验证的令牌,覆盖 UsernamePassword。必须用于云实例。

Cell

机器人单元的标识符(标准为 cell)。

Debug Mode

在 Unity 控制台中启用详细调试日志。在连接问题时开启。

Cycle Time (ms)

从服务器获取状态更新的时间间隔(标准 20ms)。

Start Program On Simulation

在仿真开始时自动启动程序。

Loop Program

启用已执行程序的循环。

Program Timeout (s)

程序执行的超时时间。

Program Template

包含机器人程序模板代码的文本资产。

Program Executed

保存已执行程序代码的文本资产。

Robot Target Prefab

用于在 Teach Mode 中创建新机器人目标的 Prefab。

TCP

代表机器人工具中心点的 GameObject。

Robot Target Root

所有已创建机器人目标的父 GameObject。

Coordinate System Prefab

用于在 Teach Mode 中可视化机器人坐标系的 Prefab。

Controller

机器人控制器的名称(只读)。

Inputs

机器人控制器中可用的输入数量。

Outputs

机器人控制器中可用的输出数量。

Program Is Running

指示程序当前是否正在运行。

Teach Mode

指示 Teach Mode 当前是否处于活动状态。

1.