手臂#
介绍#
六轴机械臂是CTE工作单元中使用的一种机械臂,它可以在三维空间中移动,并使其末端执行器旋转到不同的方向。机械臂类别的模块允许EXP Brain控制六轴机械臂移动到指定位置、调整其方向并控制其速度。
以下是可用模块列表:
动作——将六轴机械臂移动到三维空间中的指定位置或方向。
移动机械臂到位置 — 将 6 轴机械臂移动到指定的 x、y 和 z 坐标。
增加机械臂位置 — 沿 x、y 和 z 轴移动 6 轴机械臂的增量距离。
移动机械臂至指定方向 — 将 6 轴机械臂的末端执行器旋转到指定方向。
增加机械臂方向 — 将 6 轴机械臂的末端执行器旋转指定的角度数。
设置 — 配置六轴机械臂的移动速度和所连接的工具。
设置手臂速度 — 设置 6 轴手臂的运动速度。
设置机械臂末端执行器 — 选择哪个工具连接到 6 轴机械臂。
设置磁力臂模式 — 接合或释放磁力拾取工具。
设置笔偏移量 — 设置笔工具的垂直偏移量。
设置手臂控制停止 — 停止 6 轴手臂并防止进一步移动。
值 — 返回六轴机械臂的运动状态、位置和方向。
机械臂移动到位置? — 返回一个布尔值,指示 6 轴机械臂是否可以移动到某个位置。
机械臂位置增量? — 返回一个布尔值,指示 6 轴机械臂是否可以增加其位置。
手臂移动末端执行器? — 返回 6 轴手臂的当前方向(俯仰、横滚或偏航),单位为度。
机械臂增加方向? — 返回一个布尔值,指示 6 轴机械臂的末端执行器是否可以增加其方向。
机械臂是否停止移动? — 返回一个布尔值,指示 6 轴机械臂是否已停止移动。
机械臂是否碰撞? — 返回一个布尔值,指示 6 轴机械臂在移动过程中是否发生碰撞。
机械臂位置 — 返回 6 轴机械臂的当前位置。
机械臂方向 — 返回 6 轴机械臂末端执行器的当前方向。
当机械臂控制停止时 — 当 6 轴机械臂的控制停止功能启用时,运行所附加的堆栈。
当 Arm 崩溃时 — 当 6 轴机械臂在移动过程中崩溃时,运行附加的堆栈。
行动#
将手臂移动到指定位置#
移动机械臂到位置 模块将 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])
范围 |
描述 |
|---|---|
设备 |
选择要使用的六轴机械臂。 |
轴 |
选择要返回位置的轴:
|
单元 |
选择位置值的单位:
|
例子
当开始
[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]