手臂#

介绍#

六轴机械臂是CTE工作单元中使用的一种机械臂,它可以在三维空间中移动,并使其末端执行器旋转到不同的方向。机械臂类别的模块允许EXP Brain控制六轴机械臂移动到指定位置、调整其方向并控制其速度。

以下是可用模块列表:

动作——将六轴机械臂移动到三维空间中的指定位置或方向。

设置 — 配置六轴机械臂的移动速度和所连接的工具。

值 — 返回六轴机械臂的运动状态、位置和方向。

行动#

将手臂移动到指定位置#

移动机械臂到位置 模块将 6 轴机械臂移动到指定的 x、y 和 z 坐标。

移动 [Arm 1 v] 到位置x:[120] y:[0] z:[100] [毫米 v] ▶

范围

描述

设备

应该使用哪款六轴机械臂?

x

目标位置的 x 坐标。

目标位置的y坐标。

z

目标位置的z坐标。

单元

选择坐标单位:

  • 毫米 — 毫米;
  • 英寸;
英寸

展开箭头

默认情况下,这是一个等待块,因此六轴机械臂会在运行下一个块之前完成移动。要使六轴机械臂立即开始移动并立即运行下一个块,请展开该块,添加“不要等待”字样。

例子

当开始
移动 [Arm 1 v] 到位置x:(120) y:(120) z:(75) [毫米 v] ▶

增加手臂位置#

增加机械臂位置模块使 6 轴机械臂沿 x、y 和 z 轴移动一定的增量距离。

[Arm1] 位置递增x:[0] y:[0] z:[0] [毫米 v] ▶

范围

描述

设备

选择要使用的六轴机械臂。

x

沿 X 轴移动的距离。

沿Y轴移动的距离。

z

沿 Z 轴移动的距离。

单元

选择移动距离的单位:

  • 毫米 — 毫米;
  • 英寸;
英寸

展开箭头

默认情况下,这是一个等待块,因此六轴机械臂会在运行下一个块之前完成移动。要使六轴机械臂立即开始移动并立即运行下一个块,请展开该块,添加“不要等待”字样。

例子

当开始
[Move the Arm1 100 millimeters along the X axis.]
[Arm 1 v] 位置递增x:[100] y:[0] z:[0] [毫米 v] ▶

将手臂移动到指定方向#

移动机械臂至指定方向 模块使 6 轴机械臂的末端执行器绕选定的轴旋转到指定的方向。

移动 [Arm 1 v] [俯仰 v] 偏转至 [0] 度 ▶

范围

描述

设备

选择要使用的六轴机械臂。

方向

选择末端执行器绕哪个轴旋转:

  • 俯仰
  • 横滚
  • 偏航

学位

目标方位角(以度为单位)。

展开箭头

默认情况下,这是一个等待块,因此六轴机械臂会在运行下一个块之前完成移动。要使六轴机械臂立即开始移动并立即运行下一个块,请展开该块,添加“不要等待”字样。

例子

当开始
[Rotate the end effector to 270 degrees of yaw.]
移动 [Arm 1 v] [偏转 v] 偏转至 [270] 度 ▶

增量臂方向#

增量臂方向模块使 6 轴机械臂的末端执行器绕选定的轴旋转指定的角度数。

[Arm 1 v] [俯仰 v] 偏转递增 [0] 度 ▶

范围

描述

设备

选择要使用的六轴机械臂。

方向

选择末端执行器绕哪个轴旋转:

  • 俯仰
  • 横滚
  • 偏航

学位

末端执行器旋转的角度(以度为单位)。

展开箭头

默认情况下,这是一个等待块,因此六轴机械臂会在运行下一个块之前完成移动。要使六轴机械臂立即开始移动并立即运行下一个块,请展开该块,添加“不要等待”字样。

例子

当开始
[Rotate the end effector 40 degrees in pitch.]
[Arm1] [俯仰 v] 偏转递增 [40] 度 ▶

设置#

设置手臂速度#

设置机械臂速度 模块用于设置 6 轴机械臂的运动速度。

默认情况下,6轴机械臂在项目开始时的速度设置为50%。

设定 [Arm 1 v] 移速为 [50]%

范围

描述

设备

选择要使用的六轴机械臂。

百分比

将 6 轴机械臂的速度设置为 1 到 100 之间的百分比。

例子

当开始
[Set the 6-Axis Arm's speed to 30%.]
设定 [Arm 1 v] 移速为 [30]%
移动 [Arm 1 v] 到位置x:[120] y:[120] z:[70] [毫米 v] ▶

设置手臂末端执行器#

设置机械臂末端执行器模块用于选择哪个工具连接到 6 轴机械臂上。

当末端执行器更换时,6 轴机械臂会自动调整其 z 轴偏移量以匹配所选工具。

默认情况下,项目开始时末端执行器设置为磁性拾取工具

设定 [Arm 1 v] 末端执行器为 [magnet v]

范围

描述

设备

选择要使用的六轴机械臂。

末端执行器

选择连接到六轴机械臂的工具:

  • 磁铁 — 磁性拾取工具
  • 笔 — 笔架工具

例子

当开始
[Set the 6-Axis Arm to use the Pen Holder Tool.]
设定 [Arm 1 v] 末端执行器为 [pen v]

设置手臂磁铁模式#

设置机械臂磁铁模式 模块用于设置 6 轴机械臂磁铁拾取工具的模式。

磁铁模式会一直保持激活状态,直到另一个设置臂磁铁模式模块将其更改为止。

项目开始时,磁铁模式重置为已释放

设定 [Arm 1 v] 磁铁为 [engaged v]

范围

描述

设备

选择要使用的六轴机械臂。

模式

设置磁铁状态:

  • 已启用 — 磁铁拾取工具将拾取物体;
  • 已释放 — 磁铁拾取工具将丢弃所有已拾取的物体,并且不再拾取新物体;

例子

当开始
[Pick up objects, then drop them after 2 seconds.]
设定 [Arm 1 v] 磁铁为 [engaged v]
等待 [2] 秒
设定 [Arm 1 v] 磁铁为 [released v]

设置手臂笔偏移#

设置机械臂笔偏移量 模块用于在使用笔架工具时设置 6 轴机械臂的当前 z 轴偏移量。

使用此模块之前,必须使用 设置机械臂末端执行器 模块 将机械臂的末端执行器设置为笔夹工具。如果未选择笔夹工具,则此模块无效。

笔偏移量是指笔架工具顶部与白板笔笔尖之间的距离。项目开始时,笔偏移量设置为 0。默认情况下,这对应于 CTE 工作单元套件中包含的白板笔笔尖与笔架工具之间约 23 毫米的距离。

笔偏移量为 0 时,机械臂的 z 轴原点位于笔架工具与 6 轴机械臂连接点处。

设定 [Arm 1 v] 笔的偏移量为 [0] [毫米 v]

范围

描述

设备

选择要使用的六轴机械臂。

抵消

设置笔偏移值。

单元

选择笔偏移量单位:

  • 毫米 — 毫米;
  • 英寸;
英寸

例子

当开始
[Set the pen offset to 1 inch.]
设定 [Arm 1 v] 笔的偏移量为 [1] [英寸 v]
移动 [Arm 1 v] 到位置x:[120] y:[120] z:[0] [毫米 v] ▶

设置手臂控制停止#

设置机械臂控制停止 块启用 6 轴机械臂的控制停止功能。

启用控制停止后,六轴机械臂会立即停止所有运动,并且不会执行任何其他机械臂控制块。此控制块运行后,必须重启项目才能重新启用六轴机械臂。

设定 [Arm 1 v] 停用

范围

描述

设备

选择要使用的六轴机械臂。

例子

当开始
[Control stop after a movement.]
移动 [Arm 1 v] 到位置x:[120] y:[120] z:[70] [毫米 v] ▶
设定 [Arm 1 v] 停用

价值观#

手臂移动到指定位置?#

机械臂移动到位置? 模块返回一个布尔值,指示 6 轴机械臂是否可以移动到指定位置。

  • 正确——6轴机械臂可以移动到指定的x、y和z位置。

  • 错误——指定位置超出了 6 轴机械臂的可达工作空间。

<[Arm1 v] move to position x:[0] y:[0] z:[0] [mm v] ?>

范围

描述

设备

选择要使用的六轴机械臂。

x

目标位置的 x 坐标。

目标位置的y坐标。

z

目标位置的z坐标。

单元

选择坐标单位:

  • 毫米 — 毫米;
  • 英寸;
英寸

例子

当开始
[Check if the 6-Axis Arm can move to a position.]
if <非 <[Arm1 v] move to position x:[0] y:[0] z:[0] [mm v] ?>>
在屏幕上打印 [The 6-Axis Arm can't move to this position.]▶

臂增量位置?#

机械臂增量位置? 模块返回一个布尔值,指示 6 轴机械臂是否可以移动指定的增量距离。

  • 没错——6轴机械臂可以沿x轴、y轴和z轴移动所需的距离。

  • 错误——移动所请求的距离会将 6 轴机械臂置于其可达工作空间之外。

<[Arm 1 v] 位置增加x:[0] y:[0] z:[0] [毫米 v]?>

范围

描述

设备

选择要使用的六轴机械臂。

x

沿 x 轴移动的距离。

沿 y 轴移动的距离。

z

沿 z 轴移动的距离。

单元

选择移动距离的单位:

  • 毫米 — 毫米;
  • 英寸;
英寸

例子

当开始
[Check if the 6-Axis Arm can increment from its position.]
if <非 <[Arm1 v] move to position x:[0] y:[500] z:[0] [mm v] ?>>
print [The 6-Axis Arm can't incremental move for this distance.] on screen▶

机械臂末端执行器移动?#

机械臂移动末端执行器? 模块返回一个布尔值,指示 6 轴机械臂是否可以将其末端执行器旋转到指定的方向。

  • 没错——6轴机械臂可以将末端执行器旋转到指定方向。

  • 错误——请求的方向超出了 6 轴机械臂的允许范围。

<[Arm 1 v] 末端执行器移动到 [俯仰 v] [0] 度?>

范围

描述

设备

选择要使用的六轴机械臂。

方向

选择末端执行器绕哪个轴旋转:

  • 俯仰
  • 横滚
  • 偏航

学位

目标方位角(以度为单位)。

例子

当开始
[Check if the 6-Axis Arm can roll its end effector to a position.]
if <[Arm1 v] move end effector to [roll v] [40] degrees?>>
在屏幕上打印 [The End Effector can roll to that position.]▶

臂增量方向?#

机械臂增量方向? 模块返回一个布尔值,指示 6 轴机械臂是否可以按指定的度数旋转其末端执行器。

  • 没错——6轴机械臂可以按指定的角度旋转末端执行器。

  • 错误——将末端执行器旋转指定角度会使其超出允许的范围。

<[Arm 1 v] [俯仰 v]偏转递增 [0] 度?>

范围

描述

设备

选择要使用的六轴机械臂。

方向

选择末端执行器绕哪个轴旋转:

  • 俯仰
  • 横滚
  • 偏航

学位

末端执行器旋转的角度(以度为单位)。

例子

当开始
[Check if the 6-Axis Arm can incrementally yaw its end effector.]
if <[Arm1 v] increment orientation by [yaw v] [20] degrees?>>
在屏幕上打印 [The End Effector can incrementally yaw for that distance.]▶

手臂停止移动了吗?#

机械臂是否停止移动? 模块返回一个布尔值,指示 6 轴机械臂当前是否正在移动。

  • 没错——六轴机械臂没有移动。

  • 错误——六轴机械臂正在移动。

<[Arm 1 v] 已结束?>

范围

描述

设备

选择要使用的六轴机械臂。

例子

当开始
[Display the current y-position while the 6-Axis Arm moves.]
移动 [Arm 1 v] 到位置x:(-100) y:(200) z:(100) [毫米 v] ◀ 并且不等待
重复直到 <[Arm 1 v] 已结束?>
在屏幕上打印 ([Arm 1 v] [y v] 位置 [毫米 v])◀ 并设定光标为下一行
等待 [0.25] 秒

Arm 系统崩溃了吗?#

机械臂是否碰撞? 模块返回一个布尔值,指示 6 轴机械臂在移动过程中是否发生碰撞。

  • 没错——六轴机械臂坠毁了。

  • 错误——六轴机械臂并未坠毁。

**注意:**当检测到碰撞时,六轴机械臂的电机将停止所有运动,机械臂会暂时失去动力。这是为了减少电机负荷,保护电机免受意外损坏。

<[Arm1 v] is crashed?>

范围

描述

设备

选择要使用的六轴机械臂。

例子

当开始
[Quickly move to the specified location.]
set [Arm1 v] speed to [100] %
move [Arm1 v] to position x: [-20] y: [240] z: [40] [mm v] ◀ and don't wait
[While moving, check for a crash.]
永久循环
如果 <[Arm1 v] is crashed?> 那么
[Indicate a crash with the Signal Tower and Brain screen.]
在屏幕上打印 [Crash Detected]▶
设定 [SignalTower 2 v] 为 [绿色 v] 和 [灭 v]
设定 [SignalTower 2 v] 为 [红色 v] 和 [solid v]
退出循环

手臂位置#

机械臂位置模块返回 6 轴机械臂沿选定轴的当前位置。

([Arm 1 v] [X v] 位置 [毫米 v])

范围

描述

设备

选择要使用的六轴机械臂。

选择要返回位置的轴:

  • x
  • y
  • z

单元

选择位置值的单位:

  • 毫米 — 毫米;
  • 英寸;
英寸

例子

当开始
[Display the current y-position while the 6-Axis Arm moves.]
移动 [Arm 1 v] 到位置x:(-100) y:(200) z:(100) [毫米 v] ◀ 并且不等待
重复直到 <[Arm 1 v] 已结束?>
在屏幕上打印 ([Arm 1 v] [y v] 位置 [毫米 v])◀ 并设定光标为下一行
等待 [0.25] 秒

手臂方向#

机械臂方向 模块返回 6 轴机械臂末端执行器绕选定轴的当前方向(以度为单位)。

([Arm 1 v] [俯仰 v] 偏转角度值)

范围

描述

设备

选择要使用的六轴机械臂。

方向

选择要报告的姿态轴:

  • 俯仰
  • 横滚
  • 偏航

当手臂控制停止时#

当 6 轴机械臂的控制停止功能启用时,当机械臂控制停止时 模块会运行所附的堆栈。

当 [Arm 1 v] 停用  :: hat events

范围

描述

设备

选择要使用的六轴机械臂。

Arm崩溃时#

当 6 轴机械臂在移动过程中发生碰撞时,当机械臂发生碰撞时 代码块会运行所附的堆栈。

**注意:**当检测到碰撞时,六轴机械臂的电机将停止所有运动,机械臂会暂时失去动力。这是为了减少电机负荷,保护电机免受意外损坏。

when [Arm1 v] crashed  :: hat events

范围

描述

设备

选择要使用的六轴机械臂。

例子

when [Arm1 v] crashed  :: hat events
[Indicate a crash with the Signal Tower and Brain screen.]
在屏幕上打印 [Crash Detected]▶
设定 [SignalTower 2 v] 为 [红色 v] 和 [solid v]